Wed, 19 Mar 2003 23:07:52 +0000
[gaim-migrate @ 5159]
Bjoern Voigt writes:
"I resolved the conflicts and added a new patch in the attachment.
Besides this updates
| I have updated the German translation and fixed some i18n bugs. Most
| interesting is, that the new Gaim main menu now can be translated. As
| a quick fix I added a new item_factory_translate_func function to
| buddy.c. Now there are 2 static item_factory_translate_func functions
| in buddy.c and gtkconv.c. If you are interested, I can clean this next
| time (only one global function in gaim.h and utils.c).
| The other i18n fixed mark some strings as translatable, for instance
| in the "Get Buddy Info" message boxes.
I included an i18n fix for src/util.c:for sec_to_text (seconds to
text)."
| 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 | ||
| 4634 | 22 | #include <stdlib.h> |
|
2100
58ebaa769cb2
[gaim-migrate @ 2110]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2086
diff
changeset
|
23 | #include <string.h> |
| 3067 | 24 | #include <ctype.h> |
| 960 | 25 | #include <gtk/gtk.h> |
|
981
00723c9a507c
[gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
980
diff
changeset
|
26 | #include "prpl.h" |
| 960 | 27 | #include "multi.h" |
| 28 | #include "gaim.h" | |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
29 | #include "conversation.h" |
| 4687 | 30 | #include "gtklist.h" |
| 960 | 31 | |
|
4493
869602246304
[gaim-migrate @ 4768]
Herman Bloggs <herman@bluedigits.com>
parents:
4491
diff
changeset
|
32 | #ifdef _WIN32 |
|
869602246304
[gaim-migrate @ 4768]
Herman Bloggs <herman@bluedigits.com>
parents:
4491
diff
changeset
|
33 | #include "win32dep.h" |
|
869602246304
[gaim-migrate @ 4768]
Herman Bloggs <herman@bluedigits.com>
parents:
4491
diff
changeset
|
34 | #endif |
|
869602246304
[gaim-migrate @ 4768]
Herman Bloggs <herman@bluedigits.com>
parents:
4491
diff
changeset
|
35 | |
|
1106
7f3041b0632a
[gaim-migrate @ 1116]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1089
diff
changeset
|
36 | #define LOGIN_STEPS 5 |
|
7f3041b0632a
[gaim-migrate @ 1116]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1089
diff
changeset
|
37 | |
| 960 | 38 | GSList *connections; |
| 3517 | 39 | int connecting_count = 0; |
| 960 | 40 | |
| 41 | static GtkWidget *acctedit = NULL; | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
42 | static GtkWidget *treeview = NULL; /* the treeview of names in the accteditor */ |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
43 | static GtkListStore *model = NULL; |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
44 | |
| 4491 | 45 | static GSList *mod_accounts = NULL; |
| 960 | 46 | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
47 | enum |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
48 | { |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
49 | COLUMN_SCREENNAME, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
50 | COLUMN_ONLINE, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
51 | COLUMN_AUTOLOGIN, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
52 | COLUMN_PROTOCOL, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
53 | COLUMN_DATA, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
54 | NUM_COLUMNS |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
55 | }; |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
56 | |
| 4491 | 57 | struct mod_account { |
| 58 | struct gaim_account *account; | |
| 59 | ||
| 60 | /* these are temporary */ | |
| 61 | int options; | |
| 62 | int protocol; | |
| 63 | char proto_opt[7][256]; | |
| 64 | ||
| 65 | /* stuff for modify window */ | |
| 66 | GtkWidget *mod; | |
| 67 | GtkWidget *main; | |
| 68 | GtkWidget *name; | |
| 69 | GtkWidget *alias; | |
| 70 | GtkWidget *pwdbox; | |
| 71 | GtkWidget *pass; | |
| 72 | GtkWidget *rempass; | |
| 73 | GtkWidget *user_frame; | |
| 74 | GtkWidget *proto_frame; | |
| 75 | GtkSizeGroup *sg; | |
| 76 | GList *opt_entries; | |
| 77 | ||
| 78 | /* stuff for icon selection */ | |
| 79 | char iconfile[256]; | |
| 80 | GtkWidget *iconsel; | |
| 81 | GtkWidget *iconentry; | |
| 82 | GtkWidget *icondlg; | |
| 83 | ||
| 84 | /* stuff for mail check prompt */ | |
| 85 | GtkWidget *checkmail; | |
| 86 | ||
| 87 | /* stuff for register with server */ | |
| 88 | GtkWidget *register_user; | |
| 4634 | 89 | |
| 90 | /* stuff for proxy options */ | |
| 91 | GtkWidget *proxy_frame; | |
| 92 | GtkWidget *proxy_host_box; | |
| 93 | GtkWidget *proxytype_menu; | |
| 94 | GtkWidget *proxyhost_entry; | |
| 95 | GtkWidget *proxyport_entry; | |
| 96 | GtkWidget *proxyuser_entry; | |
| 97 | GtkWidget *proxypass_entry; | |
| 4491 | 98 | }; |
| 99 | ||
| 100 | ||
| 101 | struct mod_account_opt { | |
| 102 | struct mod_account *ma; | |
| 103 | int opt; | |
| 104 | }; | |
| 105 | ||
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
106 | static void acct_signin(GtkCellRendererToggle *cell, gchar *path_str, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
107 | gpointer d); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
108 | static void acct_autologin(GtkCellRendererToggle *cell, gchar *path_str, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
109 | gpointer d); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
110 | |
| 4491 | 111 | static struct mod_account *mod_account_find(struct gaim_account *a) |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
112 | { |
| 4491 | 113 | GSList *m = mod_accounts; |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
114 | while (m) { |
| 4491 | 115 | struct mod_account *ma = m->data; |
| 116 | if (ma->account == a) | |
| 117 | return ma; | |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
118 | m = m->next; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
119 | } |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
120 | return NULL; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
121 | } |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
122 | |
| 4491 | 123 | static void generate_protocol_options(struct mod_account *, GtkWidget *); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
124 | |
| 960 | 125 | |
| 4491 | 126 | struct gaim_connection *new_gaim_conn(struct gaim_account *account) |
| 960 | 127 | { |
| 128 | struct gaim_connection *gc = g_new0(struct gaim_connection, 1); | |
|
1391
e6e7f3bf1e81
[gaim-migrate @ 1401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1355
diff
changeset
|
129 | gc->edittype = EDIT_GC; |
| 4491 | 130 | gc->protocol = account->protocol; |
| 131 | gc->prpl = find_prpl(account->protocol); | |
| 132 | g_snprintf(gc->username, sizeof(gc->username), "%s", account->username); | |
| 133 | g_snprintf(gc->password, sizeof(gc->password), "%s", account->password); | |
|
1153
1a4d7785bf8f
[gaim-migrate @ 1163]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1124
diff
changeset
|
134 | gc->keepalive = 0; |
|
2382
69a4e3665132
[gaim-migrate @ 2395]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2380
diff
changeset
|
135 | gc->inpa = 0; |
|
998
53c98c4801b3
[gaim-migrate @ 1008]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
993
diff
changeset
|
136 | gc->buddy_chats = NULL; |
|
4111
93b27900416e
[gaim-migrate @ 4326]
Robert McQueen <robot101@debian.org>
parents:
4082
diff
changeset
|
137 | gc->away = NULL; |
|
93b27900416e
[gaim-migrate @ 4326]
Robert McQueen <robot101@debian.org>
parents:
4082
diff
changeset
|
138 | gc->away_state = NULL; |
| 960 | 139 | |
| 140 | connections = g_slist_append(connections, gc); | |
| 141 | ||
| 4491 | 142 | account->gc = gc; |
| 143 | gc->account = account; | |
|
1089
74f5c108f7a3
[gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1086
diff
changeset
|
144 | |
| 960 | 145 | return gc; |
| 146 | } | |
| 147 | ||
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
148 | struct meter_window { |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
149 | GtkWidget *window; |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
150 | GtkTable *table; |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
151 | gint rows; |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
152 | gint active_count; |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
153 | } *meter_win = NULL; |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
154 | |
| 960 | 155 | void destroy_gaim_conn(struct gaim_connection *gc) |
| 156 | { | |
| 4785 | 157 | GaimBlistNode *gnode,*bnode; |
|
1063
f766a178ee59
[gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1058
diff
changeset
|
158 | struct group *m; |
|
f766a178ee59
[gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1058
diff
changeset
|
159 | struct buddy *n; |
| 4785 | 160 | for(gnode = gaim_get_blist()->root; gnode; gnode = gnode->next) { |
| 161 | if(!GAIM_BLIST_NODE_IS_GROUP(gnode)) | |
| 162 | continue; | |
| 163 | m = (struct group *)gnode; | |
| 164 | for(bnode = gnode->child; bnode; bnode = bnode->next) { | |
| 165 | if(!GAIM_BLIST_NODE_IS_BUDDY(bnode)) | |
| 166 | continue; | |
| 167 | n = (struct buddy *)bnode; | |
| 4491 | 168 | if(n->account == gc->account) { |
| 4349 | 169 | n->present = 0; |
| 170 | } | |
|
1063
f766a178ee59
[gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1058
diff
changeset
|
171 | } |
|
2597
51ca3fb939c9
[gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2568
diff
changeset
|
172 | } |
|
4111
93b27900416e
[gaim-migrate @ 4326]
Robert McQueen <robot101@debian.org>
parents:
4082
diff
changeset
|
173 | g_free(gc->away); |
|
93b27900416e
[gaim-migrate @ 4326]
Robert McQueen <robot101@debian.org>
parents:
4082
diff
changeset
|
174 | g_free(gc->away_state); |
| 960 | 175 | g_free(gc); |
|
3510
eb451ec1bf1c
[gaim-migrate @ 3576]
Robert McQueen <robot101@debian.org>
parents:
3474
diff
changeset
|
176 | |
|
988
8e2d5ba69459
[gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
984
diff
changeset
|
177 | if (!connections && mainwindow) |
|
8e2d5ba69459
[gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
984
diff
changeset
|
178 | gtk_widget_show(mainwindow); |
| 960 | 179 | } |
| 180 | ||
|
4275
84bd111694b1
[gaim-migrate @ 4526]
Nicolás Lichtmaier <nico@lichtmaier.com.ar>
parents:
4249
diff
changeset
|
181 | static void quit_acctedit(gpointer d) |
| 960 | 182 | { |
| 183 | if (acctedit) { | |
| 184 | save_prefs(); | |
| 185 | gtk_widget_destroy(acctedit); | |
|
4275
84bd111694b1
[gaim-migrate @ 4526]
Nicolás Lichtmaier <nico@lichtmaier.com.ar>
parents:
4249
diff
changeset
|
186 | acctedit = NULL; |
| 960 | 187 | } |
|
4695
82df59fb9931
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
188 | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
189 | treeview = NULL; |
|
4695
82df59fb9931
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
190 | |
|
82df59fb9931
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
191 | if (!d && !GAIM_GTK_BLIST(gaim_get_blist())->window && |
|
82df59fb9931
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
192 | !mainwindow && !connections) { |
|
82df59fb9931
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
193 | |
|
4082
0cb2b86d19b4
[gaim-migrate @ 4297]
Robert McQueen <robot101@debian.org>
parents:
4074
diff
changeset
|
194 | do_quit(); |
|
4695
82df59fb9931
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
195 | } |
| 960 | 196 | } |
| 197 | ||
|
4275
84bd111694b1
[gaim-migrate @ 4526]
Nicolás Lichtmaier <nico@lichtmaier.com.ar>
parents:
4249
diff
changeset
|
198 | static void on_delete_acctedit(GtkWidget *w, GdkEvent *ev, gpointer d) |
| 960 | 199 | { |
|
4275
84bd111694b1
[gaim-migrate @ 4526]
Nicolás Lichtmaier <nico@lichtmaier.com.ar>
parents:
4249
diff
changeset
|
200 | quit_acctedit(d); |
|
84bd111694b1
[gaim-migrate @ 4526]
Nicolás Lichtmaier <nico@lichtmaier.com.ar>
parents:
4249
diff
changeset
|
201 | } |
|
84bd111694b1
[gaim-migrate @ 4526]
Nicolás Lichtmaier <nico@lichtmaier.com.ar>
parents:
4249
diff
changeset
|
202 | |
|
84bd111694b1
[gaim-migrate @ 4526]
Nicolás Lichtmaier <nico@lichtmaier.com.ar>
parents:
4249
diff
changeset
|
203 | static void on_close_acctedit(GtkButton *button, gpointer d) |
|
84bd111694b1
[gaim-migrate @ 4526]
Nicolás Lichtmaier <nico@lichtmaier.com.ar>
parents:
4249
diff
changeset
|
204 | { |
|
84bd111694b1
[gaim-migrate @ 4526]
Nicolás Lichtmaier <nico@lichtmaier.com.ar>
parents:
4249
diff
changeset
|
205 | quit_acctedit(d); |
| 960 | 206 | } |
| 207 | ||
| 208 | static char *proto_name(int proto) | |
| 209 | { | |
|
981
00723c9a507c
[gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
980
diff
changeset
|
210 | struct prpl *p = find_prpl(proto); |
|
00723c9a507c
[gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
980
diff
changeset
|
211 | if (p && p->name) |
| 3572 | 212 | return p->name; |
|
981
00723c9a507c
[gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
980
diff
changeset
|
213 | else |
|
00723c9a507c
[gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
980
diff
changeset
|
214 | return "Unknown"; |
| 960 | 215 | } |
| 216 | ||
|
2204
86b6aedfc586
[gaim-migrate @ 2214]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2203
diff
changeset
|
217 | void regenerate_user_list() |
|
86b6aedfc586
[gaim-migrate @ 2214]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2203
diff
changeset
|
218 | { |
| 4491 | 219 | GSList *accounts = gaim_accounts; |
| 220 | struct gaim_account *a; | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
221 | GtkTreeIter iter; |
|
2204
86b6aedfc586
[gaim-migrate @ 2214]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2203
diff
changeset
|
222 | |
|
86b6aedfc586
[gaim-migrate @ 2214]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2203
diff
changeset
|
223 | if (!acctedit) |
|
86b6aedfc586
[gaim-migrate @ 2214]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2203
diff
changeset
|
224 | return; |
|
86b6aedfc586
[gaim-migrate @ 2214]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2203
diff
changeset
|
225 | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
226 | gtk_list_store_clear(model); |
|
2204
86b6aedfc586
[gaim-migrate @ 2214]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2203
diff
changeset
|
227 | |
| 4491 | 228 | while (accounts) { |
| 229 | a = (struct gaim_account *)accounts->data; | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
230 | |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
231 | gtk_list_store_append(model, &iter); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
232 | gtk_list_store_set(model, &iter, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
233 | COLUMN_SCREENNAME, a->username, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
234 | COLUMN_ONLINE, (a->gc ? TRUE : FALSE), |
| 4491 | 235 | COLUMN_AUTOLOGIN, (a->options & OPT_ACCT_AUTO), |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
236 | COLUMN_PROTOCOL, proto_name(a->protocol), |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
237 | COLUMN_DATA, a, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
238 | -1); |
| 4491 | 239 | accounts = accounts->next; |
|
2204
86b6aedfc586
[gaim-migrate @ 2214]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2203
diff
changeset
|
240 | } |
|
86b6aedfc586
[gaim-migrate @ 2214]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2203
diff
changeset
|
241 | } |
|
86b6aedfc586
[gaim-migrate @ 2214]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2203
diff
changeset
|
242 | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
243 | static gboolean get_iter_from_data(GtkTreeView *treeview, |
| 4491 | 244 | struct gaim_account *a, GtkTreeIter *iter) |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
245 | { |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
246 | return gtk_tree_model_iter_nth_child(gtk_tree_view_get_model(treeview), |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
247 | iter, NULL, |
| 4491 | 248 | g_slist_index(gaim_accounts, a)); |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
249 | } |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
250 | |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
251 | static void add_columns(GtkWidget *treeview) |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
252 | { |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
253 | GtkCellRenderer *renderer; |
| 4635 | 254 | /* GtkTreeViewColumn *column; */ |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
255 | |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
256 | /* Screennames */ |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
257 | renderer = gtk_cell_renderer_text_new(); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
258 | gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(treeview), |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
259 | -1, _("Screenname"), |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
260 | renderer, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
261 | "text", COLUMN_SCREENNAME, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
262 | NULL); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
263 | |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
264 | /* Online? */ |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
265 | renderer = gtk_cell_renderer_toggle_new(); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
266 | g_signal_connect(G_OBJECT(renderer), "toggled", |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
267 | G_CALLBACK(acct_signin), model); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
268 | gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(treeview), |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
269 | -1, _("Online"), |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
270 | renderer, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
271 | "active", COLUMN_ONLINE, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
272 | NULL); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
273 | |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
274 | /* Auto-login? */ |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
275 | renderer = gtk_cell_renderer_toggle_new(); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
276 | g_signal_connect(G_OBJECT(renderer), "toggled", |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
277 | G_CALLBACK(acct_autologin), model); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
278 | gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(treeview), |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
279 | -1, _("Auto-login"), |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
280 | renderer, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
281 | "active", COLUMN_AUTOLOGIN, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
282 | NULL); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
283 | |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
284 | /* Protocol */ |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
285 | renderer = gtk_cell_renderer_text_new(); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
286 | gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(treeview), |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
287 | -1, _("Protocol"), |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
288 | renderer, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
289 | "text", COLUMN_PROTOCOL, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
290 | NULL); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
291 | |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
292 | /* Data */ |
| 4630 | 293 | /* |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
294 | column = gtk_tree_view_column_new(); |
| 4630 | 295 | gtk_tree_view_insert_column(GTK_TREE_VIEW(treeview), column, -1); |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
296 | gtk_tree_view_column_set_visible(column, FALSE); |
| 4630 | 297 | */ |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
298 | } |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
299 | |
| 960 | 300 | static GtkWidget *generate_list() |
| 301 | { | |
| 302 | GtkWidget *win; | |
| 303 | ||
| 304 | win = gtk_scrolled_window_new(0, 0); | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
305 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(win), |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
306 | GTK_POLICY_AUTOMATIC, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
307 | GTK_POLICY_ALWAYS); |
|
4550
6b85399407fa
[gaim-migrate @ 4830]
Christian Hammond <chipx86@chipx86.com>
parents:
4493
diff
changeset
|
308 | gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(win), |
|
6b85399407fa
[gaim-migrate @ 4830]
Christian Hammond <chipx86@chipx86.com>
parents:
4493
diff
changeset
|
309 | GTK_SHADOW_IN); |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
310 | |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
311 | /* Create the list model. */ |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
312 | model = gtk_list_store_new(NUM_COLUMNS, G_TYPE_STRING, G_TYPE_BOOLEAN, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
313 | G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_POINTER); |
| 960 | 314 | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
315 | treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(model)); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
316 | gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(treeview), TRUE); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
317 | gtk_tree_selection_set_mode( |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
318 | gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)), |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
319 | GTK_SELECTION_MULTIPLE); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
320 | |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
321 | add_columns(treeview); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
322 | |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
323 | gtk_container_add(GTK_CONTAINER(win), treeview); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
324 | gtk_widget_show(treeview); |
| 960 | 325 | |
|
2204
86b6aedfc586
[gaim-migrate @ 2214]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2203
diff
changeset
|
326 | regenerate_user_list(); |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
327 | gtk_tree_view_set_reorderable (GTK_TREE_VIEW(treeview), TRUE); |
| 960 | 328 | gtk_widget_show(win); |
| 329 | return win; | |
| 330 | } | |
| 331 | ||
| 4491 | 332 | static void delmod(GtkWidget *w, struct mod_account *ma) |
| 960 | 333 | { |
| 4491 | 334 | mod_accounts = g_slist_remove(mod_accounts, ma); |
| 335 | g_free(ma); | |
| 960 | 336 | } |
| 337 | ||
| 4491 | 338 | static void mod_opt(GtkWidget *b, struct mod_account_opt *mao) |
| 960 | 339 | { |
| 4491 | 340 | mao->ma->options = mao->ma->options ^ mao->opt; |
| 960 | 341 | } |
| 342 | ||
| 4491 | 343 | static void free_mao(GtkWidget *b, struct mod_account_opt *mao) |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
344 | { |
| 4491 | 345 | g_free(mao); |
|
1051
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1030
diff
changeset
|
346 | } |
|
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1030
diff
changeset
|
347 | |
| 4491 | 348 | static GtkWidget *acct_button(const char *text, struct mod_account *ma, int option, GtkWidget *box) |
| 960 | 349 | { |
| 350 | GtkWidget *button; | |
| 4491 | 351 | struct mod_account_opt *mao = g_new0(struct mod_account_opt, 1); |
| 960 | 352 | button = gtk_check_button_new_with_label(text); |
| 4635 | 353 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), (ma->options & option)); |
| 960 | 354 | gtk_box_pack_start(GTK_BOX(box), button, FALSE, FALSE, 0); |
| 4491 | 355 | mao->ma = ma; |
| 356 | mao->opt = option; | |
| 357 | g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(mod_opt), mao); | |
| 358 | g_signal_connect(GTK_OBJECT(button), "destroy", G_CALLBACK(free_mao), mao); | |
| 960 | 359 | gtk_widget_show(button); |
| 360 | return button; | |
| 361 | } | |
| 362 | ||
| 4491 | 363 | static void ok_mod(GtkWidget *w, struct mod_account *ma) |
| 960 | 364 | { |
|
2154
7d4835b44b85
[gaim-migrate @ 2164]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2153
diff
changeset
|
365 | GList *tmp; |
|
1954
3c79712af15b
[gaim-migrate @ 1964]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1942
diff
changeset
|
366 | const char *txt; |
| 4491 | 367 | struct gaim_account *a; |
| 2956 | 368 | struct prpl *p; |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
369 | GtkTreeIter iter; |
| 4634 | 370 | int proxytype; |
|
1355
8a38dd3c6ec6
[gaim-migrate @ 1365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1261
diff
changeset
|
371 | |
| 4491 | 372 | if (!ma->account) { |
| 373 | txt = gtk_entry_get_text(GTK_ENTRY(ma->name)); | |
| 374 | ma->account = gaim_account_new(txt, ma->protocol, ma->options); | |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
375 | } |
| 4491 | 376 | a = ma->account; |
|
2154
7d4835b44b85
[gaim-migrate @ 2164]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2153
diff
changeset
|
377 | |
| 4491 | 378 | a->options = ma->options; |
| 379 | a->protocol = ma->protocol; | |
| 380 | txt = gtk_entry_get_text(GTK_ENTRY(ma->name)); | |
|
2628
c1f6b847bde8
[gaim-migrate @ 2641]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2627
diff
changeset
|
381 | g_snprintf(a->username, sizeof(a->username), "%s", txt); |
| 4491 | 382 | txt = gtk_entry_get_text(GTK_ENTRY(ma->alias)); |
| 3205 | 383 | g_snprintf(a->alias, sizeof(a->alias), "%s", txt); |
| 4491 | 384 | txt = gtk_entry_get_text(GTK_ENTRY(ma->pass)); |
| 385 | if (a->options & OPT_ACCT_REM_PASS) | |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
386 | g_snprintf(a->password, sizeof(a->password), "%s", txt); |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
387 | else |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
388 | a->password[0] = '\0'; |
|
2190
9063605becb9
[gaim-migrate @ 2200]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2165
diff
changeset
|
389 | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
390 | if (get_iter_from_data(GTK_TREE_VIEW(treeview), a, &iter)) { |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
391 | gtk_list_store_set(model, &iter, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
392 | COLUMN_SCREENNAME, a->username, |
| 4491 | 393 | COLUMN_AUTOLOGIN, (a->options & OPT_ACCT_AUTO), |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
394 | COLUMN_PROTOCOL, proto_name(a->protocol), |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
395 | -1); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
396 | } |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
397 | |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
398 | #if 0 |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
399 | i = gtk_clist_find_row_from_data(GTK_CLIST(list), a); |
|
2628
c1f6b847bde8
[gaim-migrate @ 2641]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2627
diff
changeset
|
400 | gtk_clist_set_text(GTK_CLIST(list), i, 0, a->username); |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
401 | gtk_clist_set_text(GTK_CLIST(list), i, 2, |
| 4491 | 402 | (a->options & OPT_ACCT_AUTO) ? "True" : "False"); |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
403 | gtk_clist_set_text(GTK_CLIST(list), i, 3, proto_name(a->protocol)); |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
404 | #endif |
|
1355
8a38dd3c6ec6
[gaim-migrate @ 1365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1261
diff
changeset
|
405 | |
| 4491 | 406 | tmp = ma->opt_entries; |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
407 | while (tmp) { |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
408 | GtkEntry *entry = tmp->data; |
| 4635 | 409 | int pos = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(entry), "position")); |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
410 | g_snprintf(a->proto_opt[pos], sizeof(a->proto_opt[pos]), "%s", |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2364
diff
changeset
|
411 | gtk_entry_get_text(entry)); |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
412 | tmp = tmp->next; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
413 | } |
| 4491 | 414 | if (ma->opt_entries) |
| 415 | g_list_free(ma->opt_entries); | |
| 416 | ma->opt_entries = NULL; | |
|
1355
8a38dd3c6ec6
[gaim-migrate @ 1365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1261
diff
changeset
|
417 | |
| 4491 | 418 | g_snprintf(a->iconfile, sizeof(a->iconfile), "%s", ma->iconfile); |
| 419 | if (ma->icondlg) | |
| 420 | gtk_widget_destroy(ma->icondlg); | |
| 421 | ma->icondlg = NULL; | |
|
2411
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
422 | |
| 4634 | 423 | if(ma->account->gpi) |
| 424 | g_free(ma->account->gpi); | |
| 425 | ma->account->gpi = NULL; | |
| 426 | ||
| 4635 | 427 | proxytype = GPOINTER_TO_INT(g_object_get_data( |
| 428 | G_OBJECT(gtk_menu_get_active(GTK_MENU(ma->proxytype_menu))), | |
| 429 | "proxytype")); | |
| 4634 | 430 | |
| 431 | if(proxytype != PROXY_USE_GLOBAL) { | |
| 432 | struct gaim_proxy_info *gpi = g_new0(struct gaim_proxy_info, 1); | |
| 433 | gpi->proxytype = proxytype; | |
| 434 | g_snprintf(gpi->proxyhost, sizeof(gpi->proxyhost), "%s", gtk_entry_get_text(GTK_ENTRY(ma->proxyhost_entry))); | |
| 435 | gpi->proxyport = atoi(gtk_entry_get_text(GTK_ENTRY(ma->proxyport_entry))); | |
| 436 | g_snprintf(gpi->proxyuser, sizeof(gpi->proxyuser), "%s", gtk_entry_get_text(GTK_ENTRY(ma->proxyuser_entry))); | |
| 437 | g_snprintf(gpi->proxypass, sizeof(gpi->proxypass), "%s", gtk_entry_get_text(GTK_ENTRY(ma->proxypass_entry))); | |
| 438 | ||
| 439 | ma->account->gpi = gpi; | |
| 440 | } | |
| 441 | ||
| 2956 | 442 | /* |
| 443 | * See if user registration is supported/required | |
| 444 | */ | |
| 4491 | 445 | if((p = find_prpl(ma->protocol)) == NULL) { |
| 2956 | 446 | /* TBD: error dialog here! (This should never happen, you know...) */ |
| 4491 | 447 | fprintf(stderr, "dbg: couldn't find protocol for protocol number %d!\n", ma->protocol); |
| 2956 | 448 | fflush(stderr); |
| 449 | } else { | |
| 450 | if(p->register_user != NULL && | |
| 4491 | 451 | gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(ma->register_user)) == TRUE) { |
| 4040 | 452 | ref_protocol(p); |
| 2956 | 453 | p->register_user(a); |
| 4040 | 454 | /* we don't unref the protocol because register user has callbacks |
| 455 | * that need to get called first, then they will unref the protocol | |
| 456 | * appropriately */ | |
| 2956 | 457 | } |
| 458 | } | |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
459 | |
| 960 | 460 | save_prefs(); |
| 2956 | 461 | |
| 4491 | 462 | gtk_widget_destroy(ma->mod); |
| 960 | 463 | } |
| 464 | ||
| 4491 | 465 | static void cancel_mod(GtkWidget *w, struct mod_account *ma) |
| 960 | 466 | { |
| 4491 | 467 | if (ma->opt_entries) |
| 468 | g_list_free(ma->opt_entries); | |
| 469 | ma->opt_entries = NULL; | |
| 470 | if (ma->icondlg) | |
| 471 | gtk_widget_destroy(ma->icondlg); | |
| 472 | ma->icondlg = NULL; | |
| 473 | gtk_widget_destroy(ma->mod); | |
| 960 | 474 | } |
| 475 | ||
| 476 | static void set_prot(GtkWidget *opt, int proto) | |
| 477 | { | |
| 4635 | 478 | struct mod_account *ma = g_object_get_data(G_OBJECT(opt), "mod_account"); |
|
2100
58ebaa769cb2
[gaim-migrate @ 2110]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2086
diff
changeset
|
479 | struct prpl *p, *q; |
|
58ebaa769cb2
[gaim-migrate @ 2110]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2086
diff
changeset
|
480 | q = find_prpl(proto); |
| 4491 | 481 | if (ma->protocol != proto) { |
|
1086
30dae9f299ce
[gaim-migrate @ 1096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1075
diff
changeset
|
482 | int i; |
|
1878
ffbde9f31c65
[gaim-migrate @ 1888]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1817
diff
changeset
|
483 | for (i = 0; i < 7; i++) |
| 4491 | 484 | ma->proto_opt[i][0] = '\0'; |
| 485 | p = find_prpl(ma->protocol); | |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
486 | |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2364
diff
changeset
|
487 | if (!(p->options & OPT_PROTO_NO_PASSWORD) && (q->options & OPT_PROTO_NO_PASSWORD)) { |
| 4491 | 488 | gtk_widget_hide(ma->pwdbox); |
| 489 | gtk_widget_hide(ma->rempass); | |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2364
diff
changeset
|
490 | } else if ((p->options & OPT_PROTO_NO_PASSWORD) && !(q->options & OPT_PROTO_NO_PASSWORD)) { |
| 4491 | 491 | gtk_widget_show(ma->pwdbox); |
| 492 | gtk_widget_show(ma->rempass); | |
|
2100
58ebaa769cb2
[gaim-migrate @ 2110]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2086
diff
changeset
|
493 | } |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2364
diff
changeset
|
494 | if (!(p->options & OPT_PROTO_MAIL_CHECK) && (q->options & OPT_PROTO_MAIL_CHECK)) { |
| 4491 | 495 | gtk_widget_show(ma->checkmail); |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2364
diff
changeset
|
496 | } else if ((p->options & OPT_PROTO_MAIL_CHECK) && !(q->options & OPT_PROTO_MAIL_CHECK)) { |
| 4491 | 497 | gtk_widget_hide(ma->checkmail); |
|
2153
f38e418776a7
[gaim-migrate @ 2163]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2118
diff
changeset
|
498 | } |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
499 | |
|
2411
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
500 | if (!(p->options & OPT_PROTO_BUDDY_ICON) && (q->options & OPT_PROTO_BUDDY_ICON)) { |
| 4491 | 501 | gtk_widget_show(ma->iconsel); |
|
2411
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
502 | } else if ((p->options & OPT_PROTO_BUDDY_ICON) && !(q->options & OPT_PROTO_BUDDY_ICON)) { |
| 4491 | 503 | gtk_widget_hide(ma->iconsel); |
|
2411
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
504 | } |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
505 | |
|
2522
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
506 | if ((q->options & OPT_PROTO_BUDDY_ICON) || (q->options & OPT_PROTO_MAIL_CHECK)) |
| 4491 | 507 | gtk_widget_show(ma->user_frame); |
|
2522
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
508 | else |
| 4491 | 509 | gtk_widget_hide(ma->user_frame); |
|
2522
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
510 | |
| 4491 | 511 | ma->protocol = proto; |
| 512 | generate_protocol_options(ma, ma->main); | |
| 960 | 513 | } |
| 514 | } | |
| 515 | ||
| 4491 | 516 | static GtkWidget *make_protocol_menu(GtkWidget *box, struct mod_account *ma) |
| 960 | 517 | { |
| 518 | GtkWidget *optmenu; | |
| 519 | GtkWidget *menu; | |
| 520 | GtkWidget *opt; | |
|
981
00723c9a507c
[gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
980
diff
changeset
|
521 | GSList *p = protocols; |
|
00723c9a507c
[gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
980
diff
changeset
|
522 | struct prpl *e; |
|
1075
626b13be66c3
[gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1074
diff
changeset
|
523 | int count = 0; |
|
626b13be66c3
[gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1074
diff
changeset
|
524 | gboolean found = FALSE; |
| 960 | 525 | |
| 526 | optmenu = gtk_option_menu_new(); | |
| 527 | gtk_box_pack_start(GTK_BOX(box), optmenu, FALSE, FALSE, 5); | |
| 528 | gtk_widget_show(optmenu); | |
| 529 | ||
| 530 | menu = gtk_menu_new(); | |
| 531 | ||
|
981
00723c9a507c
[gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
980
diff
changeset
|
532 | while (p) { |
|
00723c9a507c
[gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
980
diff
changeset
|
533 | e = (struct prpl *)p->data; |
| 4491 | 534 | if (e->protocol == ma->protocol) |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
535 | found = TRUE; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
536 | if (!found) |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
537 | count++; |
|
981
00723c9a507c
[gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
980
diff
changeset
|
538 | if (e->name) |
| 3572 | 539 | opt = gtk_menu_item_new_with_label(e->name); |
|
981
00723c9a507c
[gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
980
diff
changeset
|
540 | else |
|
00723c9a507c
[gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
980
diff
changeset
|
541 | opt = gtk_menu_item_new_with_label("Unknown"); |
| 4635 | 542 | g_object_set_data(G_OBJECT(opt), "mod_account", ma); |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4114
diff
changeset
|
543 | g_signal_connect(GTK_OBJECT(opt), "activate", |
|
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4114
diff
changeset
|
544 | G_CALLBACK(set_prot), (void *)e->protocol); |
| 4635 | 545 | gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); |
|
981
00723c9a507c
[gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
980
diff
changeset
|
546 | gtk_widget_show(opt); |
|
00723c9a507c
[gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
980
diff
changeset
|
547 | p = p->next; |
|
00723c9a507c
[gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
980
diff
changeset
|
548 | } |
| 960 | 549 | |
| 550 | gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), menu); | |
|
1075
626b13be66c3
[gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1074
diff
changeset
|
551 | gtk_option_menu_set_history(GTK_OPTION_MENU(optmenu), count); |
| 960 | 552 | |
| 553 | return optmenu; | |
| 554 | } | |
| 555 | ||
| 4491 | 556 | static void des_icon_sel(GtkWidget *w, struct mod_account *ma) |
|
2411
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
557 | { |
| 4491 | 558 | w = ma->icondlg; |
| 559 | if (ma->icondlg) | |
| 560 | ma->icondlg = NULL; | |
|
2411
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
561 | if (w) |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
562 | gtk_widget_destroy(w); |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
563 | } |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
564 | |
| 4491 | 565 | static void set_icon(GtkWidget *w, struct mod_account *ma) |
|
2411
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
566 | { |
| 4491 | 567 | GtkWidget *sel = ma->icondlg; |
| 3466 | 568 | const char *file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(sel)); |
|
2411
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
569 | |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
570 | if (file_is_dir(file, sel)) |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
571 | return; |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
572 | |
| 4491 | 573 | gtk_entry_set_text(GTK_ENTRY(ma->iconentry), file); |
| 574 | g_snprintf(ma->iconfile, sizeof(ma->iconfile), "%s", file); | |
| 575 | ma->icondlg = NULL; | |
|
2411
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
576 | |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
577 | gtk_widget_destroy(sel); |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
578 | } |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
579 | |
| 4491 | 580 | static void sel_icon_dlg(GtkWidget *w, struct mod_account *ma) |
|
2411
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
581 | { |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
582 | GtkWidget *dlg; |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
583 | char buf[256]; |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
584 | |
| 4491 | 585 | if (ma->icondlg) { |
| 586 | gtk_widget_show(ma->icondlg); | |
|
2411
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
587 | return; |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
588 | } |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
589 | |
| 4703 | 590 | dlg = gtk_file_selection_new(_("Load Buddy Icon")); |
|
2411
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
591 | gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(dlg)); |
| 4491 | 592 | if (ma->iconfile) { |
|
4738
934125d7450e
[gaim-migrate @ 5053]
Mark Doliner <markdoliner@pidgin.im>
parents:
4703
diff
changeset
|
593 | char *tmp = g_path_get_dirname(ma->iconfile); |
|
934125d7450e
[gaim-migrate @ 5053]
Mark Doliner <markdoliner@pidgin.im>
parents:
4703
diff
changeset
|
594 | g_snprintf(buf, sizeof(buf), "%s" G_DIR_SEPARATOR_S, tmp); |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
595 | g_free(tmp); |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
596 | } else { |
| 3630 | 597 | g_snprintf(buf, sizeof(buf), "%s" G_DIR_SEPARATOR_S, gaim_home_dir()); |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
598 | } |
|
4738
934125d7450e
[gaim-migrate @ 5053]
Mark Doliner <markdoliner@pidgin.im>
parents:
4703
diff
changeset
|
599 | gtk_file_selection_set_filename(GTK_FILE_SELECTION(dlg), buf); |
|
2411
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
600 | |
| 4491 | 601 | g_signal_connect(GTK_OBJECT(dlg), "destroy", G_CALLBACK(des_icon_sel), ma); |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4114
diff
changeset
|
602 | g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(dlg)->cancel_button), "clicked", |
| 4491 | 603 | G_CALLBACK(des_icon_sel), ma); |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4114
diff
changeset
|
604 | g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(dlg)->ok_button), "clicked", |
| 4491 | 605 | G_CALLBACK(set_icon), ma); |
|
2411
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
606 | |
| 4491 | 607 | ma->icondlg = dlg; |
|
2411
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
608 | |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
609 | gtk_widget_show(dlg); |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
610 | } |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
611 | |
| 4491 | 612 | static void reset_icon(GtkWidget *w, struct mod_account *ma) |
|
2411
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
613 | { |
| 4491 | 614 | ma->iconfile[0] = 0; |
| 615 | gtk_entry_set_text(GTK_ENTRY(ma->iconentry), ""); | |
|
2411
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
616 | } |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
617 | |
| 4491 | 618 | static GtkWidget *build_icon_selection(struct mod_account *ma, GtkWidget *box) |
|
2411
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
619 | { |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
620 | GtkWidget *hbox; |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
621 | GtkWidget *label; |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
622 | GtkWidget *name; |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
623 | GtkWidget *browse; |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
624 | GtkWidget *reset; |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
625 | |
| 4491 | 626 | if (ma->account) |
| 627 | g_snprintf(ma->iconfile, sizeof(ma->iconfile), "%s", ma->account->iconfile); | |
|
2431
684fe3c3420d
[gaim-migrate @ 2444]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2411
diff
changeset
|
628 | |
|
2411
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
629 | hbox = gtk_hbox_new(FALSE, 0); |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
630 | gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 5); |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
631 | gtk_widget_show(hbox); |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
632 | |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
633 | label = gtk_label_new(_("Buddy Icon File:")); |
| 4491 | 634 | gtk_size_group_add_widget(ma->sg, label); |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
635 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
|
2411
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
636 | gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
637 | gtk_widget_show(label); |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
638 | |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
639 | name = gtk_entry_new(); |
| 4491 | 640 | gtk_entry_set_text(GTK_ENTRY(name), ma->iconfile); |
| 4635 | 641 | gtk_editable_set_editable(GTK_EDITABLE(name), FALSE); |
|
2411
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
642 | gtk_box_pack_start(GTK_BOX(hbox), name, TRUE, TRUE, 5); |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
643 | gtk_widget_show(name); |
| 4491 | 644 | ma->iconentry = name; |
|
2411
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
645 | |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
646 | browse = gtk_button_new_with_label(_("Browse")); |
| 4491 | 647 | g_signal_connect(GTK_OBJECT(browse), "clicked", G_CALLBACK(sel_icon_dlg), ma); |
|
2411
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
648 | gtk_box_pack_start(GTK_BOX(hbox), browse, FALSE, FALSE, 0); |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
649 | gtk_widget_show(browse); |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
650 | |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
651 | reset = gtk_button_new_with_label(_("Reset")); |
| 4491 | 652 | g_signal_connect(GTK_OBJECT(reset), "clicked", G_CALLBACK(reset_icon), ma); |
|
2411
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
653 | gtk_box_pack_start(GTK_BOX(hbox), reset, FALSE, FALSE, 0); |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
654 | gtk_widget_show(reset); |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
655 | |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
656 | return hbox; |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
657 | } |
|
c7c22b2cce4b
[gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2403
diff
changeset
|
658 | |
| 4491 | 659 | static void generate_login_options(struct mod_account *ma, GtkWidget *box) |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
660 | { |
|
3756
fd68683a6c26
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
661 | GtkWidget *frame, *frame_parent; |
| 960 | 662 | GtkWidget *vbox; |
| 663 | GtkWidget *hbox; | |
| 664 | GtkWidget *label; | |
|
2522
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
665 | |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
666 | struct prpl *p; |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
667 | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
668 | frame = make_frame(box, _("Login Options")); |
|
3756
fd68683a6c26
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
669 | frame_parent = gtk_widget_get_parent(gtk_widget_get_parent(frame)); |
|
1075
626b13be66c3
[gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1074
diff
changeset
|
670 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
671 | vbox = gtk_vbox_new(FALSE, 5); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
672 | gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
|
2522
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
673 | gtk_container_add(GTK_CONTAINER(frame), vbox); |
| 960 | 674 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
675 | hbox = gtk_hbox_new(FALSE, 5); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
676 | gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
|
1075
626b13be66c3
[gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1074
diff
changeset
|
677 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
678 | label = gtk_label_new(_("Screenname:")); |
| 4491 | 679 | gtk_size_group_add_widget(ma->sg, label); |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
680 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
681 | gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 960 | 682 | |
| 4491 | 683 | ma->name = gtk_entry_new(); |
| 684 | gtk_box_pack_start(GTK_BOX(hbox), ma->name, TRUE, TRUE, 0); | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
685 | |
| 4491 | 686 | ma->pwdbox = gtk_hbox_new(FALSE, 5); |
| 687 | gtk_box_pack_start(GTK_BOX(vbox), ma->pwdbox, FALSE, FALSE, 0); | |
| 960 | 688 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
689 | label = gtk_label_new(_("Password:")); |
| 4491 | 690 | gtk_size_group_add_widget(ma->sg, label); |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
691 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
| 4491 | 692 | gtk_box_pack_start(GTK_BOX(ma->pwdbox), label, FALSE, FALSE, 0); |
| 960 | 693 | |
| 4491 | 694 | ma->pass = gtk_entry_new(); |
| 695 | gtk_box_pack_start(GTK_BOX(ma->pwdbox), ma->pass, TRUE, TRUE, 0); | |
| 696 | gtk_entry_set_visibility(GTK_ENTRY(ma->pass), FALSE); | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
697 | |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
698 | hbox = gtk_hbox_new(FALSE, 5); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
699 | gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 3205 | 700 | |
| 701 | label = gtk_label_new(_("Alias:")); | |
| 4491 | 702 | gtk_size_group_add_widget(ma->sg, label); |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
703 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
| 3205 | 704 | gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 705 | ||
| 4491 | 706 | ma->alias = gtk_entry_new(); |
| 707 | gtk_box_pack_start(GTK_BOX(hbox), ma->alias, TRUE, TRUE, 0); | |
| 3205 | 708 | |
| 709 | hbox = gtk_hbox_new(FALSE, 5); | |
| 710 | gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 960 | 711 | gtk_widget_show(hbox); |
| 712 | ||
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
713 | label = gtk_label_new(_("Protocol:")); |
| 4491 | 714 | gtk_size_group_add_widget(ma->sg, label); |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
715 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
716 | gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 960 | 717 | |
| 4491 | 718 | make_protocol_menu(hbox, ma); |
| 960 | 719 | |
| 4491 | 720 | ma->rempass = acct_button(_("Remember Password"), ma, OPT_ACCT_REM_PASS, vbox); |
| 721 | acct_button(_("Auto-Login"), ma, OPT_ACCT_AUTO, vbox); | |
| 960 | 722 | |
|
3756
fd68683a6c26
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
723 | gtk_widget_show_all(frame_parent); |
|
2100
58ebaa769cb2
[gaim-migrate @ 2110]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2086
diff
changeset
|
724 | |
| 4491 | 725 | if (ma->account) { |
| 726 | gtk_entry_set_text(GTK_ENTRY(ma->name), ma->account->username); | |
| 727 | gtk_entry_set_text(GTK_ENTRY(ma->alias), ma->account->alias); | |
| 728 | gtk_entry_set_text(GTK_ENTRY(ma->pass), ma->account->password); | |
|
2522
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
729 | } |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
730 | |
| 4491 | 731 | p = find_prpl(ma->protocol); |
|
2522
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
732 | if (p && (p->options & OPT_PROTO_NO_PASSWORD)) { |
| 4491 | 733 | gtk_widget_hide(ma->pwdbox); |
| 734 | gtk_widget_hide(ma->rempass); | |
|
2444
353facc59100
[gaim-migrate @ 2457]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2442
diff
changeset
|
735 | } |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
736 | } |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
737 | |
| 4491 | 738 | static void generate_user_options(struct mod_account *ma, GtkWidget *box) |
|
2522
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
739 | { |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
740 | /* This function will add the appropriate (depending on the current |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
741 | * protocol) widgets to frame and return TRUE if there anything |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
742 | * was added (meaning the frame should be shown) |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
743 | * Eric will most likely change this (as he does all other submitted code) |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
744 | * so that it will accept the vbox as an argument and create, add, and show |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
745 | * the frame itself (like generate_protocol_options). I'd do it myself, but I'm |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
746 | * tired and I don't care. */ |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
747 | /* Sean was right. I did do that. I told him I would. */ |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
748 | |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
749 | GtkWidget *vbox; |
|
3756
fd68683a6c26
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
750 | GtkWidget *frame; |
|
2522
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
751 | |
| 4491 | 752 | struct prpl *p = find_prpl(ma->protocol); |
|
2522
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
753 | |
|
3756
fd68683a6c26
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
754 | frame = make_frame(box, _("User Options")); |
| 4491 | 755 | ma->user_frame = gtk_widget_get_parent(gtk_widget_get_parent(frame)); |
| 756 | gtk_widget_show_all(ma->user_frame); | |
|
2522
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
757 | |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
758 | vbox = gtk_vbox_new(FALSE, 5); |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
759 | gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
|
3756
fd68683a6c26
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
760 | gtk_container_add(GTK_CONTAINER(frame), vbox); |
|
2522
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
761 | gtk_widget_show(vbox); |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
762 | |
| 4491 | 763 | ma->checkmail = acct_button(_("New Mail Notifications"), ma, OPT_ACCT_MAIL_CHECK, vbox); |
| 764 | ma->iconsel = build_icon_selection(ma, vbox); | |
|
2522
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
765 | |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
766 | if (!p) { |
| 4491 | 767 | gtk_widget_hide(ma->user_frame); |
|
2522
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
768 | return; |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
769 | } |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
770 | |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
771 | if (!(p->options & OPT_PROTO_MAIL_CHECK)) |
| 4491 | 772 | gtk_widget_hide(ma->checkmail); |
|
2522
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
773 | if (!(p->options & OPT_PROTO_BUDDY_ICON)) |
| 4491 | 774 | gtk_widget_hide(ma->iconsel); |
|
2525
457df890d685
[gaim-migrate @ 2538]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2522
diff
changeset
|
775 | |
|
457df890d685
[gaim-migrate @ 2538]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2522
diff
changeset
|
776 | if ((p->options & OPT_PROTO_BUDDY_ICON) || (p->options & OPT_PROTO_MAIL_CHECK)) |
|
457df890d685
[gaim-migrate @ 2538]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2522
diff
changeset
|
777 | return; |
| 4491 | 778 | gtk_widget_hide(ma->user_frame); |
|
2522
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
779 | } |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
780 | |
| 4491 | 781 | static void generate_protocol_options(struct mod_account *ma, GtkWidget *box) |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
782 | { |
| 4491 | 783 | struct prpl *p = find_prpl(ma->protocol); |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
784 | |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
785 | GList *op, *tmp; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
786 | |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
787 | GtkWidget *vbox; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
788 | GtkWidget *hbox; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
789 | GtkWidget *label; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
790 | GtkWidget *entry; |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
791 | GtkWidget *frame; |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
792 | |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
793 | char buf[256]; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
794 | |
| 4491 | 795 | if (ma->proto_frame) |
| 796 | gtk_widget_destroy(ma->proto_frame); | |
| 797 | ma->proto_frame = NULL; | |
|
2203
986e708a48ae
[gaim-migrate @ 2213]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2200
diff
changeset
|
798 | |
| 4491 | 799 | if (ma->opt_entries) { |
| 800 | g_list_free(ma->opt_entries); | |
| 801 | ma->opt_entries = NULL; | |
|
2190
9063605becb9
[gaim-migrate @ 2200]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2165
diff
changeset
|
802 | } |
|
9063605becb9
[gaim-migrate @ 2200]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2165
diff
changeset
|
803 | |
|
2522
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
804 | if (!p) |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
805 | return; |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
806 | |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
807 | if (!p->user_opts) |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
808 | return; |
|
2154
7d4835b44b85
[gaim-migrate @ 2164]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2153
diff
changeset
|
809 | |
| 3572 | 810 | tmp = op = p->user_opts; |
|
2154
7d4835b44b85
[gaim-migrate @ 2164]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2153
diff
changeset
|
811 | |
|
2522
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
812 | if (!op) |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
813 | return; |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
814 | |
| 4169 | 815 | g_snprintf(buf, sizeof(buf), _("%s Options"), p->name); |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
816 | frame = make_frame(box, buf); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
817 | |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
818 | /* BLEH */ |
| 4491 | 819 | ma->proto_frame = gtk_widget_get_parent(gtk_widget_get_parent(frame)); |
| 820 | gtk_widget_show_all(ma->proto_frame); | |
|
2522
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
821 | |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
822 | vbox = gtk_vbox_new(FALSE, 5); |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
823 | gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
824 | gtk_container_add(GTK_CONTAINER(frame), vbox); |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
825 | gtk_widget_show(vbox); |
|
2154
7d4835b44b85
[gaim-migrate @ 2164]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2153
diff
changeset
|
826 | |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
827 | while (op) { |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
828 | struct proto_user_opt *puo = op->data; |
|
2154
7d4835b44b85
[gaim-migrate @ 2164]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2153
diff
changeset
|
829 | |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
830 | hbox = gtk_hbox_new(FALSE, 5); |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
831 | gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
832 | gtk_widget_show(hbox); |
|
2154
7d4835b44b85
[gaim-migrate @ 2164]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2153
diff
changeset
|
833 | |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
834 | label = gtk_label_new(puo->label); |
| 4491 | 835 | gtk_size_group_add_widget(ma->sg, label); |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
836 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
837 | gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
838 | gtk_widget_show(label); |
|
2154
7d4835b44b85
[gaim-migrate @ 2164]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2153
diff
changeset
|
839 | |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
840 | entry = gtk_entry_new(); |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
841 | gtk_box_pack_end(GTK_BOX(hbox), entry, FALSE, FALSE, 0); |
| 4635 | 842 | g_object_set_data(G_OBJECT(entry), "position", GINT_TO_POINTER(puo->pos)); |
| 4491 | 843 | if (ma->proto_opt[puo->pos][0]) { |
| 844 | debug_printf("setting text %s\n", ma->proto_opt[puo->pos]); | |
| 845 | gtk_entry_set_text(GTK_ENTRY(entry), ma->proto_opt[puo->pos]); | |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
846 | } else { |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
847 | gtk_entry_set_text(GTK_ENTRY(entry), puo->def); |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
848 | } |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
849 | gtk_widget_show(entry); |
|
2154
7d4835b44b85
[gaim-migrate @ 2164]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2153
diff
changeset
|
850 | |
| 4491 | 851 | ma->opt_entries = g_list_append(ma->opt_entries, entry); |
| 852 | ||
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
853 | op = op->next; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
854 | } |
| 2956 | 855 | |
| 856 | if(p->register_user != NULL) { | |
| 4491 | 857 | ma->register_user = gtk_check_button_new_with_label(_("Register with server")); |
| 4635 | 858 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(ma->register_user), FALSE); |
| 4491 | 859 | gtk_box_pack_start(GTK_BOX(vbox), ma->register_user, FALSE, FALSE, 0); |
| 860 | gtk_widget_show(ma->register_user); | |
| 2956 | 861 | } |
| 862 | ||
|
1075
626b13be66c3
[gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1074
diff
changeset
|
863 | } |
|
626b13be66c3
[gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1074
diff
changeset
|
864 | |
| 4635 | 865 | static void proxy_dropdown_set(GObject *w, struct mod_account *ma) { |
| 866 | int opt = GPOINTER_TO_INT(g_object_get_data(w, "proxytype")); | |
| 4634 | 867 | gtk_widget_set_sensitive(ma->proxy_host_box, (opt != PROXY_NONE && opt != PROXY_USE_GLOBAL)); |
| 868 | } | |
| 869 | ||
| 870 | static void generate_proxy_options(struct mod_account *ma, GtkWidget *box) { | |
| 871 | GtkWidget *frame; | |
| 872 | GtkWidget *hbox; | |
| 873 | GtkWidget *vbox; | |
| 874 | GtkWidget *label; | |
| 875 | GtkWidget *menu; | |
| 876 | GtkWidget *dropdown; | |
| 877 | GtkWidget *opt; | |
| 878 | GtkWidget *entry; | |
| 879 | GtkWidget *vbox2; | |
| 880 | ||
| 881 | struct gaim_proxy_info *gpi = NULL; | |
| 882 | ||
| 883 | if(ma->account) | |
| 884 | gpi = ma->account->gpi; | |
| 885 | ||
| 886 | frame = make_frame(box, _("Proxy Options")); | |
| 887 | ma->proxy_frame = gtk_widget_get_parent(gtk_widget_get_parent(frame)); | |
| 888 | gtk_widget_show_all(ma->proxy_frame); | |
| 889 | ||
| 890 | vbox = gtk_vbox_new(FALSE, 5); | |
| 891 | gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); | |
| 892 | gtk_container_add(GTK_CONTAINER(frame), vbox); | |
| 893 | gtk_widget_show(vbox); | |
| 894 | ||
| 895 | /* make the dropdown w/o the benefit of the easy helper funcs in prefs.c */ | |
| 896 | hbox = gtk_hbox_new(FALSE, 5); | |
| 897 | gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 898 | gtk_widget_show(hbox); | |
| 899 | ||
| 900 | label = gtk_label_new_with_mnemonic(_("Proxy _Type")); | |
| 901 | gtk_size_group_add_widget(ma->sg, label); | |
| 902 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
| 903 | gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 904 | gtk_widget_show(label); | |
| 905 | ||
| 906 | dropdown = gtk_option_menu_new(); | |
| 907 | menu = gtk_menu_new(); | |
| 908 | ||
| 4834 | 909 | opt = gtk_menu_item_new_with_label(_("Use Global Proxy Settings")); |
| 4635 | 910 | g_object_set_data(G_OBJECT(opt), "proxytype", GINT_TO_POINTER(PROXY_USE_GLOBAL)); |
| 4634 | 911 | g_signal_connect(G_OBJECT(opt), "activate", |
| 912 | G_CALLBACK(proxy_dropdown_set), ma); | |
| 913 | gtk_widget_show(opt); | |
| 914 | gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); | |
| 915 | if(!gpi) | |
| 916 | gtk_menu_set_active(GTK_MENU(menu), 0); | |
| 917 | ||
| 4834 | 918 | opt = gtk_menu_item_new_with_label(_("No Proxy")); |
| 4635 | 919 | g_object_set_data(G_OBJECT(opt), "proxytype", GINT_TO_POINTER(PROXY_NONE)); |
| 4634 | 920 | g_signal_connect(G_OBJECT(opt), "activate", |
| 921 | G_CALLBACK(proxy_dropdown_set), ma); | |
| 922 | gtk_widget_show(opt); | |
| 923 | gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); | |
| 924 | if(gpi && gpi->proxytype == PROXY_NONE) | |
| 925 | gtk_menu_set_active(GTK_MENU(menu), 1); | |
| 926 | ||
| 927 | opt = gtk_menu_item_new_with_label("SOCKS 4"); | |
| 4635 | 928 | g_object_set_data(G_OBJECT(opt), "proxytype", GINT_TO_POINTER(PROXY_SOCKS4)); |
| 4634 | 929 | g_signal_connect(G_OBJECT(opt), "activate", |
| 930 | G_CALLBACK(proxy_dropdown_set), ma); | |
| 931 | gtk_widget_show(opt); | |
| 932 | gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); | |
| 933 | if(gpi && gpi->proxytype == PROXY_SOCKS4) | |
| 934 | gtk_menu_set_active(GTK_MENU(menu), 2); | |
| 935 | ||
| 936 | opt = gtk_menu_item_new_with_label("SOCKS 5"); | |
| 4635 | 937 | g_object_set_data(G_OBJECT(opt), "proxytype", GINT_TO_POINTER(PROXY_SOCKS5)); |
| 4634 | 938 | g_signal_connect(G_OBJECT(opt), "activate", |
| 939 | G_CALLBACK(proxy_dropdown_set), ma); | |
| 940 | gtk_widget_show(opt); | |
| 941 | gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); | |
| 942 | if(gpi && gpi->proxytype == PROXY_SOCKS5) | |
| 943 | gtk_menu_set_active(GTK_MENU(menu), 3); | |
| 944 | ||
| 945 | opt = gtk_menu_item_new_with_label("HTTP"); | |
| 4635 | 946 | g_object_set_data(G_OBJECT(opt), "proxytype", GINT_TO_POINTER(PROXY_HTTP)); |
| 4634 | 947 | g_signal_connect(G_OBJECT(opt), "activate", |
| 948 | G_CALLBACK(proxy_dropdown_set), ma); | |
| 949 | gtk_widget_show(opt); | |
| 950 | gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); | |
| 951 | if(gpi && gpi->proxytype == PROXY_HTTP) | |
| 952 | gtk_menu_set_active(GTK_MENU(menu), 4); | |
| 953 | ||
| 954 | gtk_option_menu_set_menu(GTK_OPTION_MENU(dropdown), menu); | |
| 955 | gtk_box_pack_start(GTK_BOX(hbox), dropdown, FALSE, FALSE, 0); | |
| 956 | gtk_widget_show(dropdown); | |
| 957 | ||
| 958 | ma->proxytype_menu = menu; | |
| 959 | ||
| 960 | ||
| 961 | vbox2 = gtk_vbox_new(FALSE, 5); | |
| 962 | gtk_container_add(GTK_CONTAINER(vbox), vbox2); | |
| 963 | gtk_widget_show(vbox2); | |
| 964 | ma->proxy_host_box = vbox2; | |
| 965 | ||
| 966 | hbox = gtk_hbox_new(FALSE, 5); | |
| 967 | gtk_box_pack_start(GTK_BOX(vbox2), hbox, FALSE, FALSE, 0); | |
| 968 | gtk_widget_show(hbox); | |
| 969 | ||
| 970 | label = gtk_label_new_with_mnemonic(_("_Host:")); | |
| 971 | gtk_size_group_add_widget(ma->sg, label); | |
| 972 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
| 973 | gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 974 | gtk_widget_show(label); | |
| 975 | entry = gtk_entry_new(); | |
| 976 | gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry); | |
| 977 | gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, FALSE, 0); | |
| 978 | gtk_entry_set_text(GTK_ENTRY(entry), gpi ? gpi->proxyhost : ""); | |
| 979 | gtk_widget_show(entry); | |
| 980 | ma->proxyhost_entry = entry; | |
| 981 | ||
| 982 | hbox = gtk_hbox_new(FALSE, 5); | |
| 983 | gtk_box_pack_start(GTK_BOX(vbox2), hbox, FALSE, FALSE, 0); | |
| 984 | gtk_widget_show(hbox); | |
| 985 | ||
| 986 | label = gtk_label_new_with_mnemonic(_("Port:")); | |
| 987 | gtk_size_group_add_widget(ma->sg, label); | |
| 988 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
| 989 | gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 990 | gtk_widget_show(label); | |
| 991 | entry = gtk_entry_new(); | |
| 992 | gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry); | |
| 993 | gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, FALSE, 0); | |
| 994 | if(gpi && gpi->proxyport) { | |
| 995 | char buf[128]; | |
| 996 | g_snprintf(buf, sizeof(buf), "%d", gpi->proxyport); | |
| 997 | gtk_entry_set_text(GTK_ENTRY(entry), buf); | |
| 998 | } | |
| 999 | gtk_widget_show(entry); | |
| 1000 | ma->proxyport_entry = entry; | |
| 1001 | ||
| 1002 | hbox = gtk_hbox_new(FALSE, 5); | |
| 1003 | gtk_box_pack_start(GTK_BOX(vbox2), hbox, FALSE, FALSE, 0); | |
| 1004 | gtk_widget_show(hbox); | |
| 1005 | ||
| 1006 | label = gtk_label_new_with_mnemonic(_("_User:")); | |
| 1007 | gtk_size_group_add_widget(ma->sg, label); | |
| 1008 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
| 1009 | gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 1010 | gtk_widget_show(label); | |
| 1011 | entry = gtk_entry_new(); | |
| 1012 | gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry); | |
| 1013 | gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, FALSE, 0); | |
| 1014 | gtk_entry_set_text(GTK_ENTRY(entry), gpi ? gpi->proxyuser : ""); | |
| 1015 | gtk_widget_show(entry); | |
| 1016 | ma->proxyuser_entry = entry; | |
| 1017 | ||
| 1018 | hbox = gtk_hbox_new(FALSE, 5); | |
| 1019 | gtk_box_pack_start(GTK_BOX(vbox2), hbox, FALSE, FALSE, 0); | |
| 1020 | gtk_widget_show(hbox); | |
| 1021 | ||
| 1022 | label = gtk_label_new_with_mnemonic(_("Pa_ssword:")); | |
| 1023 | gtk_size_group_add_widget(ma->sg, label); | |
| 1024 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
| 1025 | gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 1026 | gtk_widget_show(label); | |
| 1027 | entry = gtk_entry_new(); | |
| 1028 | gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry); | |
| 1029 | gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, FALSE, 0); | |
| 1030 | gtk_entry_set_text(GTK_ENTRY(entry), gpi ? gpi->proxypass : ""); | |
| 1031 | gtk_widget_show(entry); | |
| 1032 | ma->proxypass_entry = entry; | |
| 1033 | ||
| 1034 | gtk_widget_set_sensitive(vbox2, !(gpi == NULL || gpi->proxytype == PROXY_NONE)); | |
| 1035 | } | |
| 1036 | ||
| 4491 | 1037 | static void show_acct_mod(struct gaim_account *a) |
|
1075
626b13be66c3
[gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1074
diff
changeset
|
1038 | { |
|
2522
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
1039 | /* This is the fucking modify account dialog. I've fucking seperated it into |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
1040 | * three fucking frames: |
|
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
1041 | * a fucking Login Options frame, a fucking User Options frame and a fucking |
| 4491 | 1042 | * Protcol Options frame. This fucking removes the two fucking tabs, which |
| 1043 | * were quite fucking uneccessary. Fuck. */ | |
|
2522
aece301cf46e
[gaim-migrate @ 2535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2458
diff
changeset
|
1044 | /* -- SeanEgan */ |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1045 | /* YEAH!! -- ChipX86 */ |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1046 | GtkWidget *hbox, *vbox; |
|
1075
626b13be66c3
[gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1074
diff
changeset
|
1047 | GtkWidget *button; |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1048 | GtkWidget *sep; |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1049 | GtkSizeGroup *button_sg; |
|
1075
626b13be66c3
[gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1074
diff
changeset
|
1050 | |
| 4491 | 1051 | struct mod_account *ma = mod_account_find(a); |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1052 | |
| 4491 | 1053 | if (!ma) { |
| 1054 | ma = g_new0(struct mod_account, 1); | |
| 1055 | ma->account = a; | |
| 1056 | mod_accounts = g_slist_append(mod_accounts, ma); | |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1057 | |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1058 | if (a) { |
|
2458
d7fea69e2ab4
[gaim-migrate @ 2471]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2445
diff
changeset
|
1059 | int i; |
| 4491 | 1060 | ma->options = a->options; |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1061 | if (find_prpl(a->protocol)) |
| 4491 | 1062 | ma->protocol = a->protocol; |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1063 | else if (protocols) |
| 4491 | 1064 | ma->protocol = ((struct prpl *)protocols->data)->protocol; |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1065 | else |
| 4491 | 1066 | ma->protocol = -1; |
| 1067 | g_snprintf(ma->iconfile, sizeof(ma->iconfile), "%s", a->iconfile); | |
|
2458
d7fea69e2ab4
[gaim-migrate @ 2471]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2445
diff
changeset
|
1068 | for (i = 0; i < 7; i++) |
| 4491 | 1069 | g_snprintf(ma->proto_opt[i], sizeof(ma->proto_opt[i]), "%s", |
|
2458
d7fea69e2ab4
[gaim-migrate @ 2471]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2445
diff
changeset
|
1070 | a->proto_opt[i]); |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1071 | } else { |
| 4491 | 1072 | ma->options = OPT_ACCT_REM_PASS; |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1073 | if (find_prpl(DEFAULT_PROTO)) |
| 4491 | 1074 | ma->protocol = DEFAULT_PROTO; |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1075 | else if (protocols) |
| 4491 | 1076 | ma->protocol = ((struct prpl *)protocols->data)->protocol; |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1077 | else |
| 4491 | 1078 | ma->protocol = -1; |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1079 | } |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1080 | } else { |
| 4491 | 1081 | gtk_widget_show(ma->mod); |
|
1075
626b13be66c3
[gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1074
diff
changeset
|
1082 | return; |
|
626b13be66c3
[gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1074
diff
changeset
|
1083 | } |
|
626b13be66c3
[gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1074
diff
changeset
|
1084 | |
| 4491 | 1085 | ma->mod = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
| 1086 | gtk_window_set_role(GTK_WINDOW(ma->mod), "account"); | |
| 1087 | gtk_widget_realize(ma->mod); | |
| 4703 | 1088 | gtk_window_set_title(GTK_WINDOW(ma->mod), _("Modify Account")); |
| 4635 | 1089 | gtk_window_set_resizable(GTK_WINDOW(ma->mod), FALSE); /* nothing odd here :) */ |
| 4491 | 1090 | g_signal_connect(GTK_OBJECT(ma->mod), "destroy", G_CALLBACK(delmod), ma); |
|
1075
626b13be66c3
[gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1074
diff
changeset
|
1091 | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1092 | vbox = gtk_vbox_new(FALSE, 6); |
| 4635 | 1093 | gtk_container_set_border_width(GTK_CONTAINER(vbox), 6); |
| 4491 | 1094 | gtk_container_add(GTK_CONTAINER(ma->mod), vbox); |
|
3756
fd68683a6c26
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
1095 | gtk_widget_show(vbox); |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1096 | |
| 4491 | 1097 | ma->main = gtk_vbox_new(FALSE, 12); |
| 4635 | 1098 | gtk_container_set_border_width(GTK_CONTAINER(ma->main), 6); |
| 4491 | 1099 | gtk_box_pack_start(GTK_BOX(vbox), ma->main, FALSE, FALSE, 0); |
| 1100 | gtk_widget_show(ma->main); | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1101 | |
| 4491 | 1102 | ma->sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
1103 | |
| 4491 | 1104 | generate_login_options(ma, ma->main); |
| 1105 | generate_user_options(ma, ma->main); | |
| 1106 | generate_protocol_options(ma, ma->main); | |
| 4634 | 1107 | generate_proxy_options(ma, ma->main); |
|
1075
626b13be66c3
[gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1074
diff
changeset
|
1108 | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1109 | hbox = gtk_hbox_new(FALSE, 6); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1110 | gtk_container_set_border_width (GTK_CONTAINER (hbox), 6); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1111 | gtk_box_pack_end(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 960 | 1112 | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1113 | button_sg = gtk_size_group_new(GTK_SIZE_GROUP_BOTH); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1114 | |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1115 | button = gtk_button_new_from_stock(GTK_STOCK_OK); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1116 | gtk_size_group_add_widget(button_sg, button); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1117 | gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
| 4491 | 1118 | g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(ok_mod), ma); |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1119 | |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1120 | button = gtk_button_new_from_stock(GTK_STOCK_CANCEL); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1121 | gtk_size_group_add_widget(button_sg, button); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
1122 | gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
| 4491 | 1123 | g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(cancel_mod), ma); |
| 960 | 1124 | |
|
3756
fd68683a6c26
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
1125 | sep = gtk_hseparator_new(); |
|
fd68683a6c26
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
1126 | gtk_box_pack_end (GTK_BOX (vbox), sep, FALSE, FALSE, 0); |
|
fd68683a6c26
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
1127 | gtk_widget_show(sep); |
|
fd68683a6c26
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
1128 | |
|
fd68683a6c26
[gaim-migrate @ 3895]
Christian Hammond <chipx86@chipx86.com>
parents:
3755
diff
changeset
|
1129 | gtk_widget_show_all(hbox); |
| 4491 | 1130 | gtk_widget_show(ma->mod); |
| 960 | 1131 | } |
| 1132 | ||
| 1133 | static void add_acct(GtkWidget *w, gpointer d) | |
| 1134 | { | |
| 1135 | show_acct_mod(NULL); | |
| 1136 | } | |
| 1137 | ||
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1138 | static void mod_acct_func(GtkTreeModel *model, GtkTreePath *path, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1139 | GtkTreeIter *iter, gpointer data) |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1140 | { |
| 4491 | 1141 | struct gaim_account *a; |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1142 | |
| 4491 | 1143 | gtk_tree_model_get(model, iter, COLUMN_DATA, &a, -1); |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1144 | |
| 4491 | 1145 | if (a != NULL) |
| 1146 | show_acct_mod(a); | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1147 | } |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1148 | |
| 960 | 1149 | static void mod_acct(GtkWidget *w, gpointer d) |
| 1150 | { | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1151 | GtkTreeSelection *selection; |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1152 | |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1153 | selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1154 | |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1155 | gtk_tree_selection_selected_foreach(selection, mod_acct_func, NULL); |
| 960 | 1156 | } |
| 1157 | ||
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1158 | struct pass_prompt { |
| 4491 | 1159 | struct gaim_account *account; |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1160 | GtkWidget *win; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1161 | GtkWidget *entry; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1162 | }; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1163 | static GSList *passes = NULL; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1164 | |
| 4491 | 1165 | static struct pass_prompt *find_pass_prompt(struct gaim_account *account) |
| 960 | 1166 | { |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1167 | GSList *p = passes; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1168 | while (p) { |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1169 | struct pass_prompt *r = p->data; |
| 4491 | 1170 | if (r->account == account) |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1171 | return r; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1172 | p = p->next; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1173 | } |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1174 | return NULL; |
| 960 | 1175 | } |
| 1176 | ||
| 4483 | 1177 | static void pass_callback(GtkDialog *d, gint resp, struct pass_prompt *p) |
| 960 | 1178 | { |
| 4483 | 1179 | if (resp == GTK_RESPONSE_YES) { |
| 1180 | const char *txt = gtk_entry_get_text(GTK_ENTRY(p->entry)); | |
| 4491 | 1181 | g_snprintf(p->account->password, sizeof(p->account->password), "%s", txt); |
| 1182 | serv_login(p->account); | |
| 4483 | 1183 | } |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1184 | passes = g_slist_remove(passes, p); |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1185 | gtk_widget_destroy(p->win); |
| 4483 | 1186 | g_free(p); |
| 960 | 1187 | } |
| 1188 | ||
| 4491 | 1189 | static void do_pass_dlg(struct gaim_account *account) |
| 960 | 1190 | { |
| 1191 | /* we can safely assume that u is not NULL */ | |
| 4491 | 1192 | struct pass_prompt *p = find_pass_prompt(account); |
| 960 | 1193 | GtkWidget *label; |
| 4483 | 1194 | GtkWidget *hbox, *vbox; |
| 1195 | char *labeltext=NULL; | |
| 4491 | 1196 | char *filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_auth.png", NULL); |
| 4483 | 1197 | GtkWidget *img = gtk_image_new_from_file(filename); |
| 1198 | g_free(filename); | |
| 4491 | 1199 | |
| 960 | 1200 | |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1201 | if (p) { |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1202 | gtk_widget_show(p->win); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
1203 | return; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
1204 | } |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1205 | |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1206 | p = g_new0(struct pass_prompt, 1); |
| 4491 | 1207 | p->account = account; |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1208 | passes = g_slist_append(passes, p); |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1209 | |
|
4778
9023518bb545
[gaim-migrate @ 5098]
Mark Doliner <markdoliner@pidgin.im>
parents:
4772
diff
changeset
|
1210 | p->win = gtk_dialog_new_with_buttons("", NULL, 0, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, |
| 4483 | 1211 | _("_Login"), GTK_RESPONSE_YES, NULL); |
| 1212 | ||
| 1213 | gtk_dialog_set_default_response (GTK_DIALOG(p->win), GTK_RESPONSE_YES); | |
| 1214 | g_signal_connect(G_OBJECT(p->win), "response", G_CALLBACK(pass_callback), p); | |
| 960 | 1215 | |
| 4483 | 1216 | gtk_container_set_border_width (GTK_CONTAINER(p->win), 6); |
| 1217 | gtk_window_set_resizable(GTK_WINDOW(p->win), FALSE); | |
| 1218 | gtk_dialog_set_has_separator(GTK_DIALOG(p->win), FALSE); | |
| 1219 | gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(p->win)->vbox), 12); | |
| 1220 | gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(p->win)->vbox), 6); | |
| 1221 | ||
| 1222 | hbox = gtk_hbox_new(FALSE, 12); | |
| 1223 | gtk_container_add(GTK_CONTAINER(GTK_DIALOG(p->win)->vbox), hbox); | |
| 1224 | gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
| 960 | 1225 | |
| 4483 | 1226 | vbox = gtk_vbox_new(FALSE, 0); |
| 1227 | gtk_container_add(GTK_CONTAINER(hbox), vbox); | |
| 960 | 1228 | |
| 4491 | 1229 | labeltext = g_strdup_printf(_("Please enter your password for %s.\n\n"), |
| 1230 | account->username); | |
| 4483 | 1231 | label = gtk_label_new(labeltext); |
| 1232 | g_free(labeltext); | |
| 1233 | ||
| 1234 | gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | |
| 1235 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 1236 | gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); | |
| 4491 | 1237 | |
| 960 | 1238 | hbox = gtk_hbox_new(FALSE, 5); |
| 4483 | 1239 | gtk_container_add(GTK_CONTAINER(vbox), hbox); |
| 1240 | label = gtk_label_new_with_mnemonic(_("_Password")); | |
| 1241 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 960 | 1242 | gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); |
| 1243 | ||
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1244 | p->entry = gtk_entry_new(); |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1245 | gtk_entry_set_visibility(GTK_ENTRY(p->entry), FALSE); |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1246 | gtk_box_pack_start(GTK_BOX(hbox), p->entry, FALSE, FALSE, 5); |
| 4483 | 1247 | gtk_label_set_mnemonic_widget(GTK_LABEL(label), p->entry); |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1248 | gtk_widget_grab_focus(p->entry); |
| 960 | 1249 | |
| 4413 | 1250 | gtk_widget_show_all(p->win); |
| 960 | 1251 | } |
| 1252 | ||
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1253 | static void acct_signin(GtkCellRendererToggle *cell, gchar *path_str, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1254 | gpointer d) |
| 960 | 1255 | { |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1256 | GtkTreeModel *model = (GtkTreeModel *)d; |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1257 | GtkTreeIter iter; |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1258 | |
| 4491 | 1259 | struct gaim_account *account = NULL; |
| 3069 | 1260 | struct prpl *p = NULL; |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1261 | |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1262 | gtk_tree_model_get_iter_from_string(model, &iter, path_str); |
| 4491 | 1263 | gtk_tree_model_get(model, &iter, COLUMN_DATA, &account, -1); |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1264 | |
| 4491 | 1265 | p = find_prpl(account->protocol); |
| 1266 | if (!account->gc && p && p->login) { | |
| 1267 | struct prpl *p = find_prpl(account->protocol); | |
|
3789
10d651e63c22
[gaim-migrate @ 3929]
Christian Hammond <chipx86@chipx86.com>
parents:
3764
diff
changeset
|
1268 | if (p && !(p->options & OPT_PROTO_NO_PASSWORD) && |
| 4491 | 1269 | !(p->options & OPT_PROTO_PASSWORD_OPTIONAL) && !account->password[0]) { |
| 1270 | do_pass_dlg(account); | |
| 3069 | 1271 | } else { |
| 4491 | 1272 | serv_login(account); |
| 960 | 1273 | } |
| 4491 | 1274 | } else if (account->gc) { |
| 1275 | account->gc->wants_to_die = TRUE; | |
| 1276 | signoff(account->gc); | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1277 | } else { |
| 4491 | 1278 | if (account->protocol == PROTO_TOC) |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1279 | do_error_dialog(_("TOC not found."), |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1280 | _("You have attempted to login an IM account using the " |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1281 | "TOC protocol. Because this protocol is inferior to " |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1282 | "OSCAR, it is now compiled as a plugin by default. " |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1283 | "To login, edit this account to use OSCAR or load the " |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1284 | "TOC plugin."), GAIM_ERROR); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1285 | else |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1286 | do_error_dialog(_("Protocol not found."), |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1287 | _("You cannot log this account in; you do not have " |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1288 | "the protocol it uses loaded, or the protocol does " |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1289 | "not have a login function."), GAIM_ERROR); |
| 960 | 1290 | } |
| 1291 | } | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1292 | |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1293 | static void acct_autologin(GtkCellRendererToggle *cell, gchar *path_str, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1294 | gpointer d) |
|
2007
ad4f44856d77
[gaim-migrate @ 2017]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1956
diff
changeset
|
1295 | { |
| 3867 | 1296 | GtkTreeModel *model = (GtkTreeModel *)d; |
| 1297 | GtkTreeIter iter; | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1298 | |
| 4491 | 1299 | struct gaim_account *account = NULL; |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1300 | |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1301 | gtk_tree_model_get_iter_from_string(model, &iter, path_str); |
| 4491 | 1302 | gtk_tree_model_get(model, &iter, COLUMN_DATA, &account, -1); |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1303 | |
| 4491 | 1304 | account->options ^= OPT_ACCT_AUTO; |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1305 | |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1306 | gtk_list_store_set(GTK_LIST_STORE(model), &iter, |
| 4491 | 1307 | COLUMN_AUTOLOGIN, (account->options & OPT_ACCT_AUTO), -1); |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1308 | |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1309 | save_prefs(); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1310 | } |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1311 | |
| 4491 | 1312 | static void do_del_acct(struct gaim_account *account) |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1313 | { |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1314 | GtkTreeIter iter; |
| 4785 | 1315 | GaimBlistNode *gnode,*bnode; |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1316 | |
| 4491 | 1317 | if (account->gc) { |
| 1318 | account->gc->wants_to_die = TRUE; | |
| 1319 | signoff(account->gc); | |
|
2007
ad4f44856d77
[gaim-migrate @ 2017]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1956
diff
changeset
|
1320 | } |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1321 | |
| 4491 | 1322 | if (get_iter_from_data(GTK_TREE_VIEW(treeview), account, &iter)) { |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1323 | gtk_list_store_remove(GTK_LIST_STORE(model), &iter); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1324 | } |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1325 | |
| 4349 | 1326 | |
| 1327 | /* remove the buddies for the account we just destroyed */ | |
| 4785 | 1328 | for(gnode = gaim_get_blist()->root; gnode; gnode = gnode->next) { |
| 1329 | struct group *g = (struct group *)gnode; | |
| 1330 | if(!GAIM_BLIST_NODE_IS_GROUP(gnode)) | |
| 1331 | continue; | |
| 1332 | for(bnode = gnode->child; bnode; bnode = bnode->next) { | |
| 1333 | struct buddy *b = (struct buddy *)bnode; | |
| 1334 | if(!GAIM_BLIST_NODE_IS_BUDDY(bnode)) | |
| 1335 | continue; | |
| 4491 | 1336 | if(b->account == account) { |
| 4770 | 1337 | gaim_blist_remove_buddy(b); |
| 4349 | 1338 | } |
| 1339 | } | |
| 4785 | 1340 | if(!gnode->child) { |
| 4687 | 1341 | gaim_blist_remove_group(g); |
| 4349 | 1342 | } |
| 1343 | } | |
| 1344 | ||
| 4491 | 1345 | gaim_accounts = g_slist_remove(gaim_accounts, account); |
| 4349 | 1346 | |
| 1347 | gaim_blist_save(); | |
| 1348 | ||
|
2007
ad4f44856d77
[gaim-migrate @ 2017]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1956
diff
changeset
|
1349 | save_prefs(); |
|
ad4f44856d77
[gaim-migrate @ 2017]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1956
diff
changeset
|
1350 | } |
|
ad4f44856d77
[gaim-migrate @ 2017]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1956
diff
changeset
|
1351 | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1352 | static void del_acct_func(GtkTreeModel *model, GtkTreePath *path, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1353 | GtkTreeIter *iter, gpointer data) |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1354 | { |
| 4491 | 1355 | struct gaim_account *account; |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1356 | |
| 4491 | 1357 | gtk_tree_model_get(model, iter, COLUMN_DATA, &account, -1); |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1358 | |
| 4491 | 1359 | if (account != NULL) { |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1360 | char buf[8192]; |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1361 | |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1362 | g_snprintf(buf, sizeof(buf), |
| 4491 | 1363 | _("Are you sure you want to delete %s?"), account->username); |
| 1364 | do_ask_dialog(buf, NULL, account, _("Delete"), do_del_acct, _("Cancel"), NULL, NULL, FALSE); | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1365 | } |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1366 | } |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1367 | |
| 960 | 1368 | static void del_acct(GtkWidget *w, gpointer d) |
| 1369 | { | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1370 | GtkTreeSelection *selection; |
|
2008
730947e681e0
[gaim-migrate @ 2018]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2007
diff
changeset
|
1371 | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1372 | selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1373 | |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1374 | gtk_tree_selection_selected_foreach(selection, del_acct_func, NULL); |
|
2008
730947e681e0
[gaim-migrate @ 2018]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2007
diff
changeset
|
1375 | } |
|
2007
ad4f44856d77
[gaim-migrate @ 2017]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1956
diff
changeset
|
1376 | |
| 960 | 1377 | void account_editor(GtkWidget *w, GtkWidget *W) |
| 1378 | { | |
| 1379 | /* please kill me */ | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
1380 | GtkWidget *vbox; |
| 960 | 1381 | GtkWidget *hbox; |
|
2008
730947e681e0
[gaim-migrate @ 2018]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2007
diff
changeset
|
1382 | GtkWidget *sw; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
1383 | GtkWidget *button; /* used for many things */ |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1384 | GtkWidget *sep; |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1385 | GtkSizeGroup *sg; |
| 960 | 1386 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
1387 | if (acctedit) { |
|
3472
3939deb42c1e
[gaim-migrate @ 3523]
Robert McQueen <robot101@debian.org>
parents:
3466
diff
changeset
|
1388 | gtk_window_present(GTK_WINDOW(acctedit)); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
1389 | return; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
1390 | } |
| 3764 | 1391 | |
| 960 | 1392 | acctedit = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
| 4703 | 1393 | gtk_window_set_title(GTK_WINDOW(acctedit), _("Account Editor")); |
|
4074
c69100a0ede9
[gaim-migrate @ 4289]
Robert McQueen <robot101@debian.org>
parents:
4040
diff
changeset
|
1394 | gtk_window_set_role(GTK_WINDOW(acctedit), "accounteditor"); |
| 960 | 1395 | gtk_widget_realize(acctedit); |
| 4635 | 1396 | gtk_widget_set_size_request(acctedit, -1, 250); |
| 3755 | 1397 | gtk_window_set_default_size(GTK_WINDOW(acctedit), 550, 250); |
|
4275
84bd111694b1
[gaim-migrate @ 4526]
Nicolás Lichtmaier <nico@lichtmaier.com.ar>
parents:
4249
diff
changeset
|
1398 | g_signal_connect(GTK_OBJECT(acctedit), "delete_event", G_CALLBACK(on_delete_acctedit), W); |
| 960 | 1399 | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1400 | vbox = gtk_vbox_new(FALSE, 6); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1401 | gtk_container_set_border_width(GTK_CONTAINER(vbox), 6); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
1402 | gtk_container_add(GTK_CONTAINER(acctedit), vbox); |
| 960 | 1403 | |
|
2008
730947e681e0
[gaim-migrate @ 2018]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2007
diff
changeset
|
1404 | sw = generate_list(); |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1405 | hbox = gtk_hbox_new(FALSE, 6); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1406 | gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 6); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1407 | |
|
4550
6b85399407fa
[gaim-migrate @ 4830]
Christian Hammond <chipx86@chipx86.com>
parents:
4493
diff
changeset
|
1408 | gtk_box_pack_start(GTK_BOX(hbox), sw, TRUE, TRUE, 0); |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1409 | |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1410 | #if 0 |
|
2008
730947e681e0
[gaim-migrate @ 2018]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2007
diff
changeset
|
1411 | vbox2 = gtk_vbox_new(TRUE, 5); |
|
730947e681e0
[gaim-migrate @ 2018]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2007
diff
changeset
|
1412 | gtk_box_pack_start(GTK_BOX(hbox), vbox2, FALSE, FALSE, 0); |
|
730947e681e0
[gaim-migrate @ 2018]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2007
diff
changeset
|
1413 | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1414 | button = gtk_button_new_from_stock(GTK_STOCK_REFRESH); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1415 | gtk_button_set_use_stock(GTK_BUTTON(button), FALSE); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1416 | gtk_button_set_label(GTK_BUTTON(button), "Select All"); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1417 | // button = picture_button2(acctedit, _("Select All"), tb_refresh_xpm, 2); |
|
2008
730947e681e0
[gaim-migrate @ 2018]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2007
diff
changeset
|
1418 | gtk_box_pack_start(GTK_BOX(vbox2), button, TRUE, TRUE, 0); |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4114
diff
changeset
|
1419 | g_signal_connect_swapped(GTK_OBJECT(button), "clicked", |
|
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4114
diff
changeset
|
1420 | G_CALLBACK(gtk_clist_select_all), GTK_OBJECT(list)); |
|
2008
730947e681e0
[gaim-migrate @ 2018]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2007
diff
changeset
|
1421 | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1422 | button = gtk_button_new_from_stock(GTK_STOCK_REDO); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1423 | gtk_button_set_use_stock(GTK_BUTTON(button), FALSE); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1424 | // gtk_button_set_label(button, "Select Autos"); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1425 | // button = picture_button2(acctedit, _("Select Autos"), tb_redo_xpm, 2); |
|
2008
730947e681e0
[gaim-migrate @ 2018]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2007
diff
changeset
|
1426 | gtk_box_pack_start(GTK_BOX(vbox2), button, TRUE, TRUE, 0); |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4114
diff
changeset
|
1427 | g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(sel_auto), NULL); |
|
2008
730947e681e0
[gaim-migrate @ 2018]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2007
diff
changeset
|
1428 | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1429 | button = gtk_button_new_from_stock(GTK_STOCK_UNDO); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1430 | gtk_button_set_use_stock(GTK_BUTTON(button), FALSE); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1431 | gtk_button_set_label(GTK_BUTTON(button), "Select None"); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1432 | // button = picture_button2(acctedit, _("Select None"), tb_undo_xpm, 2); |
|
2008
730947e681e0
[gaim-migrate @ 2018]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2007
diff
changeset
|
1433 | gtk_box_pack_start(GTK_BOX(vbox2), button, TRUE, TRUE, 0); |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4114
diff
changeset
|
1434 | g_signal_connect_swapped(GTK_OBJECT(button), "clicked", |
|
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4114
diff
changeset
|
1435 | G_CALLBACK(gtk_clist_unselect_all), GTK_OBJECT(list)); |
|
2008
730947e681e0
[gaim-migrate @ 2018]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2007
diff
changeset
|
1436 | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1437 | #endif |
| 960 | 1438 | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1439 | sep = gtk_hseparator_new(); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1440 | gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1441 | |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1442 | hbox = gtk_hbox_new(FALSE, 6); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1443 | gtk_container_set_border_width (GTK_CONTAINER (hbox), 6); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
1444 | gtk_box_pack_end(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 960 | 1445 | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1446 | sg = gtk_size_group_new(GTK_SIZE_GROUP_BOTH); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1447 | |
| 3885 | 1448 | button = gtk_button_new_from_stock(GTK_STOCK_CLOSE); |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1449 | gtk_size_group_add_widget(sg, button); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1450 | gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
|
4275
84bd111694b1
[gaim-migrate @ 4526]
Nicolás Lichtmaier <nico@lichtmaier.com.ar>
parents:
4249
diff
changeset
|
1451 | g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(on_close_acctedit), W); |
| 960 | 1452 | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1453 | button = gtk_button_new_from_stock(GTK_STOCK_DELETE); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1454 | gtk_size_group_add_widget(sg, button); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1455 | gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4114
diff
changeset
|
1456 | g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(del_acct), NULL); |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1457 | |
|
4114
4a5eaca83b6b
[gaim-migrate @ 4330]
Nicolás Lichtmaier <nico@lichtmaier.com.ar>
parents:
4111
diff
changeset
|
1458 | button = gaim_pixbuf_button_from_stock(_("_Modify"), GTK_STOCK_PREFERENCES, |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1459 | GAIM_BUTTON_HORIZONTAL); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1460 | gtk_size_group_add_widget(sg, button); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1461 | gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4114
diff
changeset
|
1462 | g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(mod_acct), NULL); |
| 960 | 1463 | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1464 | button = gtk_button_new_from_stock(GTK_STOCK_ADD); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1465 | gtk_size_group_add_widget(sg, button); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1466 | gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4114
diff
changeset
|
1467 | g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(add_acct), NULL); |
| 960 | 1468 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
1469 | gtk_widget_show_all(acctedit); |
| 960 | 1470 | } |
| 1471 | ||
|
2402
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1472 | struct signon_meter { |
|
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1473 | struct gaim_connection *gc; |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1474 | GtkWidget *button; |
|
2402
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1475 | GtkWidget *progress; |
|
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1476 | GtkWidget *status; |
|
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1477 | }; |
|
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1478 | static GSList *meters = NULL; |
|
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1479 | |
| 4687 | 1480 | GtkWidget* create_meter_pixmap (struct gaim_connection *gc) |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1481 | { |
| 4687 | 1482 | GdkPixbuf *pb = create_prpl_icon(gc->account); |
| 1483 | GdkPixbuf *scale = gdk_pixbuf_scale_simple(pb, 30,30,GDK_INTERP_BILINEAR); | |
| 1484 | GtkWidget *image = | |
| 1485 | gtk_image_new_from_pixbuf(scale); | |
| 1486 | g_object_unref(G_OBJECT(pb)); | |
| 1487 | g_object_unref(G_OBJECT(scale)); | |
| 1488 | return image; | |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1489 | } |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1490 | |
|
2402
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1491 | static struct signon_meter *find_signon_meter(struct gaim_connection *gc) |
|
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1492 | { |
|
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1493 | GSList *m = meters; |
|
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1494 | while (m) { |
|
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1495 | if (((struct signon_meter *)m->data)->gc == gc) |
|
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1496 | return m->data; |
|
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1497 | m = m->next; |
|
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1498 | } |
|
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1499 | return NULL; |
|
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1500 | } |
|
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1501 | |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1502 | void kill_meter(struct signon_meter *meter) { |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1503 | gtk_widget_set_sensitive (meter->button, FALSE); |
|
4275
84bd111694b1
[gaim-migrate @ 4526]
Nicolás Lichtmaier <nico@lichtmaier.com.ar>
parents:
4249
diff
changeset
|
1504 | gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(meter->progress), 1); |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1505 | gtk_statusbar_pop(GTK_STATUSBAR(meter->status), 1); |
| 4169 | 1506 | gtk_statusbar_push(GTK_STATUSBAR(meter->status), 1, _("Done.")); |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1507 | meter_win->active_count--; |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1508 | if (meter_win->active_count == 0) { |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1509 | gtk_widget_destroy(meter_win->window); |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1510 | g_free (meter_win); |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1511 | meter_win = NULL; |
|
3554
2e890297b051
[gaim-migrate @ 3644]
Robert McQueen <robot101@debian.org>
parents:
3517
diff
changeset
|
1512 | } |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1513 | } |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1514 | |
|
1089
74f5c108f7a3
[gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1086
diff
changeset
|
1515 | void account_online(struct gaim_connection *gc) |
| 960 | 1516 | { |
|
2402
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1517 | struct signon_meter *meter = find_signon_meter(gc); |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1518 | GList *wins; |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1519 | GtkTreeIter iter; |
| 4785 | 1520 | GaimBlistNode *gnode,*bnode; |
| 4349 | 1521 | GList *add_buds=NULL; |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1522 | GList *l; |
|
1002
0c559888b1fb
[gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
998
diff
changeset
|
1523 | |
|
4333
f4c095774bc2
[gaim-migrate @ 4597]
Mark Doliner <markdoliner@pidgin.im>
parents:
4275
diff
changeset
|
1524 | /* Set the time the account came online */ |
|
f4c095774bc2
[gaim-migrate @ 4597]
Mark Doliner <markdoliner@pidgin.im>
parents:
4275
diff
changeset
|
1525 | time(&gc->login_time); |
|
f4c095774bc2
[gaim-migrate @ 4597]
Mark Doliner <markdoliner@pidgin.im>
parents:
4275
diff
changeset
|
1526 | |
|
1002
0c559888b1fb
[gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
998
diff
changeset
|
1527 | /* first we hide the login progress meter */ |
|
2402
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1528 | if (meter) { |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1529 | kill_meter(meter); |
|
2402
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1530 | meters = g_slist_remove(meters, meter); |
|
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1531 | g_free(meter); |
|
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1532 | } |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
1533 | |
|
1002
0c559888b1fb
[gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
998
diff
changeset
|
1534 | /* then we do the buddy list stuff */ |
|
0c559888b1fb
[gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
998
diff
changeset
|
1535 | if (mainwindow) |
|
0c559888b1fb
[gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
998
diff
changeset
|
1536 | gtk_widget_hide(mainwindow); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
1537 | |
| 4687 | 1538 | gaim_blist_show(); |
|
1002
0c559888b1fb
[gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
998
diff
changeset
|
1539 | |
| 3367 | 1540 | update_privacy_connections(); |
|
1401
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1391
diff
changeset
|
1541 | do_away_menu(); |
|
1499
0c3286729687
[gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1474
diff
changeset
|
1542 | do_proto_menu(); |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1543 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1544 | /* |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1545 | * XXX This is a hack! Remove this and replace it with a better event |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1546 | * notification system. |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1547 | */ |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1548 | for (wins = gaim_get_windows(); wins != NULL; wins = wins->next) { |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1549 | struct gaim_window *win = (struct gaim_window *)wins->data; |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1550 | gaim_conversation_update(gaim_window_get_conversation_at(win, 0), |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1551 | GAIM_CONV_ACCOUNT_ONLINE); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1552 | } |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1553 | |
|
1002
0c559888b1fb
[gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
998
diff
changeset
|
1554 | gaim_setup(gc); |
|
0c559888b1fb
[gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
998
diff
changeset
|
1555 | |
| 4491 | 1556 | gc->account->connecting = FALSE; |
|
3726
73f30897c81c
[gaim-migrate @ 3862]
Robert McQueen <robot101@debian.org>
parents:
3717
diff
changeset
|
1557 | connecting_count--; |
| 3570 | 1558 | debug_printf("connecting_count: %d\n", connecting_count); |
| 1559 | ||
| 3517 | 1560 | plugin_event(event_signon, gc); |
|
1575
220b4d845309
[gaim-migrate @ 1585]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1499
diff
changeset
|
1561 | system_log(log_signon, gc, NULL, OPT_LOG_BUDDY_SIGNON | OPT_LOG_MY_SIGNON); |
|
1002
0c559888b1fb
[gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
998
diff
changeset
|
1562 | |
| 1254 | 1563 | /* away option given? */ |
| 1564 | if (opt_away) { | |
| 1565 | away_on_login(opt_away_arg); | |
| 1566 | /* don't do it again */ | |
| 1567 | opt_away = 0; | |
|
1401
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1391
diff
changeset
|
1568 | } else if (awaymessage) { |
|
e81430ba5d7a
[gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1391
diff
changeset
|
1569 | serv_set_away(gc, GAIM_AWAY_CUSTOM, awaymessage->message); |
| 1254 | 1570 | } |
| 1571 | if (opt_away_arg != NULL) { | |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2364
diff
changeset
|
1572 | g_free(opt_away_arg); |
| 1254 | 1573 | opt_away_arg = NULL; |
| 1574 | } | |
| 1575 | ||
| 4349 | 1576 | /* let the prpl know what buddies we pulled out of the local list */ |
| 4785 | 1577 | for(gnode = gaim_get_blist()->root; gnode; gnode = gnode->next) { |
| 1578 | if(!GAIM_BLIST_NODE_IS_GROUP(gnode)) | |
| 1579 | continue; | |
| 1580 | for(bnode = gnode->child; bnode; bnode = bnode->next) { | |
| 1581 | struct buddy *b = (struct buddy *)bnode; | |
| 1582 | if(!GAIM_BLIST_NODE_IS_BUDDY(bnode)) | |
| 1583 | continue; | |
| 4491 | 1584 | if(b->account == gc->account) { |
| 4349 | 1585 | add_buds = g_list_append(add_buds, b->name); |
| 1586 | } | |
| 1587 | } | |
| 1588 | } | |
| 1589 | ||
| 1590 | if(add_buds) { | |
| 1591 | serv_add_buddies(gc, add_buds); | |
| 1592 | g_list_free(add_buds); | |
| 1593 | } | |
| 1594 | ||
| 1595 | serv_set_permit_deny(gc); | |
| 1596 | ||
|
1002
0c559888b1fb
[gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
998
diff
changeset
|
1597 | /* everything for the account editor */ |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
1598 | if (!acctedit) |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
1599 | return; |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1600 | |
| 4491 | 1601 | if (get_iter_from_data(GTK_TREE_VIEW(treeview), gc->account, &iter)) { |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1602 | gtk_list_store_set(model, &iter, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1603 | COLUMN_ONLINE, TRUE, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1604 | COLUMN_PROTOCOL, gc->prpl->name, |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1605 | -1); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1606 | } |
|
1002
0c559888b1fb
[gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
998
diff
changeset
|
1607 | |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1608 | /* Update the conversation windows that use this account. */ |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1609 | for (l = gaim_get_conversations(); l != NULL; l = l->next) { |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1610 | struct gaim_conversation *conv = (struct gaim_conversation *)l->data; |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1611 | |
| 4491 | 1612 | if (gaim_conversation_get_account(conv) == gc->account) { |
| 1613 | gaim_conversation_update(conv, GAIM_CONV_UPDATE_ACCOUNT); | |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1614 | } |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1615 | } |
| 960 | 1616 | } |
| 1617 | ||
| 1618 | void account_offline(struct gaim_connection *gc) | |
| 1619 | { | |
|
2402
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1620 | struct signon_meter *meter = find_signon_meter(gc); |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1621 | GtkTreeIter iter; |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1622 | GList *l; |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1623 | |
|
2402
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1624 | if (meter) { |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1625 | kill_meter(meter); |
|
2402
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1626 | meters = g_slist_remove(meters, meter); |
|
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1627 | g_free(meter); |
|
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1628 | } |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1629 | debug_printf("Disconnecting. user = %p, gc = %p (%p)\n", |
| 4491 | 1630 | gc->account, gc->account->gc, gc); |
| 1631 | gc->account->gc = NULL; /* wasn't that awkward? */ | |
| 4388 | 1632 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
1633 | if (!acctedit) |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
1634 | return; |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1635 | |
| 4491 | 1636 | if (get_iter_from_data(GTK_TREE_VIEW(treeview), gc->account, &iter)) { |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1637 | gtk_list_store_set(model, &iter, COLUMN_ONLINE, FALSE, -1); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1638 | } |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1639 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1640 | /* Update the conversation windows that use this account. */ |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1641 | for (l = gaim_get_conversations(); l != NULL; l = l->next) { |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1642 | struct gaim_conversation *conv = (struct gaim_conversation *)l->data; |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1643 | |
| 4491 | 1644 | if (gaim_conversation_get_account(conv) == gc->account) { |
| 1645 | gaim_conversation_update(conv, GAIM_CONV_UPDATE_ACCOUNT); | |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1646 | } |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1647 | } |
| 960 | 1648 | } |
| 1649 | ||
| 1650 | void auto_login() | |
| 1651 | { | |
| 4491 | 1652 | GSList *accts = gaim_accounts; |
| 1653 | struct gaim_account *a = NULL; | |
| 960 | 1654 | |
| 4491 | 1655 | while (accts) { |
| 1656 | a = (struct gaim_account *)accts->data; | |
| 1657 | if ((a->options & OPT_ACCT_AUTO) && (a->options & OPT_ACCT_REM_PASS)) { | |
|
980
dd522f25c5c4
[gaim-migrate @ 990]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
977
diff
changeset
|
1658 | serv_login(a); |
| 960 | 1659 | } |
| 4491 | 1660 | accts = accts->next; |
| 960 | 1661 | } |
| 1662 | } | |
|
988
8e2d5ba69459
[gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
984
diff
changeset
|
1663 | |
|
3458
6140a920776b
[gaim-migrate @ 3506]
Mark Doliner <markdoliner@pidgin.im>
parents:
3427
diff
changeset
|
1664 | /* |
|
6140a920776b
[gaim-migrate @ 3506]
Mark Doliner <markdoliner@pidgin.im>
parents:
3427
diff
changeset
|
1665 | * d:)->-< |
|
6140a920776b
[gaim-migrate @ 3506]
Mark Doliner <markdoliner@pidgin.im>
parents:
3427
diff
changeset
|
1666 | * |
|
6140a920776b
[gaim-migrate @ 3506]
Mark Doliner <markdoliner@pidgin.im>
parents:
3427
diff
changeset
|
1667 | * d:O-\-< |
|
6140a920776b
[gaim-migrate @ 3506]
Mark Doliner <markdoliner@pidgin.im>
parents:
3427
diff
changeset
|
1668 | * |
|
6140a920776b
[gaim-migrate @ 3506]
Mark Doliner <markdoliner@pidgin.im>
parents:
3427
diff
changeset
|
1669 | * d:D-/-< |
|
6140a920776b
[gaim-migrate @ 3506]
Mark Doliner <markdoliner@pidgin.im>
parents:
3427
diff
changeset
|
1670 | * |
|
6140a920776b
[gaim-migrate @ 3506]
Mark Doliner <markdoliner@pidgin.im>
parents:
3427
diff
changeset
|
1671 | * d8D->-< DANCE! |
|
6140a920776b
[gaim-migrate @ 3506]
Mark Doliner <markdoliner@pidgin.im>
parents:
3427
diff
changeset
|
1672 | */ |
|
6140a920776b
[gaim-migrate @ 3506]
Mark Doliner <markdoliner@pidgin.im>
parents:
3427
diff
changeset
|
1673 | |
|
2402
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1674 | static void cancel_signon(GtkWidget *button, struct signon_meter *meter) |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
1675 | { |
|
2402
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1676 | meter->gc->wants_to_die = TRUE; |
|
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1677 | signoff(meter->gc); |
|
1089
74f5c108f7a3
[gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1086
diff
changeset
|
1678 | } |
|
74f5c108f7a3
[gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1086
diff
changeset
|
1679 | |
|
2402
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1680 | static gint meter_destroy(GtkWidget *window, GdkEvent *evt, struct signon_meter *meter) |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
1681 | { |
|
1089
74f5c108f7a3
[gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1086
diff
changeset
|
1682 | return TRUE; |
|
988
8e2d5ba69459
[gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
984
diff
changeset
|
1683 | } |
|
8e2d5ba69459
[gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
984
diff
changeset
|
1684 | |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1685 | static struct signon_meter *register_meter(struct gaim_connection *gc, GtkWidget *widget, GtkTable *table, gint *rows) |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1686 | { |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1687 | GtkWidget *graphic; |
| 3378 | 1688 | GtkWidget *label; |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1689 | GtkWidget *nest_vbox; |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1690 | GString *name_to_print; |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1691 | struct signon_meter *meter; |
| 4491 | 1692 | |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1693 | name_to_print = g_string_new(gc->username); |
| 4491 | 1694 | |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1695 | meter = g_new0(struct signon_meter, 1); |
| 4491 | 1696 | |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1697 | (*rows)++; |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1698 | gtk_table_resize (table, *rows, 4); |
| 4491 | 1699 | |
| 4687 | 1700 | graphic = create_meter_pixmap(gc); |
| 4491 | 1701 | |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1702 | nest_vbox = gtk_vbox_new (FALSE, 0); |
| 4491 | 1703 | |
|
4225
303f32ade05d
[gaim-migrate @ 4469]
Nicolás Lichtmaier <nico@lichtmaier.com.ar>
parents:
4169
diff
changeset
|
1704 | g_string_prepend(name_to_print, _("Signon: ")); |
| 3378 | 1705 | label = gtk_label_new (name_to_print->str); |
|
4225
303f32ade05d
[gaim-migrate @ 4469]
Nicolás Lichtmaier <nico@lichtmaier.com.ar>
parents:
4169
diff
changeset
|
1706 | g_string_free(name_to_print, TRUE); |
| 3378 | 1707 | gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); |
| 4491 | 1708 | |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1709 | meter->status = gtk_statusbar_new(); |
| 4639 | 1710 | gtk_widget_set_size_request(meter->status, 250, -1); |
| 4491 | 1711 | |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1712 | meter->progress = gtk_progress_bar_new (); |
| 4491 | 1713 | |
|
4114
4a5eaca83b6b
[gaim-migrate @ 4330]
Nicolás Lichtmaier <nico@lichtmaier.com.ar>
parents:
4111
diff
changeset
|
1714 | meter->button = gtk_button_new_with_label (_("Cancel")); |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4114
diff
changeset
|
1715 | g_signal_connect (GTK_OBJECT (meter->button), "clicked", G_CALLBACK (cancel_signon), meter); |
| 4491 | 1716 | |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1717 | gtk_table_attach (GTK_TABLE (table), graphic, 0, 1, *rows, *rows+1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1718 | gtk_table_attach (GTK_TABLE (table), nest_vbox, 1, 2, *rows, *rows+1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); |
| 3378 | 1719 | gtk_box_pack_start (GTK_BOX (nest_vbox), GTK_WIDGET (label), FALSE, FALSE, 0); |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1720 | gtk_box_pack_start (GTK_BOX (nest_vbox), GTK_WIDGET (meter->status), FALSE, FALSE, 0); |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1721 | gtk_table_attach (GTK_TABLE (table), meter->progress, 2, 3, *rows, *rows+1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1722 | gtk_table_attach (GTK_TABLE (table), meter->button, 3, 4, *rows, *rows+1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1723 | |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1724 | gtk_widget_show_all (GTK_WIDGET (meter_win->window)); |
| 4491 | 1725 | |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1726 | meter_win->active_count++; |
| 4491 | 1727 | |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1728 | return meter; |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1729 | } |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1730 | |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1731 | static void loop_cancel () { |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1732 | GSList *m = meters; |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1733 | struct signon_meter *meter = NULL; |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1734 | |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1735 | while (m) { |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1736 | meter = (struct signon_meter *) (m->data); |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1737 | meter->gc->wants_to_die = TRUE; |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1738 | signoff((struct gaim_connection *) meter->gc); |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1739 | m = meters; |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1740 | } |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1741 | } |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1742 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
1743 | void set_login_progress(struct gaim_connection *gc, float howfar, char *message) |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1172
diff
changeset
|
1744 | { |
|
2402
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1745 | struct signon_meter *meter = find_signon_meter(gc); |
|
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1746 | |
|
988
8e2d5ba69459
[gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
984
diff
changeset
|
1747 | if (mainwindow) |
|
8e2d5ba69459
[gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
984
diff
changeset
|
1748 | gtk_widget_hide(mainwindow); |
|
8e2d5ba69459
[gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
984
diff
changeset
|
1749 | |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1750 | if (!meter_win) { |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1751 | GtkWidget *cancel_button; |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1752 | GtkWidget *vbox; |
| 4635 | 1753 | |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1754 | meter_win = g_new0(struct meter_window, 1); |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1755 | meter_win->rows=0; |
| 4635 | 1756 | |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1757 | meter_win->window = gtk_window_new (GTK_WINDOW_TOPLEVEL); |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1758 | GAIM_DIALOG(meter_win->window); |
| 4635 | 1759 | gtk_window_set_resizable(GTK_WINDOW(meter_win->window), FALSE); |
|
4074
c69100a0ede9
[gaim-migrate @ 4289]
Robert McQueen <robot101@debian.org>
parents:
4040
diff
changeset
|
1760 | gtk_window_set_role(GTK_WINDOW(meter_win->window), "signon"); |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1761 | gtk_container_set_border_width(GTK_CONTAINER(meter_win->window), 5); |
| 4703 | 1762 | gtk_window_set_title (GTK_WINDOW (meter_win->window), _("Signon")); |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1763 | gtk_widget_realize(meter_win->window); |
| 4635 | 1764 | |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1765 | vbox = gtk_vbox_new (FALSE, 0); |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1766 | gtk_container_add (GTK_CONTAINER (meter_win->window), GTK_WIDGET (vbox)); |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1767 | |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1768 | meter_win->table = (GtkTable *) gtk_table_new (1 , 4, FALSE); |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1769 | gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (meter_win->table), FALSE, FALSE, 0); |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1770 | gtk_container_set_border_width (GTK_CONTAINER (meter_win->table), 5); |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1771 | gtk_table_set_row_spacings (GTK_TABLE (meter_win->table), 5); |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1772 | gtk_table_set_col_spacings (GTK_TABLE (meter_win->table), 10); |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1773 | |
|
4114
4a5eaca83b6b
[gaim-migrate @ 4330]
Nicolás Lichtmaier <nico@lichtmaier.com.ar>
parents:
4111
diff
changeset
|
1774 | cancel_button = gtk_button_new_with_label (_("Cancel All")); |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4114
diff
changeset
|
1775 | g_signal_connect_swapped (GTK_OBJECT (cancel_button), "clicked", G_CALLBACK (loop_cancel), NULL); |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1776 | gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (cancel_button), FALSE, FALSE, 0); |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1777 | |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4114
diff
changeset
|
1778 | g_signal_connect (GTK_OBJECT (meter_win->window), "delete_event", G_CALLBACK (meter_destroy), NULL); |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1779 | } |
|
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1780 | |
|
2402
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1781 | if (!meter) { |
|
988
8e2d5ba69459
[gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
984
diff
changeset
|
1782 | char buf[256]; |
|
8e2d5ba69459
[gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
984
diff
changeset
|
1783 | |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1784 | meter = register_meter(gc, GTK_WIDGET (meter_win->window), GTK_TABLE (meter_win->table), (gint *) &meter_win->rows); |
|
2402
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1785 | meter->gc = gc; |
|
2403
9c758f41db97
[gaim-migrate @ 2416]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2402
diff
changeset
|
1786 | meters = g_slist_append(meters, meter); |
|
2402
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1787 | |
| 3572 | 1788 | g_snprintf(buf, sizeof(buf), "%s Signing On (using %s)", gc->username, gc->prpl->name); |
|
988
8e2d5ba69459
[gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
984
diff
changeset
|
1789 | } |
|
8e2d5ba69459
[gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
984
diff
changeset
|
1790 | |
|
4275
84bd111694b1
[gaim-migrate @ 4526]
Nicolás Lichtmaier <nico@lichtmaier.com.ar>
parents:
4249
diff
changeset
|
1791 | gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(meter->progress), howfar / LOGIN_STEPS); |
|
2402
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1792 | gtk_statusbar_pop(GTK_STATUSBAR(meter->status), 1); |
|
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1793 | gtk_statusbar_push(GTK_STATUSBAR(meter->status), 1, message); |
|
988
8e2d5ba69459
[gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
984
diff
changeset
|
1794 | } |
|
8e2d5ba69459
[gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
984
diff
changeset
|
1795 | |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1796 | struct kick_dlg { |
| 4491 | 1797 | struct gaim_account *account; |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1798 | GtkWidget *dlg; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1799 | }; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1800 | static GSList *kicks = NULL; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1801 | |
| 4491 | 1802 | static struct kick_dlg *find_kick_dlg(struct gaim_account *account) |
|
1817
67ad2e2348a2
[gaim-migrate @ 1827]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1772
diff
changeset
|
1803 | { |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1804 | GSList *k = kicks; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1805 | while (k) { |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1806 | struct kick_dlg *d = k->data; |
| 4491 | 1807 | if (d->account == account) |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1808 | return d; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1809 | k = k->next; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1810 | } |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1811 | return NULL; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1812 | } |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1813 | |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1814 | static void set_kick_null(GtkObject *obj, struct kick_dlg *k) |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1815 | { |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1816 | kicks = g_slist_remove(kicks, k); |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1817 | g_free(k); |
|
1817
67ad2e2348a2
[gaim-migrate @ 1827]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1772
diff
changeset
|
1818 | } |
|
67ad2e2348a2
[gaim-migrate @ 1827]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1772
diff
changeset
|
1819 | |
| 2956 | 1820 | /* |
| 1821 | * Common code for hide_login_progress(), and hide_login_progress_info() | |
| 1822 | */ | |
| 1823 | static void hide_login_progress_common(struct gaim_connection *gc, | |
| 1824 | char *details, | |
| 1825 | char *title, | |
| 1826 | char *prologue) | |
|
988
8e2d5ba69459
[gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
984
diff
changeset
|
1827 | { |
|
4617
35d860860593
[gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents:
4550
diff
changeset
|
1828 | gchar *buf; |
| 4491 | 1829 | struct kick_dlg *k = find_kick_dlg(gc->account); |
|
2402
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1830 | struct signon_meter *meter = find_signon_meter(gc); |
|
4617
35d860860593
[gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents:
4550
diff
changeset
|
1831 | buf = g_strdup_printf(_("%s\n%s: %s"), full_date(), prologue, details); |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1832 | if (k) |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1833 | gtk_widget_destroy(k->dlg); |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
1834 | k = g_new0(struct kick_dlg, 1); |
| 4491 | 1835 | k->account = gc->account; |
| 3427 | 1836 | k->dlg = do_error_dialog(title, buf, GAIM_ERROR); |
|
2709
bf00e37f14b3
[gaim-migrate @ 2722]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2707
diff
changeset
|
1837 | kicks = g_slist_append(kicks, k); |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4114
diff
changeset
|
1838 | g_signal_connect(GTK_OBJECT(k->dlg), "destroy", G_CALLBACK(set_kick_null), k); |
|
2402
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1839 | if (meter) { |
|
3060
ec62758f47b3
[gaim-migrate @ 3074]
Robert McQueen <robot101@debian.org>
parents:
2975
diff
changeset
|
1840 | kill_meter(meter); |
|
2402
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1841 | meters = g_slist_remove(meters, meter); |
|
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1842 | g_free(meter); |
|
d42793403510
[gaim-migrate @ 2415]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1843 | } |
|
4617
35d860860593
[gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents:
4550
diff
changeset
|
1844 | g_free(buf); |
|
988
8e2d5ba69459
[gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
984
diff
changeset
|
1845 | } |
|
1355
8a38dd3c6ec6
[gaim-migrate @ 1365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1261
diff
changeset
|
1846 | |
| 2956 | 1847 | void hide_login_progress(struct gaim_connection *gc, char *why) |
| 1848 | { | |
|
4617
35d860860593
[gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents:
4550
diff
changeset
|
1849 | gchar *buf; |
| 2956 | 1850 | |
|
4617
35d860860593
[gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents:
4550
diff
changeset
|
1851 | plugin_event(event_error, gc, why); |
|
35d860860593
[gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents:
4550
diff
changeset
|
1852 | buf = g_strdup_printf(_("%s was unable to sign on"), gc->username); |
| 2956 | 1853 | hide_login_progress_common(gc, why, _("Signon Error"), buf); |
|
4617
35d860860593
[gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents:
4550
diff
changeset
|
1854 | g_free(buf); |
| 2956 | 1855 | } |
| 1856 | ||
| 1857 | /* | |
| 1858 | * Like hide_login_progress(), but for informational, not error/warning, | |
| 1859 | * messages. | |
| 1860 | * | |
| 1861 | */ | |
| 1862 | void hide_login_progress_notice(struct gaim_connection *gc, char *why) | |
| 1863 | { | |
| 1864 | hide_login_progress_common(gc, why, _("Notice"), gc->username); | |
| 1865 | } | |
| 1866 | ||
|
3074
b6510843df8f
[gaim-migrate @ 3088]
Jim Seymour <jseymour@users.sourceforge.net>
parents:
3069
diff
changeset
|
1867 | /* |
|
b6510843df8f
[gaim-migrate @ 3088]
Jim Seymour <jseymour@users.sourceforge.net>
parents:
3069
diff
changeset
|
1868 | * Like hide_login_progress(), but for non-signon error messages. |
|
b6510843df8f
[gaim-migrate @ 3088]
Jim Seymour <jseymour@users.sourceforge.net>
parents:
3069
diff
changeset
|
1869 | * |
|
b6510843df8f
[gaim-migrate @ 3088]
Jim Seymour <jseymour@users.sourceforge.net>
parents:
3069
diff
changeset
|
1870 | */ |
|
b6510843df8f
[gaim-migrate @ 3088]
Jim Seymour <jseymour@users.sourceforge.net>
parents:
3069
diff
changeset
|
1871 | void hide_login_progress_error(struct gaim_connection *gc, char *why) |
|
b6510843df8f
[gaim-migrate @ 3088]
Jim Seymour <jseymour@users.sourceforge.net>
parents:
3069
diff
changeset
|
1872 | { |
|
b6510843df8f
[gaim-migrate @ 3088]
Jim Seymour <jseymour@users.sourceforge.net>
parents:
3069
diff
changeset
|
1873 | char buf[2048]; |
|
4617
35d860860593
[gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents:
4550
diff
changeset
|
1874 | |
|
35d860860593
[gaim-migrate @ 4908]
Mark Doliner <markdoliner@pidgin.im>
parents:
4550
diff
changeset
|
1875 | plugin_event(event_error, gc, why); |
|
3074
b6510843df8f
[gaim-migrate @ 3088]
Jim Seymour <jseymour@users.sourceforge.net>
parents:
3069
diff
changeset
|
1876 | g_snprintf(buf, sizeof(buf), _("%s has been signed off"), gc->username); |
|
b6510843df8f
[gaim-migrate @ 3088]
Jim Seymour <jseymour@users.sourceforge.net>
parents:
3069
diff
changeset
|
1877 | hide_login_progress_common(gc, why, _("Connection Error"), buf); |
|
b6510843df8f
[gaim-migrate @ 3088]
Jim Seymour <jseymour@users.sourceforge.net>
parents:
3069
diff
changeset
|
1878 | } |
|
b6510843df8f
[gaim-migrate @ 3088]
Jim Seymour <jseymour@users.sourceforge.net>
parents:
3069
diff
changeset
|
1879 | |
|
2559
78d06c387d19
[gaim-migrate @ 2572]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2525
diff
changeset
|
1880 | void signoff_all() |
|
2380
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1881 | { |
|
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1882 | GSList *c = connections; |
|
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1883 | struct gaim_connection *g = NULL; |
|
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1884 | |
|
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1885 | while (c) { |
|
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1886 | g = (struct gaim_connection *)c->data; |
|
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1887 | g->wants_to_die = TRUE; |
|
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1888 | signoff(g); |
|
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1889 | c = connections; |
|
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1890 | } |
|
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1891 | } |
|
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1892 | |
|
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1893 | void signoff(struct gaim_connection *gc) |
|
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1894 | { |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1895 | GList *wins; |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1896 | |
|
3510
eb451ec1bf1c
[gaim-migrate @ 3576]
Robert McQueen <robot101@debian.org>
parents:
3474
diff
changeset
|
1897 | /* UI stuff */ |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1898 | /* CONV XXX |
|
3510
eb451ec1bf1c
[gaim-migrate @ 3576]
Robert McQueen <robot101@debian.org>
parents:
3474
diff
changeset
|
1899 | convo_menu_remove(gc); |
|
eb451ec1bf1c
[gaim-migrate @ 3576]
Robert McQueen <robot101@debian.org>
parents:
3474
diff
changeset
|
1900 | remove_icon_data(gc); |
| 4687 | 1901 | */ |
| 1902 | ||
| 1903 | gaim_blist_remove_account(gc->account); | |
|
3510
eb451ec1bf1c
[gaim-migrate @ 3576]
Robert McQueen <robot101@debian.org>
parents:
3474
diff
changeset
|
1904 | |
|
2380
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1905 | /* core stuff */ |
|
3510
eb451ec1bf1c
[gaim-migrate @ 3576]
Robert McQueen <robot101@debian.org>
parents:
3474
diff
changeset
|
1906 | /* remove this here so plugins get a sensible count of connections */ |
|
eb451ec1bf1c
[gaim-migrate @ 3576]
Robert McQueen <robot101@debian.org>
parents:
3474
diff
changeset
|
1907 | connections = g_slist_remove(connections, gc); |
|
2380
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1908 | debug_printf("date: %s\n", full_date()); |
| 3517 | 1909 | plugin_event(event_signoff, gc); |
|
2380
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1910 | system_log(log_signoff, gc, NULL, OPT_LOG_BUDDY_SIGNON | OPT_LOG_MY_SIGNON); |
|
3510
eb451ec1bf1c
[gaim-migrate @ 3576]
Robert McQueen <robot101@debian.org>
parents:
3474
diff
changeset
|
1911 | /* set this in case the plugin died before really connecting. |
|
eb451ec1bf1c
[gaim-migrate @ 3576]
Robert McQueen <robot101@debian.org>
parents:
3474
diff
changeset
|
1912 | do it after calling the plugins so they can determine if |
|
eb451ec1bf1c
[gaim-migrate @ 3576]
Robert McQueen <robot101@debian.org>
parents:
3474
diff
changeset
|
1913 | this user was ever on-line or not */ |
| 4491 | 1914 | if (gc->account->connecting) { |
| 1915 | gc->account->connecting = FALSE; | |
|
3726
73f30897c81c
[gaim-migrate @ 3862]
Robert McQueen <robot101@debian.org>
parents:
3717
diff
changeset
|
1916 | connecting_count--; |
| 3517 | 1917 | } |
| 3570 | 1918 | debug_printf("connecting_count: %d\n", connecting_count); |
|
3510
eb451ec1bf1c
[gaim-migrate @ 3576]
Robert McQueen <robot101@debian.org>
parents:
3474
diff
changeset
|
1919 | serv_close(gc); |
|
2380
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1920 | |
|
3510
eb451ec1bf1c
[gaim-migrate @ 3576]
Robert McQueen <robot101@debian.org>
parents:
3474
diff
changeset
|
1921 | /* more UI stuff */ |
|
2380
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1922 | do_away_menu(); |
|
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1923 | do_proto_menu(); |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1924 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1925 | /* |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1926 | * XXX This is a hack! Remove this and replace it with a better event |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1927 | * notification system. |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1928 | */ |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1929 | for (wins = gaim_get_windows(); wins != NULL; wins = wins->next) { |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1930 | struct gaim_window *win = (struct gaim_window *)wins->data; |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1931 | gaim_conversation_update(gaim_window_get_conversation_at(win, 0), |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1932 | GAIM_CONV_ACCOUNT_OFFLINE); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1933 | } |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
1934 | |
| 3367 | 1935 | update_privacy_connections(); |
|
2380
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1936 | |
|
3510
eb451ec1bf1c
[gaim-migrate @ 3576]
Robert McQueen <robot101@debian.org>
parents:
3474
diff
changeset
|
1937 | /* in, out, shake it all about */ |
|
2380
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1938 | if (connections) |
|
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1939 | return; |
|
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1940 | |
|
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1941 | destroy_all_dialogs(); |
| 4687 | 1942 | gaim_blist_destroy(); |
|
3472
3939deb42c1e
[gaim-migrate @ 3523]
Robert McQueen <robot101@debian.org>
parents:
3466
diff
changeset
|
1943 | |
|
2380
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1944 | show_login(); |
|
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1945 | } |
|
3ad185d0aee1
[gaim-migrate @ 2393]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
1946 | |
| 4491 | 1947 | struct gaim_account *gaim_account_new(const char *name, int proto, int opts) |
|
1355
8a38dd3c6ec6
[gaim-migrate @ 1365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1261
diff
changeset
|
1948 | { |
| 4491 | 1949 | struct gaim_account *account = g_new0(struct gaim_account, 1); |
| 1950 | g_snprintf(account->username, sizeof(account->username), "%s", name); | |
| 1951 | g_snprintf(account->user_info, sizeof(account->user_info), "%s", DEFAULT_INFO); | |
| 1952 | account->protocol = proto; | |
| 1953 | account->options = opts; | |
| 1954 | account->permit = NULL; | |
| 1955 | account->deny = NULL; | |
| 1956 | gaim_accounts = g_slist_append(gaim_accounts, account); | |
|
1355
8a38dd3c6ec6
[gaim-migrate @ 1365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1261
diff
changeset
|
1957 | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1958 | if (treeview) { |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1959 | GtkTreeIter iter; |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1960 | |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1961 | gtk_list_store_append(model, &iter); |
|
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1962 | gtk_list_store_set(model, &iter, |
| 4491 | 1963 | COLUMN_SCREENNAME, account->username, |
| 1964 | COLUMN_ONLINE, (account->gc ? TRUE : FALSE), | |
| 1965 | COLUMN_AUTOLOGIN, (account->options & OPT_ACCT_AUTO), | |
| 1966 | COLUMN_PROTOCOL, proto_name(account->protocol), | |
| 1967 | COLUMN_DATA, account, | |
|
3754
aab8a3d95640
[gaim-migrate @ 3893]
Christian Hammond <chipx86@chipx86.com>
parents:
3730
diff
changeset
|
1968 | -1); |
|
1355
8a38dd3c6ec6
[gaim-migrate @ 1365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1261
diff
changeset
|
1969 | } |
|
8a38dd3c6ec6
[gaim-migrate @ 1365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1261
diff
changeset
|
1970 | |
| 4491 | 1971 | return account; |
|
1355
8a38dd3c6ec6
[gaim-migrate @ 1365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1261
diff
changeset
|
1972 | } |