annotate plugins/chatlist.c @ 3913:419bf1bc8fa2

[gaim-migrate @ 4072] This should fix the bug where closing the debug window with the "X" would not uncheck the preference for it. Previously, it got unchecked then rechecked. The line I'm removing used to be "misc_options_new ^= OPT_MISC_DEBUG;", which I guess is a hold over or something of when prefs had that apply button, maybe. I dunno. I think this should be good... Roof. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Thu, 07 Nov 2002 03:34:46 +0000
parents 43e396e94095
children 22e3bbbd9a32
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2241
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
1 #define GAIM_PLUGINS
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
2
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
3 #include "pixmaps/refresh.xpm"
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
4 #include "pixmaps/gnome_add.xpm"
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
5 #include "pixmaps/gnome_remove.xpm"
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
6
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
7 #include "proxy.h"
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
8 #include "gaim.h"
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
9
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
10 #include <stdlib.h>
2272
4ecc9a9a75d8 [gaim-migrate @ 2282]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2241
diff changeset
11 #include <string.h>
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3565
diff changeset
12 #ifdef _WIN32
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3565
diff changeset
13 #include "win32dep.h"
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3565
diff changeset
14 #endif
2241
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
15
2993
7239a392486c [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2900
diff changeset
16 #define AOL_SRCHSTR "aim:GoChat?RoomName="
2417
5473c8c5378d [gaim-migrate @ 2430]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2356
diff changeset
17
2241
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
18 struct chat_page {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
19 GtkWidget *list1;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
20 GtkWidget *list2;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
21 };
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
22
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
23 struct chat_room {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
24 char name[80];
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
25 int exchange;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
26 };
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
27
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
28 static GtkWidget *item = NULL; /* this is the parent tree */
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
29 static GList *chat_rooms = NULL;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
30
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
31 static GtkWidget *parent = NULL; /* this is the config thing where you can see the list */
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
32 static struct chat_page *cp = NULL;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
33
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
34 static void des_item()
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
35 {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
36 if (item)
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
37 gtk_widget_destroy(item);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
38 item = NULL;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
39 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
40
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
41 static void handle_click_chat(GtkWidget *widget, GdkEventButton * event, struct chat_room *cr)
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
42 {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
43 if (event->type == GDK_2BUTTON_PRESS && event->button == 1) {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
44 GList *m = g_list_append(NULL, cr->name);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
45 int *x = g_new0(int, 1);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
46 *x = cr->exchange;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
47 m = g_list_append(m, x);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
48 serv_join_chat(connections->data, m);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
49 g_free(x);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
50 g_list_free(m);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
51 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
52 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
53
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
54 static void setup_buddy_chats()
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
55 {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
56 GList *crs = chat_rooms;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
57 GtkWidget *tree;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
58
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
59 if (!blist)
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
60 return;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
61
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
62 if (item)
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
63 gtk_tree_remove_item(GTK_TREE(buddies), item);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
64 item = NULL;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
65
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
66 if (!chat_rooms)
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
67 return;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
68
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
69 item = gtk_tree_item_new_with_label(_("Buddy Chat"));
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
70 gtk_signal_connect(GTK_OBJECT(item), "destroy", GTK_SIGNAL_FUNC(des_item), NULL);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
71 gtk_tree_append(GTK_TREE(buddies), item);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
72 gtk_tree_item_expand(GTK_TREE_ITEM(item));
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
73 gtk_widget_show(item);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
74
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
75 tree = gtk_tree_new();
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
76 gtk_tree_item_set_subtree(GTK_TREE_ITEM(item), tree);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
77 gtk_widget_show(tree);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
78
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
79 while (crs) {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
80 struct chat_room *cr = (struct chat_room *)crs->data;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
81 GtkWidget *titem = gtk_tree_item_new_with_label(cr->name);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
82 gtk_object_set_user_data(GTK_OBJECT(titem), cr);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
83 gtk_tree_append(GTK_TREE(tree), titem);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
84 gtk_widget_show(titem);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
85 gtk_signal_connect(GTK_OBJECT(titem), "button_press_event",
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
86 GTK_SIGNAL_FUNC(handle_click_chat), cr);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
87 crs = crs->next;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
88 }
2900
aaaca46b507b [gaim-migrate @ 2913]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2892
diff changeset
89
aaaca46b507b [gaim-migrate @ 2913]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2892
diff changeset
90 gtk_tree_item_expand(GTK_TREE_ITEM(item));
2241
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
91 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
92
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
93 static void save_chat_prefs()
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
94 {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
95 FILE *f;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
96 char path[1024];
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
97 char *x = gaim_user_dir();
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
98 GList *crs = chat_rooms;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
99
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
100 g_snprintf(path, sizeof(path), "%s/%s", x, "chats");
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
101 f = fopen(path, "w");
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
102 if (!f) {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
103 g_free(x);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
104 return;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
105 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
106 while (crs) {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
107 struct chat_room *cr = crs->data;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
108 crs = crs->next;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
109 fprintf(f, "%s\n%d\n", cr->name, cr->exchange);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
110 }
2692
c74482cb3a8b [gaim-migrate @ 2705]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2664
diff changeset
111 g_free(x);
2241
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
112 fclose(f);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
113 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
114
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
115 static void restore_chat_prefs()
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
116 {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
117 FILE *f;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
118 char path[1024];
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
119 char *x = gaim_user_dir();
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
120 char buf[1024];
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
121
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
122 g_snprintf(path, sizeof(path), "%s/%s", x, "chats");
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
123 f = fopen(path, "r");
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
124 if (!f) {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
125 g_free(x);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
126 return;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
127 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
128 while (fgets(buf, 1024, f)) {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
129 struct chat_room *cr = g_new0(struct chat_room, 1);
2356
ddf404cd9757 [gaim-migrate @ 2369]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2272
diff changeset
130 g_snprintf(cr->name, sizeof(cr->name), "%s", g_strchomp(buf));
2241
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
131 if (!fgets(buf, 1024, f)) {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
132 g_free(cr);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
133 break;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
134 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
135 cr->exchange = atoi(buf);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
136 chat_rooms = g_list_append(chat_rooms, cr);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
137 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
138 fclose(f);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
139 setup_buddy_chats();
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
140 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
141
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
142 static void ref_list_callback(gpointer data, char *text)
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
143 {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
144 char *c;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
145 int len;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
146 GtkWidget *item;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
147 GList *items = GTK_LIST(cp->list1)->children;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
148 struct chat_room *cr;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
149 c = text;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
150
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
151 if (!text)
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
152 return;
2892
3a8df5c3d1ee [gaim-migrate @ 2905]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2872
diff changeset
153 if (!parent)
3a8df5c3d1ee [gaim-migrate @ 2905]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2872
diff changeset
154 return;
2241
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
155
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
156 len = strlen(text);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
157
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
158 while (items) {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
159 g_free(gtk_object_get_user_data(GTK_OBJECT(items->data)));
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
160 items = items->next;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
161 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
162
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
163 items = NULL;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
164
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
165 gtk_list_clear_items(GTK_LIST(cp->list1), 0, -1);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
166
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
167 item = gtk_list_item_new_with_label(_("Gaim Chat"));
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
168 cr = g_new0(struct chat_room, 1);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
169 strcpy(cr->name, _("Gaim Chat"));
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
170 cr->exchange = 4;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
171 gtk_object_set_user_data(GTK_OBJECT(item), cr);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
172 gtk_widget_show(item);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
173
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
174 items = g_list_append(NULL, item);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
175
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
176 while (c) {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
177 if (c - text > len - 30)
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
178 break; /* assume no chat rooms 30 from end, padding */
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
179 if (!g_strncasecmp(AOL_SRCHSTR, c, strlen(AOL_SRCHSTR))) {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
180 char *t;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
181 int len = 0;
3000
6d95285533df [gaim-migrate @ 3013]
Sean Egan <seanegan@gmail.com>
parents: 2993
diff changeset
182 int exchange = 5;
2241
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
183 char *name = NULL;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
184
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
185 c += strlen(AOL_SRCHSTR);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
186 t = c;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
187 while (t) {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
188 len++;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
189 name = g_realloc(name, len);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
190 if (*t == '+')
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
191 name[len - 1] = ' ';
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
192 else if (*t == '&') {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
193 name[len - 1] = 0;
3000
6d95285533df [gaim-migrate @ 3013]
Sean Egan <seanegan@gmail.com>
parents: 2993
diff changeset
194 sscanf(t, "&Exchange=%d", &exchange);
6d95285533df [gaim-migrate @ 3013]
Sean Egan <seanegan@gmail.com>
parents: 2993
diff changeset
195 c = t + strlen("&Exchange=x");
2241
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
196 break;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
197 } else
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
198 name[len - 1] = *t;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
199 t++;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
200 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
201 cr = g_new0(struct chat_room, 1);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
202 strcpy(cr->name, name);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
203 cr->exchange = exchange;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
204 item = gtk_list_item_new_with_label(name);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
205 gtk_widget_show(item);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
206 items = g_list_append(items, item);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
207 gtk_object_set_user_data(GTK_OBJECT(item), cr);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
208 g_free(name);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
209 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
210 c++;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
211 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
212 gtk_list_append_items(GTK_LIST(cp->list1), items);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
213 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
214
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
215 static void refresh_list(GtkWidget *w, gpointer *m)
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
216 {
2872
30828b83143d [gaim-migrate @ 2885]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2692
diff changeset
217 grab_url("http://www.aim.com/community/chats.adp", FALSE, ref_list_callback, NULL);
2241
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
218 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
219
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
220 static void add_chat(GtkWidget *w, gpointer *m)
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
221 {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
222 GList *sel = GTK_LIST(cp->list1)->selection;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
223 struct chat_room *cr, *cr2;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
224 GList *crs = chat_rooms;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
225 GtkWidget *item;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
226
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
227 if (sel) {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
228 cr = (struct chat_room *)gtk_object_get_user_data(GTK_OBJECT(sel->data));
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
229 } else
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
230 return;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
231
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
232 while (crs) {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
233 cr2 = (struct chat_room *)crs->data;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
234 if (!g_strcasecmp(cr->name, cr2->name))
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
235 return;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
236 crs = crs->next;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
237 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
238 item = gtk_list_item_new_with_label(cr->name);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
239 cr2 = g_new0(struct chat_room, 1);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
240 strcpy(cr2->name, cr->name);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
241 cr2->exchange = cr->exchange;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
242 gtk_object_set_user_data(GTK_OBJECT(item), cr2);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
243 gtk_widget_show(item);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
244 sel = g_list_append(NULL, item);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
245 gtk_list_append_items(GTK_LIST(cp->list2), sel);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
246 chat_rooms = g_list_append(chat_rooms, cr2);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
247
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
248 setup_buddy_chats();
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
249 save_chat_prefs();
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
250 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
251
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
252 static void remove_chat(GtkWidget *w, gpointer *m)
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
253 {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
254 GList *sel = GTK_LIST(cp->list2)->selection;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
255 struct chat_room *cr;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
256 GList *crs;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
257 GtkWidget *item;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
258
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
259 if (sel) {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
260 item = (GtkWidget *)sel->data;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
261 cr = (struct chat_room *)gtk_object_get_user_data(GTK_OBJECT(item));
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
262 } else
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
263 return;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
264
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
265 chat_rooms = g_list_remove(chat_rooms, cr);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
266
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
267
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
268 gtk_list_clear_items(GTK_LIST(cp->list2), 0, -1);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
269
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
270 if (g_list_length(chat_rooms) == 0)
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
271 chat_rooms = NULL;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
272
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
273 crs = chat_rooms;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
274
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
275 while (crs) {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
276 cr = (struct chat_room *)crs->data;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
277 item = gtk_list_item_new_with_label(cr->name);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
278 gtk_object_set_user_data(GTK_OBJECT(item), cr);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
279 gtk_widget_show(item);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
280 gtk_list_append_items(GTK_LIST(cp->list2), g_list_append(NULL, item));
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
281
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
282
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
283 crs = crs->next;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
284 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
285
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
286 setup_buddy_chats();
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
287 save_chat_prefs();
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
288 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
289
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3565
diff changeset
290 G_MODULE_EXPORT GtkWidget *gaim_plugin_config_gtk()
2241
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
291 {
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
292 GtkWidget *ret, *vbox;
2241
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
293 GtkWidget *list1, *list2;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
294 GtkWidget *sw1, *sw2;
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
295 GtkWidget *ref_button, *add_button, *rem_button;
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
296 GtkWidget *table, *label;
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
297 struct chat_room *cr = NULL;
2241
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
298 GList *items = NULL;
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
299 GList *crs = chat_rooms;
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
300
2241
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
301 if (cp)
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
302 g_free(cp);
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
303 cp = g_new0(struct chat_page, 1);
2241
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
304
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
305
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
306 ret = gtk_vbox_new(FALSE, 18);
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
307 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
2241
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
308
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
309 vbox = make_frame(ret, _("Chat Rooms"));
2241
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
310
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
311 table = gtk_table_new(4, 2, FALSE);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
312 gtk_widget_show(table);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
313
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
314 gtk_box_pack_start(GTK_BOX(vbox), table, TRUE, TRUE, 0);
2241
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
315
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
316 list1 = gtk_list_new();
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
317 list2 = gtk_list_new();
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
318 sw1 = gtk_scrolled_window_new(NULL, NULL);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
319 sw2 = gtk_scrolled_window_new(NULL, NULL);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
320
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
321 ref_button = picture_button(prefs, _("Refresh"), refresh_xpm);
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
322 add_button = picture_button(prefs, _("Add"), gnome_add_xpm);
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
323 rem_button = picture_button(prefs, _("Remove"), gnome_remove_xpm);
2241
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
324 gtk_widget_show(list1);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
325 gtk_widget_show(sw1);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
326 gtk_widget_show(list2);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
327 gtk_widget_show(sw2);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
328
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
329 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw1), list1);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
330 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw2), list2);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
331
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
332 cp->list1 = list1;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
333 cp->list2 = list2;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
334
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
335 gtk_signal_connect(GTK_OBJECT(ref_button), "clicked", GTK_SIGNAL_FUNC(refresh_list), cp);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
336 gtk_signal_connect(GTK_OBJECT(rem_button), "clicked", GTK_SIGNAL_FUNC(remove_chat), cp);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
337 gtk_signal_connect(GTK_OBJECT(add_button), "clicked", GTK_SIGNAL_FUNC(add_chat), cp);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
338
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
339 label = gtk_label_new(_("List of available chats"));
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
340 gtk_widget_show(label);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
341
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
342 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, GTK_SHRINK, GTK_SHRINK, 0, 0);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
343 gtk_table_attach(GTK_TABLE(table), ref_button, 0, 1, 1, 2, GTK_SHRINK, GTK_SHRINK, 0, 0);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
344 gtk_table_attach(GTK_TABLE(table), sw1, 0, 1, 2, 3,
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
345 GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 5);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
346 gtk_table_attach(GTK_TABLE(table), add_button, 0, 1, 3, 4, GTK_SHRINK, GTK_SHRINK, 0, 0);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
347
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
348
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
349 label = gtk_label_new(_("List of subscribed chats"));
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
350 gtk_widget_show(label);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
351
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
352 gtk_table_attach(GTK_TABLE(table), label, 1, 2, 0, 1, GTK_SHRINK, GTK_SHRINK, 0, 0);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
353 gtk_table_attach(GTK_TABLE(table), sw2, 1, 2, 2, 3,
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
354 GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 5);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
355 gtk_table_attach(GTK_TABLE(table), rem_button, 1, 2, 3, 4, GTK_SHRINK, GTK_SHRINK, 0, 0);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
356
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
357
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
358 item = gtk_list_item_new_with_label(_("Gaim Chat"));
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
359 cr = g_new0(struct chat_room, 1);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
360 strcpy(cr->name, _("Gaim Chat"));
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
361 cr->exchange = 4;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
362 gtk_object_set_user_data(GTK_OBJECT(item), cr);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
363 gtk_widget_show(item);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
364 gtk_list_append_items(GTK_LIST(list1), g_list_append(NULL, item));
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
365
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
366
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
367 while (crs) {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
368 cr = (struct chat_room *)crs->data;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
369 item = gtk_list_item_new_with_label(cr->name);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
370 gtk_object_set_user_data(GTK_OBJECT(item), cr);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
371 gtk_widget_show(item);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
372 items = g_list_append(items, item);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
373
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
374 crs = crs->next;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
375 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
376
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
377 gtk_list_append_items(GTK_LIST(list2), items);
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
378 gtk_widget_show_all(ret);
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
379 return ret;
2241
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
380 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
381
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
382 static void handle_signon(struct gaim_connection *gc)
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
383 {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
384 setup_buddy_chats();
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
385 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
386
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3565
diff changeset
387 G_MODULE_EXPORT char *gaim_plugin_init(GModule *m)
2241
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
388 {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
389 restore_chat_prefs();
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
390 gaim_signal_connect(m, event_signon, handle_signon, NULL);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
391 return NULL;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
392 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
393
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3565
diff changeset
394 G_MODULE_EXPORT void gaim_plugin_remove()
2241
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
395 {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
396 if (parent)
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
397 gtk_widget_destroy(parent);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
398 parent = NULL;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
399
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
400 if (item)
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
401 gtk_tree_remove_item(GTK_TREE(buddies), item);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
402 item = NULL;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
403
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
404 while (chat_rooms) {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
405 g_free(chat_rooms->data);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
406 chat_rooms = g_list_remove(chat_rooms, chat_rooms->data);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
407 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
408
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
409 if (cp)
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
410 g_free(cp);
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
411 cp = NULL;
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
412 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
413
3551
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3475
diff changeset
414 struct gaim_plugin_description desc;
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3475
diff changeset
415 struct gaim_plugin_description *gaim_plugin_desc() {
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3475
diff changeset
416 desc.api_version = PLUGIN_API_VERSION;
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3475
diff changeset
417 desc.name = g_strdup("Chat List");
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3475
diff changeset
418 desc.version = g_strdup(VERSION);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3475
diff changeset
419 desc.description = g_strdup("Allows you to add chat rooms to your buddy list.");
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3475
diff changeset
420 desc.authors = g_strdup("Eric Warmenhoven &lt;eric@warmenhoven.org>");
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3475
diff changeset
421 desc.url = g_strdup(WEBSITE);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3475
diff changeset
422 return &desc;
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3475
diff changeset
423 }
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3475
diff changeset
424
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3565
diff changeset
425 G_MODULE_EXPORT char *name()
2241
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
426 {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
427 return "Chat List";
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
428 }
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
429
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3565
diff changeset
430 G_MODULE_EXPORT char *description()
2241
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
431 {
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
432 return "Allows you to add chat rooms to your buddy list. Click the configure button to choose"
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
433 " which rooms.";
a0ee02e861b9 [gaim-migrate @ 2251]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
434 }