Mercurial > pidgin
annotate src/dialogs.c @ 4683:dfd1fe914da2
[gaim-migrate @ 4994]
Fix compiling when audiofile.h exists outside the main include directories.
committer: Tailor Script <tailor@pidgin.im>
| author | Christian Hammond <chipx86@chipx86.com> |
|---|---|
| date | Sun, 09 Mar 2003 23:54:36 +0000 |
| parents | 4bf9c6e8e432 |
| children | 794cc8ec1166 |
| rev | line source |
|---|---|
| 1 | 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 | |
|
349
b402a23f35df
[gaim-migrate @ 359]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
338
diff
changeset
|
22 #ifdef HAVE_CONFIG_H |
|
2090
b66aca8e8dce
[gaim-migrate @ 2100]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2086
diff
changeset
|
23 #include <config.h> |
|
349
b402a23f35df
[gaim-migrate @ 359]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
338
diff
changeset
|
24 #endif |
| 1 | 25 #include <string.h> |
| 26 #include <stdio.h> | |
| 27 #include <stdlib.h> | |
| 28 #include <sys/types.h> | |
| 29 #include <sys/stat.h> | |
| 30 #include <fcntl.h> | |
|
967
17ff662183b2
[gaim-migrate @ 977]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
960
diff
changeset
|
31 #include <ctype.h> |
| 3630 | 32 |
| 33 #ifdef _WIN32 | |
| 34 #include <winsock.h> | |
| 35 #else | |
| 1 | 36 #include <sys/socket.h> |
| 3630 | 37 #include <time.h> |
| 1 | 38 #include <netdb.h> |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
39 #include <netinet/in.h> |
| 1 | 40 #include <unistd.h> |
| 41 #include <arpa/inet.h> | |
| 3630 | 42 #endif |
| 43 | |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
44 #include <errno.h> |
| 3048 | 45 #include <math.h> |
| 1 | 46 |
| 47 #include <gtk/gtk.h> | |
| 48 #include "gaim.h" | |
|
1428
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
49 #include "gtkimhtml.h" |
|
1270
babea41afa7e
[gaim-migrate @ 1280]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1267
diff
changeset
|
50 #include "prpl.h" |
| 1 | 51 |
| 3630 | 52 #ifdef _WIN32 |
| 53 #include "win32dep.h" | |
| 54 #endif | |
| 55 | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
56 #include "pixmaps/gnome_preferences.xpm" |
| 441 | 57 #include "pixmaps/cancel.xpm" |
| 58 #include "pixmaps/save.xpm" | |
| 443 | 59 #include "pixmaps/ok.xpm" |
| 459 | 60 #include "pixmaps/add.xpm" |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
61 #include "pixmaps/close.xpm" |
| 441 | 62 |
|
1035
80a47e3b1bca
[gaim-migrate @ 1045]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
63 #define PATHSIZE 1024 |
|
80a47e3b1bca
[gaim-migrate @ 1045]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
64 |
| 728 | 65 GdkColor bgcolor; |
| 66 GdkColor fgcolor; | |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
67 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
68 static GtkWidget *imdialog = NULL; /*I only want ONE of these :) */ |
| 1 | 69 static GList *dialogwindows = NULL; |
|
2493
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
70 static GtkWidget *importdialog; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
71 static struct gaim_connection *importgc; |
| 2344 | 72 static GtkWidget *icondlg; |
|
710
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
699
diff
changeset
|
73 static GtkWidget *aliasdlg = NULL; |
|
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
699
diff
changeset
|
74 static GtkWidget *aliasentry = NULL; |
|
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
699
diff
changeset
|
75 static GtkWidget *aliasname = NULL; |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
76 static GtkWidget *rename_dialog = NULL; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
77 static GtkWidget *rename_bud_dialog = NULL; |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
78 |
| 3649 | 79 |
| 2743 | 80 struct confirm_del { |
| 81 GtkWidget *window; | |
| 82 GtkWidget *label; | |
| 83 GtkWidget *ok; | |
| 84 GtkWidget *cancel; | |
| 85 char name[1024]; | |
| 86 struct gaim_connection *gc; | |
| 87 }; | |
| 88 | |
| 1 | 89 struct create_away { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
90 GtkWidget *window; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
91 GtkWidget *entry; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
92 GtkWidget *text; |
|
832
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
93 struct away_message *mess; |
| 1 | 94 }; |
| 95 | |
| 96 struct warning { | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
97 GtkWidget *window; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
98 GtkWidget *anon; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
99 char *who; |
|
976
2586b2a3725e
[gaim-migrate @ 986]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
967
diff
changeset
|
100 struct gaim_connection *gc; |
| 1 | 101 }; |
| 102 | |
| 103 struct addbuddy { | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
104 GtkWidget *window; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
105 GtkWidget *combo; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
106 GtkWidget *entry; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
107 GtkWidget *entry_for_alias; |
| 2527 | 108 GtkWidget *account; |
|
1072
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
109 struct gaim_connection *gc; |
| 1 | 110 }; |
| 111 | |
| 112 struct addperm { | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
113 GtkWidget *window; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
114 GtkWidget *entry; |
|
1072
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
115 struct gaim_connection *gc; |
|
1144
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
116 gboolean permit; |
| 1 | 117 }; |
| 118 | |
| 119 struct addbp { | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
120 GtkWidget *window; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
121 GtkWidget *nameentry; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
122 GtkWidget *messentry; |
|
1229
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
123 GtkWidget *commentry; |
|
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
124 GtkWidget *command; |
| 1 | 125 GtkWidget *sendim; |
| 126 GtkWidget *openwindow; | |
| 2550 | 127 GtkWidget *popupnotify; |
| 1137 | 128 GtkWidget *p_signon; |
| 129 GtkWidget *p_unaway; | |
| 130 GtkWidget *p_unidle; | |
| 2993 | 131 GtkWidget *p_typing; |
|
1235
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
132 GtkWidget *save; |
| 1137 | 133 GtkWidget *menu; |
| 1694 | 134 GtkWidget *sound; |
| 135 GtkWidget *soundentry; | |
| 1139 | 136 |
| 4491 | 137 struct gaim_account *account; |
| 2986 | 138 struct buddy_pounce *buddy_pounce; |
| 1 | 139 }; |
| 140 | |
| 141 struct findbyemail { | |
| 142 GtkWidget *window; | |
| 143 GtkWidget *emailentry; | |
|
1535
1e2cc8c8bf3c
[gaim-migrate @ 1545]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1499
diff
changeset
|
144 struct gaim_connection *gc; |
| 1 | 145 }; |
| 146 | |
| 147 struct findbyinfo { | |
|
2393
a7ecfd3f7714
[gaim-migrate @ 2406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2382
diff
changeset
|
148 struct gaim_connection *gc; |
| 1 | 149 GtkWidget *window; |
| 150 GtkWidget *firstentry; | |
| 151 GtkWidget *middleentry; | |
| 152 GtkWidget *lastentry; | |
| 153 GtkWidget *maidenentry; | |
| 154 GtkWidget *cityentry; | |
| 155 GtkWidget *stateentry; | |
| 156 GtkWidget *countryentry; | |
| 157 }; | |
| 158 | |
| 159 struct info_dlg { | |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
160 struct gaim_connection *gc; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
161 char *who; |
| 1 | 162 GtkWidget *window; |
| 163 GtkWidget *text; | |
| 164 }; | |
| 3197 | 165 |
| 166 struct getuserinfo { | |
| 167 GtkWidget *window; | |
| 168 GtkWidget *entry; | |
| 169 GtkWidget *account; | |
| 170 struct gaim_connection *gc; | |
| 171 }; | |
| 172 | |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
173 static GSList *info_dlgs = NULL; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
174 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
175 static struct info_dlg *find_info_dlg(struct gaim_connection *gc, char *who) |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
176 { |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
177 GSList *i = info_dlgs; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
178 while (i) { |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
179 struct info_dlg *d = i->data; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
180 i = i->next; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
181 if (d->gc != gc) |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
182 continue; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
183 if (d->who == NULL) |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
184 continue; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
185 if (!who) |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
186 continue; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
187 if (!g_strcasecmp(normalize(who), d->who)) |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
188 return d; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
189 } |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
190 return NULL; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
191 } |
| 1 | 192 |
| 193 struct set_info_dlg { | |
| 194 GtkWidget *window; | |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
940
diff
changeset
|
195 GtkWidget *menu; |
| 4491 | 196 struct gaim_account *account; |
| 1 | 197 GtkWidget *text; |
| 198 GtkWidget *save; | |
| 199 GtkWidget *cancel; | |
| 200 }; | |
| 201 | |
| 2344 | 202 struct set_icon_dlg { |
| 203 GtkWidget *window; | |
| 4491 | 204 struct gaim_account *account; |
| 2344 | 205 GtkWidget *ok; |
| 206 GtkWidget *cancel; | |
| 207 GtkWidget *entry; | |
| 208 }; | |
| 209 | |
| 1 | 210 struct set_dir_dlg { |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
211 struct gaim_connection *gc; |
| 1 | 212 GtkWidget *window; |
| 213 GtkWidget *first; | |
| 214 GtkWidget *middle; | |
| 215 GtkWidget *last; | |
| 216 GtkWidget *maiden; | |
| 217 GtkWidget *city; | |
| 218 GtkWidget *state; | |
| 219 GtkWidget *country; | |
| 220 GtkWidget *web; | |
| 221 GtkWidget *cancel; | |
| 222 GtkWidget *save; | |
| 223 }; | |
| 224 | |
| 225 struct linkdlg { | |
| 226 GtkWidget *ok; | |
| 227 GtkWidget *cancel; | |
| 228 GtkWidget *window; | |
| 229 GtkWidget *url; | |
| 230 GtkWidget *text; | |
| 231 GtkWidget *toggle; | |
| 232 GtkWidget *entry; | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
233 struct gaim_conversation *c; |
| 1 | 234 }; |
| 235 | |
| 146 | 236 struct passwddlg { |
| 237 GtkWidget *window; | |
| 238 GtkWidget *ok; | |
| 239 GtkWidget *cancel; | |
| 240 GtkWidget *original; | |
| 241 GtkWidget *new1; | |
| 242 GtkWidget *new2; | |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
243 struct gaim_connection *gc; |
| 146 | 244 }; |
| 1 | 245 |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
246 struct view_log { |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
247 long offset; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
248 int options; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
249 char *name; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
250 GtkWidget *bbox; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
251 GtkWidget *window; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
252 GtkWidget *layout; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
253 }; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
254 |
| 4119 | 255 /* Wrapper to get all the text from a GtkTextView */ |
| 256 gchar* gtk_text_view_get_text(GtkTextView *text, gboolean include_hidden_chars) | |
| 257 { | |
| 258 GtkTextBuffer *buffer; | |
| 259 GtkTextIter start, end; | |
| 260 | |
| 261 buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)); | |
| 262 gtk_text_buffer_get_start_iter(buffer, &start); | |
| 263 gtk_text_buffer_get_end_iter(buffer, &end); | |
| 264 | |
| 265 return gtk_text_buffer_get_text(buffer, &start, &end, include_hidden_chars); | |
| 266 } | |
| 267 | |
| 1 | 268 /*------------------------------------------------------------------------*/ |
| 269 /* Destroys */ | |
| 270 /*------------------------------------------------------------------------*/ | |
| 271 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
272 static gint delete_event_dialog(GtkWidget *w, GdkEventAny *e, struct gaim_conversation *c) |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
273 { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
274 struct gaim_gtk_conversation *gtkconv; |
| 605 | 275 gchar *object_data; |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
276 |
| 4635 | 277 object_data = g_object_get_data(G_OBJECT(w), "dialog_type"); |
| 605 | 278 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
279 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
280 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
281 if (GTK_IS_COLOR_SELECTION_DIALOG(w)) { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
282 gaim_gtk_set_state_lock(TRUE); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
283 if (w == gtkconv->dialogs.fg_color) { |
| 4635 | 284 gtk_toggle_button_set_active( |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
285 GTK_TOGGLE_BUTTON(gtkconv->toolbar.fgcolor), FALSE); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
286 gtkconv->dialogs.fg_color = NULL; |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
287 } else { |
| 4635 | 288 gtk_toggle_button_set_active( |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
289 GTK_TOGGLE_BUTTON(gtkconv->toolbar.bgcolor), FALSE); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
290 gtkconv->dialogs.bg_color = NULL; |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
291 } |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
292 gaim_gtk_set_state_lock(FALSE); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
293 } else if (GTK_IS_FONT_SELECTION_DIALOG(w)) { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
294 gaim_gtk_set_state_lock(TRUE); |
| 4635 | 295 gtk_toggle_button_set_active( |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
296 GTK_TOGGLE_BUTTON(gtkconv->toolbar.normal_size), FALSE); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
297 gaim_gtk_set_state_lock(FALSE); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
298 gtkconv->dialogs.font = NULL; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
299 } else if (!g_strcasecmp(object_data, "smiley dialog")) { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
300 gaim_gtk_set_state_lock(TRUE); |
| 4635 | 301 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.smiley), |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
302 FALSE); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
303 gaim_gtk_set_state_lock(FALSE); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
304 gtkconv->dialogs.smiley = NULL; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
305 } else if (!g_strcasecmp(object_data, "log dialog")) { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
306 gaim_gtk_set_state_lock(TRUE); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
307 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtkconv->toolbar.log), |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
308 FALSE); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
309 gaim_gtk_set_state_lock(FALSE); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
310 gtkconv->dialogs.log = NULL; |
| 608 | 311 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
312 |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
313 dialogwindows = g_list_remove(dialogwindows, w); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
314 gtk_widget_destroy(w); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
315 |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
316 return FALSE; |
|
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
317 } |
| 1 | 318 |
| 319 static void destroy_dialog(GtkWidget *w, GtkWidget *w2) | |
| 320 { | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
321 GtkWidget *dest; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
322 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
323 if (!GTK_IS_WIDGET(w2)) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
324 dest = w; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
325 else |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
326 dest = w2; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
327 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
328 if (dest == imdialog) |
| 1 | 329 imdialog = NULL; |
| 330 | |
|
2493
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
331 if (dest == importdialog) { |
| 1 | 332 importdialog = NULL; |
|
2493
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
333 importgc = NULL; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
334 } |
| 1 | 335 |
| 2344 | 336 if (dest == icondlg) |
| 337 icondlg = NULL; | |
| 338 | |
|
710
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
699
diff
changeset
|
339 if (dest == aliasdlg) { |
|
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
699
diff
changeset
|
340 aliasdlg = NULL; |
|
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
699
diff
changeset
|
341 aliasentry = NULL; |
|
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
699
diff
changeset
|
342 aliasname = NULL; |
|
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
699
diff
changeset
|
343 } |
|
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
699
diff
changeset
|
344 |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
345 if (dest == rename_dialog) |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
346 rename_dialog = NULL; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
347 |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
348 if (dest == rename_bud_dialog) |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
349 rename_bud_dialog = NULL; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
350 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
351 dialogwindows = g_list_remove(dialogwindows, dest); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
352 gtk_widget_destroy(dest); |
| 1 | 353 |
| 354 } | |
| 355 | |
| 356 | |
| 357 void destroy_all_dialogs() | |
| 358 { | |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
359 while (dialogwindows) |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
360 destroy_dialog(NULL, dialogwindows->data); |
| 1 | 361 |
|
391
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
350
diff
changeset
|
362 if (awaymessage) |
|
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
350
diff
changeset
|
363 do_im_back(NULL, NULL); |
| 84 | 364 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
365 if (imdialog) { |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
366 destroy_dialog(NULL, imdialog); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
367 imdialog = NULL; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
368 } |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
369 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
370 if (importdialog) { |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
371 destroy_dialog(NULL, importdialog); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
372 importdialog = NULL; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
373 } |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
374 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
375 if (icondlg) { |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
376 destroy_dialog(NULL, icondlg); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
377 icondlg = NULL; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
378 } |
| 1 | 379 } |
| 380 | |
| 3757 | 381 static void do_warn(GtkWidget *widget, gint resp, struct warning *w) |
| 1 | 382 { |
| 3757 | 383 if (resp == GTK_RESPONSE_OK) |
| 384 serv_warn(w->gc, w->who, (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w->anon))) ? 1 : 0); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
385 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
386 destroy_dialog(NULL, w->window); |
|
1288
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
387 g_free(w); |
|
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
388 } |
| 1 | 389 |
|
976
2586b2a3725e
[gaim-migrate @ 986]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
967
diff
changeset
|
390 void show_warn_dialog(struct gaim_connection *gc, char *who) |
| 1 | 391 { |
| 3757 | 392 char *filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_warning.png", NULL); |
| 393 char *labeltext; | |
| 394 GtkWidget *hbox, *vbox; | |
| 1 | 395 GtkWidget *label; |
| 3757 | 396 GtkWidget *img = gtk_image_new_from_file(filename); |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
397 struct gaim_conversation *c = gaim_find_conversation(who); |
| 441 | 398 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
399 struct warning *w = g_new0(struct warning, 1); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
400 w->who = who; |
|
1288
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
401 w->gc = gc; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
402 |
| 3757 | 403 g_free(filename); |
| 404 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); | |
| 405 | |
| 4586 | 406 w->window = gtk_dialog_new_with_buttons(_("Gaim - Warn User"), GTK_WINDOW(c->window), GTK_DIALOG_MODAL, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, _("_Warn"), GTK_RESPONSE_OK, NULL); |
| 4118 | 407 gtk_dialog_set_default_response (GTK_DIALOG(w->window), GTK_RESPONSE_OK); |
| 3757 | 408 g_signal_connect(G_OBJECT(w->window), "response", G_CALLBACK(do_warn), w); |
| 409 | |
| 410 gtk_container_set_border_width (GTK_CONTAINER(w->window), 6); | |
| 411 gtk_window_set_resizable(GTK_WINDOW(w->window), FALSE); | |
| 412 gtk_dialog_set_has_separator(GTK_DIALOG(w->window), FALSE); | |
| 413 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(w->window)->vbox), 12); | |
| 414 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(w->window)->vbox), 6); | |
| 415 | |
| 416 hbox = gtk_hbox_new(FALSE, 12); | |
| 417 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(w->window)->vbox), hbox); | |
| 418 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
| 419 | |
| 420 vbox = gtk_vbox_new(FALSE, 0); | |
| 421 gtk_container_add(GTK_CONTAINER(hbox), vbox); | |
| 422 labeltext = g_strdup_printf(_("<span weight=\"bold\" size=\"larger\">Warn %s?</span>\n\n" | |
| 423 "This will increase %s's warning level and he or she will be subject to harsher rate limiting.\n"), who, who); | |
| 424 label = gtk_label_new(NULL); | |
| 425 gtk_label_set_markup(GTK_LABEL(label), labeltext); | |
| 426 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | |
| 427 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 428 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); | |
| 429 g_free(labeltext); | |
| 430 | |
| 431 w->anon = gtk_check_button_new_with_mnemonic(_("Warn _anonymously?")); | |
| 432 gtk_box_pack_start(GTK_BOX(vbox), w->anon, FALSE, FALSE, 0); | |
| 433 | |
| 434 hbox = gtk_hbox_new(FALSE, 6); | |
| 435 gtk_container_add(GTK_CONTAINER(vbox), hbox); | |
| 436 img = gtk_image_new_from_stock(GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_MENU); | |
| 437 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
| 438 labeltext = _("<b>Anonymous warnings are less severe.</b>"); | |
| 439 /* labeltext = _("Anonymous warnings are less severe."); */ | |
| 440 label = gtk_label_new(NULL); | |
| 441 gtk_label_set_markup(GTK_LABEL(label), labeltext); | |
| 442 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | |
| 443 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 444 | |
|
1288
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
445 dialogwindows = g_list_prepend(dialogwindows, w->window); |
| 3757 | 446 gtk_widget_show_all(w->window); |
| 1 | 447 } |
| 448 | |
| 3753 | 449 void do_remove_buddy(struct buddy *b) |
| 2743 | 450 { |
| 4349 | 451 struct group *g = find_group_by_buddy(b); |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
452 struct gaim_conversation *c; |
|
4397
ce3a0eba91ef
[gaim-migrate @ 4666]
Christian Hammond <chipx86@chipx86.com>
parents:
4372
diff
changeset
|
453 gchar *name = g_strdup(b->name); /* b->name is null after remove_buddy */ |
| 2743 | 454 |
| 455 if (!b) | |
| 456 return; | |
| 457 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
458 g = find_group_by_buddy(b); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
459 |
| 4059 | 460 debug_printf(_("Removing '%s' from buddy list.\n"), b->name); |
| 4491 | 461 serv_remove_buddy(b->account->gc, name, g->name); |
| 4349 | 462 remove_buddy(b); |
| 463 gaim_blist_save(); | |
| 2743 | 464 |
|
4397
ce3a0eba91ef
[gaim-migrate @ 4666]
Christian Hammond <chipx86@chipx86.com>
parents:
4372
diff
changeset
|
465 c = gaim_find_conversation(name); |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
466 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
467 if (c != NULL) |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
468 gaim_conversation_update(c, GAIM_CONV_UPDATE_REMOVE); |
|
4397
ce3a0eba91ef
[gaim-migrate @ 4666]
Christian Hammond <chipx86@chipx86.com>
parents:
4372
diff
changeset
|
469 |
|
ce3a0eba91ef
[gaim-migrate @ 4666]
Christian Hammond <chipx86@chipx86.com>
parents:
4372
diff
changeset
|
470 g_free(name); |
| 2743 | 471 } |
| 472 | |
| 473 void show_confirm_del(struct gaim_connection *gc, gchar *name) | |
| 474 { | |
| 4491 | 475 struct buddy *bd = find_buddy(gc->account, name); |
| 3753 | 476 char *text; |
| 477 if (!bd) | |
| 478 return; | |
| 479 | |
| 4309 | 480 text = g_strdup_printf(_("You are about to remove %s from your buddy list. Do you want to continue?"), name); |
| 481 do_ask_dialog(_("Remove Buddy"), text, bd, _("Remove Buddy"), do_remove_buddy, _("Cancel"), NULL, NULL, FALSE); | |
| 3753 | 482 g_free(text); |
| 2743 | 483 } |
| 484 | |
| 485 | |
| 1 | 486 |
| 487 /*------------------------------------------------------------------------*/ | |
| 488 /* The dialog for getting an error */ | |
| 489 /*------------------------------------------------------------------------*/ | |
| 490 | |
| 3466 | 491 GtkWidget *do_error_dialog(const char *primary, const char *secondary, int type) |
| 1 | 492 { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
493 GtkWidget *d; |
| 1 | 494 GtkWidget *label; |
| 3374 | 495 GtkWidget *img = NULL; |
| 3427 | 496 GtkWidget *hbox; |
| 497 char labeltext[1024 * 2]; | |
| 498 char *filename = NULL; | |
| 499 | |
| 500 /* These are the GTK stock dialog icons with our little Gaim logo on top. | |
| 501 * Inspired by the GIMP. */ | |
| 3374 | 502 switch (type){ |
| 503 case GAIM_LOGO: | |
| 3427 | 504 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "gaim.png", NULL); |
| 505 break; | |
| 506 case GAIM_INFO: | |
| 507 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_info.png", NULL); | |
| 508 break; | |
| 3516 | 509 case GAIM_WARNING: |
| 3427 | 510 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_warning.png", NULL); |
| 511 break; | |
| 3516 | 512 case GAIM_ERROR: |
| 3427 | 513 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_error.png", NULL); |
| 514 break; | |
| 515 /* case GAIM_QUESTION: | |
| 516 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_question.png", NULL); | |
| 517 break; | |
| 518 */ | |
| 519 } | |
| 520 if (filename) { | |
| 521 img = gtk_image_new_from_file(filename); | |
| 3523 | 522 g_free(filename); |
| 3427 | 523 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); |
| 3374 | 524 } |
| 4272 | 525 d = gtk_dialog_new_with_buttons("", NULL, 0, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL); |
| 3427 | 526 g_signal_connect(d, "response", G_CALLBACK(gtk_widget_destroy), NULL); |
| 527 | |
| 528 gtk_container_set_border_width (GTK_CONTAINER(d), 6); | |
| 529 gtk_window_set_resizable(GTK_WINDOW(d), FALSE); | |
| 530 gtk_dialog_set_has_separator(GTK_DIALOG(d), FALSE); | |
| 531 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(d)->vbox), 12); | |
| 532 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(d)->vbox), 6); | |
| 533 | |
| 534 hbox = gtk_hbox_new(FALSE, 12); | |
| 535 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(d)->vbox), hbox); | |
| 536 if (filename) { | |
| 537 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
| 538 } | |
| 539 gtk_widget_show(img); | |
| 540 | |
| 541 g_snprintf(labeltext, sizeof(labeltext), "<span weight=\"bold\" size=\"larger\">%s</span>\n\n%s", primary, secondary ? secondary : ""); | |
| 542 | |
| 543 label = gtk_label_new(NULL); | |
| 544 gtk_label_set_markup(GTK_LABEL(label), labeltext); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
545 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); |
| 3427 | 546 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); |
| 1 | 547 gtk_widget_show(label); |
| 3427 | 548 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 549 | |
| 550 gtk_widget_show(hbox); | |
| 1 | 551 |
| 552 gtk_widget_show(d); | |
|
1817
b367beee6448
[gaim-migrate @ 1827]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1815
diff
changeset
|
553 return d; |
| 1 | 554 } |
| 555 | |
| 556 | |
| 557 | |
| 3816 | 558 static void do_im(GtkWidget *widget, int resp, struct getuserinfo *info) |
| 1 | 559 { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
560 const char *who; |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
561 struct gaim_conversation *conv; |
| 4491 | 562 struct gaim_account *account; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
563 |
| 3802 | 564 if (resp == GTK_RESPONSE_OK) { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
565 who = gtk_entry_get_text(GTK_ENTRY(info->entry)); |
|
4476
62c1e5e656d0
[gaim-migrate @ 4751]
Christian Hammond <chipx86@chipx86.com>
parents:
4472
diff
changeset
|
566 |
| 4613 | 567 if (!who || !*who) { |
| 568 /* this shouldn't ever happen */ | |
| 3802 | 569 return; |
| 570 } | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
571 |
| 4491 | 572 account = (info->gc ? info->gc->account : NULL); |
|
4476
62c1e5e656d0
[gaim-migrate @ 4751]
Christian Hammond <chipx86@chipx86.com>
parents:
4472
diff
changeset
|
573 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
574 conv = gaim_find_conversation(who); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
575 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
576 if (conv == NULL) |
| 4491 | 577 conv = gaim_conversation_new(GAIM_CONV_IM, account, who); |
|
4476
62c1e5e656d0
[gaim-migrate @ 4751]
Christian Hammond <chipx86@chipx86.com>
parents:
4472
diff
changeset
|
578 else { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
579 gaim_window_raise(gaim_conversation_get_window(conv)); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
580 |
| 4491 | 581 if (account) |
| 582 gaim_conversation_set_account(conv, account); | |
|
4476
62c1e5e656d0
[gaim-migrate @ 4751]
Christian Hammond <chipx86@chipx86.com>
parents:
4472
diff
changeset
|
583 } |
| 1 | 584 } |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
585 |
| 3816 | 586 destroy_dialog(NULL, imdialog); |
| 587 imdialog = NULL; | |
| 4138 | 588 g_free(info); |
| 1 | 589 } |
| 590 | |
| 3802 | 591 static void do_info(GtkWidget *widget, int resp, struct getuserinfo *info) |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
592 { |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
593 char *who; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
594 |
| 3802 | 595 if (resp == GTK_RESPONSE_OK) { |
| 596 who = g_strdup(normalize(gtk_entry_get_text(GTK_ENTRY(info->entry)))); | |
| 597 | |
| 598 if (!g_strcasecmp(who, "")) { | |
| 599 g_free(who); | |
| 600 return; | |
| 601 } | |
| 602 | |
| 603 /* what do we want to do about this case? */ | |
| 604 if (info->gc) | |
| 605 serv_get_info(info->gc, who); | |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
606 g_free(who); |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
607 } |
| 3802 | 608 gtk_widget_destroy(GTK_WIDGET(widget)); |
| 4138 | 609 g_free(info); |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
610 } |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
611 |
| 1 | 612 void show_ee_dialog(int ee) |
| 613 { | |
| 3767 | 614 GtkWidget *window; |
| 615 GtkWidget *hbox; | |
| 1 | 616 GtkWidget *label; |
| 3767 | 617 |
| 618 char *filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_cool.png", NULL); | |
| 619 GtkWidget *img = gtk_image_new_from_file(filename); | |
| 620 | |
| 621 label = gtk_label_new(NULL); | |
| 1 | 622 if (ee == 0) |
| 3767 | 623 gtk_label_set_markup(GTK_LABEL(label), |
| 624 "<span weight=\"bold\" size=\"large\" foreground=\"purple\">Amazing! Simply Amazing!</span>"); | |
| 1 | 625 else if (ee == 1) |
| 3767 | 626 gtk_label_set_markup(GTK_LABEL(label), |
| 627 "<span weight=\"bold\" size=\"large\" foreground=\"#1f6bad\">Pimpin\' Penguin Style! *Waddle Waddle*</span>"); | |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
628 else if (ee == 2) |
| 3767 | 629 gtk_label_set_markup(GTK_LABEL(label), |
| 630 "<span weight=\"bold\" size=\"large\" foreground=\"blue\">You should be me. I'm so cute!</span>"); | |
| 2472 | 631 else if (ee == 3) |
| 3767 | 632 gtk_label_set_markup(GTK_LABEL(label), |
| 633 "<span weight=\"bold\" size=\"large\" foreground=\"orange\">Now that's what I like!</span>"); | |
| 2993 | 634 else if (ee == 4) |
| 3767 | 635 gtk_label_set_markup(GTK_LABEL(label), |
| 636 "<span weight=\"bold\" size=\"large\" foreground=\"brown\">Ahh, and excellent choice!</span>"); | |
| 3043 | 637 else if (ee == 5) |
| 3767 | 638 gtk_label_set_markup(GTK_LABEL(label), |
| 639 "<span weight=\"bold\" size=\"large\" foreground=\"#009900\">Everytime you click my name, an angel gets its wings.</span>"); | |
| 3152 | 640 else if (ee == 6) |
| 3767 | 641 gtk_label_set_markup(GTK_LABEL(label), |
| 642 "<span weight=\"bold\" size=\"large\" foreground=\"red\">This sunflower seed taste like pizza.</span>"); | |
| 3508 | 643 else if (ee == 7) |
| 3767 | 644 gtk_label_set_markup(GTK_LABEL(label), |
| 645 "<span weight=\"bold\" size=\"large\" foreground=\"#6364B1\">Hey! I was in that tumbleweed!</span>"); | |
| 3508 | 646 else |
| 3767 | 647 gtk_label_set_markup(GTK_LABEL(label), |
| 648 "<span weight=\"bold\" size=\"large\" foreground=\"gray\">I'm not anything.</span>"); | |
| 649 | |
| 650 window = gtk_dialog_new_with_buttons("", GTK_WINDOW(blist), GTK_DIALOG_MODAL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); | |
| 651 gtk_dialog_set_default_response (GTK_DIALOG(window), GTK_RESPONSE_OK); | |
| 652 g_signal_connect(G_OBJECT(window), "response", G_CALLBACK(gtk_widget_destroy), NULL); | |
| 3152 | 653 |
| 3767 | 654 gtk_container_set_border_width (GTK_CONTAINER(window), 6); |
| 655 gtk_window_set_resizable(GTK_WINDOW(window), FALSE); | |
| 656 gtk_dialog_set_has_separator(GTK_DIALOG(window), FALSE); | |
| 657 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(window)->vbox), 12); | |
| 658 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(window)->vbox), 6); | |
| 659 | |
| 660 hbox = gtk_hbox_new(FALSE, 12); | |
| 661 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(window)->vbox), hbox); | |
| 662 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
| 663 | |
| 664 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | |
| 665 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 666 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 4635 | 667 |
| 3767 | 668 gtk_widget_show_all(window); |
| 1 | 669 } |
| 670 | |
| 4635 | 671 void show_info_select_account(GObject *w, struct gaim_connection *gc) |
| 3816 | 672 { |
| 4635 | 673 struct getuserinfo *info = g_object_get_data(w, "getuserinfo"); |
| 3816 | 674 info->gc = gc; |
| 675 } | |
| 676 | |
| 4614 | 677 static void dialog_set_ok_sensitive(GtkWidget *entry, GtkWidget *dlg) { |
| 4613 | 678 const char *txt = gtk_entry_get_text(GTK_ENTRY(entry)); |
| 4614 | 679 gtk_dialog_set_response_sensitive(GTK_DIALOG(dlg), GTK_RESPONSE_OK, |
| 4613 | 680 (*txt != '\0')); |
| 681 } | |
| 682 | |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
683 void show_im_dialog() |
| 1 | 684 { |
| 3802 | 685 GtkWidget *hbox, *vbox; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
686 GtkWidget *label; |
| 3816 | 687 GtkWidget *table, *menu, *opt; |
| 688 GSList *g = connections; | |
| 689 struct gaim_connection *c; | |
| 690 char buf[256]; | |
| 3802 | 691 char *filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_question.png", NULL); |
| 692 GtkWidget *img = gtk_image_new_from_file(filename); | |
| 3816 | 693 struct getuserinfo *info = NULL; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
694 |
| 4138 | 695 g_free(filename); |
| 696 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
697 if (!imdialog) { |
| 3816 | 698 info = g_new0(struct getuserinfo, 1); |
| 699 info->gc = connections->data; | |
| 4613 | 700 imdialog = gtk_dialog_new_with_buttons(_("Gaim - New Message"), blist ? GTK_WINDOW(blist) : NULL, GTK_DIALOG_MODAL, |
| 3802 | 701 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); |
| 702 gtk_dialog_set_default_response (GTK_DIALOG(imdialog), GTK_RESPONSE_OK); | |
| 703 gtk_container_set_border_width (GTK_CONTAINER(imdialog), 6); | |
| 704 gtk_window_set_resizable(GTK_WINDOW(imdialog), FALSE); | |
| 705 gtk_dialog_set_has_separator(GTK_DIALOG(imdialog), FALSE); | |
| 706 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(imdialog)->vbox), 12); | |
| 707 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(imdialog)->vbox), 6); | |
| 4613 | 708 gtk_dialog_set_response_sensitive(GTK_DIALOG(imdialog), GTK_RESPONSE_OK, FALSE); |
| 709 | |
| 3802 | 710 hbox = gtk_hbox_new(FALSE, 12); |
| 711 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(imdialog)->vbox), hbox); | |
| 712 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
| 713 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); | |
| 714 | |
| 715 vbox = gtk_vbox_new(FALSE, 0); | |
| 716 gtk_container_add(GTK_CONTAINER(hbox), vbox); | |
| 4613 | 717 |
| 3802 | 718 label = gtk_label_new(_("Please enter the screenname of the person you would like to IM.\n")); |
| 3825 | 719 gtk_widget_set_size_request(GTK_WIDGET(label), 350, -1); |
| 3802 | 720 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); |
| 721 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 722 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); | |
| 4613 | 723 |
| 3802 | 724 hbox = gtk_hbox_new(FALSE, 6); |
| 725 gtk_container_add(GTK_CONTAINER(vbox), hbox); | |
| 4613 | 726 |
| 3816 | 727 table = gtk_table_new(2, 2, FALSE); |
| 728 gtk_table_set_row_spacings(GTK_TABLE(table), 6); | |
| 729 gtk_table_set_col_spacings(GTK_TABLE(table), 6); | |
| 730 gtk_container_set_border_width(GTK_CONTAINER(table), 12); | |
| 731 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); | |
| 4613 | 732 |
| 3802 | 733 label = gtk_label_new(NULL); |
| 3816 | 734 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Screenname:")); |
| 3823 | 735 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); |
| 3816 | 736 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1); |
| 737 | |
| 738 info->entry = gtk_entry_new(); | |
| 739 gtk_table_attach_defaults(GTK_TABLE(table), info->entry, 1, 2, 0, 1); | |
| 740 gtk_entry_set_activates_default (GTK_ENTRY(info->entry), TRUE); | |
| 741 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->entry)); | |
| 4613 | 742 g_signal_connect(G_OBJECT(info->entry), "changed", |
| 4614 | 743 G_CALLBACK(dialog_set_ok_sensitive), imdialog); |
| 3816 | 744 |
| 745 if (connections->next) { | |
| 746 | |
| 747 label = gtk_label_new(NULL); | |
| 748 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2); | |
| 749 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Account:")); | |
| 750 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 4613 | 751 |
| 3816 | 752 info->account = gtk_option_menu_new(); |
| 753 gtk_table_attach_defaults(GTK_TABLE(table), info->account, 1, 2, 1, 2); | |
| 754 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->account)); | |
| 4613 | 755 |
| 3816 | 756 menu = gtk_menu_new(); |
| 4613 | 757 |
| 3816 | 758 while (g) { |
| 759 c = (struct gaim_connection *)g->data; | |
| 760 if (!c->prpl->send_im) { | |
| 761 g = g->next; | |
| 762 continue; | |
| 763 } | |
| 764 g_snprintf(buf, sizeof(buf), "%s (%s)", c->username, c->prpl->name); | |
| 765 opt = gtk_menu_item_new_with_label(buf); | |
| 4635 | 766 g_object_set_data(G_OBJECT(opt), "getuserinfo", info); |
| 4613 | 767 |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
768 g_signal_connect(GTK_OBJECT(opt), "activate", |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
769 G_CALLBACK(show_info_select_account), c); |
| 4613 | 770 |
| 4635 | 771 gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); |
| 3816 | 772 g = g->next; |
| 773 } | |
| 4613 | 774 |
| 3816 | 775 gtk_option_menu_set_menu(GTK_OPTION_MENU(info->account), menu); |
| 776 } | |
| 4613 | 777 |
| 3816 | 778 g_signal_connect(G_OBJECT(imdialog), "response", G_CALLBACK(do_im), info); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
779 } |
| 4613 | 780 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
781 gtk_widget_show_all(imdialog); |
| 3816 | 782 if (info) |
| 783 gtk_widget_grab_focus(GTK_WIDGET(info->entry)); | |
| 3197 | 784 } |
| 785 | |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
786 void show_info_dialog() |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
787 { |
| 3802 | 788 GtkWidget *window, *hbox, *vbox; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
789 GtkWidget *label; |
| 3802 | 790 char *filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_question.png", NULL); |
| 791 GtkWidget *img = gtk_image_new_from_file(filename); | |
| 792 GtkWidget *table, *menu, *opt; | |
| 3197 | 793 GSList *g = connections; |
| 794 struct gaim_connection *c; | |
| 795 struct getuserinfo *info = g_new0(struct getuserinfo, 1); | |
| 3802 | 796 char buf[256]; |
| 797 | |
| 4138 | 798 g_free(filename); |
| 3197 | 799 info->gc = connections->data; |
| 800 | |
| 4472 | 801 window = gtk_dialog_new_with_buttons(_("Gaim - Get User Info"), blist ? GTK_WINDOW(blist) : NULL, GTK_DIALOG_MODAL, |
| 3802 | 802 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); |
| 803 gtk_dialog_set_default_response (GTK_DIALOG(window), GTK_RESPONSE_OK); | |
| 804 gtk_container_set_border_width (GTK_CONTAINER(window), 6); | |
| 805 gtk_window_set_resizable(GTK_WINDOW(window), FALSE); | |
| 806 gtk_dialog_set_has_separator(GTK_DIALOG(window), FALSE); | |
| 807 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(window)->vbox), 12); | |
| 808 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(window)->vbox), 6); | |
| 4614 | 809 |
| 3802 | 810 hbox = gtk_hbox_new(FALSE, 12); |
| 811 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(window)->vbox), hbox); | |
| 812 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
| 813 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); | |
| 4614 | 814 gtk_dialog_set_response_sensitive(GTK_DIALOG(window), GTK_RESPONSE_OK, |
| 815 FALSE); | |
| 816 | |
| 3802 | 817 vbox = gtk_vbox_new(FALSE, 0); |
| 818 gtk_container_add(GTK_CONTAINER(hbox), vbox); | |
| 819 | |
| 820 label = gtk_label_new(_("Please enter the screenname of the person whose info you would like to view.\n")); | |
| 821 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | |
| 822 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 823 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); | |
| 824 | |
| 3197 | 825 table = gtk_table_new(2, 2, FALSE); |
| 3802 | 826 gtk_table_set_row_spacings(GTK_TABLE(table), 6); |
| 827 gtk_table_set_col_spacings(GTK_TABLE(table), 6); | |
| 828 gtk_container_set_border_width(GTK_CONTAINER(table), 12); | |
| 829 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); | |
| 830 | |
| 831 label = gtk_label_new(NULL); | |
| 832 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Screenname:")); | |
| 3822 | 833 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); |
| 3197 | 834 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1); |
| 835 | |
| 836 info->entry = gtk_entry_new(); | |
| 837 gtk_table_attach_defaults(GTK_TABLE(table), info->entry, 1, 2, 0, 1); | |
| 3802 | 838 gtk_entry_set_activates_default (GTK_ENTRY(info->entry), TRUE); |
| 839 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->entry)); | |
| 4614 | 840 |
| 841 g_signal_connect(G_OBJECT(info->entry), "changed", | |
| 842 G_CALLBACK(dialog_set_ok_sensitive), window); | |
| 3802 | 843 |
| 3197 | 844 if (connections->next) { |
| 845 | |
| 3802 | 846 label = gtk_label_new(NULL); |
| 3197 | 847 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2); |
| 3802 | 848 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Account:")); |
| 849 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 1225 | 850 |
| 3197 | 851 info->account = gtk_option_menu_new(); |
| 852 gtk_table_attach_defaults(GTK_TABLE(table), info->account, 1, 2, 1, 2); | |
| 3802 | 853 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->account)); |
| 854 | |
| 3197 | 855 menu = gtk_menu_new(); |
| 856 | |
| 857 while (g) { | |
| 858 c = (struct gaim_connection *)g->data; | |
| 3802 | 859 if (!c->prpl->get_info) { |
| 860 g = g->next; | |
| 861 continue; | |
| 862 } | |
| 3572 | 863 g_snprintf(buf, sizeof(buf), "%s (%s)", c->username, c->prpl->name); |
| 3197 | 864 opt = gtk_menu_item_new_with_label(buf); |
| 4635 | 865 g_object_set_data(G_OBJECT(opt), "getuserinfo", info); |
| 3197 | 866 |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
867 g_signal_connect(GTK_OBJECT(opt), "activate", |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
868 G_CALLBACK(show_info_select_account), c); |
| 3197 | 869 |
| 4635 | 870 gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); |
| 3197 | 871 g = g->next; |
| 872 } | |
| 3802 | 873 |
| 3197 | 874 gtk_option_menu_set_menu(GTK_OPTION_MENU(info->account), menu); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
875 } |
| 3197 | 876 |
| 3802 | 877 g_signal_connect(G_OBJECT(window), "response", G_CALLBACK(do_info), info); |
| 878 | |
| 879 | |
| 880 gtk_widget_show_all(window); | |
| 881 if (info->entry) | |
| 882 gtk_widget_grab_focus(GTK_WIDGET(info->entry)); | |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
883 } |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
884 |
| 1 | 885 |
| 886 /*------------------------------------------------------------------------*/ | |
| 887 /* The dialog for adding buddies */ | |
| 888 /*------------------------------------------------------------------------*/ | |
| 889 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
890 extern void add_callback(GtkWidget *, struct gaim_conversation *); |
|
654
ea811c6dd3e0
[gaim-migrate @ 664]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
653
diff
changeset
|
891 |
| 4180 | 892 void do_add_buddy(GtkWidget *w, int resp, struct addbuddy *a) |
| 1 | 893 { |
| 3466 | 894 const char *grp, *who, *whoalias; |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
895 struct gaim_conversation *c; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
896 |
| 4180 | 897 if (resp == GTK_RESPONSE_OK) { |
| 898 | |
| 899 who = gtk_entry_get_text(GTK_ENTRY(a->entry)); | |
| 900 grp = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(a->combo)->entry)); | |
| 901 whoalias = gtk_entry_get_text(GTK_ENTRY(a->entry_for_alias)); | |
| 902 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
903 c = gaim_find_conversation(who); |
| 4180 | 904 |
| 4491 | 905 add_buddy(a->gc->account, grp, who, whoalias); |
| 4180 | 906 serv_add_buddy(a->gc, who); |
| 907 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
908 if (c != NULL) |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
909 gaim_conversation_update(c, GAIM_CONV_UPDATE_ADD); |
| 4180 | 910 |
| 4349 | 911 gaim_blist_save(); |
|
654
ea811c6dd3e0
[gaim-migrate @ 664]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
653
diff
changeset
|
912 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
913 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
914 destroy_dialog(NULL, a->window); |
| 1 | 915 } |
| 916 | |
| 3819 | 917 void do_add_group(GtkWidget *w, int resp, struct addbuddy *a) |
|
577
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
918 { |
| 3466 | 919 const char *grp; |
| 4349 | 920 |
| 3819 | 921 if (resp == GTK_RESPONSE_OK) { |
| 922 grp = gtk_entry_get_text(GTK_ENTRY(a->entry)); | |
| 923 | |
| 924 if (!a->gc) | |
| 925 a->gc = connections->data; | |
| 926 | |
| 4349 | 927 add_group(grp); |
| 928 gaim_blist_save(); | |
| 3819 | 929 } |
|
577
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
930 |
|
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
931 destroy_dialog(NULL, a->window); |
|
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
932 } |
|
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
933 |
| 1 | 934 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1000
diff
changeset
|
935 static GList *groups_tree(struct gaim_connection *gc) |
| 1 | 936 { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
937 GList *tmp = NULL; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
938 char *tmp2; |
| 1 | 939 struct group *g; |
| 4349 | 940 GSList *grp = groups; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
941 |
| 1 | 942 if (!grp) { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
943 tmp2 = g_strdup(_("Buddies")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
944 tmp = g_list_append(tmp, tmp2); |
| 1 | 945 } else { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
946 while (grp) { |
| 1 | 947 g = (struct group *)grp->data; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
948 tmp2 = g->name; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
949 tmp = g_list_append(tmp, tmp2); |
| 940 | 950 grp = g_slist_next(grp); |
| 1 | 951 } |
| 952 } | |
| 953 return tmp; | |
| 954 } | |
| 955 | |
|
825
9108277c95e9
[gaim-migrate @ 835]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
804
diff
changeset
|
956 static void free_dialog(GtkWidget *w, struct addbuddy *a) |
|
9108277c95e9
[gaim-migrate @ 835]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
804
diff
changeset
|
957 { |
|
9108277c95e9
[gaim-migrate @ 835]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
804
diff
changeset
|
958 g_free(a); |
|
9108277c95e9
[gaim-migrate @ 835]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
804
diff
changeset
|
959 } |
|
9108277c95e9
[gaim-migrate @ 835]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
804
diff
changeset
|
960 |
| 1 | 961 |
|
1072
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
962 void show_add_group(struct gaim_connection *gc) |
|
577
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
963 { |
| 3819 | 964 |
| 965 GtkWidget *hbox, *vbox; | |
|
577
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
966 GtkWidget *label; |
| 3819 | 967 char *filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_question.png", NULL); |
| 968 GtkWidget *img = gtk_image_new_from_file(filename); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
969 struct addbuddy *a = g_new0(struct addbuddy, 1); |
| 4138 | 970 |
| 971 g_free(filename); | |
|
1072
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
972 a->gc = gc; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
973 |
| 4183 | 974 a->window = gtk_dialog_new_with_buttons(_("Gaim - Add Group"), GTK_WINDOW(blist), GTK_DIALOG_MODAL, |
| 3819 | 975 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_ADD, GTK_RESPONSE_OK, NULL); |
| 976 gtk_dialog_set_default_response (GTK_DIALOG(a->window), GTK_RESPONSE_OK); | |
| 977 gtk_container_set_border_width (GTK_CONTAINER(a->window), 6); | |
| 978 gtk_window_set_resizable(GTK_WINDOW(a->window), FALSE); | |
| 979 gtk_dialog_set_has_separator(GTK_DIALOG(a->window), FALSE); | |
| 980 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(a->window)->vbox), 12); | |
| 981 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(a->window)->vbox), 6); | |
| 982 | |
| 983 hbox = gtk_hbox_new(FALSE, 12); | |
| 984 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(a->window)->vbox), hbox); | |
| 985 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
| 986 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); | |
| 987 | |
| 988 vbox = gtk_vbox_new(FALSE, 0); | |
| 989 gtk_container_add(GTK_CONTAINER(hbox), vbox); | |
| 990 | |
| 991 label = gtk_label_new(_("Please enter the name of the group to be added.\n")); | |
| 992 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | |
| 993 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 994 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); | |
| 995 | |
| 996 hbox = gtk_hbox_new(FALSE, 6); | |
| 997 gtk_container_add(GTK_CONTAINER(vbox), hbox); | |
| 998 | |
| 999 label = gtk_label_new(NULL); | |
| 1000 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Group:")); | |
| 1001 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 1002 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1003 a->entry = gtk_entry_new(); |
| 3819 | 1004 gtk_entry_set_activates_default (GTK_ENTRY(a->entry), TRUE); |
| 1005 gtk_box_pack_start(GTK_BOX(hbox), a->entry, FALSE, FALSE, 0); | |
| 1006 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(a->entry)); | |
| 1007 | |
| 1008 g_signal_connect(G_OBJECT(a->window), "response", G_CALLBACK(do_add_group), a); | |
| 1009 | |
| 1010 gtk_widget_show_all(a->window); | |
| 1011 gtk_widget_grab_focus(GTK_WIDGET(a->entry)); | |
|
577
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
1012 } |
|
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
1013 |
| 4635 | 1014 static void addbuddy_select_account(GObject *w, struct gaim_connection *gc) |
| 2527 | 1015 { |
| 4635 | 1016 struct addbuddy *b = g_object_get_data(w, "addbuddy"); |
| 2527 | 1017 |
| 2561 | 1018 /* Save our account */ |
| 2527 | 1019 b->gc = gc; |
| 2561 | 1020 |
| 1021 /* We also want to update our group list */ | |
|
2598
b2800bca74fe
[gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2582
diff
changeset
|
1022 gtk_combo_set_popdown_strings(GTK_COMBO(b->combo), groups_tree(gc)); |
| 2527 | 1023 } |
| 1024 | |
| 1025 static void create_online_user_names(struct addbuddy *b) | |
| 1026 { | |
| 1027 char buf[2048]; /* Never hurts to be safe ;-) */ | |
| 1028 GSList *g = connections; | |
| 1029 struct gaim_connection *c; | |
| 1030 GtkWidget *menu, *opt; | |
| 1031 int count = 0; | |
| 1032 int place = 0; | |
| 1033 | |
| 1034 menu = gtk_menu_new(); | |
| 1035 | |
| 1036 while (g) { | |
| 1037 c = (struct gaim_connection *)g->data; | |
| 1038 g_snprintf(buf, sizeof(buf), "%s (%s)", | |
| 3572 | 1039 c->username, c->prpl->name); |
| 2527 | 1040 opt = gtk_menu_item_new_with_label(buf); |
| 4635 | 1041 g_object_set_data(G_OBJECT(opt), "addbuddy", b); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1042 g_signal_connect(GTK_OBJECT(opt), "activate", |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1043 G_CALLBACK(addbuddy_select_account), |
| 2527 | 1044 c); |
| 1045 gtk_widget_show(opt); | |
| 4635 | 1046 gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); |
| 2527 | 1047 |
| 1048 /* Now check to see if it's our current menu */ | |
| 1049 if (c == b->gc) { | |
| 1050 place = count; | |
| 1051 gtk_menu_item_activate(GTK_MENU_ITEM(opt)); | |
| 1052 gtk_option_menu_set_history(GTK_OPTION_MENU(b->account), count); | |
| 1053 | |
| 1054 /* Do the cha cha cha */ | |
| 1055 } | |
| 1056 | |
| 1057 count++; | |
| 1058 | |
| 1059 g = g->next; | |
| 1060 } | |
| 1061 | |
| 1062 gtk_option_menu_remove_menu(GTK_OPTION_MENU(b->account)); | |
| 1063 gtk_option_menu_set_menu(GTK_OPTION_MENU(b->account), menu); | |
| 1064 gtk_option_menu_set_history(GTK_OPTION_MENU(b->account), place); | |
| 1065 | |
| 1066 gtk_widget_show(b->account); | |
| 1067 gtk_widget_show(b->account->parent); | |
| 1068 | |
| 1069 } | |
| 1070 | |
|
2582
5efa8077107f
[gaim-migrate @ 2595]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2572
diff
changeset
|
1071 void show_add_buddy(struct gaim_connection *gc, char *buddy, char *group, char *alias) |
| 1 | 1072 { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1073 GtkWidget *table; |
| 1 | 1074 GtkWidget *label; |
| 4180 | 1075 GtkWidget *hbox; |
| 1076 GtkWidget *vbox; | |
| 1077 | |
| 1078 char *filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_question.png", NULL); | |
| 1079 GtkWidget *img = gtk_image_new_from_file(filename); | |
| 236 | 1080 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1081 struct addbuddy *a = g_new0(struct addbuddy, 1); |
|
2598
b2800bca74fe
[gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2582
diff
changeset
|
1082 a->gc = gc ? gc : connections->data; |
| 1210 | 1083 |
| 4180 | 1084 g_free(filename); |
| 1085 | |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
1086 GAIM_DIALOG(a->window); |
| 4180 | 1087 a->window = gtk_dialog_new_with_buttons(_("Gaim - Add Buddy"), blist ? GTK_WINDOW(blist) : NULL, GTK_DIALOG_MODAL, |
| 1088 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_ADD, GTK_RESPONSE_OK, NULL); | |
| 1089 | |
| 1090 gtk_dialog_set_default_response(GTK_DIALOG(a->window), GTK_RESPONSE_OK); | |
| 1091 gtk_container_set_border_width(GTK_CONTAINER(a->window), 6); | |
| 1092 gtk_window_set_resizable(GTK_WINDOW(a->window), FALSE); | |
| 1093 gtk_dialog_set_has_separator(GTK_DIALOG(a->window), FALSE); | |
| 1094 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(a->window)->vbox), 12); | |
| 1095 gtk_container_set_border_width(GTK_CONTAINER(GTK_DIALOG(a->window)->vbox), 6); | |
| 4074 | 1096 gtk_window_set_role(GTK_WINDOW(a->window), "add_buddy"); |
| 4180 | 1097 |
| 1098 hbox = gtk_hbox_new(FALSE, 12); | |
| 1099 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(a->window)->vbox), hbox); | |
| 1100 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
| 1101 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); | |
| 1102 | |
| 1103 vbox = gtk_vbox_new(FALSE, 0); | |
| 1104 gtk_container_add(GTK_CONTAINER(hbox), vbox); | |
| 1105 | |
| 4599 | 1106 label = gtk_label_new(_("Please enter the screen name of the person you would like to add to your buddy list. You may optionally enter an alias, or nickname, for the buddy. The alias will be displayed in place of the screen name whenever possible.\n")); |
| 4180 | 1107 gtk_widget_set_size_request(GTK_WIDGET(label), 400, -1); |
| 1108 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | |
| 1109 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 1110 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); | |
| 1111 | |
| 1112 hbox = gtk_hbox_new(FALSE, 6); | |
| 1113 gtk_container_add(GTK_CONTAINER(vbox), hbox); | |
| 1114 | |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1115 g_signal_connect(GTK_OBJECT(a->window), "destroy", G_CALLBACK(destroy_dialog), a->window); |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1116 g_signal_connect(GTK_OBJECT(a->window), "destroy", G_CALLBACK(free_dialog), a); |
|
1151
428372cc1e39
[gaim-migrate @ 1161]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1144
diff
changeset
|
1117 dialogwindows = g_list_prepend(dialogwindows, a->window); |
|
428372cc1e39
[gaim-migrate @ 1161]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1144
diff
changeset
|
1118 |
| 2529 | 1119 table = gtk_table_new(4, 2, FALSE); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1120 gtk_table_set_row_spacings(GTK_TABLE(table), 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1121 gtk_table_set_col_spacings(GTK_TABLE(table), 5); |
| 4180 | 1122 gtk_container_set_border_width(GTK_CONTAINER(table), 0); |
| 1123 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); | |
| 1124 | |
| 1125 label = gtk_label_new(_("Screen Name")); | |
| 1126 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1127 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1128 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1129 a->entry = gtk_entry_new(); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1130 gtk_table_attach_defaults(GTK_TABLE(table), a->entry, 1, 2, 0, 1); |
| 3333 | 1131 gtk_widget_grab_focus(a->entry); |
| 4183 | 1132 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1133 if (buddy != NULL) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1134 gtk_entry_set_text(GTK_ENTRY(a->entry), buddy); |
| 4183 | 1135 |
| 1136 gtk_entry_set_activates_default (GTK_ENTRY(a->entry), TRUE); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1137 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1138 label = gtk_label_new(_("Alias")); |
| 4180 | 1139 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1140 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1141 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1142 a->entry_for_alias = gtk_entry_new(); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1143 gtk_table_attach_defaults(GTK_TABLE(table), a->entry_for_alias, 1, 2, 1, 2); |
|
2582
5efa8077107f
[gaim-migrate @ 2595]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2572
diff
changeset
|
1144 if (alias != NULL) |
|
5efa8077107f
[gaim-migrate @ 2595]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2572
diff
changeset
|
1145 gtk_entry_set_text(GTK_ENTRY(a->entry_for_alias), alias); |
| 4183 | 1146 gtk_entry_set_activates_default (GTK_ENTRY(a->entry_for_alias), TRUE); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1147 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1148 label = gtk_label_new(_("Group")); |
| 4180 | 1149 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1150 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 2, 3); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1151 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1152 a->combo = gtk_combo_new(); |
|
2598
b2800bca74fe
[gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2582
diff
changeset
|
1153 gtk_combo_set_popdown_strings(GTK_COMBO(a->combo), groups_tree(a->gc)); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1154 gtk_table_attach_defaults(GTK_TABLE(table), a->combo, 1, 2, 2, 3); |
| 1210 | 1155 |
| 2527 | 1156 /* Set up stuff for the account box */ |
| 1157 label = gtk_label_new(_("Add To")); | |
| 4180 | 1158 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
| 2527 | 1159 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 3, 4); |
| 1160 | |
| 1161 a->account = gtk_option_menu_new(); | |
| 1162 gtk_table_attach_defaults(GTK_TABLE(table), a->account, 1, 2, 3, 4); | |
| 1163 | |
| 1164 create_online_user_names(a); | |
| 1165 | |
| 1166 /* End of account box */ | |
| 1167 | |
| 4180 | 1168 g_signal_connect(G_OBJECT(a->window), "response", G_CALLBACK(do_add_buddy), a); |
|
1151
428372cc1e39
[gaim-migrate @ 1161]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1144
diff
changeset
|
1169 |
| 1210 | 1170 gtk_widget_show_all(a->window); |
| 4180 | 1171 |
| 2995 | 1172 if (group != NULL) |
| 1173 gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(a->combo)->entry), group); | |
| 1 | 1174 } |
| 1175 | |
| 1176 | |
| 3367 | 1177 /*------------------------------------------------------------------------* |
| 1178 * Privacy Settings * | |
| 1179 *------------------------------------------------------------------------*/ | |
| 1180 static GtkWidget *deny_type = NULL; | |
| 1181 static GtkWidget *deny_conn_hbox = NULL; | |
| 1182 static GtkWidget *deny_opt_menu = NULL; | |
| 1183 static struct gaim_connection *current_deny_gc = NULL; | |
| 1184 static gboolean current_is_deny = FALSE; | |
| 1185 static GtkWidget *allow_list = NULL; | |
| 1186 static GtkWidget *block_list = NULL; | |
| 1187 | |
| 4177 | 1188 static GtkListStore *block_store = NULL; |
| 1189 static GtkListStore *allow_store = NULL; | |
| 1190 | |
| 3367 | 1191 static void set_deny_mode(GtkWidget *w, int data) |
| 1192 { | |
| 1193 if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w))) | |
| 1194 return; | |
| 1195 debug_printf("setting deny mode %d\n", data); | |
| 4491 | 1196 current_deny_gc->account->permdeny = data; |
| 3367 | 1197 serv_set_permit_deny(current_deny_gc); |
| 4349 | 1198 gaim_blist_save(); |
| 3367 | 1199 } |
| 1200 | |
| 4178 | 1201 static GtkWidget *deny_opt(char *label, int which, GtkWidget *set) |
| 3367 | 1202 { |
| 1203 GtkWidget *opt; | |
| 1204 | |
| 1205 if (!set) | |
| 1206 opt = gtk_radio_button_new_with_label(NULL, label); | |
| 1207 else | |
| 1208 opt = | |
| 4635 | 1209 gtk_radio_button_new_with_label(gtk_radio_button_get_group( |
| 1210 GTK_RADIO_BUTTON(set)), | |
| 3367 | 1211 label); |
| 4178 | 1212 |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1213 g_signal_connect(GTK_OBJECT(opt), "toggled", G_CALLBACK(set_deny_mode), (void *)which); |
| 3367 | 1214 gtk_widget_show(opt); |
| 4491 | 1215 if (current_deny_gc->account->permdeny == which) |
| 4635 | 1216 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(opt), TRUE); |
| 3367 | 1217 |
| 1218 return opt; | |
| 1219 } | |
| 1220 | |
| 1221 static void des_deny_opt(GtkWidget *d, gpointer e) | |
| 1222 { | |
| 1223 gtk_widget_destroy(d); | |
| 1224 current_deny_gc = NULL; | |
| 1225 deny_conn_hbox = NULL; | |
| 1226 deny_type = NULL; | |
| 1227 deny_opt_menu = NULL; | |
| 1228 current_is_deny = FALSE; | |
| 1229 allow_list = NULL; | |
| 4177 | 1230 allow_store = NULL; |
| 1231 | |
| 3367 | 1232 block_list = NULL; |
| 4177 | 1233 block_store = NULL; |
| 3367 | 1234 } |
| 1235 | |
| 1236 static void set_deny_type() | |
| 1237 { | |
| 4635 | 1238 GSList *bg = gtk_radio_button_get_group(GTK_RADIO_BUTTON(deny_type)); |
| 3367 | 1239 |
| 4491 | 1240 switch (current_deny_gc->account->permdeny) { |
| 3786 | 1241 case 5: |
| 1242 bg = bg->next->next; | |
| 1243 break; | |
| 3367 | 1244 case 4: |
| 1245 break; | |
| 1246 case 3: | |
| 3786 | 1247 bg = bg->next->next->next; |
| 3367 | 1248 break; |
| 1249 case 2: | |
| 1250 bg = bg->next; | |
| 1251 break; | |
| 1252 case 1: | |
| 3786 | 1253 bg = bg->next->next->next->next; |
| 3367 | 1254 break; |
| 1255 } | |
| 1256 | |
| 4635 | 1257 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(bg->data), TRUE); |
| 3367 | 1258 } |
| 1259 | |
| 1260 void build_allow_list() | |
| 1261 { | |
| 1262 GSList *p; | |
| 4177 | 1263 GtkListStore *ls; |
| 1264 GtkTreeIter iter; | |
| 3367 | 1265 |
| 1266 if (!current_is_deny) | |
| 1267 return; | |
| 1268 | |
| 4491 | 1269 p = current_deny_gc->account->permit; |
| 3367 | 1270 |
| 4177 | 1271 gtk_list_store_clear(GTK_LIST_STORE(allow_store)); |
| 3367 | 1272 |
| 1273 while (p) { | |
| 4177 | 1274 ls = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(allow_list))); |
| 1275 | |
| 1276 gtk_list_store_append(ls, &iter); | |
| 1277 gtk_list_store_set(ls, &iter, 0, p->data, -1); | |
| 1278 | |
| 3367 | 1279 p = p->next; |
| 1280 } | |
| 1281 } | |
| 1282 | |
| 4177 | 1283 |
| 3367 | 1284 void build_block_list() |
| 1285 { | |
| 1286 GSList *d; | |
| 4177 | 1287 GtkListStore *ls; |
| 1288 GtkTreeIter iter; | |
| 3367 | 1289 |
| 1290 if (!current_is_deny) | |
| 1291 return; | |
| 1292 | |
| 4491 | 1293 d = current_deny_gc->account->deny; |
| 3367 | 1294 |
| 4177 | 1295 gtk_list_store_clear(GTK_LIST_STORE(block_store)); |
| 3367 | 1296 |
| 1297 while (d) { | |
| 4177 | 1298 ls = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(block_list))); |
| 1299 | |
| 1300 gtk_list_store_append(ls, &iter); | |
| 1301 gtk_list_store_set(ls, &iter, 0, d->data, -1); | |
| 1302 | |
| 3367 | 1303 d = d->next; |
| 1304 } | |
| 1305 } | |
| 1306 | |
| 1307 static void deny_gc_opt(GtkWidget *opt, struct gaim_connection *gc) | |
| 1308 { | |
| 1309 current_deny_gc = gc; | |
| 1310 set_deny_type(); | |
| 1311 build_allow_list(); | |
| 1312 build_block_list(); | |
| 1313 } | |
| 1314 | |
| 1315 static void build_deny_menu() | |
| 1316 { | |
| 1317 GtkWidget *menu; | |
| 1318 GtkWidget *opt; | |
| 1319 GSList *c = connections; | |
| 1320 struct gaim_connection *gc; | |
| 1321 int count = 0; | |
| 1322 gboolean found = FALSE; | |
| 1323 char buf[2048]; | |
| 1324 | |
| 1325 if (g_slist_length(connections) == 1) { | |
| 1326 gtk_widget_hide(deny_conn_hbox); | |
| 1327 return; | |
| 1328 } else | |
| 1329 gtk_widget_show(deny_conn_hbox); | |
| 1330 | |
| 1331 menu = gtk_menu_new(); | |
| 1332 | |
| 1333 while (c) { | |
| 1334 gc = (struct gaim_connection *)c->data; | |
| 1335 c = c->next; | |
| 1336 if (!gc->prpl->set_permit_deny) | |
| 1337 continue; | |
| 3572 | 1338 g_snprintf(buf, sizeof buf, "%s (%s)", gc->username, gc->prpl->name); |
| 3367 | 1339 opt = gtk_menu_item_new_with_label(buf); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1340 g_signal_connect(GTK_OBJECT(opt), "activate", G_CALLBACK(deny_gc_opt), gc); |
| 3367 | 1341 gtk_widget_show(opt); |
| 4635 | 1342 gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); |
| 3367 | 1343 if (gc == current_deny_gc) |
| 1344 found = TRUE; | |
| 1345 else if (!found) | |
| 1346 count++; | |
| 1347 } | |
| 1348 | |
| 1349 if (!found) { | |
| 1350 current_deny_gc = connections->data; | |
| 1351 count = 0; | |
| 1352 } | |
| 1353 | |
| 1354 gtk_option_menu_remove_menu(GTK_OPTION_MENU(deny_opt_menu)); | |
| 1355 gtk_option_menu_set_menu(GTK_OPTION_MENU(deny_opt_menu), menu); | |
| 1356 gtk_option_menu_set_history(GTK_OPTION_MENU(deny_opt_menu), count); | |
| 1357 | |
| 1358 gtk_widget_show(menu); | |
| 1359 gtk_widget_show(deny_opt_menu); | |
| 1360 } | |
| 1361 | |
| 1362 static void pref_deny_add(GtkWidget *button, gboolean permit) | |
| 1363 { | |
| 1364 show_add_perm(current_deny_gc, NULL, permit); | |
| 1365 } | |
| 1366 | |
| 4177 | 1367 |
| 1368 gchar *find_permdeny_by_name(GSList *l, char *who) { | |
| 1369 gchar *name; | |
| 1370 | |
| 1371 while (l) { | |
| 1372 name = (gchar *)l->data; | |
| 1373 if (!strcmp(name, who)) { | |
| 1374 return name; | |
| 1375 } | |
| 1376 | |
| 1377 l = l->next; | |
| 1378 } | |
| 1379 | |
| 1380 return NULL; | |
| 1381 } | |
| 1382 | |
| 3367 | 1383 static void pref_deny_rem(GtkWidget *button, gboolean permit) |
| 1384 { | |
| 4177 | 1385 gchar *who; |
| 1386 GtkTreeIter iter; | |
| 1387 GtkTreeModel *mod; | |
| 1388 GtkTreeSelection *sel; | |
| 1389 | |
| 1390 if (permit) { | |
| 1391 mod = gtk_tree_view_get_model(GTK_TREE_VIEW(allow_list)); | |
| 1392 sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(allow_list)); | |
| 1393 } else { | |
| 1394 mod = gtk_tree_view_get_model(GTK_TREE_VIEW(block_list)); | |
| 1395 sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(block_list)); | |
| 1396 } | |
| 1397 | |
| 1398 if (gtk_tree_selection_get_selected(sel, NULL, &iter)) | |
| 1399 gtk_tree_model_get(GTK_TREE_MODEL(mod), &iter, 0, &who, -1); | |
| 1400 else { | |
| 1401 return; | |
| 1402 } | |
| 3367 | 1403 |
| 1404 if (permit && !allow_list) | |
| 1405 return; | |
| 4177 | 1406 |
| 3367 | 1407 if (!permit && !block_list) |
| 1408 return; | |
| 1409 | |
| 1410 if (permit) { | |
| 4491 | 1411 char *name = find_permdeny_by_name(current_deny_gc->account->permit, who); |
| 4177 | 1412 |
| 1413 if (name) { | |
| 4491 | 1414 gaim_privacy_permit_remove(current_deny_gc->account, name); |
| 4308 | 1415 serv_rem_permit(current_deny_gc, who); |
| 4177 | 1416 build_allow_list(); |
| 1417 } | |
| 3367 | 1418 } else { |
| 4491 | 1419 char *name = find_permdeny_by_name(current_deny_gc->account->deny, who); |
| 4177 | 1420 |
| 1421 if (name) { | |
| 4491 | 1422 gaim_privacy_deny_remove(current_deny_gc->account, name); |
| 4177 | 1423 serv_rem_deny(current_deny_gc, who); |
| 1424 build_block_list(); | |
| 1425 } | |
| 3367 | 1426 } |
| 1427 | |
| 4349 | 1428 gaim_blist_save(); |
| 3367 | 1429 } |
| 1430 | |
| 1431 GtkWidget *privacy_win; | |
| 1432 void update_privacy_connections() { /* This is a slightly better name */ | |
| 1433 gboolean needdeny = FALSE; | |
| 1434 GSList *c = connections; | |
| 1435 struct gaim_connection *gc = NULL; | |
| 1436 | |
| 1437 if (!privacy_win) | |
| 1438 return; | |
| 1439 | |
| 1440 while (c) { | |
| 1441 gc = c->data; | |
| 1442 if (gc->prpl->set_permit_deny) | |
| 1443 break; | |
| 1444 gc = NULL; | |
| 1445 c = c->next; | |
| 1446 } | |
| 1447 needdeny = (gc != NULL); | |
| 1448 | |
| 1449 | |
| 1450 if (needdeny) { | |
| 1451 gtk_widget_set_sensitive(privacy_win, TRUE); | |
| 1452 build_deny_menu(); | |
| 1453 build_allow_list(); | |
| 1454 build_block_list(); | |
| 1455 } else { | |
| 1456 gtk_widget_set_sensitive(privacy_win, FALSE); | |
| 1457 } | |
| 1458 } | |
| 1459 static void destroy_privacy() { | |
| 1460 current_deny_gc = NULL; | |
| 1461 privacy_win = NULL; | |
| 1462 } | |
| 1463 | |
| 4177 | 1464 void show_privacy_options() { |
| 1465 GtkWidget *pwin; | |
| 1466 GtkWidget *box; | |
| 1467 GtkWidget *hbox; | |
| 1468 GtkWidget *label; | |
| 1469 GtkWidget *sw; | |
| 1470 GtkWidget *bbox; | |
| 1471 GtkWidget *button; | |
| 1472 GtkWidget *sep; | |
| 1473 GtkWidget *close_button; | |
| 1474 GtkSizeGroup *sg1 = gtk_size_group_new(GTK_SIZE_GROUP_BOTH); | |
| 1475 GtkSizeGroup *sg2 = gtk_size_group_new(GTK_SIZE_GROUP_BOTH); | |
| 1476 GtkCellRenderer *rend; | |
| 1477 GtkTreeViewColumn *col; | |
| 4178 | 1478 GtkWidget *table; |
| 4177 | 1479 |
| 1480 current_deny_gc = connections->data; /* this is safe because this screen will only be | |
| 1481 available when there are connections */ | |
| 1482 current_is_deny = TRUE; | |
| 1483 | |
| 1484 privacy_win = pwin = gtk_window_new(GTK_WINDOW_TOPLEVEL); | |
| 4635 | 1485 gtk_window_set_resizable(GTK_WINDOW(pwin), FALSE); |
| 4177 | 1486 gtk_window_set_role(GTK_WINDOW(pwin), "privacy"); |
| 1487 gtk_window_set_title(GTK_WINDOW(pwin), _("Gaim - Privacy")); | |
| 1488 g_signal_connect(GTK_OBJECT(pwin), "destroy", G_CALLBACK(destroy_privacy), NULL); | |
| 1489 gtk_widget_realize(pwin); | |
| 1490 | |
| 4637 | 1491 gtk_widget_set_size_request(pwin, -1, 400); |
| 4177 | 1492 |
| 1493 box = gtk_vbox_new(FALSE, 5); | |
| 1494 gtk_container_set_border_width(GTK_CONTAINER(box), 5); | |
| 1495 gtk_container_add(GTK_CONTAINER(pwin), box); | |
| 1496 gtk_widget_show(box); | |
| 1497 | |
| 1498 label = gtk_label_new(_("Changes to privacy settings take effect immediately.")); | |
| 1499 gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5); | |
| 1500 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
| 1501 gtk_widget_show(label); | |
| 1502 | |
| 1503 deny_conn_hbox = gtk_hbox_new(FALSE, 5); | |
| 1504 gtk_box_pack_start(GTK_BOX(box), deny_conn_hbox, FALSE, FALSE, 0); | |
| 1505 gtk_widget_show(deny_conn_hbox); | |
| 1506 | |
| 1507 label = gtk_label_new(_("Set privacy for:")); | |
| 1508 gtk_box_pack_start(GTK_BOX(deny_conn_hbox), label, FALSE, FALSE, 5); | |
| 1509 gtk_widget_show(label); | |
| 1510 | |
| 1511 deny_opt_menu = gtk_option_menu_new(); | |
| 1512 gtk_box_pack_start(GTK_BOX(deny_conn_hbox), deny_opt_menu, FALSE, FALSE, 5); | |
| 1513 g_signal_connect(GTK_OBJECT(deny_opt_menu), "destroy", G_CALLBACK(des_deny_opt), NULL); | |
| 1514 gtk_widget_show(deny_opt_menu); | |
| 1515 | |
| 1516 build_deny_menu(); | |
| 1517 | |
| 4178 | 1518 table = gtk_table_new(5, 2, FALSE); |
| 1519 gtk_box_pack_start(GTK_BOX(box), table, TRUE, TRUE, 0); | |
| 1520 gtk_table_set_row_spacings(GTK_TABLE(table), 7); | |
| 1521 gtk_table_set_col_spacings(GTK_TABLE(table), 5); | |
| 1522 gtk_widget_show(table); | |
| 1523 | |
| 1524 deny_type = deny_opt(_("Allow all users to contact me"), 1, NULL); | |
| 4177 | 1525 gtk_size_group_add_widget(sg1, deny_type); |
| 4178 | 1526 gtk_table_attach(GTK_TABLE(table), deny_type, 0, 1, 0, 1, GTK_FILL, 0, 0, 0); |
| 1527 | |
| 1528 deny_type = deny_opt(_("Allow only users on my buddy list"), 5, deny_type); | |
| 4177 | 1529 gtk_size_group_add_widget(sg1, deny_type); |
| 4178 | 1530 gtk_table_attach(GTK_TABLE(table), deny_type, 0, 1, 1, 2, GTK_FILL, 0, 0, 0); |
| 1531 | |
| 1532 deny_type = deny_opt(_("Allow only the users below"), 3, deny_type); | |
| 4177 | 1533 gtk_size_group_add_widget(sg1, deny_type); |
| 4178 | 1534 gtk_table_attach(GTK_TABLE(table), deny_type, 0, 1, 2, 3, GTK_FILL, 0, 0, 0); |
| 4177 | 1535 |
| 1536 sw = gtk_scrolled_window_new(NULL, NULL); | |
| 1537 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); | |
| 4178 | 1538 gtk_table_attach(GTK_TABLE(table), sw, 0, 1, 3, 4, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); |
| 4177 | 1539 gtk_widget_show(sw); |
| 1540 | |
| 1541 allow_store = gtk_list_store_new(1, G_TYPE_STRING); | |
| 1542 allow_list = gtk_tree_view_new_with_model(GTK_TREE_MODEL(allow_store)); | |
| 1543 | |
| 1544 rend = gtk_cell_renderer_text_new(); | |
| 1545 col = gtk_tree_view_column_new_with_attributes(NULL, rend, "text", 0, NULL); | |
| 1546 gtk_tree_view_column_set_clickable(GTK_TREE_VIEW_COLUMN(col), TRUE); | |
| 1547 gtk_tree_view_append_column(GTK_TREE_VIEW(allow_list), col); | |
| 1548 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(allow_list), FALSE); | |
| 1549 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), allow_list); | |
| 1550 gtk_widget_show(allow_list); | |
| 1551 | |
| 1552 build_allow_list(); | |
| 1553 | |
| 4179 | 1554 bbox = gtk_hbox_new(TRUE, 0); |
| 4177 | 1555 gtk_widget_show(bbox); |
| 4178 | 1556 gtk_table_attach(GTK_TABLE(table), bbox, 0, 1, 4, 5, GTK_FILL, 0, 0, 0); |
| 4177 | 1557 |
| 1558 button = gtk_button_new_from_stock(GTK_STOCK_ADD); | |
| 1559 gtk_size_group_add_widget(sg2, button); | |
| 1560 gtk_widget_show(button); | |
| 1561 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(pref_deny_add), (void *)TRUE); | |
| 4179 | 1562 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
| 4177 | 1563 |
| 1564 button = gtk_button_new_from_stock(GTK_STOCK_REMOVE); | |
| 1565 gtk_size_group_add_widget(sg2, button); | |
| 1566 gtk_widget_show(button); | |
| 1567 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(pref_deny_rem), (void *)TRUE); | |
| 4179 | 1568 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
| 4177 | 1569 |
| 4178 | 1570 deny_type = deny_opt(_("Deny all users"), 2, deny_type); |
| 4177 | 1571 gtk_size_group_add_widget(sg1, deny_type); |
| 4178 | 1572 gtk_table_attach(GTK_TABLE(table), deny_type, 1, 2, 1, 2, GTK_FILL, 0, 0, 0); |
| 1573 | |
| 1574 deny_type = deny_opt(_("Block the users below"), 4, deny_type); | |
| 4177 | 1575 gtk_size_group_add_widget(sg1, deny_type); |
| 4178 | 1576 gtk_table_attach(GTK_TABLE(table), deny_type, 1, 2, 2, 3, GTK_FILL, 0, 0, 0); |
| 4177 | 1577 |
| 1578 sw = gtk_scrolled_window_new(NULL, NULL); | |
| 1579 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); | |
| 4178 | 1580 gtk_table_attach(GTK_TABLE(table), sw, 1, 2, 3, 4, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); |
| 4177 | 1581 gtk_widget_show(sw); |
| 1582 | |
| 1583 block_store = gtk_list_store_new(1, G_TYPE_STRING); | |
| 1584 block_list = gtk_tree_view_new_with_model(GTK_TREE_MODEL(block_store)); | |
| 1585 | |
| 1586 rend = gtk_cell_renderer_text_new(); | |
| 1587 col = gtk_tree_view_column_new_with_attributes(NULL, rend, "text", 0, NULL); | |
| 1588 gtk_tree_view_column_set_clickable(GTK_TREE_VIEW_COLUMN(col), TRUE); | |
| 1589 gtk_tree_view_append_column(GTK_TREE_VIEW(block_list), col); | |
| 1590 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(block_list), FALSE); | |
| 1591 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), block_list); | |
| 1592 gtk_widget_show(block_list); | |
| 1593 | |
| 1594 build_block_list(); | |
| 1595 | |
| 4179 | 1596 bbox = gtk_hbox_new(TRUE, 0); |
| 4178 | 1597 gtk_table_attach(GTK_TABLE(table), bbox, 1, 2, 4, 5, GTK_FILL, 0, 0, 0); |
| 4177 | 1598 gtk_widget_show(bbox); |
| 1599 | |
| 1600 button = gtk_button_new_from_stock(GTK_STOCK_ADD); | |
| 1601 gtk_size_group_add_widget(sg2, button); | |
| 1602 gtk_widget_show(button); | |
| 1603 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(pref_deny_add), FALSE); | |
| 4179 | 1604 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
| 4177 | 1605 |
| 1606 button = gtk_button_new_from_stock(GTK_STOCK_REMOVE); | |
| 1607 gtk_size_group_add_widget(sg2, button); | |
| 1608 gtk_widget_show(button); | |
| 1609 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(pref_deny_rem), FALSE); | |
| 4179 | 1610 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
| 4177 | 1611 |
| 1612 sep = gtk_hseparator_new(); | |
| 1613 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 5); | |
| 1614 gtk_widget_show(sep); | |
| 1615 | |
| 4178 | 1616 hbox = gtk_hbox_new(FALSE, 0); |
| 1617 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 0); | |
| 4177 | 1618 gtk_widget_show(hbox); |
| 4178 | 1619 |
| 4177 | 1620 close_button = gtk_button_new_from_stock(GTK_STOCK_CLOSE); |
| 1621 gtk_box_pack_end(GTK_BOX(hbox), close_button, FALSE, FALSE, 0); | |
| 1622 g_signal_connect_swapped(GTK_OBJECT(close_button), "clicked", G_CALLBACK(gtk_widget_destroy), pwin); | |
| 4178 | 1623 gtk_widget_show(close_button); |
| 4177 | 1624 |
| 1625 gtk_widget_show(pwin); | |
| 1626 | |
| 1627 } | |
| 1628 | |
| 1 | 1629 /*------------------------------------------------------------------------*/ |
| 1630 /* The dialog for new buddy pounces */ | |
| 1631 /*------------------------------------------------------------------------*/ | |
| 1632 | |
| 1633 | |
| 1634 void do_new_bp(GtkWidget *w, struct addbp *b) | |
| 1635 { | |
| 2986 | 1636 struct buddy_pounce *bp; |
| 1637 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1638 if (strlen(gtk_entry_get_text(GTK_ENTRY(b->nameentry))) == 0) { |
| 3427 | 1639 do_error_dialog(_("Please enter a buddy to pounce."), NULL, GAIM_ERROR); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1640 return; |
| 1292 | 1641 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1642 |
| 2986 | 1643 if(!b->buddy_pounce) |
| 1644 bp = g_new0(struct buddy_pounce, 1); | |
| 1645 else | |
| 1646 bp = b->buddy_pounce; | |
| 1647 | |
| 1648 | |
| 26 | 1649 g_snprintf(bp->name, 80, "%s", gtk_entry_get_text(GTK_ENTRY(b->nameentry))); |
| 1650 g_snprintf(bp->message, 2048, "%s", gtk_entry_get_text(GTK_ENTRY(b->messentry))); | |
|
1229
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1651 g_snprintf(bp->command, 2048, "%s", gtk_entry_get_text(GTK_ENTRY(b->commentry))); |
| 1694 | 1652 g_snprintf(bp->sound, 2048, "%s", gtk_entry_get_text(GTK_ENTRY(b->soundentry))); |
| 4491 | 1653 g_snprintf(bp->pouncer, 80, "%s", b->account->username); |
| 1654 | |
| 1655 bp->protocol = b->account->protocol; | |
| 1155 | 1656 |
|
1235
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1657 bp->options = 0; |
|
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1658 |
| 2550 | 1659 if (GTK_TOGGLE_BUTTON(b->popupnotify)->active) |
| 1660 bp->options |= OPT_POUNCE_NOTIFY; | |
| 1661 | |
| 1 | 1662 if (GTK_TOGGLE_BUTTON(b->openwindow)->active) |
|
1235
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1663 bp->options |= OPT_POUNCE_POPUP; |
| 1 | 1664 |
| 1665 if (GTK_TOGGLE_BUTTON(b->sendim)->active) | |
|
1235
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1666 bp->options |= OPT_POUNCE_SEND_IM; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1667 |
|
1229
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1668 if (GTK_TOGGLE_BUTTON(b->command)->active) |
|
1235
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1669 bp->options |= OPT_POUNCE_COMMAND; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1670 |
| 1694 | 1671 if (GTK_TOGGLE_BUTTON(b->sound)->active) |
| 1672 bp->options |= OPT_POUNCE_SOUND; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1673 |
| 1137 | 1674 if (GTK_TOGGLE_BUTTON(b->p_signon)->active) |
|
1235
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1675 bp->options |= OPT_POUNCE_SIGNON; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1676 |
| 1137 | 1677 if (GTK_TOGGLE_BUTTON(b->p_unaway)->active) |
|
1235
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1678 bp->options |= OPT_POUNCE_UNAWAY; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1679 |
| 1137 | 1680 if (GTK_TOGGLE_BUTTON(b->p_unidle)->active) |
|
1235
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1681 bp->options |= OPT_POUNCE_UNIDLE; |
| 2993 | 1682 |
| 1683 if (GTK_TOGGLE_BUTTON(b->p_typing)->active) | |
| 1684 bp->options |= OPT_POUNCE_TYPING; | |
|
1235
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1685 |
|
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1686 if (GTK_TOGGLE_BUTTON(b->save)->active) |
|
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1687 bp->options |= OPT_POUNCE_SAVE; |
| 26 | 1688 |
| 2986 | 1689 if(!b->buddy_pounce) |
| 1690 buddy_pounces = g_list_append(buddy_pounces, bp); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1691 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1692 do_bp_menu(); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1693 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1694 destroy_dialog(NULL, b->window); |
| 1137 | 1695 |
|
786
ffb824f6cd24
[gaim-migrate @ 796]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
780
diff
changeset
|
1696 save_prefs(); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1697 g_free(b); |
| 1 | 1698 } |
| 1699 | |
| 1139 | 1700 static void pounce_choose(GtkWidget *opt, struct addbp *b) |
| 1701 { | |
| 4635 | 1702 struct gaim_account *account = g_object_get_data(G_OBJECT(opt), "gaim_account"); |
| 4491 | 1703 b->account = account; |
| 1139 | 1704 } |
| 1705 | |
| 2564 | 1706 static GtkWidget *pounce_user_menu(struct addbp *b, struct gaim_connection *gc) |
| 1137 | 1707 { |
| 1708 GtkWidget *optmenu; | |
| 1709 GtkWidget *menu; | |
| 1710 GtkWidget *opt; | |
| 4491 | 1711 GSList *u = gaim_accounts; |
| 1712 struct gaim_account *account; | |
| 3082 | 1713 struct prpl *p; |
| 2564 | 1714 int count = 0; |
| 1715 int place = 0; | |
| 3082 | 1716 char buf[2048]; |
| 1137 | 1717 |
| 3795 | 1718 |
| 1137 | 1719 optmenu = gtk_option_menu_new(); |
| 1720 | |
| 1721 menu = gtk_menu_new(); | |
| 1722 | |
| 1723 while (u) { | |
| 4491 | 1724 account = (struct gaim_account *)u->data; |
| 1725 p = (struct prpl *)find_prpl(account->protocol); | |
| 1726 g_snprintf(buf, sizeof buf, "%s (%s)", account->username, (p && p->name)?p->name:_("Unknown")); | |
| 3082 | 1727 opt = gtk_menu_item_new_with_label(buf); |
| 4635 | 1728 g_object_set_data(G_OBJECT(opt), "gaim_account", account); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1729 g_signal_connect(GTK_OBJECT(opt), "activate", G_CALLBACK(pounce_choose), b); |
| 4635 | 1730 gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); |
| 1137 | 1731 gtk_widget_show(opt); |
| 2564 | 1732 |
| 4491 | 1733 if (b->account == account) { |
| 2564 | 1734 gtk_menu_item_activate(GTK_MENU_ITEM(opt)); |
| 1735 place = count; | |
| 1736 } | |
| 1737 | |
| 1738 count++; | |
| 4491 | 1739 |
| 1137 | 1740 u = u->next; |
| 1741 } | |
| 1742 | |
| 1743 gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), menu); | |
| 2564 | 1744 gtk_option_menu_set_history(GTK_OPTION_MENU(optmenu), place); |
| 1137 | 1745 |
| 1746 b->menu = optmenu; | |
| 2550 | 1747 |
| 1748 return optmenu; | |
| 1137 | 1749 } |
| 1750 | |
| 1 | 1751 |
| 2986 | 1752 void show_new_bp(char *name, struct gaim_connection *gc, int idle, int away, struct buddy_pounce *edit_bp) |
| 1 | 1753 { |
| 1754 GtkWidget *label; | |
| 1755 GtkWidget *bbox; | |
| 1756 GtkWidget *vbox; | |
| 443 | 1757 GtkWidget *button; |
| 2550 | 1758 GtkWidget *frame; |
| 1759 GtkWidget *table; | |
| 1760 GtkWidget *optmenu; | |
| 3795 | 1761 GtkWidget *sep; |
| 1762 GtkSizeGroup *sg; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1763 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1764 struct addbp *b = g_new0(struct addbp, 1); |
| 2986 | 1765 |
| 1766 if(edit_bp) { | |
| 1767 b->buddy_pounce = edit_bp; | |
| 4491 | 1768 b->account = gaim_account_find(edit_bp->pouncer, edit_bp->protocol); |
| 2986 | 1769 } else { |
| 4491 | 1770 b->account = gc ? gc->account : gaim_accounts->data; |
| 2986 | 1771 b->buddy_pounce = NULL; |
| 1772 } | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1773 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
1774 GAIM_DIALOG(b->window); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1775 dialogwindows = g_list_prepend(dialogwindows, b->window); |
| 4635 | 1776 gtk_window_set_resizable(GTK_WINDOW(b->window), TRUE); |
| 4074 | 1777 gtk_window_set_role(GTK_WINDOW(b->window), "new_bp"); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1778 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - New Buddy Pounce")); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1779 g_signal_connect(GTK_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window); |
|
1141
8f4ce8b74901
[gaim-migrate @ 1151]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1140
diff
changeset
|
1780 gtk_widget_realize(b->window); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1781 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1782 vbox = gtk_vbox_new(FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1783 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1784 gtk_container_add(GTK_CONTAINER(b->window), vbox); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1785 gtk_widget_show(vbox); |
|
1229
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1786 |
| 2550 | 1787 /* <pounce type="who"> */ |
| 1788 frame = gtk_frame_new(_("Pounce Who")); | |
| 1789 gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0); | |
| 1790 gtk_widget_show(GTK_WIDGET(frame)); | |
| 1791 | |
| 1792 table = gtk_table_new(2, 2, FALSE); | |
| 1793 gtk_container_add(GTK_CONTAINER(frame), table); | |
| 1794 gtk_container_set_border_width(GTK_CONTAINER(table), 5); | |
| 1795 gtk_table_set_col_spacings(GTK_TABLE(table), 5); | |
| 1796 gtk_table_set_row_spacings(GTK_TABLE(table), 5); | |
| 1797 gtk_widget_show(table); | |
| 1798 | |
| 1799 label = gtk_label_new(_("Account")); | |
| 1800 gtk_misc_set_alignment(GTK_MISC(label), 0, .5); | |
| 1801 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, GTK_FILL, 0, 0, 0); | |
| 1802 gtk_widget_show(label); | |
| 1803 | |
| 2564 | 1804 optmenu = pounce_user_menu(b, gc); |
| 2550 | 1805 gtk_table_attach(GTK_TABLE(table), optmenu, 1, 2, 0, 1, GTK_FILL | GTK_EXPAND, 0, 0, 0); |
| 1806 gtk_widget_show(optmenu); | |
| 1807 | |
| 1808 label = gtk_label_new(_("Buddy")); | |
| 1809 gtk_misc_set_alignment(GTK_MISC(label), 0, .5); | |
| 1810 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 1, 2, GTK_FILL, 0, 0, 0); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1811 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1812 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1813 b->nameentry = gtk_entry_new(); |
| 2550 | 1814 gtk_table_attach(GTK_TABLE(table), b->nameentry, 1, 2, 1, 2, GTK_FILL | GTK_EXPAND, 0, 0, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1815 if (name !=NULL) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1816 gtk_entry_set_text(GTK_ENTRY(b->nameentry), name); |
| 2986 | 1817 else if(edit_bp) |
| 1818 gtk_entry_set_text(GTK_ENTRY(b->nameentry), edit_bp->name); | |
|
1229
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1819 gtk_window_set_focus(GTK_WINDOW(b->window), b->nameentry); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1820 gtk_widget_show(b->nameentry); |
| 2550 | 1821 /* </pounce type="who"> */ |
| 1822 | |
| 1823 | |
| 1824 /* <pounce type="when"> */ | |
| 1825 frame = gtk_frame_new(_("Pounce When")); | |
| 1826 gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0); | |
| 1827 gtk_widget_show(GTK_WIDGET(frame)); | |
| 1828 | |
| 1829 table = gtk_table_new(2, 2, FALSE); | |
| 1830 gtk_container_add(GTK_CONTAINER(frame), table); | |
| 1831 gtk_container_set_border_width(GTK_CONTAINER(table), 5); | |
| 1832 gtk_table_set_col_spacings(GTK_TABLE(table), 5); | |
| 1833 gtk_widget_show(table); | |
| 4635 | 1834 |
|
1229
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1835 b->p_signon = gtk_check_button_new_with_label(_("Pounce on sign on")); |
| 2986 | 1836 if(edit_bp) |
| 4635 | 1837 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->p_signon), |
| 2986 | 1838 (edit_bp->options & OPT_POUNCE_SIGNON) ? TRUE : FALSE); |
| 1839 else | |
| 4635 | 1840 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->p_signon), TRUE); |
| 2550 | 1841 gtk_table_attach(GTK_TABLE(table), b->p_signon, 0, 1, 0, 1, GTK_FILL, 0, 0, 0); |
|
1229
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1842 gtk_widget_show(b->p_signon); |
|
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1843 |
|
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1844 b->p_unaway = gtk_check_button_new_with_label(_("Pounce on return from away")); |
| 2564 | 1845 if (away) |
| 4635 | 1846 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->p_unaway), TRUE); |
| 2986 | 1847 else if(edit_bp) |
| 4635 | 1848 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->p_unaway), |
| 2986 | 1849 (edit_bp->options & OPT_POUNCE_UNAWAY) ? TRUE : FALSE); |
| 2550 | 1850 gtk_table_attach(GTK_TABLE(table), b->p_unaway, 1, 2, 0, 1, GTK_FILL | GTK_EXPAND, 0, 0, 0); |
|
1229
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1851 gtk_widget_show(b->p_unaway); |
|
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1852 |
|
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1853 b->p_unidle = gtk_check_button_new_with_label(_("Pounce on return from idle")); |
| 2564 | 1854 if (idle) |
| 4635 | 1855 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->p_unidle), TRUE); |
| 2986 | 1856 else if(edit_bp) |
| 4635 | 1857 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->p_unidle), |
| 2986 | 1858 (edit_bp->options & OPT_POUNCE_UNIDLE) ? TRUE : FALSE); |
| 2550 | 1859 gtk_table_attach(GTK_TABLE(table), b->p_unidle, 0, 1, 1, 2, GTK_FILL, 0, 0, 0); |
|
1229
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1860 gtk_widget_show(b->p_unidle); |
| 4635 | 1861 |
| 2993 | 1862 b->p_typing = gtk_check_button_new_with_label(_("Pounce when buddy is typing to you")); |
| 4635 | 1863 if (edit_bp) |
| 1864 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->p_typing), | |
| 2996 | 1865 (edit_bp->options & OPT_POUNCE_TYPING) ? TRUE : FALSE); |
| 2993 | 1866 gtk_table_attach(GTK_TABLE(table), b->p_typing,1,2,1,2, GTK_FILL | GTK_EXPAND, 0, 0, 0); |
| 1867 gtk_widget_show(b->p_typing); | |
| 1868 | |
| 2550 | 1869 /* </pounce type="when"> */ |
| 4635 | 1870 |
| 2550 | 1871 /* <pounce type="action"> */ |
| 1872 frame = gtk_frame_new(_("Pounce Action")); | |
| 1873 gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0); | |
| 1874 gtk_widget_show(GTK_WIDGET(frame)); | |
| 1875 | |
| 1876 table = gtk_table_new(4, 2, FALSE); | |
| 1877 gtk_container_add(GTK_CONTAINER(frame), table); | |
| 1878 gtk_container_set_border_width(GTK_CONTAINER(table), 5); | |
| 1879 gtk_table_set_col_spacings(GTK_TABLE(table), 5); | |
| 1880 gtk_table_set_row_spacings(GTK_TABLE(table), 5); | |
| 1881 gtk_widget_show(table); | |
| 4635 | 1882 |
| 2550 | 1883 b->openwindow = gtk_check_button_new_with_label(_("Open IM Window")); |
| 2986 | 1884 if(edit_bp) |
| 4635 | 1885 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->openwindow), |
| 2986 | 1886 (edit_bp->options & OPT_POUNCE_POPUP) ? TRUE : FALSE); |
| 1887 else | |
| 4635 | 1888 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->openwindow), FALSE); |
| 2550 | 1889 gtk_table_attach(GTK_TABLE(table), b->openwindow, 0, 1, 0, 1, GTK_FILL, 0, 0, 0); |
|
1229
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1890 gtk_widget_show(b->openwindow); |
| 4635 | 1891 |
| 2550 | 1892 b->popupnotify = gtk_check_button_new_with_label(_("Popup Notification")); |
| 2986 | 1893 if(edit_bp) |
| 4635 | 1894 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->popupnotify), |
| 2986 | 1895 (edit_bp->options & OPT_POUNCE_NOTIFY) ? TRUE : FALSE); |
| 1896 else | |
| 4635 | 1897 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->popupnotify), FALSE); |
| 2550 | 1898 gtk_table_attach(GTK_TABLE(table), b->popupnotify, 1, 2, 0, 1, GTK_FILL, 0, 0, 0); |
| 1899 gtk_widget_show(b->popupnotify); | |
| 1900 | |
| 1901 b->sendim = gtk_check_button_new_with_label(_("Send Message")); | |
| 2986 | 1902 if(edit_bp) |
| 4635 | 1903 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->sendim), |
| 2986 | 1904 (edit_bp->options & OPT_POUNCE_SEND_IM) ? TRUE : FALSE); |
| 1905 else | |
| 4635 | 1906 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->sendim), TRUE); |
| 2550 | 1907 gtk_table_attach(GTK_TABLE(table), b->sendim, 0, 1, 1, 2, GTK_FILL, 0, 0, 0); |
|
1229
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1908 gtk_widget_show(b->sendim); |
|
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1909 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1910 b->messentry = gtk_entry_new(); |
| 2550 | 1911 gtk_table_attach(GTK_TABLE(table), b->messentry, 1, 2, 1, 2, GTK_FILL | GTK_EXPAND, 0, 0, 0); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1912 g_signal_connect(GTK_OBJECT(b->messentry), "activate", G_CALLBACK(do_new_bp), b); |
| 2986 | 1913 if(edit_bp) { |
| 4635 | 1914 gtk_widget_set_sensitive(GTK_WIDGET(b->messentry), |
| 2986 | 1915 (edit_bp->options & OPT_POUNCE_SEND_IM) ? TRUE : FALSE); |
| 1916 gtk_entry_set_text(GTK_ENTRY(b->messentry), edit_bp->message); | |
| 1917 } | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1918 gtk_widget_show(b->messentry); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1919 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1920 g_signal_connect(GTK_OBJECT(b->sendim), "clicked", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1921 G_CALLBACK(gaim_gtk_toggle_sensitive), b->messentry); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1922 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1923 b->command = gtk_check_button_new_with_label(_("Execute command on pounce")); |
| 2550 | 1924 gtk_table_attach(GTK_TABLE(table), b->command, 0, 1, 2, 3, GTK_FILL, 0, 0, 0); |
| 2986 | 1925 if(edit_bp) |
| 4635 | 1926 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->command), |
| 2986 | 1927 (edit_bp->options & OPT_POUNCE_COMMAND) ? TRUE : FALSE); |
| 1928 else | |
| 4635 | 1929 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->command), FALSE); |
|
1229
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1930 gtk_widget_show(b->command); |
|
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1931 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1932 b->commentry = gtk_entry_new(); |
| 2550 | 1933 gtk_table_attach(GTK_TABLE(table), b->commentry, 1, 2, 2, 3, GTK_FILL | GTK_EXPAND, 0, 0, 0); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1934 g_signal_connect(GTK_OBJECT(b->commentry), "activate", G_CALLBACK(do_new_bp), b); |
| 2986 | 1935 if(edit_bp) { |
| 1936 gtk_widget_set_sensitive(GTK_WIDGET(b->commentry), | |
| 1937 (edit_bp->options & OPT_POUNCE_COMMAND) ? TRUE : FALSE); | |
| 1938 gtk_entry_set_text(GTK_ENTRY(b->commentry), edit_bp->command); | |
| 1939 } | |
| 1940 else | |
| 1941 gtk_widget_set_sensitive(GTK_WIDGET(b->commentry), FALSE); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1942 gtk_widget_show(b->commentry); |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1943 g_signal_connect(GTK_OBJECT(b->command), "clicked", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1944 G_CALLBACK(gaim_gtk_toggle_sensitive), b->commentry); |
| 4635 | 1945 |
| 1694 | 1946 b->sound = gtk_check_button_new_with_label(_("Play sound on pounce")); |
| 2986 | 1947 if(edit_bp) |
| 4635 | 1948 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->sound), |
| 2986 | 1949 (edit_bp->options & OPT_POUNCE_SOUND) ? TRUE : FALSE); |
| 1950 else | |
| 4635 | 1951 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->sound), FALSE); |
| 2550 | 1952 gtk_table_attach(GTK_TABLE(table), b->sound, 0, 1, 3, 4, GTK_FILL, 0, 0, 0); |
| 1694 | 1953 gtk_widget_show(b->sound); |
| 1954 | |
| 1955 b->soundentry = gtk_entry_new(); | |
| 2550 | 1956 gtk_table_attach(GTK_TABLE(table), b->soundentry, 1, 2, 3, 4, GTK_FILL | GTK_EXPAND, 0, 0, 0); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1957 g_signal_connect(GTK_OBJECT(b->soundentry), "activate", G_CALLBACK(do_new_bp), b); |
| 2986 | 1958 if(edit_bp) { |
| 1959 gtk_widget_set_sensitive(GTK_WIDGET(b->soundentry), | |
| 1960 (edit_bp->options & OPT_POUNCE_SOUND) ? TRUE : FALSE); | |
| 1961 gtk_entry_set_text(GTK_ENTRY(b->soundentry), edit_bp->sound); | |
| 1962 } else | |
| 1963 gtk_widget_set_sensitive(GTK_WIDGET(b->soundentry), FALSE); | |
| 1694 | 1964 gtk_widget_show(b->soundentry); |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1965 g_signal_connect(GTK_OBJECT(b->sound), "clicked", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1966 G_CALLBACK(gaim_gtk_toggle_sensitive), b->soundentry); |
| 2550 | 1967 /* </pounce type="action"> */ |
|
1229
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1968 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1969 b->save = gtk_check_button_new_with_label(_("Save this pounce after activation")); |
| 2550 | 1970 gtk_container_set_border_width(GTK_CONTAINER(b->save), 7); |
| 2986 | 1971 if(edit_bp) |
| 4635 | 1972 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->save), |
| 2986 | 1973 (edit_bp->options & OPT_POUNCE_SAVE) ? TRUE : FALSE); |
| 1974 else | |
| 4635 | 1975 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->save), FALSE); |
|
1235
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1976 gtk_box_pack_start(GTK_BOX(vbox), b->save, FALSE, FALSE, 0); |
|
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1977 gtk_widget_show(b->save); |
|
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1978 |
| 3795 | 1979 sep = gtk_hseparator_new(); |
| 1980 gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0); | |
| 1981 gtk_widget_show(sep); | |
| 1982 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1983 bbox = gtk_hbox_new(FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1984 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1985 gtk_widget_show(bbox); |
| 443 | 1986 |
| 3795 | 1987 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); |
| 1988 | |
| 4011 | 1989 button = gaim_pixbuf_button_from_stock(_("_Save"), "gtk-execute", GAIM_BUTTON_HORIZONTAL); |
| 3795 | 1990 gtk_size_group_add_widget(sg, button); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1991 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(do_new_bp), b); |
| 3795 | 1992 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
| 1993 gtk_widget_show(button); | |
| 1994 | |
| 1995 button = gaim_pixbuf_button_from_stock(_("C_ancel"), "gtk-cancel", GAIM_BUTTON_HORIZONTAL); | |
| 1996 gtk_size_group_add_widget(sg, button); | |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1997 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(destroy_dialog), b->window); |
| 1185 | 1998 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
| 3795 | 1999 gtk_widget_show(button); |
| 2000 | |
| 443 | 2001 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2002 gtk_widget_show(b->window); |
| 1 | 2003 } |
| 2004 | |
| 2005 | |
| 2006 | |
| 2007 /*------------------------------------------------------------------------*/ | |
| 2008 /* The dialog for SET INFO / SET DIR INFO */ | |
| 2009 /*------------------------------------------------------------------------*/ | |
| 2010 | |
| 2011 void do_save_info(GtkWidget *widget, struct set_info_dlg *b) | |
| 2012 { | |
| 2013 gchar *junk; | |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
940
diff
changeset
|
2014 struct gaim_connection *gc; |
| 1 | 2015 |
| 4119 | 2016 junk = gtk_text_view_get_text(GTK_TEXT_VIEW(b->text), FALSE); |
| 1 | 2017 |
| 4491 | 2018 if (b->account) { |
| 2019 strncpy_withhtml(b->account->user_info, junk, sizeof b->account->user_info); | |
| 2020 gc = b->account->gc; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2021 |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
940
diff
changeset
|
2022 save_prefs(); |
|
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
940
diff
changeset
|
2023 |
| 1292 | 2024 if (gc) |
| 4491 | 2025 serv_set_info(gc, b->account->user_info); |
|
122
521db4bf5f28
[gaim-migrate @ 132]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
84
diff
changeset
|
2026 } |
| 25 | 2027 g_free(junk); |
| 1 | 2028 destroy_dialog(NULL, b->window); |
| 2029 g_free(b); | |
| 2030 } | |
| 2031 | |
| 2032 void do_set_dir(GtkWidget *widget, struct set_dir_dlg *b) | |
| 2033 { | |
| 3466 | 2034 const char *first = gtk_entry_get_text(GTK_ENTRY(b->first)); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2035 int web = GTK_TOGGLE_BUTTON(b->web)->active; |
| 3466 | 2036 const char *middle = gtk_entry_get_text(GTK_ENTRY(b->middle)); |
| 2037 const char *last = gtk_entry_get_text(GTK_ENTRY(b->last)); | |
| 2038 const char *maiden = gtk_entry_get_text(GTK_ENTRY(b->maiden)); | |
| 2039 const char *city = gtk_entry_get_text(GTK_ENTRY(b->city)); | |
| 2040 const char *state = gtk_entry_get_text(GTK_ENTRY(b->state)); | |
| 2041 const char *country = gtk_entry_get_text(GTK_ENTRY(b->country)); | |
| 1 | 2042 |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2043 serv_set_dir(b->gc, first, middle, last, maiden, city, state, country, web); |
| 1 | 2044 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2045 destroy_dialog(NULL, b->window); |
| 1 | 2046 g_free(b); |
| 2047 } | |
| 2048 | |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2049 void show_set_dir(struct gaim_connection *gc) |
| 1 | 2050 { |
| 2051 GtkWidget *label; | |
| 2052 GtkWidget *bot; | |
| 484 | 2053 GtkWidget *vbox; |
| 2054 GtkWidget *hbox; | |
| 2055 GtkWidget *frame; | |
| 2056 GtkWidget *fbox; | |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2057 char buf[256]; |
| 1 | 2058 |
| 2059 struct set_dir_dlg *b = g_new0(struct set_dir_dlg, 1); | |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2060 b->gc = gc; |
| 1 | 2061 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
2062 GAIM_DIALOG(b->window); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2063 dialogwindows = g_list_prepend(dialogwindows, b->window); |
| 4074 | 2064 gtk_window_set_role(GTK_WINDOW(b->window), "set_dir"); |
| 4635 | 2065 gtk_window_set_resizable(GTK_WINDOW(b->window), TRUE); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2066 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Set Dir Info")); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2067 g_signal_connect(GTK_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2068 gtk_widget_realize(b->window); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2069 |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2070 fbox = gtk_vbox_new(FALSE, 5); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2071 gtk_container_add(GTK_CONTAINER(b->window), fbox); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2072 gtk_widget_show(fbox); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2073 |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2074 frame = gtk_frame_new(_("Directory Info")); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2075 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2076 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 0); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2077 gtk_widget_show(frame); |
| 484 | 2078 |
| 2079 vbox = gtk_vbox_new(FALSE, 5); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2080 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2081 gtk_container_add(GTK_CONTAINER(frame), vbox); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2082 gtk_widget_show(vbox); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2083 |
| 4472 | 2084 g_snprintf(buf, sizeof(buf), _("Setting Dir Info for %s:"), gc->username); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2085 label = gtk_label_new(buf); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2086 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2087 gtk_widget_show(label); |
| 1 | 2088 |
| 2089 b->first = gtk_entry_new(); | |
| 2090 b->middle = gtk_entry_new(); | |
| 2091 b->last = gtk_entry_new(); | |
| 2092 b->maiden = gtk_entry_new(); | |
| 2093 b->city = gtk_entry_new(); | |
| 2094 b->state = gtk_entry_new(); | |
| 2095 b->country = gtk_entry_new(); | |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
2096 b->web = gtk_check_button_new_with_label(_("Allow Web Searches To Find Your Info")); |
| 484 | 2097 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2098 /* Line 1 */ |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
2099 label = gtk_label_new(_("First Name")); |
| 1 | 2100 gtk_widget_show(label); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2101 |
| 484 | 2102 hbox = gtk_hbox_new(FALSE, 5); |
| 1185 | 2103 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 2104 gtk_box_pack_end(GTK_BOX(hbox), b->first, FALSE, FALSE, 0); | |
| 2105 | |
| 2106 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 484 | 2107 gtk_widget_show(hbox); |
| 2108 | |
| 2109 /* Line 2 */ | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2110 label = gtk_label_new(_("Middle Name")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2111 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2112 |
| 484 | 2113 hbox = gtk_hbox_new(FALSE, 5); |
| 1185 | 2114 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 2115 gtk_box_pack_end(GTK_BOX(hbox), b->middle, FALSE, FALSE, 0); | |
| 2116 | |
| 2117 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 484 | 2118 gtk_widget_show(hbox); |
| 2119 | |
| 2120 | |
| 2121 /* Line 3 */ | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2122 label = gtk_label_new(_("Last Name")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2123 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2124 |
| 484 | 2125 hbox = gtk_hbox_new(FALSE, 5); |
| 1185 | 2126 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 2127 gtk_box_pack_end(GTK_BOX(hbox), b->last, FALSE, FALSE, 0); | |
| 2128 | |
| 2129 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 484 | 2130 gtk_widget_show(hbox); |
| 2131 | |
| 2132 /* Line 4 */ | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2133 label = gtk_label_new(_("Maiden Name")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2134 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2135 |
| 484 | 2136 hbox = gtk_hbox_new(FALSE, 5); |
| 1185 | 2137 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 2138 gtk_box_pack_end(GTK_BOX(hbox), b->maiden, FALSE, FALSE, 0); | |
| 2139 | |
| 2140 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 484 | 2141 gtk_widget_show(hbox); |
| 2142 | |
| 2143 /* Line 5 */ | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2144 label = gtk_label_new(_("City")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2145 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2146 |
| 484 | 2147 hbox = gtk_hbox_new(FALSE, 5); |
| 1185 | 2148 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 2149 gtk_box_pack_end(GTK_BOX(hbox), b->city, FALSE, FALSE, 0); | |
| 2150 | |
| 2151 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 484 | 2152 gtk_widget_show(hbox); |
| 2153 | |
| 2154 /* Line 6 */ | |
| 1185 | 2155 label = gtk_label_new(_("State")); |
| 1 | 2156 gtk_widget_show(label); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2157 |
| 484 | 2158 hbox = gtk_hbox_new(FALSE, 5); |
| 1185 | 2159 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 2160 gtk_box_pack_end(GTK_BOX(hbox), b->state, FALSE, FALSE, 0); | |
| 2161 | |
| 2162 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 484 | 2163 gtk_widget_show(hbox); |
| 2164 | |
| 2165 /* Line 7 */ | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2166 label = gtk_label_new(_("Country")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2167 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2168 |
| 484 | 2169 hbox = gtk_hbox_new(FALSE, 5); |
| 1185 | 2170 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 2171 gtk_box_pack_end(GTK_BOX(hbox), b->country, FALSE, FALSE, 0); | |
| 2172 | |
| 2173 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 484 | 2174 gtk_widget_show(hbox); |
| 2175 | |
| 2176 /* Line 8 */ | |
| 2177 | |
| 2178 hbox = gtk_hbox_new(FALSE, 5); | |
| 1185 | 2179 gtk_box_pack_start(GTK_BOX(hbox), b->web, TRUE, TRUE, 0); |
| 484 | 2180 gtk_widget_show(hbox); |
| 1185 | 2181 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 484 | 2182 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2183 gtk_widget_show(b->first); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2184 gtk_widget_show(b->middle); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2185 gtk_widget_show(b->last); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2186 gtk_widget_show(b->maiden); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2187 gtk_widget_show(b->city); |
| 1 | 2188 gtk_widget_show(b->state); |
| 2189 gtk_widget_show(b->country); | |
| 2190 gtk_widget_show(b->web); | |
| 2191 | |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2192 /* And add the buttons */ |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2193 |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2194 bot = gtk_hbox_new(FALSE, 5); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2195 gtk_box_pack_start(GTK_BOX(fbox), bot, FALSE, FALSE, 0); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2196 gtk_widget_show(bot); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2197 |
| 4092 | 2198 b->save = picture_button(b->window, _("Save"), save_xpm); |
| 2199 gtk_box_pack_end(GTK_BOX(bot), b->save, FALSE, FALSE, 0); | |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2200 g_signal_connect(GTK_OBJECT(b->save), "clicked", G_CALLBACK(do_set_dir), b); |
| 4092 | 2201 |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2202 b->cancel = picture_button(b->window, _("Cancel"), cancel_xpm); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2203 gtk_box_pack_end(GTK_BOX(bot), b->cancel, FALSE, FALSE, 0); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2204 g_signal_connect(GTK_OBJECT(b->cancel), "clicked", G_CALLBACK(destroy_dialog), b->window); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2205 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2206 gtk_window_set_focus(GTK_WINDOW(b->window), b->first); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2207 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2208 gtk_widget_show(b->window); |
| 1 | 2209 } |
| 2210 | |
| 149 | 2211 void do_change_password(GtkWidget *widget, struct passwddlg *b) |
| 2212 { | |
| 3466 | 2213 const gchar *orig, *new1, *new2; |
| 149 | 2214 |
| 2215 orig = gtk_entry_get_text(GTK_ENTRY(b->original)); | |
| 2216 new1 = gtk_entry_get_text(GTK_ENTRY(b->new1)); | |
| 2217 new2 = gtk_entry_get_text(GTK_ENTRY(b->new2)); | |
| 2218 | |
|
2048
3366311426df
[gaim-migrate @ 2058]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1979
diff
changeset
|
2219 if (g_strcasecmp(new1, new2)) { |
| 3427 | 2220 do_error_dialog(_("New Passwords Do Not Match"), NULL, GAIM_ERROR); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2221 return; |
| 149 | 2222 } |
| 2223 | |
| 2224 if ((strlen(orig) < 1) || (strlen(new1) < 1) || (strlen(new2) < 1)) { | |
| 3427 | 2225 do_error_dialog(_("Fill out all fields completely"), NULL, GAIM_ERROR); |
| 149 | 2226 return; |
| 2227 } | |
| 2228 | |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2229 serv_change_passwd(b->gc, orig, new1); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2230 |
| 149 | 2231 destroy_dialog(NULL, b->window); |
| 2232 g_free(b); | |
| 2233 } | |
| 2234 | |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2235 void show_change_passwd(struct gaim_connection *gc) |
| 146 | 2236 { |
| 2237 GtkWidget *hbox; | |
| 2238 GtkWidget *label; | |
| 2239 GtkWidget *vbox; | |
| 475 | 2240 GtkWidget *fbox; |
| 2241 GtkWidget *frame; | |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2242 char buf[256]; |
| 454 | 2243 |
| 146 | 2244 struct passwddlg *b = g_new0(struct passwddlg, 1); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2245 b->gc = gc; |
| 146 | 2246 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
2247 GAIM_DIALOG(b->window); |
| 4635 | 2248 gtk_window_set_resizable(GTK_WINDOW(b->window), TRUE); |
| 4074 | 2249 gtk_window_set_role(GTK_WINDOW(b->window), "change_passwd"); |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2250 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Password Change")); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2251 g_signal_connect(GTK_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window); |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2252 gtk_widget_realize(b->window); |
| 146 | 2253 dialogwindows = g_list_prepend(dialogwindows, b->window); |
| 149 | 2254 |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2255 fbox = gtk_vbox_new(FALSE, 5); |
| 4635 | 2256 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5); |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2257 gtk_container_add(GTK_CONTAINER(b->window), fbox); |
|
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2258 gtk_widget_show(fbox); |
|
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2259 |
| 475 | 2260 frame = gtk_frame_new(_("Change Password")); |
| 1185 | 2261 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 0); |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2262 gtk_widget_show(frame); |
|
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2263 |
| 475 | 2264 vbox = gtk_vbox_new(FALSE, 5); |
| 4635 | 2265 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2266 gtk_container_add(GTK_CONTAINER(frame), vbox); |
|
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2267 gtk_widget_show(vbox); |
|
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2268 |
| 4472 | 2269 g_snprintf(buf, sizeof(buf), _("Changing password for %s:"), gc->username); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2270 label = gtk_label_new(buf); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2271 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2272 gtk_widget_show(label); |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2273 |
| 475 | 2274 /* First Line */ |
| 2275 hbox = gtk_hbox_new(FALSE, 5); | |
| 1185 | 2276 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2277 gtk_widget_show(hbox); |
|
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2278 |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
2279 label = gtk_label_new(_("Original Password")); |
| 1185 | 2280 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 146 | 2281 gtk_widget_show(label); |
| 475 | 2282 |
| 146 | 2283 b->original = gtk_entry_new(); |
|
160
aaa8f0a2140e
[gaim-migrate @ 170]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
149
diff
changeset
|
2284 gtk_entry_set_visibility(GTK_ENTRY(b->original), FALSE); |
| 1185 | 2285 gtk_box_pack_end(GTK_BOX(hbox), b->original, FALSE, FALSE, 0); |
| 149 | 2286 gtk_widget_show(b->original); |
| 475 | 2287 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2288 /* Next Line */ |
| 475 | 2289 hbox = gtk_hbox_new(FALSE, 5); |
| 1185 | 2290 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2291 gtk_widget_show(hbox); |
|
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2292 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2293 label = gtk_label_new(_("New Password")); |
| 1185 | 2294 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2295 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2296 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2297 b->new1 = gtk_entry_new(); |
|
160
aaa8f0a2140e
[gaim-migrate @ 170]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
149
diff
changeset
|
2298 gtk_entry_set_visibility(GTK_ENTRY(b->new1), FALSE); |
| 1185 | 2299 gtk_box_pack_end(GTK_BOX(hbox), b->new1, FALSE, FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2300 gtk_widget_show(b->new1); |
| 475 | 2301 |
| 2302 /* Next Line */ | |
| 2303 hbox = gtk_hbox_new(FALSE, 5); | |
| 1185 | 2304 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2305 gtk_widget_show(hbox); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2306 |
| 475 | 2307 label = gtk_label_new(_("New Password (again)")); |
| 1185 | 2308 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2309 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2310 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2311 b->new2 = gtk_entry_new(); |
|
160
aaa8f0a2140e
[gaim-migrate @ 170]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
149
diff
changeset
|
2312 gtk_entry_set_visibility(GTK_ENTRY(b->new2), FALSE); |
| 1185 | 2313 gtk_box_pack_end(GTK_BOX(hbox), b->new2, FALSE, FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2314 gtk_widget_show(b->new2); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2315 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2316 /* Now do our row of buttons */ |
| 1185 | 2317 hbox = gtk_hbox_new(FALSE, 5); |
| 2318 gtk_box_pack_start(GTK_BOX(fbox), hbox, FALSE, FALSE, 0); | |
| 146 | 2319 gtk_widget_show(hbox); |
| 475 | 2320 |
| 4092 | 2321 b->ok = picture_button(b->window, _("OK"), ok_xpm); |
| 2322 gtk_box_pack_end(GTK_BOX(hbox), b->ok, FALSE, FALSE, 0); | |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2323 g_signal_connect(GTK_OBJECT(b->ok), "clicked", G_CALLBACK(do_change_password), b); |
| 4092 | 2324 |
| 1185 | 2325 b->cancel = picture_button(b->window, _("Cancel"), cancel_xpm); |
| 2326 gtk_box_pack_end(GTK_BOX(hbox), b->cancel, FALSE, FALSE, 0); | |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2327 g_signal_connect(GTK_OBJECT(b->cancel), "clicked", G_CALLBACK(destroy_dialog), b->window); |
| 1185 | 2328 |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2329 gtk_widget_show(b->window); |
| 146 | 2330 } |
| 2331 | |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2332 void show_set_info(struct gaim_connection *gc) |
| 1 | 2333 { |
| 1185 | 2334 GtkWidget *buttons; |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2335 GtkWidget *label; |
| 1185 | 2336 GtkWidget *vbox; |
| 4119 | 2337 GtkTextBuffer *buffer; |
| 2338 GtkWidget *frame; | |
| 1292 | 2339 gchar *buf; |
| 4491 | 2340 struct gaim_account *account; |
| 1292 | 2341 |
| 1 | 2342 struct set_info_dlg *b = g_new0(struct set_info_dlg, 1); |
| 4491 | 2343 account = gc->account; |
| 2344 b->account = account; | |
| 1 | 2345 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
2346 GAIM_DIALOG(b->window); |
| 4074 | 2347 gtk_window_set_role(GTK_WINDOW(b->window), "set_info"); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2348 dialogwindows = g_list_prepend(dialogwindows, b->window); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2349 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Set User Info")); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2350 g_signal_connect(GTK_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window); |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
940
diff
changeset
|
2351 gtk_widget_realize(b->window); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2352 |
| 1185 | 2353 vbox = gtk_vbox_new(FALSE, 5); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2354 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2355 gtk_container_add(GTK_CONTAINER(b->window), vbox); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2356 gtk_widget_show(vbox); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2357 |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2358 buf = g_malloc(256); |
| 4491 | 2359 g_snprintf(buf, 256, _("Changing info for %s:"), account->username); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2360 label = gtk_label_new(buf); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2361 g_free(buf); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2362 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2363 gtk_widget_show(label); |
| 4491 | 2364 |
| 4119 | 2365 frame = gtk_frame_new(NULL); |
| 2366 gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN); | |
| 2367 gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0); | |
| 2368 gtk_widget_show(frame); | |
| 2369 | |
| 2370 b->text = gtk_text_view_new(); | |
| 2371 gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(b->text), GTK_WRAP_WORD); | |
| 2372 gtk_widget_set_size_request(b->text, 300, 200); | |
| 4491 | 2373 buf = g_malloc(strlen(account->user_info) + 1); |
| 2374 strncpy_nohtml(buf, account->user_info, strlen(account->user_info) + 1); | |
| 4119 | 2375 buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(b->text)); |
| 2376 gtk_text_buffer_set_text(buffer, buf, -1); | |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2377 g_free(buf); |
| 4119 | 2378 gtk_container_add(GTK_CONTAINER(frame), b->text); |
| 1 | 2379 gtk_widget_show(b->text); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2380 gtk_window_set_focus(GTK_WINDOW(b->window), b->text); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2381 |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2382 buttons = gtk_hbox_new(FALSE, 5); |
| 1185 | 2383 gtk_box_pack_start(GTK_BOX(vbox), buttons, FALSE, FALSE, 0); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2384 gtk_widget_show(buttons); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2385 |
| 4092 | 2386 b->save = picture_button(b->window, _("Save"), save_xpm); |
| 2387 gtk_box_pack_end(GTK_BOX(buttons), b->save, FALSE, FALSE, 0); | |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2388 g_signal_connect(GTK_OBJECT(b->save), "clicked", G_CALLBACK(do_save_info), b); |
| 4092 | 2389 |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2390 b->cancel = picture_button(b->window, _("Cancel"), cancel_xpm); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2391 gtk_box_pack_end(GTK_BOX(buttons), b->cancel, FALSE, FALSE, 0); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2392 g_signal_connect(GTK_OBJECT(b->cancel), "clicked", G_CALLBACK(destroy_dialog), b->window); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2393 |
| 1 | 2394 gtk_widget_show(b->window); |
| 2395 | |
| 2396 } | |
| 2397 | |
| 2398 /*------------------------------------------------------------------------*/ | |
| 2399 /* The dialog for the info requests */ | |
| 2400 /*------------------------------------------------------------------------*/ | |
| 2401 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2402 static void info_dlg_free(GtkWidget *b, struct info_dlg *d) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2403 { |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2404 if (g_slist_find(info_dlgs, d)) |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2405 info_dlgs = g_slist_remove(info_dlgs, d); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2406 g_free(d->who); |
|
1051
713b0e14e0a9
[gaim-migrate @ 1061]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1049
diff
changeset
|
2407 g_free(d); |
|
713b0e14e0a9
[gaim-migrate @ 1061]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1049
diff
changeset
|
2408 } |
|
713b0e14e0a9
[gaim-migrate @ 1061]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1049
diff
changeset
|
2409 |
|
2791
8f6365332a05
[gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2785
diff
changeset
|
2410 /* if away is 0, show regardless and try to get away message |
|
8f6365332a05
[gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2785
diff
changeset
|
2411 * 1, don't show if regular info isn't shown |
|
8f6365332a05
[gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2785
diff
changeset
|
2412 * 2, show regardless but don't try to get away message |
|
8f6365332a05
[gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2785
diff
changeset
|
2413 * |
|
8f6365332a05
[gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2785
diff
changeset
|
2414 * i wish this were my client. if i were i wouldn't have to deal with this shit. |
|
8f6365332a05
[gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2785
diff
changeset
|
2415 */ |
|
8f6365332a05
[gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2785
diff
changeset
|
2416 void g_show_info_text(struct gaim_connection *gc, char *who, int away, char *info, ...) |
| 1 | 2417 { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2418 GtkWidget *ok; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2419 GtkWidget *label; |
| 1 | 2420 GtkWidget *text; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2421 GtkWidget *bbox; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2422 GtkWidget *sw; |
|
1428
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2423 gint options = 0; |
|
2137
18722ae5b882
[gaim-migrate @ 2147]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2090
diff
changeset
|
2424 char *more_info; |
|
18722ae5b882
[gaim-migrate @ 2147]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2090
diff
changeset
|
2425 va_list ap; |
| 1 | 2426 |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2427 struct info_dlg *b = find_info_dlg(gc, who); |
|
2791
8f6365332a05
[gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2785
diff
changeset
|
2428 if (!b && (away == 1)) |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2429 return; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2430 if (!b) { |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2431 b = g_new0(struct info_dlg, 1); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2432 b->gc = gc; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2433 b->who = who ? g_strdup(normalize(who)) : NULL; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2434 info_dlgs = g_slist_append(info_dlgs, b); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2435 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2436 GAIM_DIALOG(b->window); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2437 gtk_window_set_title(GTK_WINDOW(b->window), "Gaim"); |
| 4635 | 2438 gtk_container_set_border_width(GTK_CONTAINER(b->window), 5); |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2439 gtk_widget_realize(GTK_WIDGET(b->window)); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2440 g_signal_connect(GTK_OBJECT(b->window), "destroy", G_CALLBACK(info_dlg_free), b); |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2441 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2442 bbox = gtk_vbox_new(FALSE, 5); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2443 gtk_container_add(GTK_CONTAINER(b->window), bbox); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2444 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2445 label = gtk_label_new(_("Below are the results of your search: ")); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2446 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2447 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2448 sw = gtk_scrolled_window_new(NULL, NULL); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2449 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); |
| 3926 | 2450 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN); |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2451 gtk_box_pack_start(GTK_BOX(bbox), sw, TRUE, TRUE, 0); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2452 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2453 text = gtk_imhtml_new(NULL, NULL); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2454 b->text = text; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2455 gtk_container_add(GTK_CONTAINER(sw), text); |
| 4635 | 2456 gtk_widget_set_size_request(sw, 300, 250); |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2457 gaim_setup_imhtml(text); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2458 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2459 ok = picture_button(b->window, _("OK"), ok_xpm); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2460 g_signal_connect_swapped(GTK_OBJECT(ok), "clicked", G_CALLBACK(gtk_widget_destroy), |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2461 GTK_OBJECT(b->window)); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2462 gtk_box_pack_start(GTK_BOX(bbox), ok, FALSE, FALSE, 0); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2463 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2464 gtk_widget_show_all(b->window); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2465 } |
| 1 | 2466 |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2228
diff
changeset
|
2467 if (convo_options & OPT_CONVO_IGNORE_COLOUR) |
|
1428
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2468 options ^= GTK_IMHTML_NO_COLOURS; |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2228
diff
changeset
|
2469 if (convo_options & OPT_CONVO_IGNORE_FONTS) |
|
1428
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2470 options ^= GTK_IMHTML_NO_FONTS; |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2228
diff
changeset
|
2471 if (convo_options & OPT_CONVO_IGNORE_SIZES) |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
2472 options ^= GTK_IMHTML_NO_SIZES; |
|
1428
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2473 options ^= GTK_IMHTML_NO_COMMENTS; |
|
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2474 options ^= GTK_IMHTML_NO_TITLE; |
|
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2475 options ^= GTK_IMHTML_NO_NEWLINE; |
|
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2476 options ^= GTK_IMHTML_NO_SCROLL; |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2477 |
|
2856
b1e300a85678
[gaim-migrate @ 2869]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2851
diff
changeset
|
2478 gtk_imhtml_append_text(GTK_IMHTML(b->text), info, -1, options); |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2479 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2480 va_start(ap, info); |
|
2137
18722ae5b882
[gaim-migrate @ 2147]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2090
diff
changeset
|
2481 while ((more_info = va_arg(ap, char *)) != NULL) |
|
2856
b1e300a85678
[gaim-migrate @ 2869]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2851
diff
changeset
|
2482 gtk_imhtml_append_text(GTK_IMHTML(b->text), more_info, -1, options); |
|
2137
18722ae5b882
[gaim-migrate @ 2147]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2090
diff
changeset
|
2483 va_end(ap); |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2484 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2485 if (away) |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2486 info_dlgs = g_slist_remove(info_dlgs, b); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2487 else |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2488 serv_get_away(gc, who); |
|
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
245
diff
changeset
|
2489 } |
|
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
245
diff
changeset
|
2490 |
| 1 | 2491 /*------------------------------------------------------------------------*/ |
| 2492 /* The dialog for adding to permit/deny */ | |
| 2493 /*------------------------------------------------------------------------*/ | |
| 2494 | |
| 2495 | |
| 2496 static void do_add_perm(GtkWidget *w, struct addperm *p) | |
| 2497 { | |
| 2498 | |
| 3466 | 2499 const char *who; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2500 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2501 who = gtk_entry_get_text(GTK_ENTRY(p->entry)); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2502 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2503 if (!p->permit) { |
| 4491 | 2504 if (gaim_privacy_deny_add(p->gc->account, who)) { |
| 4349 | 2505 serv_add_deny(p->gc, who); |
| 2506 build_block_list(); | |
| 2507 gaim_blist_save(); | |
|
1126
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2508 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2509 } else { |
| 4491 | 2510 if (gaim_privacy_permit_add(p->gc->account, who)) { |
| 4349 | 2511 serv_add_permit(p->gc, who); |
| 2512 build_allow_list(); | |
| 2513 gaim_blist_save(); | |
|
1126
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2514 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2515 } |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2516 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2517 destroy_dialog(NULL, p->window); |
| 1 | 2518 } |
| 2519 | |
| 2520 | |
| 2521 | |
|
1144
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
2522 void show_add_perm(struct gaim_connection *gc, char *who, gboolean permit) |
| 1 | 2523 { |
| 2524 GtkWidget *cancel; | |
| 2525 GtkWidget *add; | |
| 2526 GtkWidget *label; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2527 GtkWidget *bbox; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2528 GtkWidget *vbox; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2529 GtkWidget *topbox; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2530 |
| 486 | 2531 struct addperm *p = g_new0(struct addperm, 1); |
|
1072
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
2532 p->gc = gc; |
|
1144
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
2533 p->permit = permit; |
| 1 | 2534 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
2535 GAIM_DIALOG(p->window); |
| 487 | 2536 gtk_container_set_border_width(GTK_CONTAINER(p->window), 5); |
| 4635 | 2537 gtk_window_set_resizable(GTK_WINDOW(p->window), FALSE); |
|
1144
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
2538 gtk_widget_realize(p->window); |
| 487 | 2539 |
| 486 | 2540 dialogwindows = g_list_prepend(dialogwindows, p->window); |
| 2541 | |
| 4107 | 2542 bbox = gtk_hbox_new(FALSE, 5); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2543 topbox = gtk_hbox_new(FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2544 vbox = gtk_vbox_new(FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2545 p->entry = gtk_entry_new(); |
| 1 | 2546 |
| 486 | 2547 /* Build Add Button */ |
| 2548 | |
|
1144
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
2549 if (permit) |
|
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
2550 add = picture_button(p->window, _("Permit"), add_xpm); |
|
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
2551 else |
|
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
2552 add = picture_button(p->window, _("Deny"), add_xpm); |
|
603
9b0717b4a490
[gaim-migrate @ 613]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
602
diff
changeset
|
2553 cancel = picture_button(p->window, _("Cancel"), cancel_xpm); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2554 |
| 486 | 2555 /* End of Cancel Button */ |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2556 if (who != NULL) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2557 gtk_entry_set_text(GTK_ENTRY(p->entry), who); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2558 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2559 /* Put the buttons in the box */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2560 |
| 4107 | 2561 gtk_box_pack_end(GTK_BOX(bbox), add, FALSE, FALSE, 5); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2562 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2563 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2564 label = gtk_label_new(_("Add")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2565 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2566 gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2567 gtk_box_pack_start(GTK_BOX(topbox), p->entry, FALSE, FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2568 /* And the boxes in the box */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2569 gtk_box_pack_start(GTK_BOX(vbox), topbox, TRUE, TRUE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2570 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 5); |
| 4107 | 2571 gtk_widget_show(topbox); |
| 2572 topbox=gtk_hbox_new(FALSE, 5); | |
| 2573 gtk_box_pack_start(GTK_BOX(topbox), vbox, FALSE, FALSE, 5); | |
| 1 | 2574 |
| 2575 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2576 /* Handle closes right */ |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2577 g_signal_connect(GTK_OBJECT(p->window), "destroy", G_CALLBACK(destroy_dialog), p->window); |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2578 g_signal_connect(GTK_OBJECT(cancel), "clicked", G_CALLBACK(destroy_dialog), p->window); |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2579 g_signal_connect(GTK_OBJECT(add), "clicked", G_CALLBACK(do_add_perm), p); |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2580 g_signal_connect(GTK_OBJECT(p->entry), "activate", G_CALLBACK(do_add_perm), p); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2581 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2582 /* Finish up */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2583 gtk_widget_show(add); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2584 gtk_widget_show(cancel); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2585 gtk_widget_show(p->entry); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2586 gtk_widget_show(topbox); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2587 gtk_widget_show(bbox); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2588 gtk_widget_show(vbox); |
|
1144
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
2589 if (permit) |
|
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
2590 gtk_window_set_title(GTK_WINDOW(p->window), _("Gaim - Add Permit")); |
|
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
2591 else |
|
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
2592 gtk_window_set_title(GTK_WINDOW(p->window), _("Gaim - Add Deny")); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2593 gtk_window_set_focus(GTK_WINDOW(p->window), p->entry); |
| 4107 | 2594 gtk_container_add(GTK_CONTAINER(p->window), topbox); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2595 gtk_widget_realize(p->window); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2596 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2597 gtk_widget_show(p->window); |
| 1 | 2598 } |
| 2599 | |
| 2600 | |
| 2601 /*------------------------------------------------------------------------*/ | |
| 608 | 2602 /* Functions Called To Add A Log */ |
| 1 | 2603 /*------------------------------------------------------------------------*/ |
| 2604 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2605 void cancel_log(GtkWidget *widget, struct gaim_conversation *c) |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2606 { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2607 struct gaim_gtk_conversation *gtkconv; |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2608 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2609 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2610 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2611 if (gtkconv->toolbar.log) { |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2612 gaim_gtk_set_state_lock(TRUE); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2613 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtkconv->toolbar.log), |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2614 FALSE); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2615 gaim_gtk_set_state_lock(FALSE); |
| 608 | 2616 } |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2617 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2618 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.log); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2619 gtk_widget_destroy(gtkconv->dialogs.log); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2620 gtkconv->dialogs.log = NULL; |
| 608 | 2621 } |
| 2622 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2623 void do_log(GtkWidget *w, struct gaim_conversation *c) |
| 1 | 2624 { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2625 struct gaim_gtk_conversation *gtkconv; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2626 struct log_conversation *l; |
| 3466 | 2627 const char *file; |
|
1035
80a47e3b1bca
[gaim-migrate @ 1045]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
2628 char path[PATHSIZE]; |
| 1 | 2629 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2630 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2631 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2632 if (!find_log_info(c->name)) { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2633 file = gtk_file_selection_get_filename( |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2634 GTK_FILE_SELECTION(gtkconv->dialogs.log)); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2635 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2636 strncpy(path, file, PATHSIZE - 1); |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2637 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2638 if (file_is_dir(path, gtkconv->dialogs.log)) |
|
1035
80a47e3b1bca
[gaim-migrate @ 1045]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
2639 return; |
|
80a47e3b1bca
[gaim-migrate @ 1045]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
2640 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2641 l = (struct log_conversation *)g_new0(struct log_conversation, 1); |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2642 strcpy(l->name, gaim_conversation_get_name(c)); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2643 strcpy(l->filename, file); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2644 log_conversations = g_list_append(log_conversations, l); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2645 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2646 if (c != NULL) |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2647 gaim_conversation_set_logging(c, TRUE); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2648 } |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2649 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2650 save_prefs(); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2651 cancel_log(NULL, c); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2652 } |
| 1 | 2653 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2654 void show_log_dialog(struct gaim_conversation *c) |
| 1 | 2655 { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2656 struct gaim_gtk_conversation *gtkconv; |
| 1 | 2657 char *buf = g_malloc(BUF_LEN); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2658 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2659 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2660 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2661 if (!gtkconv->dialogs.log) { |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2662 gtkconv->dialogs.log = gtk_file_selection_new(_("Gaim - Log Conversation")); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2663 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2664 gtk_file_selection_hide_fileop_buttons( |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2665 GTK_FILE_SELECTION(gtkconv->dialogs.log)); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2666 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2667 g_snprintf(buf, BUF_LEN - 1, "%s" G_DIR_SEPARATOR_S "%s.log", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2668 gaim_home_dir(), normalize(c->name)); |
| 4635 | 2669 g_object_set_data(G_OBJECT(gtkconv->dialogs.log), "dialog_type", |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2670 "log dialog"); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2671 gtk_file_selection_set_filename(GTK_FILE_SELECTION(gtkconv->dialogs.log), |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2672 buf); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2673 g_signal_connect(G_OBJECT(gtkconv->dialogs.log), "delete_event", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2674 G_CALLBACK(delete_event_dialog), c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2675 g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(gtkconv->dialogs.log)->ok_button), "clicked", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2676 G_CALLBACK(do_log), c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2677 g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(gtkconv->dialogs.log)->cancel_button), "clicked", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2678 G_CALLBACK(cancel_log), c); |
| 1 | 2679 } |
| 2680 | |
| 25 | 2681 g_free(buf); |
| 2682 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2683 gtk_widget_show(gtkconv->dialogs.log); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2684 gdk_window_raise(gtkconv->dialogs.log->window); |
| 1 | 2685 } |
| 2686 | |
| 2687 /*------------------------------------------------------*/ | |
| 2688 /* Find Buddy By Email */ | |
| 2689 /*------------------------------------------------------*/ | |
| 2690 | |
| 2691 void do_find_info(GtkWidget *w, struct findbyinfo *b) | |
| 2692 { | |
| 3466 | 2693 const char *first; |
| 2694 const char *middle; | |
| 2695 const char *last; | |
| 2696 const char *maiden; | |
| 2697 const char *city; | |
| 2698 const char *state; | |
| 2699 const char *country; | |
| 1 | 2700 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2701 first = gtk_entry_get_text(GTK_ENTRY(b->firstentry)); |
| 1 | 2702 middle = gtk_entry_get_text(GTK_ENTRY(b->middleentry)); |
| 2703 last = gtk_entry_get_text(GTK_ENTRY(b->lastentry)); | |
| 2704 maiden = gtk_entry_get_text(GTK_ENTRY(b->maidenentry)); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2705 city = gtk_entry_get_text(GTK_ENTRY(b->cityentry)); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2706 state = gtk_entry_get_text(GTK_ENTRY(b->stateentry)); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2707 country = gtk_entry_get_text(GTK_ENTRY(b->countryentry)); |
| 1 | 2708 |
|
2393
a7ecfd3f7714
[gaim-migrate @ 2406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2382
diff
changeset
|
2709 serv_dir_search(b->gc, first, middle, last, maiden, city, state, country, ""); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2710 destroy_dialog(NULL, b->window); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2711 } |
| 1 | 2712 |
| 2713 void do_find_email(GtkWidget *w, struct findbyemail *b) | |
| 2714 { | |
| 3466 | 2715 const char *email; |
| 1 | 2716 |
| 2717 email = gtk_entry_get_text(GTK_ENTRY(b->emailentry)); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2718 |
|
2598
b2800bca74fe
[gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2582
diff
changeset
|
2719 serv_dir_search(b->gc, "", "", "", "", "", "", "", email); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2720 |
| 1 | 2721 destroy_dialog(NULL, b->window); |
| 2722 } | |
| 2723 | |
|
2393
a7ecfd3f7714
[gaim-migrate @ 2406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2382
diff
changeset
|
2724 void show_find_info(struct gaim_connection *gc) |
| 1 | 2725 { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2726 GtkWidget *cancel; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2727 GtkWidget *ok; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2728 GtkWidget *label; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2729 GtkWidget *bbox; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2730 GtkWidget *vbox; |
| 479 | 2731 GtkWidget *hbox; |
| 2732 GtkWidget *fbox; | |
| 2733 GtkWidget *frame; | |
| 1 | 2734 |
| 2735 struct findbyinfo *b = g_new0(struct findbyinfo, 1); | |
|
2393
a7ecfd3f7714
[gaim-migrate @ 2406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2382
diff
changeset
|
2736 b->gc = gc; |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
2737 GAIM_DIALOG(b->window); |
| 4635 | 2738 gtk_window_set_resizable(GTK_WINDOW(b->window), TRUE); |
| 4074 | 2739 gtk_window_set_role(GTK_WINDOW(b->window), "find_info"); |
| 479 | 2740 gtk_widget_show(b->window); |
| 2741 | |
| 2742 dialogwindows = g_list_prepend(dialogwindows, b->window); | |
| 2743 | |
| 2744 frame = gtk_frame_new(_("Search for Buddy")); | |
| 2745 fbox = gtk_vbox_new(FALSE, 5); | |
| 2746 | |
| 2747 /* Build OK Button */ | |
| 2748 | |
|
603
9b0717b4a490
[gaim-migrate @ 613]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
602
diff
changeset
|
2749 ok = picture_button(b->window, _("OK"), ok_xpm); |
|
9b0717b4a490
[gaim-migrate @ 613]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
602
diff
changeset
|
2750 cancel = picture_button(b->window, _("Cancel"), cancel_xpm); |
| 1 | 2751 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2752 bbox = gtk_hbox_new(FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2753 vbox = gtk_vbox_new(FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2754 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2755 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2756 b->firstentry = gtk_entry_new(); |
| 1 | 2757 b->middleentry = gtk_entry_new(); |
| 2758 b->lastentry = gtk_entry_new(); | |
| 2759 b->maidenentry = gtk_entry_new(); | |
| 2760 b->cityentry = gtk_entry_new(); | |
| 2761 b->stateentry = gtk_entry_new(); | |
| 2762 b->countryentry = gtk_entry_new(); | |
| 2763 | |
| 4333 | 2764 gtk_box_pack_end(GTK_BOX(bbox), ok, FALSE, FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2765 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 0); |
| 1 | 2766 |
| 479 | 2767 /* Line 1 */ |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2768 label = gtk_label_new(_("First Name")); |
| 1 | 2769 gtk_widget_show(label); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2770 |
| 1185 | 2771 hbox = gtk_hbox_new(FALSE, 5); |
| 2772 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 2773 gtk_box_pack_end(GTK_BOX(hbox), b->firstentry, FALSE, FALSE, 0); | |
| 479 | 2774 |
| 2775 gtk_widget_show(hbox); | |
| 1185 | 2776 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 479 | 2777 |
| 2778 /* Line 2 */ | |
| 1 | 2779 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2780 label = gtk_label_new(_("Middle Name")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2781 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2782 |
| 1185 | 2783 hbox = gtk_hbox_new(FALSE, 5); |
| 2784 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 2785 gtk_box_pack_end(GTK_BOX(hbox), b->middleentry, FALSE, FALSE, 0); | |
| 479 | 2786 |
| 2787 gtk_widget_show(hbox); | |
| 1185 | 2788 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 479 | 2789 |
| 2790 /* Line 3 */ | |
| 2791 | |
| 2792 label = gtk_label_new(_("Last Name")); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2793 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2794 |
| 1185 | 2795 hbox = gtk_hbox_new(FALSE, 5); |
| 2796 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 2797 gtk_box_pack_end(GTK_BOX(hbox), b->lastentry, FALSE, FALSE, 0); | |
| 479 | 2798 |
| 2799 gtk_widget_show(hbox); | |
| 1185 | 2800 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 479 | 2801 |
| 2802 /* Line 4 */ | |
| 2803 | |
| 2804 label = gtk_label_new(_("Maiden Name")); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2805 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2806 |
| 1185 | 2807 hbox = gtk_hbox_new(FALSE, 5); |
| 2808 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 2809 gtk_box_pack_end(GTK_BOX(hbox), b->maidenentry, FALSE, FALSE, 0); | |
| 479 | 2810 |
| 2811 gtk_widget_show(hbox); | |
| 1185 | 2812 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 479 | 2813 |
| 2814 /* Line 5 */ | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2815 |
| 479 | 2816 label = gtk_label_new(_("City")); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2817 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2818 |
| 1185 | 2819 hbox = gtk_hbox_new(FALSE, 5); |
| 2820 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 2821 gtk_box_pack_end(GTK_BOX(hbox), b->cityentry, FALSE, FALSE, 0); | |
| 479 | 2822 |
| 2823 gtk_widget_show(hbox); | |
| 1185 | 2824 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 479 | 2825 |
| 2826 /* Line 6 */ | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2827 label = gtk_label_new(_("State")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2828 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2829 |
| 1185 | 2830 hbox = gtk_hbox_new(FALSE, 5); |
| 2831 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 2832 gtk_box_pack_end(GTK_BOX(hbox), b->stateentry, FALSE, FALSE, 0); | |
| 479 | 2833 |
| 2834 gtk_widget_show(hbox); | |
| 1185 | 2835 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 479 | 2836 |
| 2837 /* Line 7 */ | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2838 label = gtk_label_new(_("Country")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2839 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2840 |
| 1185 | 2841 hbox = gtk_hbox_new(FALSE, 5); |
| 2842 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 2843 gtk_box_pack_end(GTK_BOX(hbox), b->countryentry, FALSE, FALSE, 0); | |
| 479 | 2844 |
| 2845 gtk_widget_show(hbox); | |
| 1185 | 2846 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 479 | 2847 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2848 /* Merge The Boxes */ |
| 479 | 2849 |
| 2850 gtk_container_add(GTK_CONTAINER(frame), vbox); | |
| 1185 | 2851 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 0); |
| 2852 gtk_box_pack_start(GTK_BOX(fbox), bbox, FALSE, FALSE, 0); | |
| 1 | 2853 |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2854 g_signal_connect(GTK_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window); |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2855 g_signal_connect(GTK_OBJECT(cancel), "clicked", G_CALLBACK(destroy_dialog), b->window); |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2856 g_signal_connect(GTK_OBJECT(ok), "clicked", G_CALLBACK(do_find_info), b); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2857 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2858 gtk_widget_show(ok); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2859 gtk_widget_show(cancel); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2860 gtk_widget_show(b->firstentry); |
| 1 | 2861 gtk_widget_show(b->middleentry); |
| 2862 gtk_widget_show(b->lastentry); | |
| 2863 gtk_widget_show(b->maidenentry); | |
| 2864 gtk_widget_show(b->cityentry); | |
| 2865 gtk_widget_show(b->stateentry); | |
| 2866 gtk_widget_show(b->countryentry); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2867 gtk_widget_show(bbox); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2868 gtk_widget_show(vbox); |
| 479 | 2869 gtk_widget_show(frame); |
| 2870 gtk_widget_show(fbox); | |
| 2871 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2872 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Find Buddy By Info")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2873 gtk_window_set_focus(GTK_WINDOW(b->window), b->firstentry); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2874 gtk_container_add(GTK_CONTAINER(b->window), fbox); |
| 4635 | 2875 gtk_container_set_border_width(GTK_CONTAINER(b->window), 5); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2876 gtk_widget_realize(b->window); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2877 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2878 gtk_widget_show(b->window); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2879 } |
| 1 | 2880 |
|
1535
1e2cc8c8bf3c
[gaim-migrate @ 1545]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1499
diff
changeset
|
2881 void show_find_email(struct gaim_connection *gc) |
| 1 | 2882 { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2883 GtkWidget *label; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2884 GtkWidget *bbox; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2885 GtkWidget *vbox; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2886 GtkWidget *frame; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2887 GtkWidget *topbox; |
| 444 | 2888 GtkWidget *button; |
| 1 | 2889 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2890 struct findbyemail *b = g_new0(struct findbyemail, 1); |
|
1535
1e2cc8c8bf3c
[gaim-migrate @ 1545]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1499
diff
changeset
|
2891 if (g_slist_find(connections, gc)) |
|
1e2cc8c8bf3c
[gaim-migrate @ 1545]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1499
diff
changeset
|
2892 b->gc = gc; |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
2893 GAIM_DIALOG(b->window); |
| 4635 | 2894 gtk_window_set_resizable(GTK_WINDOW(b->window), TRUE); |
| 4074 | 2895 gtk_window_set_role(GTK_WINDOW(b->window), "find_email"); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2896 gtk_widget_realize(b->window); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2897 dialogwindows = g_list_prepend(dialogwindows, b->window); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2898 g_signal_connect(GTK_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2899 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Find Buddy By Email")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2900 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2901 vbox = gtk_vbox_new(FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2902 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2903 gtk_container_add(GTK_CONTAINER(b->window), vbox); |
| 1185 | 2904 |
| 444 | 2905 frame = gtk_frame_new(_("Search for Buddy")); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2906 gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2907 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2908 topbox = gtk_hbox_new(FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2909 gtk_container_add(GTK_CONTAINER(frame), topbox); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2910 gtk_container_set_border_width(GTK_CONTAINER(topbox), 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2911 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2912 label = gtk_label_new(_("Email")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2913 gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 0); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2914 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2915 b->emailentry = gtk_entry_new(); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2916 gtk_box_pack_start(GTK_BOX(topbox), b->emailentry, TRUE, TRUE, 0); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2917 g_signal_connect(GTK_OBJECT(b->emailentry), "activate", G_CALLBACK(do_find_email), b); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2918 gtk_window_set_focus(GTK_WINDOW(b->window), b->emailentry); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2919 |
| 1185 | 2920 bbox = gtk_hbox_new(FALSE, 5); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2921 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0); |
| 444 | 2922 |
| 4094 | 2923 button = picture_button(b->window, _("OK"), ok_xpm); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2924 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(do_find_email), b); |
| 4094 | 2925 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
| 2926 | |
|
603
9b0717b4a490
[gaim-migrate @ 613]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
602
diff
changeset
|
2927 button = picture_button(b->window, _("Cancel"), cancel_xpm); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2928 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(destroy_dialog), b->window); |
| 1185 | 2929 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
| 2930 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2931 gtk_widget_show_all(b->window); |
| 1 | 2932 } |
| 2933 | |
| 2934 /*------------------------------------------------------*/ | |
| 2935 /* Link Dialog */ | |
| 2936 /*------------------------------------------------------*/ | |
| 2937 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2938 void cancel_link(GtkWidget *widget, struct gaim_conversation *c) |
| 1 | 2939 { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2940 struct gaim_gtk_conversation *gtkconv; |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2941 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2942 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2943 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2944 if (gtkconv->toolbar.link) { |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2945 gaim_gtk_set_state_lock(TRUE); |
| 4635 | 2946 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.link), |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2947 FALSE); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2948 gaim_gtk_set_state_lock(FALSE); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2949 } |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2950 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2951 destroy_dialog(NULL, gtkconv->toolbar.link); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2952 gtkconv->toolbar.link = NULL; |
| 1 | 2953 } |
| 2954 | |
| 4262 | 2955 void do_insert_link(GtkWidget *w, int resp, struct linkdlg *b) |
| 1 | 2956 { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2957 struct gaim_gtk_conversation *gtkconv; |
| 1 | 2958 char *open_tag; |
| 3466 | 2959 const char *urltext, *showtext; |
| 4262 | 2960 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2961 gtkconv = GAIM_GTK_CONVERSATION(b->c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2962 |
| 4262 | 2963 if (resp == GTK_RESPONSE_OK) { |
| 2964 | |
| 2965 open_tag = g_malloc(2048); | |
| 2966 | |
| 2967 urltext = gtk_entry_get_text(GTK_ENTRY(b->url)); | |
| 2968 showtext = gtk_entry_get_text(GTK_ENTRY(b->text)); | |
| 2969 | |
| 2970 if (!strlen(showtext)) | |
| 2971 showtext = urltext; | |
| 2972 | |
| 2973 g_snprintf(open_tag, 2048, "<A HREF=\"%s\">%s", urltext, showtext); | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2974 gaim_gtk_surround(gtkconv, open_tag, "</A>"); |
| 4262 | 2975 |
| 2976 g_free(open_tag); | |
| 2977 } | |
| 2978 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2979 if (gtkconv->toolbar.link) { |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2980 gaim_gtk_set_state_lock(TRUE); |
| 4635 | 2981 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.link), |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2982 FALSE); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2983 gaim_gtk_set_state_lock(FALSE); |
| 4262 | 2984 } |
| 2985 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2986 gtkconv->dialogs.link = NULL; |
| 1 | 2987 destroy_dialog(NULL, b->window); |
| 2988 } | |
| 2989 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2990 void show_insert_link(GtkWidget *linky, struct gaim_conversation *c) |
| 1 | 2991 { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2992 struct gaim_gtk_conversation *gtkconv; |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2993 struct gaim_gtk_window *gtkwin; |
| 4262 | 2994 GtkWidget *table; |
| 2995 GtkWidget *label; | |
| 2996 GtkWidget *hbox; | |
| 1 | 2997 GtkWidget *vbox; |
| 2998 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2999 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3000 gtkwin = GAIM_GTK_WINDOW(gaim_conversation_get_window(c)); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3001 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3002 if (gtkconv->dialogs.link == NULL) { |
| 4262 | 3003 struct linkdlg *a = g_new0(struct linkdlg, 1); |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3004 char *filename = g_build_filename(DATADIR, "pixmaps", "gaim", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3005 "dialogs", "gaim_question.png", NULL); |
| 4262 | 3006 GtkWidget *img = gtk_image_new_from_file(filename); |
| 3007 | |
| 3008 g_free(filename); | |
| 3009 | |
| 3010 a->c = c; | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3011 a->window = gtk_dialog_new_with_buttons(_("Gaim - Insert Link"), |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3012 GTK_WINDOW(gtkwin->window), GTK_DIALOG_MODAL, GTK_STOCK_CANCEL, |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3013 GTK_RESPONSE_CANCEL, _("Insert"), GTK_RESPONSE_OK, NULL); |
| 4262 | 3014 |
| 3015 gtk_dialog_set_default_response(GTK_DIALOG(a->window), GTK_RESPONSE_OK); | |
| 3016 gtk_container_set_border_width(GTK_CONTAINER(a->window), 6); | |
| 3017 gtk_window_set_resizable(GTK_WINDOW(a->window), FALSE); | |
| 3018 gtk_dialog_set_has_separator(GTK_DIALOG(a->window), FALSE); | |
| 3019 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(a->window)->vbox), 12); | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3020 gtk_container_set_border_width( |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3021 GTK_CONTAINER(GTK_DIALOG(a->window)->vbox), 6); |
| 4262 | 3022 gtk_window_set_role(GTK_WINDOW(a->window), "insert_link"); |
| 3023 | |
| 3024 hbox = gtk_hbox_new(FALSE, 12); | |
| 3025 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(a->window)->vbox), hbox); | |
| 3026 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
| 3027 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); | |
| 3028 | |
| 3029 vbox = gtk_vbox_new(FALSE, 0); | |
| 3030 gtk_container_add(GTK_CONTAINER(hbox), vbox); | |
| 3031 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3032 label = gtk_label_new(_("Please enter the URL and description of " |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3033 "the link that you want to insert. The " |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3034 "description is optional.\n")); |
| 4262 | 3035 |
| 3036 gtk_widget_set_size_request(GTK_WIDGET(label), 335, -1); | |
| 3037 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | |
| 3038 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 3039 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); | |
| 3040 | |
| 3041 hbox = gtk_hbox_new(FALSE, 6); | |
| 3042 gtk_container_add(GTK_CONTAINER(vbox), hbox); | |
| 3043 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3044 g_signal_connect(G_OBJECT(a->window), "destroy", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3045 G_CALLBACK(destroy_dialog), a->window); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3046 g_signal_connect(G_OBJECT(a->window), "destroy", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3047 G_CALLBACK(free_dialog), a); |
| 4262 | 3048 dialogwindows = g_list_prepend(dialogwindows, a->window); |
| 3049 | |
| 3050 table = gtk_table_new(4, 2, FALSE); | |
| 3051 gtk_table_set_row_spacings(GTK_TABLE(table), 5); | |
| 3052 gtk_table_set_col_spacings(GTK_TABLE(table), 5); | |
| 3053 gtk_container_set_border_width(GTK_CONTAINER(table), 0); | |
| 3054 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); | |
| 3055 | |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
3056 label = gtk_label_new(_("URL")); |
| 4262 | 3057 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
| 3058 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1); | |
| 3059 | |
| 3060 a->url = gtk_entry_new(); | |
| 3061 gtk_table_attach_defaults(GTK_TABLE(table), a->url, 1, 2, 0, 1); | |
| 3062 gtk_widget_grab_focus(a->url); | |
| 3063 | |
| 3064 gtk_entry_set_activates_default (GTK_ENTRY(a->url), TRUE); | |
| 3065 | |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
3066 label = gtk_label_new(_("Description")); |
| 4262 | 3067 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
| 3068 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2); | |
| 3069 | |
| 3070 a->text = gtk_entry_new(); | |
| 3071 gtk_table_attach_defaults(GTK_TABLE(table), a->text, 1, 2, 1, 2); | |
| 3072 gtk_entry_set_activates_default (GTK_ENTRY(a->text), TRUE); | |
| 3073 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3074 g_signal_connect(G_OBJECT(a->window), "response", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3075 G_CALLBACK(do_insert_link), a); |
| 4262 | 3076 |
| 3077 a->toggle = linky; | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3078 gtkconv->dialogs.link = a->window; |
| 1 | 3079 } |
| 3080 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3081 gtk_widget_show_all(gtkconv->dialogs.link); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3082 gdk_window_raise(gtkconv->dialogs.link->window); |
| 1 | 3083 } |
| 3084 | |
| 3085 /*------------------------------------------------------*/ | |
| 3086 /* Color Selection Dialog */ | |
| 3087 /*------------------------------------------------------*/ | |
| 3088 | |
| 3367 | 3089 GtkWidget *fgcseld = NULL; |
| 3090 GtkWidget *bgcseld = NULL; | |
|
657
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
3091 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3092 void cancel_fgcolor(GtkWidget *widget, struct gaim_conversation *c) |
| 1 | 3093 { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3094 struct gaim_gtk_conversation *gtkconv; |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3095 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3096 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3097 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3098 if (gtkconv->toolbar.fgcolor && widget) { |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3099 gaim_gtk_set_state_lock(TRUE); |
| 4635 | 3100 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.fgcolor), |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3101 FALSE); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3102 gaim_gtk_set_state_lock(FALSE); |
| 61 | 3103 } |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3104 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3105 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.fg_color); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3106 gtk_widget_destroy(gtkconv->dialogs.fg_color); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3107 gtkconv->dialogs.fg_color = NULL; |
| 1 | 3108 } |
| 3109 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3110 void cancel_bgcolor(GtkWidget *widget, struct gaim_conversation *c) |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3111 { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3112 struct gaim_gtk_conversation *gtkconv; |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3113 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3114 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3115 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3116 if (gtkconv->toolbar.bgcolor && widget) { |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3117 gaim_gtk_set_state_lock(TRUE); |
| 4635 | 3118 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.bgcolor), |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3119 FALSE); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3120 gaim_gtk_set_state_lock(FALSE); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3121 } |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3122 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3123 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.bg_color); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3124 gtk_widget_destroy(gtkconv->dialogs.bg_color); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3125 gtkconv->dialogs.bg_color = NULL; |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3126 } |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3127 |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3128 void do_fgcolor(GtkWidget *widget, GtkColorSelection *colorsel) |
| 1 | 3129 { |
| 3130 GdkColor text_color; | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3131 struct gaim_conversation *c; |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3132 struct gaim_gtk_conversation *gtkconv; |
| 1 | 3133 char *open_tag; |
| 3134 | |
| 3135 open_tag = g_malloc(30); | |
| 3136 | |
| 3557 | 3137 gtk_color_selection_get_current_color(colorsel, &text_color); |
| 1 | 3138 |
| 4635 | 3139 c = g_object_get_data(G_OBJECT(colorsel), "gaim_conversation"); |
|
411
a330017b3aa4
[gaim-migrate @ 421]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
401
diff
changeset
|
3140 /* GTK_IS_EDITABLE(c->entry); huh? */ |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3141 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3142 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3143 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3144 gtkconv->fg_color = text_color; |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3145 g_snprintf(open_tag, 23, "<FONT COLOR=\"#%02X%02X%02X\">", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3146 text_color.red / 256, |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3147 text_color.green / 256, |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3148 text_color.blue / 256); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3149 gaim_gtk_surround(gtkconv, open_tag, "</FONT>"); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3150 debug_printf("#%02X%02X%02X\n", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3151 text_color.red / 256, |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3152 text_color.green / 256, |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3153 text_color.blue / 256); |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3154 g_free(open_tag); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3155 cancel_fgcolor(NULL, c); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3156 } |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3157 |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3158 void do_bgcolor(GtkWidget *widget, GtkColorSelection *colorsel) |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3159 { |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3160 GdkColor text_color; |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3161 struct gaim_conversation *c; |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3162 struct gaim_gtk_conversation *gtkconv; |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3163 char *open_tag; |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3164 |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3165 open_tag = g_malloc(30); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3166 |
| 3557 | 3167 gtk_color_selection_get_current_color(colorsel, &text_color); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3168 |
| 4635 | 3169 c = g_object_get_data(G_OBJECT(colorsel), "gaim_conversation"); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3170 /* GTK_IS_EDITABLE(c->entry); huh? */ |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3171 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3172 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3173 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3174 gtkconv->bg_color = text_color; |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3175 g_snprintf(open_tag, 25, "<BODY BGCOLOR=\"#%02X%02X%02X\">", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3176 text_color.red / 256, |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3177 text_color.green / 256, |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3178 text_color.blue / 256); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3179 gaim_gtk_surround(gtkconv, open_tag, "</BODY>"); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3180 debug_printf("#%02X%02X%02X\n", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3181 text_color.red / 256, |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3182 text_color.green / 256, |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3183 text_color.blue / 256); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3184 g_free(open_tag); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3185 cancel_bgcolor(NULL, c); |
| 1 | 3186 } |
| 3187 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3188 void show_fgcolor_dialog(struct gaim_conversation *c, GtkWidget *color) |
| 1 | 3189 { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3190 struct gaim_gtk_conversation *gtkconv; |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3191 GtkWidget *colorsel; |
| 1 | 3192 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3193 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3194 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3195 if (color == NULL) { /* we came from the prefs */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3196 if (fgcseld) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3197 return; |
|
2209
9b8b32ae3b41
[gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2143
diff
changeset
|
3198 |
|
657
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
3199 fgcseld = gtk_color_selection_dialog_new(_("Select Text Color")); |
| 4198 | 3200 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION |
| 3201 (GTK_COLOR_SELECTION_DIALOG(fgcseld)->colorsel), &fgcolor); | |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3202 g_signal_connect(GTK_OBJECT(fgcseld), "delete_event", |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3203 G_CALLBACK(destroy_colorsel), (void *)1); |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3204 g_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(fgcseld)->cancel_button), |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3205 "clicked", G_CALLBACK(destroy_colorsel), (void *)1); |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3206 g_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(fgcseld)->ok_button), "clicked", |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3207 G_CALLBACK(apply_color_dlg), (void *)1); |
|
657
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
3208 gtk_widget_realize(fgcseld); |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
3209 gtk_widget_show(fgcseld); |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
3210 gdk_window_raise(fgcseld->window); |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
3211 return; |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3212 } |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3213 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3214 if (!gtkconv->dialogs.fg_color) { |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3215 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3216 gtkconv->dialogs.fg_color = gtk_color_selection_dialog_new(_("Select Text Color")); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3217 colorsel = GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.fg_color)->colorsel; |
| 4198 | 3218 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(colorsel), &fgcolor); |
| 4635 | 3219 g_object_set_data(G_OBJECT(colorsel), "gaim_conversation", c); |
|
2209
9b8b32ae3b41
[gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2143
diff
changeset
|
3220 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3221 g_signal_connect(GTK_OBJECT(gtkconv->dialogs.fg_color), "delete_event", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3222 G_CALLBACK(delete_event_dialog), c); |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3223 g_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.fg_color)->ok_button), |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3224 "clicked", G_CALLBACK(do_fgcolor), colorsel); |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3225 g_signal_connect(GTK_OBJECT |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3226 (GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.fg_color)->cancel_button), |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3227 "clicked", G_CALLBACK(cancel_fgcolor), c); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3228 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3229 gtk_widget_realize(gtkconv->dialogs.fg_color); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3230 } |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3231 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3232 gtk_widget_show(gtkconv->dialogs.fg_color); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3233 gdk_window_raise(gtkconv->dialogs.fg_color->window); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3234 } |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3235 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3236 void show_bgcolor_dialog(struct gaim_conversation *c, GtkWidget *color) |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3237 { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3238 struct gaim_gtk_conversation *gtkconv; |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3239 GtkWidget *colorsel; |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3240 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3241 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3242 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3243 if (color == NULL) { /* we came from the prefs */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3244 if (bgcseld) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3245 return; |
|
2209
9b8b32ae3b41
[gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2143
diff
changeset
|
3246 |
|
657
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
3247 bgcseld = gtk_color_selection_dialog_new(_("Select Background Color")); |
| 4198 | 3248 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION |
| 3249 (GTK_COLOR_SELECTION_DIALOG(bgcseld)->colorsel), &bgcolor); | |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3250 g_signal_connect(GTK_OBJECT(bgcseld), "delete_event", |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3251 G_CALLBACK(destroy_colorsel), NULL); |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3252 g_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(bgcseld)->cancel_button), |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3253 "clicked", G_CALLBACK(destroy_colorsel), NULL); |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3254 g_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(bgcseld)->ok_button), "clicked", |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3255 G_CALLBACK(apply_color_dlg), (void *)2); |
|
657
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
3256 gtk_widget_realize(bgcseld); |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
3257 gtk_widget_show(bgcseld); |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
3258 gdk_window_raise(bgcseld->window); |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
3259 return; |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
3260 } |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
3261 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3262 if (!gtkconv->dialogs.bg_color) { |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3263 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3264 gtkconv->dialogs.bg_color = gtk_color_selection_dialog_new(_("Select Background Color")); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3265 colorsel = GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.bg_color)->colorsel; |
| 4198 | 3266 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(colorsel), &bgcolor); |
| 4635 | 3267 g_object_set_data(G_OBJECT(colorsel), "gaim_conversation", c); |
|
2209
9b8b32ae3b41
[gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2143
diff
changeset
|
3268 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3269 g_signal_connect(GTK_OBJECT(gtkconv->dialogs.bg_color), "delete_event", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3270 G_CALLBACK(delete_event_dialog), c); |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3271 g_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.bg_color)->ok_button), |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3272 "clicked", G_CALLBACK(do_bgcolor), colorsel); |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3273 g_signal_connect(GTK_OBJECT |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3274 (GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.bg_color)->cancel_button), |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3275 "clicked", G_CALLBACK(cancel_bgcolor), c); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3276 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3277 gtk_widget_realize(gtkconv->dialogs.bg_color); |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3278 } |
| 1 | 3279 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3280 gtk_widget_show(gtkconv->dialogs.bg_color); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3281 gdk_window_raise(gtkconv->dialogs.bg_color->window); |
| 1 | 3282 } |
| 3283 | |
| 3284 /*------------------------------------------------------------------------*/ | |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3285 /* Font Selection Dialog */ |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3286 /*------------------------------------------------------------------------*/ |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3287 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3288 void cancel_font(GtkWidget *widget, struct gaim_conversation *c) |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3289 { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3290 struct gaim_gtk_conversation *gtkconv; |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3291 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3292 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3293 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3294 if (gtkconv->toolbar.normal_size && widget) { |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3295 gaim_gtk_set_state_lock(TRUE); |
| 4635 | 3296 gtk_toggle_button_set_active( |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3297 GTK_TOGGLE_BUTTON(gtkconv->toolbar.normal_size), FALSE); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3298 gaim_gtk_set_state_lock(FALSE); |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3299 } |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3300 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3301 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.font); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3302 gtk_widget_destroy(gtkconv->dialogs.font); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3303 gtkconv->dialogs.font = NULL; |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3304 } |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3305 |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3306 void apply_font(GtkWidget *widget, GtkFontSelection *fontsel) |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3307 { |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3308 /* this could be expanded to include font size, weight, etc. |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3309 but for now only works with font face */ |
| 3473 | 3310 int i = 0; |
|
666
71ea550c22ac
[gaim-migrate @ 676]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
657
diff
changeset
|
3311 char *fontname; |
| 4635 | 3312 struct gaim_conversation *c = g_object_get_data(G_OBJECT(fontsel), |
| 3313 "gaim_conversation"); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3314 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3315 if (c) { |
|
666
71ea550c22ac
[gaim-migrate @ 676]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
657
diff
changeset
|
3316 fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(fontsel)); |
| 4635 | 3317 while(fontname[i] && !isdigit(fontname[i])) { |
| 3473 | 3318 i++; |
| 3319 } | |
| 3320 fontname[i] = 0; | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3321 gaim_gtk_set_font_face(GAIM_GTK_CONVERSATION(c), fontname); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3322 } else { |
|
334
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
3323 fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(fontsel)); |
| 3473 | 3324 while(fontface[i] && !isdigit(fontname[i]) && i < sizeof(fontface)) { |
| 3325 fontface[i] = fontname[i]; | |
| 3326 i++; | |
|
234
985635758c33
[gaim-migrate @ 244]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
231
diff
changeset
|
3327 } |
| 3473 | 3328 fontface[i] = 0; |
|
234
985635758c33
[gaim-migrate @ 244]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
231
diff
changeset
|
3329 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3330 |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3331 cancel_font(NULL, c); |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3332 } |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3333 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3334 void destroy_fontsel(GtkWidget *w, gpointer d) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3335 { |
|
334
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
3336 gtk_widget_destroy(fontseld); |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
3337 fontseld = NULL; |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
3338 } |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
3339 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3340 void show_font_dialog(struct gaim_conversation *c, GtkWidget *font) |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3341 { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3342 struct gaim_gtk_conversation *gtkconv; |
| 3473 | 3343 char fonttif[128]; |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3344 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3345 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3346 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3347 if (!font) { /* we came from the prefs dialog */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3348 if (fontseld) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3349 return; |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
3350 fontseld = gtk_font_selection_dialog_new(_("Select Font")); |
| 3473 | 3351 if (fontface[0]) { |
| 3352 g_snprintf(fonttif, sizeof(fonttif), "%s 12", fontface); | |
|
2763
477a035d81e5
[gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2761
diff
changeset
|
3353 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(fontseld), |
| 3473 | 3354 fonttif); |
|
2763
477a035d81e5
[gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2761
diff
changeset
|
3355 } else { |
|
477a035d81e5
[gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2761
diff
changeset
|
3356 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(fontseld), |
| 3473 | 3357 DEFAULT_FONT_FACE " 12"); |
|
2763
477a035d81e5
[gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2761
diff
changeset
|
3358 } |
|
334
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
3359 |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3360 g_signal_connect(GTK_OBJECT(fontseld), "delete_event", |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3361 G_CALLBACK(destroy_fontsel), NULL); |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3362 g_signal_connect(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(fontseld)->cancel_button), |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3363 "clicked", G_CALLBACK(destroy_fontsel), NULL); |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3364 g_signal_connect(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(fontseld)->ok_button), "clicked", |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3365 G_CALLBACK(apply_font_dlg), fontseld); |
|
334
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
3366 gtk_widget_realize(fontseld); |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
3367 gtk_widget_show(fontseld); |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
3368 gdk_window_raise(fontseld->window); |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
3369 return; |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
3370 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3371 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3372 if (!gtkconv->dialogs.font) { |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3373 gtkconv->dialogs.font = gtk_font_selection_dialog_new(_("Select Font")); |
|
234
985635758c33
[gaim-migrate @ 244]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
231
diff
changeset
|
3374 |
| 4635 | 3375 g_object_set_data(G_OBJECT(gtkconv->dialogs.font), "gaim_conversation", c); |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3376 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3377 if (gtkconv->fontface[0]) { |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3378 g_snprintf(fonttif, sizeof(fonttif), "%s 12", gtkconv->fontface); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3379 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(gtkconv->dialogs.font), |
| 3473 | 3380 fonttif); |
|
2763
477a035d81e5
[gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2761
diff
changeset
|
3381 } else { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3382 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(gtkconv->dialogs.font), |
| 3473 | 3383 DEFAULT_FONT_FACE); |
|
2763
477a035d81e5
[gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2761
diff
changeset
|
3384 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3385 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3386 g_signal_connect(GTK_OBJECT(gtkconv->dialogs.font), "delete_event", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3387 G_CALLBACK(delete_event_dialog), c); |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3388 g_signal_connect(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(gtkconv->dialogs.font)->ok_button), |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3389 "clicked", G_CALLBACK(apply_font), gtkconv->dialogs.font); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3390 g_signal_connect(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(gtkconv->dialogs.font)->cancel_button), |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3391 "clicked", G_CALLBACK(cancel_font), c); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3392 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3393 gtk_widget_realize(gtkconv->dialogs.font); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3394 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3395 } |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3396 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3397 gtk_widget_show(gtkconv->dialogs.font); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3398 gdk_window_raise(gtkconv->dialogs.font->window); |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3399 } |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3400 |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3401 /*------------------------------------------------------------------------*/ |
| 1 | 3402 /* The dialog for import/export */ |
| 3403 /*------------------------------------------------------------------------*/ | |
| 3404 | |
| 4350 | 3405 static void do_import_dialog(GtkWidget *w, gpointer data) |
| 229 | 3406 { |
| 3466 | 3407 const char *file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(importdialog)); |
|
2382
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3408 if (file_is_dir(file, importdialog)) { |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3409 return; |
| 229 | 3410 } |
|
2598
b2800bca74fe
[gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2582
diff
changeset
|
3411 if (g_slist_find(connections, importgc)) { |
| 4491 | 3412 do_import(importgc->account, file); |
| 4349 | 3413 gaim_blist_save(); |
|
2598
b2800bca74fe
[gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2582
diff
changeset
|
3414 } |
|
2382
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3415 destroy_dialog(NULL, importdialog); |
|
2493
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3416 } |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3417 |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3418 static void set_import_gc(gpointer data, struct gaim_connection *gc) |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3419 { |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3420 importgc = gc; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3421 } |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3422 |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3423 static void create_import_dropdown(GtkFileSelection *fs) |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3424 { |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3425 GtkWidget *hbox; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3426 GtkWidget *label; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3427 GSList *g = connections; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3428 struct gaim_connection *c; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3429 GtkWidget *optmenu; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3430 GtkWidget *menu; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3431 char buf[256]; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3432 GtkWidget *opt; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3433 |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3434 if (!connections) |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3435 return; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3436 importgc = connections->data; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3437 if (!connections->next) |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3438 return; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3439 |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3440 hbox = gtk_hbox_new(FALSE, 0); |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3441 gtk_box_pack_end(GTK_BOX(fs->action_area), hbox, FALSE, FALSE, 0); |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3442 gtk_widget_show(hbox); |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3443 |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3444 optmenu = gtk_option_menu_new(); |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3445 gtk_box_pack_end(GTK_BOX(hbox), optmenu, FALSE, FALSE, 5); |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3446 gtk_widget_show(optmenu); |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3447 |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3448 label = gtk_label_new(_("Import to:")); |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3449 gtk_box_pack_end(GTK_BOX(hbox), label, FALSE, FALSE, 5); |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3450 gtk_widget_show(label); |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3451 |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3452 menu = gtk_menu_new(); |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3453 |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3454 while (g) { |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3455 c = (struct gaim_connection *)g->data; |
| 3572 | 3456 g_snprintf(buf, sizeof buf, "%s (%s)", c->username, c->prpl->name); |
|
2493
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3457 opt = gtk_menu_item_new_with_label(buf); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3458 g_signal_connect(GTK_OBJECT(opt), "activate", G_CALLBACK(set_import_gc), c); |
|
2493
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3459 gtk_widget_show(opt); |
| 4635 | 3460 gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); |
|
2493
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3461 g = g->next; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3462 } |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3463 |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3464 gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), menu); |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3465 gtk_option_menu_set_history(GTK_OPTION_MENU(optmenu), 0); |
| 229 | 3466 } |
| 3467 | |
|
2382
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3468 void show_import_dialog() |
| 1 | 3469 { |
|
2382
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3470 char *buf = g_malloc(BUF_LEN); |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3471 if (!importdialog) { |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3472 importdialog = gtk_file_selection_new(_("Gaim - Import Buddy List")); |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3473 |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3474 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(importdialog)); |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3475 |
| 3630 | 3476 g_snprintf(buf, BUF_LEN - 1, "%s" G_DIR_SEPARATOR_S, gaim_home_dir()); |
|
2382
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3477 |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3478 gtk_file_selection_set_filename(GTK_FILE_SELECTION(importdialog), buf); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3479 g_signal_connect(GTK_OBJECT(importdialog), "destroy", |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3480 G_CALLBACK(destroy_dialog), importdialog); |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3481 |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3482 g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(importdialog)->ok_button), |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3483 "clicked", G_CALLBACK(do_import_dialog), NULL); |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3484 g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(importdialog)->cancel_button), |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3485 "clicked", G_CALLBACK(destroy_dialog), importdialog); |
|
2382
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3486 |
|
2493
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3487 create_import_dropdown(GTK_FILE_SELECTION(importdialog)); |
| 228 | 3488 } |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
940
diff
changeset
|
3489 |
|
2382
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3490 g_free(buf); |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3491 gtk_widget_show(importdialog); |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3492 gdk_window_raise(importdialog->window); |
| 1 | 3493 } |
| 3494 | |
| 3495 /*------------------------------------------------------------------------*/ | |
| 3496 /* The dialog for new away messages */ | |
| 3497 /*------------------------------------------------------------------------*/ | |
| 3498 | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3499 static struct away_message *save_away_message(struct create_away *ca) |
| 717 | 3500 { |
| 3501 struct away_message *am; | |
| 3502 gchar *away_message; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3503 |
|
832
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
3504 if (!ca->mess) |
|
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
3505 am = g_new0(struct away_message, 1); |
|
2851
6eb5bf5089f0
[gaim-migrate @ 2864]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2827
diff
changeset
|
3506 else { |
|
832
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
3507 am = ca->mess; |
|
2851
6eb5bf5089f0
[gaim-migrate @ 2864]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2827
diff
changeset
|
3508 } |
| 1387 | 3509 |
| 4119 | 3510 |
| 717 | 3511 g_snprintf(am->name, sizeof(am->name), "%s", gtk_entry_get_text(GTK_ENTRY(ca->entry))); |
| 4119 | 3512 away_message = gtk_text_view_get_text(GTK_TEXT_VIEW(ca->text), FALSE); |
| 717 | 3513 |
| 3514 g_snprintf(am->message, sizeof(am->message), "%s", away_message); | |
| 3515 g_free(away_message); | |
| 3516 | |
|
832
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
3517 if (!ca->mess) { |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3518 away_messages = g_slist_insert_sorted(away_messages, am, sort_awaymsg_list); |
|
832
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
3519 } |
|
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
3520 |
| 717 | 3521 save_prefs(); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3522 do_away_menu(); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3523 |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3524 return am; |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3525 } |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3526 |
| 1387 | 3527 int check_away_mess(struct create_away *ca, int type) |
| 3528 { | |
| 4630 | 3529 char *msg; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3530 if ((strlen(gtk_entry_get_text(GTK_ENTRY(ca->entry))) == 0) && (type == 1)) { |
| 1387 | 3531 /* We shouldn't allow a blank title */ |
| 3427 | 3532 do_error_dialog(_("You cannot save an away message with a blank title"), |
| 3533 _("Please give the message a title, or choose \"Make Away\" to use " | |
| 3534 "without saving."), GAIM_ERROR); | |
| 1387 | 3535 return 0; |
| 3536 } | |
| 3537 | |
| 4630 | 3538 msg = gtk_text_view_get_text(GTK_TEXT_VIEW(ca->text), FALSE); |
| 3539 | |
| 3540 if (!msg && (type <= 1)) { | |
| 1387 | 3541 /* We shouldn't allow a blank message */ |
| 3427 | 3542 do_error_dialog(_("You cannot create an empty away message"), NULL, GAIM_ERROR); |
| 1387 | 3543 return 0; |
| 3544 } | |
| 3545 | |
| 4630 | 3546 g_free(msg); |
| 3547 | |
| 1387 | 3548 return 1; |
| 3549 } | |
| 3550 | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3551 void save_away_mess(GtkWidget *widget, struct create_away *ca) |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3552 { |
| 1387 | 3553 if (!check_away_mess(ca, 1)) |
| 3554 return; | |
| 3555 | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3556 save_away_message(ca); |
| 717 | 3557 destroy_dialog(NULL, ca->window); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3558 g_free(ca); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3559 } |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3560 |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3561 void use_away_mess(GtkWidget *widget, struct create_away *ca) |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3562 { |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3563 static struct away_message am; |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3564 gchar *away_message; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3565 |
| 1387 | 3566 if (!check_away_mess(ca, 0)) |
| 3567 return; | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3568 |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3569 g_snprintf(am.name, sizeof(am.name), "%s", gtk_entry_get_text(GTK_ENTRY(ca->entry))); |
| 4119 | 3570 away_message = gtk_text_view_get_text(GTK_TEXT_VIEW(ca->text), FALSE); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3571 |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3572 g_snprintf(am.message, sizeof(am.message), "%s", away_message); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3573 g_free(away_message); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3574 |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3575 do_away_message(NULL, &am); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3576 |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3577 destroy_dialog(NULL, ca->window); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3578 g_free(ca); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3579 } |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3580 |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3581 void su_away_mess(GtkWidget *widget, struct create_away *ca) |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3582 { |
| 1387 | 3583 if (!check_away_mess(ca, 1)) |
| 3584 return; | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3585 do_away_message(NULL, save_away_message(ca)); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3586 destroy_dialog(NULL, ca->window); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3587 g_free(ca); |
| 717 | 3588 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3589 |
| 1 | 3590 void create_away_mess(GtkWidget *widget, void *dummy) |
| 3591 { | |
| 439 | 3592 GtkWidget *hbox; |
| 1 | 3593 GtkWidget *titlebox; |
| 3594 GtkWidget *tbox; | |
| 3595 GtkWidget *label; | |
| 439 | 3596 GtkWidget *frame; |
| 3597 GtkWidget *fbox; | |
| 441 | 3598 GtkWidget *button; |
| 1 | 3599 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3600 struct create_away *ca = g_new0(struct create_away, 1); |
| 1185 | 3601 |
| 1 | 3602 /* Set up window */ |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
3603 GAIM_DIALOG(ca->window); |
| 4635 | 3604 gtk_widget_set_size_request(ca->window, -1, 250); |
| 3605 gtk_container_set_border_width(GTK_CONTAINER(ca->window), 5); | |
| 4074 | 3606 gtk_window_set_role(GTK_WINDOW(ca->window), "away_mess"); |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
3607 gtk_window_set_title(GTK_WINDOW(ca->window), _("Gaim - New away message")); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3608 g_signal_connect(GTK_OBJECT(ca->window), "delete_event", |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3609 G_CALLBACK(destroy_dialog), ca->window); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3610 gtk_widget_realize(ca->window); |
| 1185 | 3611 |
| 3612 tbox = gtk_vbox_new(FALSE, 5); | |
| 3613 gtk_container_add(GTK_CONTAINER(ca->window), tbox); | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3614 gtk_widget_show(tbox); |
| 439 | 3615 |
| 3616 frame = gtk_frame_new(_("New away message")); | |
| 1185 | 3617 gtk_box_pack_start(GTK_BOX(tbox), frame, TRUE, TRUE, 0); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3618 gtk_widget_show(frame); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3619 |
| 1172 | 3620 fbox = gtk_vbox_new(FALSE, 5); |
|
1224
0bbe3aaa6a3e
[gaim-migrate @ 1234]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1216
diff
changeset
|
3621 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5); |
| 1185 | 3622 gtk_container_add(GTK_CONTAINER(frame), fbox); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3623 gtk_widget_show(fbox); |
| 1185 | 3624 |
| 3625 titlebox = gtk_hbox_new(FALSE, 5); | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3626 gtk_box_pack_start(GTK_BOX(fbox), titlebox, FALSE, FALSE, 0); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3627 gtk_widget_show(titlebox); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3628 |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
3629 label = gtk_label_new(_("Away title: ")); |
| 1172 | 3630 gtk_box_pack_start(GTK_BOX(titlebox), label, FALSE, FALSE, 0); |
| 441 | 3631 gtk_widget_show(label); |
| 1185 | 3632 |
| 1 | 3633 ca->entry = gtk_entry_new(); |
| 1172 | 3634 gtk_box_pack_start(GTK_BOX(titlebox), ca->entry, TRUE, TRUE, 0); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3635 gtk_widget_grab_focus(ca->entry); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3636 gtk_widget_show(ca->entry); |
| 1 | 3637 |
| 4119 | 3638 frame = gtk_frame_new(NULL); |
| 3639 gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN); | |
| 3640 gtk_box_pack_start(GTK_BOX(fbox), frame, TRUE, TRUE, 0); | |
| 3641 gtk_widget_show(frame); | |
| 3642 | |
| 3643 ca->text = gtk_text_view_new(); | |
| 3644 gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(ca->text), GTK_WRAP_WORD); | |
| 3645 | |
| 3646 gtk_container_add(GTK_CONTAINER(frame), ca->text); | |
| 1 | 3647 gtk_widget_show(ca->text); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3648 |
| 3374 | 3649 |
| 3650 if (dummy) { | |
| 3651 struct away_message *amt; | |
| 3652 GtkTreeIter iter; | |
| 3653 int pos = 0; | |
| 3654 GtkListStore *ls = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(dummy))); | |
| 3655 GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(dummy)); | |
| 3656 GValue val = { 0, }; | |
| 4119 | 3657 GtkTextIter start; |
| 3658 GtkTextBuffer *buffer; | |
| 3374 | 3659 |
|
3716
d7e83b4db191
[gaim-migrate @ 3849]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3671
diff
changeset
|
3660 if (! gtk_tree_selection_get_selected (sel, (GtkTreeModel**)&ls, &iter)) |
| 3374 | 3661 return; |
|
3716
d7e83b4db191
[gaim-migrate @ 3849]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3671
diff
changeset
|
3662 gtk_tree_model_get_value (GTK_TREE_MODEL(ls), &iter, 1, &val); |
| 3374 | 3663 amt = g_value_get_pointer (&val); |
| 3664 gtk_entry_set_text(GTK_ENTRY(ca->entry), amt->name); | |
| 4119 | 3665 buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(ca->text)); |
| 3666 gtk_text_buffer_get_iter_at_offset(buffer, &start, pos); | |
| 3667 gtk_text_buffer_insert(buffer, &start, amt->message, strlen(amt->message)); | |
| 3668 | |
| 3374 | 3669 ca->mess = amt; |
| 3670 } | |
|
832
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
3671 |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3672 hbox = gtk_hbox_new(FALSE, 5); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3673 gtk_box_pack_start(GTK_BOX(tbox), hbox, FALSE, FALSE, 0); |
| 439 | 3674 gtk_widget_show(hbox); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3675 |
| 4092 | 3676 button = picture_button(ca->window, _("Save"), ok_xpm); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3677 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(save_away_mess), ca); |
| 4092 | 3678 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
| 3679 | |
| 3680 button = picture_button(ca->window, _("Save & Use"), add_xpm); | |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3681 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(su_away_mess), ca); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3682 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3683 |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3684 button = picture_button(ca->window, _("Use"), gnome_preferences_xpm); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3685 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(use_away_mess), ca); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3686 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3687 |
| 4092 | 3688 button = picture_button(ca->window, _("Cancel"), cancel_xpm); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3689 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(destroy_dialog), ca->window); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3690 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3691 |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3692 gtk_widget_show(ca->window); |
| 1 | 3693 } |
| 555 | 3694 |
| 3695 /* smiley dialog */ | |
| 3696 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3697 void close_smiley_dialog(GtkWidget *widget, struct gaim_conversation *c) |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3698 { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3699 struct gaim_gtk_conversation *gtkconv; |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3700 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3701 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3702 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3703 if (gtkconv->toolbar.smiley) { |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3704 gaim_gtk_set_state_lock(TRUE); |
| 4635 | 3705 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.smiley), |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3706 FALSE); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3707 gaim_gtk_set_state_lock(FALSE); |
| 570 | 3708 } |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3709 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.smiley); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3710 gtk_widget_destroy(gtkconv->dialogs.smiley); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3711 gtkconv->dialogs.smiley = NULL; |
| 555 | 3712 } |
| 3713 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3714 void insert_smiley_text(GtkWidget *widget, struct gaim_conversation *c) |
| 555 | 3715 { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3716 struct gaim_gtk_conversation *gtkconv; |
| 4667 | 3717 char *smiley_text = g_object_get_data(G_OBJECT(widget), "smiley_text"); |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3718 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3719 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3720 |
| 4667 | 3721 gtk_text_buffer_insert_at_cursor(gtkconv->entry_buffer, smiley_text, -1); |
| 555 | 3722 close_smiley_dialog(NULL, c); |
| 3723 } | |
|
579
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
3724 |
| 4667 | 3725 static void add_smiley(struct gaim_conversation *c, GtkWidget *table, int row, int col, char *filename, char *face) |
| 4034 | 3726 { |
|
4061
890b4f1318df
[gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4060
diff
changeset
|
3727 GtkWidget *image; |
| 4034 | 3728 GtkWidget *button; |
| 4667 | 3729 struct gaim_gtk_conversation *gtkconv = GAIM_GTK_CONVERSATION(c); |
| 3730 | |
| 3731 image = gtk_image_new_from_file(filename); | |
| 3732 button = gtk_button_new(); | |
| 3733 gtk_container_add(GTK_CONTAINER(button), image); | |
| 3734 g_object_set_data(G_OBJECT(button), "smiley_text", face); | |
| 3735 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(insert_smiley_text), c); | |
| 3736 | |
| 3737 gtk_tooltips_set_tip(gtkconv->tooltips, button, face, NULL); | |
| 3738 | |
| 3739 gtk_table_attach_defaults(GTK_TABLE(table), button, col, col+1, row, row+1); | |
| 4034 | 3740 |
| 3741 /* these look really weird with borders */ | |
| 3742 gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); | |
| 4667 | 3743 |
| 3744 gtk_widget_show(button); | |
| 3745 } | |
| 3746 | |
| 3747 static gboolean smiley_is_unique(GSList *list, GtkIMHtmlSmiley *smiley) { | |
| 3748 while(list) { | |
| 3749 GtkIMHtmlSmiley *cur = list->data; | |
| 3750 if(!strcmp(cur->file, smiley->file)) | |
| 3751 return FALSE; | |
| 3752 list = list->next; | |
| 3753 } | |
| 3754 return TRUE; | |
| 4034 | 3755 } |
| 3756 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3757 void show_smiley_dialog(struct gaim_conversation *c, GtkWidget *widget) |
| 555 | 3758 { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3759 struct gaim_gtk_conversation *gtkconv; |
| 555 | 3760 GtkWidget *dialog; |
| 4667 | 3761 GtkWidget *smiley_table = NULL; |
| 3762 GSList *smileys, *unique_smileys = NULL; | |
| 3763 int width; | |
| 3764 int row = 0, col = 0; | |
| 555 | 3765 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3766 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3767 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3768 if (gtkconv->dialogs.smiley) |
|
558
f1b8f03db83f
[gaim-migrate @ 568]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
555
diff
changeset
|
3769 return; |
|
579
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
3770 |
| 4667 | 3771 if(c->account) |
| 3772 smileys = get_proto_smileys(c->account->protocol); | |
| 3773 else | |
| 3774 smileys = get_proto_smileys(DEFAULT_PROTO); | |
| 3775 | |
| 3776 while(smileys) { | |
| 3777 GtkIMHtmlSmiley *smiley = smileys->data; | |
| 3778 if(!smiley->hidden) { | |
| 3779 if(smiley_is_unique(unique_smileys, smiley)) | |
| 3780 unique_smileys = g_slist_append(unique_smileys, smiley); | |
| 3781 } | |
| 3782 smileys = smileys->next; | |
| 3783 } | |
| 3784 | |
| 3785 | |
| 3786 width = floor(sqrt(g_slist_length(unique_smileys))); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3787 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
3788 GAIM_DIALOG(dialog); |
| 4635 | 3789 gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE); |
| 4074 | 3790 gtk_window_set_role(GTK_WINDOW(dialog), "smiley_dialog"); |
| 934 | 3791 gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_MOUSE); |
|
579
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
3792 |
| 4667 | 3793 smiley_table = gtk_table_new(width, width, TRUE); |
| 555 | 3794 |
| 3795 /* pack buttons */ | |
| 4667 | 3796 |
| 3797 while(unique_smileys) { | |
| 3798 GtkIMHtmlSmiley *smiley = unique_smileys->data; | |
| 3799 if(!smiley->hidden) { | |
| 3800 add_smiley(c, smiley_table, row, col, smiley->file, smiley->smile); | |
| 3801 if(++col >= width) { | |
| 3802 col = 0; | |
| 3803 row++; | |
| 3804 } | |
| 3805 } | |
| 3806 unique_smileys = unique_smileys->next; | |
| 3807 } | |
| 3808 | |
| 3809 gtk_container_add(GTK_CONTAINER(dialog), smiley_table); | |
| 3810 | |
| 3811 gtk_widget_show(smiley_table); | |
| 3812 | |
|
579
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
3813 gtk_container_set_border_width(GTK_CONTAINER(dialog), 5); |
| 555 | 3814 |
| 605 | 3815 /* connect signals */ |
| 4635 | 3816 g_object_set_data(G_OBJECT(dialog), "dialog_type", "smiley dialog"); |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3817 g_signal_connect(G_OBJECT(dialog), "delete_event", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3818 G_CALLBACK(delete_event_dialog), c); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3819 |
| 555 | 3820 /* show everything */ |
|
567
102afb84ce45
[gaim-migrate @ 577]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
558
diff
changeset
|
3821 gtk_window_set_title(GTK_WINDOW(dialog), _("Smile!")); |
| 584 | 3822 gtk_widget_show_all(dialog); |
| 555 | 3823 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3824 gtkconv->dialogs.smiley = dialog; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3825 |
| 555 | 3826 return; |
|
558
f1b8f03db83f
[gaim-migrate @ 568]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
555
diff
changeset
|
3827 } |
|
710
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
699
diff
changeset
|
3828 |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
3829 static void do_alias_bud(GtkWidget *w, struct buddy *b) |
|
710
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
699
diff
changeset
|
3830 { |
| 3466 | 3831 const char *al = gtk_entry_get_text(GTK_ENTRY(aliasname)); |
| 4227 | 3832 if (al && strlen(al)) |
| 3833 g_snprintf(b->alias, sizeof(b->alias), "%s", al); | |
| 3834 else | |
| 3835 b->alias[0] = '\0'; | |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
3836 handle_buddy_rename(b, b->name); |
| 3136 | 3837 serv_alias_buddy(b); |
| 4349 | 3838 gaim_blist_save(); |
|
710
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
699
diff
changeset
|
3839 destroy_dialog(aliasdlg, aliasdlg); |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3840 } |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3841 |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3842 void alias_dialog_bud(struct buddy *b) |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3843 { |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3844 GtkWidget *vbox; |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3845 GtkWidget *bbox; |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3846 GtkWidget *cancel; |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3847 static GtkWidget *add = NULL; |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3848 GtkWidget *label; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3849 GtkWidget *topbox; |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3850 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3851 if (aliasdlg) |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3852 gtk_widget_destroy(aliasdlg); |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3853 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
3854 GAIM_DIALOG(aliasdlg); |
| 4635 | 3855 gtk_window_set_resizable(GTK_WINDOW(aliasdlg), FALSE); |
| 4074 | 3856 gtk_window_set_role(GTK_WINDOW(aliasdlg), "alias_dialog"); |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3857 gtk_widget_realize(aliasdlg); |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3858 dialogwindows = g_list_prepend(dialogwindows, aliasdlg); |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3859 |
| 4092 | 3860 topbox = gtk_vbox_new(FALSE, 5); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3861 vbox = gtk_vbox_new(FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3862 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3863 aliasentry = gtk_entry_new(); |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3864 aliasname = gtk_entry_new(); |
| 4092 | 3865 |
| 3866 /* Make the buddy name box */ | |
| 3867 bbox = gtk_hbox_new(FALSE, 5); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3868 label = gtk_label_new(_("Buddy")); |
| 4092 | 3869 gtk_widget_show(bbox); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3870 gtk_widget_show(label); |
| 4092 | 3871 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 5); |
| 3872 gtk_box_pack_end(GTK_BOX(bbox), aliasentry, FALSE, FALSE, 5); | |
| 4635 | 3873 gtk_editable_set_editable(GTK_EDITABLE(aliasentry), FALSE); |
| 4092 | 3874 gtk_box_pack_start(GTK_BOX(topbox), bbox, FALSE, FALSE, 0); |
| 3875 | |
| 3876 /* And the buddy alias box */ | |
| 3877 bbox = gtk_hbox_new(FALSE, 5); | |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3878 label = gtk_label_new(_("Alias")); |
| 4092 | 3879 gtk_widget_show(bbox); |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3880 gtk_widget_show(label); |
| 4092 | 3881 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 5); |
| 3882 gtk_box_pack_end(GTK_BOX(bbox), aliasname, FALSE, FALSE, 5); | |
| 3883 gtk_box_pack_start(GTK_BOX(topbox), bbox, FALSE, FALSE, 0); | |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3884 |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3885 gtk_entry_set_text(GTK_ENTRY(aliasentry), b->name); |
| 4227 | 3886 gtk_entry_set_text(GTK_ENTRY(aliasname), b->alias); |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3887 |
| 4092 | 3888 /* Put the buttons in the box */ |
| 3889 bbox = gtk_hbox_new(FALSE, 5); | |
| 3890 | |
| 3891 add = picture_button(aliasdlg, _("Alias"), add_xpm); | |
| 3892 cancel = picture_button(aliasdlg, _("Cancel"), cancel_xpm); | |
| 3893 gtk_box_pack_end(GTK_BOX(bbox), add, FALSE, FALSE, 0); | |
| 3894 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 0); | |
| 3895 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3896 /* And the boxes in the box */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3897 gtk_box_pack_start(GTK_BOX(vbox), topbox, TRUE, TRUE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3898 gtk_box_pack_start(GTK_BOX(vbox), bbox, TRUE, TRUE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3899 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3900 /* Handle closes right */ |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3901 g_signal_connect(GTK_OBJECT(aliasdlg), "destroy", G_CALLBACK(destroy_dialog), aliasdlg); |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3902 g_signal_connect(GTK_OBJECT(cancel), "clicked", G_CALLBACK(destroy_dialog), aliasdlg); |
| 4635 | 3903 g_signal_connect(GTK_OBJECT(add), "clicked", G_CALLBACK(do_alias_bud), b); |
| 3904 g_signal_connect(GTK_OBJECT(aliasname), "activate", G_CALLBACK(do_alias_bud), b); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3905 /* Finish up */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3906 gtk_widget_show(add); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3907 gtk_widget_show(cancel); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3908 gtk_widget_show(aliasentry); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3909 gtk_widget_show(aliasname); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3910 gtk_widget_show(topbox); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3911 gtk_widget_show(bbox); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3912 gtk_widget_show(vbox); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3913 gtk_window_set_title(GTK_WINDOW(aliasdlg), _("Gaim - Alias Buddy")); |
| 4092 | 3914 gtk_window_set_focus(GTK_WINDOW(aliasdlg), aliasname); |
| 3915 gtk_container_add(GTK_CONTAINER(aliasdlg), vbox); | |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3916 gtk_container_set_border_width(GTK_CONTAINER(aliasdlg), 5); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3917 gtk_widget_realize(aliasdlg); |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3918 |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3919 gtk_widget_show(aliasdlg); |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3920 } |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3921 |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3922 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3923 static gboolean dont_destroy(gpointer a, gpointer b, gpointer c) |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3924 { |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3925 return TRUE; |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3926 } |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3927 |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3928 static void do_save_log(GtkWidget *w, GtkWidget *filesel) |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3929 { |
|
3716
d7e83b4db191
[gaim-migrate @ 3849]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3671
diff
changeset
|
3930 const char *file; |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3931 char path[PATHSIZE]; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3932 char buf[BUF_LONG]; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3933 char error[BUF_LEN]; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3934 FILE *fp_old, *fp_new; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3935 char filename[PATHSIZE]; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3936 char *name; |
|
1722
1edc8b545d6f
[gaim-migrate @ 1732]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1710
diff
changeset
|
3937 char *tmp; |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3938 |
| 4635 | 3939 name = g_object_get_data(G_OBJECT(filesel), "name"); |
|
1722
1edc8b545d6f
[gaim-migrate @ 1732]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1710
diff
changeset
|
3940 tmp = gaim_user_dir(); |
| 3630 | 3941 g_snprintf(filename, PATHSIZE, "%s" G_DIR_SEPARATOR_S "logs" G_DIR_SEPARATOR_S "%s%s", tmp, |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3942 name ? normalize(name) : "system", name ? ".log" : ""); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3943 |
|
3716
d7e83b4db191
[gaim-migrate @ 3849]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3671
diff
changeset
|
3944 file = (const char*)gtk_file_selection_get_filename(GTK_FILE_SELECTION(filesel)); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3945 strncpy(path, file, PATHSIZE - 1); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3946 if (file_is_dir(path, filesel)) |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3947 return; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3948 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3949 if ((fp_new = fopen(path, "w")) == NULL) { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3950 g_snprintf(error, BUF_LONG, |
| 3427 | 3951 _("Couldn't write to %s."), path); |
| 3952 do_error_dialog(error, strerror(errno), GAIM_ERROR); | |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3953 return; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3954 } |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3955 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3956 if ((fp_old = fopen(filename, "r")) == NULL) { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3957 g_snprintf(error, BUF_LONG, |
| 3427 | 3958 _("Couldn't write to %s."), filename); |
| 3959 do_error_dialog(error, strerror(errno), GAIM_ERROR); | |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3960 fclose(fp_new); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3961 return; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3962 } |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3963 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3964 while (fgets(buf, BUF_LONG, fp_old)) |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3965 fputs(buf, fp_new); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3966 fclose(fp_old); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3967 fclose(fp_new); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3968 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3969 gtk_widget_destroy(filesel); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3970 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3971 return; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3972 } |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3973 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3974 static void show_save_log(GtkWidget *w, gchar *name) |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3975 { |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3976 GtkWidget *filesel; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3977 gchar buf[BUF_LEN]; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3978 |
| 3630 | 3979 g_snprintf(buf, BUF_LEN - 1, "%s" G_DIR_SEPARATOR_S "%s%s", gaim_home_dir(), |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3980 name ? normalize(name) : "system", name ? ".log" : ""); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3981 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3982 filesel = gtk_file_selection_new(_("Gaim - Save Log File")); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3983 g_signal_connect(GTK_OBJECT(filesel), "delete_event", |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3984 G_CALLBACK(destroy_dialog), filesel); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3985 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3986 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(filesel)); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3987 gtk_file_selection_set_filename(GTK_FILE_SELECTION(filesel), buf); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3988 g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filesel)->ok_button), |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3989 "clicked", G_CALLBACK(do_save_log), filesel); |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3990 g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filesel)->cancel_button), |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3991 "clicked", G_CALLBACK(destroy_dialog), filesel); |
| 4635 | 3992 g_object_set_data(G_OBJECT(filesel), "name", name); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3993 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3994 gtk_widget_realize(filesel); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3995 gtk_widget_show(filesel); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3996 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3997 return; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3998 } |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3999 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4000 static void do_clear_log_file(GtkWidget *w, gchar *name) |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4001 { |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4002 gchar buf[256]; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4003 gchar filename[256]; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4004 GtkWidget *window; |
|
1722
1edc8b545d6f
[gaim-migrate @ 1732]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1710
diff
changeset
|
4005 char *tmp; |
|
1edc8b545d6f
[gaim-migrate @ 1732]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1710
diff
changeset
|
4006 |
|
1edc8b545d6f
[gaim-migrate @ 1732]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1710
diff
changeset
|
4007 tmp = gaim_user_dir(); |
| 3630 | 4008 g_snprintf(filename, 256, "%s" G_DIR_SEPARATOR_S "logs" G_DIR_SEPARATOR_S "%s%s", tmp, |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4009 name ? normalize(name) : "system", name ? ".log" : ""); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4010 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4011 if ((remove(filename)) == -1) { |
| 3427 | 4012 g_snprintf(buf, 256, _("Couldn't remove file %s." ), filename); |
| 4013 do_error_dialog(buf, strerror(errno), GAIM_ERROR); | |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4014 } |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4015 |
| 4635 | 4016 window = g_object_get_data(G_OBJECT(w), "log_window"); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4017 destroy_dialog(NULL, window); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4018 } |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4019 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4020 static void show_clear_log(GtkWidget *w, gchar *name) |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4021 { |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4022 GtkWidget *window; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4023 GtkWidget *box; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4024 GtkWidget *hbox; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4025 GtkWidget *button; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4026 GtkWidget *label; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4027 GtkWidget *hsep; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4028 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
4029 GAIM_DIALOG(window); |
| 4074 | 4030 gtk_window_set_role(GTK_WINDOW(window), "dialog"); |
| 4586 | 4031 gtk_window_set_title(GTK_WINDOW(window), _("Gaim - Clear Log")); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4032 gtk_container_set_border_width(GTK_CONTAINER(window), 10); |
| 4635 | 4033 gtk_window_set_resizable(GTK_WINDOW(window), TRUE); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4034 g_signal_connect(GTK_OBJECT(window), "delete_event", G_CALLBACK(destroy_dialog), window); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4035 gtk_widget_realize(window); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4036 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4037 box = gtk_vbox_new(FALSE, 5); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4038 gtk_container_add(GTK_CONTAINER(window), box); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4039 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4040 label = gtk_label_new(_("Really clear log?")); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4041 gtk_box_pack_start(GTK_BOX(box), label, TRUE, TRUE, 15); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4042 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4043 hsep = gtk_hseparator_new(); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4044 gtk_box_pack_start(GTK_BOX(box), hsep, FALSE, FALSE, 0); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4045 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4046 hbox = gtk_hbox_new(FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4047 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 0); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4048 gtk_widget_show(hbox); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4049 |
| 4333 | 4050 button = picture_button(window, _("Okay"), ok_xpm); |
| 4635 | 4051 g_object_set_data(G_OBJECT(button), "log_window", g_object_get_data(G_OBJECT(w), |
| 4052 "log_window")); | |
| 4333 | 4053 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(do_clear_log_file), name); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4054 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(destroy_dialog), window); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4055 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 5); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4056 gtk_widget_show(button); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4057 |
| 4333 | 4058 button = picture_button(window, _("Cancel"), cancel_xpm); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4059 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(destroy_dialog), window); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4060 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 5); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4061 gtk_widget_show(button); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4062 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4063 gtk_widget_show_all(window); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4064 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4065 return; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4066 } |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4067 |
| 4635 | 4068 static void log_show_convo(struct view_log *view) |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4069 { |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4070 gchar buf[BUF_LONG]; |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4071 FILE *fp; |
| 2570 | 4072 char filename[256]; |
| 4073 int i=0; | |
| 4074 GString *string; | |
| 2602 | 4075 guint block; |
| 4076 | |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4077 string = g_string_new(""); |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4078 |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4079 if (view->name) { |
|
1634
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1535
diff
changeset
|
4080 char *tmp = gaim_user_dir(); |
| 3630 | 4081 g_snprintf(filename, 256, "%s" G_DIR_SEPARATOR_S "logs" G_DIR_SEPARATOR_S "%s.log", tmp, normalize(view->name)); |
|
1634
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1535
diff
changeset
|
4082 } else { |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1535
diff
changeset
|
4083 char *tmp = gaim_user_dir(); |
| 3630 | 4084 g_snprintf(filename, 256, "%s" G_DIR_SEPARATOR_S "logs" G_DIR_SEPARATOR_S "system", tmp); |
|
1634
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1535
diff
changeset
|
4085 } |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4086 if ((fp = fopen(filename, "r")) == NULL) { |
| 4472 | 4087 g_snprintf(buf, BUF_LONG, _("Couldn't open log file %s."), filename); |
| 3427 | 4088 do_error_dialog(buf, strerror(errno), GAIM_ERROR); |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4089 return; |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4090 } |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4091 |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4092 gtk_widget_set_sensitive(view->bbox, FALSE); |
| 4635 | 4093 g_signal_handlers_disconnect_by_func(G_OBJECT(view->window), |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4094 G_CALLBACK(destroy_dialog), view->window); |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4095 block = g_signal_connect(GTK_OBJECT(view->window), "delete_event", |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4096 G_CALLBACK(dont_destroy), view->window); |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4097 |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4098 fseek(fp, view->offset, SEEK_SET); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4099 gtk_imhtml_clear(GTK_IMHTML(view->layout)); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4100 /* |
| 2570 | 4101 while (gtk_events_pending()) |
| 4102 gtk_main_iteration(); | |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4103 */ |
| 2570 | 4104 |
| 4105 while (fgets(buf, BUF_LONG, fp) && !strstr(buf, "---- New C")) { | |
| 4106 i++; | |
| 4107 if (strlen(buf) >= 5 && (!strncmp(buf + strlen(buf) - 5, "<BR>\n", 5))) | |
| 4108 /* take off the \n */ | |
| 4109 buf[strlen(buf) - 1] = '\0'; | |
| 4110 | |
|
2642
b6cf22276d4b
[gaim-migrate @ 2655]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2623
diff
changeset
|
4111 /* don't lose the thirtieth line of conversation. thanks FeRD */ |
|
b6cf22276d4b
[gaim-migrate @ 2655]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2623
diff
changeset
|
4112 g_string_append(string, buf); |
|
b6cf22276d4b
[gaim-migrate @ 2655]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2623
diff
changeset
|
4113 |
| 2570 | 4114 if (i == 30) { |
|
2856
b1e300a85678
[gaim-migrate @ 2869]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2851
diff
changeset
|
4115 gtk_imhtml_append_text(GTK_IMHTML(view->layout), string->str, -1, view->options); |
| 2570 | 4116 g_string_free(string, TRUE); |
| 4117 string = g_string_new(""); | |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4118 /* you can't have these anymore. if someone clicks on another item while one is |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4119 * drawing, it will try to move to that item, and that causes problems here. |
| 2570 | 4120 while (gtk_events_pending()) |
| 4121 gtk_main_iteration(); | |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4122 */ |
| 2570 | 4123 i = 0; |
| 4124 } | |
| 4125 | |
| 4126 } | |
|
2856
b1e300a85678
[gaim-migrate @ 2869]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2851
diff
changeset
|
4127 gtk_imhtml_append_text(GTK_IMHTML(view->layout), string->str, -1, view->options); |
|
b1e300a85678
[gaim-migrate @ 2869]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2851
diff
changeset
|
4128 gtk_imhtml_append_text(GTK_IMHTML(view->layout), "<BR>", -1, view->options); |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4129 |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4130 gtk_widget_set_sensitive(view->bbox, TRUE); |
| 4635 | 4131 g_signal_handler_disconnect(G_OBJECT(view->window), block); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4132 g_signal_connect(GTK_OBJECT(view->window), "delete_event", |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4133 G_CALLBACK(destroy_dialog), view->window); |
| 2570 | 4134 g_string_free(string, TRUE); |
| 4135 fclose(fp); | |
| 4136 } | |
| 4137 | |
| 4635 | 4138 static void log_select_convo(GtkTreeSelection *sel, GtkTreeModel *model) |
| 4139 { | |
| 4140 GValue val = { 0, }; | |
| 4141 GtkTreeIter iter; | |
| 4142 | |
| 4143 if(!gtk_tree_selection_get_selected(sel, &model, &iter)) | |
| 4144 return; | |
| 4145 gtk_tree_model_get_value(model, &iter, 1, &val); | |
| 4146 log_show_convo(g_value_get_pointer(&val)); | |
| 4147 } | |
| 4148 | |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4149 static void des_view_item(GtkObject *obj, struct view_log *view) |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4150 { |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4151 if (view->name) |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4152 g_free(view->name); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4153 g_free(view); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4154 } |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4155 |
| 4635 | 4156 static void des_log_win(GObject *win, gpointer data) |
|
2623
66164831c228
[gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2621
diff
changeset
|
4157 { |
| 4635 | 4158 char *x = g_object_get_data(win, "log_window"); |
|
2623
66164831c228
[gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2621
diff
changeset
|
4159 if (x) |
|
66164831c228
[gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2621
diff
changeset
|
4160 g_free(x); |
|
66164831c228
[gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2621
diff
changeset
|
4161 } |
|
66164831c228
[gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2621
diff
changeset
|
4162 |
| 3484 | 4163 void conv_show_log(GtkWidget *w, gpointer data) |
| 4164 { | |
| 4165 char *name = g_strdup(data); | |
| 4166 show_log(name); | |
| 4167 g_free(name); | |
| 4168 } | |
| 4169 | |
| 3532 | 4170 void chat_show_log(GtkWidget *w, gpointer data) |
| 4171 { | |
|
3716
d7e83b4db191
[gaim-migrate @ 3849]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3671
diff
changeset
|
4172 char *name = g_strdup_printf("%s.chat", (char*)data); |
| 3532 | 4173 show_log(name); |
| 4174 g_free(name); | |
| 4175 } | |
| 4176 | |
|
2623
66164831c228
[gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2621
diff
changeset
|
4177 void show_log(char *nm) |
| 2570 | 4178 { |
| 4179 gchar filename[256]; | |
| 4180 gchar buf[BUF_LONG]; | |
| 4181 FILE *fp; | |
| 4182 GtkWidget *window; | |
| 4183 GtkWidget *box; | |
| 4184 GtkWidget *hbox; | |
| 2602 | 4185 GtkWidget *bbox; |
| 2570 | 4186 GtkWidget *sw; |
| 4187 GtkWidget *layout; | |
| 4188 GtkWidget *close_button; | |
| 4189 GtkWidget *clear_button; | |
| 4190 GtkWidget *save_button; | |
| 4635 | 4191 GtkListStore *list_store; |
| 4192 GtkWidget *tree_view; | |
| 4193 GtkTreeSelection *sel = NULL; | |
| 4194 GtkTreePath *path; | |
| 2612 | 4195 GtkWidget *item = NULL; |
| 4196 GtkWidget *last = NULL; | |
| 2570 | 4197 GtkWidget *frame; |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4198 struct view_log *view; |
|
2623
66164831c228
[gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2621
diff
changeset
|
4199 char *name = nm ? g_strdup(nm) : NULL; |
| 2570 | 4200 |
| 4201 int options; | |
| 4202 guint block; | |
| 4203 char convo_start[32]; | |
| 4204 long offset = 0; | |
| 4205 | |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4206 options = GTK_IMHTML_NO_COMMENTS | GTK_IMHTML_NO_TITLE | GTK_IMHTML_NO_SCROLL; |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2228
diff
changeset
|
4207 if (convo_options & OPT_CONVO_IGNORE_COLOUR) |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4208 options ^= GTK_IMHTML_NO_COLOURS; |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2228
diff
changeset
|
4209 if (convo_options & OPT_CONVO_IGNORE_FONTS) |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4210 options ^= GTK_IMHTML_NO_FONTS; |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2228
diff
changeset
|
4211 if (convo_options & OPT_CONVO_IGNORE_SIZES) |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4212 options ^= GTK_IMHTML_NO_SIZES; |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4213 |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4214 window = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
| 4635 | 4215 g_object_set_data(G_OBJECT(window), "name", name); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4216 g_signal_connect(GTK_OBJECT(window), "destroy", G_CALLBACK(des_log_win), NULL); |
| 4074 | 4217 gtk_window_set_role(GTK_WINDOW(window), "log"); |
|
1648
09445224e2d9
[gaim-migrate @ 1658]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1634
diff
changeset
|
4218 if (name) |
| 4472 | 4219 g_snprintf(buf, BUF_LONG, _("Gaim - Conversations with %s"), name); |
|
1648
09445224e2d9
[gaim-migrate @ 1658]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1634
diff
changeset
|
4220 else |
| 4472 | 4221 g_snprintf(buf, BUF_LONG, _("Gaim - System Log")); |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4222 gtk_window_set_title(GTK_WINDOW(window), buf); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4223 gtk_container_set_border_width(GTK_CONTAINER(window), 10); |
| 4635 | 4224 gtk_window_set_resizable(GTK_WINDOW(window), TRUE); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4225 block = g_signal_connect(GTK_OBJECT(window), "delete_event", |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4226 G_CALLBACK(dont_destroy), window); |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4227 gtk_widget_realize(window); |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4228 |
| 2570 | 4229 layout = gtk_imhtml_new(NULL, NULL); |
| 2602 | 4230 bbox = gtk_hbox_new(FALSE, 0); |
| 4231 | |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4232 box = gtk_vbox_new(FALSE, 5); |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4233 gtk_container_add(GTK_CONTAINER(window), box); |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4234 |
| 2570 | 4235 hbox = gtk_hbox_new(FALSE, 5); |
| 4236 gtk_box_pack_start(GTK_BOX(box), hbox, TRUE, TRUE, 0); | |
| 4237 | |
| 4238 if (name) { | |
| 4239 char *tmp = gaim_user_dir(); | |
| 3630 | 4240 g_snprintf(filename, 256, "%s" G_DIR_SEPARATOR_S "logs" G_DIR_SEPARATOR_S "%s.log", tmp, normalize(name)); |
| 2570 | 4241 if ((fp = fopen(filename, "r")) == NULL) { |
| 4472 | 4242 g_snprintf(buf, BUF_LONG, _("Couldn't open log file %s"), filename); |
| 3427 | 4243 do_error_dialog(buf, strerror(errno), GAIM_ERROR); |
| 2570 | 4244 return; |
| 4245 } | |
| 4246 | |
| 4635 | 4247 list_store = gtk_list_store_new(2, |
| 4248 G_TYPE_STRING, | |
| 4249 G_TYPE_POINTER); | |
| 4250 | |
| 4251 tree_view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(list_store)); | |
| 4252 | |
| 4253 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(tree_view), FALSE); | |
| 4254 | |
| 4255 gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(tree_view), | |
| 4256 -1, "", gtk_cell_renderer_text_new(), "text", 0, NULL); | |
| 4257 | |
| 4258 sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_view)); | |
| 4259 g_signal_connect(G_OBJECT(sel), "changed", | |
| 4260 G_CALLBACK(log_select_convo), | |
| 4261 NULL); | |
| 2570 | 4262 |
| 4263 frame = gtk_frame_new(_("Date")); | |
| 4264 gtk_widget_show(frame); | |
| 4265 | |
| 4266 sw = gtk_scrolled_window_new(NULL, NULL); | |
| 4267 gtk_container_set_border_width(GTK_CONTAINER(sw), 5); | |
| 4635 | 4268 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), tree_view); |
|
2613
6f7e1fc3e132
[gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2612
diff
changeset
|
4269 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), |
|
6f7e1fc3e132
[gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2612
diff
changeset
|
4270 GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); |
| 4635 | 4271 gtk_widget_set_size_request(sw, 220, 220); |
| 2570 | 4272 gtk_container_add(GTK_CONTAINER(frame), sw); |
| 4273 gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0); | |
| 4274 | |
| 4275 while (fgets(buf, BUF_LONG, fp)) { | |
| 4276 if (strstr(buf, "---- New C")) { | |
| 4277 int length; | |
| 4278 char *temp = strchr(buf, '@'); | |
| 4635 | 4279 GtkTreeIter iter; |
| 2612 | 4280 |
| 2570 | 4281 if (temp == NULL || strlen(temp) < 2) |
| 4282 continue; | |
| 2612 | 4283 |
| 2570 | 4284 temp++; |
| 4285 length = strcspn(temp, "-"); | |
| 4286 if (length > 31) length = 31; | |
| 4287 | |
| 4288 offset = ftell(fp); | |
| 4289 g_snprintf(convo_start, length, "%s", temp); | |
| 4635 | 4290 gtk_list_store_append(list_store, &iter); |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4291 view = g_new0(struct view_log, 1); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4292 view->options = options; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4293 view->offset = offset; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4294 view->name = g_strdup(name); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4295 view->bbox = bbox; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4296 view->window = window; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4297 view->layout = layout; |
| 4635 | 4298 gtk_list_store_set(list_store, &iter, |
| 4299 0, convo_start, | |
| 4300 1, view, | |
| 4301 -1); | |
| 4302 g_signal_connect(G_OBJECT(window), "destroy", | |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4303 G_CALLBACK(des_view_item), view); |
| 2612 | 4304 last = item; |
| 2570 | 4305 } |
| 4306 } | |
| 4307 fclose(fp); | |
| 4635 | 4308 |
| 4309 path = gtk_tree_path_new_first(); | |
| 4310 gtk_tree_selection_select_path(sel, path); | |
| 4311 gtk_tree_path_free(path); | |
| 4312 | |
| 4313 g_object_unref(G_OBJECT(list_store)); | |
| 2612 | 4314 } |
| 4315 | |
| 4635 | 4316 |
| 4317 g_signal_handler_disconnect(GTK_OBJECT(window), block); | |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4318 g_signal_connect(GTK_OBJECT(window), "delete_event", G_CALLBACK(destroy_dialog), window); |
| 2602 | 4319 |
| 2570 | 4320 frame = gtk_frame_new(_("Conversation")); |
| 4321 gtk_widget_show(frame); | |
| 4322 | |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4323 sw = gtk_scrolled_window_new(NULL, NULL); |
| 2570 | 4324 gtk_container_set_border_width(GTK_CONTAINER(sw), 5); |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4325 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); |
| 4333 | 4326 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN); |
| 4635 | 4327 gtk_widget_set_size_request(sw, 390, 220); |
| 2570 | 4328 gtk_container_add(GTK_CONTAINER(frame), sw); |
| 4329 gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0); | |
| 4330 | |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4331 g_signal_connect(GTK_OBJECT(layout), "url_clicked", G_CALLBACK(open_url), NULL); |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4332 gtk_container_add(GTK_CONTAINER(sw), layout); |
|
1815
f15d449b3167
[gaim-migrate @ 1825]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1805
diff
changeset
|
4333 gaim_setup_imhtml(layout); |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4334 |
| 2602 | 4335 gtk_box_pack_start(GTK_BOX(box), bbox, FALSE, FALSE, 0); |
| 4336 gtk_widget_set_sensitive(bbox, FALSE); | |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4337 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4338 close_button = picture_button(window, _("Close"), cancel_xpm); |
| 2602 | 4339 gtk_box_pack_end(GTK_BOX(bbox), close_button, FALSE, FALSE, 5); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4340 g_signal_connect(GTK_OBJECT(close_button), "clicked", G_CALLBACK(destroy_dialog), window); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4341 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4342 clear_button = picture_button(window, _("Clear"), close_xpm); |
| 4635 | 4343 g_object_set_data(G_OBJECT(clear_button), "log_window", window); |
| 2602 | 4344 gtk_box_pack_end(GTK_BOX(bbox), clear_button, FALSE, FALSE, 5); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4345 g_signal_connect(GTK_OBJECT(clear_button), "clicked", G_CALLBACK(show_clear_log), name); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4346 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4347 save_button = picture_button(window, _("Save"), save_xpm); |
| 2602 | 4348 gtk_box_pack_end(GTK_BOX(bbox), save_button, FALSE, FALSE, 5); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4349 g_signal_connect(GTK_OBJECT(save_button), "clicked", G_CALLBACK(show_save_log), name); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4350 |
| 4635 | 4351 gtk_widget_show_all(window); |
| 4352 | |
| 2570 | 4353 if (!name) { |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4354 view = g_new0(struct view_log, 1); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4355 view->options = options; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4356 view->name = NULL; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4357 view->bbox = bbox; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4358 view->window = window; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4359 view->layout = layout; |
| 4635 | 4360 log_show_convo(view); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4361 g_signal_connect(GTK_OBJECT(layout), "destroy", G_CALLBACK(des_view_item), view); |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4362 } |
| 4635 | 4363 |
| 2602 | 4364 gtk_widget_set_sensitive(bbox, TRUE); |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4365 |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4366 return; |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4367 } |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4368 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4369 /*------------------------------------------------------------------------*/ |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4370 /* The dialog for renaming groups */ |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4371 /*------------------------------------------------------------------------*/ |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4372 |
| 4183 | 4373 static void do_rename_group(GtkObject *obj, int resp, GtkWidget *entry) |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4374 { |
| 3466 | 4375 const char *new_name; |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4376 struct group *g; |
|
1748
2eec724fdbcd
[gaim-migrate @ 1758]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1736
diff
changeset
|
4377 struct group *orig; |
| 4349 | 4378 GSList *accts; |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4379 |
| 4183 | 4380 if (resp == GTK_RESPONSE_OK) { |
| 4381 | |
| 4382 new_name = gtk_entry_get_text(GTK_ENTRY(entry)); | |
| 4635 | 4383 g = g_object_get_data(G_OBJECT(entry), "group"); |
| 4183 | 4384 |
| 4385 if (new_name && (strlen(new_name) != 0) && strcmp(new_name, g->name)) { | |
| 4386 char *prevname; | |
| 4387 | |
| 4349 | 4388 if ((orig = find_group(new_name)) != NULL && g_strcasecmp(new_name, g->name)) { |
| 4183 | 4389 orig->members = g_slist_concat(orig->members, g->members); |
| 4390 handle_group_rename(orig, g->name); | |
| 4349 | 4391 groups = g_slist_remove(groups, g); |
| 4183 | 4392 /* FIXME, i don't like calling this. it's sloppy. */ build_edit_tree(); |
| 4349 | 4393 accts = gaim_group_get_accounts(g); |
| 4394 while(accts) { | |
| 4491 | 4395 struct gaim_account *account = accts->data; |
| 4396 serv_rename_group(account->gc, g, new_name); | |
| 4349 | 4397 accts = g_slist_remove(accts, accts->data); |
| 4398 } | |
| 4183 | 4399 g_free(g); |
| 4400 } else { | |
| 4401 prevname = g_strdup(g->name); | |
| 4349 | 4402 accts = gaim_group_get_accounts(g); |
| 4403 while(accts) { | |
| 4491 | 4404 struct gaim_account *account = accts->data; |
| 4405 serv_rename_group(account->gc, g, new_name); | |
| 4349 | 4406 accts = g_slist_remove(accts, accts->data); |
| 4407 } | |
| 4183 | 4408 g_snprintf(g->name, sizeof(g->name), "%s", new_name); |
| 4409 handle_group_rename(g, prevname); | |
| 4410 /* FIXME, i don't like calling this. it's sloppy. */ build_edit_tree(); | |
| 4411 g_free(prevname); | |
| 4412 } | |
| 4349 | 4413 gaim_blist_save(); |
|
1748
2eec724fdbcd
[gaim-migrate @ 1758]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1736
diff
changeset
|
4414 } |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4415 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4416 destroy_dialog(rename_dialog, rename_dialog); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4417 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4418 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4419 void show_rename_group(GtkWidget *unused, struct group *g) |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4420 { |
| 4183 | 4421 |
| 4422 GtkWidget *hbox, *vbox; | |
| 4423 GtkWidget *label; | |
| 4424 char *filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_question.png", NULL); | |
| 4425 GtkWidget *img = gtk_image_new_from_file(filename); | |
|
4201
511c2b63caa4
[gaim-migrate @ 4432]
Christian Hammond <chipx86@chipx86.com>
parents:
4198
diff
changeset
|
4426 GtkWidget *name_entry = NULL; |
| 4183 | 4427 |
| 4428 g_free(filename); | |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4429 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4430 if (!rename_dialog) { |
| 4635 | 4431 rename_dialog = gtk_dialog_new_with_buttons(_("Gaim - Rename Group"), GTK_WINDOW(blist), GTK_DIALOG_MODAL, |
| 4183 | 4432 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); |
| 4433 gtk_dialog_set_default_response (GTK_DIALOG(rename_dialog), GTK_RESPONSE_OK); | |
| 4434 gtk_container_set_border_width (GTK_CONTAINER(rename_dialog), 6); | |
| 4435 gtk_window_set_resizable(GTK_WINDOW(rename_dialog), FALSE); | |
| 4436 gtk_dialog_set_has_separator(GTK_DIALOG(rename_dialog), FALSE); | |
| 4437 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(rename_dialog)->vbox), 12); | |
| 4438 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(rename_dialog)->vbox), 6); | |
| 4635 | 4439 |
| 4183 | 4440 hbox = gtk_hbox_new(FALSE, 12); |
| 4441 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(rename_dialog)->vbox), hbox); | |
| 4442 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
| 4443 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); | |
| 4444 | |
| 4445 vbox = gtk_vbox_new(FALSE, 0); | |
| 4446 gtk_container_add(GTK_CONTAINER(hbox), vbox); | |
| 4635 | 4447 |
| 4183 | 4448 label = gtk_label_new(_("Please enter a new name for the selected group.\n")); |
| 4449 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | |
| 4450 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 4451 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); | |
| 4635 | 4452 |
| 4183 | 4453 hbox = gtk_hbox_new(FALSE, 6); |
| 4454 gtk_container_add(GTK_CONTAINER(vbox), hbox); | |
| 4635 | 4455 |
| 4183 | 4456 label = gtk_label_new(NULL); |
| 4457 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Group:")); | |
| 4458 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 4635 | 4459 |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4460 name_entry = gtk_entry_new(); |
| 4183 | 4461 gtk_entry_set_activates_default (GTK_ENTRY(name_entry), TRUE); |
| 4635 | 4462 g_object_set_data(G_OBJECT(name_entry), "group", g); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4463 gtk_entry_set_text(GTK_ENTRY(name_entry), g->name); |
| 4183 | 4464 gtk_box_pack_start(GTK_BOX(hbox), name_entry, FALSE, FALSE, 0); |
| 4465 gtk_entry_set_activates_default (GTK_ENTRY(name_entry), TRUE); | |
| 4466 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(name_entry)); | |
| 4635 | 4467 |
| 4183 | 4468 g_signal_connect(G_OBJECT(rename_dialog), "response", G_CALLBACK(do_rename_group), name_entry); |
| 4182 | 4469 |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4470 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4471 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4472 gtk_widget_show_all(rename_dialog); |
|
4201
511c2b63caa4
[gaim-migrate @ 4432]
Christian Hammond <chipx86@chipx86.com>
parents:
4198
diff
changeset
|
4473 if(name_entry) |
|
511c2b63caa4
[gaim-migrate @ 4432]
Christian Hammond <chipx86@chipx86.com>
parents:
4198
diff
changeset
|
4474 gtk_widget_grab_focus(GTK_WIDGET(name_entry)); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4475 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4476 |
| 2743 | 4477 |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4478 /*------------------------------------------------------------------------*/ |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4479 /* The dialog for renaming buddies */ |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4480 /*------------------------------------------------------------------------*/ |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4481 |
| 4635 | 4482 static void do_rename_buddy(GObject *obj, GtkWidget *entry) |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4483 { |
| 3466 | 4484 const char *new_name; |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4485 struct buddy *b; |
|
2681
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4486 GSList *gr; |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4487 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4488 new_name = gtk_entry_get_text(GTK_ENTRY(entry)); |
| 4635 | 4489 b = g_object_get_data(obj, "buddy"); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4490 |
| 4491 | 4491 if (!g_slist_find(connections, b->account->gc)) { |
|
2681
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4492 destroy_dialog(rename_bud_dialog, rename_bud_dialog); |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4493 return; |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4494 } |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4495 |
| 4349 | 4496 gr = groups; |
|
2681
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4497 while (gr) { |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4498 if (g_slist_find(((struct group *)gr->data)->members, b)) |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4499 break; |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4500 gr = gr->next; |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4501 } |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4502 if (!gr) { |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4503 destroy_dialog(rename_bud_dialog, rename_bud_dialog); |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4504 return; |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4505 } |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4506 |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4507 if (new_name && (strlen(new_name) != 0) && strcmp(new_name, b->name)) { |
| 4349 | 4508 struct group *g = find_group_by_buddy(b); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4509 char *prevname = g_strdup(b->name); |
|
2681
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4510 if (g) |
| 4491 | 4511 serv_remove_buddy(b->account->gc, b->name, g->name); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4512 g_snprintf(b->name, sizeof(b->name), "%s", new_name); |
| 4491 | 4513 serv_add_buddy(b->account->gc, b->name); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4514 handle_buddy_rename(b, prevname); |
| 4349 | 4515 gaim_blist_save(); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4516 g_free(prevname); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4517 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4518 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4519 destroy_dialog(rename_bud_dialog, rename_bud_dialog); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4520 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4521 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4522 void show_rename_buddy(GtkWidget *unused, struct buddy *b) |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4523 { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4524 GtkWidget *mainbox; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4525 GtkWidget *frame; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4526 GtkWidget *fbox; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4527 GtkWidget *bbox; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4528 GtkWidget *button; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4529 GtkWidget *name_entry; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4530 GtkWidget *label; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4531 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4532 if (!rename_bud_dialog) { |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
4533 GAIM_DIALOG(rename_bud_dialog); |
| 4074 | 4534 gtk_window_set_role(GTK_WINDOW(rename_bud_dialog), "rename_bud_dialog"); |
| 4635 | 4535 gtk_window_set_resizable(GTK_WINDOW(rename_bud_dialog), TRUE); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4536 gtk_window_set_title(GTK_WINDOW(rename_bud_dialog), _("Gaim - Rename Buddy")); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4537 g_signal_connect(GTK_OBJECT(rename_bud_dialog), "destroy", |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4538 G_CALLBACK(destroy_dialog), rename_bud_dialog); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4539 gtk_widget_realize(rename_bud_dialog); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4540 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4541 mainbox = gtk_vbox_new(FALSE, 5); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4542 gtk_container_set_border_width(GTK_CONTAINER(mainbox), 5); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4543 gtk_container_add(GTK_CONTAINER(rename_bud_dialog), mainbox); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4544 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4545 frame = gtk_frame_new(_("Rename Buddy")); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4546 gtk_box_pack_start(GTK_BOX(mainbox), frame, TRUE, TRUE, 0); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4547 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4548 fbox = gtk_hbox_new(FALSE, 5); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4549 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4550 gtk_container_add(GTK_CONTAINER(frame), fbox); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4551 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4552 label = gtk_label_new(_("New name:")); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4553 gtk_box_pack_start(GTK_BOX(fbox), label, FALSE, FALSE, 0); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4554 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4555 name_entry = gtk_entry_new(); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4556 gtk_box_pack_start(GTK_BOX(fbox), name_entry, TRUE, TRUE, 0); |
| 4635 | 4557 g_object_set_data(G_OBJECT(name_entry), "buddy", b); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4558 gtk_entry_set_text(GTK_ENTRY(name_entry), b->name); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4559 g_signal_connect(GTK_OBJECT(name_entry), "activate", |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4560 G_CALLBACK(do_rename_buddy), name_entry); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4561 gtk_widget_grab_focus(name_entry); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4562 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4563 bbox = gtk_hbox_new(FALSE, 5); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4564 gtk_box_pack_start(GTK_BOX(mainbox), bbox, FALSE, FALSE, 0); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4565 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4566 button = picture_button(rename_bud_dialog, _("OK"), ok_xpm); |
| 4635 | 4567 g_object_set_data(G_OBJECT(button), "buddy", b); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4568 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4569 g_signal_connect(GTK_OBJECT(button), "clicked", |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4570 G_CALLBACK(do_rename_buddy), name_entry); |
| 4236 | 4571 |
| 4572 button = picture_button(rename_bud_dialog, _("Cancel"), cancel_xpm); | |
| 4573 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); | |
| 4574 g_signal_connect(GTK_OBJECT(button), "clicked", | |
| 4575 G_CALLBACK(destroy_dialog), rename_bud_dialog); | |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4576 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4577 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4578 gtk_widget_show_all(rename_bud_dialog); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4579 } |
|
2370
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4580 |
|
2377
466b29d35b85
[gaim-migrate @ 2390]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
4581 #ifdef USE_PERL |
|
466b29d35b85
[gaim-migrate @ 2390]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
4582 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4583 static GtkWidget *perl_config = NULL; |
|
2370
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4584 static char *perl_last_dir = NULL; |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4585 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4586 static void cfdes(GtkWidget *m, gpointer n) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4587 { |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4588 if (perl_config) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4589 gtk_widget_destroy(perl_config); |
|
2370
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4590 perl_config = NULL; |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4591 } |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4592 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4593 static void do_load(GtkWidget *m, gpointer n) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4594 { |
|
2370
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4595 const char *file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(perl_config)); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4596 gchar *f = NULL; |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4597 if (!file || !strlen(file)) { |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4598 return; |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4599 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4600 |
|
2370
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4601 if (file_is_dir(file, perl_config)) { |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4602 return; |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4603 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4604 |
|
2370
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4605 if (perl_last_dir) { |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4606 g_free(perl_last_dir); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4607 } |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4608 perl_last_dir = g_dirname(file); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4609 |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4610 debug_printf("Loading perl script: %s\n", file); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4611 |
|
2370
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4612 f = g_strdup(file); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4613 perl_load_file(f); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4614 g_free(f); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4615 cfdes(perl_config, NULL); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4616 } |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4617 |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4618 void load_perl_script() |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4619 { |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4620 char *buf, *temp; |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4621 |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4622 if (perl_config) { |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4623 gtk_widget_show(perl_config); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4624 gdk_window_raise(perl_config->window); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4625 return; |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4626 } |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4627 |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4628 /* Below is basically stolen from plugins.c */ |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4629 perl_config = gtk_file_selection_new(_("Gaim - Select Perl Script")); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4630 |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4631 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(perl_config)); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4632 |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4633 if (!perl_last_dir) { |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4634 temp = gaim_user_dir(); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4635 buf = g_strconcat(temp, G_DIR_SEPARATOR_S, NULL); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4636 } else { |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4637 buf = g_strconcat(perl_last_dir, G_DIR_SEPARATOR_S, NULL); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4638 } |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4639 |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4640 gtk_file_selection_set_filename(GTK_FILE_SELECTION(perl_config), buf); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4641 gtk_file_selection_complete(GTK_FILE_SELECTION(perl_config), "*.pl"); |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4642 g_signal_connect(GTK_OBJECT(perl_config), "destroy", G_CALLBACK(cfdes), perl_config); |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4643 |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4644 g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(perl_config)->ok_button), |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4645 "clicked", G_CALLBACK(do_load), NULL); |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4646 |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4647 g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(perl_config)->cancel_button), |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
4648 "clicked", G_CALLBACK(cfdes), NULL); |
|
2370
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4649 |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4650 g_free(buf); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4651 gtk_widget_show(perl_config); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4652 gdk_window_raise(perl_config->window); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4653 } |
|
2377
466b29d35b85
[gaim-migrate @ 2390]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
4654 |
|
466b29d35b85
[gaim-migrate @ 2390]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
4655 #endif /* USE_PERL */ |
|
2379
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4656 |
| 3668 | 4657 GtkWidget *gaim_pixbuf_toolbar_button_from_stock(char *icon) |
| 4658 { | |
| 4659 GtkWidget *button, *image, *bbox; | |
| 4660 | |
| 4661 button = gtk_toggle_button_new(); | |
| 4662 gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); | |
| 4663 | |
| 4664 bbox = gtk_vbox_new(FALSE, 0); | |
| 4665 | |
| 4666 gtk_container_add (GTK_CONTAINER(button), bbox); | |
| 4667 | |
| 4668 image = gtk_image_new_from_stock(icon, GTK_ICON_SIZE_MENU); | |
| 4669 gtk_box_pack_start(GTK_BOX(bbox), image, FALSE, FALSE, 0); | |
| 4670 | |
| 4671 gtk_widget_show_all(bbox); | |
| 4672 return button; | |
| 4673 } | |
| 4674 | |
| 3671 | 4675 GtkWidget *gaim_pixbuf_toolbar_button_from_file(char *icon) |
| 4676 { | |
| 4677 GtkWidget *button, *image, *bbox; | |
| 4678 char *filename; | |
| 4679 | |
| 4680 if (!icon) | |
| 4681 return NULL; | |
| 4682 | |
| 4683 button = gtk_toggle_button_new(); | |
| 4684 gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); | |
| 4685 | |
| 4686 bbox = gtk_vbox_new(FALSE, 0); | |
| 4687 | |
| 4688 gtk_container_add (GTK_CONTAINER(button), bbox); | |
| 4689 | |
| 4690 filename = g_build_filename (DATADIR, "pixmaps", "gaim", "buttons", icon, NULL); | |
| 4691 debug_printf("Loading: %s\n", filename); | |
| 4692 image = gtk_image_new_from_file(filename); | |
| 4693 g_free(filename); | |
| 4694 | |
| 4695 gtk_box_pack_start(GTK_BOX(bbox), image, FALSE, FALSE, 0); | |
| 4696 | |
| 4697 gtk_widget_show_all(bbox); | |
| 4698 return button; | |
| 4699 } | |
| 4700 | |
| 4701 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
4702 GtkWidget * |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
4703 gaim_pixbuf_button_from_stock(const char *text, const char *icon, |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
4704 GaimButtonStyle style) |
| 3668 | 4705 { |
| 4706 GtkWidget *button, *image, *label, *bbox; | |
| 4707 button = gtk_button_new(); | |
| 4708 | |
| 4709 if (style == GAIM_BUTTON_HORIZONTAL) | |
| 4710 bbox = gtk_hbox_new(FALSE, 5); | |
| 4711 else | |
| 4712 bbox = gtk_vbox_new(FALSE, 0); | |
| 4713 | |
| 4714 gtk_container_add (GTK_CONTAINER(button), bbox); | |
| 4715 | |
| 4716 if (icon) { | |
| 4717 image = gtk_image_new_from_stock(icon, GTK_ICON_SIZE_BUTTON); | |
| 4718 gtk_box_pack_start(GTK_BOX(bbox), image, FALSE, FALSE, 0); | |
| 4719 } | |
| 4720 | |
| 4721 if (text) { | |
| 4722 label = gtk_label_new(NULL); | |
| 4723 gtk_label_set_text_with_mnemonic(GTK_LABEL(label), text); | |
| 4724 gtk_label_set_mnemonic_widget(GTK_LABEL(label), button); | |
| 4725 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0); | |
| 4726 } | |
| 4727 | |
| 4728 gtk_widget_show_all(bbox); | |
| 4729 return button; | |
| 4730 } | |
| 4731 | |
| 3649 | 4732 GtkWidget *gaim_pixbuf_button(char *text, char *iconfile, GaimButtonStyle style) |
| 3367 | 4733 { |
| 4734 GtkWidget *button, *image, *label, *bbox; | |
| 4735 button = gtk_button_new(); | |
| 3649 | 4736 |
| 4737 if (style == GAIM_BUTTON_HORIZONTAL) | |
| 4738 bbox = gtk_hbox_new(FALSE, 5); | |
| 4739 else | |
| 4740 bbox = gtk_vbox_new(FALSE, 0); | |
| 4741 | |
| 3367 | 4742 gtk_container_add (GTK_CONTAINER(button), bbox); |
| 3649 | 4743 |
| 3367 | 4744 if (iconfile) { |
| 4745 char *filename; | |
| 4746 filename = g_build_filename (DATADIR, "pixmaps", "gaim", "buttons", iconfile, NULL); | |
| 4747 debug_printf("Loading: %s\n", filename); | |
| 4748 image = gtk_image_new_from_file(filename); | |
| 4749 gtk_box_pack_start(GTK_BOX(bbox), image, FALSE, FALSE, 0); | |
| 4750 g_free(filename); | |
| 4751 } | |
| 3649 | 4752 |
| 3367 | 4753 if (text) { |
| 4754 label = gtk_label_new(NULL); | |
| 4755 gtk_label_set_text_with_mnemonic(GTK_LABEL(label), text); | |
| 4756 gtk_label_set_mnemonic_widget(GTK_LABEL(label), button); | |
| 4757 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0); | |
| 4758 } | |
| 4759 gtk_widget_show_all(bbox); | |
| 4760 return button; | |
| 4761 } | |
| 3427 | 4762 |
|
2379
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4763 GtkWidget *picture_button(GtkWidget *window, char *text, char **xpm) |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4764 { |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4765 GtkWidget *button; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4766 GtkWidget *button_box, *button_box_2, *button_box_3; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4767 GtkWidget *label; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4768 GdkBitmap *mask; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4769 GdkPixmap *pm; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4770 GtkWidget *pixmap; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4771 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4772 button = gtk_button_new(); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4773 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4774 button_box = gtk_hbox_new(FALSE, 5); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4775 gtk_container_add(GTK_CONTAINER(button), button_box); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4776 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4777 button_box_2 = gtk_hbox_new(FALSE, 0); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4778 button_box_3 = gtk_hbox_new(FALSE, 0); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4779 gtk_box_pack_start(GTK_BOX(button_box), button_box_2, TRUE, TRUE, 0); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4780 gtk_box_pack_start(GTK_BOX(button_box), button_box_3, TRUE, TRUE, 0); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4781 pm = gdk_pixmap_create_from_xpm_d(window->window, &mask, NULL, xpm); |
| 4635 | 4782 pixmap = gtk_image_new_from_pixmap(pm, mask); |
|
2379
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4783 gtk_box_pack_end(GTK_BOX(button_box_2), pixmap, FALSE, FALSE, 0); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4784 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4785 if (text) { |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4786 label = gtk_label_new(text); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4787 gtk_box_pack_start(GTK_BOX(button_box_3), label, FALSE, FALSE, 2); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4788 gtk_widget_show(label); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4789 } |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4790 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4791 gtk_widget_show(pixmap); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4792 gtk_widget_show(button_box_2); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4793 gtk_widget_show(button_box_3); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4794 gtk_widget_show(button_box); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4795 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4796 /* this causes clipping on lots of buttons with long text */ |
| 4635 | 4797 /* gtk_widget_set_size_request(button, 75, 30);*/ |
|
2379
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4798 gtk_widget_show(button); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4799 gdk_pixmap_unref(pm); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4800 gdk_bitmap_unref(mask); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4801 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4802 return button; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4803 } |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4804 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4805 static GtkTooltips *button_tips = NULL; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4806 GtkWidget *picture_button2(GtkWidget *window, char *text, char **xpm, short dispstyle) |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4807 { |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4808 GtkWidget *button; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4809 GtkWidget *button_box, *button_box_2; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4810 GdkBitmap *mask; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4811 GdkPixmap *pm; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4812 GtkWidget *pixmap; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4813 GtkWidget *label; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4814 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4815 if (!button_tips) |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4816 button_tips = gtk_tooltips_new(); |
| 3902 | 4817 |
|
2379
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4818 button = gtk_button_new(); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4819 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4820 button_box = gtk_hbox_new(FALSE, 0); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4821 gtk_container_add(GTK_CONTAINER(button), button_box); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4822 |
| 3320 | 4823 button_box_2 = gtk_vbox_new(FALSE, 0); |
| 4824 | |
| 4825 gtk_box_pack_start(GTK_BOX(button_box), button_box_2, TRUE, TRUE, 0); | |
|
2379
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4826 gtk_widget_show(button_box_2); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4827 gtk_widget_show(button_box); |
| 3327 | 4828 if (dispstyle == 2 || dispstyle == 0) { |
| 4829 pm = gdk_pixmap_create_from_xpm_d(window->window, &mask, NULL, xpm); | |
| 4635 | 4830 pixmap = gtk_image_new_from_pixmap(pm, mask); |
| 3327 | 4831 gtk_box_pack_start(GTK_BOX(button_box_2), pixmap, FALSE, FALSE, 0); |
| 4832 | |
| 4833 gtk_widget_show(pixmap); | |
| 4834 | |
| 4835 gdk_pixmap_unref(pm); | |
| 4836 gdk_bitmap_unref(mask); | |
| 4837 } | |
| 4838 | |
| 4839 if (dispstyle == 2 || dispstyle == 1) { | |
| 4840 label = gtk_label_new(text); | |
| 4841 gtk_widget_show(label); | |
| 4842 gtk_box_pack_end(GTK_BOX(button_box_2), label, FALSE, FALSE, 0); | |
|
2379
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4843 } |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4844 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4845 gtk_tooltips_set_tip(button_tips, button, text, "Gaim"); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4846 gtk_widget_show(button); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4847 return button; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4848 } |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4849 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4850 int file_is_dir(const char *path, GtkWidget *w) |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4851 { |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4852 struct stat st; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4853 char *name; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4854 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4855 if (stat(path, &st) == 0 && S_ISDIR(st.st_mode)) { |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4856 /* append a / if needed */ |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4857 if (path[strlen(path) - 1] != '/') { |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4858 name = g_strconcat(path, "/", NULL); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4859 } else { |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4860 name = g_strdup(path); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4861 } |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4862 gtk_file_selection_set_filename(GTK_FILE_SELECTION(w), name); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4863 g_free(name); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4864 return 1; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4865 } |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4866 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4867 return 0; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4868 } |
| 2956 | 4869 |
| 4870 /*------------------------------------------------------------------------*/ | |
| 4871 /* The dialog for setting V-Card info */ | |
| 4872 /*------------------------------------------------------------------------*/ | |
| 4873 /* | |
| 4874 * There are actually two "chunks" of code following: generic "multi-entry dialog" | |
| 4875 * support and V-Card dialog specific support. | |
| 4876 * | |
| 4877 * At first blush, this may seem like an unnecessary duplication of effort given | |
| 4878 * that a "set dir info" dialog already exists. However, this is not so because: | |
| 4879 * | |
| 4880 * 1. V-Cards can have a lot more data in them than what the current | |
| 4881 * "set dir" dialog supports. | |
| 4882 * | |
| 4883 * 2. V-Card data, at least with respect to Jabber, is currently in a | |
| 4884 * state of flux. As the data and format changes, all that need be | |
| 4885 * changed with the V-Card support I've written is the "template" | |
| 4886 * data. | |
| 4887 * | |
| 4888 * 3. The "multi entry dialog" support itself was originally written | |
| 4889 * to support Jabber server user registration (TBD). A "dynamically | |
| 4890 * configurable" multi-entry dialog is needed for that, as different | |
| 4891 * servers may require different registration information. It just | |
| 4892 * turned out to be well-suited to adding V-Card setting support, as | |
| 4893 * well :-). | |
| 4894 * | |
| 4895 * TBD: Add check-box support to the generic multi-entry dialog support so that | |
| 4896 * it can be used to "replace" the "set dir info" support? | |
| 4897 * | |
| 4898 * Multiple-language support. Currently Not In There. I think this should | |
| 4899 * be easy. Note that when it's added: if anybody saved their data in | |
| 4900 * English, it'll be lost when MLS is added and they'll have to re-enter it. | |
| 4901 * | |
| 4902 * More "TBDs" noted in the code. | |
| 4903 */ | |
| 4904 | |
| 4905 | |
| 4906 /*------------------------------------*/ | |
| 4907 /* generic multi-entry dialog support */ | |
| 4908 /*------------------------------------*/ | |
| 4909 | |
| 4910 /* | |
| 4911 * Print all multi-entry items | |
| 4912 * | |
| 4913 * Note: Simply a debug helper | |
| 4914 */ | |
| 4915 void multi_entry_item_print_all(const GSList *list) { | |
| 4916 | |
| 4917 int cnt = 0; | |
| 4918 | |
| 4919 /* While there's something to print... */ | |
| 4920 while(list != NULL) { | |
| 4921 fprintf(stderr, "label %2d: \"%s\"", ++cnt, ((MultiEntryData *) (list->data))->label); | |
| 4922 if(((MultiEntryData *) (list->data))->text != NULL) { | |
| 4923 fprintf(stderr, ", text: \"%s\"", ((MultiEntryData *) (list->data))->text); | |
| 4924 } | |
| 4925 fputs("\n", stderr); | |
| 4926 list = list->next; | |
| 4927 } | |
| 4928 } | |
| 4929 | |
| 4930 /* | |
| 4931 * Print all multi-text items | |
| 4932 * | |
| 4933 * Note: Simply a debug helper | |
| 4934 */ | |
| 4935 void multi_text_item_print_all(const GSList *list) { | |
| 4936 | |
| 4937 int cnt = 0; | |
| 4938 | |
| 4939 /* While there's something to print... */ | |
| 4940 while(list != NULL) { | |
| 4941 fprintf(stderr, "label %2d: \"%s\"", ++cnt, ((MultiTextData *) (list->data))->label); | |
| 4942 if(((MultiTextData *) (list->data))->text != NULL) { | |
| 4943 fprintf(stderr, ", text: \"%s\"", ((MultiTextData *) (list->data))->text); | |
| 4944 } | |
| 4945 fputs("\n", stderr); | |
| 4946 list = list->next; | |
| 4947 } | |
| 4948 } | |
| 4949 | |
| 4950 | |
| 4951 /* | |
| 4952 * Free all multi-entry item allocs and NULL the list pointer | |
| 4953 */ | |
| 4954 void multi_entry_items_free_all(GSList **list) | |
| 4955 { | |
| 4956 | |
| 4957 GSList *next = *list; | |
| 4958 MultiEntryData *data; | |
| 4959 | |
| 4960 /* While there's something to free() ... */ | |
| 4961 while(next != NULL) { | |
| 4962 data = (MultiEntryData *) next->data; | |
| 4963 g_free(data->label); | |
| 4964 g_free(data->text); | |
| 4965 g_free(data); | |
| 4966 next = next->next; | |
| 4967 } | |
| 4968 g_slist_free(*list); | |
| 4969 *list = NULL; | |
| 4970 } | |
| 4971 | |
| 4972 /* | |
| 4973 * Free all multi-text item allocs and NULL the list pointer | |
| 4974 */ | |
| 4975 void multi_text_items_free_all(GSList **list) | |
| 4976 { | |
| 4977 | |
| 4978 GSList *next = *list; | |
| 4979 MultiTextData *data; | |
| 4980 | |
| 4981 /* While there's something to free() ... */ | |
| 4982 while(next != NULL) { | |
| 4983 data = (MultiTextData *) next->data; | |
| 4984 g_free(data->label); | |
| 4985 g_free(data->text); | |
| 4986 g_free(data); | |
| 4987 next = next->next; | |
| 4988 } | |
| 4989 g_slist_free(*list); | |
| 4990 *list = NULL; | |
| 4991 } | |
| 4992 | |
| 4993 /* | |
| 4994 * See if a MultiEntryData item contains a given label | |
| 4995 * | |
| 4996 * See: glib docs for g_slist_compare_custom() for details | |
| 4997 */ | |
| 4998 static gint multi_entry_data_label_compare(gconstpointer data, gconstpointer label) | |
| 4999 { | |
| 5000 return(strcmp(((MultiEntryData *) (data))->label, (char *) label)); | |
| 5001 } | |
| 5002 | |
| 5003 /* | |
| 5004 * Add a new multi-entry item to list | |
| 5005 * | |
| 5006 * If adding to existing list: will search the list for existence of | |
| 5007 * "label" and change/create "text" entry if necessary. | |
| 5008 */ | |
| 5009 | |
| 5010 MultiEntryData *multi_entry_list_update(GSList **list, const char *label, const char *text, int add_it) | |
| 5011 { | |
| 5012 GSList *found; | |
| 5013 MultiEntryData *data; | |
| 5014 | |
| 2975 | 5015 if((found = g_slist_find_custom(*list, (void *)label, multi_entry_data_label_compare)) == NULL) { |
| 2956 | 5016 if(add_it) { |
| 5017 data = (MultiEntryData *) g_slist_last(*list = | |
| 5018 g_slist_append(*list, g_malloc(sizeof(MultiEntryData))))->data; | |
| 5019 data->label = strcpy(g_malloc(strlen(label) +1), label); | |
| 5020 data->text = NULL; | |
| 5021 /* | |
| 5022 * default to setting "visible" and editable to TRUE - they can be | |
| 5023 * overridden later, of course. | |
| 5024 */ | |
| 5025 data->visible = TRUE; | |
| 5026 data->editable = TRUE; | |
| 5027 } else { | |
| 5028 data = NULL; | |
| 5029 } | |
| 5030 } else { | |
| 5031 data = found->data; | |
| 5032 } | |
| 5033 | |
| 5034 if(data != NULL && text != NULL && text[0] != '\0') { | |
| 5035 if(data->text == NULL) { | |
| 5036 data->text = g_malloc(strlen(text) + 1); | |
| 5037 } else { | |
| 5038 data->text = g_realloc(data->text, strlen(text) + 1); | |
| 5039 } | |
| 5040 strcpy(data->text, text); | |
| 5041 } | |
| 5042 | |
| 5043 return(data); | |
| 5044 } | |
| 5045 | |
| 5046 /* | |
| 5047 * See if a MultiTextData item contains a given label | |
| 5048 * | |
| 5049 * See: glib docs for g_slist_compare_custom() for details | |
| 5050 */ | |
| 5051 static gint multi_text_data_label_compare(gconstpointer data, gconstpointer label) | |
| 5052 { | |
| 5053 return(strcmp(((MultiTextData *) (data))->label, (char *) label)); | |
| 5054 } | |
| 5055 | |
| 5056 /* | |
| 5057 * Add a new multi-text item to list | |
| 5058 * | |
| 5059 * If adding to existing list: will search the list for existence of | |
| 5060 * "label" and change/create "text" text if necessary. | |
| 5061 */ | |
| 5062 | |
| 5063 MultiTextData *multi_text_list_update(GSList **list, const char *label, const char *text, int add_it) | |
| 5064 { | |
| 5065 GSList *found; | |
| 5066 MultiTextData *data; | |
| 5067 | |
| 2975 | 5068 if((found = g_slist_find_custom(*list, (void *)label, multi_text_data_label_compare)) == NULL) { |
| 2956 | 5069 if(add_it) { |
| 5070 data = (MultiTextData *) g_slist_last(*list = | |
| 5071 g_slist_append(*list, g_malloc(sizeof(MultiTextData))))->data; | |
| 5072 data->label = strcpy(g_malloc(strlen(label) +1), label); | |
| 5073 data->text = NULL; | |
| 5074 } else { | |
| 5075 data = NULL; | |
| 5076 } | |
| 5077 } else { | |
| 5078 data = found->data; | |
| 5079 } | |
| 5080 | |
| 5081 if(data != NULL && text != NULL && text[0] != '\0') { | |
| 5082 if(data->text == NULL) { | |
| 5083 data->text = g_malloc(strlen(text) + 1); | |
| 5084 } else { | |
| 5085 data->text = g_realloc(data->text, strlen(text) + 1); | |
| 5086 } | |
| 5087 strcpy(data->text, text); | |
| 5088 } | |
| 5089 | |
| 5090 return(data); | |
| 5091 } | |
| 5092 | |
| 5093 /* | |
| 5094 * Free-up the multi-entry item list and the MultiEntryDlg | |
| 5095 * struct alloc. | |
| 5096 */ | |
| 5097 void multi_entry_free(struct multi_entry_dlg *b) | |
| 5098 { | |
| 5099 multi_entry_items_free_all(&(b->multi_entry_items)); | |
| 5100 multi_text_items_free_all(&(b->multi_text_items)); | |
| 5101 g_free(b->instructions->text); | |
| 5102 g_free(b->instructions); | |
| 2975 | 5103 g_free(b->entries_title); |
| 2956 | 5104 g_free(b); |
| 5105 } | |
| 5106 | |
| 5107 /* | |
| 5108 * Multi-Entry dialog "destroyed" catcher | |
| 5109 * | |
| 5110 * Free-up the multi-entry item list, destroy the dialog widget | |
| 5111 * and free the MultiEntryDlg struct alloc. | |
| 5112 * | |
| 5113 */ | |
| 5114 void multi_entry_dialog_destroy(GtkWidget *widget, gpointer data) | |
| 5115 { | |
| 5116 MultiEntryDlg *b = data; | |
| 5117 | |
| 5118 multi_entry_free(b); | |
| 5119 } | |
| 5120 | |
| 5121 /* | |
| 5122 * Show/Re-show instructions | |
| 5123 */ | |
| 5124 void re_show_multi_entry_instr(MultiInstrData *instructions) | |
| 5125 { | |
| 5126 if(instructions->label != NULL) { | |
| 5127 if(instructions->text == NULL) { | |
| 5128 gtk_widget_hide(instructions->label); | |
| 5129 } else { | |
| 5130 gtk_label_set_text(GTK_LABEL (instructions->label), instructions->text); | |
| 5131 gtk_widget_show(instructions->label); | |
| 5132 } | |
| 5133 } | |
| 5134 } | |
| 5135 | |
| 5136 /* | |
| 5137 * Show/Re-show entry boxes | |
| 5138 */ | |
| 5139 void re_show_multi_entry_entries(GtkWidget **entries_table, | |
| 5140 GtkWidget *entries_frame, | |
| 5141 GSList *multi_entry_items) | |
| 5142 { | |
| 5143 GtkWidget *label; | |
| 5144 GSList *multi_entry; | |
| 5145 MultiEntryData *med; | |
| 2975 | 5146 int rows, row_num, col_num, col_offset; |
| 5147 int cols = 1; | |
| 2956 | 5148 |
| 5149 /* Figure-out number of rows needed for table */ | |
| 2975 | 5150 if((rows = g_slist_length(multi_entry_items)) > 9) { |
| 5151 rows /= 2; | |
| 5152 ++cols; | |
| 5153 } | |
| 2956 | 5154 |
| 5155 if(*entries_table != NULL) { | |
| 5156 gtk_widget_destroy(GTK_WIDGET (*entries_table)); | |
| 5157 } | |
| 2975 | 5158 *entries_table = gtk_table_new(rows, 3 * cols, FALSE); |
| 2956 | 5159 gtk_container_add(GTK_CONTAINER (entries_frame), *entries_table); |
| 5160 | |
| 2975 | 5161 for(col_num = 0, multi_entry = multi_entry_items; col_num < cols && multi_entry != NULL; |
| 5162 ++col_num) { | |
| 5163 col_offset = col_num * 3; | |
| 5164 for(row_num = 0; row_num < rows && multi_entry != NULL; | |
| 5165 ++row_num, multi_entry = multi_entry->next) { | |
| 5166 | |
| 5167 med = (MultiEntryData *) multi_entry->data; | |
| 5168 | |
| 5169 label = gtk_label_new(med->label); | |
| 5170 gtk_misc_set_alignment(GTK_MISC(label), (gfloat) 1.0, (gfloat) 0.5); | |
| 5171 gtk_table_attach_defaults(GTK_TABLE (*entries_table), label, | |
| 5172 col_offset, 1 + col_offset, row_num, row_num +1); | |
| 5173 gtk_widget_show(label); | |
| 5174 | |
| 5175 label = gtk_label_new(": "); | |
| 5176 gtk_misc_set_alignment(GTK_MISC(label), (gfloat) 0.0, (gfloat) 0.5); | |
| 5177 gtk_table_attach_defaults(GTK_TABLE (*entries_table), label, | |
| 5178 1 + col_offset, 2 + col_offset, row_num, row_num +1); | |
| 5179 gtk_widget_show(label); | |
| 5180 | |
| 4635 | 5181 med->widget = gtk_entry_new(); |
| 5182 gtk_entry_set_max_length(GTK_ENTRY(med->widget), 50); | |
| 2975 | 5183 if(med->text != NULL) { |
| 5184 gtk_entry_set_text(GTK_ENTRY (med->widget), med->text); | |
| 5185 } | |
| 5186 gtk_entry_set_visibility(GTK_ENTRY (med->widget), med->visible); | |
| 4635 | 5187 gtk_editable_set_editable(GTK_EDITABLE(med->widget), med->editable); |
| 2975 | 5188 gtk_table_attach(GTK_TABLE (*entries_table), med->widget, |
| 5189 2 + col_offset, 3 + col_offset, row_num, row_num +1, | |
| 5190 GTK_FILL|GTK_EXPAND, GTK_FILL|GTK_EXPAND, 5, 0); | |
| 5191 gtk_widget_show(med->widget); | |
| 2956 | 5192 } |
| 5193 } | |
| 5194 | |
| 5195 gtk_widget_show(*entries_table); | |
| 5196 } | |
| 5197 | |
| 5198 /* | |
| 5199 * Show/Re-show textboxes | |
| 5200 */ | |
| 5201 void re_show_multi_entry_textboxes(GtkWidget **texts_ibox, | |
| 5202 GtkWidget *texts_obox, | |
| 5203 GSList *multi_text_items) | |
| 5204 { | |
| 5205 GSList *multi_text; | |
| 5206 MultiTextData *mtd; | |
| 4635 | 5207 GtkWidget *frame; |
| 5208 GtkWidget *sw; | |
| 2956 | 5209 |
| 5210 if(*texts_ibox != NULL) { | |
| 5211 gtk_widget_destroy(GTK_WIDGET (*texts_ibox)); | |
| 5212 } | |
| 5213 *texts_ibox = gtk_vbox_new(FALSE, 5); | |
| 5214 gtk_container_add(GTK_CONTAINER (texts_obox), *texts_ibox); | |
| 5215 | |
| 5216 for(multi_text = multi_text_items; multi_text != NULL; multi_text = multi_text->next) { | |
| 5217 mtd = (MultiTextData *) multi_text->data; | |
| 5218 frame = gtk_frame_new(mtd->label); | |
| 4635 | 5219 sw = gtk_scrolled_window_new(NULL, NULL); |
| 5220 gtk_container_set_border_width(GTK_CONTAINER(sw), 5); | |
| 5221 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), | |
| 5222 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | |
| 5223 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), | |
| 5224 GTK_SHADOW_IN); | |
| 5225 gtk_widget_set_size_request(sw, 300, 100); | |
| 5226 gtk_container_add(GTK_CONTAINER (frame), sw); | |
| 2956 | 5227 gtk_container_add(GTK_CONTAINER (*texts_ibox), frame); |
| 4635 | 5228 mtd->textbox = gtk_text_view_new(); |
| 5229 gtk_text_view_set_editable(GTK_TEXT_VIEW(mtd->textbox), TRUE); | |
| 5230 gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(mtd->textbox), GTK_WRAP_WORD); | |
| 5231 gtk_text_buffer_set_text( | |
| 5232 gtk_text_view_get_buffer(GTK_TEXT_VIEW(mtd->textbox)), | |
| 5233 mtd->text?mtd->text:"", -1); | |
| 5234 gtk_container_add(GTK_CONTAINER (sw), mtd->textbox); | |
| 2956 | 5235 gtk_widget_show(mtd->textbox); |
| 4635 | 5236 gtk_widget_show(sw); |
| 2956 | 5237 gtk_widget_show(frame); |
| 5238 } | |
| 5239 | |
| 5240 gtk_widget_show(*texts_ibox); | |
| 5241 } | |
| 5242 | |
| 5243 /* | |
| 5244 * Create and initialize a new Multi-Entry Dialog struct | |
| 5245 */ | |
| 5246 MultiEntryDlg *multi_entry_dialog_new() | |
| 5247 { | |
| 5248 MultiEntryDlg *b = g_new0(MultiEntryDlg, 1); | |
| 5249 b->instructions = g_new0(MultiInstrData, 1); | |
| 5250 b->multi_entry_items = NULL; | |
| 5251 b->multi_text_items = NULL; | |
| 5252 return(b); | |
| 5253 } | |
| 5254 | |
| 5255 /* | |
| 5256 * Instantiate a new multi-entry dialog | |
| 5257 * | |
| 5258 * data == pointer to MultiEntryDlg with the following | |
| 5259 * initialized: | |
| 5260 * | |
| 4074 | 5261 * role |
| 2956 | 5262 * title |
| 5263 * user | |
| 5264 * multi_entry_items - pointers to MultiEntryData list | |
| 5265 * and MultiTextData list | |
| 5266 * instructions (optional) | |
| 5267 * ok function pointer | |
| 5268 * cancel function pointer (actually used to set | |
| 5269 * window destroy signal--cancel asserts destroy) | |
| 5270 * | |
| 5271 * sets the following in the MultiEntryDialog struct: | |
| 5272 * | |
| 5273 * window | |
| 5274 */ | |
| 5275 void show_multi_entry_dialog(gpointer data) | |
| 5276 { | |
| 5277 GtkWidget *vbox, *hbox; | |
| 5278 GtkWidget *button; | |
| 5279 MultiEntryDlg *b = data; | |
| 5280 | |
| 5281 GAIM_DIALOG(b->window); | |
| 2969 | 5282 gtk_container_set_border_width(GTK_CONTAINER(b->window), 5); |
| 4074 | 5283 gtk_window_set_role(GTK_WINDOW(b->window), b->role); |
| 2956 | 5284 gtk_window_set_title(GTK_WINDOW (b->window), b->title); |
| 2969 | 5285 |
| 2956 | 5286 /* Clean up if user dismisses window via window manager! */ |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
5287 g_signal_connect(GTK_OBJECT(b->window), "destroy", G_CALLBACK(b->cancel), (gpointer) b); |
| 2956 | 5288 gtk_widget_realize(b->window); |
| 5289 | |
| 5290 vbox = gtk_vbox_new(FALSE, 5); | |
| 5291 gtk_container_add(GTK_CONTAINER (b->window), vbox); | |
| 5292 | |
| 5293 b->instructions->label = gtk_label_new(NULL); | |
| 5294 gtk_label_set_line_wrap(GTK_LABEL (b->instructions->label), TRUE); | |
| 5295 gtk_box_pack_start(GTK_BOX (vbox), b->instructions->label, TRUE, TRUE, 5); | |
| 5296 re_show_multi_entry_instr(b->instructions); | |
| 5297 | |
| 2975 | 5298 b->entries_frame = gtk_frame_new(b->entries_title); |
| 2956 | 5299 gtk_box_pack_start(GTK_BOX (vbox), b->entries_frame, TRUE, TRUE, 5); |
| 5300 gtk_widget_show(b->entries_frame); | |
| 5301 b->entries_table = NULL; | |
| 5302 re_show_multi_entry_entries(&(b->entries_table), b->entries_frame, b->multi_entry_items); | |
| 5303 | |
| 5304 b->texts_obox = gtk_vbox_new(FALSE, 0); | |
| 2969 | 5305 gtk_box_pack_start(GTK_BOX (vbox), b->texts_obox, TRUE, TRUE, 5); |
| 2956 | 5306 gtk_widget_show(b->texts_obox); |
| 5307 b->texts_ibox = NULL; | |
| 5308 re_show_multi_entry_textboxes(&(b->texts_ibox), b->texts_obox, b->multi_text_items); | |
| 5309 | |
| 5310 hbox = gtk_hbox_new(FALSE, 0); | |
| 2969 | 5311 gtk_box_pack_start(GTK_BOX (vbox), hbox, FALSE, FALSE, 5); |
| 2956 | 5312 gtk_widget_show(hbox); |
| 5313 | |
| 4236 | 5314 button = picture_button(b->window, _("Save"), save_xpm); |
| 5315 g_signal_connect(GTK_OBJECT (button), "clicked", | |
| 5316 G_CALLBACK (b->ok), (gpointer) b); | |
| 5317 gtk_box_pack_end(GTK_BOX (hbox), button, FALSE, FALSE, 5); | |
| 5318 gtk_widget_show(button); | |
| 5319 | |
| 2956 | 5320 button = picture_button(b->window, _("Cancel"), cancel_xpm); |
| 2969 | 5321 |
| 2956 | 5322 /* Let "destroy handling" (set above) handle cleanup */ |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
5323 g_signal_connect_swapped(GTK_OBJECT (button), "clicked", |
|
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
5324 G_CALLBACK (gtk_widget_destroy), GTK_OBJECT (b->window)); |
| 2969 | 5325 gtk_box_pack_end(GTK_BOX (hbox), button, FALSE, FALSE, 5); |
| 2956 | 5326 gtk_widget_show(button); |
| 5327 | |
| 5328 gtk_widget_show(vbox); | |
| 5329 gtk_widget_show(b->window); | |
| 5330 } | |
| 5331 | |
| 5332 | |
| 5333 /*------------------------------------*/ | |
| 5334 /* V-Card dialog specific support */ | |
| 5335 /*------------------------------------*/ | |
| 5336 | |
| 5337 /* | |
| 5338 * V-Card "set info" dialog "Save" clicked | |
| 5339 * | |
| 5340 * Copy data from GTK+ dialogs into GSLists, call protocol-specific | |
| 5341 * formatter and save the user info data. | |
| 5342 */ | |
| 5343 void set_vcard_dialog_ok_clicked(GtkWidget *widget, gpointer data) | |
| 5344 { | |
| 5345 MultiEntryDlg *b = (MultiEntryDlg *) data; | |
| 5346 struct gaim_connection *gc; | |
| 5347 gchar *tmp; | |
| 5348 GSList *list; | |
| 5349 | |
| 5350 for(list = b->multi_entry_items; list != NULL; list = list->next) { | |
| 5351 if(((MultiEntryData *) list->data)->text != NULL) { | |
| 5352 g_free(((MultiEntryData *) list->data)->text); | |
| 5353 } | |
| 5354 ((MultiEntryData *) list->data)->text = | |
| 5355 g_strdup(gtk_entry_get_text(GTK_ENTRY(((MultiEntryData *) list->data)->widget))); | |
| 5356 } | |
| 5357 | |
| 5358 for(list = b->multi_text_items; list != NULL; list = list->next) { | |
| 5359 if(((MultiTextData *) list->data)->text != NULL) { | |
| 5360 g_free(((MultiTextData *) list->data)->text); | |
| 5361 } | |
| 5362 ((MultiTextData *) list->data)->text = | |
| 4635 | 5363 gtk_text_view_get_text(GTK_TEXT_VIEW(((MultiTextData *) list->data)->textbox), FALSE); |
| 2956 | 5364 } |
| 5365 | |
| 5366 | |
| 5367 tmp = b->custom(b); | |
| 5368 | |
| 5369 /* | |
| 5370 * Set the user info and (possibly) send to the server | |
| 5371 */ | |
| 4491 | 5372 if (b->account) { |
| 5373 strncpy(b->account->user_info, tmp, sizeof b->account->user_info); | |
| 5374 gc = b->account->gc; | |
| 2956 | 5375 |
| 5376 save_prefs(); | |
| 5377 | |
| 5378 if (gc) | |
| 4491 | 5379 serv_set_info(gc, b->account->user_info); |
| 2956 | 5380 } |
| 5381 | |
| 5382 g_free(tmp); | |
| 5383 | |
| 5384 /* Let multi-edit dialog window "destroy" event catching handle remaining cleanup */ | |
| 5385 gtk_widget_destroy(GTK_WIDGET (b->window)); | |
| 5386 } | |
| 5387 | |
| 5388 /* | |
| 5389 * Instantiate a v-card dialog | |
| 5390 */ | |
| 5391 void show_set_vcard(MultiEntryDlg *b) | |
| 5392 { | |
| 5393 b->ok = set_vcard_dialog_ok_clicked; | |
| 5394 b->cancel = multi_entry_dialog_destroy; | |
| 5395 | |
| 5396 show_multi_entry_dialog(b); | |
| 5397 } | |
| 5398 | |
| 5399 | |
| 5400 /*------------------------------------------------------------------------*/ | |
| 5401 /* End dialog for setting v-card info */ | |
| 5402 /*------------------------------------------------------------------------*/ | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
5403 |
