Mercurial > pidgin
annotate src/multi.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 | 94852b7cc81f |
| children | 89b56ab2b692 |
| rev | line source |
|---|---|
| 960 | 1 /* |
| 2 * gaim | |
| 3 * | |
| 4 * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net> | |
| 5 * | |
| 6 * This program is free software; you can redistribute it and/or modify | |
| 7 * it under the terms of the GNU General Public License as published by | |
| 8 * the Free Software Foundation; either version 2 of the License, or | |
| 9 * (at your option) any later version. | |
| 10 * | |
| 11 * This program is distributed in the hope that it will be useful, | |
| 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 14 * GNU General Public License for more details. | |
| 15 * | |
| 16 * You should have received a copy of the GNU General Public License | |
| 17 * along with this program; if not, write to the Free Software | |
| 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 19 * | |
| 20 */ | |
| 21 | |
|
2100
a93aeb6f813d
[gaim-migrate @ 2110]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2086
diff
changeset
|
22 #include <string.h> |
| 3067 | 23 #include <ctype.h> |
| 960 | 24 #include <gtk/gtk.h> |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
25 #include "prpl.h" |
| 960 | 26 #include "multi.h" |
| 27 #include "gaim.h" | |
| 28 | |
| 29 #include "pixmaps/cancel.xpm" | |
| 30 #include "pixmaps/ok.xpm" | |
|
3717
988485669631
[gaim-migrate @ 3850]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3630
diff
changeset
|
31 /*#include "pixmaps/no_icon.xpm"*/ |
| 960 | 32 |
|
1106
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1089
diff
changeset
|
33 #define LOGIN_STEPS 5 |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1089
diff
changeset
|
34 |
| 960 | 35 GSList *connections; |
| 3517 | 36 int connecting_count = 0; |
| 960 | 37 |
| 38 static GtkWidget *acctedit = NULL; | |
| 3754 | 39 static GtkWidget *treeview = NULL; /* the treeview of names in the accteditor */ |
| 40 static GtkListStore *model = NULL; | |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
41 |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
42 static GSList *mod_users = NULL; |
| 960 | 43 |
| 3754 | 44 enum |
| 45 { | |
| 46 COLUMN_SCREENNAME, | |
| 47 COLUMN_ONLINE, | |
| 48 COLUMN_AUTOLOGIN, | |
| 49 COLUMN_PROTOCOL, | |
| 50 COLUMN_DATA, | |
| 51 NUM_COLUMNS | |
| 52 }; | |
| 53 | |
| 54 static void acct_signin(GtkCellRendererToggle *cell, gchar *path_str, | |
| 55 gpointer d); | |
| 56 static void acct_autologin(GtkCellRendererToggle *cell, gchar *path_str, | |
| 57 gpointer d); | |
| 58 | |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
59 static struct mod_user *find_mod_user(struct aim_user *a) |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
60 { |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
61 GSList *m = mod_users; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
62 while (m) { |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
63 struct mod_user *u = m->data; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
64 if (u->user == a) |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
65 return u; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
66 m = m->next; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
67 } |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
68 return NULL; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
69 } |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
70 |
|
2522
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
71 static void generate_protocol_options(struct mod_user *, GtkWidget *); |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
72 |
| 960 | 73 struct mod_usr_opt { |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
74 struct mod_user *user; |
| 960 | 75 int opt; |
| 76 }; | |
| 77 | |
|
1089
f0f5c10cce63
[gaim-migrate @ 1099]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1086
diff
changeset
|
78 struct gaim_connection *new_gaim_conn(struct aim_user *user) |
| 960 | 79 { |
| 80 struct gaim_connection *gc = g_new0(struct gaim_connection, 1); | |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1355
diff
changeset
|
81 gc->edittype = EDIT_GC; |
|
1089
f0f5c10cce63
[gaim-migrate @ 1099]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1086
diff
changeset
|
82 gc->protocol = user->protocol; |
|
f0f5c10cce63
[gaim-migrate @ 1099]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1086
diff
changeset
|
83 gc->prpl = find_prpl(user->protocol); |
|
f0f5c10cce63
[gaim-migrate @ 1099]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1086
diff
changeset
|
84 g_snprintf(gc->username, sizeof(gc->username), "%s", user->username); |
|
f0f5c10cce63
[gaim-migrate @ 1099]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1086
diff
changeset
|
85 g_snprintf(gc->password, sizeof(gc->password), "%s", user->password); |
|
1153
3063e6743913
[gaim-migrate @ 1163]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1124
diff
changeset
|
86 gc->keepalive = 0; |
|
2382
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2380
diff
changeset
|
87 gc->inpa = 0; |
|
998
70c685de2be5
[gaim-migrate @ 1008]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
993
diff
changeset
|
88 gc->buddy_chats = NULL; |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1009
diff
changeset
|
89 gc->groups = NULL; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1009
diff
changeset
|
90 gc->permit = NULL; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1009
diff
changeset
|
91 gc->deny = NULL; |
| 960 | 92 |
| 93 connections = g_slist_append(connections, gc); | |
| 94 | |
|
1089
f0f5c10cce63
[gaim-migrate @ 1099]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1086
diff
changeset
|
95 user->gc = gc; |
|
f0f5c10cce63
[gaim-migrate @ 1099]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1086
diff
changeset
|
96 gc->user = user; |
|
f0f5c10cce63
[gaim-migrate @ 1099]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1086
diff
changeset
|
97 |
| 960 | 98 return gc; |
| 99 } | |
| 100 | |
| 3060 | 101 struct meter_window { |
| 102 GtkWidget *window; | |
| 103 GtkTable *table; | |
| 104 gint rows; | |
| 105 gint active_count; | |
| 106 } *meter_win = NULL; | |
| 107 | |
| 960 | 108 void destroy_gaim_conn(struct gaim_connection *gc) |
| 109 { | |
|
1063
e1408fb04c36
[gaim-migrate @ 1073]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1058
diff
changeset
|
110 GSList *g = gc->groups; |
|
e1408fb04c36
[gaim-migrate @ 1073]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1058
diff
changeset
|
111 GSList *h; |
|
e1408fb04c36
[gaim-migrate @ 1073]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1058
diff
changeset
|
112 struct group *m; |
|
e1408fb04c36
[gaim-migrate @ 1073]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1058
diff
changeset
|
113 struct buddy *n; |
|
e1408fb04c36
[gaim-migrate @ 1073]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1058
diff
changeset
|
114 while (g) { |
|
e1408fb04c36
[gaim-migrate @ 1073]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1058
diff
changeset
|
115 m = (struct group *)g->data; |
|
e1408fb04c36
[gaim-migrate @ 1073]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1058
diff
changeset
|
116 g = g_slist_remove(g, m); |
|
e1408fb04c36
[gaim-migrate @ 1073]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1058
diff
changeset
|
117 h = m->members; |
|
e1408fb04c36
[gaim-migrate @ 1073]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1058
diff
changeset
|
118 while (h) { |
|
e1408fb04c36
[gaim-migrate @ 1073]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1058
diff
changeset
|
119 n = (struct buddy *)h->data; |
|
2607
e0d4a23aac89
[gaim-migrate @ 2620]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2597
diff
changeset
|
120 if (gc->prpl->buddy_free) |
|
2662
b0c5770156e1
[gaim-migrate @ 2675]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2661
diff
changeset
|
121 gc->prpl->buddy_free(n); |
|
1063
e1408fb04c36
[gaim-migrate @ 1073]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1058
diff
changeset
|
122 h = g_slist_remove(h, n); |
|
e1408fb04c36
[gaim-migrate @ 1073]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1058
diff
changeset
|
123 g_free(n); |
|
e1408fb04c36
[gaim-migrate @ 1073]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1058
diff
changeset
|
124 } |
|
e1408fb04c36
[gaim-migrate @ 1073]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1058
diff
changeset
|
125 g_free(m); |
|
e1408fb04c36
[gaim-migrate @ 1073]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1058
diff
changeset
|
126 } |
|
2597
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2568
diff
changeset
|
127 g = gc->permit; |
|
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2568
diff
changeset
|
128 while (g) { |
|
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2568
diff
changeset
|
129 g_free(g->data); |
|
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2568
diff
changeset
|
130 g = g_slist_remove(g, g->data); |
|
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2568
diff
changeset
|
131 } |
|
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2568
diff
changeset
|
132 g = gc->deny; |
|
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2568
diff
changeset
|
133 while (g) { |
|
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2568
diff
changeset
|
134 g_free(g->data); |
|
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2568
diff
changeset
|
135 g = g_slist_remove(g, g->data); |
|
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2568
diff
changeset
|
136 } |
| 960 | 137 g_free(gc); |
| 3510 | 138 |
|
988
9523b772e546
[gaim-migrate @ 998]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
984
diff
changeset
|
139 if (!connections && mainwindow) |
|
9523b772e546
[gaim-migrate @ 998]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
984
diff
changeset
|
140 gtk_widget_show(mainwindow); |
| 960 | 141 } |
| 142 | |
| 143 static void delete_acctedit(GtkWidget *w, gpointer d) | |
| 144 { | |
| 145 if (acctedit) { | |
| 146 save_prefs(); | |
| 147 gtk_widget_destroy(acctedit); | |
| 148 } | |
| 149 acctedit = NULL; | |
| 3754 | 150 treeview = NULL; |
|
1474
4e891576c226
[gaim-migrate @ 1484]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1473
diff
changeset
|
151 if (!d && !blist && !mainwindow && !connections) |
|
1124
a70d5200edde
[gaim-migrate @ 1134]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1115
diff
changeset
|
152 gtk_main_quit(); |
| 960 | 153 } |
| 154 | |
| 155 static gint acctedit_close(GtkWidget *w, gpointer d) | |
| 156 { | |
| 157 gtk_widget_destroy(acctedit); | |
|
1474
4e891576c226
[gaim-migrate @ 1484]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1473
diff
changeset
|
158 if (!d && !blist && !mainwindow && !connections) |
|
1124
a70d5200edde
[gaim-migrate @ 1134]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1115
diff
changeset
|
159 gtk_main_quit(); |
| 960 | 160 return FALSE; |
| 161 } | |
| 162 | |
| 163 static char *proto_name(int proto) | |
| 164 { | |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
165 struct prpl *p = find_prpl(proto); |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
166 if (p && p->name) |
| 3572 | 167 return p->name; |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
168 else |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
169 return "Unknown"; |
| 960 | 170 } |
| 171 | |
|
2204
5014b802eb41
[gaim-migrate @ 2214]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2203
diff
changeset
|
172 void regenerate_user_list() |
|
5014b802eb41
[gaim-migrate @ 2214]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2203
diff
changeset
|
173 { |
|
2397
520257562955
[gaim-migrate @ 2410]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2396
diff
changeset
|
174 GSList *u = aim_users; |
|
2204
5014b802eb41
[gaim-migrate @ 2214]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2203
diff
changeset
|
175 struct aim_user *a; |
| 3754 | 176 GtkTreeIter iter; |
|
2204
5014b802eb41
[gaim-migrate @ 2214]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2203
diff
changeset
|
177 |
|
5014b802eb41
[gaim-migrate @ 2214]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2203
diff
changeset
|
178 if (!acctedit) |
|
5014b802eb41
[gaim-migrate @ 2214]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2203
diff
changeset
|
179 return; |
|
5014b802eb41
[gaim-migrate @ 2214]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2203
diff
changeset
|
180 |
| 3754 | 181 gtk_list_store_clear(model); |
|
2204
5014b802eb41
[gaim-migrate @ 2214]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2203
diff
changeset
|
182 |
|
5014b802eb41
[gaim-migrate @ 2214]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2203
diff
changeset
|
183 while (u) { |
|
5014b802eb41
[gaim-migrate @ 2214]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2203
diff
changeset
|
184 a = (struct aim_user *)u->data; |
| 3754 | 185 |
| 186 gtk_list_store_append(model, &iter); | |
| 187 gtk_list_store_set(model, &iter, | |
| 188 COLUMN_SCREENNAME, a->username, | |
| 189 COLUMN_ONLINE, (a->gc ? TRUE : FALSE), | |
| 190 COLUMN_AUTOLOGIN, (a->options & OPT_USR_AUTO), | |
| 191 COLUMN_PROTOCOL, proto_name(a->protocol), | |
| 192 COLUMN_DATA, a, | |
| 193 -1); | |
|
2204
5014b802eb41
[gaim-migrate @ 2214]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2203
diff
changeset
|
194 u = u->next; |
|
5014b802eb41
[gaim-migrate @ 2214]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2203
diff
changeset
|
195 } |
|
5014b802eb41
[gaim-migrate @ 2214]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2203
diff
changeset
|
196 } |
|
5014b802eb41
[gaim-migrate @ 2214]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2203
diff
changeset
|
197 |
| 3754 | 198 static gboolean get_iter_from_data(GtkTreeView *treeview, |
| 199 struct aim_user *a, GtkTreeIter *iter) | |
| 200 { | |
| 201 return gtk_tree_model_iter_nth_child(gtk_tree_view_get_model(treeview), | |
| 202 iter, NULL, | |
| 203 g_slist_index(aim_users, a)); | |
| 204 #if 0 | |
| 205 GtkListModel *model = gtk_tree_view_get_model(treeview); | |
| 206 struct aim_user *user; | |
| 207 int i; | |
| 208 | |
| 209 rows = gtk_tree_model_iter_n_children(model, NULL); | |
| 210 | |
| 211 for (i = 0; i < rows; i++) | |
| 212 { | |
| 213 gtk_tree_model_get(model, iter, COLUMN_DATA, &user, -1); | |
| 214 | |
| 215 if (user == a) | |
| 216 return TRUE; | |
| 217 } | |
| 218 | |
| 219 return FALSE; | |
| 220 #endif | |
| 221 } | |
| 222 | |
| 223 static void add_columns(GtkWidget *treeview) | |
| 224 { | |
| 225 GtkCellRenderer *renderer; | |
| 226 GtkTreeViewColumn *column; | |
| 227 | |
| 228 /* Screennames */ | |
| 229 renderer = gtk_cell_renderer_text_new(); | |
| 230 gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(treeview), | |
| 231 -1, _("Screenname"), | |
| 232 renderer, | |
| 233 "text", COLUMN_SCREENNAME, | |
| 234 NULL); | |
| 235 | |
| 236 /* Online? */ | |
| 237 renderer = gtk_cell_renderer_toggle_new(); | |
| 238 g_signal_connect(G_OBJECT(renderer), "toggled", | |
| 239 G_CALLBACK(acct_signin), model); | |
| 240 gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(treeview), | |
| 241 -1, _("Online"), | |
| 242 renderer, | |
| 243 "active", COLUMN_ONLINE, | |
| 244 NULL); | |
| 245 | |
| 246 /* Auto-login? */ | |
| 247 renderer = gtk_cell_renderer_toggle_new(); | |
| 248 g_signal_connect(G_OBJECT(renderer), "toggled", | |
| 249 G_CALLBACK(acct_autologin), model); | |
| 250 gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(treeview), | |
| 251 -1, _("Auto-login"), | |
| 252 renderer, | |
| 253 "active", COLUMN_AUTOLOGIN, | |
| 254 NULL); | |
| 255 | |
| 256 /* Protocol */ | |
| 257 renderer = gtk_cell_renderer_text_new(); | |
| 258 gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(treeview), | |
| 259 -1, _("Protocol"), | |
| 260 renderer, | |
| 261 "text", COLUMN_PROTOCOL, | |
| 262 NULL); | |
| 263 | |
| 264 /* Data */ | |
| 265 column = gtk_tree_view_column_new(); | |
| 266 // gtk_tree_view_insert_column(GTK_TREE_VIEW(treeview), column, -1); | |
| 267 gtk_tree_view_column_set_visible(column, FALSE); | |
| 268 } | |
| 269 | |
| 960 | 270 static GtkWidget *generate_list() |
| 271 { | |
| 272 GtkWidget *win; | |
| 273 | |
| 274 win = gtk_scrolled_window_new(0, 0); | |
| 3754 | 275 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(win), |
| 276 GTK_POLICY_AUTOMATIC, | |
| 277 GTK_POLICY_ALWAYS); | |
| 278 | |
| 279 /* Create the list model. */ | |
| 280 model = gtk_list_store_new(NUM_COLUMNS, G_TYPE_STRING, G_TYPE_BOOLEAN, | |
| 281 G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_POINTER); | |
| 960 | 282 |
| 3754 | 283 treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(model)); |
| 284 gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(treeview), TRUE); | |
| 285 gtk_tree_selection_set_mode( | |
| 286 gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)), | |
| 287 GTK_SELECTION_MULTIPLE); | |
| 288 | |
| 289 add_columns(treeview); | |
| 290 | |
| 291 gtk_container_add(GTK_CONTAINER(win), treeview); | |
| 292 gtk_widget_show(treeview); | |
| 960 | 293 |
|
2204
5014b802eb41
[gaim-migrate @ 2214]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2203
diff
changeset
|
294 regenerate_user_list(); |
| 3754 | 295 gtk_tree_view_set_reorderable (GTK_TREE_VIEW(treeview), TRUE); |
| 960 | 296 gtk_widget_show(win); |
| 297 return win; | |
| 298 } | |
| 299 | |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
300 static void delmod(GtkWidget *w, struct mod_user *u) |
| 960 | 301 { |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
302 mod_users = g_slist_remove(mod_users, u); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
303 g_free(u); |
| 960 | 304 } |
| 305 | |
| 306 static void mod_opt(GtkWidget *b, struct mod_usr_opt *m) | |
| 307 { | |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
308 m->user->options = m->user->options ^ m->opt; |
| 960 | 309 } |
| 310 | |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
311 static void free_muo(GtkWidget *b, struct mod_usr_opt *m) |
|
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
312 { |
|
1051
713b0e14e0a9
[gaim-migrate @ 1061]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
313 g_free(m); |
|
713b0e14e0a9
[gaim-migrate @ 1061]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
314 } |
|
713b0e14e0a9
[gaim-migrate @ 1061]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
315 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
316 static GtkWidget *acct_button(const char *text, struct mod_user *u, int option, GtkWidget *box) |
| 960 | 317 { |
| 318 GtkWidget *button; | |
| 319 struct mod_usr_opt *muo = g_new0(struct mod_usr_opt, 1); | |
| 320 button = gtk_check_button_new_with_label(text); | |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
321 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), (u->options & option)); |
| 960 | 322 gtk_box_pack_start(GTK_BOX(box), button, FALSE, FALSE, 0); |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
323 muo->user = u; |
|
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
324 muo->opt = option; |
| 960 | 325 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(mod_opt), muo); |
|
1051
713b0e14e0a9
[gaim-migrate @ 1061]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
326 gtk_signal_connect(GTK_OBJECT(button), "destroy", GTK_SIGNAL_FUNC(free_muo), muo); |
| 960 | 327 gtk_widget_show(button); |
| 328 return button; | |
| 329 } | |
| 330 | |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
331 static void ok_mod(GtkWidget *w, struct mod_user *u) |
| 960 | 332 { |
|
2154
cff133e0ec0c
[gaim-migrate @ 2164]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2153
diff
changeset
|
333 GList *tmp; |
|
1954
c15c3a3f6cd4
[gaim-migrate @ 1964]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1942
diff
changeset
|
334 const char *txt; |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
335 struct aim_user *a; |
| 2956 | 336 struct prpl *p; |
| 3754 | 337 GtkTreeIter iter; |
|
1355
04874e92af24
[gaim-migrate @ 1365]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1261
diff
changeset
|
338 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
339 if (!u->user) { |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
340 txt = gtk_entry_get_text(GTK_ENTRY(u->name)); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
341 u->user = new_user(txt, u->protocol, u->options); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
342 } |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
343 a = u->user; |
|
2154
cff133e0ec0c
[gaim-migrate @ 2164]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2153
diff
changeset
|
344 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
345 a->options = u->options; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
346 a->protocol = u->protocol; |
|
2628
4054a0849461
[gaim-migrate @ 2641]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2627
diff
changeset
|
347 txt = gtk_entry_get_text(GTK_ENTRY(u->name)); |
|
4054a0849461
[gaim-migrate @ 2641]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2627
diff
changeset
|
348 g_snprintf(a->username, sizeof(a->username), "%s", txt); |
| 3205 | 349 txt = gtk_entry_get_text(GTK_ENTRY(u->alias)); |
| 350 g_snprintf(a->alias, sizeof(a->alias), "%s", txt); | |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
351 txt = gtk_entry_get_text(GTK_ENTRY(u->pass)); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
352 if (a->options & OPT_USR_REM_PASS) |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
353 g_snprintf(a->password, sizeof(a->password), "%s", txt); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
354 else |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
355 a->password[0] = '\0'; |
|
2190
24d947eff811
[gaim-migrate @ 2200]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2165
diff
changeset
|
356 |
| 3754 | 357 if (get_iter_from_data(GTK_TREE_VIEW(treeview), a, &iter)) { |
| 358 gtk_list_store_set(model, &iter, | |
| 359 COLUMN_SCREENNAME, a->username, | |
| 360 COLUMN_AUTOLOGIN, (a->options & OPT_USR_AUTO), | |
| 361 COLUMN_PROTOCOL, proto_name(a->protocol), | |
| 362 -1); | |
| 363 } | |
| 364 | |
| 365 #if 0 | |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
366 i = gtk_clist_find_row_from_data(GTK_CLIST(list), a); |
|
2628
4054a0849461
[gaim-migrate @ 2641]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2627
diff
changeset
|
367 gtk_clist_set_text(GTK_CLIST(list), i, 0, a->username); |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
368 gtk_clist_set_text(GTK_CLIST(list), i, 2, |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
369 (a->options & OPT_USR_AUTO) ? "True" : "False"); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
370 gtk_clist_set_text(GTK_CLIST(list), i, 3, proto_name(a->protocol)); |
| 3754 | 371 #endif |
|
1355
04874e92af24
[gaim-migrate @ 1365]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1261
diff
changeset
|
372 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
373 tmp = u->opt_entries; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
374 while (tmp) { |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
375 GtkEntry *entry = tmp->data; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
376 int pos = (int)gtk_object_get_user_data(GTK_OBJECT(entry)); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
377 g_snprintf(a->proto_opt[pos], sizeof(a->proto_opt[pos]), "%s", |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2364
diff
changeset
|
378 gtk_entry_get_text(entry)); |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
379 tmp = tmp->next; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
380 } |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
381 if (u->opt_entries) |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
382 g_list_free(u->opt_entries); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
383 u->opt_entries = NULL; |
|
1355
04874e92af24
[gaim-migrate @ 1365]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1261
diff
changeset
|
384 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
385 g_snprintf(a->iconfile, sizeof(a->iconfile), "%s", u->iconfile); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
386 if (u->icondlg) |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
387 gtk_widget_destroy(u->icondlg); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
388 u->icondlg = NULL; |
|
2411
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
389 |
| 2956 | 390 /* |
| 391 * See if user registration is supported/required | |
| 392 */ | |
| 393 if((p = find_prpl(u->protocol)) == NULL) { | |
| 394 /* TBD: error dialog here! (This should never happen, you know...) */ | |
| 395 fprintf(stderr, "dbg: couldn't find protocol for protocol number %d!\n", u->protocol); | |
| 396 fflush(stderr); | |
| 397 } else { | |
| 398 if(p->register_user != NULL && | |
| 399 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(u->register_user)) == TRUE) { | |
| 400 | |
| 401 p->register_user(a); | |
| 402 } | |
| 403 } | |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
404 |
| 960 | 405 save_prefs(); |
| 2956 | 406 |
| 407 gtk_widget_destroy(u->mod); | |
| 960 | 408 } |
| 409 | |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
410 static void cancel_mod(GtkWidget *w, struct mod_user *u) |
| 960 | 411 { |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
412 if (u->opt_entries) |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
413 g_list_free(u->opt_entries); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
414 u->opt_entries = NULL; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
415 if (u->icondlg) |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
416 gtk_widget_destroy(u->icondlg); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
417 u->icondlg = NULL; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
418 gtk_widget_destroy(u->mod); |
| 960 | 419 } |
| 420 | |
| 421 static void set_prot(GtkWidget *opt, int proto) | |
| 422 { | |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
423 struct mod_user *u = gtk_object_get_user_data(GTK_OBJECT(opt)); |
|
2100
a93aeb6f813d
[gaim-migrate @ 2110]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2086
diff
changeset
|
424 struct prpl *p, *q; |
|
a93aeb6f813d
[gaim-migrate @ 2110]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2086
diff
changeset
|
425 q = find_prpl(proto); |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
426 if (u->protocol != proto) { |
|
1086
ce201056e7a6
[gaim-migrate @ 1096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1075
diff
changeset
|
427 int i; |
|
1878
75643b9f4261
[gaim-migrate @ 1888]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1817
diff
changeset
|
428 for (i = 0; i < 7; i++) |
|
1086
ce201056e7a6
[gaim-migrate @ 1096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1075
diff
changeset
|
429 u->proto_opt[i][0] = '\0'; |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
430 p = find_prpl(u->protocol); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
431 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2364
diff
changeset
|
432 if (!(p->options & OPT_PROTO_NO_PASSWORD) && (q->options & OPT_PROTO_NO_PASSWORD)) { |
|
2100
a93aeb6f813d
[gaim-migrate @ 2110]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2086
diff
changeset
|
433 gtk_widget_hide(u->pwdbox); |
|
a93aeb6f813d
[gaim-migrate @ 2110]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2086
diff
changeset
|
434 gtk_widget_hide(u->rempass); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2364
diff
changeset
|
435 } else if ((p->options & OPT_PROTO_NO_PASSWORD) && !(q->options & OPT_PROTO_NO_PASSWORD)) { |
|
2100
a93aeb6f813d
[gaim-migrate @ 2110]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2086
diff
changeset
|
436 gtk_widget_show(u->pwdbox); |
|
a93aeb6f813d
[gaim-migrate @ 2110]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2086
diff
changeset
|
437 gtk_widget_show(u->rempass); |
|
a93aeb6f813d
[gaim-migrate @ 2110]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2086
diff
changeset
|
438 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2364
diff
changeset
|
439 if (!(p->options & OPT_PROTO_MAIL_CHECK) && (q->options & OPT_PROTO_MAIL_CHECK)) { |
|
2153
0befa2d2e540
[gaim-migrate @ 2163]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2118
diff
changeset
|
440 gtk_widget_show(u->checkmail); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2364
diff
changeset
|
441 } else if ((p->options & OPT_PROTO_MAIL_CHECK) && !(q->options & OPT_PROTO_MAIL_CHECK)) { |
|
2153
0befa2d2e540
[gaim-migrate @ 2163]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2118
diff
changeset
|
442 gtk_widget_hide(u->checkmail); |
|
0befa2d2e540
[gaim-migrate @ 2163]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2118
diff
changeset
|
443 } |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
444 |
|
2411
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
445 if (!(p->options & OPT_PROTO_BUDDY_ICON) && (q->options & OPT_PROTO_BUDDY_ICON)) { |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
446 gtk_widget_show(u->iconsel); |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
447 } else if ((p->options & OPT_PROTO_BUDDY_ICON) && !(q->options & OPT_PROTO_BUDDY_ICON)) { |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
448 gtk_widget_hide(u->iconsel); |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
449 } |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
450 |
|
2522
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
451 if ((q->options & OPT_PROTO_BUDDY_ICON) || (q->options & OPT_PROTO_MAIL_CHECK)) |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
452 gtk_widget_show(u->user_frame); |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
453 else |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
454 gtk_widget_hide(u->user_frame); |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
455 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
456 u->protocol = proto; |
|
2522
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
457 generate_protocol_options(u, u->main); |
| 960 | 458 } |
| 459 } | |
| 460 | |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
461 static GtkWidget *make_protocol_menu(GtkWidget *box, struct mod_user *u) |
| 960 | 462 { |
| 463 GtkWidget *optmenu; | |
| 464 GtkWidget *menu; | |
| 465 GtkWidget *opt; | |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
466 GSList *p = protocols; |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
467 struct prpl *e; |
|
1075
2fe18b2d6105
[gaim-migrate @ 1085]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1074
diff
changeset
|
468 int count = 0; |
|
2fe18b2d6105
[gaim-migrate @ 1085]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1074
diff
changeset
|
469 gboolean found = FALSE; |
| 960 | 470 |
| 471 optmenu = gtk_option_menu_new(); | |
| 472 gtk_box_pack_start(GTK_BOX(box), optmenu, FALSE, FALSE, 5); | |
| 473 gtk_widget_show(optmenu); | |
| 474 | |
| 475 menu = gtk_menu_new(); | |
| 476 | |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
477 while (p) { |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
478 e = (struct prpl *)p->data; |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
479 if (e->protocol == u->protocol) |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
480 found = TRUE; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
481 if (!found) |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
482 count++; |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
483 if (e->name) |
| 3572 | 484 opt = gtk_menu_item_new_with_label(e->name); |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
485 else |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
486 opt = gtk_menu_item_new_with_label("Unknown"); |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
487 gtk_object_set_user_data(GTK_OBJECT(opt), u); |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
488 gtk_signal_connect(GTK_OBJECT(opt), "activate", |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
489 GTK_SIGNAL_FUNC(set_prot), (void *)e->protocol); |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
490 gtk_menu_append(GTK_MENU(menu), opt); |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
491 gtk_widget_show(opt); |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
492 p = p->next; |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
493 } |
| 960 | 494 |
| 495 gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), menu); | |
|
1075
2fe18b2d6105
[gaim-migrate @ 1085]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1074
diff
changeset
|
496 gtk_option_menu_set_history(GTK_OPTION_MENU(optmenu), count); |
| 960 | 497 |
| 498 return optmenu; | |
| 499 } | |
| 500 | |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
501 static void des_icon_sel(GtkWidget *w, struct mod_user *u) |
|
2411
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
502 { |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
503 w = u->icondlg; |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
504 if (u->icondlg) |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
505 u->icondlg = NULL; |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
506 if (w) |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
507 gtk_widget_destroy(w); |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
508 } |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
509 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
510 static void set_icon(GtkWidget *w, struct mod_user *u) |
|
2411
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
511 { |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
512 GtkWidget *sel = u->icondlg; |
| 3466 | 513 const char *file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(sel)); |
|
2411
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
514 |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
515 if (file_is_dir(file, sel)) |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
516 return; |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
517 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
518 gtk_entry_set_text(GTK_ENTRY(u->iconentry), file); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
519 g_snprintf(u->iconfile, sizeof(u->iconfile), "%s", file); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
520 u->icondlg = NULL; |
|
2411
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
521 |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
522 gtk_widget_destroy(sel); |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
523 } |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
524 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
525 static void sel_icon_dlg(GtkWidget *w, struct mod_user *u) |
|
2411
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
526 { |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
527 GtkWidget *dlg; |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
528 char buf[256]; |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
529 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
530 if (u->icondlg) { |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
531 gtk_widget_show(u->icondlg); |
|
2411
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
532 return; |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
533 } |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
534 |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
535 dlg = gtk_file_selection_new(_("Gaim - Load Buddy Icon")); |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
536 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(dlg)); |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
537 if (u->iconfile) { |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
538 char *tmp = g_dirname(u->iconfile); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
539 gtk_file_selection_set_filename(GTK_FILE_SELECTION(dlg), tmp); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
540 g_free(tmp); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
541 } else { |
| 3630 | 542 g_snprintf(buf, sizeof(buf), "%s" G_DIR_SEPARATOR_S, gaim_home_dir()); |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
543 gtk_file_selection_set_filename(GTK_FILE_SELECTION(dlg), buf); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
544 } |
|
2411
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
545 |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
546 gtk_signal_connect(GTK_OBJECT(dlg), "destroy", GTK_SIGNAL_FUNC(des_icon_sel), u); |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
547 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(dlg)->cancel_button), "clicked", |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
548 GTK_SIGNAL_FUNC(des_icon_sel), u); |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
549 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(dlg)->ok_button), "clicked", |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
550 GTK_SIGNAL_FUNC(set_icon), u); |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
551 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
552 u->icondlg = dlg; |
|
2411
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
553 |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
554 gtk_widget_show(dlg); |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
555 } |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
556 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
557 static void reset_icon(GtkWidget *w, struct mod_user *u) |
|
2411
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
558 { |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
559 u->iconfile[0] = 0; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
560 gtk_entry_set_text(GTK_ENTRY(u->iconentry), ""); |
|
2411
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
561 } |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
562 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
563 static GtkWidget *build_icon_selection(struct mod_user *u, GtkWidget *box) |
|
2411
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
564 { |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
565 GtkWidget *hbox; |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
566 GtkWidget *label; |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
567 GtkWidget *name; |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
568 GtkWidget *browse; |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
569 GtkWidget *reset; |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
570 |
|
2444
13ce96daf30f
[gaim-migrate @ 2457]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2442
diff
changeset
|
571 if (u->user) |
|
13ce96daf30f
[gaim-migrate @ 2457]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2442
diff
changeset
|
572 g_snprintf(u->iconfile, sizeof(u->iconfile), "%s", u->user->iconfile); |
|
2431
5948060f486c
[gaim-migrate @ 2444]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2411
diff
changeset
|
573 |
|
2411
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
574 hbox = gtk_hbox_new(FALSE, 0); |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
575 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 5); |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
576 gtk_widget_show(hbox); |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
577 |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
578 label = gtk_label_new(_("Buddy Icon File:")); |
| 3754 | 579 gtk_size_group_add_widget(u->sg, label); |
| 580 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
|
2411
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
581 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
582 gtk_widget_show(label); |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
583 |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
584 name = gtk_entry_new(); |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
585 gtk_entry_set_text(GTK_ENTRY(name), u->iconfile); |
|
2411
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
586 gtk_entry_set_editable(GTK_ENTRY(name), FALSE); |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
587 gtk_box_pack_start(GTK_BOX(hbox), name, TRUE, TRUE, 5); |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
588 gtk_widget_show(name); |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
589 u->iconentry = name; |
|
2411
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
590 |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
591 browse = gtk_button_new_with_label(_("Browse")); |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
592 gtk_signal_connect(GTK_OBJECT(browse), "clicked", GTK_SIGNAL_FUNC(sel_icon_dlg), u); |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
593 gtk_box_pack_start(GTK_BOX(hbox), browse, FALSE, FALSE, 0); |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
594 gtk_widget_show(browse); |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
595 |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
596 reset = gtk_button_new_with_label(_("Reset")); |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
597 gtk_signal_connect(GTK_OBJECT(reset), "clicked", GTK_SIGNAL_FUNC(reset_icon), u); |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
598 gtk_box_pack_start(GTK_BOX(hbox), reset, FALSE, FALSE, 0); |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
599 gtk_widget_show(reset); |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
600 |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
601 return hbox; |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
602 } |
|
123aaa84109a
[gaim-migrate @ 2424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2403
diff
changeset
|
603 |
|
2522
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
604 static void generate_login_options(struct mod_user *u, GtkWidget *box) |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
605 { |
|
3756
08742bf8a7be
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
606 GtkWidget *frame, *frame_parent; |
| 960 | 607 GtkWidget *vbox; |
| 608 GtkWidget *hbox; | |
| 609 GtkWidget *label; | |
|
2522
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
610 |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
611 struct prpl *p; |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
612 |
| 3754 | 613 frame = make_frame(box, _("Login Options")); |
|
3756
08742bf8a7be
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
614 frame_parent = gtk_widget_get_parent(gtk_widget_get_parent(frame)); |
|
1075
2fe18b2d6105
[gaim-migrate @ 1085]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1074
diff
changeset
|
615 |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
616 vbox = gtk_vbox_new(FALSE, 5); |
|
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
617 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
|
2522
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
618 gtk_container_add(GTK_CONTAINER(frame), vbox); |
| 960 | 619 |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
620 hbox = gtk_hbox_new(FALSE, 5); |
|
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
621 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
|
1075
2fe18b2d6105
[gaim-migrate @ 1085]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1074
diff
changeset
|
622 |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
623 label = gtk_label_new(_("Screenname:")); |
| 3754 | 624 gtk_size_group_add_widget(u->sg, label); |
| 625 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
626 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 960 | 627 |
|
2522
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
628 u->name = gtk_entry_new(); |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
629 gtk_box_pack_start(GTK_BOX(hbox), u->name, TRUE, TRUE, 0); |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
630 |
|
2522
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
631 u->pwdbox = gtk_hbox_new(FALSE, 5); |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
632 gtk_box_pack_start(GTK_BOX(vbox), u->pwdbox, FALSE, FALSE, 0); |
| 960 | 633 |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
634 label = gtk_label_new(_("Password:")); |
| 3754 | 635 gtk_size_group_add_widget(u->sg, label); |
| 636 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
|
2522
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
637 gtk_box_pack_start(GTK_BOX(u->pwdbox), label, FALSE, FALSE, 0); |
| 960 | 638 |
|
2522
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
639 u->pass = gtk_entry_new(); |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
640 gtk_box_pack_start(GTK_BOX(u->pwdbox), u->pass, TRUE, TRUE, 0); |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
641 gtk_entry_set_visibility(GTK_ENTRY(u->pass), FALSE); |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
642 |
|
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
643 hbox = gtk_hbox_new(FALSE, 5); |
|
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
644 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 3205 | 645 |
| 646 label = gtk_label_new(_("Alias:")); | |
| 3754 | 647 gtk_size_group_add_widget(u->sg, label); |
| 648 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
| 3205 | 649 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 650 | |
| 651 u->alias = gtk_entry_new(); | |
| 652 gtk_box_pack_start(GTK_BOX(hbox), u->alias, TRUE, TRUE, 0); | |
| 653 | |
| 654 hbox = gtk_hbox_new(FALSE, 5); | |
| 655 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 960 | 656 gtk_widget_show(hbox); |
| 657 | |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
658 label = gtk_label_new(_("Protocol:")); |
| 3754 | 659 gtk_size_group_add_widget(u->sg, label); |
| 660 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
661 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 960 | 662 |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
663 make_protocol_menu(hbox, u); |
| 960 | 664 |
|
2522
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
665 u->rempass = acct_button(_("Remember Password"), u, OPT_USR_REM_PASS, vbox); |
| 960 | 666 acct_button(_("Auto-Login"), u, OPT_USR_AUTO, vbox); |
| 667 | |
|
3756
08742bf8a7be
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
668 gtk_widget_show_all(frame_parent); |
|
2100
a93aeb6f813d
[gaim-migrate @ 2110]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2086
diff
changeset
|
669 |
|
2444
13ce96daf30f
[gaim-migrate @ 2457]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2442
diff
changeset
|
670 if (u->user) { |
|
2522
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
671 gtk_entry_set_text(GTK_ENTRY(u->name), u->user->username); |
| 3205 | 672 gtk_entry_set_text(GTK_ENTRY(u->alias), u->user->alias); |
|
2522
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
673 gtk_entry_set_text(GTK_ENTRY(u->pass), u->user->password); |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
674 } |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
675 |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
676 p = find_prpl(u->protocol); |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
677 if (p && (p->options & OPT_PROTO_NO_PASSWORD)) { |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
678 gtk_widget_hide(u->pwdbox); |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
679 gtk_widget_hide(u->rempass); |
|
2444
13ce96daf30f
[gaim-migrate @ 2457]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2442
diff
changeset
|
680 } |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
681 } |
|
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
682 |
|
2522
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
683 static void generate_user_options(struct mod_user *u, GtkWidget *box) |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
684 { |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
685 /* This function will add the appropriate (depending on the current |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
686 * protocol) widgets to frame and return TRUE if there anything |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
687 * was added (meaning the frame should be shown) |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
688 * Eric will most likely change this (as he does all other submitted code) |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
689 * so that it will accept the vbox as an argument and create, add, and show |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
690 * the frame itself (like generate_protocol_options). I'd do it myself, but I'm |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
691 * tired and I don't care. */ |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
692 /* Sean was right. I did do that. I told him I would. */ |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
693 |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
694 GtkWidget *vbox; |
|
3756
08742bf8a7be
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
695 GtkWidget *frame; |
|
2522
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
696 |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
697 struct prpl *p = find_prpl(u->protocol); |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
698 |
|
3756
08742bf8a7be
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
699 frame = make_frame(box, _("User Options")); |
|
08742bf8a7be
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
700 u->user_frame = gtk_widget_get_parent(gtk_widget_get_parent(frame)); |
|
08742bf8a7be
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
701 gtk_widget_show_all(u->user_frame); |
|
2522
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
702 |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
703 vbox = gtk_vbox_new(FALSE, 5); |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
704 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
|
3756
08742bf8a7be
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
705 gtk_container_add(GTK_CONTAINER(frame), vbox); |
|
2522
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
706 gtk_widget_show(vbox); |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
707 |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
708 u->checkmail = acct_button(_("New Mail Notifications"), u, OPT_USR_MAIL_CHECK, vbox); |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
709 u->iconsel = build_icon_selection(u, vbox); |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
710 |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
711 if (!p) { |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
712 gtk_widget_hide(u->user_frame); |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
713 return; |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
714 } |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
715 |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
716 if (!(p->options & OPT_PROTO_MAIL_CHECK)) |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
717 gtk_widget_hide(u->checkmail); |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
718 if (!(p->options & OPT_PROTO_BUDDY_ICON)) |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
719 gtk_widget_hide(u->iconsel); |
|
2525
4fc6aac9da94
[gaim-migrate @ 2538]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2522
diff
changeset
|
720 |
|
4fc6aac9da94
[gaim-migrate @ 2538]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2522
diff
changeset
|
721 if ((p->options & OPT_PROTO_BUDDY_ICON) || (p->options & OPT_PROTO_MAIL_CHECK)) |
|
4fc6aac9da94
[gaim-migrate @ 2538]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2522
diff
changeset
|
722 return; |
|
4fc6aac9da94
[gaim-migrate @ 2538]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2522
diff
changeset
|
723 gtk_widget_hide(u->user_frame); |
|
2522
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
724 } |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
725 |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
726 static void generate_protocol_options(struct mod_user *u, GtkWidget *box) |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
727 { |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
728 struct prpl *p = find_prpl(u->protocol); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
729 |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
730 GList *op, *tmp; |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
731 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
732 GtkWidget *vbox; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
733 GtkWidget *hbox; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
734 GtkWidget *label; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
735 GtkWidget *entry; |
| 3754 | 736 GtkWidget *frame; |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
737 |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
738 char buf[256]; |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
739 |
|
2522
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
740 if (u->proto_frame) |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
741 gtk_widget_destroy(u->proto_frame); |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
742 u->proto_frame = NULL; |
|
2203
14100685c95f
[gaim-migrate @ 2213]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2200
diff
changeset
|
743 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
744 if (u->opt_entries) { |
|
2190
24d947eff811
[gaim-migrate @ 2200]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2165
diff
changeset
|
745 g_list_free(u->opt_entries); |
|
24d947eff811
[gaim-migrate @ 2200]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2165
diff
changeset
|
746 u->opt_entries = NULL; |
|
24d947eff811
[gaim-migrate @ 2200]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2165
diff
changeset
|
747 } |
|
24d947eff811
[gaim-migrate @ 2200]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2165
diff
changeset
|
748 |
|
2522
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
749 if (!p) |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
750 return; |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
751 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
752 if (!p->user_opts) |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
753 return; |
|
2154
cff133e0ec0c
[gaim-migrate @ 2164]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2153
diff
changeset
|
754 |
| 3572 | 755 tmp = op = p->user_opts; |
|
2154
cff133e0ec0c
[gaim-migrate @ 2164]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2153
diff
changeset
|
756 |
|
2522
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
757 if (!op) |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
758 return; |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
759 |
| 3572 | 760 g_snprintf(buf, sizeof(buf), "%s Options", p->name); |
| 3754 | 761 frame = make_frame(box, buf); |
| 762 | |
| 763 /* BLEH */ | |
| 764 u->proto_frame = gtk_widget_get_parent(gtk_widget_get_parent(frame)); | |
| 765 gtk_widget_show_all(u->proto_frame); | |
|
2522
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
766 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
767 vbox = gtk_vbox_new(FALSE, 5); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
768 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
| 3754 | 769 gtk_container_add(GTK_CONTAINER(frame), vbox); |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
770 gtk_widget_show(vbox); |
|
2154
cff133e0ec0c
[gaim-migrate @ 2164]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2153
diff
changeset
|
771 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
772 while (op) { |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
773 struct proto_user_opt *puo = op->data; |
|
2154
cff133e0ec0c
[gaim-migrate @ 2164]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2153
diff
changeset
|
774 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
775 hbox = gtk_hbox_new(FALSE, 5); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
776 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
777 gtk_widget_show(hbox); |
|
2154
cff133e0ec0c
[gaim-migrate @ 2164]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2153
diff
changeset
|
778 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
779 label = gtk_label_new(puo->label); |
| 3754 | 780 gtk_size_group_add_widget(u->sg, label); |
| 781 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
782 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
783 gtk_widget_show(label); |
|
2154
cff133e0ec0c
[gaim-migrate @ 2164]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2153
diff
changeset
|
784 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
785 entry = gtk_entry_new(); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
786 gtk_box_pack_end(GTK_BOX(hbox), entry, FALSE, FALSE, 0); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
787 gtk_object_set_user_data(GTK_OBJECT(entry), (void *)puo->pos); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
788 if (u->proto_opt[puo->pos][0]) { |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
789 debug_printf("setting text %s\n", u->proto_opt[puo->pos]); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
790 gtk_entry_set_text(GTK_ENTRY(entry), u->proto_opt[puo->pos]); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
791 } else { |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
792 gtk_entry_set_text(GTK_ENTRY(entry), puo->def); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
793 } |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
794 gtk_widget_show(entry); |
|
2154
cff133e0ec0c
[gaim-migrate @ 2164]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2153
diff
changeset
|
795 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
796 u->opt_entries = g_list_append(u->opt_entries, entry); |
| 3572 | 797 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
798 op = op->next; |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
799 } |
| 2956 | 800 |
| 801 if(p->register_user != NULL) { | |
| 2975 | 802 u->register_user = gtk_check_button_new_with_label(_("Register with server")); |
| 2956 | 803 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(u->register_user), FALSE); |
| 804 gtk_box_pack_start(GTK_BOX(vbox), u->register_user, FALSE, FALSE, 0); | |
| 805 gtk_widget_show(u->register_user); | |
| 806 } | |
| 807 | |
|
1075
2fe18b2d6105
[gaim-migrate @ 1085]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1074
diff
changeset
|
808 } |
|
2fe18b2d6105
[gaim-migrate @ 1085]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1074
diff
changeset
|
809 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
810 static void show_acct_mod(struct aim_user *a) |
|
1075
2fe18b2d6105
[gaim-migrate @ 1085]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1074
diff
changeset
|
811 { |
|
2522
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
812 /* This is the fucking modify account dialog. I've fucking seperated it into |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
813 * three fucking frames: |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
814 * a fucking Login Options frame, a fucking User Options frame and a fucking |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
815 * Protcol Options frame. This fucking removes the two fucking tabs, which were |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
816 * quite fucking uneccessary. Fuck. */ |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
817 /* -- SeanEgan */ |
| 3754 | 818 /* YEAH!! -- ChipX86 */ |
| 819 GtkWidget *hbox, *vbox; | |
|
1075
2fe18b2d6105
[gaim-migrate @ 1085]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1074
diff
changeset
|
820 GtkWidget *button; |
| 3754 | 821 GtkWidget *sep; |
| 822 GtkSizeGroup *button_sg; | |
|
1075
2fe18b2d6105
[gaim-migrate @ 1085]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1074
diff
changeset
|
823 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
824 struct mod_user *u = find_mod_user(a); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
825 |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
826 if (!u) { |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
827 u = g_new0(struct mod_user, 1); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
828 u->user = a; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
829 mod_users = g_slist_append(mod_users, u); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
830 |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
831 if (a) { |
|
2458
8208e2016d9b
[gaim-migrate @ 2471]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2445
diff
changeset
|
832 int i; |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
833 u->options = a->options; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
834 if (find_prpl(a->protocol)) |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
835 u->protocol = a->protocol; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
836 else if (protocols) |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
837 u->protocol = ((struct prpl *)protocols->data)->protocol; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
838 else |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
839 u->protocol = -1; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
840 g_snprintf(u->iconfile, sizeof(u->iconfile), "%s", a->iconfile); |
|
2458
8208e2016d9b
[gaim-migrate @ 2471]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2445
diff
changeset
|
841 for (i = 0; i < 7; i++) |
|
8208e2016d9b
[gaim-migrate @ 2471]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2445
diff
changeset
|
842 g_snprintf(u->proto_opt[i], sizeof(u->proto_opt[i]), "%s", |
|
8208e2016d9b
[gaim-migrate @ 2471]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2445
diff
changeset
|
843 a->proto_opt[i]); |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
844 } else { |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
845 u->options = OPT_USR_REM_PASS; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
846 if (find_prpl(DEFAULT_PROTO)) |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
847 u->protocol = DEFAULT_PROTO; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
848 else if (protocols) |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
849 u->protocol = ((struct prpl *)protocols->data)->protocol; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
850 else |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
851 u->protocol = -1; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
852 } |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
853 } else { |
|
1075
2fe18b2d6105
[gaim-migrate @ 1085]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1074
diff
changeset
|
854 gtk_widget_show(u->mod); |
|
2fe18b2d6105
[gaim-migrate @ 1085]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1074
diff
changeset
|
855 return; |
|
2fe18b2d6105
[gaim-migrate @ 1085]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1074
diff
changeset
|
856 } |
|
2fe18b2d6105
[gaim-migrate @ 1085]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1074
diff
changeset
|
857 |
|
2522
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
858 u->mod = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
859 gtk_window_set_wmclass(GTK_WINDOW(u->mod), "account", "Gaim"); |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
860 gtk_widget_realize(u->mod); |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
861 gtk_window_set_title(GTK_WINDOW(u->mod), _("Gaim - Modify Account")); |
|
3756
08742bf8a7be
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
862 gtk_window_set_policy(GTK_WINDOW(u->mod), FALSE, FALSE, TRUE); /* nothing odd here :) */ |
|
2522
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
863 gtk_signal_connect(GTK_OBJECT(u->mod), "destroy", GTK_SIGNAL_FUNC(delmod), u); |
|
1075
2fe18b2d6105
[gaim-migrate @ 1085]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1074
diff
changeset
|
864 |
| 3754 | 865 vbox = gtk_vbox_new(FALSE, 6); |
| 866 gtk_container_border_width(GTK_CONTAINER(vbox), 6); | |
| 867 gtk_container_add(GTK_CONTAINER(u->mod), vbox); | |
|
3756
08742bf8a7be
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
868 gtk_widget_show(vbox); |
| 3754 | 869 |
| 870 u->main = gtk_vbox_new(FALSE, 12); | |
| 871 gtk_container_border_width(GTK_CONTAINER(u->main), 6); | |
| 872 gtk_box_pack_start(GTK_BOX(vbox), u->main, FALSE, FALSE, 0); | |
|
3756
08742bf8a7be
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
873 gtk_widget_show(u->main); |
| 3754 | 874 |
| 875 u->sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); | |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
876 |
|
2522
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
877 generate_login_options(u, u->main); |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
878 generate_user_options(u, u->main); |
|
108b3eab22aa
[gaim-migrate @ 2535]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2458
diff
changeset
|
879 generate_protocol_options(u, u->main); |
|
1075
2fe18b2d6105
[gaim-migrate @ 1085]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1074
diff
changeset
|
880 |
| 3754 | 881 hbox = gtk_hbox_new(FALSE, 6); |
| 882 gtk_container_set_border_width (GTK_CONTAINER (hbox), 6); | |
| 883 gtk_box_pack_end(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 960 | 884 |
| 3754 | 885 button_sg = gtk_size_group_new(GTK_SIZE_GROUP_BOTH); |
| 886 | |
| 887 button = gtk_button_new_from_stock(GTK_STOCK_OK); | |
| 888 gtk_size_group_add_widget(button_sg, button); | |
| 889 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); | |
| 890 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(ok_mod), u); | |
| 891 | |
| 892 button = gtk_button_new_from_stock(GTK_STOCK_CANCEL); | |
| 893 gtk_size_group_add_widget(button_sg, button); | |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
894 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
| 960 | 895 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(cancel_mod), u); |
| 896 | |
|
3756
08742bf8a7be
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
897 sep = gtk_hseparator_new(); |
|
08742bf8a7be
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
898 gtk_box_pack_end (GTK_BOX (vbox), sep, FALSE, FALSE, 0); |
|
08742bf8a7be
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
899 gtk_widget_show(sep); |
|
08742bf8a7be
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
900 |
|
08742bf8a7be
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
901 gtk_widget_show_all(hbox); |
|
08742bf8a7be
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
902 gtk_widget_show(u->mod); |
| 960 | 903 } |
| 904 | |
| 905 static void add_acct(GtkWidget *w, gpointer d) | |
| 906 { | |
| 907 show_acct_mod(NULL); | |
| 908 } | |
| 909 | |
| 3754 | 910 static void mod_acct_func(GtkTreeModel *model, GtkTreePath *path, |
| 911 GtkTreeIter *iter, gpointer data) | |
| 912 { | |
| 913 struct aim_user *u; | |
| 914 | |
| 915 gtk_tree_model_get(model, iter, COLUMN_DATA, &u, -1); | |
| 916 | |
| 917 if (u != NULL) | |
| 918 show_acct_mod(u); | |
| 919 } | |
| 920 | |
| 960 | 921 static void mod_acct(GtkWidget *w, gpointer d) |
| 922 { | |
| 3754 | 923 GtkTreeSelection *selection; |
| 924 | |
| 925 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)); | |
| 926 | |
| 927 gtk_tree_selection_selected_foreach(selection, mod_acct_func, NULL); | |
| 928 | |
| 929 #if 0 | |
|
2008
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
930 while (l) { |
|
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
931 row = (int)l->data; |
|
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
932 if (row != -1) { |
|
2397
520257562955
[gaim-migrate @ 2410]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2396
diff
changeset
|
933 u = g_slist_nth_data(aim_users, row); |
|
2008
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
934 if (u) |
|
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
935 show_acct_mod(u); |
|
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
936 } |
|
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
937 l = l->next; |
| 960 | 938 } |
| 3754 | 939 #endif |
| 960 | 940 } |
| 941 | |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
942 struct pass_prompt { |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
943 struct aim_user *u; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
944 GtkWidget *win; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
945 GtkWidget *entry; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
946 }; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
947 static GSList *passes = NULL; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
948 |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
949 static struct pass_prompt *find_pass_prompt(struct aim_user *u) |
| 960 | 950 { |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
951 GSList *p = passes; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
952 while (p) { |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
953 struct pass_prompt *r = p->data; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
954 if (r->u == u) |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
955 return r; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
956 p = p->next; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
957 } |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
958 return NULL; |
| 960 | 959 } |
| 960 | |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
961 static void pass_des(GtkWidget *w, struct pass_prompt *p) |
| 960 | 962 { |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
963 passes = g_slist_remove(passes, p); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
964 g_free(p); |
| 960 | 965 } |
| 966 | |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
967 static void pass_cancel(GtkWidget *w, struct pass_prompt *p) |
| 960 | 968 { |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
969 gtk_widget_destroy(p->win); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
970 } |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
971 |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
972 static void pass_signon(GtkWidget *w, struct pass_prompt *p) |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
973 { |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
974 const char *txt = gtk_entry_get_text(GTK_ENTRY(p->entry)); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
975 g_snprintf(p->u->password, sizeof(p->u->password), "%s", txt); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
976 serv_login(p->u); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
977 gtk_widget_destroy(p->win); |
| 960 | 978 } |
| 979 | |
| 980 static void do_pass_dlg(struct aim_user *u) | |
| 981 { | |
| 982 /* we can safely assume that u is not NULL */ | |
| 983 GtkWidget *frame; | |
| 984 GtkWidget *vbox; | |
| 985 GtkWidget *hbox; | |
| 986 char buf[96]; | |
| 987 GtkWidget *label; | |
| 988 GtkWidget *button; | |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
989 struct pass_prompt *p = find_pass_prompt(u); |
| 960 | 990 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
991 if (p) { |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
992 gtk_widget_show(p->win); |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
993 return; |
|
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
994 } |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
995 |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
996 p = g_new0(struct pass_prompt, 1); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
997 p->u = u; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
998 passes = g_slist_append(passes, p); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
999 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2709
diff
changeset
|
1000 GAIM_DIALOG(p->win); |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1001 gtk_window_set_wmclass(GTK_WINDOW(p->win), "password", "Gaim"); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1002 gtk_container_border_width(GTK_CONTAINER(p->win), 5); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1003 gtk_signal_connect(GTK_OBJECT(p->win), "destroy", GTK_SIGNAL_FUNC(pass_des), p); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1004 gtk_widget_realize(p->win); |
| 960 | 1005 |
| 3754 | 1006 frame = make_frame(p->win, _("Enter Password")); |
| 960 | 1007 gtk_widget_show(frame); |
| 1008 | |
| 1009 vbox = gtk_vbox_new(FALSE, 5); | |
| 1010 gtk_container_add(GTK_CONTAINER(frame), vbox); | |
| 1011 gtk_widget_show(vbox); | |
| 1012 | |
| 1013 hbox = gtk_hbox_new(FALSE, 5); | |
| 1014 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5); | |
| 1015 gtk_widget_show(hbox); | |
| 1016 | |
| 1017 g_snprintf(buf, sizeof(buf), "Password for %s:", u->username); | |
| 1018 label = gtk_label_new(buf); | |
| 1019 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); | |
| 1020 gtk_widget_show(label); | |
| 1021 | |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1022 p->entry = gtk_entry_new(); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1023 gtk_entry_set_visibility(GTK_ENTRY(p->entry), FALSE); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1024 gtk_box_pack_start(GTK_BOX(hbox), p->entry, FALSE, FALSE, 5); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1025 gtk_signal_connect(GTK_OBJECT(p->entry), "activate", GTK_SIGNAL_FUNC(pass_signon), p); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1026 gtk_widget_grab_focus(p->entry); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1027 gtk_widget_show(p->entry); |
| 960 | 1028 |
| 1029 hbox = gtk_hbox_new(FALSE, 5); | |
| 1030 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5); | |
| 1031 gtk_widget_show(hbox); | |
| 1032 | |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1033 button = picture_button(p->win, _("Cancel"), cancel_xpm); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1034 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(pass_cancel), p); |
| 960 | 1035 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 5); |
| 1036 | |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1037 button = picture_button(p->win, _("Signon"), ok_xpm); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1038 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(pass_signon), p); |
| 960 | 1039 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 5); |
| 1040 | |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1041 gtk_widget_show(p->win); |
| 960 | 1042 } |
| 1043 | |
| 3754 | 1044 static void acct_signin(GtkCellRendererToggle *cell, gchar *path_str, |
| 1045 gpointer d) | |
| 960 | 1046 { |
| 3754 | 1047 GtkTreeModel *model = (GtkTreeModel *)d; |
| 1048 GtkTreeIter iter; | |
| 1049 | |
| 3067 | 1050 struct aim_user *u = NULL; |
| 3069 | 1051 struct prpl *p = NULL; |
| 3754 | 1052 |
| 1053 gtk_tree_model_get_iter_from_string(model, &iter, path_str); | |
| 1054 gtk_tree_model_get(model, &iter, COLUMN_DATA, &u, -1); | |
| 1055 | |
| 1056 p = find_prpl(u->protocol); | |
| 1057 if (!u->gc && p && p->login) { | |
| 1058 struct prpl *p = find_prpl(u->protocol); | |
| 3789 | 1059 if (p && !(p->options & OPT_PROTO_NO_PASSWORD) && |
| 1060 !(p->options & OPT_PROTO_PASSWORD_OPTIONAL) && !u->password[0]) { | |
| 3754 | 1061 do_pass_dlg(u); |
| 3069 | 1062 } else { |
| 3754 | 1063 serv_login(u); |
| 960 | 1064 } |
| 3754 | 1065 } else if (u->gc) { |
| 1066 u->gc->wants_to_die = TRUE; | |
| 1067 signoff(u->gc); | |
| 1068 } else { | |
| 1069 if (u->protocol == PROTO_TOC) | |
| 1070 do_error_dialog(_("TOC not found."), | |
| 1071 _("You have attempted to login an IM account using the " | |
| 1072 "TOC protocol. Because this protocol is inferior to " | |
| 1073 "OSCAR, it is now compiled as a plugin by default. " | |
| 1074 "To login, edit this account to use OSCAR or load the " | |
| 1075 "TOC plugin."), GAIM_ERROR); | |
| 1076 else | |
| 1077 do_error_dialog(_("Protocol not found."), | |
| 1078 _("You cannot log this account in; you do not have " | |
| 1079 "the protocol it uses loaded, or the protocol does " | |
| 1080 "not have a login function."), GAIM_ERROR); | |
| 960 | 1081 } |
| 1082 } | |
| 3754 | 1083 |
| 1084 static void acct_autologin(GtkCellRendererToggle *cell, gchar *path_str, | |
| 1085 gpointer d) | |
|
2007
948a67a691a6
[gaim-migrate @ 2017]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1956
diff
changeset
|
1086 { |
| 3867 | 1087 GtkTreeModel *model = (GtkTreeModel *)d; |
| 1088 GtkTreeIter iter; | |
| 3754 | 1089 |
| 1090 struct aim_user *u = NULL; | |
| 1091 | |
| 1092 gtk_tree_model_get_iter_from_string(model, &iter, path_str); | |
| 1093 gtk_tree_model_get(model, &iter, COLUMN_DATA, &u, -1); | |
| 1094 | |
| 1095 u->options ^= OPT_USR_AUTO; | |
| 1096 | |
| 1097 gtk_list_store_set(GTK_LIST_STORE(model), &iter, | |
| 1098 COLUMN_AUTOLOGIN, (u->options & OPT_USR_AUTO), -1); | |
| 1099 | |
| 1100 save_prefs(); | |
| 1101 } | |
| 1102 | |
| 1103 static void do_del_acct(struct aim_user *u) | |
| 1104 { | |
| 1105 GtkTreeIter iter; | |
| 1106 | |
|
2007
948a67a691a6
[gaim-migrate @ 2017]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1956
diff
changeset
|
1107 if (u->gc) { |
|
948a67a691a6
[gaim-migrate @ 2017]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1956
diff
changeset
|
1108 u->gc->wants_to_die = TRUE; |
|
948a67a691a6
[gaim-migrate @ 2017]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1956
diff
changeset
|
1109 signoff(u->gc); |
|
948a67a691a6
[gaim-migrate @ 2017]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1956
diff
changeset
|
1110 } |
| 3754 | 1111 |
| 1112 if (get_iter_from_data(GTK_TREE_VIEW(treeview), u, &iter)) { | |
| 1113 gtk_list_store_remove(GTK_LIST_STORE(model), &iter); | |
| 1114 } | |
| 1115 | |
|
2397
520257562955
[gaim-migrate @ 2410]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2396
diff
changeset
|
1116 aim_users = g_slist_remove(aim_users, u); |
|
2007
948a67a691a6
[gaim-migrate @ 2017]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1956
diff
changeset
|
1117 save_prefs(); |
|
948a67a691a6
[gaim-migrate @ 2017]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1956
diff
changeset
|
1118 } |
|
948a67a691a6
[gaim-migrate @ 2017]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1956
diff
changeset
|
1119 |
| 3754 | 1120 static void del_acct_func(GtkTreeModel *model, GtkTreePath *path, |
| 1121 GtkTreeIter *iter, gpointer data) | |
| 1122 { | |
| 1123 struct aim_user *u; | |
| 1124 | |
| 1125 gtk_tree_model_get(model, iter, COLUMN_DATA, &u, -1); | |
| 1126 | |
| 1127 if (u != NULL) { | |
| 1128 char buf[8192]; | |
| 1129 | |
| 1130 g_snprintf(buf, sizeof(buf), | |
| 1131 _("Are you sure you want to delete %s?"), u->username); | |
| 1132 do_ask_dialog(buf, NULL, u, _("Delete"), do_del_acct, _("Cancel"), NULL); | |
| 1133 } | |
| 1134 } | |
| 1135 | |
| 960 | 1136 static void del_acct(GtkWidget *w, gpointer d) |
| 1137 { | |
| 3754 | 1138 GtkTreeSelection *selection; |
|
2008
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1139 |
| 3754 | 1140 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)); |
| 1141 | |
| 1142 gtk_tree_selection_selected_foreach(selection, del_acct_func, NULL); | |
|
2008
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1143 } |
|
2007
948a67a691a6
[gaim-migrate @ 2017]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1956
diff
changeset
|
1144 |
| 3754 | 1145 #if 0 |
|
2008
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1146 static void sel_auto(gpointer w, gpointer d) |
|
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1147 { |
|
2397
520257562955
[gaim-migrate @ 2410]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2396
diff
changeset
|
1148 GSList *l = aim_users; |
|
2008
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1149 struct aim_user *u; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2364
diff
changeset
|
1150 int i = 0; /* faster than doing g_list_index each time */ |
|
2008
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1151 while (l) { |
|
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1152 u = l->data; |
|
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1153 l = l->next; |
|
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1154 if (u->options & OPT_USR_AUTO) |
|
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1155 gtk_clist_select_row(GTK_CLIST(list), i, -1); |
|
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1156 else |
|
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1157 gtk_clist_unselect_row(GTK_CLIST(list), i, -1); |
|
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1158 i++; |
|
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1159 } |
| 960 | 1160 } |
| 3754 | 1161 #endif |
| 960 | 1162 |
| 1163 void account_editor(GtkWidget *w, GtkWidget *W) | |
| 1164 { | |
| 1165 /* please kill me */ | |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
1166 GtkWidget *vbox; |
| 960 | 1167 GtkWidget *hbox; |
|
2008
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1168 GtkWidget *sw; |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
1169 GtkWidget *button; /* used for many things */ |
| 3754 | 1170 GtkWidget *sep; |
| 1171 GtkSizeGroup *sg; | |
| 3764 | 1172 GtkWidget *frame; |
| 960 | 1173 |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
1174 if (acctedit) { |
| 3472 | 1175 gtk_window_present(GTK_WINDOW(acctedit)); |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
1176 return; |
|
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
1177 } |
| 3764 | 1178 |
| 960 | 1179 acctedit = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
| 1180 gtk_window_set_title(GTK_WINDOW(acctedit), _("Gaim - Account Editor")); | |
| 1181 gtk_window_set_wmclass(GTK_WINDOW(acctedit), "accounteditor", "Gaim"); | |
| 1182 gtk_widget_realize(acctedit); | |
| 3754 | 1183 gtk_widget_set_usize(acctedit, -1, 250); |
| 3755 | 1184 gtk_window_set_default_size(GTK_WINDOW(acctedit), 550, 250); |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
1185 gtk_signal_connect(GTK_OBJECT(acctedit), "destroy", GTK_SIGNAL_FUNC(delete_acctedit), W); |
| 960 | 1186 |
| 3754 | 1187 vbox = gtk_vbox_new(FALSE, 6); |
| 1188 gtk_container_set_border_width(GTK_CONTAINER(vbox), 6); | |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
1189 gtk_container_add(GTK_CONTAINER(acctedit), vbox); |
| 960 | 1190 |
|
2008
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1191 sw = generate_list(); |
| 3764 | 1192 frame = gtk_frame_new(NULL); |
| 1193 gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN); | |
| 1194 gtk_container_add(GTK_CONTAINER(frame), sw); | |
| 1195 gtk_widget_show(frame); | |
|
2008
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1196 |
| 3754 | 1197 hbox = gtk_hbox_new(FALSE, 6); |
| 1198 gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 6); | |
| 1199 | |
| 3764 | 1200 gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0); |
| 3754 | 1201 |
| 1202 #if 0 | |
|
2008
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1203 vbox2 = gtk_vbox_new(TRUE, 5); |
|
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1204 gtk_box_pack_start(GTK_BOX(hbox), vbox2, FALSE, FALSE, 0); |
|
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1205 |
| 3754 | 1206 button = gtk_button_new_from_stock(GTK_STOCK_REFRESH); |
| 1207 gtk_button_set_use_stock(GTK_BUTTON(button), FALSE); | |
| 1208 gtk_button_set_label(GTK_BUTTON(button), "Select All"); | |
| 1209 // button = picture_button2(acctedit, _("Select All"), tb_refresh_xpm, 2); | |
|
2008
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1210 gtk_box_pack_start(GTK_BOX(vbox2), button, TRUE, TRUE, 0); |
|
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1211 gtk_signal_connect_object(GTK_OBJECT(button), "clicked", |
|
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1212 GTK_SIGNAL_FUNC(gtk_clist_select_all), GTK_OBJECT(list)); |
|
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1213 |
| 3754 | 1214 button = gtk_button_new_from_stock(GTK_STOCK_REDO); |
| 1215 gtk_button_set_use_stock(GTK_BUTTON(button), FALSE); | |
| 1216 // gtk_button_set_label(button, "Select Autos"); | |
| 1217 // button = picture_button2(acctedit, _("Select Autos"), tb_redo_xpm, 2); | |
|
2008
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1218 gtk_box_pack_start(GTK_BOX(vbox2), button, TRUE, TRUE, 0); |
|
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1219 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(sel_auto), NULL); |
|
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1220 |
| 3754 | 1221 button = gtk_button_new_from_stock(GTK_STOCK_UNDO); |
| 1222 gtk_button_set_use_stock(GTK_BUTTON(button), FALSE); | |
| 1223 gtk_button_set_label(GTK_BUTTON(button), "Select None"); | |
| 1224 // button = picture_button2(acctedit, _("Select None"), tb_undo_xpm, 2); | |
|
2008
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1225 gtk_box_pack_start(GTK_BOX(vbox2), button, TRUE, TRUE, 0); |
|
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1226 gtk_signal_connect_object(GTK_OBJECT(button), "clicked", |
|
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1227 GTK_SIGNAL_FUNC(gtk_clist_unselect_all), GTK_OBJECT(list)); |
|
6f049002d963
[gaim-migrate @ 2018]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2007
diff
changeset
|
1228 |
| 3754 | 1229 #endif |
| 960 | 1230 |
| 3754 | 1231 sep = gtk_hseparator_new(); |
| 1232 gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0); | |
| 1233 | |
| 1234 hbox = gtk_hbox_new(FALSE, 6); | |
| 1235 gtk_container_set_border_width (GTK_CONTAINER (hbox), 6); | |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
1236 gtk_box_pack_end(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 960 | 1237 |
| 3754 | 1238 sg = gtk_size_group_new(GTK_SIZE_GROUP_BOTH); |
| 1239 | |
| 3885 | 1240 button = gtk_button_new_from_stock(GTK_STOCK_CLOSE); |
| 3754 | 1241 gtk_size_group_add_widget(sg, button); |
| 1242 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); | |
| 1243 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(acctedit_close), W); | |
| 960 | 1244 |
| 3754 | 1245 button = gtk_button_new_from_stock(GTK_STOCK_DELETE); |
| 1246 gtk_size_group_add_widget(sg, button); | |
| 1247 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); | |
| 1248 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(del_acct), NULL); | |
| 1249 | |
| 1250 button = gaim_pixbuf_button_from_stock("_Modify", GTK_STOCK_PREFERENCES, | |
| 1251 GAIM_BUTTON_HORIZONTAL); | |
| 1252 gtk_size_group_add_widget(sg, button); | |
| 1253 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); | |
| 960 | 1254 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(mod_acct), NULL); |
| 1255 | |
| 3754 | 1256 button = gtk_button_new_from_stock(GTK_STOCK_ADD); |
| 1257 gtk_size_group_add_widget(sg, button); | |
| 1258 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); | |
| 1259 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(add_acct), NULL); | |
| 960 | 1260 |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
1261 gtk_widget_show_all(acctedit); |
| 960 | 1262 } |
| 1263 | |
|
2402
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1264 struct signon_meter { |
|
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1265 struct gaim_connection *gc; |
| 3060 | 1266 GtkWidget *button; |
|
2402
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1267 GtkWidget *progress; |
|
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1268 GtkWidget *status; |
|
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1269 }; |
|
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1270 static GSList *meters = NULL; |
|
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1271 |
| 3060 | 1272 GtkWidget* create_meter_pixmap (GtkWidget *widget, struct gaim_connection *gc) |
| 1273 { | |
| 1274 GdkPixmap *gdkpixmap; | |
| 1275 GdkBitmap *mask; | |
| 1276 GtkWidget *pixmap; | |
| 3111 | 1277 |
| 1278 create_prpl_icon (widget, gc, &gdkpixmap, &mask); | |
| 3060 | 1279 |
| 1280 pixmap = gtk_pixmap_new (gdkpixmap, mask); | |
| 1281 gdk_pixmap_unref (gdkpixmap); | |
| 1282 gdk_bitmap_unref (mask); | |
| 1283 return pixmap; | |
| 1284 } | |
| 1285 | |
|
2402
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1286 static struct signon_meter *find_signon_meter(struct gaim_connection *gc) |
|
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1287 { |
|
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1288 GSList *m = meters; |
|
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1289 while (m) { |
|
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1290 if (((struct signon_meter *)m->data)->gc == gc) |
|
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1291 return m->data; |
|
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1292 m = m->next; |
|
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1293 } |
|
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1294 return NULL; |
|
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1295 } |
|
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1296 |
| 3060 | 1297 void kill_meter(struct signon_meter *meter) { |
| 1298 gtk_widget_set_sensitive (meter->button, FALSE); | |
| 1299 gtk_progress_bar_update(GTK_PROGRESS_BAR(meter->progress), 1); | |
| 1300 gtk_statusbar_pop(GTK_STATUSBAR(meter->status), 1); | |
| 1301 gtk_statusbar_push(GTK_STATUSBAR(meter->status), 1, "Done."); | |
| 1302 meter_win->active_count--; | |
| 1303 if (meter_win->active_count == 0) { | |
| 1304 gtk_widget_destroy(meter_win->window); | |
| 1305 g_free (meter_win); | |
| 1306 meter_win = NULL; | |
| 3554 | 1307 } |
| 3060 | 1308 } |
| 1309 | |
|
1089
f0f5c10cce63
[gaim-migrate @ 1099]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1086
diff
changeset
|
1310 void account_online(struct gaim_connection *gc) |
| 960 | 1311 { |
|
2402
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1312 struct signon_meter *meter = find_signon_meter(gc); |
| 3754 | 1313 GtkTreeIter iter; |
|
1002
1d8f05ea6bdf
[gaim-migrate @ 1012]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
998
diff
changeset
|
1314 |
|
1d8f05ea6bdf
[gaim-migrate @ 1012]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
998
diff
changeset
|
1315 /* first we hide the login progress meter */ |
|
2402
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1316 if (meter) { |
| 3060 | 1317 kill_meter(meter); |
|
2402
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1318 meters = g_slist_remove(meters, meter); |
|
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1319 g_free(meter); |
|
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1320 } |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
1321 |
|
1002
1d8f05ea6bdf
[gaim-migrate @ 1012]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
998
diff
changeset
|
1322 /* then we do the buddy list stuff */ |
|
1d8f05ea6bdf
[gaim-migrate @ 1012]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
998
diff
changeset
|
1323 if (mainwindow) |
|
1d8f05ea6bdf
[gaim-migrate @ 1012]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
998
diff
changeset
|
1324 gtk_widget_hide(mainwindow); |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
1325 |
|
2118
fa3dfde4727e
[gaim-migrate @ 2128]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2117
diff
changeset
|
1326 show_buddy_list(); |
|
1002
1d8f05ea6bdf
[gaim-migrate @ 1012]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
998
diff
changeset
|
1327 |
| 3367 | 1328 update_privacy_connections(); |
|
1401
bf041349b11e
[gaim-migrate @ 1411]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1391
diff
changeset
|
1329 do_away_menu(); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1474
diff
changeset
|
1330 do_proto_menu(); |
|
2111
109669b3887e
[gaim-migrate @ 2121]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2109
diff
changeset
|
1331 redo_convo_menus(); |
|
1002
1d8f05ea6bdf
[gaim-migrate @ 1012]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
998
diff
changeset
|
1332 gaim_setup(gc); |
|
1d8f05ea6bdf
[gaim-migrate @ 1012]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
998
diff
changeset
|
1333 |
| 3510 | 1334 gc->user->connecting = FALSE; |
| 3726 | 1335 connecting_count--; |
| 3570 | 1336 debug_printf("connecting_count: %d\n", connecting_count); |
| 1337 | |
| 3517 | 1338 plugin_event(event_signon, gc); |
|
1575
427e1409917c
[gaim-migrate @ 1585]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1499
diff
changeset
|
1339 system_log(log_signon, gc, NULL, OPT_LOG_BUDDY_SIGNON | OPT_LOG_MY_SIGNON); |
|
1002
1d8f05ea6bdf
[gaim-migrate @ 1012]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
998
diff
changeset
|
1340 |
|
1254
9da444224f0e
[gaim-migrate @ 1264]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
1341 /* away option given? */ |
|
9da444224f0e
[gaim-migrate @ 1264]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
1342 if (opt_away) { |
|
9da444224f0e
[gaim-migrate @ 1264]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
1343 away_on_login(opt_away_arg); |
|
9da444224f0e
[gaim-migrate @ 1264]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
1344 /* don't do it again */ |
|
9da444224f0e
[gaim-migrate @ 1264]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
1345 opt_away = 0; |
|
1401
bf041349b11e
[gaim-migrate @ 1411]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1391
diff
changeset
|
1346 } else if (awaymessage) { |
|
bf041349b11e
[gaim-migrate @ 1411]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1391
diff
changeset
|
1347 serv_set_away(gc, GAIM_AWAY_CUSTOM, awaymessage->message); |
|
1254
9da444224f0e
[gaim-migrate @ 1264]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
1348 } |
|
9da444224f0e
[gaim-migrate @ 1264]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
1349 if (opt_away_arg != NULL) { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2364
diff
changeset
|
1350 g_free(opt_away_arg); |
|
1254
9da444224f0e
[gaim-migrate @ 1264]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
1351 opt_away_arg = NULL; |
|
9da444224f0e
[gaim-migrate @ 1264]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
1352 } |
|
9da444224f0e
[gaim-migrate @ 1264]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
1353 |
|
1002
1d8f05ea6bdf
[gaim-migrate @ 1012]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
998
diff
changeset
|
1354 /* everything for the account editor */ |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
1355 if (!acctedit) |
|
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
1356 return; |
| 3754 | 1357 |
| 1358 if (get_iter_from_data(GTK_TREE_VIEW(treeview), gc->user, &iter)) { | |
| 1359 gtk_list_store_set(model, &iter, | |
| 1360 COLUMN_ONLINE, TRUE, | |
| 1361 COLUMN_PROTOCOL, gc->prpl->name, | |
| 1362 -1); | |
| 1363 } | |
|
1002
1d8f05ea6bdf
[gaim-migrate @ 1012]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
998
diff
changeset
|
1364 |
|
1d8f05ea6bdf
[gaim-migrate @ 1012]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
998
diff
changeset
|
1365 return; |
| 960 | 1366 } |
| 1367 | |
| 1368 void account_offline(struct gaim_connection *gc) | |
| 1369 { | |
|
2402
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1370 struct signon_meter *meter = find_signon_meter(gc); |
| 3754 | 1371 GtkTreeIter iter; |
| 1372 | |
|
2402
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1373 if (meter) { |
| 3060 | 1374 kill_meter(meter); |
|
2402
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1375 meters = g_slist_remove(meters, meter); |
|
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1376 g_free(meter); |
|
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1377 } |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
1378 gc->user->gc = NULL; /* wasn't that awkward? */ |
|
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
1379 if (!acctedit) |
|
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
1380 return; |
| 3754 | 1381 |
| 1382 if (get_iter_from_data(GTK_TREE_VIEW(treeview), gc->user, &iter)) { | |
| 1383 gtk_list_store_set(model, &iter, COLUMN_ONLINE, FALSE, -1); | |
| 1384 } | |
| 960 | 1385 } |
| 1386 | |
| 1387 void auto_login() | |
| 1388 { | |
|
2397
520257562955
[gaim-migrate @ 2410]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2396
diff
changeset
|
1389 GSList *u = aim_users; |
| 960 | 1390 struct aim_user *a = NULL; |
| 1391 | |
| 1392 while (u) { | |
| 1393 a = (struct aim_user *)u->data; | |
| 1394 if ((a->options & OPT_USR_AUTO) && (a->options & OPT_USR_REM_PASS)) { | |
|
980
82c5865f7cfe
[gaim-migrate @ 990]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
977
diff
changeset
|
1395 serv_login(a); |
| 960 | 1396 } |
| 1397 u = u->next; | |
| 1398 } | |
| 1399 } | |
|
988
9523b772e546
[gaim-migrate @ 998]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
984
diff
changeset
|
1400 |
| 3458 | 1401 /* |
| 1402 * d:)->-< | |
| 1403 * | |
| 1404 * d:O-\-< | |
| 1405 * | |
| 1406 * d:D-/-< | |
| 1407 * | |
| 1408 * d8D->-< DANCE! | |
| 1409 */ | |
| 1410 | |
|
2402
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1411 static void cancel_signon(GtkWidget *button, struct signon_meter *meter) |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
1412 { |
|
2402
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1413 meter->gc->wants_to_die = TRUE; |
|
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1414 signoff(meter->gc); |
|
1089
f0f5c10cce63
[gaim-migrate @ 1099]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1086
diff
changeset
|
1415 } |
|
f0f5c10cce63
[gaim-migrate @ 1099]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1086
diff
changeset
|
1416 |
|
2402
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1417 static gint meter_destroy(GtkWidget *window, GdkEvent *evt, struct signon_meter *meter) |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
1418 { |
|
1089
f0f5c10cce63
[gaim-migrate @ 1099]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1086
diff
changeset
|
1419 return TRUE; |
|
988
9523b772e546
[gaim-migrate @ 998]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
984
diff
changeset
|
1420 } |
|
9523b772e546
[gaim-migrate @ 998]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
984
diff
changeset
|
1421 |
| 3060 | 1422 static struct signon_meter *register_meter(struct gaim_connection *gc, GtkWidget *widget, GtkTable *table, gint *rows) |
| 1423 { | |
| 1424 GtkWidget *graphic; | |
| 3378 | 1425 GtkWidget *label; |
| 3060 | 1426 GtkWidget *nest_vbox; |
| 1427 GString *name_to_print; | |
| 1428 struct signon_meter *meter; | |
| 1429 | |
| 1430 name_to_print = g_string_new(gc->username); | |
| 1431 | |
| 1432 meter = g_new0(struct signon_meter, 1); | |
| 1433 | |
| 1434 (*rows)++; | |
| 1435 gtk_table_resize (table, *rows, 4); | |
| 1436 | |
| 1437 graphic = create_meter_pixmap( widget , gc); | |
| 1438 | |
| 1439 nest_vbox = gtk_vbox_new (FALSE, 0); | |
| 1440 | |
| 1441 name_to_print = g_string_prepend(name_to_print, "Signon: "); | |
| 3378 | 1442 label = gtk_label_new (name_to_print->str); |
| 1443 gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); | |
| 3060 | 1444 |
| 1445 meter->status = gtk_statusbar_new(); | |
| 1446 gtk_widget_set_usize(meter->status, 250, 0); | |
| 1447 | |
| 1448 meter->progress = gtk_progress_bar_new (); | |
| 1449 | |
| 1450 meter->button = gtk_button_new_with_label ("Cancel"); | |
| 1451 gtk_signal_connect (GTK_OBJECT (meter->button), "clicked", GTK_SIGNAL_FUNC (cancel_signon), meter); | |
| 1452 | |
| 1453 gtk_table_attach (GTK_TABLE (table), graphic, 0, 1, *rows, *rows+1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); | |
| 1454 gtk_table_attach (GTK_TABLE (table), nest_vbox, 1, 2, *rows, *rows+1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); | |
| 3378 | 1455 gtk_box_pack_start (GTK_BOX (nest_vbox), GTK_WIDGET (label), FALSE, FALSE, 0); |
| 3060 | 1456 gtk_box_pack_start (GTK_BOX (nest_vbox), GTK_WIDGET (meter->status), FALSE, FALSE, 0); |
| 1457 gtk_table_attach (GTK_TABLE (table), meter->progress, 2, 3, *rows, *rows+1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); | |
| 1458 gtk_table_attach (GTK_TABLE (table), meter->button, 3, 4, *rows, *rows+1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); | |
| 1459 | |
| 1460 gtk_widget_show_all (GTK_WIDGET (meter_win->window)); | |
| 1461 | |
| 1462 meter_win->active_count++; | |
| 1463 | |
| 1464 return meter; | |
| 1465 } | |
| 1466 | |
| 1467 static void loop_cancel () { | |
| 1468 GSList *m = meters; | |
| 1469 struct signon_meter *meter = NULL; | |
| 1470 | |
| 1471 while (m) { | |
| 1472 meter = (struct signon_meter *) (m->data); | |
| 1473 meter->gc->wants_to_die = TRUE; | |
| 1474 signoff((struct gaim_connection *) meter->gc); | |
| 1475 m = meters; | |
| 1476 } | |
| 1477 } | |
| 1478 | |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
1479 void set_login_progress(struct gaim_connection *gc, float howfar, char *message) |
|
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1172
diff
changeset
|
1480 { |
|
2402
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1481 struct signon_meter *meter = find_signon_meter(gc); |
|
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1482 |
|
988
9523b772e546
[gaim-migrate @ 998]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
984
diff
changeset
|
1483 if (mainwindow) |
|
9523b772e546
[gaim-migrate @ 998]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
984
diff
changeset
|
1484 gtk_widget_hide(mainwindow); |
|
9523b772e546
[gaim-migrate @ 998]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
984
diff
changeset
|
1485 |
| 3060 | 1486 if (!meter_win) { |
| 1487 GtkWidget *cancel_button; | |
| 1488 GtkWidget *vbox; | |
| 3067 | 1489 |
| 3060 | 1490 meter_win = g_new0(struct meter_window, 1); |
| 1491 meter_win->rows=0; | |
| 1492 | |
| 1493 meter_win->window = gtk_window_new (GTK_WINDOW_TOPLEVEL); | |
| 1494 GAIM_DIALOG(meter_win->window); | |
| 1495 gtk_window_set_policy(GTK_WINDOW(meter_win->window), 0, 0, 1); | |
| 1496 gtk_window_set_wmclass(GTK_WINDOW(meter_win->window), "signon", "Gaim"); | |
| 1497 gtk_container_set_border_width(GTK_CONTAINER(meter_win->window), 5); | |
| 1498 gtk_window_set_title (GTK_WINDOW (meter_win->window), "Gaim Account Signon"); | |
| 1499 gtk_widget_realize(meter_win->window); | |
| 1500 | |
| 1501 vbox = gtk_vbox_new (FALSE, 0); | |
| 1502 gtk_container_add (GTK_CONTAINER (meter_win->window), GTK_WIDGET (vbox)); | |
| 1503 | |
| 1504 meter_win->table = (GtkTable *) gtk_table_new (1 , 4, FALSE); | |
| 1505 gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (meter_win->table), FALSE, FALSE, 0); | |
| 1506 gtk_container_set_border_width (GTK_CONTAINER (meter_win->table), 5); | |
| 1507 gtk_table_set_row_spacings (GTK_TABLE (meter_win->table), 5); | |
| 1508 gtk_table_set_col_spacings (GTK_TABLE (meter_win->table), 10); | |
| 1509 | |
| 1510 cancel_button = gtk_button_new_with_label ("Cancel All"); | |
| 1511 gtk_signal_connect_object (GTK_OBJECT (cancel_button), "clicked", GTK_SIGNAL_FUNC (loop_cancel), NULL); | |
| 1512 gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (cancel_button), FALSE, FALSE, 0); | |
| 1513 | |
| 1514 gtk_signal_connect (GTK_OBJECT (meter_win->window), "delete_event", GTK_SIGNAL_FUNC (meter_destroy), NULL); | |
| 1515 } | |
| 1516 | |
|
2402
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1517 if (!meter) { |
|
988
9523b772e546
[gaim-migrate @ 998]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
984
diff
changeset
|
1518 char buf[256]; |
|
9523b772e546
[gaim-migrate @ 998]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
984
diff
changeset
|
1519 |
| 3060 | 1520 meter = register_meter(gc, GTK_WIDGET (meter_win->window), GTK_TABLE (meter_win->table), (gint *) &meter_win->rows); |
|
2402
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1521 meter->gc = gc; |
|
2403
8555e48c02df
[gaim-migrate @ 2416]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2402
diff
changeset
|
1522 meters = g_slist_append(meters, meter); |
|
2402
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1523 |
| 3572 | 1524 g_snprintf(buf, sizeof(buf), "%s Signing On (using %s)", gc->username, gc->prpl->name); |
|
988
9523b772e546
[gaim-migrate @ 998]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
984
diff
changeset
|
1525 } |
|
9523b772e546
[gaim-migrate @ 998]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
984
diff
changeset
|
1526 |
|
2402
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1527 gtk_progress_bar_update(GTK_PROGRESS_BAR(meter->progress), howfar / LOGIN_STEPS); |
|
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1528 gtk_statusbar_pop(GTK_STATUSBAR(meter->status), 1); |
|
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1529 gtk_statusbar_push(GTK_STATUSBAR(meter->status), 1, message); |
|
988
9523b772e546
[gaim-migrate @ 998]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
984
diff
changeset
|
1530 } |
|
9523b772e546
[gaim-migrate @ 998]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
984
diff
changeset
|
1531 |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1532 struct kick_dlg { |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1533 struct aim_user *user; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1534 GtkWidget *dlg; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1535 }; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1536 static GSList *kicks = NULL; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1537 |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1538 static struct kick_dlg *find_kick_dlg(struct aim_user *u) |
|
1817
b367beee6448
[gaim-migrate @ 1827]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1772
diff
changeset
|
1539 { |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1540 GSList *k = kicks; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1541 while (k) { |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1542 struct kick_dlg *d = k->data; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1543 if (d->user == u) |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1544 return d; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1545 k = k->next; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1546 } |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1547 return NULL; |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1548 } |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1549 |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1550 static void set_kick_null(GtkObject *obj, struct kick_dlg *k) |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1551 { |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1552 kicks = g_slist_remove(kicks, k); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1553 g_free(k); |
|
1817
b367beee6448
[gaim-migrate @ 1827]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1772
diff
changeset
|
1554 } |
|
b367beee6448
[gaim-migrate @ 1827]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1772
diff
changeset
|
1555 |
| 2956 | 1556 /* |
| 1557 * Common code for hide_login_progress(), and hide_login_progress_info() | |
| 1558 */ | |
| 1559 static void hide_login_progress_common(struct gaim_connection *gc, | |
| 1560 char *details, | |
| 1561 char *title, | |
| 1562 char *prologue) | |
|
988
9523b772e546
[gaim-migrate @ 998]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
984
diff
changeset
|
1563 { |
|
9523b772e546
[gaim-migrate @ 998]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
984
diff
changeset
|
1564 char buf[2048]; |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1565 struct kick_dlg *k = find_kick_dlg(gc->user); |
|
2402
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1566 struct signon_meter *meter = find_signon_meter(gc); |
| 2956 | 1567 sprintf(buf, _("%s\n%s: %s"), full_date(), prologue, details); |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1568 if (k) |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1569 gtk_widget_destroy(k->dlg); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1570 k = g_new0(struct kick_dlg, 1); |
|
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1571 k->user = gc->user; |
| 3427 | 1572 k->dlg = do_error_dialog(title, buf, GAIM_ERROR); |
|
2709
df0832a9ccec
[gaim-migrate @ 2722]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2707
diff
changeset
|
1573 kicks = g_slist_append(kicks, k); |
|
2442
895e2469cb3a
[gaim-migrate @ 2455]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
1574 gtk_signal_connect(GTK_OBJECT(k->dlg), "destroy", GTK_SIGNAL_FUNC(set_kick_null), k); |
|
2402
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1575 if (meter) { |
| 3060 | 1576 kill_meter(meter); |
|
2402
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1577 meters = g_slist_remove(meters, meter); |
|
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1578 g_free(meter); |
|
6e3dc0b3b9b1
[gaim-migrate @ 2415]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2397
diff
changeset
|
1579 } |
|
988
9523b772e546
[gaim-migrate @ 998]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
984
diff
changeset
|
1580 } |
|
1355
04874e92af24
[gaim-migrate @ 1365]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1261
diff
changeset
|
1581 |
| 2956 | 1582 void hide_login_progress(struct gaim_connection *gc, char *why) |
| 1583 { | |
| 1584 char buf[2048]; | |
| 1585 | |
| 1586 sprintf(buf, _("%s was unable to sign on"), gc->username); | |
| 1587 hide_login_progress_common(gc, why, _("Signon Error"), buf); | |
| 1588 } | |
| 1589 | |
| 1590 /* | |
| 1591 * Like hide_login_progress(), but for informational, not error/warning, | |
| 1592 * messages. | |
| 1593 * | |
| 1594 */ | |
| 1595 void hide_login_progress_notice(struct gaim_connection *gc, char *why) | |
| 1596 { | |
| 1597 hide_login_progress_common(gc, why, _("Notice"), gc->username); | |
| 1598 } | |
| 1599 | |
| 3074 | 1600 /* |
| 1601 * Like hide_login_progress(), but for non-signon error messages. | |
| 1602 * | |
| 1603 */ | |
| 1604 void hide_login_progress_error(struct gaim_connection *gc, char *why) | |
| 1605 { | |
| 1606 char buf[2048]; | |
| 1607 g_snprintf(buf, sizeof(buf), _("%s has been signed off"), gc->username); | |
| 1608 hide_login_progress_common(gc, why, _("Connection Error"), buf); | |
| 1609 } | |
| 1610 | |
|
2559
e49ab50736bf
[gaim-migrate @ 2572]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2525
diff
changeset
|
1611 void signoff_all() |
|
2380
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1612 { |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1613 GSList *c = connections; |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1614 struct gaim_connection *g = NULL; |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1615 |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1616 while (c) { |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1617 g = (struct gaim_connection *)c->data; |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1618 g->wants_to_die = TRUE; |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1619 signoff(g); |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1620 c = connections; |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1621 } |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1622 } |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1623 |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1624 void signoff(struct gaim_connection *gc) |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1625 { |
| 3510 | 1626 /* UI stuff */ |
| 1627 convo_menu_remove(gc); | |
| 1628 remove_icon_data(gc); | |
| 1629 | |
|
2380
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1630 /* core stuff */ |
| 3510 | 1631 /* remove this here so plugins get a sensible count of connections */ |
| 1632 connections = g_slist_remove(connections, gc); | |
|
2380
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1633 debug_printf("date: %s\n", full_date()); |
| 3517 | 1634 plugin_event(event_signoff, gc); |
|
2380
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1635 system_log(log_signoff, gc, NULL, OPT_LOG_BUDDY_SIGNON | OPT_LOG_MY_SIGNON); |
| 3510 | 1636 /* set this in case the plugin died before really connecting. |
| 1637 do it after calling the plugins so they can determine if | |
| 1638 this user was ever on-line or not */ | |
| 3517 | 1639 if (gc->user->connecting) { |
| 1640 gc->user->connecting = FALSE; | |
| 3726 | 1641 connecting_count--; |
| 3517 | 1642 } |
| 3570 | 1643 debug_printf("connecting_count: %d\n", connecting_count); |
| 3510 | 1644 serv_close(gc); |
|
2380
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1645 |
| 3510 | 1646 /* more UI stuff */ |
|
2380
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1647 redo_buddy_list(); |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1648 build_edit_tree(); |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1649 do_away_menu(); |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1650 do_proto_menu(); |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1651 redo_convo_menus(); |
| 3367 | 1652 update_privacy_connections(); |
|
2380
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1653 |
| 3510 | 1654 /* in, out, shake it all about */ |
|
2380
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1655 if (connections) |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1656 return; |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1657 |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1658 destroy_all_dialogs(); |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1659 destroy_buddy(); |
| 3472 | 1660 |
|
2380
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1661 show_login(); |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1662 } |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
1663 |
|
1942
ba421d552093
[gaim-migrate @ 1952]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1928
diff
changeset
|
1664 struct aim_user *new_user(const char *name, int proto, int opts) |
|
1355
04874e92af24
[gaim-migrate @ 1365]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1261
diff
changeset
|
1665 { |
|
04874e92af24
[gaim-migrate @ 1365]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1261
diff
changeset
|
1666 struct aim_user *u = g_new0(struct aim_user, 1); |
|
04874e92af24
[gaim-migrate @ 1365]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1261
diff
changeset
|
1667 g_snprintf(u->username, sizeof(u->username), "%s", name); |
|
2273
0b5c3338fa3d
[gaim-migrate @ 2283]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2248
diff
changeset
|
1668 g_snprintf(u->user_info, sizeof(u->user_info), "%s", DEFAULT_INFO); |
|
1355
04874e92af24
[gaim-migrate @ 1365]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1261
diff
changeset
|
1669 u->protocol = proto; |
|
04874e92af24
[gaim-migrate @ 1365]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1261
diff
changeset
|
1670 u->options = opts; |
|
2397
520257562955
[gaim-migrate @ 2410]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2396
diff
changeset
|
1671 aim_users = g_slist_append(aim_users, u); |
|
1355
04874e92af24
[gaim-migrate @ 1365]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1261
diff
changeset
|
1672 |
| 3754 | 1673 if (treeview) { |
| 1674 GtkTreeIter iter; | |
| 1675 | |
| 1676 gtk_list_store_append(model, &iter); | |
| 1677 gtk_list_store_set(model, &iter, | |
| 1678 COLUMN_SCREENNAME, u->username, | |
| 1679 COLUMN_ONLINE, (u->gc ? TRUE : FALSE), | |
| 1680 COLUMN_AUTOLOGIN, (u->options & OPT_USR_AUTO), | |
| 1681 COLUMN_PROTOCOL, proto_name(u->protocol), | |
| 1682 COLUMN_DATA, u, | |
| 1683 -1); | |
|
1355
04874e92af24
[gaim-migrate @ 1365]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1261
diff
changeset
|
1684 } |
|
04874e92af24
[gaim-migrate @ 1365]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1261
diff
changeset
|
1685 |
|
04874e92af24
[gaim-migrate @ 1365]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1261
diff
changeset
|
1686 return u; |
|
04874e92af24
[gaim-migrate @ 1365]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1261
diff
changeset
|
1687 } |
