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