| 1824 gtk_entry_set_text(GTK_ENTRY(entry), user->proto_opt[USEROPT_SOCKSPORT]); |
1824 gtk_entry_set_text(GTK_ENTRY(entry), user->proto_opt[USEROPT_SOCKSPORT]); |
| 1825 } |
1825 } |
| 1826 gtk_widget_show(entry); |
1826 gtk_widget_show(entry); |
| 1827 } |
1827 } |
| 1828 |
1828 |
| |
1829 static void oscar_add_permit(struct gaim_connection *gc, char *who) { |
| |
1830 struct oscar_data *od = (struct oscar_data *)gc->proto_data; |
| |
1831 if (gc->permdeny != 3) return; |
| |
1832 aim_bos_changevisibility(od->sess, od->conn, AIM_VISIBILITYCHANGE_PERMITADD, who); |
| |
1833 } |
| |
1834 |
| |
1835 static void oscar_add_deny(struct gaim_connection *gc, char *who) { |
| |
1836 struct oscar_data *od = (struct oscar_data *)gc->proto_data; |
| |
1837 if (gc->permdeny != 4) return; |
| |
1838 aim_bos_changevisibility(od->sess, od->conn, AIM_VISIBILITYCHANGE_DENYADD, who); |
| |
1839 } |
| |
1840 |
| |
1841 static void oscar_rem_permit(struct gaim_connection *gc, char *who) { |
| |
1842 struct oscar_data *od = (struct oscar_data *)gc->proto_data; |
| |
1843 if (gc->permdeny != 3) return; |
| |
1844 aim_bos_changevisibility(od->sess, od->conn, AIM_VISIBILITYCHANGE_PERMITREMOVE, who); |
| |
1845 } |
| |
1846 |
| |
1847 static void oscar_rem_deny(struct gaim_connection *gc, char *who) { |
| |
1848 struct oscar_data *od = (struct oscar_data *)gc->proto_data; |
| |
1849 if (gc->permdeny != 4) return; |
| |
1850 aim_bos_changevisibility(od->sess, od->conn, AIM_VISIBILITYCHANGE_DENYREMOVE, who); |
| |
1851 } |
| |
1852 |
| |
1853 static void oscar_set_permit_deny(struct gaim_connection *gc) { |
| |
1854 struct oscar_data *od = (struct oscar_data *)gc->proto_data; |
| |
1855 GSList *list; |
| |
1856 char buf[MAXMSGLEN]; |
| |
1857 int at; |
| |
1858 |
| |
1859 switch(gc->permdeny) { |
| |
1860 case 1: |
| |
1861 aim_bos_changevisibility(od->sess, od->conn, AIM_VISIBILITYCHANGE_DENYADD, gc->username); |
| |
1862 break; |
| |
1863 case 2: |
| |
1864 aim_bos_changevisibility(od->sess, od->conn, AIM_VISIBILITYCHANGE_PERMITADD, gc->username); |
| |
1865 break; |
| |
1866 case 3: |
| |
1867 list = gc->permit; |
| |
1868 at = g_snprintf(buf, sizeof(buf), "%s", gc->username); |
| |
1869 while (list) { |
| |
1870 at += g_snprintf(buf + at, sizeof(buf) - at, "&%s", (char *)list->data); |
| |
1871 list = list->next; |
| |
1872 } |
| |
1873 aim_bos_changevisibility(od->sess, od->conn, AIM_VISIBILITYCHANGE_PERMITADD, buf); |
| |
1874 break; |
| |
1875 case 4: |
| |
1876 list = gc->deny; |
| |
1877 at = g_snprintf(buf, sizeof(buf), "%s", gc->username); |
| |
1878 while (list) { |
| |
1879 at += g_snprintf(buf + at, sizeof(buf) - at, "&%s", (char *)list->data); |
| |
1880 list = list->next; |
| |
1881 } |
| |
1882 aim_bos_changevisibility(od->sess, od->conn, AIM_VISIBILITYCHANGE_DENYADD, buf); |
| |
1883 break; |
| |
1884 default: |
| |
1885 break; |
| |
1886 } |
| |
1887 } |
| |
1888 |
| 1829 void oscar_init(struct prpl *ret) { |
1889 void oscar_init(struct prpl *ret) { |
| 1830 ret->protocol = PROTO_OSCAR; |
1890 ret->protocol = PROTO_OSCAR; |
| 1831 ret->name = oscar_name; |
1891 ret->name = oscar_name; |
| 1832 ret->list_icon = oscar_list_icon; |
1892 ret->list_icon = oscar_list_icon; |
| 1833 ret->action_menu = oscar_action_menu; |
1893 ret->action_menu = oscar_action_menu; |
| 1845 ret->set_idle = oscar_set_idle; |
1905 ret->set_idle = oscar_set_idle; |
| 1846 ret->change_passwd = NULL; /* Oscar doesn't have this either */ |
1906 ret->change_passwd = NULL; /* Oscar doesn't have this either */ |
| 1847 ret->add_buddy = oscar_add_buddy; |
1907 ret->add_buddy = oscar_add_buddy; |
| 1848 ret->add_buddies = oscar_add_buddies; |
1908 ret->add_buddies = oscar_add_buddies; |
| 1849 ret->remove_buddy = oscar_remove_buddy; |
1909 ret->remove_buddy = oscar_remove_buddy; |
| 1850 ret->add_permit = NULL; /* Oscar's permit/deny stuff is messed up */ |
1910 ret->add_permit = oscar_add_permit; |
| 1851 ret->add_deny = NULL; /* at least, i can't figure it out :-P */ |
1911 ret->add_deny = oscar_add_deny; |
| 1852 ret->rem_permit = NULL; |
1912 ret->rem_permit = oscar_rem_permit; |
| 1853 ret->rem_deny = NULL; |
1913 ret->rem_deny = oscar_rem_deny; |
| 1854 ret->set_permit_deny = NULL; |
1914 ret->set_permit_deny = oscar_set_permit_deny; |
| 1855 ret->warn = oscar_warn; |
1915 ret->warn = oscar_warn; |
| 1856 ret->accept_chat = NULL; /* oscar doesn't have accept, it just joins */ |
1916 ret->accept_chat = NULL; /* oscar doesn't have accept, it just joins */ |
| 1857 ret->join_chat = oscar_join_chat; |
1917 ret->join_chat = oscar_join_chat; |
| 1858 ret->chat_invite = oscar_chat_invite; |
1918 ret->chat_invite = oscar_chat_invite; |
| 1859 ret->chat_leave = oscar_chat_leave; |
1919 ret->chat_leave = oscar_chat_leave; |