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