Mercurial > pidgin
annotate src/dialogs.c @ 3752:b32474e522fa
[gaim-migrate @ 3890]
From: "William T. Mahan" <wtm2@duke.edu>
This patch, against CVS HEAD, fixes three bugs in Oscar File Transfer
support. I can split it up further if desired.
* Send a null checksum when initiating a file transfer, which fixes
"files don't match" warnings produced by some versions of WinAIM; add
a compile-time option to actually compute the checksum, which is
slow but necessary when sending to some Mac clients.
* Don't allow sending files to oneself, because it causes all kinds of
subtle problems and it's not useful.
* Don't crash when there is an error writing to the output file when
receiving.
From: "William T. Mahan" <wtm2@duke.edu>
This patch 2 of 3, which applies on top of the first, adds support for
reverse connections for Oscar File Transfer, the lack of which has
been the biggest complaint so far. Reverse connections are used by
newer AIM clients when there is difficulty verifying the IP of the
sender.
From: "William T. Mahan" <wtm2@duke.edu>
This patch 3 of 3, which applies on top of the first 2, removes the
alarm() and sigaction() calls that were added by my original FT patch
to detect transfer timeouts. Besides apparently not working on
Windows, they involved a lot of ugly code to handle a special case.
My new approach is to add destructors that can called when SNACs are
freed; a timeout is detected when a request SNAC is cleaned up before
the transfer is accepted. Although this touches several files, it is
more generic than the old method. I tried to implement this in an
unintrusive manner, so that there is little preformance penalty for
SNACs that do not use destructors.
My first two patches should work fine without this. If there are any
objections to the third patch, I ask that the first two patches be
applied, in which case I will set up a SourceForge page for this one.
committer: Tailor Script <tailor@pidgin.im>
| author | Luke Schierer <lschiere@pidgin.im> |
|---|---|
| date | Sat, 19 Oct 2002 05:22:30 +0000 |
| parents | ddc4bfd2c825 |
| children | 764ecb5f984b |
| 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" |
| 467 | 61 #include "pixmaps/warn.xpm" |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
62 #include "pixmaps/close.xpm" |
| 3367 | 63 #include "pixmaps/gnome_add.xpm" |
| 64 #include "pixmaps/gnome_remove.xpm" | |
| 441 | 65 |
| 555 | 66 #include "pixmaps/angel.xpm" |
| 67 #include "pixmaps/bigsmile.xpm" | |
| 68 #include "pixmaps/burp.xpm" | |
| 69 #include "pixmaps/crossedlips.xpm" | |
| 70 #include "pixmaps/cry.xpm" | |
| 71 #include "pixmaps/embarrassed.xpm" | |
| 72 #include "pixmaps/kiss.xpm" | |
| 73 #include "pixmaps/moneymouth.xpm" | |
| 74 #include "pixmaps/sad.xpm" | |
| 75 #include "pixmaps/scream.xpm" | |
| 76 #include "pixmaps/smile.xpm" | |
| 77 #include "pixmaps/smile8.xpm" | |
| 78 #include "pixmaps/think.xpm" | |
| 79 #include "pixmaps/tongue.xpm" | |
| 80 #include "pixmaps/wink.xpm" | |
| 81 #include "pixmaps/yell.xpm" | |
| 82 | |
| 3490 | 83 #include "pixmaps/protocols/oscar/aol_icon.xpm" |
| 84 #include "pixmaps/protocols/oscar/free_icon.xpm" | |
| 85 #include "pixmaps/protocols/oscar/dt_icon.xpm" | |
| 86 #include "pixmaps/protocols/oscar/admin_icon.xpm" | |
| 87 #include "pixmaps/protocols/oscar/ab.xpm" | |
| 88 #include "pixmaps/protocols/oscar/wireless_icon.xpm" | |
| 89 #include "pixmaps/protocols/oscar/gnomeicu-online.xpm" | |
|
1428
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
90 |
|
1035
80a47e3b1bca
[gaim-migrate @ 1045]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
91 #define PATHSIZE 1024 |
|
80a47e3b1bca
[gaim-migrate @ 1045]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
92 |
| 555 | 93 int smiley_array[FACE_TOTAL]; |
| 3035 | 94 char *current_smiley; |
| 728 | 95 GdkColor bgcolor; |
| 96 GdkColor fgcolor; | |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
97 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
98 static GtkWidget *imdialog = NULL; /*I only want ONE of these :) */ |
| 1 | 99 static GList *dialogwindows = NULL; |
|
2493
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
100 static GtkWidget *importdialog; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
101 static struct gaim_connection *importgc; |
| 2344 | 102 static GtkWidget *icondlg; |
|
710
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
699
diff
changeset
|
103 static GtkWidget *aliasdlg = NULL; |
|
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
699
diff
changeset
|
104 static GtkWidget *aliasentry = NULL; |
|
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
699
diff
changeset
|
105 static GtkWidget *aliasname = NULL; |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
106 static GtkWidget *rename_dialog = NULL; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
107 static GtkWidget *rename_bud_dialog = NULL; |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
108 |
| 3649 | 109 |
| 2743 | 110 struct confirm_del { |
| 111 GtkWidget *window; | |
| 112 GtkWidget *label; | |
| 113 GtkWidget *ok; | |
| 114 GtkWidget *cancel; | |
| 115 char name[1024]; | |
| 116 struct gaim_connection *gc; | |
| 117 }; | |
| 118 | |
| 1 | 119 struct create_away { |
|
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 *entry; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
122 GtkWidget *text; |
|
832
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
123 struct away_message *mess; |
| 1 | 124 }; |
| 125 | |
| 126 struct warning { | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
127 GtkWidget *window; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
128 GtkWidget *anon; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
129 char *who; |
|
976
2586b2a3725e
[gaim-migrate @ 986]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
967
diff
changeset
|
130 struct gaim_connection *gc; |
| 1 | 131 }; |
| 132 | |
| 133 struct addbuddy { | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
134 GtkWidget *window; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
135 GtkWidget *combo; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
136 GtkWidget *entry; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
137 GtkWidget *entry_for_alias; |
| 2527 | 138 GtkWidget *account; |
|
1072
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
139 struct gaim_connection *gc; |
| 1 | 140 }; |
| 141 | |
| 142 struct addperm { | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
143 GtkWidget *window; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
144 GtkWidget *entry; |
|
1072
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
145 struct gaim_connection *gc; |
|
1144
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
146 gboolean permit; |
| 1 | 147 }; |
| 148 | |
| 149 struct addbp { | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
150 GtkWidget *window; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
151 GtkWidget *nameentry; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
152 GtkWidget *messentry; |
|
1229
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
153 GtkWidget *commentry; |
|
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
154 GtkWidget *command; |
| 1 | 155 GtkWidget *sendim; |
| 156 GtkWidget *openwindow; | |
| 2550 | 157 GtkWidget *popupnotify; |
| 1137 | 158 GtkWidget *p_signon; |
| 159 GtkWidget *p_unaway; | |
| 160 GtkWidget *p_unidle; | |
| 2993 | 161 GtkWidget *p_typing; |
|
1235
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
162 GtkWidget *save; |
| 1137 | 163 GtkWidget *menu; |
| 1694 | 164 GtkWidget *sound; |
| 165 GtkWidget *soundentry; | |
| 1139 | 166 |
| 167 struct aim_user *user; | |
| 2986 | 168 struct buddy_pounce *buddy_pounce; |
| 1 | 169 }; |
| 170 | |
| 171 struct findbyemail { | |
| 172 GtkWidget *window; | |
| 173 GtkWidget *emailentry; | |
|
1535
1e2cc8c8bf3c
[gaim-migrate @ 1545]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1499
diff
changeset
|
174 struct gaim_connection *gc; |
| 1 | 175 }; |
| 176 | |
| 177 struct findbyinfo { | |
|
2393
a7ecfd3f7714
[gaim-migrate @ 2406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2382
diff
changeset
|
178 struct gaim_connection *gc; |
| 1 | 179 GtkWidget *window; |
| 180 GtkWidget *firstentry; | |
| 181 GtkWidget *middleentry; | |
| 182 GtkWidget *lastentry; | |
| 183 GtkWidget *maidenentry; | |
| 184 GtkWidget *cityentry; | |
| 185 GtkWidget *stateentry; | |
| 186 GtkWidget *countryentry; | |
| 187 }; | |
| 188 | |
| 189 struct info_dlg { | |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
190 struct gaim_connection *gc; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
191 char *who; |
| 1 | 192 GtkWidget *window; |
| 193 GtkWidget *text; | |
| 194 }; | |
| 3197 | 195 |
| 196 struct getuserinfo { | |
| 197 GtkWidget *window; | |
| 198 GtkWidget *entry; | |
| 199 GtkWidget *account; | |
| 200 struct gaim_connection *gc; | |
| 201 }; | |
| 202 | |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
203 static GSList *info_dlgs = NULL; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
204 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
205 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
|
206 { |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
207 GSList *i = info_dlgs; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
208 while (i) { |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
209 struct info_dlg *d = i->data; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
210 i = i->next; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
211 if (d->gc != gc) |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
212 continue; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
213 if (d->who == NULL) |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
214 continue; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
215 if (!who) |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
216 continue; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
217 if (!g_strcasecmp(normalize(who), d->who)) |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
218 return d; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
219 } |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
220 return NULL; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
221 } |
| 1 | 222 |
| 223 struct set_info_dlg { | |
| 224 GtkWidget *window; | |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
940
diff
changeset
|
225 GtkWidget *menu; |
|
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
940
diff
changeset
|
226 struct aim_user *user; |
| 1 | 227 GtkWidget *text; |
| 228 GtkWidget *save; | |
| 229 GtkWidget *cancel; | |
| 230 }; | |
| 231 | |
| 2344 | 232 struct set_icon_dlg { |
| 233 GtkWidget *window; | |
| 234 struct aim_user *user; | |
| 235 GtkWidget *ok; | |
| 236 GtkWidget *cancel; | |
| 237 GtkWidget *entry; | |
| 238 }; | |
| 239 | |
| 1 | 240 struct set_dir_dlg { |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
241 struct gaim_connection *gc; |
| 1 | 242 GtkWidget *window; |
| 243 GtkWidget *first; | |
| 244 GtkWidget *middle; | |
| 245 GtkWidget *last; | |
| 246 GtkWidget *maiden; | |
| 247 GtkWidget *city; | |
| 248 GtkWidget *state; | |
| 249 GtkWidget *country; | |
| 250 GtkWidget *web; | |
| 251 GtkWidget *cancel; | |
| 252 GtkWidget *save; | |
| 253 }; | |
| 254 | |
| 255 struct linkdlg { | |
| 256 GtkWidget *ok; | |
| 257 GtkWidget *cancel; | |
| 258 GtkWidget *window; | |
| 259 GtkWidget *url; | |
| 260 GtkWidget *text; | |
| 261 GtkWidget *toggle; | |
| 262 GtkWidget *entry; | |
| 263 }; | |
| 264 | |
| 146 | 265 struct passwddlg { |
| 266 GtkWidget *window; | |
| 267 GtkWidget *ok; | |
| 268 GtkWidget *cancel; | |
| 269 GtkWidget *original; | |
| 270 GtkWidget *new1; | |
| 271 GtkWidget *new2; | |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
272 struct gaim_connection *gc; |
| 146 | 273 }; |
| 1 | 274 |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
275 struct view_log { |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
276 long offset; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
277 int options; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
278 char *name; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
279 GtkWidget *bbox; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
280 GtkWidget *window; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
281 GtkWidget *layout; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
282 }; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
283 |
| 1 | 284 /*------------------------------------------------------------------------*/ |
| 285 /* Destroys */ | |
| 286 /*------------------------------------------------------------------------*/ | |
| 287 | |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
288 static gint delete_event_dialog(GtkWidget *w, GdkEventAny *e, struct conversation *c) |
|
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
289 { |
| 605 | 290 gchar *object_data; |
| 291 object_data = gtk_object_get_user_data(GTK_OBJECT(w)); | |
| 292 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
293 if (GTK_IS_COLOR_SELECTION_DIALOG(w)) { |
| 605 | 294 set_state_lock(1); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
295 if (w == c->fg_color_dialog) { |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
296 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->fgcolorbtn), FALSE); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
297 c->fg_color_dialog = NULL; |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
298 } else { |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
299 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->bgcolorbtn), FALSE); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
300 c->bg_color_dialog = NULL; |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
301 } |
| 605 | 302 set_state_lock(0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
303 } else if (GTK_IS_FONT_SELECTION_DIALOG(w)) { |
| 605 | 304 set_state_lock(1); |
| 305 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->font), FALSE); | |
| 306 set_state_lock(0); | |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
307 c->font_dialog = NULL; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
308 } else if (!g_strcasecmp(object_data, "smiley dialog")) { |
| 605 | 309 set_state_lock(1); |
| 310 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->smiley), FALSE); | |
| 311 set_state_lock(0); | |
| 312 c->smiley_dialog = NULL; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
313 } else if (!g_strcasecmp(object_data, "log dialog")) { |
| 608 | 314 set_state_lock(1); |
| 3671 | 315 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(c->log_button), FALSE); |
| 608 | 316 set_state_lock(0); |
| 317 c->log_dialog = NULL; | |
| 318 } | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
319 |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
320 dialogwindows = g_list_remove(dialogwindows, w); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
321 gtk_widget_destroy(w); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
322 |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
323 return FALSE; |
|
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
324 } |
| 1 | 325 |
| 326 static void destroy_dialog(GtkWidget *w, GtkWidget *w2) | |
| 327 { | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
328 GtkWidget *dest; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
329 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
330 if (!GTK_IS_WIDGET(w2)) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
331 dest = w; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
332 else |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
333 dest = w2; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
334 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
335 if (dest == imdialog) |
| 1 | 336 imdialog = NULL; |
| 337 | |
|
2493
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
338 if (dest == importdialog) { |
| 1 | 339 importdialog = NULL; |
|
2493
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
340 importgc = NULL; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
341 } |
| 1 | 342 |
| 2344 | 343 if (dest == icondlg) |
| 344 icondlg = NULL; | |
| 345 | |
|
710
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
699
diff
changeset
|
346 if (dest == aliasdlg) { |
|
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
699
diff
changeset
|
347 aliasdlg = NULL; |
|
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
699
diff
changeset
|
348 aliasentry = NULL; |
|
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
699
diff
changeset
|
349 aliasname = NULL; |
|
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
699
diff
changeset
|
350 } |
|
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
699
diff
changeset
|
351 |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
352 if (dest == rename_dialog) |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
353 rename_dialog = NULL; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
354 |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
355 if (dest == rename_bud_dialog) |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
356 rename_bud_dialog = NULL; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
357 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
358 dialogwindows = g_list_remove(dialogwindows, dest); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
359 gtk_widget_destroy(dest); |
| 1 | 360 |
| 361 } | |
| 362 | |
| 363 | |
| 364 void destroy_all_dialogs() | |
| 365 { | |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
366 while (dialogwindows) |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
367 destroy_dialog(NULL, dialogwindows->data); |
| 1 | 368 |
|
391
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
350
diff
changeset
|
369 if (awaymessage) |
|
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
350
diff
changeset
|
370 do_im_back(NULL, NULL); |
| 84 | 371 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
372 if (imdialog) { |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
373 destroy_dialog(NULL, imdialog); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
374 imdialog = NULL; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
375 } |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
376 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
377 if (importdialog) { |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
378 destroy_dialog(NULL, importdialog); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
379 importdialog = NULL; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
380 } |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
381 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
382 if (icondlg) { |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
383 destroy_dialog(NULL, icondlg); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
384 icondlg = NULL; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
385 } |
| 1 | 386 } |
| 387 | |
| 388 static void do_warn(GtkWidget *widget, struct warning *w) | |
| 389 { | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
390 serv_warn(w->gc, w->who, (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w->anon))) ? 1 : 0); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
391 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
392 destroy_dialog(NULL, w->window); |
| 1 | 393 } |
| 394 | |
|
1288
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
395 static void free_warn_data(GtkObject *obj, struct warning *w) |
|
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
396 { |
|
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
397 g_free(w); |
|
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
398 } |
| 1 | 399 |
|
976
2586b2a3725e
[gaim-migrate @ 986]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
967
diff
changeset
|
400 void show_warn_dialog(struct gaim_connection *gc, char *who) |
| 1 | 401 { |
| 402 GtkWidget *cancel; | |
| 403 GtkWidget *warn; | |
| 404 GtkWidget *label; | |
| 405 GtkWidget *vbox; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
406 GtkWidget *bbox; |
| 467 | 407 GtkWidget *frame; |
| 408 GtkWidget *fbox; | |
|
1288
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
409 char buf[128]; |
| 441 | 410 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
411 struct warning *w = g_new0(struct warning, 1); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
412 w->who = who; |
|
1288
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
413 w->gc = gc; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
414 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
415 GAIM_DIALOG(w->window); |
|
1288
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
416 dialogwindows = g_list_prepend(dialogwindows, w->window); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
417 gtk_window_set_wmclass(GTK_WINDOW(w->window), "warning", "Gaim"); |
| 467 | 418 gtk_window_set_policy(GTK_WINDOW(w->window), FALSE, FALSE, TRUE); |
|
1288
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
419 gtk_window_set_title(GTK_WINDOW(w->window), _("Gaim - Warn user?")); |
|
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
420 gtk_container_set_border_width(GTK_CONTAINER(w->window), 5); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
421 gtk_signal_connect(GTK_OBJECT(w->window), "delete_event", |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
422 GTK_SIGNAL_FUNC(destroy_dialog), w->window); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
423 gtk_signal_connect(GTK_OBJECT(w->window), "delete_event", GTK_SIGNAL_FUNC(free_warn_data), w); |
|
1288
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
424 gtk_widget_realize(w->window); |
|
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
425 |
| 467 | 426 fbox = gtk_vbox_new(FALSE, 5); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
427 gtk_container_add(GTK_CONTAINER(w->window), fbox); |
|
1288
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
428 gtk_widget_show(fbox); |
| 467 | 429 |
| 430 frame = gtk_frame_new(_("Warn")); | |
|
1288
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
431 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 5); |
|
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
432 gtk_widget_show(frame); |
|
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
433 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
434 vbox = gtk_vbox_new(FALSE, 5); |
|
1288
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
435 gtk_container_add(GTK_CONTAINER(frame), vbox); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
436 gtk_widget_show(vbox); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
437 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
438 g_snprintf(buf, 127, _("Do you really want to warn %s?"), who); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
439 label = gtk_label_new(buf); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
440 gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
441 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
442 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
443 w->anon = gtk_check_button_new_with_label(_("Warn anonymously?")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
444 gtk_box_pack_start(GTK_BOX(vbox), w->anon, TRUE, TRUE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
445 gtk_widget_show(w->anon); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
446 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
447 label = gtk_label_new(_("Anonymous warnings are less harsh.")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
448 gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
449 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
450 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
451 bbox = gtk_hbox_new(TRUE, 10); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
452 gtk_box_pack_start(GTK_BOX(fbox), bbox, FALSE, FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
453 gtk_widget_show(bbox); |
|
1288
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
454 |
|
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
455 cancel = picture_button(w->window, _("Cancel"), cancel_xpm); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
456 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
457 gtk_signal_connect(GTK_OBJECT(cancel), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), w->window); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
458 |
| 2743 | 459 warn = picture_button(w->window, _("Warn"), warn_xpm); |
| 460 gtk_box_pack_end(GTK_BOX(bbox), warn, FALSE, FALSE, 5); | |
| 461 gtk_signal_connect(GTK_OBJECT(warn), "clicked", GTK_SIGNAL_FUNC(do_warn), w); | |
| 462 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
463 gtk_widget_show(w->window); |
| 1 | 464 } |
| 465 | |
| 2743 | 466 void do_remove_buddy(GtkWidget *w, struct buddy *b) |
| 467 { | |
| 468 struct group *g = find_group_by_buddy(b->gc, b->name); | |
| 469 struct gaim_connection *gc = b->gc; | |
| 470 struct conversation *cv; | |
| 471 | |
| 472 if (!b) | |
| 473 return; | |
| 474 | |
| 475 debug_printf(_("Removing '%s' from buddylist.\n"), b->name); | |
| 476 serv_remove_buddy(b->gc, b->name, g->name); | |
| 477 remove_buddy(gc, g, b); | |
| 478 do_export(gc); | |
| 479 | |
| 480 cv = find_conversation(b->name); | |
| 481 | |
| 482 if (cv) | |
| 483 update_convo_add_button(cv); | |
| 484 | |
| 485 } | |
| 486 | |
| 487 void show_confirm_del(struct gaim_connection *gc, gchar *name) | |
| 488 { | |
| 489 struct confirm_del *b = g_new0(struct confirm_del, 1); | |
| 490 struct buddy *bd; | |
| 491 GtkWidget *hbox; | |
| 492 GtkWidget *vbox; | |
| 493 GtkWidget *fbox; | |
| 3516 | 494 GtkSizeGroup *sg = gtk_size_group_new(GTK_SIZE_GROUP_BOTH); |
| 2743 | 495 gchar tmp[2048]; |
| 3516 | 496 char labeltext[1024 * 2]; |
| 497 char *filename; | |
| 498 GtkWidget *image; | |
| 2743 | 499 |
| 500 GAIM_DIALOG(b->window); | |
| 501 dialogwindows = g_list_prepend(dialogwindows, b->window); | |
| 502 | |
| 503 g_snprintf(tmp, sizeof(tmp), _("Gaim - Remove %s?"), name); | |
| 3516 | 504 gtk_container_set_border_width(GTK_CONTAINER(b->window), 6); |
| 2743 | 505 gtk_window_set_title(GTK_WINDOW(b->window), tmp); |
| 506 gtk_window_set_wmclass(GTK_WINDOW(b->window), "confirm_del", "Gaim"); | |
| 507 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, FALSE, TRUE); | |
| 508 gtk_signal_connect(GTK_OBJECT(b->window), "delete_event", | |
| 509 GTK_SIGNAL_FUNC(destroy_dialog), b->window); | |
| 510 | |
| 511 gtk_widget_realize(b->window); | |
| 512 | |
| 2750 | 513 vbox = gtk_vbox_new(FALSE, 0); |
| 3516 | 514 gtk_box_set_spacing(GTK_BOX(vbox), 12); |
| 515 gtk_container_set_border_width(GTK_CONTAINER(vbox), 6); | |
| 2743 | 516 gtk_container_add(GTK_CONTAINER(b->window), vbox); |
| 517 gtk_widget_show(vbox); | |
| 518 | |
| 3516 | 519 fbox = gtk_hbox_new(FALSE, 0); |
| 520 gtk_box_set_spacing(GTK_BOX(fbox), 6); | |
| 2743 | 521 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5); |
| 522 gtk_widget_show(fbox); | |
| 523 | |
| 3516 | 524 filename = g_build_filename (DATADIR, "pixmaps", "gaim", "dialogs", "gaim_question.png", NULL); |
| 525 debug_printf("Loading: %s\n", filename); | |
| 526 image = gtk_image_new_from_file(filename); | |
| 527 gtk_misc_set_alignment(GTK_MISC(image), 0, 0); | |
| 528 gtk_box_pack_start(GTK_BOX(fbox), image, FALSE, FALSE, 0); | |
| 529 gtk_widget_show(image); | |
| 530 g_free(filename); | |
| 531 | |
| 532 g_snprintf(labeltext, sizeof(labeltext), "<span weight=\"bold\" size=\"larger\">Remove Buddy</span>\n\nYou are about to remove '%s' from\nyour buddylist. Do you want to continue?", name); | |
| 533 b->label = gtk_label_new(NULL); | |
| 534 gtk_label_set_markup(GTK_LABEL(b->label), labeltext); | |
| 535 gtk_label_set_line_wrap(GTK_LABEL(b->label), TRUE); | |
| 2743 | 536 gtk_label_set_justify(GTK_LABEL(b->label), GTK_JUSTIFY_LEFT); |
| 3516 | 537 gtk_misc_set_alignment(GTK_MISC(b->label), 0, 0); |
| 2743 | 538 gtk_box_pack_start(GTK_BOX(fbox), b->label, FALSE, FALSE, 0); |
| 539 gtk_widget_show(b->label); | |
| 3516 | 540 gtk_box_pack_start(GTK_BOX(vbox), fbox, TRUE, FALSE, 0); |
| 541 | |
| 542 hbox = gtk_hbox_new(FALSE, 0); | |
| 543 gtk_box_set_spacing(GTK_BOX(hbox), 6); | |
| 544 gtk_container_set_border_width(GTK_CONTAINER(hbox), 0); | |
| 2743 | 545 gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, FALSE, 0); |
| 546 gtk_widget_show(hbox); | |
| 547 | |
| 3516 | 548 b->ok = gtk_button_new_with_label("Remove Buddy"); |
| 549 gtk_widget_show(b->ok); | |
| 550 gtk_size_group_add_widget(sg, b->ok); | |
| 551 gtk_box_pack_end(GTK_BOX(hbox), b->ok, FALSE, FALSE, 5); | |
| 2743 | 552 |
| 553 bd = find_buddy(gc, name); | |
| 554 | |
| 555 if (bd) | |
| 556 gtk_signal_connect(GTK_OBJECT(b->ok), "clicked", GTK_SIGNAL_FUNC(do_remove_buddy), bd); | |
| 557 | |
| 558 gtk_signal_connect(GTK_OBJECT(b->ok), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), b->window); | |
| 559 | |
| 3516 | 560 b->cancel = gtk_button_new_from_stock (GTK_STOCK_CANCEL); |
| 561 gtk_widget_show(b->cancel); | |
| 562 gtk_size_group_add_widget(sg, b->cancel); | |
| 563 gtk_box_pack_end(GTK_BOX(hbox), b->cancel, FALSE, FALSE, 5); | |
| 2743 | 564 gtk_signal_connect(GTK_OBJECT(b->cancel), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
| 565 | |
| 566 gtk_widget_show(b->window); | |
| 567 } | |
| 568 | |
| 569 | |
| 1 | 570 |
| 571 /*------------------------------------------------------------------------*/ | |
| 572 /* The dialog for getting an error */ | |
| 573 /*------------------------------------------------------------------------*/ | |
| 574 | |
| 3466 | 575 GtkWidget *do_error_dialog(const char *primary, const char *secondary, int type) |
| 1 | 576 { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
577 GtkWidget *d; |
| 1 | 578 GtkWidget *label; |
| 3374 | 579 GtkWidget *img = NULL; |
| 3427 | 580 GtkWidget *hbox; |
| 581 char labeltext[1024 * 2]; | |
| 582 char *filename = NULL; | |
| 583 | |
| 584 /* These are the GTK stock dialog icons with our little Gaim logo on top. | |
| 585 * Inspired by the GIMP. */ | |
| 3374 | 586 switch (type){ |
| 587 case GAIM_LOGO: | |
| 3427 | 588 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "gaim.png", NULL); |
| 589 break; | |
| 590 case GAIM_INFO: | |
| 591 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_info.png", NULL); | |
| 592 break; | |
| 3516 | 593 case GAIM_WARNING: |
| 3427 | 594 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_warning.png", NULL); |
| 595 break; | |
| 3516 | 596 case GAIM_ERROR: |
| 3427 | 597 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_error.png", NULL); |
| 598 break; | |
| 599 /* case GAIM_QUESTION: | |
| 600 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_question.png", NULL); | |
| 601 break; | |
| 602 */ | |
| 603 } | |
| 604 if (filename) { | |
| 605 img = gtk_image_new_from_file(filename); | |
| 3523 | 606 g_free(filename); |
| 3427 | 607 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); |
| 3374 | 608 } |
| 3537 | 609 d = gtk_dialog_new_with_buttons("", NULL, GTK_DIALOG_MODAL, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL); |
| 3427 | 610 g_signal_connect(d, "response", G_CALLBACK(gtk_widget_destroy), NULL); |
| 611 | |
| 612 gtk_container_set_border_width (GTK_CONTAINER(d), 6); | |
| 613 gtk_window_set_resizable(GTK_WINDOW(d), FALSE); | |
| 614 gtk_dialog_set_has_separator(GTK_DIALOG(d), FALSE); | |
| 615 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(d)->vbox), 12); | |
| 616 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(d)->vbox), 6); | |
| 617 | |
| 618 hbox = gtk_hbox_new(FALSE, 12); | |
| 619 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(d)->vbox), hbox); | |
| 620 if (filename) { | |
| 621 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
| 622 } | |
| 623 gtk_widget_show(img); | |
| 624 | |
| 625 g_snprintf(labeltext, sizeof(labeltext), "<span weight=\"bold\" size=\"larger\">%s</span>\n\n%s", primary, secondary ? secondary : ""); | |
| 626 | |
| 627 label = gtk_label_new(NULL); | |
| 628 gtk_label_set_markup(GTK_LABEL(label), labeltext); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
629 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); |
| 3427 | 630 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); |
| 1 | 631 gtk_widget_show(label); |
| 3427 | 632 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 633 | |
| 634 gtk_widget_show(hbox); | |
| 1 | 635 |
| 636 gtk_widget_show(d); | |
|
1817
b367beee6448
[gaim-migrate @ 1827]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1815
diff
changeset
|
637 return d; |
| 1 | 638 } |
| 639 | |
| 640 | |
| 641 | |
| 642 static void do_im(GtkWidget *widget, GtkWidget *imentry) | |
| 643 { | |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
644 char *who; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
645 struct conversation *c; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
646 |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
647 who = g_strdup(gtk_entry_get_text(GTK_ENTRY(imentry))); |
| 1 | 648 destroy_dialog(NULL, imdialog); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
649 imdialog = NULL; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
650 |
|
2048
3366311426df
[gaim-migrate @ 2058]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1979
diff
changeset
|
651 if (!g_strcasecmp(who, "")) { |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
652 g_free(who); |
| 1 | 653 return; |
| 654 } | |
| 655 | |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
656 c = find_conversation(who); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
657 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
658 if (c == NULL) { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
659 c = new_conversation(who); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
660 } else { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
661 gdk_window_raise(c->window->window); |
| 1 | 662 } |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
663 g_free(who); |
| 1 | 664 } |
| 665 | |
| 3197 | 666 static void do_info(GtkWidget *widget, struct getuserinfo *info) |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
667 { |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
668 char *who; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
669 |
| 3197 | 670 who = g_strdup(normalize(gtk_entry_get_text(GTK_ENTRY(info->entry)))); |
| 671 destroy_dialog(NULL, info->window); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
672 |
|
2048
3366311426df
[gaim-migrate @ 2058]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1979
diff
changeset
|
673 if (!g_strcasecmp(who, "")) { |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
674 g_free(who); |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
675 return; |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
676 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
677 |
|
1072
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
678 /* what do we want to do about this case? */ |
| 3197 | 679 if (info->gc) |
| 680 serv_get_info(info->gc, who); | |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
681 |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
682 g_free(who); |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
683 } |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
684 |
| 1 | 685 void show_ee_dialog(int ee) |
| 686 { | |
| 687 GtkWidget *ok; | |
| 688 GtkWidget *label; | |
| 689 GtkWidget *box; | |
| 690 GtkWidget *eedialog; | |
| 691 | |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
692 GAIM_DIALOG(eedialog); |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2228
diff
changeset
|
693 gtk_widget_realize(eedialog); |
|
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2228
diff
changeset
|
694 ok = picture_button(eedialog, _("OK"), ok_xpm); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
695 box = gtk_vbox_new(FALSE, 10); |
| 1 | 696 |
| 697 if (ee == 0) | |
| 698 label = gtk_label_new("Amazing! Simply Amazing!"); | |
| 699 else if (ee == 1) | |
| 700 label = gtk_label_new("Pimpin\' Penguin Style! *Waddle Waddle*"); | |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
701 else if (ee == 2) |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
702 label = gtk_label_new("You should be me. I'm so cute!"); |
| 2472 | 703 else if (ee == 3) |
| 704 label = gtk_label_new("Now that's what I like!"); | |
| 2993 | 705 else if (ee == 4) |
| 2472 | 706 label = gtk_label_new("Ahh, and excellent choice!"); |
| 3043 | 707 else if (ee == 5) |
| 2993 | 708 label = gtk_label_new("Everytime you click my name, an angel gets its wings."); |
| 3152 | 709 else if (ee == 6) |
| 3043 | 710 label = gtk_label_new("This sunflower seed taste like pizza."); |
| 3508 | 711 else if (ee == 7) |
| 3152 | 712 label = gtk_label_new("Hey! I was in that tumbleweed!"); |
| 3508 | 713 else |
| 714 label = gtk_label_new("I'm not anything."); | |
| 3152 | 715 |
| 1 | 716 gtk_widget_show(label); |
| 717 gtk_widget_show(ok); | |
| 718 | |
| 719 gtk_box_pack_start(GTK_BOX(box), label, TRUE, TRUE, 10); | |
| 720 gtk_box_pack_start(GTK_BOX(box), ok, FALSE, FALSE, 10); | |
| 721 | |
| 722 gtk_widget_show(box); | |
| 723 | |
| 724 gtk_container_add(GTK_CONTAINER(eedialog), box); | |
| 725 gtk_window_set_title(GTK_WINDOW(eedialog), "Gaim - SUPRISE!"); | |
| 726 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
727 gtk_signal_connect(GTK_OBJECT(ok), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), eedialog); |
| 1 | 728 gtk_widget_realize(eedialog); |
| 729 | |
| 730 gtk_widget_show(eedialog); | |
| 731 } | |
| 732 | |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
733 void show_im_dialog() |
| 1 | 734 { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
735 GtkWidget *mainbox; |
| 1210 | 736 GtkWidget *frame; |
| 737 GtkWidget *fbox; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
738 GtkWidget *bbox; |
| 455 | 739 GtkWidget *button; |
| 1 | 740 GtkWidget *imentry; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
741 GtkWidget *label; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
742 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
743 if (!imdialog) { |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
744 GAIM_DIALOG(imdialog); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
745 gtk_window_set_wmclass(GTK_WINDOW(imdialog), "imdialog", "Gaim"); |
| 1210 | 746 gtk_window_set_policy(GTK_WINDOW(imdialog), FALSE, TRUE, TRUE); |
|
1233
728a90516211
[gaim-migrate @ 1243]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1230
diff
changeset
|
747 gtk_window_set_title(GTK_WINDOW(imdialog), _("Gaim - IM user")); |
|
728a90516211
[gaim-migrate @ 1243]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1230
diff
changeset
|
748 gtk_signal_connect(GTK_OBJECT(imdialog), "destroy", |
|
728a90516211
[gaim-migrate @ 1243]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1230
diff
changeset
|
749 GTK_SIGNAL_FUNC(destroy_dialog), imdialog); |
|
728a90516211
[gaim-migrate @ 1243]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1230
diff
changeset
|
750 gtk_widget_realize(imdialog); |
|
728a90516211
[gaim-migrate @ 1243]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1230
diff
changeset
|
751 |
|
728a90516211
[gaim-migrate @ 1243]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1230
diff
changeset
|
752 mainbox = gtk_vbox_new(FALSE, 5); |
| 1210 | 753 gtk_container_set_border_width(GTK_CONTAINER(mainbox), 5); |
| 754 gtk_container_add(GTK_CONTAINER(imdialog), mainbox); | |
| 455 | 755 |
| 756 frame = gtk_frame_new(_("Send Instant Message")); | |
|
1233
728a90516211
[gaim-migrate @ 1243]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1230
diff
changeset
|
757 gtk_box_pack_start(GTK_BOX(mainbox), frame, TRUE, TRUE, 0); |
|
728a90516211
[gaim-migrate @ 1243]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1230
diff
changeset
|
758 |
|
728a90516211
[gaim-migrate @ 1243]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1230
diff
changeset
|
759 fbox = gtk_hbox_new(FALSE, 5); |
|
728a90516211
[gaim-migrate @ 1243]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1230
diff
changeset
|
760 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5); |
|
728a90516211
[gaim-migrate @ 1243]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1230
diff
changeset
|
761 gtk_container_add(GTK_CONTAINER(frame), fbox); |
|
728a90516211
[gaim-migrate @ 1243]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1230
diff
changeset
|
762 |
|
728a90516211
[gaim-migrate @ 1243]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1230
diff
changeset
|
763 label = gtk_label_new(_("IM who:")); |
|
728a90516211
[gaim-migrate @ 1243]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1230
diff
changeset
|
764 gtk_box_pack_start(GTK_BOX(fbox), label, FALSE, FALSE, 0); |
|
728a90516211
[gaim-migrate @ 1243]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1230
diff
changeset
|
765 |
|
728a90516211
[gaim-migrate @ 1243]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1230
diff
changeset
|
766 imentry = gtk_entry_new(); |
|
728a90516211
[gaim-migrate @ 1243]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1230
diff
changeset
|
767 gtk_box_pack_start(GTK_BOX(fbox), imentry, TRUE, TRUE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
768 gtk_signal_connect(GTK_OBJECT(imentry), "activate", GTK_SIGNAL_FUNC(do_im), imentry); |
|
1233
728a90516211
[gaim-migrate @ 1243]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1230
diff
changeset
|
769 gtk_widget_grab_focus(imentry); |
|
728a90516211
[gaim-migrate @ 1243]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1230
diff
changeset
|
770 |
| 1210 | 771 bbox = gtk_hbox_new(FALSE, 5); |
|
1233
728a90516211
[gaim-migrate @ 1243]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1230
diff
changeset
|
772 gtk_box_pack_start(GTK_BOX(mainbox), bbox, FALSE, FALSE, 0); |
| 1210 | 773 |
| 774 button = picture_button(imdialog, _("Cancel"), cancel_xpm); | |
| 775 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); | |
| 776 gtk_signal_connect(GTK_OBJECT(button), "clicked", | |
| 777 GTK_SIGNAL_FUNC(destroy_dialog), imdialog); | |
| 455 | 778 |
|
603
9b0717b4a490
[gaim-migrate @ 613]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
602
diff
changeset
|
779 button = picture_button(imdialog, _("OK"), ok_xpm); |
| 1210 | 780 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
781 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(do_im), imentry); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
782 } |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
783 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
784 gtk_widget_show_all(imdialog); |
| 1 | 785 } |
| 786 | |
| 3197 | 787 void show_info_select_account(GtkObject *w, struct gaim_connection *gc) |
| 788 { | |
| 789 struct getuserinfo *info = gtk_object_get_user_data(w); | |
| 790 info->gc = gc; | |
| 791 } | |
| 792 | |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
793 void show_info_dialog() |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
794 { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
795 GtkWidget *mainbox; |
| 1210 | 796 GtkWidget *frame; |
| 3197 | 797 GtkWidget *table; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
798 GtkWidget *bbox; |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
799 GtkWidget *button; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
800 GtkWidget *label; |
| 3197 | 801 GtkWidget *menu, *opt; |
| 802 char buf[2048]; | |
| 803 GSList *g = connections; | |
| 804 struct gaim_connection *c; | |
| 805 | |
| 806 struct getuserinfo *info = g_new0(struct getuserinfo, 1); | |
| 807 info->gc = connections->data; | |
| 808 | |
| 809 GAIM_DIALOG(info->window); | |
| 810 gtk_window_set_wmclass(GTK_WINDOW(info->window), "infodialog", "Gaim"); | |
| 811 gtk_window_set_policy(GTK_WINDOW(info->window), FALSE, TRUE, TRUE); | |
| 812 gtk_widget_realize(info->window); | |
| 813 | |
| 814 mainbox = gtk_vbox_new(FALSE, 5); | |
| 815 gtk_container_set_border_width(GTK_CONTAINER(mainbox), 5); | |
| 816 gtk_container_add(GTK_CONTAINER(info->window), mainbox); | |
| 817 | |
| 818 frame = gtk_frame_new(_("Get User Info")); | |
| 819 gtk_box_pack_start(GTK_BOX(mainbox), frame, TRUE, TRUE, 0); | |
| 820 | |
| 821 table = gtk_table_new(2, 2, FALSE); | |
| 822 gtk_table_set_row_spacings(GTK_TABLE(table), 5); | |
| 823 gtk_table_set_col_spacings(GTK_TABLE(table), 5); | |
| 824 gtk_container_set_border_width(GTK_CONTAINER(table), 5); | |
| 825 gtk_container_add(GTK_CONTAINER(frame), table); | |
| 826 | |
| 827 label = gtk_label_new(_("User:")); | |
| 828 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1); | |
| 829 gtk_widget_show(label); | |
| 830 | |
| 831 info->entry = gtk_entry_new(); | |
| 832 gtk_table_attach_defaults(GTK_TABLE(table), info->entry, 1, 2, 0, 1); | |
| 833 | |
| 834 if (connections->next) { | |
| 835 | |
| 836 label = gtk_label_new(_("Account:")); | |
| 837 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
838 gtk_widget_show(label); |
| 1225 | 839 |
| 3197 | 840 info->account = gtk_option_menu_new(); |
| 841 gtk_table_attach_defaults(GTK_TABLE(table), info->account, 1, 2, 1, 2); | |
| 842 | |
| 843 menu = gtk_menu_new(); | |
| 844 | |
| 845 while (g) { | |
| 846 c = (struct gaim_connection *)g->data; | |
| 3572 | 847 g_snprintf(buf, sizeof(buf), "%s (%s)", c->username, c->prpl->name); |
| 3197 | 848 opt = gtk_menu_item_new_with_label(buf); |
| 849 gtk_object_set_user_data(GTK_OBJECT(opt), info); | |
| 850 | |
| 851 gtk_signal_connect(GTK_OBJECT(opt), "activate", | |
| 852 GTK_SIGNAL_FUNC(show_info_select_account), c); | |
| 853 | |
| 854 gtk_menu_append(GTK_MENU(menu), opt); | |
| 855 gtk_widget_show(opt); | |
| 856 | |
| 857 g = g->next; | |
| 858 } | |
| 859 | |
| 860 gtk_widget_show(menu); | |
| 861 gtk_option_menu_set_menu(GTK_OPTION_MENU(info->account), menu); | |
| 862 gtk_widget_show(info->account); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
863 } |
| 3197 | 864 |
| 865 /* Handle closes right */ | |
| 866 gtk_signal_connect(GTK_OBJECT(info->entry), "activate", | |
| 867 GTK_SIGNAL_FUNC(do_info), info); | |
| 868 gtk_signal_connect(GTK_OBJECT(info->window), "destroy", | |
| 869 GTK_SIGNAL_FUNC(destroy_dialog), info->window); | |
| 870 | |
| 871 /* Buttons */ | |
| 872 bbox = gtk_hbox_new(FALSE, 5); | |
| 873 gtk_box_pack_start(GTK_BOX(mainbox), bbox, FALSE, FALSE, 0); | |
| 874 | |
| 875 button = picture_button(info->window, _("Cancel"), cancel_xpm); | |
| 876 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); | |
| 877 gtk_signal_connect(GTK_OBJECT(button), "clicked", | |
| 878 GTK_SIGNAL_FUNC(destroy_dialog), info->window); | |
| 879 | |
| 880 button = picture_button(info->window, _("OK"), ok_xpm); | |
| 881 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); | |
| 882 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(do_info), info); | |
| 883 | |
| 884 /* Finish up */ | |
| 885 gtk_window_set_title(GTK_WINDOW(info->window), _("Gaim - Get User Info")); | |
| 886 gtk_widget_grab_focus(info->entry); | |
| 887 | |
| 888 gtk_widget_show_all(info->window); | |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
889 } |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
890 |
| 1 | 891 |
| 892 /*------------------------------------------------------------------------*/ | |
| 893 /* The dialog for adding buddies */ | |
| 894 /*------------------------------------------------------------------------*/ | |
| 895 | |
|
654
ea811c6dd3e0
[gaim-migrate @ 664]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
653
diff
changeset
|
896 extern void add_callback(GtkWidget *, struct conversation *); |
|
ea811c6dd3e0
[gaim-migrate @ 664]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
653
diff
changeset
|
897 |
| 1 | 898 void do_add_buddy(GtkWidget *w, struct addbuddy *a) |
| 899 { | |
| 3466 | 900 const char *grp, *who, *whoalias; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
901 struct conversation *c; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
902 |
| 1 | 903 who = gtk_entry_get_text(GTK_ENTRY(a->entry)); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
904 grp = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(a->combo)->entry)); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
905 whoalias = gtk_entry_get_text(GTK_ENTRY(a->entry_for_alias)); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
906 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
907 c = find_conversation(who); |
| 1 | 908 |
|
2598
b2800bca74fe
[gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2582
diff
changeset
|
909 add_buddy(a->gc, grp, who, whoalias); |
|
b2800bca74fe
[gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2582
diff
changeset
|
910 serv_add_buddy(a->gc, who); |
| 1 | 911 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
912 if (c != NULL) { |
| 1352 | 913 update_buttons_by_protocol(c); |
|
654
ea811c6dd3e0
[gaim-migrate @ 664]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
653
diff
changeset
|
914 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
915 |
|
1805
caa605e70917
[gaim-migrate @ 1815]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1780
diff
changeset
|
916 do_export(a->gc); |
| 228 | 917 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
918 destroy_dialog(NULL, a->window); |
| 1 | 919 } |
| 920 | |
|
577
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
921 void do_add_group(GtkWidget *w, struct addbuddy *a) |
|
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
922 { |
| 3466 | 923 const char *grp; |
|
577
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
924 |
|
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
925 grp = gtk_entry_get_text(GTK_ENTRY(a->entry)); |
|
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
926 |
|
2598
b2800bca74fe
[gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2582
diff
changeset
|
927 if (!a->gc) |
|
1805
caa605e70917
[gaim-migrate @ 1815]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1780
diff
changeset
|
928 a->gc = connections->data; |
|
2598
b2800bca74fe
[gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2582
diff
changeset
|
929 |
|
b2800bca74fe
[gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2582
diff
changeset
|
930 add_group(a->gc, grp); |
|
1805
caa605e70917
[gaim-migrate @ 1815]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1780
diff
changeset
|
931 do_export(a->gc); |
|
577
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 destroy_dialog(NULL, a->window); |
|
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
934 } |
|
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
935 |
| 1 | 936 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1000
diff
changeset
|
937 static GList *groups_tree(struct gaim_connection *gc) |
| 1 | 938 { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
939 GList *tmp = NULL; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
940 char *tmp2; |
| 1 | 941 struct group *g; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
942 GSList *grp = gc->groups; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
943 |
| 1 | 944 if (!grp) { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
945 tmp2 = g_strdup(_("Buddies")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
946 tmp = g_list_append(tmp, tmp2); |
| 1 | 947 } else { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
948 while (grp) { |
| 1 | 949 g = (struct group *)grp->data; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
950 tmp2 = g->name; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
951 tmp = g_list_append(tmp, tmp2); |
| 940 | 952 grp = g_slist_next(grp); |
| 1 | 953 } |
| 954 } | |
| 955 return tmp; | |
| 956 } | |
| 957 | |
|
825
9108277c95e9
[gaim-migrate @ 835]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
804
diff
changeset
|
958 static void free_dialog(GtkWidget *w, struct addbuddy *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 g_free(a); |
|
9108277c95e9
[gaim-migrate @ 835]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
804
diff
changeset
|
961 } |
|
9108277c95e9
[gaim-migrate @ 835]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
804
diff
changeset
|
962 |
| 1 | 963 |
|
1072
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
964 void show_add_group(struct gaim_connection *gc) |
|
577
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
965 { |
|
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
966 GtkWidget *cancel; |
|
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
967 GtkWidget *add; |
|
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
968 GtkWidget *label; |
|
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
969 GtkWidget *bbox; |
|
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
970 GtkWidget *vbox; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
971 GtkWidget *topbox; |
|
577
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
972 GtkWidget *frame; |
|
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
973 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
974 struct addbuddy *a = g_new0(struct addbuddy, 1); |
|
1072
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
975 a->gc = gc; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
976 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
977 GAIM_DIALOG(a->window); |
| 905 | 978 gtk_window_set_wmclass(GTK_WINDOW(a->window), "add_group", "Gaim"); |
|
577
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
979 gtk_window_set_policy(GTK_WINDOW(a->window), FALSE, FALSE, TRUE); |
|
837
113205ae7e72
[gaim-migrate @ 847]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
832
diff
changeset
|
980 gtk_widget_realize(a->window); |
|
577
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
981 dialogwindows = g_list_prepend(dialogwindows, a->window); |
|
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
982 |
|
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
983 bbox = gtk_hbox_new(TRUE, 10); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
984 topbox = gtk_hbox_new(FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
985 vbox = gtk_vbox_new(FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
986 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
987 a->entry = gtk_entry_new(); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
988 /* Put the buttons in the box */ |
|
577
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
989 |
|
603
9b0717b4a490
[gaim-migrate @ 613]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
602
diff
changeset
|
990 add = picture_button(a->window, _("Add"), add_xpm); |
|
9b0717b4a490
[gaim-migrate @ 613]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
602
diff
changeset
|
991 |
|
9b0717b4a490
[gaim-migrate @ 613]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
602
diff
changeset
|
992 cancel = picture_button(a->window, _("Cancel"), cancel_xpm); |
|
9b0717b4a490
[gaim-migrate @ 613]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
602
diff
changeset
|
993 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
994 gtk_box_pack_start(GTK_BOX(bbox), add, FALSE, FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
995 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 5); |
|
577
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
996 |
|
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
997 frame = gtk_frame_new(NULL); |
|
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
998 gtk_frame_set_label(GTK_FRAME(frame), _("Add Group")); |
|
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
999 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1000 label = gtk_label_new(_("Group")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1001 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1002 gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1003 gtk_box_pack_start(GTK_BOX(topbox), a->entry, FALSE, FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1004 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1005 /* And the boxes in the box */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1006 gtk_box_pack_start(GTK_BOX(vbox), topbox, TRUE, TRUE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1007 gtk_box_pack_start(GTK_BOX(vbox), bbox, TRUE, TRUE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1008 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1009 /* Handle closes right */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1010 gtk_signal_connect(GTK_OBJECT(a->window), "destroy", GTK_SIGNAL_FUNC(destroy_dialog), a->window); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1011 gtk_signal_connect(GTK_OBJECT(a->window), "destroy", GTK_SIGNAL_FUNC(free_dialog), a); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1012 gtk_signal_connect(GTK_OBJECT(cancel), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), a->window); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1013 gtk_signal_connect(GTK_OBJECT(add), "clicked", GTK_SIGNAL_FUNC(do_add_group), a); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1014 gtk_signal_connect(GTK_OBJECT(a->entry), "activate", GTK_SIGNAL_FUNC(do_add_group), a); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1015 /* Finish up */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1016 gtk_widget_show(add); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1017 gtk_widget_show(cancel); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1018 gtk_widget_show(a->entry); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1019 gtk_widget_show(topbox); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1020 gtk_widget_show(bbox); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1021 gtk_widget_show(vbox); |
|
577
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
1022 gtk_widget_show(frame); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1023 gtk_window_set_title(GTK_WINDOW(a->window), _("Gaim - Add Group")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1024 gtk_window_set_focus(GTK_WINDOW(a->window), a->entry); |
|
577
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
1025 gtk_container_add(GTK_CONTAINER(frame), vbox); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1026 gtk_container_add(GTK_CONTAINER(a->window), frame); |
|
577
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
1027 gtk_container_set_border_width(GTK_CONTAINER(a->window), 5); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1028 gtk_widget_realize(a->window); |
|
577
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
1029 |
|
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
1030 gtk_widget_show(a->window); |
|
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
1031 } |
|
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
1032 |
| 2527 | 1033 static void addbuddy_select_account(GtkObject *w, struct gaim_connection *gc) |
| 1034 { | |
| 1035 struct addbuddy *b = gtk_object_get_user_data(w); | |
| 1036 | |
| 2561 | 1037 /* Save our account */ |
| 2527 | 1038 b->gc = gc; |
| 2561 | 1039 |
| 1040 /* We also want to update our group list */ | |
|
2598
b2800bca74fe
[gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2582
diff
changeset
|
1041 gtk_combo_set_popdown_strings(GTK_COMBO(b->combo), groups_tree(gc)); |
| 2527 | 1042 } |
| 1043 | |
| 1044 static void create_online_user_names(struct addbuddy *b) | |
| 1045 { | |
| 1046 char buf[2048]; /* Never hurts to be safe ;-) */ | |
| 1047 GSList *g = connections; | |
| 1048 struct gaim_connection *c; | |
| 1049 GtkWidget *menu, *opt; | |
| 1050 int count = 0; | |
| 1051 int place = 0; | |
| 1052 | |
| 1053 menu = gtk_menu_new(); | |
| 1054 | |
| 1055 while (g) { | |
| 1056 c = (struct gaim_connection *)g->data; | |
| 1057 g_snprintf(buf, sizeof(buf), "%s (%s)", | |
| 3572 | 1058 c->username, c->prpl->name); |
| 2527 | 1059 opt = gtk_menu_item_new_with_label(buf); |
| 1060 gtk_object_set_user_data(GTK_OBJECT(opt), b); | |
| 1061 gtk_signal_connect(GTK_OBJECT(opt), "activate", | |
| 1062 GTK_SIGNAL_FUNC(addbuddy_select_account), | |
| 1063 c); | |
| 1064 gtk_widget_show(opt); | |
| 1065 gtk_menu_append(GTK_MENU(menu), opt); | |
| 1066 | |
| 1067 /* Now check to see if it's our current menu */ | |
| 1068 if (c == b->gc) { | |
| 1069 place = count; | |
| 1070 gtk_menu_item_activate(GTK_MENU_ITEM(opt)); | |
| 1071 gtk_option_menu_set_history(GTK_OPTION_MENU(b->account), count); | |
| 1072 | |
| 1073 /* Do the cha cha cha */ | |
| 1074 } | |
| 1075 | |
| 1076 count++; | |
| 1077 | |
| 1078 g = g->next; | |
| 1079 } | |
| 1080 | |
| 1081 gtk_option_menu_remove_menu(GTK_OPTION_MENU(b->account)); | |
| 1082 gtk_option_menu_set_menu(GTK_OPTION_MENU(b->account), menu); | |
| 1083 gtk_option_menu_set_history(GTK_OPTION_MENU(b->account), place); | |
| 1084 | |
| 1085 gtk_widget_show(b->account); | |
| 1086 gtk_widget_show(b->account->parent); | |
| 1087 | |
| 1088 } | |
| 1089 | |
|
2582
5efa8077107f
[gaim-migrate @ 2595]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2572
diff
changeset
|
1090 void show_add_buddy(struct gaim_connection *gc, char *buddy, char *group, char *alias) |
| 1 | 1091 { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1092 GtkWidget *mainbox; |
| 1210 | 1093 GtkWidget *frame; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1094 GtkWidget *table; |
| 1210 | 1095 GtkWidget *bbox; |
| 1 | 1096 GtkWidget *cancel; |
| 1097 GtkWidget *add; | |
| 1098 GtkWidget *label; | |
| 236 | 1099 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1100 struct addbuddy *a = g_new0(struct addbuddy, 1); |
|
2598
b2800bca74fe
[gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2582
diff
changeset
|
1101 a->gc = gc ? gc : connections->data; |
| 1210 | 1102 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
1103 GAIM_DIALOG(a->window); |
| 905 | 1104 gtk_window_set_wmclass(GTK_WINDOW(a->window), "add_buddy", "Gaim"); |
| 459 | 1105 gtk_window_set_policy(GTK_WINDOW(a->window), FALSE, FALSE, TRUE); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1106 gtk_window_set_title(GTK_WINDOW(a->window), _("Gaim - Add Buddy")); |
| 1210 | 1107 |
|
837
113205ae7e72
[gaim-migrate @ 847]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
832
diff
changeset
|
1108 gtk_widget_realize(a->window); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1109 gtk_signal_connect(GTK_OBJECT(a->window), "destroy", GTK_SIGNAL_FUNC(destroy_dialog), a->window); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1110 gtk_signal_connect(GTK_OBJECT(a->window), "destroy", GTK_SIGNAL_FUNC(free_dialog), a); |
|
1151
428372cc1e39
[gaim-migrate @ 1161]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1144
diff
changeset
|
1111 dialogwindows = g_list_prepend(dialogwindows, a->window); |
|
428372cc1e39
[gaim-migrate @ 1161]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1144
diff
changeset
|
1112 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1113 mainbox = gtk_vbox_new(FALSE, 5); |
| 1210 | 1114 gtk_container_set_border_width(GTK_CONTAINER(mainbox), 5); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1115 gtk_container_add(GTK_CONTAINER(a->window), mainbox); |
| 1210 | 1116 |
|
1151
428372cc1e39
[gaim-migrate @ 1161]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1144
diff
changeset
|
1117 frame = gtk_frame_new(_("Add Buddy")); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1118 gtk_box_pack_start(GTK_BOX(mainbox), frame, TRUE, TRUE, 0); |
|
1151
428372cc1e39
[gaim-migrate @ 1161]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1144
diff
changeset
|
1119 gtk_widget_show(frame); |
|
428372cc1e39
[gaim-migrate @ 1161]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1144
diff
changeset
|
1120 |
| 2529 | 1121 table = gtk_table_new(4, 2, FALSE); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1122 gtk_table_set_row_spacings(GTK_TABLE(table), 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1123 gtk_table_set_col_spacings(GTK_TABLE(table), 5); |
| 1210 | 1124 gtk_container_set_border_width(GTK_CONTAINER(table), 5); |
| 1125 gtk_container_add(GTK_CONTAINER(frame), table); | |
|
1151
428372cc1e39
[gaim-migrate @ 1161]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1144
diff
changeset
|
1126 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1127 label = gtk_label_new(_("Contact")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1128 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
|
1129 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1130 a->entry = gtk_entry_new(); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1131 gtk_table_attach_defaults(GTK_TABLE(table), a->entry, 1, 2, 0, 1); |
| 3333 | 1132 gtk_widget_grab_focus(a->entry); |
|
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); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1135 gtk_signal_connect(GTK_OBJECT(a->entry), "activate", GTK_SIGNAL_FUNC(do_add_buddy), a); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1136 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1137 label = gtk_label_new(_("Alias")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1138 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
|
1139 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1140 a->entry_for_alias = gtk_entry_new(); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1141 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
|
1142 if (alias != NULL) |
|
5efa8077107f
[gaim-migrate @ 2595]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2572
diff
changeset
|
1143 gtk_entry_set_text(GTK_ENTRY(a->entry_for_alias), alias); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1144 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1145 label = gtk_label_new(_("Group")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1146 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
|
1147 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1148 a->combo = gtk_combo_new(); |
|
2598
b2800bca74fe
[gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2582
diff
changeset
|
1149 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
|
1150 gtk_table_attach_defaults(GTK_TABLE(table), a->combo, 1, 2, 2, 3); |
| 1210 | 1151 |
| 2527 | 1152 /* Set up stuff for the account box */ |
| 1153 label = gtk_label_new(_("Add To")); | |
| 1154 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 3, 4); | |
| 1155 | |
| 1156 a->account = gtk_option_menu_new(); | |
| 1157 gtk_table_attach_defaults(GTK_TABLE(table), a->account, 1, 2, 3, 4); | |
| 1158 | |
| 1159 create_online_user_names(a); | |
| 1160 | |
| 1161 /* End of account box */ | |
| 1162 | |
| 1210 | 1163 bbox = gtk_hbox_new(FALSE, 5); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1164 gtk_box_pack_start(GTK_BOX(mainbox), bbox, TRUE, TRUE, 0); |
| 1210 | 1165 |
| 1166 cancel = picture_button(a->window, _("Cancel"), cancel_xpm); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1167 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 0); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1168 gtk_signal_connect(GTK_OBJECT(cancel), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), a->window); |
|
1151
428372cc1e39
[gaim-migrate @ 1161]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1144
diff
changeset
|
1169 |
|
428372cc1e39
[gaim-migrate @ 1161]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1144
diff
changeset
|
1170 add = picture_button(a->window, _("Add"), add_xpm); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1171 gtk_box_pack_end(GTK_BOX(bbox), add, FALSE, FALSE, 0); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1172 gtk_signal_connect(GTK_OBJECT(add), "clicked", GTK_SIGNAL_FUNC(do_add_buddy), a); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1173 |
| 1210 | 1174 gtk_widget_show_all(a->window); |
| 2995 | 1175 if (group != NULL) |
| 1176 gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(a->combo)->entry), group); | |
| 1 | 1177 } |
| 1178 | |
| 1179 | |
| 3367 | 1180 /*------------------------------------------------------------------------* |
| 1181 * Privacy Settings * | |
| 1182 *------------------------------------------------------------------------*/ | |
| 1183 static GtkWidget *deny_type = NULL; | |
| 1184 static GtkWidget *deny_conn_hbox = NULL; | |
| 1185 static GtkWidget *deny_opt_menu = NULL; | |
| 1186 static struct gaim_connection *current_deny_gc = NULL; | |
| 1187 static gboolean current_is_deny = FALSE; | |
| 1188 static GtkWidget *allow_list = NULL; | |
| 1189 static GtkWidget *block_list = NULL; | |
| 1190 | |
| 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); | |
| 1196 current_deny_gc->permdeny = data; | |
| 1197 serv_set_permit_deny(current_deny_gc); | |
| 1198 do_export(current_deny_gc); | |
| 1199 } | |
| 1200 | |
| 1201 static GtkWidget *deny_opt(char *label, int which, GtkWidget *box, GtkWidget *set) | |
| 1202 { | |
| 1203 GtkWidget *opt; | |
| 1204 | |
| 1205 if (!set) | |
| 1206 opt = gtk_radio_button_new_with_label(NULL, label); | |
| 1207 else | |
| 1208 opt = | |
| 1209 gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(set)), | |
| 1210 label); | |
| 1211 gtk_box_pack_start(GTK_BOX(box), opt, FALSE, FALSE, 0); | |
| 1212 gtk_signal_connect(GTK_OBJECT(opt), "toggled", GTK_SIGNAL_FUNC(set_deny_mode), (void *)which); | |
| 1213 gtk_widget_show(opt); | |
| 1214 if (current_deny_gc->permdeny == which) | |
| 1215 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); | |
| 1216 | |
| 1217 return opt; | |
| 1218 } | |
| 1219 | |
| 1220 static void des_deny_opt(GtkWidget *d, gpointer e) | |
| 1221 { | |
| 1222 gtk_widget_destroy(d); | |
| 1223 current_deny_gc = NULL; | |
| 1224 deny_conn_hbox = NULL; | |
| 1225 deny_type = NULL; | |
| 1226 deny_opt_menu = NULL; | |
| 1227 current_is_deny = FALSE; | |
| 1228 allow_list = NULL; | |
| 1229 block_list = NULL; | |
| 1230 } | |
| 1231 | |
| 1232 static void set_deny_type() | |
| 1233 { | |
| 1234 GSList *bg = gtk_radio_button_group(GTK_RADIO_BUTTON(deny_type)); | |
| 1235 | |
| 1236 switch (current_deny_gc->permdeny) { | |
| 1237 case 4: | |
| 1238 break; | |
| 1239 case 3: | |
| 1240 bg = bg->next->next; | |
| 1241 break; | |
| 1242 case 2: | |
| 1243 bg = bg->next; | |
| 1244 break; | |
| 1245 case 1: | |
| 1246 bg = bg->next->next->next; | |
| 1247 break; | |
| 1248 } | |
| 1249 | |
| 1250 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(bg->data), TRUE); | |
| 1251 } | |
| 1252 | |
| 1253 void build_allow_list() | |
| 1254 { | |
| 1255 GtkWidget *label; | |
| 1256 GtkWidget *list_item; | |
| 1257 GSList *p; | |
| 1258 | |
| 1259 if (!current_is_deny) | |
| 1260 return; | |
| 1261 | |
| 1262 p = current_deny_gc->permit; | |
| 1263 | |
| 1264 gtk_list_remove_items(GTK_LIST(allow_list), GTK_LIST(allow_list)->children); | |
| 1265 | |
| 1266 while (p) { | |
| 1267 label = gtk_label_new(p->data); | |
| 1268 list_item = gtk_list_item_new(); | |
| 1269 gtk_container_add(GTK_CONTAINER(list_item), label); | |
| 1270 gtk_object_set_user_data(GTK_OBJECT(list_item), p->data); | |
| 1271 gtk_widget_show(label); | |
| 1272 gtk_container_add(GTK_CONTAINER(allow_list), list_item); | |
| 1273 gtk_widget_show(list_item); | |
| 1274 p = p->next; | |
| 1275 } | |
| 1276 } | |
| 1277 | |
| 1278 void build_block_list() | |
| 1279 { | |
| 1280 GtkWidget *label; | |
| 1281 GtkWidget *list_item; | |
| 1282 GSList *d; | |
| 1283 | |
| 1284 if (!current_is_deny) | |
| 1285 return; | |
| 1286 | |
| 1287 d = current_deny_gc->deny; | |
| 1288 | |
| 1289 gtk_list_remove_items(GTK_LIST(block_list), GTK_LIST(block_list)->children); | |
| 1290 | |
| 1291 while (d) { | |
| 1292 label = gtk_label_new(d->data); | |
| 1293 list_item = gtk_list_item_new(); | |
| 1294 gtk_container_add(GTK_CONTAINER(list_item), label); | |
| 1295 gtk_object_set_user_data(GTK_OBJECT(list_item), d->data); | |
| 1296 gtk_widget_show(label); | |
| 1297 gtk_container_add(GTK_CONTAINER(block_list), list_item); | |
| 1298 gtk_widget_show(list_item); | |
| 1299 d = d->next; | |
| 1300 } | |
| 1301 } | |
| 1302 | |
| 1303 static void deny_gc_opt(GtkWidget *opt, struct gaim_connection *gc) | |
| 1304 { | |
| 1305 current_deny_gc = gc; | |
| 1306 set_deny_type(); | |
| 1307 build_allow_list(); | |
| 1308 build_block_list(); | |
| 1309 } | |
| 1310 | |
| 1311 static void build_deny_menu() | |
| 1312 { | |
| 1313 GtkWidget *menu; | |
| 1314 GtkWidget *opt; | |
| 1315 GSList *c = connections; | |
| 1316 struct gaim_connection *gc; | |
| 1317 int count = 0; | |
| 1318 gboolean found = FALSE; | |
| 1319 char buf[2048]; | |
| 1320 | |
| 1321 if (g_slist_length(connections) == 1) { | |
| 1322 gtk_widget_hide(deny_conn_hbox); | |
| 1323 return; | |
| 1324 } else | |
| 1325 gtk_widget_show(deny_conn_hbox); | |
| 1326 | |
| 1327 menu = gtk_menu_new(); | |
| 1328 | |
| 1329 while (c) { | |
| 1330 gc = (struct gaim_connection *)c->data; | |
| 1331 c = c->next; | |
| 1332 if (!gc->prpl->set_permit_deny) | |
| 1333 continue; | |
| 3572 | 1334 g_snprintf(buf, sizeof buf, "%s (%s)", gc->username, gc->prpl->name); |
| 3367 | 1335 opt = gtk_menu_item_new_with_label(buf); |
| 1336 gtk_signal_connect(GTK_OBJECT(opt), "activate", GTK_SIGNAL_FUNC(deny_gc_opt), gc); | |
| 1337 gtk_widget_show(opt); | |
| 1338 gtk_menu_append(GTK_MENU(menu), opt); | |
| 1339 if (gc == current_deny_gc) | |
| 1340 found = TRUE; | |
| 1341 else if (!found) | |
| 1342 count++; | |
| 1343 } | |
| 1344 | |
| 1345 if (!found) { | |
| 1346 current_deny_gc = connections->data; | |
| 1347 count = 0; | |
| 1348 } | |
| 1349 | |
| 1350 gtk_option_menu_remove_menu(GTK_OPTION_MENU(deny_opt_menu)); | |
| 1351 gtk_option_menu_set_menu(GTK_OPTION_MENU(deny_opt_menu), menu); | |
| 1352 gtk_option_menu_set_history(GTK_OPTION_MENU(deny_opt_menu), count); | |
| 1353 | |
| 1354 gtk_widget_show(menu); | |
| 1355 gtk_widget_show(deny_opt_menu); | |
| 1356 } | |
| 1357 | |
| 1358 static void pref_deny_add(GtkWidget *button, gboolean permit) | |
| 1359 { | |
| 1360 show_add_perm(current_deny_gc, NULL, permit); | |
| 1361 } | |
| 1362 | |
| 1363 static void pref_deny_rem(GtkWidget *button, gboolean permit) | |
| 1364 { | |
| 1365 GList *i; | |
| 1366 char *who; | |
| 1367 | |
| 1368 if (permit && !allow_list) | |
| 1369 return; | |
| 1370 if (!permit && !block_list) | |
| 1371 return; | |
| 1372 | |
| 1373 if (permit) | |
| 1374 i = GTK_LIST(allow_list)->selection; | |
| 1375 else | |
| 1376 i = GTK_LIST(block_list)->selection; | |
| 1377 | |
| 1378 if (!i) | |
| 1379 return; | |
| 1380 who = gtk_object_get_user_data(GTK_OBJECT(i->data)); | |
| 1381 if (permit) { | |
| 1382 current_deny_gc->permit = g_slist_remove(current_deny_gc->permit, who); | |
| 1383 serv_rem_permit(current_deny_gc, who); | |
| 1384 build_allow_list(); | |
| 1385 } else { | |
| 1386 current_deny_gc->deny = g_slist_remove(current_deny_gc->deny, who); | |
| 1387 serv_rem_deny(current_deny_gc, who); | |
| 1388 build_block_list(); | |
| 1389 } | |
| 1390 | |
| 1391 do_export(current_deny_gc); | |
| 1392 } | |
| 1393 | |
| 1394 GtkWidget *privacy_win; | |
| 1395 void update_privacy_connections() { /* This is a slightly better name */ | |
| 1396 gboolean needdeny = FALSE; | |
| 1397 GSList *c = connections; | |
| 1398 struct gaim_connection *gc = NULL; | |
| 1399 | |
| 1400 if (!privacy_win) | |
| 1401 return; | |
| 1402 | |
| 1403 while (c) { | |
| 1404 gc = c->data; | |
| 1405 if (gc->prpl->set_permit_deny) | |
| 1406 break; | |
| 1407 gc = NULL; | |
| 1408 c = c->next; | |
| 1409 } | |
| 1410 needdeny = (gc != NULL); | |
| 1411 | |
| 1412 | |
| 1413 if (needdeny) { | |
| 1414 gtk_widget_set_sensitive(privacy_win, TRUE); | |
| 1415 build_deny_menu(); | |
| 1416 build_allow_list(); | |
| 1417 build_block_list(); | |
| 1418 } else { | |
| 1419 gtk_widget_set_sensitive(privacy_win, FALSE); | |
| 1420 } | |
| 1421 } | |
| 1422 static void destroy_privacy() { | |
| 1423 current_deny_gc = NULL; | |
| 1424 privacy_win = NULL; | |
| 1425 } | |
| 1426 | |
| 1427 void show_privacy_options() | |
| 1428 { | |
| 1429 GtkWidget *pwin; | |
| 1430 GtkWidget *box; | |
| 1431 GtkWidget *hbox; | |
| 1432 GtkWidget *label; | |
| 1433 GtkWidget *vbox; | |
| 1434 GtkWidget *sw; | |
| 1435 GtkWidget *bbox; | |
| 1436 GtkWidget *button; | |
| 1437 GtkWidget *sep; | |
| 1438 GtkWidget *close_button; | |
| 1439 | |
| 1440 current_deny_gc = connections->data; /* this is safe because this screen will only be | |
| 1441 available when there are connections */ | |
| 1442 current_is_deny = TRUE; | |
| 1443 | |
| 1444 | |
| 1445 privacy_win = pwin = gtk_window_new(GTK_WINDOW_TOPLEVEL); | |
| 1446 gtk_window_set_policy(GTK_WINDOW(pwin), FALSE, TRUE, TRUE); | |
| 1447 gtk_window_set_wmclass(GTK_WINDOW(pwin), "privacy", "Gaim"); | |
| 1448 gtk_window_set_title(GTK_WINDOW(pwin), _("Gaim - Privacy")); | |
| 1449 gtk_signal_connect(GTK_OBJECT(pwin), "destroy", GTK_SIGNAL_FUNC(destroy_privacy), NULL); | |
| 1450 gtk_widget_realize(pwin); | |
| 1451 | |
| 1452 gtk_widget_set_usize(pwin, 0, 400); | |
| 1453 | |
| 1454 box = gtk_vbox_new(FALSE, 5); | |
| 1455 gtk_container_set_border_width(GTK_CONTAINER(box), 5); | |
| 1456 gtk_container_add(GTK_CONTAINER(pwin), box); | |
| 1457 gtk_widget_show(box); | |
| 1458 | |
| 1459 label = gtk_label_new(_("Privacy settings are affected immediately.")); | |
| 1460 gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5); | |
| 1461 gtk_widget_show(label); | |
| 1462 | |
| 1463 deny_conn_hbox = gtk_hbox_new(FALSE, 5); | |
| 1464 gtk_box_pack_start(GTK_BOX(box), deny_conn_hbox, FALSE, FALSE, 0); | |
| 1465 gtk_widget_show(deny_conn_hbox); | |
| 1466 | |
| 1467 label = gtk_label_new(_("Set privacy for:")); | |
| 1468 gtk_box_pack_start(GTK_BOX(deny_conn_hbox), label, FALSE, FALSE, 5); | |
| 1469 gtk_widget_show(label); | |
| 1470 | |
| 1471 deny_opt_menu = gtk_option_menu_new(); | |
| 1472 gtk_box_pack_start(GTK_BOX(deny_conn_hbox), deny_opt_menu, FALSE, FALSE, 5); | |
| 1473 gtk_signal_connect(GTK_OBJECT(deny_opt_menu), "destroy", GTK_SIGNAL_FUNC(des_deny_opt), NULL); | |
| 1474 gtk_widget_show(deny_opt_menu); | |
| 1475 | |
| 1476 build_deny_menu(); | |
| 1477 | |
| 1478 hbox = gtk_hbox_new(FALSE, 5); | |
| 1479 gtk_box_pack_start(GTK_BOX(box), hbox, TRUE, TRUE, 5); | |
| 1480 gtk_widget_show(hbox); | |
| 1481 | |
| 1482 vbox = gtk_vbox_new(FALSE, 5); | |
| 1483 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); | |
| 1484 gtk_widget_show(vbox); | |
| 1485 | |
| 1486 deny_type = deny_opt(_("Allow all users to contact me"), 1, vbox, NULL); | |
| 1487 deny_type = deny_opt(_("Allow only the users below"), 3, vbox, deny_type); | |
| 1488 | |
| 1489 label = gtk_label_new(_("Allow List")); | |
| 1490 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5); | |
| 1491 gtk_widget_show(label); | |
| 1492 | |
| 1493 sw = gtk_scrolled_window_new(NULL, NULL); | |
| 1494 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); | |
| 1495 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 5); | |
| 1496 gtk_widget_show(sw); | |
| 1497 | |
| 1498 allow_list = gtk_list_new(); | |
| 1499 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), allow_list); | |
| 1500 gtk_widget_show(allow_list); | |
| 1501 | |
| 1502 build_allow_list(); | |
| 1503 | |
| 1504 bbox = gtk_hbox_new(TRUE, 5); | |
| 1505 gtk_box_pack_end(GTK_BOX(vbox), bbox, FALSE, FALSE, 5); | |
| 1506 gtk_widget_show(bbox); | |
| 1507 | |
| 1508 button = picture_button(pwin, _("Add"), gnome_add_xpm); | |
| 1509 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(pref_deny_add), (void *)TRUE); | |
| 1510 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 5); | |
| 1511 | |
| 1512 button = picture_button(pwin, _("Remove"), gnome_remove_xpm); | |
| 1513 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(pref_deny_rem), (void *)TRUE); | |
| 1514 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 5); | |
| 1515 | |
| 1516 vbox = gtk_vbox_new(FALSE, 5); | |
| 1517 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); | |
| 1518 gtk_widget_show(vbox); | |
| 1519 | |
| 1520 deny_type = deny_opt(_("Deny all users"), 2, vbox, deny_type); | |
| 1521 deny_type = deny_opt(_("Block the users below"), 4, vbox, deny_type); | |
| 1522 | |
| 1523 label = gtk_label_new(_("Block List")); | |
| 1524 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5); | |
| 1525 gtk_widget_show(label); | |
| 1526 | |
| 1527 sw = gtk_scrolled_window_new(NULL, NULL); | |
| 1528 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); | |
| 1529 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 5); | |
| 1530 gtk_widget_show(sw); | |
| 1531 | |
| 1532 block_list = gtk_list_new(); | |
| 1533 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), block_list); | |
| 1534 gtk_widget_show(block_list); | |
| 1535 | |
| 1536 build_block_list(); | |
| 1537 | |
| 1538 bbox = gtk_hbox_new(TRUE, 5); | |
| 1539 gtk_box_pack_end(GTK_BOX(vbox), bbox, FALSE, FALSE, 5); | |
| 1540 gtk_widget_show(bbox); | |
| 1541 | |
| 1542 button = picture_button(pwin, _("Add"), gnome_add_xpm); | |
| 1543 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(pref_deny_add), FALSE); | |
| 1544 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 5); | |
| 1545 | |
| 1546 button = picture_button(pwin, _("Remove"), gnome_remove_xpm); | |
| 1547 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(pref_deny_rem), FALSE); | |
| 1548 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 5); | |
| 1549 | |
| 1550 sep = gtk_hseparator_new(); | |
| 1551 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 5); | |
| 1552 gtk_widget_show(sep); | |
| 1553 | |
| 1554 hbox = gtk_hbox_new(TRUE, 5); | |
| 1555 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 5); | |
| 1556 gtk_widget_show(hbox); | |
| 1557 close_button = picture_button(pwin, _("Close"), cancel_xpm); | |
| 1558 gtk_box_pack_end(GTK_BOX(hbox), close_button, FALSE, FALSE, 5); | |
| 1559 gtk_signal_connect_object(GTK_OBJECT(close_button), "clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), pwin); | |
| 1560 | |
| 1561 gtk_widget_show(pwin); | |
| 1562 } | |
| 1563 | |
| 1564 | |
| 1565 | |
| 1 | 1566 /*------------------------------------------------------------------------*/ |
| 1567 /* The dialog for new buddy pounces */ | |
| 1568 /*------------------------------------------------------------------------*/ | |
| 1569 | |
| 1570 | |
| 1571 void do_new_bp(GtkWidget *w, struct addbp *b) | |
| 1572 { | |
| 2986 | 1573 struct buddy_pounce *bp; |
| 1574 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1575 if (strlen(gtk_entry_get_text(GTK_ENTRY(b->nameentry))) == 0) { |
| 3427 | 1576 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
|
1577 return; |
| 1292 | 1578 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1579 |
| 2986 | 1580 if(!b->buddy_pounce) |
| 1581 bp = g_new0(struct buddy_pounce, 1); | |
| 1582 else | |
| 1583 bp = b->buddy_pounce; | |
| 1584 | |
| 1585 | |
| 26 | 1586 g_snprintf(bp->name, 80, "%s", gtk_entry_get_text(GTK_ENTRY(b->nameentry))); |
| 1587 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
|
1588 g_snprintf(bp->command, 2048, "%s", gtk_entry_get_text(GTK_ENTRY(b->commentry))); |
| 1694 | 1589 g_snprintf(bp->sound, 2048, "%s", gtk_entry_get_text(GTK_ENTRY(b->soundentry))); |
| 1139 | 1590 g_snprintf(bp->pouncer, 80, "%s", b->user->username); |
| 26 | 1591 |
| 1155 | 1592 bp->protocol = b->user->protocol; |
| 1593 | |
|
1235
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1594 bp->options = 0; |
|
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1595 |
| 2550 | 1596 if (GTK_TOGGLE_BUTTON(b->popupnotify)->active) |
| 1597 bp->options |= OPT_POUNCE_NOTIFY; | |
| 1598 | |
| 1 | 1599 if (GTK_TOGGLE_BUTTON(b->openwindow)->active) |
|
1235
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1600 bp->options |= OPT_POUNCE_POPUP; |
| 1 | 1601 |
| 1602 if (GTK_TOGGLE_BUTTON(b->sendim)->active) | |
|
1235
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1603 bp->options |= OPT_POUNCE_SEND_IM; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1604 |
|
1229
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1605 if (GTK_TOGGLE_BUTTON(b->command)->active) |
|
1235
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1606 bp->options |= OPT_POUNCE_COMMAND; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1607 |
| 1694 | 1608 if (GTK_TOGGLE_BUTTON(b->sound)->active) |
| 1609 bp->options |= OPT_POUNCE_SOUND; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1610 |
| 1137 | 1611 if (GTK_TOGGLE_BUTTON(b->p_signon)->active) |
|
1235
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1612 bp->options |= OPT_POUNCE_SIGNON; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1613 |
| 1137 | 1614 if (GTK_TOGGLE_BUTTON(b->p_unaway)->active) |
|
1235
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1615 bp->options |= OPT_POUNCE_UNAWAY; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1616 |
| 1137 | 1617 if (GTK_TOGGLE_BUTTON(b->p_unidle)->active) |
|
1235
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1618 bp->options |= OPT_POUNCE_UNIDLE; |
| 2993 | 1619 |
| 1620 if (GTK_TOGGLE_BUTTON(b->p_typing)->active) | |
| 1621 bp->options |= OPT_POUNCE_TYPING; | |
|
1235
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1622 |
|
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1623 if (GTK_TOGGLE_BUTTON(b->save)->active) |
|
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1624 bp->options |= OPT_POUNCE_SAVE; |
| 26 | 1625 |
| 2986 | 1626 if(!b->buddy_pounce) |
| 1627 buddy_pounces = g_list_append(buddy_pounces, bp); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1628 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1629 do_bp_menu(); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1630 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1631 destroy_dialog(NULL, b->window); |
| 1137 | 1632 |
|
786
ffb824f6cd24
[gaim-migrate @ 796]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
780
diff
changeset
|
1633 save_prefs(); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1634 g_free(b); |
| 1 | 1635 } |
| 1636 | |
| 1139 | 1637 static void pounce_choose(GtkWidget *opt, struct addbp *b) |
| 1638 { | |
| 1639 struct aim_user *u = gtk_object_get_user_data(GTK_OBJECT(opt)); | |
| 1640 b->user = u; | |
| 1641 } | |
| 1642 | |
| 2564 | 1643 static GtkWidget *pounce_user_menu(struct addbp *b, struct gaim_connection *gc) |
| 1137 | 1644 { |
| 1645 GtkWidget *optmenu; | |
| 1646 GtkWidget *menu; | |
| 1647 GtkWidget *opt; | |
|
2397
520257562955
[gaim-migrate @ 2410]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2393
diff
changeset
|
1648 GSList *u = aim_users; |
| 1137 | 1649 struct aim_user *a; |
| 3082 | 1650 struct prpl *p; |
| 2564 | 1651 int count = 0; |
| 1652 int place = 0; | |
| 3082 | 1653 char buf[2048]; |
| 1137 | 1654 |
| 1655 optmenu = gtk_option_menu_new(); | |
| 1656 | |
| 1657 menu = gtk_menu_new(); | |
| 1658 | |
| 1659 while (u) { | |
| 1660 a = (struct aim_user *)u->data; | |
| 3082 | 1661 p = (struct prpl *)find_prpl(a->protocol); |
| 3572 | 1662 g_snprintf(buf, sizeof buf, "%s (%s)", a->username, (p && p->name)?p->name:"Unknown"); |
| 3082 | 1663 opt = gtk_menu_item_new_with_label(buf); |
| 1137 | 1664 gtk_object_set_user_data(GTK_OBJECT(opt), a); |
| 1139 | 1665 gtk_signal_connect(GTK_OBJECT(opt), "activate", GTK_SIGNAL_FUNC(pounce_choose), b); |
| 1137 | 1666 gtk_menu_append(GTK_MENU(menu), opt); |
| 1667 gtk_widget_show(opt); | |
| 2564 | 1668 |
|
2598
b2800bca74fe
[gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2582
diff
changeset
|
1669 if (b->user == a) { |
| 2564 | 1670 gtk_menu_item_activate(GTK_MENU_ITEM(opt)); |
| 1671 place = count; | |
| 1672 } | |
| 1673 | |
| 1674 count++; | |
| 1675 | |
| 1137 | 1676 u = u->next; |
| 1677 } | |
| 1678 | |
| 1679 gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), menu); | |
| 2564 | 1680 gtk_option_menu_set_history(GTK_OPTION_MENU(optmenu), place); |
| 1137 | 1681 |
| 1682 b->menu = optmenu; | |
| 2550 | 1683 |
| 1684 return optmenu; | |
| 1137 | 1685 } |
| 1686 | |
| 1 | 1687 |
| 2986 | 1688 void show_new_bp(char *name, struct gaim_connection *gc, int idle, int away, struct buddy_pounce *edit_bp) |
| 1 | 1689 { |
| 1690 GtkWidget *label; | |
| 1691 GtkWidget *bbox; | |
| 1692 GtkWidget *vbox; | |
| 443 | 1693 GtkWidget *button; |
| 2550 | 1694 GtkWidget *frame; |
| 1695 GtkWidget *table; | |
| 1696 GtkWidget *optmenu; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1697 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1698 struct addbp *b = g_new0(struct addbp, 1); |
| 2986 | 1699 |
| 1700 if(edit_bp) { | |
| 1701 b->buddy_pounce = edit_bp; | |
| 1702 b->user = find_user(edit_bp->pouncer, edit_bp->protocol); | |
| 1703 } else { | |
| 1704 b->user = gc ? gc->user : aim_users->data; | |
| 1705 b->buddy_pounce = NULL; | |
| 1706 } | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1707 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
1708 GAIM_DIALOG(b->window); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1709 dialogwindows = g_list_prepend(dialogwindows, b->window); |
| 1185 | 1710 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE); |
| 905 | 1711 gtk_window_set_wmclass(GTK_WINDOW(b->window), "new_bp", "Gaim"); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1712 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - New Buddy Pounce")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1713 gtk_signal_connect(GTK_OBJECT(b->window), "destroy", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
|
1141
8f4ce8b74901
[gaim-migrate @ 1151]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1140
diff
changeset
|
1714 gtk_widget_realize(b->window); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1715 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1716 vbox = gtk_vbox_new(FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1717 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1718 gtk_container_add(GTK_CONTAINER(b->window), vbox); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1719 gtk_widget_show(vbox); |
|
1229
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1720 |
| 2550 | 1721 /* <pounce type="who"> */ |
| 1722 frame = gtk_frame_new(_("Pounce Who")); | |
| 1723 gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0); | |
| 1724 gtk_widget_show(GTK_WIDGET(frame)); | |
| 1725 | |
| 1726 table = gtk_table_new(2, 2, FALSE); | |
| 1727 gtk_container_add(GTK_CONTAINER(frame), table); | |
| 1728 gtk_container_set_border_width(GTK_CONTAINER(table), 5); | |
| 1729 gtk_table_set_col_spacings(GTK_TABLE(table), 5); | |
| 1730 gtk_table_set_row_spacings(GTK_TABLE(table), 5); | |
| 1731 gtk_widget_show(table); | |
| 1732 | |
| 1733 label = gtk_label_new(_("Account")); | |
| 1734 gtk_misc_set_alignment(GTK_MISC(label), 0, .5); | |
| 1735 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, GTK_FILL, 0, 0, 0); | |
| 1736 gtk_widget_show(label); | |
| 1737 | |
| 2564 | 1738 optmenu = pounce_user_menu(b, gc); |
| 2550 | 1739 gtk_table_attach(GTK_TABLE(table), optmenu, 1, 2, 0, 1, GTK_FILL | GTK_EXPAND, 0, 0, 0); |
| 1740 gtk_widget_show(optmenu); | |
| 1741 | |
| 1742 label = gtk_label_new(_("Buddy")); | |
| 1743 gtk_misc_set_alignment(GTK_MISC(label), 0, .5); | |
| 1744 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
|
1745 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1746 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1747 b->nameentry = gtk_entry_new(); |
| 2550 | 1748 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
|
1749 if (name !=NULL) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1750 gtk_entry_set_text(GTK_ENTRY(b->nameentry), name); |
| 2986 | 1751 else if(edit_bp) |
| 1752 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
|
1753 gtk_window_set_focus(GTK_WINDOW(b->window), b->nameentry); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1754 gtk_widget_show(b->nameentry); |
| 2550 | 1755 /* </pounce type="who"> */ |
| 1756 | |
| 1757 | |
| 1758 /* <pounce type="when"> */ | |
| 1759 frame = gtk_frame_new(_("Pounce When")); | |
| 1760 gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0); | |
| 1761 gtk_widget_show(GTK_WIDGET(frame)); | |
| 1762 | |
| 1763 table = gtk_table_new(2, 2, FALSE); | |
| 1764 gtk_container_add(GTK_CONTAINER(frame), table); | |
| 1765 gtk_container_set_border_width(GTK_CONTAINER(table), 5); | |
| 1766 gtk_table_set_col_spacings(GTK_TABLE(table), 5); | |
| 1767 gtk_widget_show(table); | |
| 1768 | |
|
1229
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1769 b->p_signon = gtk_check_button_new_with_label(_("Pounce on sign on")); |
| 2986 | 1770 if(edit_bp) |
| 1771 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->p_signon), | |
| 1772 (edit_bp->options & OPT_POUNCE_SIGNON) ? TRUE : FALSE); | |
| 1773 else | |
| 1774 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->p_signon), TRUE); | |
| 2550 | 1775 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
|
1776 gtk_widget_show(b->p_signon); |
|
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1777 |
|
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1778 b->p_unaway = gtk_check_button_new_with_label(_("Pounce on return from away")); |
| 2564 | 1779 if (away) |
| 1780 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->p_unaway), TRUE); | |
| 2986 | 1781 else if(edit_bp) |
| 1782 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->p_unaway), | |
| 1783 (edit_bp->options & OPT_POUNCE_UNAWAY) ? TRUE : FALSE); | |
| 2550 | 1784 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
|
1785 gtk_widget_show(b->p_unaway); |
|
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1786 |
|
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1787 b->p_unidle = gtk_check_button_new_with_label(_("Pounce on return from idle")); |
| 2564 | 1788 if (idle) |
| 1789 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->p_unidle), TRUE); | |
| 2986 | 1790 else if(edit_bp) |
| 1791 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->p_unidle), | |
| 1792 (edit_bp->options & OPT_POUNCE_UNIDLE) ? TRUE : FALSE); | |
| 2550 | 1793 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
|
1794 gtk_widget_show(b->p_unidle); |
| 2993 | 1795 |
| 1796 b->p_typing = gtk_check_button_new_with_label(_("Pounce when buddy is typing to you")); | |
| 2996 | 1797 if (edit_bp) |
| 1798 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->p_typing), | |
| 1799 (edit_bp->options & OPT_POUNCE_TYPING) ? TRUE : FALSE); | |
| 2993 | 1800 gtk_table_attach(GTK_TABLE(table), b->p_typing,1,2,1,2, GTK_FILL | GTK_EXPAND, 0, 0, 0); |
| 1801 gtk_widget_show(b->p_typing); | |
| 1802 | |
| 2550 | 1803 /* </pounce type="when"> */ |
| 1804 | |
| 1805 /* <pounce type="action"> */ | |
| 1806 frame = gtk_frame_new(_("Pounce Action")); | |
| 1807 gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0); | |
| 1808 gtk_widget_show(GTK_WIDGET(frame)); | |
| 1809 | |
| 1810 table = gtk_table_new(4, 2, FALSE); | |
| 1811 gtk_container_add(GTK_CONTAINER(frame), table); | |
| 1812 gtk_container_set_border_width(GTK_CONTAINER(table), 5); | |
| 1813 gtk_table_set_col_spacings(GTK_TABLE(table), 5); | |
| 1814 gtk_table_set_row_spacings(GTK_TABLE(table), 5); | |
| 1815 gtk_widget_show(table); | |
| 1816 | |
| 1817 b->openwindow = gtk_check_button_new_with_label(_("Open IM Window")); | |
| 2986 | 1818 if(edit_bp) |
| 1819 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->openwindow), | |
| 1820 (edit_bp->options & OPT_POUNCE_POPUP) ? TRUE : FALSE); | |
| 1821 else | |
| 1822 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->openwindow), FALSE); | |
| 2550 | 1823 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
|
1824 gtk_widget_show(b->openwindow); |
| 2986 | 1825 |
| 2550 | 1826 b->popupnotify = gtk_check_button_new_with_label(_("Popup Notification")); |
| 2986 | 1827 if(edit_bp) |
| 1828 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->popupnotify), | |
| 1829 (edit_bp->options & OPT_POUNCE_NOTIFY) ? TRUE : FALSE); | |
| 1830 else | |
| 1831 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->popupnotify), FALSE); | |
| 2550 | 1832 gtk_table_attach(GTK_TABLE(table), b->popupnotify, 1, 2, 0, 1, GTK_FILL, 0, 0, 0); |
| 1833 gtk_widget_show(b->popupnotify); | |
| 1834 | |
| 1835 b->sendim = gtk_check_button_new_with_label(_("Send Message")); | |
| 2986 | 1836 if(edit_bp) |
| 1837 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->sendim), | |
| 1838 (edit_bp->options & OPT_POUNCE_SEND_IM) ? TRUE : FALSE); | |
| 1839 else | |
| 1840 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->sendim), TRUE); | |
| 2550 | 1841 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
|
1842 gtk_widget_show(b->sendim); |
|
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1843 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1844 b->messentry = gtk_entry_new(); |
| 2550 | 1845 gtk_table_attach(GTK_TABLE(table), b->messentry, 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
|
1846 gtk_signal_connect(GTK_OBJECT(b->messentry), "activate", GTK_SIGNAL_FUNC(do_new_bp), b); |
| 2986 | 1847 if(edit_bp) { |
| 1848 gtk_widget_set_sensitive(GTK_WIDGET(b->messentry), | |
| 1849 (edit_bp->options & OPT_POUNCE_SEND_IM) ? TRUE : FALSE); | |
| 1850 gtk_entry_set_text(GTK_ENTRY(b->messentry), edit_bp->message); | |
| 1851 } | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1852 gtk_widget_show(b->messentry); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1853 |
| 2986 | 1854 gtk_signal_connect(GTK_OBJECT(b->sendim), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), b->messentry); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1855 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1856 b->command = gtk_check_button_new_with_label(_("Execute command on pounce")); |
| 2550 | 1857 gtk_table_attach(GTK_TABLE(table), b->command, 0, 1, 2, 3, GTK_FILL, 0, 0, 0); |
| 2986 | 1858 if(edit_bp) |
| 1859 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->command), | |
| 1860 (edit_bp->options & OPT_POUNCE_COMMAND) ? TRUE : FALSE); | |
| 1861 else | |
| 1862 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->command), FALSE); | |
|
1229
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1863 gtk_widget_show(b->command); |
|
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1864 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1865 b->commentry = gtk_entry_new(); |
| 2550 | 1866 gtk_table_attach(GTK_TABLE(table), b->commentry, 1, 2, 2, 3, GTK_FILL | GTK_EXPAND, 0, 0, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1867 gtk_signal_connect(GTK_OBJECT(b->commentry), "activate", GTK_SIGNAL_FUNC(do_new_bp), b); |
| 2986 | 1868 if(edit_bp) { |
| 1869 gtk_widget_set_sensitive(GTK_WIDGET(b->commentry), | |
| 1870 (edit_bp->options & OPT_POUNCE_COMMAND) ? TRUE : FALSE); | |
| 1871 gtk_entry_set_text(GTK_ENTRY(b->commentry), edit_bp->command); | |
| 1872 } | |
| 1873 else | |
| 1874 gtk_widget_set_sensitive(GTK_WIDGET(b->commentry), FALSE); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1875 gtk_widget_show(b->commentry); |
| 2986 | 1876 gtk_signal_connect(GTK_OBJECT(b->command), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), b->commentry); |
| 1877 | |
| 1694 | 1878 b->sound = gtk_check_button_new_with_label(_("Play sound on pounce")); |
| 2986 | 1879 if(edit_bp) |
| 1880 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->sound), | |
| 1881 (edit_bp->options & OPT_POUNCE_SOUND) ? TRUE : FALSE); | |
| 1882 else | |
| 1883 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->sound), FALSE); | |
| 2550 | 1884 gtk_table_attach(GTK_TABLE(table), b->sound, 0, 1, 3, 4, GTK_FILL, 0, 0, 0); |
| 1694 | 1885 gtk_widget_show(b->sound); |
| 1886 | |
| 1887 b->soundentry = gtk_entry_new(); | |
| 2550 | 1888 gtk_table_attach(GTK_TABLE(table), b->soundentry, 1, 2, 3, 4, GTK_FILL | GTK_EXPAND, 0, 0, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1889 gtk_signal_connect(GTK_OBJECT(b->soundentry), "activate", GTK_SIGNAL_FUNC(do_new_bp), b); |
| 2986 | 1890 if(edit_bp) { |
| 1891 gtk_widget_set_sensitive(GTK_WIDGET(b->soundentry), | |
| 1892 (edit_bp->options & OPT_POUNCE_SOUND) ? TRUE : FALSE); | |
| 1893 gtk_entry_set_text(GTK_ENTRY(b->soundentry), edit_bp->sound); | |
| 1894 } else | |
| 1895 gtk_widget_set_sensitive(GTK_WIDGET(b->soundentry), FALSE); | |
| 1694 | 1896 gtk_widget_show(b->soundentry); |
| 2986 | 1897 gtk_signal_connect(GTK_OBJECT(b->sound), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), b->soundentry); |
| 2550 | 1898 /* </pounce type="action"> */ |
|
1229
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1225
diff
changeset
|
1899 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1900 b->save = gtk_check_button_new_with_label(_("Save this pounce after activation")); |
| 2550 | 1901 gtk_container_set_border_width(GTK_CONTAINER(b->save), 7); |
| 2986 | 1902 if(edit_bp) |
| 1903 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->save), | |
| 1904 (edit_bp->options & OPT_POUNCE_SAVE) ? TRUE : FALSE); | |
| 1905 else | |
| 1906 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->save), FALSE); | |
|
1235
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1907 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
|
1908 gtk_widget_show(b->save); |
|
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1909 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1910 bbox = gtk_hbox_new(FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1911 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1912 gtk_widget_show(bbox); |
| 443 | 1913 |
| 1185 | 1914 button = picture_button(b->window, _("Cancel"), cancel_xpm); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1915 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
| 1185 | 1916 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
| 1917 | |
|
603
9b0717b4a490
[gaim-migrate @ 613]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
602
diff
changeset
|
1918 button = picture_button(b->window, _("OK"), ok_xpm); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1919 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(do_new_bp), b); |
| 1185 | 1920 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
| 443 | 1921 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1922 gtk_widget_show(b->window); |
| 1 | 1923 } |
| 1924 | |
| 1925 | |
| 1926 | |
| 1927 /*------------------------------------------------------------------------*/ | |
| 1928 /* The dialog for SET INFO / SET DIR INFO */ | |
| 1929 /*------------------------------------------------------------------------*/ | |
| 1930 | |
| 1931 void do_save_info(GtkWidget *widget, struct set_info_dlg *b) | |
| 1932 { | |
| 1933 gchar *junk; | |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
940
diff
changeset
|
1934 struct gaim_connection *gc; |
| 1 | 1935 |
| 1936 junk = gtk_editable_get_chars(GTK_EDITABLE(b->text), 0, -1); | |
| 1937 | |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
940
diff
changeset
|
1938 if (b->user) { |
| 1292 | 1939 strncpy_withhtml(b->user->user_info, junk, sizeof b->user->user_info); |
|
1074
2cff18c2f9c6
[gaim-migrate @ 1084]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1072
diff
changeset
|
1940 gc = b->user->gc; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1941 |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
940
diff
changeset
|
1942 save_prefs(); |
|
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
940
diff
changeset
|
1943 |
| 1292 | 1944 if (gc) |
| 1945 serv_set_info(gc, b->user->user_info); | |
|
122
521db4bf5f28
[gaim-migrate @ 132]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
84
diff
changeset
|
1946 } |
| 25 | 1947 g_free(junk); |
| 1 | 1948 destroy_dialog(NULL, b->window); |
| 1949 g_free(b); | |
| 1950 } | |
| 1951 | |
| 1952 void do_set_dir(GtkWidget *widget, struct set_dir_dlg *b) | |
| 1953 { | |
| 3466 | 1954 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
|
1955 int web = GTK_TOGGLE_BUTTON(b->web)->active; |
| 3466 | 1956 const char *middle = gtk_entry_get_text(GTK_ENTRY(b->middle)); |
| 1957 const char *last = gtk_entry_get_text(GTK_ENTRY(b->last)); | |
| 1958 const char *maiden = gtk_entry_get_text(GTK_ENTRY(b->maiden)); | |
| 1959 const char *city = gtk_entry_get_text(GTK_ENTRY(b->city)); | |
| 1960 const char *state = gtk_entry_get_text(GTK_ENTRY(b->state)); | |
| 1961 const char *country = gtk_entry_get_text(GTK_ENTRY(b->country)); | |
| 1 | 1962 |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1963 serv_set_dir(b->gc, first, middle, last, maiden, city, state, country, web); |
| 1 | 1964 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1965 destroy_dialog(NULL, b->window); |
| 1 | 1966 g_free(b); |
| 1967 } | |
| 1968 | |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1969 void show_set_dir(struct gaim_connection *gc) |
| 1 | 1970 { |
| 1971 GtkWidget *label; | |
| 1972 GtkWidget *bot; | |
| 484 | 1973 GtkWidget *vbox; |
| 1974 GtkWidget *hbox; | |
| 1975 GtkWidget *frame; | |
| 1976 GtkWidget *fbox; | |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1977 char buf[256]; |
| 1 | 1978 |
| 1979 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
|
1980 b->gc = gc; |
| 1 | 1981 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
1982 GAIM_DIALOG(b->window); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1983 dialogwindows = g_list_prepend(dialogwindows, b->window); |
| 905 | 1984 gtk_window_set_wmclass(GTK_WINDOW(b->window), "set_dir", "Gaim"); |
| 1185 | 1985 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1986 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Set Dir Info")); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1987 gtk_signal_connect(GTK_OBJECT(b->window), "destroy", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1988 gtk_widget_realize(b->window); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1989 |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1990 fbox = gtk_vbox_new(FALSE, 5); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1991 gtk_container_add(GTK_CONTAINER(b->window), fbox); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1992 gtk_widget_show(fbox); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1993 |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1994 frame = gtk_frame_new(_("Directory Info")); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1995 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1996 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 0); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1997 gtk_widget_show(frame); |
| 484 | 1998 |
| 1999 vbox = gtk_vbox_new(FALSE, 5); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2000 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2001 gtk_container_add(GTK_CONTAINER(frame), vbox); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2002 gtk_widget_show(vbox); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2003 |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2004 g_snprintf(buf, sizeof(buf), "Setting Dir Info for %s:", gc->username); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2005 label = gtk_label_new(buf); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2006 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2007 gtk_widget_show(label); |
| 1 | 2008 |
| 2009 b->first = gtk_entry_new(); | |
| 2010 b->middle = gtk_entry_new(); | |
| 2011 b->last = gtk_entry_new(); | |
| 2012 b->maiden = gtk_entry_new(); | |
| 2013 b->city = gtk_entry_new(); | |
| 2014 b->state = gtk_entry_new(); | |
| 2015 b->country = gtk_entry_new(); | |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
2016 b->web = gtk_check_button_new_with_label(_("Allow Web Searches To Find Your Info")); |
| 484 | 2017 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2018 /* Line 1 */ |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
2019 label = gtk_label_new(_("First Name")); |
| 1 | 2020 gtk_widget_show(label); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2021 |
| 484 | 2022 hbox = gtk_hbox_new(FALSE, 5); |
| 1185 | 2023 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 2024 gtk_box_pack_end(GTK_BOX(hbox), b->first, FALSE, FALSE, 0); | |
| 2025 | |
| 2026 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 484 | 2027 gtk_widget_show(hbox); |
| 2028 | |
| 2029 /* Line 2 */ | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2030 label = gtk_label_new(_("Middle Name")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2031 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2032 |
| 484 | 2033 hbox = gtk_hbox_new(FALSE, 5); |
| 1185 | 2034 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 2035 gtk_box_pack_end(GTK_BOX(hbox), b->middle, FALSE, FALSE, 0); | |
| 2036 | |
| 2037 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 484 | 2038 gtk_widget_show(hbox); |
| 2039 | |
| 2040 | |
| 2041 /* Line 3 */ | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2042 label = gtk_label_new(_("Last Name")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2043 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2044 |
| 484 | 2045 hbox = gtk_hbox_new(FALSE, 5); |
| 1185 | 2046 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 2047 gtk_box_pack_end(GTK_BOX(hbox), b->last, FALSE, FALSE, 0); | |
| 2048 | |
| 2049 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 484 | 2050 gtk_widget_show(hbox); |
| 2051 | |
| 2052 /* Line 4 */ | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2053 label = gtk_label_new(_("Maiden Name")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2054 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2055 |
| 484 | 2056 hbox = gtk_hbox_new(FALSE, 5); |
| 1185 | 2057 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 2058 gtk_box_pack_end(GTK_BOX(hbox), b->maiden, FALSE, FALSE, 0); | |
| 2059 | |
| 2060 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 484 | 2061 gtk_widget_show(hbox); |
| 2062 | |
| 2063 /* Line 5 */ | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2064 label = gtk_label_new(_("City")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2065 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2066 |
| 484 | 2067 hbox = gtk_hbox_new(FALSE, 5); |
| 1185 | 2068 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 2069 gtk_box_pack_end(GTK_BOX(hbox), b->city, FALSE, FALSE, 0); | |
| 2070 | |
| 2071 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 484 | 2072 gtk_widget_show(hbox); |
| 2073 | |
| 2074 /* Line 6 */ | |
| 1185 | 2075 label = gtk_label_new(_("State")); |
| 1 | 2076 gtk_widget_show(label); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2077 |
| 484 | 2078 hbox = gtk_hbox_new(FALSE, 5); |
| 1185 | 2079 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 2080 gtk_box_pack_end(GTK_BOX(hbox), b->state, FALSE, FALSE, 0); | |
| 2081 | |
| 2082 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 484 | 2083 gtk_widget_show(hbox); |
| 2084 | |
| 2085 /* Line 7 */ | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2086 label = gtk_label_new(_("Country")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2087 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2088 |
| 484 | 2089 hbox = gtk_hbox_new(FALSE, 5); |
| 1185 | 2090 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 2091 gtk_box_pack_end(GTK_BOX(hbox), b->country, FALSE, FALSE, 0); | |
| 2092 | |
| 2093 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 484 | 2094 gtk_widget_show(hbox); |
| 2095 | |
| 2096 /* Line 8 */ | |
| 2097 | |
| 2098 hbox = gtk_hbox_new(FALSE, 5); | |
| 1185 | 2099 gtk_box_pack_start(GTK_BOX(hbox), b->web, TRUE, TRUE, 0); |
| 484 | 2100 gtk_widget_show(hbox); |
| 1185 | 2101 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 484 | 2102 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2103 gtk_widget_show(b->first); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2104 gtk_widget_show(b->middle); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2105 gtk_widget_show(b->last); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2106 gtk_widget_show(b->maiden); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2107 gtk_widget_show(b->city); |
| 1 | 2108 gtk_widget_show(b->state); |
| 2109 gtk_widget_show(b->country); | |
| 2110 gtk_widget_show(b->web); | |
| 2111 | |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2112 /* And add the buttons */ |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2113 |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2114 bot = gtk_hbox_new(FALSE, 5); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2115 gtk_box_pack_start(GTK_BOX(fbox), bot, FALSE, FALSE, 0); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2116 gtk_widget_show(bot); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2117 |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2118 b->cancel = picture_button(b->window, _("Cancel"), cancel_xpm); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2119 gtk_box_pack_end(GTK_BOX(bot), b->cancel, FALSE, FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2120 gtk_signal_connect(GTK_OBJECT(b->cancel), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2121 |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2122 b->save = picture_button(b->window, _("Save"), save_xpm); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2123 gtk_box_pack_end(GTK_BOX(bot), b->save, FALSE, FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2124 gtk_signal_connect(GTK_OBJECT(b->save), "clicked", GTK_SIGNAL_FUNC(do_set_dir), b); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2125 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2126 gtk_window_set_focus(GTK_WINDOW(b->window), b->first); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2127 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2128 gtk_widget_show(b->window); |
| 1 | 2129 } |
| 2130 | |
| 149 | 2131 void do_change_password(GtkWidget *widget, struct passwddlg *b) |
| 2132 { | |
| 3466 | 2133 const gchar *orig, *new1, *new2; |
| 149 | 2134 |
| 2135 orig = gtk_entry_get_text(GTK_ENTRY(b->original)); | |
| 2136 new1 = gtk_entry_get_text(GTK_ENTRY(b->new1)); | |
| 2137 new2 = gtk_entry_get_text(GTK_ENTRY(b->new2)); | |
| 2138 | |
|
2048
3366311426df
[gaim-migrate @ 2058]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1979
diff
changeset
|
2139 if (g_strcasecmp(new1, new2)) { |
| 3427 | 2140 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
|
2141 return; |
| 149 | 2142 } |
| 2143 | |
| 2144 if ((strlen(orig) < 1) || (strlen(new1) < 1) || (strlen(new2) < 1)) { | |
| 3427 | 2145 do_error_dialog(_("Fill out all fields completely"), NULL, GAIM_ERROR); |
| 149 | 2146 return; |
| 2147 } | |
| 2148 | |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2149 serv_change_passwd(b->gc, orig, new1); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2150 |
| 149 | 2151 destroy_dialog(NULL, b->window); |
| 2152 g_free(b); | |
| 2153 } | |
| 2154 | |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2155 void show_change_passwd(struct gaim_connection *gc) |
| 146 | 2156 { |
| 2157 GtkWidget *hbox; | |
| 2158 GtkWidget *label; | |
| 2159 GtkWidget *vbox; | |
| 475 | 2160 GtkWidget *fbox; |
| 2161 GtkWidget *frame; | |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2162 char buf[256]; |
| 454 | 2163 |
| 146 | 2164 struct passwddlg *b = g_new0(struct passwddlg, 1); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2165 b->gc = gc; |
| 146 | 2166 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
2167 GAIM_DIALOG(b->window); |
| 1185 | 2168 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE); |
| 905 | 2169 gtk_window_set_wmclass(GTK_WINDOW(b->window), "change_passwd", "Gaim"); |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2170 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Password Change")); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2171 gtk_signal_connect(GTK_OBJECT(b->window), "destroy", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2172 gtk_widget_realize(b->window); |
| 146 | 2173 dialogwindows = g_list_prepend(dialogwindows, b->window); |
| 149 | 2174 |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2175 fbox = gtk_vbox_new(FALSE, 5); |
| 1185 | 2176 gtk_container_border_width(GTK_CONTAINER(fbox), 5); |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2177 gtk_container_add(GTK_CONTAINER(b->window), fbox); |
|
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2178 gtk_widget_show(fbox); |
|
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2179 |
| 475 | 2180 frame = gtk_frame_new(_("Change Password")); |
| 1185 | 2181 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
|
2182 gtk_widget_show(frame); |
|
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2183 |
| 475 | 2184 vbox = gtk_vbox_new(FALSE, 5); |
| 1185 | 2185 gtk_container_border_width(GTK_CONTAINER(vbox), 5); |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2186 gtk_container_add(GTK_CONTAINER(frame), vbox); |
|
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2187 gtk_widget_show(vbox); |
|
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2188 |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2189 g_snprintf(buf, sizeof(buf), "Changing password for %s:", gc->username); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2190 label = gtk_label_new(buf); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2191 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2192 gtk_widget_show(label); |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2193 |
| 475 | 2194 /* First Line */ |
| 2195 hbox = gtk_hbox_new(FALSE, 5); | |
| 1185 | 2196 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
|
2197 gtk_widget_show(hbox); |
|
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2198 |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
2199 label = gtk_label_new(_("Original Password")); |
| 1185 | 2200 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 146 | 2201 gtk_widget_show(label); |
| 475 | 2202 |
| 146 | 2203 b->original = gtk_entry_new(); |
|
160
aaa8f0a2140e
[gaim-migrate @ 170]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
149
diff
changeset
|
2204 gtk_entry_set_visibility(GTK_ENTRY(b->original), FALSE); |
| 1185 | 2205 gtk_box_pack_end(GTK_BOX(hbox), b->original, FALSE, FALSE, 0); |
| 149 | 2206 gtk_widget_show(b->original); |
| 475 | 2207 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2208 /* Next Line */ |
| 475 | 2209 hbox = gtk_hbox_new(FALSE, 5); |
| 1185 | 2210 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
|
2211 gtk_widget_show(hbox); |
|
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2212 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2213 label = gtk_label_new(_("New Password")); |
| 1185 | 2214 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
|
2215 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2216 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2217 b->new1 = gtk_entry_new(); |
|
160
aaa8f0a2140e
[gaim-migrate @ 170]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
149
diff
changeset
|
2218 gtk_entry_set_visibility(GTK_ENTRY(b->new1), FALSE); |
| 1185 | 2219 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
|
2220 gtk_widget_show(b->new1); |
| 475 | 2221 |
| 2222 /* Next Line */ | |
| 2223 hbox = gtk_hbox_new(FALSE, 5); | |
| 1185 | 2224 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
|
2225 gtk_widget_show(hbox); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2226 |
| 475 | 2227 label = gtk_label_new(_("New Password (again)")); |
| 1185 | 2228 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
|
2229 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2230 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2231 b->new2 = gtk_entry_new(); |
|
160
aaa8f0a2140e
[gaim-migrate @ 170]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
149
diff
changeset
|
2232 gtk_entry_set_visibility(GTK_ENTRY(b->new2), FALSE); |
| 1185 | 2233 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
|
2234 gtk_widget_show(b->new2); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2235 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2236 /* Now do our row of buttons */ |
| 1185 | 2237 hbox = gtk_hbox_new(FALSE, 5); |
| 2238 gtk_box_pack_start(GTK_BOX(fbox), hbox, FALSE, FALSE, 0); | |
| 146 | 2239 gtk_widget_show(hbox); |
| 475 | 2240 |
| 1185 | 2241 b->cancel = picture_button(b->window, _("Cancel"), cancel_xpm); |
| 2242 gtk_box_pack_end(GTK_BOX(hbox), b->cancel, FALSE, FALSE, 0); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2243 gtk_signal_connect(GTK_OBJECT(b->cancel), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
| 1185 | 2244 |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2245 b->ok = picture_button(b->window, _("OK"), ok_xpm); |
| 1185 | 2246 gtk_box_pack_end(GTK_BOX(hbox), b->ok, FALSE, FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2247 gtk_signal_connect(GTK_OBJECT(b->ok), "clicked", GTK_SIGNAL_FUNC(do_change_password), b); |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2248 |
|
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2249 |
|
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
2250 gtk_widget_show(b->window); |
| 146 | 2251 } |
| 2252 | |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2253 void show_set_info(struct gaim_connection *gc) |
| 1 | 2254 { |
| 1185 | 2255 GtkWidget *buttons; |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2256 GtkWidget *label; |
| 1185 | 2257 GtkWidget *vbox; |
| 1292 | 2258 gchar *buf; |
| 2259 struct aim_user *tmp; | |
| 2260 | |
| 1 | 2261 struct set_info_dlg *b = g_new0(struct set_info_dlg, 1); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2262 tmp = gc->user; |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2263 b->user = tmp; |
| 1 | 2264 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
2265 GAIM_DIALOG(b->window); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2266 gtk_window_set_wmclass(GTK_WINDOW(b->window), "set_info", "Gaim"); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2267 dialogwindows = g_list_prepend(dialogwindows, b->window); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2268 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Set User Info")); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2269 gtk_signal_connect(GTK_OBJECT(b->window), "destroy", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
940
diff
changeset
|
2270 gtk_widget_realize(b->window); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2271 |
| 1185 | 2272 vbox = gtk_vbox_new(FALSE, 5); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2273 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2274 gtk_container_add(GTK_CONTAINER(b->window), vbox); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2275 gtk_widget_show(vbox); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2276 |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2277 buf = g_malloc(256); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2278 g_snprintf(buf, 256, "Changing info for %s:", tmp->username); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2279 label = gtk_label_new(buf); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2280 g_free(buf); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2281 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2282 gtk_widget_show(label); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2283 |
| 1 | 2284 b->text = gtk_text_new(NULL, NULL); |
| 2285 gtk_text_set_word_wrap(GTK_TEXT(b->text), TRUE); | |
| 2286 gtk_text_set_editable(GTK_TEXT(b->text), TRUE); | |
| 1185 | 2287 gtk_widget_set_usize(b->text, 300, 200); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2288 buf = g_malloc(strlen(tmp->user_info) + 1); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2289 strncpy_nohtml(buf, tmp->user_info, strlen(tmp->user_info) + 1); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2290 gtk_text_insert(GTK_TEXT(b->text), NULL, NULL, NULL, buf, -1); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2291 g_free(buf); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2292 gtk_box_pack_start(GTK_BOX(vbox), b->text, TRUE, TRUE, 0); |
| 1 | 2293 gtk_widget_show(b->text); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2294 gtk_window_set_focus(GTK_WINDOW(b->window), b->text); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2295 |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2296 buttons = gtk_hbox_new(FALSE, 5); |
| 1185 | 2297 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
|
2298 gtk_widget_show(buttons); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2299 |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2300 b->cancel = picture_button(b->window, _("Cancel"), cancel_xpm); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2301 gtk_box_pack_end(GTK_BOX(buttons), b->cancel, FALSE, FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2302 gtk_signal_connect(GTK_OBJECT(b->cancel), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2303 |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2304 b->save = picture_button(b->window, _("Save"), save_xpm); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2305 gtk_box_pack_end(GTK_BOX(buttons), b->save, FALSE, FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2306 gtk_signal_connect(GTK_OBJECT(b->save), "clicked", GTK_SIGNAL_FUNC(do_save_info), b); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2307 |
| 1 | 2308 gtk_widget_show(b->window); |
| 2309 | |
| 2310 } | |
| 2311 | |
| 2312 /*------------------------------------------------------------------------*/ | |
| 2313 /* The dialog for the info requests */ | |
| 2314 /*------------------------------------------------------------------------*/ | |
| 2315 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2316 static void info_dlg_free(GtkWidget *b, struct info_dlg *d) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2317 { |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2318 if (g_slist_find(info_dlgs, d)) |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2319 info_dlgs = g_slist_remove(info_dlgs, d); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2320 g_free(d->who); |
|
1051
713b0e14e0a9
[gaim-migrate @ 1061]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1049
diff
changeset
|
2321 g_free(d); |
|
713b0e14e0a9
[gaim-migrate @ 1061]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1049
diff
changeset
|
2322 } |
|
713b0e14e0a9
[gaim-migrate @ 1061]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1049
diff
changeset
|
2323 |
|
1428
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2324 gchar **info_img_handler(gchar *url) |
|
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2325 { |
|
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2326 if (!g_strcasecmp(url, "free_icon.gif")) |
|
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2327 return free_icon_xpm; |
|
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2328 if (!g_strcasecmp(url, "aol_icon.gif")) |
|
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2329 return aol_icon_xpm; |
|
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2330 if (!g_strcasecmp(url, "dt_icon.gif")) |
|
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2331 return dt_icon_xpm; |
|
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2332 if (!g_strcasecmp(url, "admin_icon.gif")) |
|
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2333 return admin_icon_xpm; |
| 2679 | 2334 if (!g_strcasecmp(url, "ab_icon.gif")) |
| 2335 return ab_xpm; | |
| 3079 | 2336 if (!g_strcasecmp(url, "wireless_icon.gif")) |
| 2337 return wireless_icon_xpm; | |
| 3101 | 2338 if (!g_strcasecmp(url, "icq_icon.gif")) |
| 3102 | 2339 return icon_online_xpm; |
|
1428
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2340 return NULL; |
|
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2341 } |
|
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2342 |
|
2791
8f6365332a05
[gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2785
diff
changeset
|
2343 /* 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
|
2344 * 1, don't show if regular info isn't shown |
|
8f6365332a05
[gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2785
diff
changeset
|
2345 * 2, show regardless but don't try to get away message |
|
8f6365332a05
[gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2785
diff
changeset
|
2346 * |
|
8f6365332a05
[gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2785
diff
changeset
|
2347 * 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
|
2348 */ |
|
8f6365332a05
[gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2785
diff
changeset
|
2349 void g_show_info_text(struct gaim_connection *gc, char *who, int away, char *info, ...) |
| 1 | 2350 { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2351 GtkWidget *ok; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2352 GtkWidget *label; |
| 1 | 2353 GtkWidget *text; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2354 GtkWidget *bbox; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2355 GtkWidget *sw; |
|
1428
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2356 gint options = 0; |
|
2137
18722ae5b882
[gaim-migrate @ 2147]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2090
diff
changeset
|
2357 char *more_info; |
|
18722ae5b882
[gaim-migrate @ 2147]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2090
diff
changeset
|
2358 va_list ap; |
| 1 | 2359 |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2360 struct info_dlg *b = find_info_dlg(gc, who); |
|
2791
8f6365332a05
[gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2785
diff
changeset
|
2361 if (!b && (away == 1)) |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2362 return; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2363 if (!b) { |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2364 b = g_new0(struct info_dlg, 1); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2365 b->gc = gc; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2366 b->who = who ? g_strdup(normalize(who)) : NULL; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2367 info_dlgs = g_slist_append(info_dlgs, b); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2368 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2369 GAIM_DIALOG(b->window); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2370 gtk_window_set_title(GTK_WINDOW(b->window), "Gaim"); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2371 gtk_container_border_width(GTK_CONTAINER(b->window), 5); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2372 gtk_widget_realize(GTK_WIDGET(b->window)); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2373 gtk_signal_connect(GTK_OBJECT(b->window), "destroy", GTK_SIGNAL_FUNC(info_dlg_free), b); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2374 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2375 bbox = gtk_vbox_new(FALSE, 5); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2376 gtk_container_add(GTK_CONTAINER(b->window), bbox); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2377 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2378 label = gtk_label_new(_("Below are the results of your search: ")); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2379 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2380 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2381 sw = gtk_scrolled_window_new(NULL, NULL); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2382 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2383 gtk_box_pack_start(GTK_BOX(bbox), sw, TRUE, TRUE, 0); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2384 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2385 text = gtk_imhtml_new(NULL, NULL); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2386 b->text = text; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2387 gtk_container_add(GTK_CONTAINER(sw), text); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2388 GTK_LAYOUT(text)->hadjustment->step_increment = 10.0; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2389 GTK_LAYOUT(text)->vadjustment->step_increment = 10.0; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2390 gtk_widget_set_usize(sw, 300, 250); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2391 gtk_imhtml_set_img_handler(GTK_IMHTML(text), info_img_handler); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2392 gaim_setup_imhtml(text); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2393 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2394 ok = picture_button(b->window, _("OK"), ok_xpm); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2395 gtk_signal_connect_object(GTK_OBJECT(ok), "clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2396 GTK_OBJECT(b->window)); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2397 gtk_box_pack_start(GTK_BOX(bbox), ok, FALSE, FALSE, 0); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2398 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2399 gtk_widget_show_all(b->window); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2400 } |
| 1 | 2401 |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2228
diff
changeset
|
2402 if (convo_options & OPT_CONVO_IGNORE_COLOUR) |
|
1428
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2403 options ^= GTK_IMHTML_NO_COLOURS; |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2228
diff
changeset
|
2404 if (convo_options & OPT_CONVO_IGNORE_FONTS) |
|
1428
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2405 options ^= GTK_IMHTML_NO_FONTS; |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2228
diff
changeset
|
2406 if (convo_options & OPT_CONVO_IGNORE_SIZES) |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
2407 options ^= GTK_IMHTML_NO_SIZES; |
|
1428
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2408 options ^= GTK_IMHTML_NO_COMMENTS; |
|
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2409 options ^= GTK_IMHTML_NO_TITLE; |
|
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2410 options ^= GTK_IMHTML_NO_NEWLINE; |
|
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
2411 options ^= GTK_IMHTML_NO_SCROLL; |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2412 |
|
2856
b1e300a85678
[gaim-migrate @ 2869]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2851
diff
changeset
|
2413 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
|
2414 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2415 va_start(ap, info); |
|
2137
18722ae5b882
[gaim-migrate @ 2147]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2090
diff
changeset
|
2416 while ((more_info = va_arg(ap, char *)) != NULL) |
|
2856
b1e300a85678
[gaim-migrate @ 2869]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2851
diff
changeset
|
2417 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
|
2418 va_end(ap); |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2419 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2420 if (away) |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2421 info_dlgs = g_slist_remove(info_dlgs, b); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2422 else |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
2423 serv_get_away(gc, who); |
|
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
245
diff
changeset
|
2424 } |
|
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
245
diff
changeset
|
2425 |
| 1 | 2426 /*------------------------------------------------------------------------*/ |
| 2427 /* The dialog for adding to permit/deny */ | |
| 2428 /*------------------------------------------------------------------------*/ | |
| 2429 | |
| 2430 | |
| 2431 static void do_add_perm(GtkWidget *w, struct addperm *p) | |
| 2432 { | |
| 2433 | |
| 3466 | 2434 const char *who; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2435 char *name; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2436 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2437 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2438 who = gtk_entry_get_text(GTK_ENTRY(p->entry)); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2439 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2440 name = g_malloc(strlen(who) + 2); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2441 g_snprintf(name, strlen(who) + 2, "%s", who); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2442 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2443 if (!p->permit) { |
|
1126
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2444 GSList *d = p->gc->deny; |
|
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2445 char *n; |
|
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2446 n = g_strdup(normalize(name)); |
|
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2447 while (d) { |
|
2048
3366311426df
[gaim-migrate @ 2058]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1979
diff
changeset
|
2448 if (!g_strcasecmp(n, normalize(d->data))) |
|
1126
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2449 break; |
|
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2450 d = d->next; |
|
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2451 } |
|
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2452 g_free(n); |
|
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2453 if (!d) { |
|
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2454 p->gc->deny = g_slist_append(p->gc->deny, name); |
|
2665
b0478af51be0
[gaim-migrate @ 2678]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2662
diff
changeset
|
2455 serv_add_deny(p->gc, name); |
|
1126
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2456 build_block_list(); |
|
1805
caa605e70917
[gaim-migrate @ 1815]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1780
diff
changeset
|
2457 do_export(p->gc); |
|
1126
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2458 } else |
|
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2459 g_free(name); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2460 } else { |
|
1126
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2461 GSList *d = p->gc->permit; |
|
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2462 char *n; |
|
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2463 n = g_strdup(normalize(name)); |
|
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2464 while (d) { |
|
2048
3366311426df
[gaim-migrate @ 2058]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1979
diff
changeset
|
2465 if (!g_strcasecmp(n, normalize(d->data))) |
|
1126
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2466 break; |
|
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2467 d = d->next; |
|
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2468 } |
|
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2469 g_free(n); |
|
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2470 if (!d) { |
|
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2471 p->gc->permit = g_slist_append(p->gc->permit, name); |
|
2665
b0478af51be0
[gaim-migrate @ 2678]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2662
diff
changeset
|
2472 serv_add_permit(p->gc, name); |
|
1126
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2473 build_allow_list(); |
|
1805
caa605e70917
[gaim-migrate @ 1815]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1780
diff
changeset
|
2474 do_export(p->gc); |
|
1126
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2475 } else |
|
c8118e7ec981
[gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1125
diff
changeset
|
2476 g_free(name); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2477 } |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2478 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2479 destroy_dialog(NULL, p->window); |
| 1 | 2480 } |
| 2481 | |
| 2482 | |
| 2483 | |
|
1144
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
2484 void show_add_perm(struct gaim_connection *gc, char *who, gboolean permit) |
| 1 | 2485 { |
| 2486 GtkWidget *cancel; | |
| 2487 GtkWidget *add; | |
| 2488 GtkWidget *label; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2489 GtkWidget *bbox; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2490 GtkWidget *vbox; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2491 GtkWidget *topbox; |
| 487 | 2492 GtkWidget *frame; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2493 |
| 486 | 2494 struct addperm *p = g_new0(struct addperm, 1); |
|
1072
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
2495 p->gc = gc; |
|
1144
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
2496 p->permit = permit; |
| 1 | 2497 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
2498 GAIM_DIALOG(p->window); |
| 487 | 2499 gtk_container_set_border_width(GTK_CONTAINER(p->window), 5); |
| 2500 gtk_window_set_policy(GTK_WINDOW(p->window), FALSE, FALSE, TRUE); | |
|
1144
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
2501 gtk_widget_realize(p->window); |
| 487 | 2502 |
| 486 | 2503 dialogwindows = g_list_prepend(dialogwindows, p->window); |
| 2504 | |
| 2505 bbox = gtk_hbox_new(TRUE, 10); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2506 topbox = gtk_hbox_new(FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2507 vbox = gtk_vbox_new(FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2508 p->entry = gtk_entry_new(); |
| 1 | 2509 |
|
1144
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
2510 if (permit) |
|
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
2511 frame = gtk_frame_new(_("Permit")); |
|
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
2512 else |
|
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
2513 frame = gtk_frame_new(_("Deny")); |
| 487 | 2514 |
| 486 | 2515 /* Build Add Button */ |
| 2516 | |
|
1144
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
2517 if (permit) |
|
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
2518 add = picture_button(p->window, _("Permit"), add_xpm); |
|
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
2519 else |
|
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
2520 add = picture_button(p->window, _("Deny"), add_xpm); |
|
603
9b0717b4a490
[gaim-migrate @ 613]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
602
diff
changeset
|
2521 cancel = picture_button(p->window, _("Cancel"), cancel_xpm); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2522 |
| 486 | 2523 /* End of Cancel Button */ |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2524 if (who != NULL) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2525 gtk_entry_set_text(GTK_ENTRY(p->entry), who); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2526 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2527 /* Put the buttons in the box */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2528 |
| 486 | 2529 gtk_box_pack_start(GTK_BOX(bbox), add, FALSE, FALSE, 5); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2530 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2531 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2532 label = gtk_label_new(_("Add")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2533 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2534 gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2535 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
|
2536 /* And the boxes in the box */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2537 gtk_box_pack_start(GTK_BOX(vbox), topbox, TRUE, TRUE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2538 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 5); |
| 487 | 2539 gtk_container_add(GTK_CONTAINER(frame), vbox); |
| 1 | 2540 |
| 2541 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2542 /* Handle closes right */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2543 gtk_signal_connect(GTK_OBJECT(p->window), "destroy", GTK_SIGNAL_FUNC(destroy_dialog), p->window); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2544 gtk_signal_connect(GTK_OBJECT(cancel), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), p->window); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2545 gtk_signal_connect(GTK_OBJECT(add), "clicked", GTK_SIGNAL_FUNC(do_add_perm), p); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2546 gtk_signal_connect(GTK_OBJECT(p->entry), "activate", GTK_SIGNAL_FUNC(do_add_perm), p); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2547 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2548 /* Finish up */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2549 gtk_widget_show(add); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2550 gtk_widget_show(cancel); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2551 gtk_widget_show(p->entry); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2552 gtk_widget_show(topbox); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2553 gtk_widget_show(bbox); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2554 gtk_widget_show(vbox); |
| 487 | 2555 gtk_widget_show(frame); |
|
1144
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
2556 if (permit) |
|
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
2557 gtk_window_set_title(GTK_WINDOW(p->window), _("Gaim - Add Permit")); |
|
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
2558 else |
|
b1454d019277
[gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1141
diff
changeset
|
2559 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
|
2560 gtk_window_set_focus(GTK_WINDOW(p->window), p->entry); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2561 gtk_container_add(GTK_CONTAINER(p->window), frame); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2562 gtk_widget_realize(p->window); |
|
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 gtk_widget_show(p->window); |
| 1 | 2565 } |
| 2566 | |
| 2567 | |
| 2568 /*------------------------------------------------------------------------*/ | |
| 608 | 2569 /* Functions Called To Add A Log */ |
| 1 | 2570 /*------------------------------------------------------------------------*/ |
| 2571 | |
| 608 | 2572 void cancel_log(GtkWidget *widget, struct conversation *c) |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2573 { |
| 3671 | 2574 if (c->log_button) { |
| 608 | 2575 set_state_lock(1); |
| 3671 | 2576 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(c->log_button), FALSE); |
| 608 | 2577 set_state_lock(0); |
| 2578 } | |
| 2579 dialogwindows = g_list_remove(dialogwindows, c->log_dialog); | |
| 2580 gtk_widget_destroy(c->log_dialog); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2581 c->log_dialog = NULL; |
| 608 | 2582 } |
| 2583 | |
| 2584 void do_log(GtkWidget *w, struct conversation *c) | |
| 1 | 2585 { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2586 struct log_conversation *l; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2587 char buf[128]; |
| 3466 | 2588 const char *file; |
|
1035
80a47e3b1bca
[gaim-migrate @ 1045]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
2589 char path[PATHSIZE]; |
| 1 | 2590 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2591 if (!find_log_info(c->name)) { |
|
1035
80a47e3b1bca
[gaim-migrate @ 1045]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
2592 file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(c->log_dialog)); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2593 strncpy(path, file, PATHSIZE - 1); |
|
1035
80a47e3b1bca
[gaim-migrate @ 1045]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
2594 if (file_is_dir(path, c->log_dialog)) { |
|
80a47e3b1bca
[gaim-migrate @ 1045]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
2595 return; |
|
80a47e3b1bca
[gaim-migrate @ 1045]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
2596 } |
|
80a47e3b1bca
[gaim-migrate @ 1045]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
2597 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2598 l = (struct log_conversation *)g_new0(struct log_conversation, 1); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2599 strcpy(l->name, c->name); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2600 strcpy(l->filename, file); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2601 log_conversations = g_list_append(log_conversations, l); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2602 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2603 if (c != NULL) { |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2604 g_snprintf(buf, sizeof(buf), LOG_CONVERSATION_TITLE, c->name); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2605 gtk_window_set_title(GTK_WINDOW(c->window), buf); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2606 } |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2607 } |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2608 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2609 save_prefs(); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2610 cancel_log(NULL, c); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2611 } |
| 1 | 2612 |
| 608 | 2613 void show_log_dialog(struct conversation *c) |
| 1 | 2614 { |
| 2615 char *buf = g_malloc(BUF_LEN); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2616 |
| 608 | 2617 if (!c->log_dialog) { |
| 2618 c->log_dialog = gtk_file_selection_new(_("Gaim - Log Conversation")); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2619 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2620 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(c->log_dialog)); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2621 |
| 3630 | 2622 g_snprintf(buf, BUF_LEN - 1, "%s" G_DIR_SEPARATOR_S "%s.log", gaim_home_dir(), normalize(c->name)); |
| 608 | 2623 gtk_object_set_user_data(GTK_OBJECT(c->log_dialog), "log dialog"); |
| 2624 gtk_file_selection_set_filename(GTK_FILE_SELECTION(c->log_dialog), buf); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2625 gtk_signal_connect(GTK_OBJECT(c->log_dialog), "delete_event", |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2626 GTK_SIGNAL_FUNC(delete_event_dialog), c); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2627 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(c->log_dialog)->ok_button), "clicked", |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2628 GTK_SIGNAL_FUNC(do_log), c); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2629 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(c->log_dialog)->cancel_button), |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2630 "clicked", GTK_SIGNAL_FUNC(cancel_log), c); |
| 1 | 2631 } |
| 2632 | |
| 25 | 2633 g_free(buf); |
| 2634 | |
| 608 | 2635 gtk_widget_show(c->log_dialog); |
| 2636 gdk_window_raise(c->log_dialog->window); | |
| 1 | 2637 } |
| 2638 | |
| 2639 /*------------------------------------------------------*/ | |
| 2640 /* Find Buddy By Email */ | |
| 2641 /*------------------------------------------------------*/ | |
| 2642 | |
| 2643 void do_find_info(GtkWidget *w, struct findbyinfo *b) | |
| 2644 { | |
| 3466 | 2645 const char *first; |
| 2646 const char *middle; | |
| 2647 const char *last; | |
| 2648 const char *maiden; | |
| 2649 const char *city; | |
| 2650 const char *state; | |
| 2651 const char *country; | |
| 1 | 2652 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2653 first = gtk_entry_get_text(GTK_ENTRY(b->firstentry)); |
| 1 | 2654 middle = gtk_entry_get_text(GTK_ENTRY(b->middleentry)); |
| 2655 last = gtk_entry_get_text(GTK_ENTRY(b->lastentry)); | |
| 2656 maiden = gtk_entry_get_text(GTK_ENTRY(b->maidenentry)); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2657 city = gtk_entry_get_text(GTK_ENTRY(b->cityentry)); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2658 state = gtk_entry_get_text(GTK_ENTRY(b->stateentry)); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2659 country = gtk_entry_get_text(GTK_ENTRY(b->countryentry)); |
| 1 | 2660 |
|
2393
a7ecfd3f7714
[gaim-migrate @ 2406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2382
diff
changeset
|
2661 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
|
2662 destroy_dialog(NULL, b->window); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2663 } |
| 1 | 2664 |
| 2665 void do_find_email(GtkWidget *w, struct findbyemail *b) | |
| 2666 { | |
| 3466 | 2667 const char *email; |
| 1 | 2668 |
| 2669 email = gtk_entry_get_text(GTK_ENTRY(b->emailentry)); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2670 |
|
2598
b2800bca74fe
[gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2582
diff
changeset
|
2671 serv_dir_search(b->gc, "", "", "", "", "", "", "", email); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2672 |
| 1 | 2673 destroy_dialog(NULL, b->window); |
| 2674 } | |
| 2675 | |
|
2393
a7ecfd3f7714
[gaim-migrate @ 2406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2382
diff
changeset
|
2676 void show_find_info(struct gaim_connection *gc) |
| 1 | 2677 { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2678 GtkWidget *cancel; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2679 GtkWidget *ok; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2680 GtkWidget *label; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2681 GtkWidget *bbox; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2682 GtkWidget *vbox; |
| 479 | 2683 GtkWidget *hbox; |
| 2684 GtkWidget *fbox; | |
| 2685 GtkWidget *frame; | |
| 1 | 2686 |
| 2687 struct findbyinfo *b = g_new0(struct findbyinfo, 1); | |
|
2393
a7ecfd3f7714
[gaim-migrate @ 2406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2382
diff
changeset
|
2688 b->gc = gc; |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
2689 GAIM_DIALOG(b->window); |
| 1185 | 2690 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE); |
| 905 | 2691 gtk_window_set_wmclass(GTK_WINDOW(b->window), "find_info", "Gaim"); |
| 479 | 2692 gtk_widget_show(b->window); |
| 2693 | |
| 2694 dialogwindows = g_list_prepend(dialogwindows, b->window); | |
| 2695 | |
| 2696 frame = gtk_frame_new(_("Search for Buddy")); | |
| 2697 fbox = gtk_vbox_new(FALSE, 5); | |
| 2698 | |
| 2699 /* Build OK Button */ | |
| 2700 | |
|
603
9b0717b4a490
[gaim-migrate @ 613]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
602
diff
changeset
|
2701 ok = picture_button(b->window, _("OK"), ok_xpm); |
|
9b0717b4a490
[gaim-migrate @ 613]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
602
diff
changeset
|
2702 cancel = picture_button(b->window, _("Cancel"), cancel_xpm); |
| 1 | 2703 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2704 bbox = gtk_hbox_new(FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2705 vbox = gtk_vbox_new(FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2706 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2707 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2708 b->firstentry = gtk_entry_new(); |
| 1 | 2709 b->middleentry = gtk_entry_new(); |
| 2710 b->lastentry = gtk_entry_new(); | |
| 2711 b->maidenentry = gtk_entry_new(); | |
| 2712 b->cityentry = gtk_entry_new(); | |
| 2713 b->stateentry = gtk_entry_new(); | |
| 2714 b->countryentry = gtk_entry_new(); | |
| 2715 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2716 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 0); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2717 gtk_box_pack_end(GTK_BOX(bbox), ok, FALSE, FALSE, 0); |
| 1 | 2718 |
| 479 | 2719 /* Line 1 */ |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2720 label = gtk_label_new(_("First Name")); |
| 1 | 2721 gtk_widget_show(label); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2722 |
| 1185 | 2723 hbox = gtk_hbox_new(FALSE, 5); |
| 2724 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 2725 gtk_box_pack_end(GTK_BOX(hbox), b->firstentry, FALSE, FALSE, 0); | |
| 479 | 2726 |
| 2727 gtk_widget_show(hbox); | |
| 1185 | 2728 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 479 | 2729 |
| 2730 /* Line 2 */ | |
| 1 | 2731 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2732 label = gtk_label_new(_("Middle Name")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2733 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2734 |
| 1185 | 2735 hbox = gtk_hbox_new(FALSE, 5); |
| 2736 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 2737 gtk_box_pack_end(GTK_BOX(hbox), b->middleentry, FALSE, FALSE, 0); | |
| 479 | 2738 |
| 2739 gtk_widget_show(hbox); | |
| 1185 | 2740 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 479 | 2741 |
| 2742 /* Line 3 */ | |
| 2743 | |
| 2744 label = gtk_label_new(_("Last Name")); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2745 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2746 |
| 1185 | 2747 hbox = gtk_hbox_new(FALSE, 5); |
| 2748 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 2749 gtk_box_pack_end(GTK_BOX(hbox), b->lastentry, FALSE, FALSE, 0); | |
| 479 | 2750 |
| 2751 gtk_widget_show(hbox); | |
| 1185 | 2752 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 479 | 2753 |
| 2754 /* Line 4 */ | |
| 2755 | |
| 2756 label = gtk_label_new(_("Maiden Name")); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2757 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2758 |
| 1185 | 2759 hbox = gtk_hbox_new(FALSE, 5); |
| 2760 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 2761 gtk_box_pack_end(GTK_BOX(hbox), b->maidenentry, FALSE, FALSE, 0); | |
| 479 | 2762 |
| 2763 gtk_widget_show(hbox); | |
| 1185 | 2764 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 479 | 2765 |
| 2766 /* Line 5 */ | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2767 |
| 479 | 2768 label = gtk_label_new(_("City")); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2769 gtk_widget_show(label); |
|
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->cityentry, 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 6 */ | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2779 label = gtk_label_new(_("State")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2780 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2781 |
| 1185 | 2782 hbox = gtk_hbox_new(FALSE, 5); |
| 2783 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 2784 gtk_box_pack_end(GTK_BOX(hbox), b->stateentry, FALSE, FALSE, 0); | |
| 479 | 2785 |
| 2786 gtk_widget_show(hbox); | |
| 1185 | 2787 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 479 | 2788 |
| 2789 /* Line 7 */ | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2790 label = gtk_label_new(_("Country")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2791 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2792 |
| 1185 | 2793 hbox = gtk_hbox_new(FALSE, 5); |
| 2794 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 2795 gtk_box_pack_end(GTK_BOX(hbox), b->countryentry, FALSE, FALSE, 0); | |
| 479 | 2796 |
| 2797 gtk_widget_show(hbox); | |
| 1185 | 2798 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 479 | 2799 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2800 /* Merge The Boxes */ |
| 479 | 2801 |
| 2802 gtk_container_add(GTK_CONTAINER(frame), vbox); | |
| 1185 | 2803 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 0); |
| 2804 gtk_box_pack_start(GTK_BOX(fbox), bbox, FALSE, FALSE, 0); | |
| 1 | 2805 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2806 gtk_signal_connect(GTK_OBJECT(b->window), "destroy", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2807 gtk_signal_connect(GTK_OBJECT(cancel), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2808 gtk_signal_connect(GTK_OBJECT(ok), "clicked", GTK_SIGNAL_FUNC(do_find_info), b); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2809 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2810 gtk_widget_show(ok); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2811 gtk_widget_show(cancel); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2812 gtk_widget_show(b->firstentry); |
| 1 | 2813 gtk_widget_show(b->middleentry); |
| 2814 gtk_widget_show(b->lastentry); | |
| 2815 gtk_widget_show(b->maidenentry); | |
| 2816 gtk_widget_show(b->cityentry); | |
| 2817 gtk_widget_show(b->stateentry); | |
| 2818 gtk_widget_show(b->countryentry); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2819 gtk_widget_show(bbox); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2820 gtk_widget_show(vbox); |
| 479 | 2821 gtk_widget_show(frame); |
| 2822 gtk_widget_show(fbox); | |
| 2823 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2824 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
|
2825 gtk_window_set_focus(GTK_WINDOW(b->window), b->firstentry); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2826 gtk_container_add(GTK_CONTAINER(b->window), fbox); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2827 gtk_container_border_width(GTK_CONTAINER(b->window), 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2828 gtk_widget_realize(b->window); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2829 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2830 gtk_widget_show(b->window); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2831 } |
| 1 | 2832 |
|
1535
1e2cc8c8bf3c
[gaim-migrate @ 1545]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1499
diff
changeset
|
2833 void show_find_email(struct gaim_connection *gc) |
| 1 | 2834 { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2835 GtkWidget *label; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2836 GtkWidget *bbox; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2837 GtkWidget *vbox; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2838 GtkWidget *frame; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2839 GtkWidget *topbox; |
| 444 | 2840 GtkWidget *button; |
| 1 | 2841 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2842 struct findbyemail *b = g_new0(struct findbyemail, 1); |
|
1535
1e2cc8c8bf3c
[gaim-migrate @ 1545]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1499
diff
changeset
|
2843 if (g_slist_find(connections, gc)) |
|
1e2cc8c8bf3c
[gaim-migrate @ 1545]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1499
diff
changeset
|
2844 b->gc = gc; |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
2845 GAIM_DIALOG(b->window); |
| 1185 | 2846 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE); |
| 905 | 2847 gtk_window_set_wmclass(GTK_WINDOW(b->window), "find_email", "Gaim"); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2848 gtk_widget_realize(b->window); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2849 dialogwindows = g_list_prepend(dialogwindows, b->window); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2850 gtk_signal_connect(GTK_OBJECT(b->window), "destroy", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2851 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
|
2852 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2853 vbox = gtk_vbox_new(FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2854 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2855 gtk_container_add(GTK_CONTAINER(b->window), vbox); |
| 1185 | 2856 |
| 444 | 2857 frame = gtk_frame_new(_("Search for Buddy")); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2858 gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2859 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2860 topbox = gtk_hbox_new(FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2861 gtk_container_add(GTK_CONTAINER(frame), topbox); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2862 gtk_container_set_border_width(GTK_CONTAINER(topbox), 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2863 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2864 label = gtk_label_new(_("Email")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2865 gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 0); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2866 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2867 b->emailentry = gtk_entry_new(); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2868 gtk_box_pack_start(GTK_BOX(topbox), b->emailentry, TRUE, TRUE, 0); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2869 gtk_signal_connect(GTK_OBJECT(b->emailentry), "activate", GTK_SIGNAL_FUNC(do_find_email), b); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2870 gtk_window_set_focus(GTK_WINDOW(b->window), b->emailentry); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2871 |
| 1185 | 2872 bbox = gtk_hbox_new(FALSE, 5); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2873 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0); |
| 444 | 2874 |
|
603
9b0717b4a490
[gaim-migrate @ 613]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
602
diff
changeset
|
2875 button = picture_button(b->window, _("Cancel"), cancel_xpm); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2876 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
| 1185 | 2877 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
| 2878 | |
| 2879 button = picture_button(b->window, _("OK"), ok_xpm); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2880 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(do_find_email), b); |
| 1185 | 2881 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
| 444 | 2882 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2883 gtk_widget_show_all(b->window); |
| 1 | 2884 } |
| 2885 | |
| 2886 /*------------------------------------------------------*/ | |
| 2887 /* Link Dialog */ | |
| 2888 /*------------------------------------------------------*/ | |
| 2889 | |
| 608 | 2890 void cancel_link(GtkWidget *widget, struct conversation *c) |
| 1 | 2891 { |
| 608 | 2892 if (c->link) { |
| 62 | 2893 set_state_lock(1); |
| 608 | 2894 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->link), FALSE); |
| 62 | 2895 set_state_lock(0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2896 } |
| 608 | 2897 destroy_dialog(NULL, c->link_dialog); |
| 2898 c->link_dialog = NULL; | |
| 1 | 2899 } |
| 2900 | |
| 2901 void do_add_link(GtkWidget *widget, struct linkdlg *b) | |
| 2902 { | |
| 2903 char *open_tag; | |
| 3466 | 2904 const char *urltext, *showtext; |
| 1 | 2905 open_tag = g_malloc(2048); |
| 2906 | |
| 2907 | |
| 2908 urltext = gtk_entry_get_text(GTK_ENTRY(b->url)); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2909 showtext = gtk_entry_get_text(GTK_ENTRY(b->text)); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2910 |
| 1 | 2911 g_snprintf(open_tag, 2048, "<A HREF=\"%s\">%s", urltext, showtext); |
| 2912 surround(b->entry, open_tag, "</A>"); | |
| 2913 | |
| 2914 g_free(open_tag); | |
| 2915 destroy_dialog(NULL, b->window); | |
| 2916 } | |
| 2917 | |
| 2918 | |
| 608 | 2919 void show_add_link(GtkWidget *linky, struct conversation *c) |
| 1 | 2920 { |
| 2921 GtkWidget *vbox; | |
| 2922 GtkWidget *bbox; | |
| 588 | 2923 GtkWidget *hbox; |
| 1 | 2924 GtkWidget *label; |
| 588 | 2925 GtkWidget *frame; |
| 2926 GtkWidget *fbox; | |
| 1 | 2927 |
| 608 | 2928 if (!c->link_dialog) { |
| 1 | 2929 struct linkdlg *b = g_new0(struct linkdlg, 1); |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
2930 GAIM_DIALOG(c->link_dialog); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2931 gtk_window_set_wmclass(GTK_WINDOW(c->link_dialog), "add_link", "Gaim"); |
| 608 | 2932 dialogwindows = g_list_prepend(dialogwindows, c->link_dialog); |
| 2933 | |
| 2934 gtk_widget_set_usize(c->link_dialog, 270, 165); | |
| 2935 gtk_window_set_policy(GTK_WINDOW(c->link_dialog), FALSE, FALSE, TRUE); | |
| 2936 gtk_widget_show(c->link_dialog); | |
| 588 | 2937 |
| 2938 vbox = gtk_vbox_new(FALSE, 10); | |
| 2939 bbox = gtk_hbox_new(TRUE, 10); | |
| 2940 frame = gtk_frame_new(_("Insert Link")); | |
| 2941 fbox = gtk_vbox_new(FALSE, 5); | |
| 2942 | |
| 2943 /* Build OK Button */ | |
| 2944 | |
| 608 | 2945 b->ok = picture_button(c->link_dialog, _("OK"), ok_xpm); |
| 2946 b->cancel = picture_button(c->link_dialog, _("Cancel"), cancel_xpm); | |
| 1 | 2947 |
| 651 | 2948 gtk_widget_set_usize(b->ok, 75, 30); |
| 2949 gtk_widget_set_usize(b->cancel, 75, 30); | |
| 2950 | |
| 1 | 2951 gtk_box_pack_start(GTK_BOX(bbox), b->ok, FALSE, FALSE, 10); |
| 588 | 2952 gtk_box_pack_end(GTK_BOX(bbox), b->cancel, FALSE, FALSE, 10); |
| 1 | 2953 gtk_widget_show(bbox); |
| 2954 | |
| 2955 b->url = gtk_entry_new(); | |
| 2956 b->text = gtk_entry_new(); | |
| 2957 | |
| 588 | 2958 hbox = gtk_hbox_new(FALSE, 5); |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
2959 label = gtk_label_new(_("URL")); |
| 588 | 2960 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); |
| 2961 gtk_box_pack_end(GTK_BOX(hbox), b->url, FALSE, FALSE, 5); | |
| 1 | 2962 gtk_widget_show(label); |
| 588 | 2963 gtk_widget_show(hbox); |
| 2964 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2965 |
| 588 | 2966 hbox = gtk_hbox_new(FALSE, 5); |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
2967 label = gtk_label_new(_("Description")); |
| 588 | 2968 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); |
| 2969 gtk_box_pack_end(GTK_BOX(hbox), b->text, FALSE, FALSE, 5); | |
| 1 | 2970 gtk_widget_show(label); |
| 588 | 2971 gtk_widget_show(hbox); |
| 2972 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2973 |
| 1 | 2974 gtk_widget_show(b->url); |
| 2975 gtk_widget_show(b->text); | |
| 588 | 2976 gtk_widget_show(frame); |
| 2977 gtk_widget_show(fbox); | |
| 2978 | |
| 2979 gtk_container_add(GTK_CONTAINER(frame), vbox); | |
| 2980 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 5); | |
| 2981 gtk_box_pack_start(GTK_BOX(fbox), bbox, TRUE, TRUE, 5); | |
| 1 | 2982 gtk_widget_show(vbox); |
| 2983 | |
| 608 | 2984 gtk_signal_connect(GTK_OBJECT(c->link_dialog), "destroy", |
| 2985 GTK_SIGNAL_FUNC(cancel_link), c); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2986 gtk_signal_connect(GTK_OBJECT(b->cancel), "clicked", GTK_SIGNAL_FUNC(cancel_link), c); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2987 gtk_signal_connect(GTK_OBJECT(b->ok), "clicked", GTK_SIGNAL_FUNC(do_add_link), b); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2988 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2989 gtk_container_add(GTK_CONTAINER(c->link_dialog), fbox); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2990 gtk_container_border_width(GTK_CONTAINER(c->link_dialog), 10); |
| 2534 | 2991 gtk_window_set_title(GTK_WINDOW(c->link_dialog), _("Gaim - Add URL")); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2992 gtk_window_set_focus(GTK_WINDOW(c->link_dialog), b->url); |
| 608 | 2993 b->window = c->link_dialog; |
| 2994 b->toggle = linky; | |
|
611
0f7e5ff95f71
[gaim-migrate @ 621]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
609
diff
changeset
|
2995 b->entry = c->entry; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2996 gtk_widget_realize(c->link_dialog); |
| 1 | 2997 |
| 2998 } | |
| 2999 | |
| 608 | 3000 gtk_widget_show(c->link_dialog); |
| 3001 gdk_window_raise(c->link_dialog->window); | |
| 1 | 3002 } |
| 3003 | |
| 3004 | |
| 3005 /*------------------------------------------------------*/ | |
| 3006 /* Color Selection Dialog */ | |
| 3007 /*------------------------------------------------------*/ | |
| 3008 | |
| 3367 | 3009 GtkWidget *fgcseld = NULL; |
| 3010 GtkWidget *bgcseld = NULL; | |
|
657
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
3011 |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3012 void cancel_fgcolor(GtkWidget *widget, struct conversation *c) |
| 1 | 3013 { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3014 if (c->fgcolorbtn && widget) { |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3015 set_state_lock(1); |
| 854 | 3016 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->fgcolorbtn), FALSE); |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3017 set_state_lock(0); |
| 61 | 3018 } |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3019 dialogwindows = g_list_remove(dialogwindows, c->fg_color_dialog); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3020 gtk_widget_destroy(c->fg_color_dialog); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3021 c->fg_color_dialog = NULL; |
| 1 | 3022 } |
| 3023 | |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3024 void cancel_bgcolor(GtkWidget *widget, struct conversation *c) |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3025 { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3026 if (c->bgcolorbtn && widget) { |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3027 set_state_lock(1); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3028 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->bgcolorbtn), FALSE); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3029 set_state_lock(0); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3030 } |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3031 dialogwindows = g_list_remove(dialogwindows, c->bg_color_dialog); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3032 gtk_widget_destroy(c->bg_color_dialog); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3033 c->bg_color_dialog = NULL; |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3034 } |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3035 |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3036 void do_fgcolor(GtkWidget *widget, GtkColorSelection *colorsel) |
| 1 | 3037 { |
| 3038 GdkColor text_color; | |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3039 struct conversation *c; |
| 1 | 3040 char *open_tag; |
| 3041 | |
| 3042 open_tag = g_malloc(30); | |
| 3043 | |
| 3557 | 3044 gtk_color_selection_get_current_color(colorsel, &text_color); |
| 1 | 3045 |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3046 c = gtk_object_get_user_data(GTK_OBJECT(colorsel)); |
|
411
a330017b3aa4
[gaim-migrate @ 421]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
401
diff
changeset
|
3047 /* GTK_IS_EDITABLE(c->entry); huh? */ |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3048 |
| 3659 | 3049 text_color.red = text_color.red / 256; |
| 3050 text_color.green = text_color.green / 256; | |
| 3051 text_color.blue = text_color.blue / 256; | |
| 3557 | 3052 |
|
699
f8acdd22065a
[gaim-migrate @ 709]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
697
diff
changeset
|
3053 c->fgcol = text_color; |
|
f8acdd22065a
[gaim-migrate @ 709]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
697
diff
changeset
|
3054 c->hasfg = 1; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3055 g_snprintf(open_tag, 23, "<FONT COLOR=\"#%02X%02X%02X\">", text_color.red, text_color.green, |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3056 text_color.blue); |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3057 surround(c->entry, open_tag, "</FONT>"); |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1238
diff
changeset
|
3058 debug_printf("#%02X%02X%02X\n", text_color.red, text_color.green, text_color.blue); |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3059 g_free(open_tag); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3060 cancel_fgcolor(NULL, c); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3061 } |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3062 |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3063 void do_bgcolor(GtkWidget *widget, GtkColorSelection *colorsel) |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3064 { |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3065 GdkColor text_color; |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3066 struct conversation *c; |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3067 char *open_tag; |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3068 |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3069 open_tag = g_malloc(30); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3070 |
| 3557 | 3071 gtk_color_selection_get_current_color(colorsel, &text_color); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3072 |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3073 c = gtk_object_get_user_data(GTK_OBJECT(colorsel)); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3074 /* GTK_IS_EDITABLE(c->entry); huh? */ |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3075 |
| 3659 | 3076 text_color.red = text_color.red / 256; |
| 3077 text_color.green = text_color.green / 256; | |
| 3078 text_color.blue = text_color.blue / 256; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3079 |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3080 c->bgcol = text_color; |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3081 c->hasbg = 1; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3082 g_snprintf(open_tag, 25, "<BODY BGCOLOR=\"#%02X%02X%02X\">", text_color.red, text_color.green, |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3083 text_color.blue); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3084 surround(c->entry, open_tag, "</BODY>"); |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1238
diff
changeset
|
3085 debug_printf("#%02X%02X%02X\n", text_color.red, text_color.green, text_color.blue); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3086 g_free(open_tag); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3087 cancel_bgcolor(NULL, c); |
| 1 | 3088 } |
| 3089 | |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3090 void show_fgcolor_dialog(struct conversation *c, GtkWidget *color) |
| 1 | 3091 { |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3092 GtkWidget *colorsel; |
|
2209
9b8b32ae3b41
[gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2143
diff
changeset
|
3093 gdouble fgclr[3]; |
| 1 | 3094 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3095 if (color == NULL) { /* we came from the prefs */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3096 if (fgcseld) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3097 return; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3098 fgclr[0] = (gdouble)(fgcolor.red) / 255; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3099 fgclr[1] = (gdouble)(fgcolor.green) / 255; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3100 fgclr[2] = (gdouble)(fgcolor.blue) / 255; |
|
2209
9b8b32ae3b41
[gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2143
diff
changeset
|
3101 |
|
657
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
3102 fgcseld = gtk_color_selection_dialog_new(_("Select Text Color")); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3103 gtk_color_selection_set_color(GTK_COLOR_SELECTION |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3104 (GTK_COLOR_SELECTION_DIALOG(fgcseld)->colorsel), fgclr); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3105 gtk_signal_connect(GTK_OBJECT(fgcseld), "delete_event", |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3106 GTK_SIGNAL_FUNC(destroy_colorsel), (void *)1); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3107 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(fgcseld)->cancel_button), |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3108 "clicked", GTK_SIGNAL_FUNC(destroy_colorsel), (void *)1); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3109 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(fgcseld)->ok_button), "clicked", |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3110 GTK_SIGNAL_FUNC(apply_color_dlg), (void *)1); |
|
657
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
3111 gtk_widget_realize(fgcseld); |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
3112 gtk_widget_show(fgcseld); |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
3113 gdk_window_raise(fgcseld->window); |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
3114 return; |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3115 } |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3116 |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3117 if (!c->fg_color_dialog) { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3118 fgclr[0] = (gdouble)(c->fgcol.red) / 255; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3119 fgclr[1] = (gdouble)(c->fgcol.green) / 255; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3120 fgclr[2] = (gdouble)(c->fgcol.blue) / 255; |
|
2209
9b8b32ae3b41
[gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2143
diff
changeset
|
3121 |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3122 c->fg_color_dialog = gtk_color_selection_dialog_new(_("Select Text Color")); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3123 colorsel = GTK_COLOR_SELECTION_DIALOG(c->fg_color_dialog)->colorsel; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3124 gtk_color_selection_set_color(GTK_COLOR_SELECTION(colorsel), fgclr); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3125 gtk_object_set_user_data(GTK_OBJECT(colorsel), c); |
|
2209
9b8b32ae3b41
[gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2143
diff
changeset
|
3126 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3127 gtk_signal_connect(GTK_OBJECT(c->fg_color_dialog), "delete_event", |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3128 GTK_SIGNAL_FUNC(delete_event_dialog), c); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3129 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(c->fg_color_dialog)->ok_button), |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3130 "clicked", GTK_SIGNAL_FUNC(do_fgcolor), colorsel); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3131 gtk_signal_connect(GTK_OBJECT |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3132 (GTK_COLOR_SELECTION_DIALOG(c->fg_color_dialog)->cancel_button), |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3133 "clicked", GTK_SIGNAL_FUNC(cancel_fgcolor), c); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3134 |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3135 gtk_widget_realize(c->fg_color_dialog); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3136 } |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3137 |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3138 gtk_widget_show(c->fg_color_dialog); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3139 gdk_window_raise(c->fg_color_dialog->window); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3140 } |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3141 |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3142 void show_bgcolor_dialog(struct conversation *c, GtkWidget *color) |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3143 { |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3144 GtkWidget *colorsel; |
|
2209
9b8b32ae3b41
[gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2143
diff
changeset
|
3145 gdouble bgclr[3]; |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3146 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3147 if (color == NULL) { /* we came from the prefs */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3148 if (bgcseld) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3149 return; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3150 bgclr[0] = (gdouble)(bgcolor.red) / 255; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3151 bgclr[1] = (gdouble)(bgcolor.green) / 255; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3152 bgclr[2] = (gdouble)(bgcolor.blue) / 255; |
|
2209
9b8b32ae3b41
[gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2143
diff
changeset
|
3153 |
|
657
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
3154 bgcseld = gtk_color_selection_dialog_new(_("Select Background Color")); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3155 gtk_color_selection_set_color(GTK_COLOR_SELECTION |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3156 (GTK_COLOR_SELECTION_DIALOG(bgcseld)->colorsel), bgclr); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3157 gtk_signal_connect(GTK_OBJECT(bgcseld), "delete_event", |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3158 GTK_SIGNAL_FUNC(destroy_colorsel), NULL); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3159 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(bgcseld)->cancel_button), |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3160 "clicked", GTK_SIGNAL_FUNC(destroy_colorsel), NULL); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3161 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(bgcseld)->ok_button), "clicked", |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3162 GTK_SIGNAL_FUNC(apply_color_dlg), (void *)2); |
|
657
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
3163 gtk_widget_realize(bgcseld); |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
3164 gtk_widget_show(bgcseld); |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
3165 gdk_window_raise(bgcseld->window); |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
3166 return; |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
3167 } |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
3168 |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3169 if (!c->bg_color_dialog) { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3170 bgclr[0] = (gdouble)(c->bgcol.red) / 255; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3171 bgclr[1] = (gdouble)(c->bgcol.green) / 255; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3172 bgclr[2] = (gdouble)(c->bgcol.blue) / 255; |
|
2209
9b8b32ae3b41
[gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2143
diff
changeset
|
3173 |
| 3749 | 3174 c->bg_color_dialog = gtk_color_selection_dialog_new(_("Select Background Color")); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3175 colorsel = GTK_COLOR_SELECTION_DIALOG(c->bg_color_dialog)->colorsel; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3176 gtk_color_selection_set_color(GTK_COLOR_SELECTION(colorsel), bgclr); |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3177 gtk_object_set_user_data(GTK_OBJECT(colorsel), c); |
|
2209
9b8b32ae3b41
[gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2143
diff
changeset
|
3178 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3179 gtk_signal_connect(GTK_OBJECT(c->bg_color_dialog), "delete_event", |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3180 GTK_SIGNAL_FUNC(delete_event_dialog), c); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3181 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(c->bg_color_dialog)->ok_button), |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3182 "clicked", GTK_SIGNAL_FUNC(do_bgcolor), colorsel); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3183 gtk_signal_connect(GTK_OBJECT |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3184 (GTK_COLOR_SELECTION_DIALOG(c->bg_color_dialog)->cancel_button), |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3185 "clicked", GTK_SIGNAL_FUNC(cancel_bgcolor), c); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3186 |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3187 gtk_widget_realize(c->bg_color_dialog); |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3188 } |
| 1 | 3189 |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3190 gtk_widget_show(c->bg_color_dialog); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
3191 gdk_window_raise(c->bg_color_dialog->window); |
| 1 | 3192 } |
| 3193 | |
| 3194 /*------------------------------------------------------------------------*/ | |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3195 /* Font Selection Dialog */ |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3196 /*------------------------------------------------------------------------*/ |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3197 |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3198 void cancel_font(GtkWidget *widget, struct conversation *c) |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3199 { |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3200 if (c->font && widget) { |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3201 set_state_lock(1); |
|
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3202 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->font), FALSE); |
|
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3203 set_state_lock(0); |
|
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3204 } |
|
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3205 dialogwindows = g_list_remove(dialogwindows, c->font_dialog); |
|
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3206 gtk_widget_destroy(c->font_dialog); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3207 c->font_dialog = NULL; |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3208 } |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3209 |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3210 void apply_font(GtkWidget *widget, GtkFontSelection *fontsel) |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3211 { |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3212 /* this could be expanded to include font size, weight, etc. |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3213 but for now only works with font face */ |
| 3473 | 3214 int i = 0; |
|
666
71ea550c22ac
[gaim-migrate @ 676]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
657
diff
changeset
|
3215 char *fontname; |
|
71ea550c22ac
[gaim-migrate @ 676]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
657
diff
changeset
|
3216 struct conversation *c = gtk_object_get_user_data(GTK_OBJECT(fontsel)); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3217 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3218 if (c) { |
|
666
71ea550c22ac
[gaim-migrate @ 676]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
657
diff
changeset
|
3219 fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(fontsel)); |
| 3473 | 3220 while(fontname[i] && !isdigit(fontname[i])) { |
| 3221 i++; | |
| 3222 } | |
| 3223 fontname[i] = 0; | |
|
2763
477a035d81e5
[gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2761
diff
changeset
|
3224 set_font_face(fontname, c); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3225 } else { |
|
334
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
3226 fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(fontsel)); |
| 3473 | 3227 while(fontface[i] && !isdigit(fontname[i]) && i < sizeof(fontface)) { |
| 3228 fontface[i] = fontname[i]; | |
| 3229 i++; | |
|
234
985635758c33
[gaim-migrate @ 244]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
231
diff
changeset
|
3230 } |
| 3473 | 3231 fontface[i] = 0; |
|
234
985635758c33
[gaim-migrate @ 244]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
231
diff
changeset
|
3232 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3233 |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3234 cancel_font(NULL, c); |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3235 } |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3236 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3237 void destroy_fontsel(GtkWidget *w, gpointer d) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3238 { |
|
334
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
3239 gtk_widget_destroy(fontseld); |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
3240 fontseld = NULL; |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
3241 } |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
3242 |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3243 void show_font_dialog(struct conversation *c, GtkWidget *font) |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3244 { |
| 3473 | 3245 char fonttif[128]; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3246 if (!font) { /* we came from the prefs dialog */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3247 if (fontseld) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3248 return; |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
3249 fontseld = gtk_font_selection_dialog_new(_("Select Font")); |
| 3473 | 3250 if (fontface[0]) { |
| 3251 g_snprintf(fonttif, sizeof(fonttif), "%s 12", fontface); | |
|
2763
477a035d81e5
[gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2761
diff
changeset
|
3252 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(fontseld), |
| 3473 | 3253 fonttif); |
|
2763
477a035d81e5
[gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2761
diff
changeset
|
3254 } else { |
|
477a035d81e5
[gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2761
diff
changeset
|
3255 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(fontseld), |
| 3473 | 3256 DEFAULT_FONT_FACE " 12"); |
|
2763
477a035d81e5
[gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2761
diff
changeset
|
3257 } |
|
334
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
3258 |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
3259 gtk_object_set_user_data(GTK_OBJECT(fontseld), NULL); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3260 gtk_signal_connect(GTK_OBJECT(fontseld), "delete_event", |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3261 GTK_SIGNAL_FUNC(destroy_fontsel), NULL); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3262 gtk_signal_connect(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(fontseld)->cancel_button), |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3263 "clicked", GTK_SIGNAL_FUNC(destroy_fontsel), NULL); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3264 gtk_signal_connect(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(fontseld)->ok_button), "clicked", |
| 3473 | 3265 GTK_SIGNAL_FUNC(apply_font_dlg), fontseld); |
|
334
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
3266 gtk_widget_realize(fontseld); |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
3267 gtk_widget_show(fontseld); |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
3268 gdk_window_raise(fontseld->window); |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
3269 return; |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
3270 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3271 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3272 if (!c->font_dialog) { |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
3273 c->font_dialog = gtk_font_selection_dialog_new(_("Select Font")); |
|
234
985635758c33
[gaim-migrate @ 244]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
231
diff
changeset
|
3274 |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3275 if (font) |
|
334
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
3276 gtk_object_set_user_data(GTK_OBJECT(c->font_dialog), c); |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3277 else |
|
334
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
3278 gtk_object_set_user_data(GTK_OBJECT(c->font_dialog), NULL); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3279 |
| 3473 | 3280 if (c->fontface[0]) { |
| 3281 g_snprintf(fonttif, sizeof(fonttif), "%s 12", c->fontface); | |
|
2785
501de8a3b09f
[gaim-migrate @ 2798]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2773
diff
changeset
|
3282 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(c->font_dialog), |
| 3473 | 3283 fonttif); |
|
2763
477a035d81e5
[gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2761
diff
changeset
|
3284 } else { |
|
2785
501de8a3b09f
[gaim-migrate @ 2798]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2773
diff
changeset
|
3285 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(c->font_dialog), |
| 3473 | 3286 DEFAULT_FONT_FACE); |
|
2763
477a035d81e5
[gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2761
diff
changeset
|
3287 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3288 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3289 gtk_signal_connect(GTK_OBJECT(c->font_dialog), "delete_event", |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3290 GTK_SIGNAL_FUNC(delete_event_dialog), c); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3291 gtk_signal_connect(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(c->font_dialog)->ok_button), |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3292 "clicked", GTK_SIGNAL_FUNC(apply_font), c->font_dialog); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3293 gtk_signal_connect(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(c->font_dialog)->cancel_button), |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3294 "clicked", GTK_SIGNAL_FUNC(cancel_font), c); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3295 |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3296 gtk_widget_realize(c->font_dialog); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3297 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3298 } |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3299 gtk_widget_show(c->font_dialog); |
|
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
3300 gdk_window_raise(c->font_dialog->window); |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3301 } |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3302 |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
3303 /*------------------------------------------------------------------------*/ |
| 1 | 3304 /* The dialog for import/export */ |
| 3305 /*------------------------------------------------------------------------*/ | |
| 3306 | |
|
2382
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3307 static void do_import_dialog(GtkWidget *w, struct gaim_connection *gc) |
| 229 | 3308 { |
| 3466 | 3309 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
|
3310 if (file_is_dir(file, importdialog)) { |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3311 return; |
| 229 | 3312 } |
|
2598
b2800bca74fe
[gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2582
diff
changeset
|
3313 if (g_slist_find(connections, importgc)) { |
|
b2800bca74fe
[gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2582
diff
changeset
|
3314 do_import(importgc, file); |
|
b2800bca74fe
[gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2582
diff
changeset
|
3315 do_export(importgc); |
|
b2800bca74fe
[gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2582
diff
changeset
|
3316 } |
|
2382
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3317 destroy_dialog(NULL, importdialog); |
|
2493
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3318 } |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3319 |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3320 static void set_import_gc(gpointer data, struct gaim_connection *gc) |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3321 { |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3322 importgc = gc; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3323 } |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3324 |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3325 static void create_import_dropdown(GtkFileSelection *fs) |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3326 { |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3327 GtkWidget *hbox; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3328 GtkWidget *label; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3329 GSList *g = connections; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3330 struct gaim_connection *c; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3331 GtkWidget *optmenu; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3332 GtkWidget *menu; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3333 char buf[256]; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3334 GtkWidget *opt; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3335 |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3336 if (!connections) |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3337 return; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3338 importgc = connections->data; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3339 if (!connections->next) |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3340 return; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3341 |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3342 hbox = gtk_hbox_new(FALSE, 0); |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3343 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
|
3344 gtk_widget_show(hbox); |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3345 |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3346 optmenu = gtk_option_menu_new(); |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3347 gtk_box_pack_end(GTK_BOX(hbox), optmenu, FALSE, FALSE, 5); |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3348 gtk_widget_show(optmenu); |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3349 |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3350 label = gtk_label_new(_("Import to:")); |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3351 gtk_box_pack_end(GTK_BOX(hbox), label, FALSE, FALSE, 5); |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3352 gtk_widget_show(label); |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3353 |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3354 menu = gtk_menu_new(); |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3355 |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3356 while (g) { |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3357 c = (struct gaim_connection *)g->data; |
| 3572 | 3358 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
|
3359 opt = gtk_menu_item_new_with_label(buf); |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3360 gtk_signal_connect(GTK_OBJECT(opt), "activate", GTK_SIGNAL_FUNC(set_import_gc), c); |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3361 gtk_widget_show(opt); |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3362 gtk_menu_append(GTK_MENU(menu), opt); |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3363 g = g->next; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3364 } |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3365 |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3366 gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), menu); |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3367 gtk_option_menu_set_history(GTK_OPTION_MENU(optmenu), 0); |
| 229 | 3368 } |
| 3369 | |
|
2382
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3370 void show_import_dialog() |
| 1 | 3371 { |
|
2382
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3372 char *buf = g_malloc(BUF_LEN); |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3373 if (!importdialog) { |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3374 importdialog = gtk_file_selection_new(_("Gaim - Import Buddy List")); |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3375 |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3376 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(importdialog)); |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3377 |
| 3630 | 3378 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
|
3379 |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3380 gtk_file_selection_set_filename(GTK_FILE_SELECTION(importdialog), buf); |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3381 gtk_signal_connect(GTK_OBJECT(importdialog), "destroy", |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3382 GTK_SIGNAL_FUNC(destroy_dialog), importdialog); |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3383 |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3384 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(importdialog)->ok_button), |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3385 "clicked", GTK_SIGNAL_FUNC(do_import_dialog), NULL); |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3386 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(importdialog)->cancel_button), |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3387 "clicked", GTK_SIGNAL_FUNC(destroy_dialog), importdialog); |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3388 |
|
2493
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
3389 create_import_dropdown(GTK_FILE_SELECTION(importdialog)); |
| 228 | 3390 } |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
940
diff
changeset
|
3391 |
|
2382
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3392 g_free(buf); |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3393 gtk_widget_show(importdialog); |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2379
diff
changeset
|
3394 gdk_window_raise(importdialog->window); |
| 1 | 3395 } |
| 3396 | |
| 3397 /*------------------------------------------------------------------------*/ | |
| 3398 /* The dialog for new away messages */ | |
| 3399 /*------------------------------------------------------------------------*/ | |
| 3400 | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3401 static struct away_message *save_away_message(struct create_away *ca) |
| 717 | 3402 { |
| 3403 struct away_message *am; | |
| 3404 guint text_len; | |
| 3405 gchar *away_message; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3406 |
|
832
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
3407 if (!ca->mess) |
|
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
3408 am = g_new0(struct away_message, 1); |
|
2851
6eb5bf5089f0
[gaim-migrate @ 2864]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2827
diff
changeset
|
3409 else { |
|
832
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
3410 am = ca->mess; |
|
2851
6eb5bf5089f0
[gaim-migrate @ 2864]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2827
diff
changeset
|
3411 } |
| 1387 | 3412 |
| 717 | 3413 g_snprintf(am->name, sizeof(am->name), "%s", gtk_entry_get_text(GTK_ENTRY(ca->entry))); |
| 3414 text_len = gtk_text_get_length(GTK_TEXT(ca->text)); | |
| 3415 away_message = gtk_editable_get_chars(GTK_EDITABLE(ca->text), 0, text_len); | |
| 3416 | |
| 3417 g_snprintf(am->message, sizeof(am->message), "%s", away_message); | |
| 3418 g_free(away_message); | |
| 3419 | |
|
832
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
3420 if (!ca->mess) { |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3421 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
|
3422 } |
|
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
3423 |
| 717 | 3424 save_prefs(); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3425 do_away_menu(); |
|
832
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
3426 if (prefs_away_list != NULL) |
| 940 | 3427 gtk_list_select_item(GTK_LIST(prefs_away_list), g_slist_index(away_messages, am)); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3428 |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3429 return am; |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3430 } |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3431 |
| 1387 | 3432 int check_away_mess(struct create_away *ca, int type) |
| 3433 { | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3434 if ((strlen(gtk_entry_get_text(GTK_ENTRY(ca->entry))) == 0) && (type == 1)) { |
| 1387 | 3435 /* We shouldn't allow a blank title */ |
| 3427 | 3436 do_error_dialog(_("You cannot save an away message with a blank title"), |
| 3437 _("Please give the message a title, or choose \"Make Away\" to use " | |
| 3438 "without saving."), GAIM_ERROR); | |
| 1387 | 3439 return 0; |
| 3440 } | |
| 3441 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3442 if ((gtk_text_get_length(GTK_TEXT(ca->text)) == 0) && (type <= 1)) { |
| 1387 | 3443 /* We shouldn't allow a blank message */ |
| 3427 | 3444 do_error_dialog(_("You cannot create an empty away message"), NULL, GAIM_ERROR); |
| 1387 | 3445 return 0; |
| 3446 } | |
| 3447 | |
| 3448 return 1; | |
| 3449 } | |
| 3450 | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3451 void save_away_mess(GtkWidget *widget, struct create_away *ca) |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3452 { |
| 1387 | 3453 if (!check_away_mess(ca, 1)) |
| 3454 return; | |
| 3455 | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3456 save_away_message(ca); |
| 717 | 3457 destroy_dialog(NULL, ca->window); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3458 g_free(ca); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3459 } |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3460 |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3461 void use_away_mess(GtkWidget *widget, struct create_away *ca) |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3462 { |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3463 static struct away_message am; |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3464 guint text_len; |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3465 gchar *away_message; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3466 |
| 1387 | 3467 if (!check_away_mess(ca, 0)) |
| 3468 return; | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3469 |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3470 g_snprintf(am.name, sizeof(am.name), "%s", gtk_entry_get_text(GTK_ENTRY(ca->entry))); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3471 text_len = gtk_text_get_length(GTK_TEXT(ca->text)); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3472 if (text_len < 0) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3473 return; |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3474 away_message = gtk_editable_get_chars(GTK_EDITABLE(ca->text), 0, text_len); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3475 |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3476 g_snprintf(am.message, sizeof(am.message), "%s", away_message); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3477 g_free(away_message); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3478 |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3479 do_away_message(NULL, &am); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3480 |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3481 destroy_dialog(NULL, ca->window); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3482 g_free(ca); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3483 } |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3484 |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3485 void su_away_mess(GtkWidget *widget, struct create_away *ca) |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3486 { |
| 1387 | 3487 if (!check_away_mess(ca, 1)) |
| 3488 return; | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3489 do_away_message(NULL, save_away_message(ca)); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3490 destroy_dialog(NULL, ca->window); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3491 g_free(ca); |
| 717 | 3492 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3493 |
| 1 | 3494 void create_away_mess(GtkWidget *widget, void *dummy) |
| 3495 { | |
| 439 | 3496 GtkWidget *hbox; |
| 1 | 3497 GtkWidget *titlebox; |
| 3498 GtkWidget *tbox; | |
| 3499 GtkWidget *sw; | |
| 3500 GtkWidget *label; | |
| 439 | 3501 GtkWidget *frame; |
| 3502 GtkWidget *fbox; | |
| 441 | 3503 GtkWidget *button; |
| 1 | 3504 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3505 struct create_away *ca = g_new0(struct create_away, 1); |
| 1185 | 3506 |
| 1 | 3507 /* Set up window */ |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
3508 GAIM_DIALOG(ca->window); |
|
1369
0b4278a90323
[gaim-migrate @ 1379]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1365
diff
changeset
|
3509 gtk_widget_set_usize(ca->window, -1, 250); |
| 441 | 3510 gtk_container_border_width(GTK_CONTAINER(ca->window), 5); |
| 905 | 3511 gtk_window_set_wmclass(GTK_WINDOW(ca->window), "away_mess", "Gaim"); |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
3512 gtk_window_set_title(GTK_WINDOW(ca->window), _("Gaim - New away message")); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3513 gtk_signal_connect(GTK_OBJECT(ca->window), "delete_event", |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3514 GTK_SIGNAL_FUNC(destroy_dialog), ca->window); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3515 gtk_widget_realize(ca->window); |
| 1185 | 3516 |
| 3517 tbox = gtk_vbox_new(FALSE, 5); | |
| 3518 gtk_container_add(GTK_CONTAINER(ca->window), tbox); | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3519 gtk_widget_show(tbox); |
| 439 | 3520 |
| 3521 frame = gtk_frame_new(_("New away message")); | |
| 1185 | 3522 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
|
3523 gtk_widget_show(frame); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3524 |
| 1172 | 3525 fbox = gtk_vbox_new(FALSE, 5); |
|
1224
0bbe3aaa6a3e
[gaim-migrate @ 1234]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1216
diff
changeset
|
3526 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5); |
| 1185 | 3527 gtk_container_add(GTK_CONTAINER(frame), fbox); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3528 gtk_widget_show(fbox); |
| 1185 | 3529 |
| 3530 titlebox = gtk_hbox_new(FALSE, 5); | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3531 gtk_box_pack_start(GTK_BOX(fbox), titlebox, FALSE, FALSE, 0); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3532 gtk_widget_show(titlebox); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3533 |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
3534 label = gtk_label_new(_("Away title: ")); |
| 1172 | 3535 gtk_box_pack_start(GTK_BOX(titlebox), label, FALSE, FALSE, 0); |
| 441 | 3536 gtk_widget_show(label); |
| 1185 | 3537 |
| 1 | 3538 ca->entry = gtk_entry_new(); |
| 1172 | 3539 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
|
3540 gtk_widget_grab_focus(ca->entry); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3541 gtk_widget_show(ca->entry); |
| 1 | 3542 |
| 3543 sw = gtk_scrolled_window_new(NULL, NULL); | |
| 3544 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3545 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3546 gtk_box_pack_start(GTK_BOX(fbox), sw, TRUE, TRUE, 0); |
| 1 | 3547 gtk_widget_show(sw); |
| 3548 | |
| 3549 ca->text = gtk_text_new(NULL, NULL); | |
| 3550 gtk_text_set_word_wrap(GTK_TEXT(ca->text), TRUE); | |
| 1185 | 3551 gtk_text_set_editable(GTK_TEXT(ca->text), TRUE); |
| 1 | 3552 gtk_container_add(GTK_CONTAINER(sw), ca->text); |
| 3553 gtk_widget_show(ca->text); | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3554 |
| 3374 | 3555 |
| 3556 if (dummy) { | |
| 3557 struct away_message *amt; | |
| 3558 GtkTreeIter iter; | |
| 3559 int pos = 0; | |
| 3560 GtkListStore *ls = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(dummy))); | |
| 3561 GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(dummy)); | |
| 3562 GValue val = { 0, }; | |
| 3563 | |
|
3716
d7e83b4db191
[gaim-migrate @ 3849]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3671
diff
changeset
|
3564 if (! gtk_tree_selection_get_selected (sel, (GtkTreeModel**)&ls, &iter)) |
| 3374 | 3565 return; |
|
3716
d7e83b4db191
[gaim-migrate @ 3849]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3671
diff
changeset
|
3566 gtk_tree_model_get_value (GTK_TREE_MODEL(ls), &iter, 1, &val); |
| 3374 | 3567 amt = g_value_get_pointer (&val); |
| 3568 gtk_entry_set_text(GTK_ENTRY(ca->entry), amt->name); | |
| 3569 gtk_editable_insert_text(GTK_EDITABLE(ca->text), amt->message, | |
| 3570 strlen(amt->message), &pos); | |
| 3571 ca->mess = amt; | |
| 3572 } | |
|
832
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
3573 |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3574 hbox = gtk_hbox_new(FALSE, 5); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3575 gtk_box_pack_start(GTK_BOX(tbox), hbox, FALSE, FALSE, 0); |
| 439 | 3576 gtk_widget_show(hbox); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3577 |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3578 button = picture_button(ca->window, _("Cancel"), cancel_xpm); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3579 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), ca->window); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3580 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
|
3581 |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3582 button = picture_button(ca->window, _("Use"), gnome_preferences_xpm); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3583 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(use_away_mess), ca); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3584 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
|
3585 |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3586 button = picture_button(ca->window, _("Save & Use"), add_xpm); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3587 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(su_away_mess), ca); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3588 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
|
3589 |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3590 button = picture_button(ca->window, _("Save"), ok_xpm); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3591 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(save_away_mess), ca); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3592 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
|
3593 |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
3594 gtk_widget_show(ca->window); |
| 1 | 3595 } |
| 555 | 3596 |
| 3597 /* smiley dialog */ | |
| 3598 | |
| 3599 void close_smiley_dialog(GtkWidget *widget, struct conversation *c) | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3600 { |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3601 if (c->smiley) { |
| 570 | 3602 set_state_lock(1); |
| 3603 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->smiley), FALSE); | |
| 3604 set_state_lock(0); | |
| 3605 } | |
| 555 | 3606 dialogwindows = g_list_remove(dialogwindows, c->smiley_dialog); |
| 3607 gtk_widget_destroy(c->smiley_dialog); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3608 c->smiley_dialog = NULL; |
| 555 | 3609 } |
| 3610 | |
| 3035 | 3611 void set_smiley(GtkWidget *w, char *face) |
| 3612 { | |
| 3613 current_smiley = face; | |
| 3614 } | |
| 3615 | |
| 555 | 3616 void set_smiley_array(GtkWidget *widget, int smiley_type) |
| 3617 { | |
| 3618 int i; | |
| 3619 | |
| 3620 for (i = 0; i < FACE_TOTAL; i++) | |
| 3621 smiley_array[i] = 0; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3622 |
| 555 | 3623 smiley_array[smiley_type] = 1; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3624 |
| 555 | 3625 return; |
| 3626 } | |
| 3627 | |
| 3628 void insert_smiley_text(GtkWidget *widget, struct conversation *c) | |
| 3629 { | |
| 3630 char *smiley_text; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3631 |
| 3049 | 3632 smiley_text = strdup(current_smiley); |
| 3035 | 3633 |
|
751
a022b57ed84a
[gaim-migrate @ 761]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
747
diff
changeset
|
3634 /* surround(c->entry, smiley_text, ""); */ |
|
a022b57ed84a
[gaim-migrate @ 761]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
747
diff
changeset
|
3635 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
3636 if (GTK_OLD_EDITABLE(c->entry)->has_selection) { |
|
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
3637 int finish = GTK_OLD_EDITABLE(c->entry)->selection_end_pos; |
|
751
a022b57ed84a
[gaim-migrate @ 761]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
747
diff
changeset
|
3638 gtk_editable_insert_text(GTK_EDITABLE(c->entry), |
|
a022b57ed84a
[gaim-migrate @ 761]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
747
diff
changeset
|
3639 smiley_text, strlen(smiley_text), &finish); |
|
a022b57ed84a
[gaim-migrate @ 761]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
747
diff
changeset
|
3640 } else { |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
3641 int pos = GTK_OLD_EDITABLE(c->entry)->current_pos; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3642 gtk_editable_insert_text(GTK_EDITABLE(c->entry), smiley_text, strlen(smiley_text), &pos); |
|
751
a022b57ed84a
[gaim-migrate @ 761]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
747
diff
changeset
|
3643 } |
| 555 | 3644 |
| 3645 g_free(smiley_text); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3646 |
| 555 | 3647 close_smiley_dialog(NULL, c); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3648 |
| 555 | 3649 return; |
| 3650 } | |
|
579
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
3651 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3652 static void toolbar_add_smiley(struct conversation *c, GtkWidget *bar, char **xpm, GtkWidget *win, |
| 3035 | 3653 char *face) |
|
579
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
3654 { |
|
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
3655 GtkWidget *tpm; |
|
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
3656 GdkBitmap *mask; |
|
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
3657 GdkPixmap *dpm; |
|
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
3658 GtkWidget *button; |
|
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
3659 |
|
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
3660 dpm = gdk_pixmap_create_from_xpm_d(win->window, &mask, &win->style->white, xpm); |
|
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
3661 tpm = gtk_pixmap_new(dpm, mask); |
|
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
3662 gtk_widget_show(tpm); |
|
644
b3900e312d8e
[gaim-migrate @ 654]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
619
diff
changeset
|
3663 gdk_pixmap_unref(dpm); |
|
804
17def2bb9720
[gaim-migrate @ 814]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
786
diff
changeset
|
3664 gdk_bitmap_unref(mask); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3665 button = |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3666 gtk_toolbar_append_element(GTK_TOOLBAR(bar), GTK_TOOLBAR_CHILD_BUTTON, NULL, NULL, NULL, |
| 3035 | 3667 NULL, tpm, GTK_SIGNAL_FUNC(set_smiley), (char *)face); |
|
579
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
3668 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(insert_smiley_text), c); |
|
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
3669 |
| 605 | 3670 /* these look really weird with borders */ |
| 3671 gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); | |
|
579
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
3672 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3673 |
| 555 | 3674 void show_smiley_dialog(struct conversation *c, GtkWidget *widget) |
| 3675 { | |
| 3676 GtkWidget *dialog; | |
| 3035 | 3677 GtkWidget *vbox, *smiley_box = NULL; |
| 555 | 3678 GtkWidget *win; |
| 582 | 3679 GtkWidget *bbox; |
| 3035 | 3680 GSList *smilies; |
| 3681 int smiley_count = 0; | |
| 3041 | 3682 int total_count = 0; |
| 555 | 3683 |
| 3684 if (c->smiley_dialog) | |
|
558
f1b8f03db83f
[gaim-migrate @ 568]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
555
diff
changeset
|
3685 return; |
|
579
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
3686 |
|
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
3687 win = c->window; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3688 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
3689 GAIM_DIALOG(dialog); |
| 905 | 3690 gtk_window_set_policy(GTK_WINDOW(dialog), FALSE, FALSE, TRUE); |
| 3691 gtk_window_set_wmclass(GTK_WINDOW(dialog), "smiley_dialog", "Gaim"); | |
| 934 | 3692 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
|
3693 |
| 555 | 3694 /* setup boxes */ |
| 582 | 3695 vbox = gtk_vbox_new(TRUE, 5); |
| 3696 bbox = gtk_hbox_new(FALSE, 5); | |
| 3697 | |
| 555 | 3698 |
| 3699 /* setup buttons */ | |
| 3700 | |
| 3701 /* pack buttons */ | |
| 3035 | 3702 if (c->gc->prpl->smiley_list == NULL) { |
| 3554 | 3703 smiley_box = gtk_toolbar_new(); |
| 3035 | 3704 gtk_box_pack_start(GTK_BOX(vbox), smiley_box, TRUE, TRUE, 0); |
| 3705 | |
| 3706 toolbar_add_smiley(c, smiley_box, angel_xpm, win, "O:-)"); | |
| 3707 toolbar_add_smiley(c, smiley_box, bigsmile_xpm, win, ":-D"); | |
| 3708 toolbar_add_smiley(c, smiley_box, burp_xpm, win, ":-!"); | |
| 3709 toolbar_add_smiley(c, smiley_box, crossedlips_xpm, win, ":-X"); | |
| 3710 | |
| 3554 | 3711 smiley_box = gtk_toolbar_new(); |
| 3035 | 3712 gtk_box_pack_start(GTK_BOX(vbox), smiley_box, TRUE, TRUE, 0); |
| 3713 | |
| 3714 toolbar_add_smiley(c, smiley_box, cry_xpm, win, ":'("); | |
| 3715 toolbar_add_smiley(c, smiley_box, embarrassed_xpm, win, ":-["); | |
| 3716 toolbar_add_smiley(c, smiley_box, kiss_xpm, win, ":-*"); | |
| 3717 toolbar_add_smiley(c, smiley_box, moneymouth_xpm, win, ":-$"); | |
| 3718 | |
| 3554 | 3719 smiley_box = gtk_toolbar_new(); |
| 3035 | 3720 gtk_box_pack_start(GTK_BOX(vbox), smiley_box, TRUE, TRUE, 0); |
| 3721 | |
| 3722 toolbar_add_smiley(c, smiley_box, sad_xpm, win, ":-("); | |
| 3723 toolbar_add_smiley(c, smiley_box, scream_xpm, win, "=-O"); | |
| 3724 toolbar_add_smiley(c, smiley_box, smile_xpm, win, ":-)"); | |
| 3725 toolbar_add_smiley(c, smiley_box, smile8_xpm, win, "8-)"); | |
| 3726 | |
| 3554 | 3727 smiley_box = gtk_toolbar_new(); |
| 3035 | 3728 gtk_box_pack_start(GTK_BOX(vbox), smiley_box, TRUE, TRUE, 0); |
| 3729 | |
| 3730 toolbar_add_smiley(c, smiley_box, think_xpm, win, ":-/"); | |
| 3731 toolbar_add_smiley(c, smiley_box, tongue_xpm, win, ":-P"); | |
| 3732 toolbar_add_smiley(c, smiley_box, wink_xpm, win, ";-)"); | |
| 3733 toolbar_add_smiley(c, smiley_box, yell_xpm, win, ">:o"); | |
| 3734 } else { | |
| 3735 | |
| 3736 smilies = c->gc->prpl->smiley_list(); | |
| 3737 | |
| 3041 | 3738 while (smilies) { |
| 3739 struct _prpl_smiley *smile = | |
| 3740 (struct _prpl_smiley *)smilies->data; | |
| 3741 | |
| 3742 if (smile->show) { | |
| 3743 total_count++; | |
| 3744 } | |
| 3745 | |
| 3746 smilies = g_slist_next(smilies); | |
| 3747 } | |
| 3748 | |
| 3749 smilies = c->gc->prpl->smiley_list(); | |
| 3750 | |
| 3554 | 3751 smiley_box = gtk_toolbar_new(); |
| 3040 | 3752 gtk_box_pack_start(GTK_BOX(vbox), smiley_box, TRUE, TRUE, 0); |
| 3753 | |
| 3035 | 3754 while (smilies) { |
| 3755 struct _prpl_smiley *smile = | |
| 3756 (struct _prpl_smiley *)smilies->data; | |
| 3757 | |
| 3040 | 3758 if (smile->show) { |
| 3759 | |
| 3041 | 3760 if ((!(smiley_count % ((int)(sqrt(total_count))))) && (smiley_count > 0)) { |
| 3554 | 3761 smiley_box = gtk_toolbar_new(); |
| 3040 | 3762 gtk_box_pack_start(GTK_BOX(vbox), smiley_box, TRUE, TRUE, 0); |
| 3763 } | |
| 3035 | 3764 |
| 3765 toolbar_add_smiley(c, smiley_box, smile->xpm, win, smile->key); | |
| 3766 smiley_count++; | |
| 3767 } | |
| 3768 | |
| 3769 smilies = g_slist_next(smilies); | |
| 3770 | |
| 3771 } | |
| 3772 } | |
| 3773 | |
| 582 | 3774 |
| 3775 gtk_container_add(GTK_CONTAINER(dialog), vbox); | |
|
579
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
3776 gtk_container_set_border_width(GTK_CONTAINER(dialog), 5); |
| 555 | 3777 |
| 605 | 3778 /* connect signals */ |
| 3779 gtk_object_set_user_data(GTK_OBJECT(dialog), "smiley dialog"); | |
| 3780 gtk_signal_connect(GTK_OBJECT(dialog), "delete_event", GTK_SIGNAL_FUNC(delete_event_dialog), c); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3781 |
| 555 | 3782 /* show everything */ |
|
567
102afb84ce45
[gaim-migrate @ 577]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
558
diff
changeset
|
3783 gtk_window_set_title(GTK_WINDOW(dialog), _("Smile!")); |
| 584 | 3784 gtk_widget_show_all(dialog); |
| 555 | 3785 |
| 3786 c->smiley_dialog = dialog; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3787 |
| 555 | 3788 return; |
|
558
f1b8f03db83f
[gaim-migrate @ 568]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
555
diff
changeset
|
3789 } |
|
710
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
699
diff
changeset
|
3790 |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
3791 static void do_alias_bud(GtkWidget *w, struct buddy *b) |
|
710
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
699
diff
changeset
|
3792 { |
| 3466 | 3793 const char *al = gtk_entry_get_text(GTK_ENTRY(aliasname)); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
3794 g_snprintf(b->show, sizeof(b->show), "%s", (al && strlen(al)) ? al : b->name); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
3795 handle_buddy_rename(b, b->name); |
| 3136 | 3796 serv_alias_buddy(b); |
|
710
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
699
diff
changeset
|
3797 destroy_dialog(aliasdlg, aliasdlg); |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3798 } |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3799 |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3800 void alias_dialog_bud(struct buddy *b) |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3801 { |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3802 GtkWidget *frame; |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3803 GtkWidget *vbox; |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3804 GtkWidget *bbox; |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3805 GtkWidget *cancel; |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3806 static GtkWidget *add = NULL; |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3807 GtkWidget *label; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3808 GtkWidget *topbox; |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3809 static int a, c; |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3810 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3811 if (aliasdlg) |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3812 gtk_widget_destroy(aliasdlg); |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3813 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
3814 GAIM_DIALOG(aliasdlg); |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3815 gtk_window_set_policy(GTK_WINDOW(aliasdlg), FALSE, FALSE, TRUE); |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3816 gtk_window_set_wmclass(GTK_WINDOW(aliasdlg), "alias_dialog", "Gaim"); |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3817 gtk_widget_realize(aliasdlg); |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3818 dialogwindows = g_list_prepend(dialogwindows, aliasdlg); |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3819 |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3820 bbox = gtk_hbox_new(TRUE, 10); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3821 topbox = gtk_hbox_new(FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3822 vbox = gtk_vbox_new(FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3823 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3824 aliasentry = gtk_entry_new(); |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3825 aliasname = gtk_entry_new(); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3826 /* Put the buttons in the box */ |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3827 |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3828 add = picture_button(aliasdlg, _("Alias"), add_xpm); |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3829 |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3830 cancel = picture_button(aliasdlg, _("Cancel"), cancel_xpm); |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3831 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3832 gtk_box_pack_start(GTK_BOX(bbox), add, FALSE, FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3833 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 5); |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3834 |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3835 frame = gtk_frame_new(NULL); |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3836 gtk_frame_set_label(GTK_FRAME(frame), _("Alias Buddy")); |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3837 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3838 label = gtk_label_new(_("Buddy")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3839 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3840 gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3841 gtk_box_pack_start(GTK_BOX(topbox), aliasentry, FALSE, FALSE, 5); |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3842 gtk_entry_set_editable(GTK_ENTRY(aliasentry), FALSE); |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3843 label = gtk_label_new(_("Alias")); |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3844 gtk_widget_show(label); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3845 gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3846 gtk_box_pack_start(GTK_BOX(topbox), aliasname, FALSE, FALSE, 5); |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3847 |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3848 gtk_entry_set_text(GTK_ENTRY(aliasentry), b->name); |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3849 gtk_entry_set_text(GTK_ENTRY(aliasname), b->show); |
|
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 /* And the boxes in the box */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3852 gtk_box_pack_start(GTK_BOX(vbox), topbox, TRUE, TRUE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3853 gtk_box_pack_start(GTK_BOX(vbox), bbox, TRUE, TRUE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3854 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3855 /* Handle closes right */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3856 gtk_signal_connect(GTK_OBJECT(aliasdlg), "destroy", GTK_SIGNAL_FUNC(destroy_dialog), aliasdlg); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3857 gtk_signal_connect(GTK_OBJECT(cancel), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), aliasdlg); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3858 a = gtk_signal_connect(GTK_OBJECT(add), "clicked", GTK_SIGNAL_FUNC(do_alias_bud), b); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3859 c = gtk_signal_connect(GTK_OBJECT(aliasname), "activate", GTK_SIGNAL_FUNC(do_alias_bud), b); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3860 /* Finish up */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3861 gtk_widget_show(add); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3862 gtk_widget_show(cancel); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3863 gtk_widget_show(aliasentry); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3864 gtk_widget_show(aliasname); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3865 gtk_widget_show(topbox); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3866 gtk_widget_show(bbox); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3867 gtk_widget_show(vbox); |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3868 gtk_widget_show(frame); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3869 gtk_window_set_title(GTK_WINDOW(aliasdlg), _("Gaim - Alias Buddy")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3870 gtk_window_set_focus(GTK_WINDOW(aliasdlg), aliasentry); |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3871 gtk_container_add(GTK_CONTAINER(frame), vbox); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3872 gtk_container_add(GTK_CONTAINER(aliasdlg), frame); |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3873 gtk_container_set_border_width(GTK_CONTAINER(aliasdlg), 5); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3874 gtk_widget_realize(aliasdlg); |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3875 |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3876 gtk_widget_show(aliasdlg); |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3877 } |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3878 |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3879 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3880 static gboolean dont_destroy(gpointer a, gpointer b, gpointer c) |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3881 { |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3882 return TRUE; |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3883 } |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3884 |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3885 static void do_save_log(GtkWidget *w, GtkWidget *filesel) |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3886 { |
|
3716
d7e83b4db191
[gaim-migrate @ 3849]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3671
diff
changeset
|
3887 const char *file; |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3888 char path[PATHSIZE]; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3889 char buf[BUF_LONG]; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3890 char error[BUF_LEN]; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3891 FILE *fp_old, *fp_new; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3892 char filename[PATHSIZE]; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3893 char *name; |
|
1722
1edc8b545d6f
[gaim-migrate @ 1732]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1710
diff
changeset
|
3894 char *tmp; |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3895 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3896 name = gtk_object_get_user_data(GTK_OBJECT(filesel)); |
|
1722
1edc8b545d6f
[gaim-migrate @ 1732]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1710
diff
changeset
|
3897 tmp = gaim_user_dir(); |
| 3630 | 3898 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
|
3899 name ? normalize(name) : "system", name ? ".log" : ""); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3900 |
|
3716
d7e83b4db191
[gaim-migrate @ 3849]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3671
diff
changeset
|
3901 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
|
3902 strncpy(path, file, PATHSIZE - 1); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3903 if (file_is_dir(path, filesel)) |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3904 return; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3905 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3906 if ((fp_new = fopen(path, "w")) == NULL) { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3907 g_snprintf(error, BUF_LONG, |
| 3427 | 3908 _("Couldn't write to %s."), path); |
| 3909 do_error_dialog(error, strerror(errno), GAIM_ERROR); | |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3910 return; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3911 } |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3912 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3913 if ((fp_old = fopen(filename, "r")) == NULL) { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3914 g_snprintf(error, BUF_LONG, |
| 3427 | 3915 _("Couldn't write to %s."), filename); |
| 3916 do_error_dialog(error, strerror(errno), GAIM_ERROR); | |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3917 fclose(fp_new); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3918 return; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3919 } |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3920 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3921 while (fgets(buf, BUF_LONG, fp_old)) |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3922 fputs(buf, fp_new); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3923 fclose(fp_old); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3924 fclose(fp_new); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3925 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3926 gtk_widget_destroy(filesel); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3927 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3928 return; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3929 } |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3930 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3931 static void show_save_log(GtkWidget *w, gchar *name) |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3932 { |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3933 GtkWidget *filesel; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3934 gchar buf[BUF_LEN]; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3935 |
| 3630 | 3936 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
|
3937 name ? normalize(name) : "system", name ? ".log" : ""); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3938 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3939 filesel = gtk_file_selection_new(_("Gaim - Save Log File")); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3940 gtk_signal_connect(GTK_OBJECT(filesel), "delete_event", |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3941 GTK_SIGNAL_FUNC(destroy_dialog), filesel); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3942 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3943 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(filesel)); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3944 gtk_file_selection_set_filename(GTK_FILE_SELECTION(filesel), buf); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3945 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filesel)->ok_button), |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3946 "clicked", GTK_SIGNAL_FUNC(do_save_log), filesel); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3947 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filesel)->cancel_button), |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3948 "clicked", GTK_SIGNAL_FUNC(destroy_dialog), filesel); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3949 gtk_object_set_user_data(GTK_OBJECT(filesel), name); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3950 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3951 gtk_widget_realize(filesel); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3952 gtk_widget_show(filesel); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3953 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3954 return; |
|
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 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3957 static void do_clear_log_file(GtkWidget *w, gchar *name) |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3958 { |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3959 gchar buf[256]; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3960 gchar filename[256]; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3961 GtkWidget *window; |
|
1722
1edc8b545d6f
[gaim-migrate @ 1732]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1710
diff
changeset
|
3962 char *tmp; |
|
1edc8b545d6f
[gaim-migrate @ 1732]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1710
diff
changeset
|
3963 |
|
1edc8b545d6f
[gaim-migrate @ 1732]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1710
diff
changeset
|
3964 tmp = gaim_user_dir(); |
| 3630 | 3965 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
|
3966 name ? normalize(name) : "system", name ? ".log" : ""); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3967 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3968 if ((remove(filename)) == -1) { |
| 3427 | 3969 g_snprintf(buf, 256, _("Couldn't remove file %s." ), filename); |
| 3970 do_error_dialog(buf, strerror(errno), GAIM_ERROR); | |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3971 } |
|
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 window = gtk_object_get_user_data(GTK_OBJECT(w)); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3974 destroy_dialog(NULL, window); |
|
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 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3977 static void show_clear_log(GtkWidget *w, gchar *name) |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3978 { |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3979 GtkWidget *window; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3980 GtkWidget *box; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3981 GtkWidget *hbox; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3982 GtkWidget *button; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3983 GtkWidget *label; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3984 GtkWidget *hsep; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3985 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
3986 GAIM_DIALOG(window); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3987 gtk_window_set_wmclass(GTK_WINDOW(window), "dialog", "Gaim"); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3988 gtk_container_set_border_width(GTK_CONTAINER(window), 10); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3989 gtk_window_set_policy(GTK_WINDOW(window), TRUE, TRUE, TRUE); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3990 gtk_signal_connect(GTK_OBJECT(window), "delete_event", GTK_SIGNAL_FUNC(destroy_dialog), window); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3991 gtk_widget_realize(window); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3992 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3993 box = gtk_vbox_new(FALSE, 5); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3994 gtk_container_add(GTK_CONTAINER(window), box); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3995 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3996 label = gtk_label_new(_("Really clear log?")); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3997 gtk_box_pack_start(GTK_BOX(box), label, TRUE, TRUE, 15); |
|
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 hsep = gtk_hseparator_new(); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4000 gtk_box_pack_start(GTK_BOX(box), hsep, FALSE, FALSE, 0); |
|
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 hbox = gtk_hbox_new(FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4003 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
|
4004 gtk_widget_show(hbox); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4005 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4006 button = picture_button(window, _("Cancel"), cancel_xpm); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4007 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), window); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4008 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 5); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4009 gtk_widget_show(button); |
|
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 button = picture_button(window, _("Okay"), ok_xpm); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4012 gtk_object_set_user_data(GTK_OBJECT(button), gtk_object_get_user_data(GTK_OBJECT(w))); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4013 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(do_clear_log_file), name); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4014 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), window); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4015 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 5); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4016 gtk_widget_show(button); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4017 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4018 gtk_widget_show_all(window); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4019 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4020 return; |
|
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 |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4023 static void log_show_convo(GtkWidget *w, struct view_log *view) |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4024 { |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4025 gchar buf[BUF_LONG]; |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4026 FILE *fp; |
| 2570 | 4027 char filename[256]; |
| 4028 int i=0; | |
| 4029 GString *string; | |
| 2602 | 4030 guint block; |
| 4031 | |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4032 string = g_string_new(""); |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4033 |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4034 if (view->name) { |
|
1634
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1535
diff
changeset
|
4035 char *tmp = gaim_user_dir(); |
| 3630 | 4036 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
|
4037 } else { |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1535
diff
changeset
|
4038 char *tmp = gaim_user_dir(); |
| 3630 | 4039 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
|
4040 } |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4041 if ((fp = fopen(filename, "r")) == NULL) { |
| 3427 | 4042 g_snprintf(buf, BUF_LONG, "Couldn't open log file %s.", filename); |
| 4043 do_error_dialog(buf, strerror(errno), GAIM_ERROR); | |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4044 return; |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4045 } |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4046 |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4047 gtk_widget_set_sensitive(view->bbox, FALSE); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4048 gtk_signal_disconnect_by_func(GTK_OBJECT(view->window), |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4049 GTK_SIGNAL_FUNC(destroy_dialog), view->window); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4050 block = gtk_signal_connect(GTK_OBJECT(view->window), "delete_event", |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4051 GTK_SIGNAL_FUNC(dont_destroy), view->window); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4052 |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4053 fseek(fp, view->offset, SEEK_SET); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4054 gtk_imhtml_clear(GTK_IMHTML(view->layout)); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4055 /* |
| 2570 | 4056 while (gtk_events_pending()) |
| 4057 gtk_main_iteration(); | |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4058 */ |
| 2570 | 4059 |
| 4060 while (fgets(buf, BUF_LONG, fp) && !strstr(buf, "---- New C")) { | |
| 4061 i++; | |
| 4062 if (strlen(buf) >= 5 && (!strncmp(buf + strlen(buf) - 5, "<BR>\n", 5))) | |
| 4063 /* take off the \n */ | |
| 4064 buf[strlen(buf) - 1] = '\0'; | |
| 4065 | |
|
2642
b6cf22276d4b
[gaim-migrate @ 2655]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2623
diff
changeset
|
4066 /* don't lose the thirtieth line of conversation. thanks FeRD */ |
|
b6cf22276d4b
[gaim-migrate @ 2655]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2623
diff
changeset
|
4067 g_string_append(string, buf); |
|
b6cf22276d4b
[gaim-migrate @ 2655]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2623
diff
changeset
|
4068 |
| 2570 | 4069 if (i == 30) { |
|
2856
b1e300a85678
[gaim-migrate @ 2869]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2851
diff
changeset
|
4070 gtk_imhtml_append_text(GTK_IMHTML(view->layout), string->str, -1, view->options); |
| 2570 | 4071 g_string_free(string, TRUE); |
| 4072 string = g_string_new(""); | |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4073 /* 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
|
4074 * drawing, it will try to move to that item, and that causes problems here. |
| 2570 | 4075 while (gtk_events_pending()) |
| 4076 gtk_main_iteration(); | |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4077 */ |
| 2570 | 4078 i = 0; |
| 4079 } | |
| 4080 | |
| 4081 } | |
|
2856
b1e300a85678
[gaim-migrate @ 2869]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2851
diff
changeset
|
4082 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
|
4083 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
|
4084 |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4085 gtk_widget_set_sensitive(view->bbox, TRUE); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4086 gtk_signal_disconnect(GTK_OBJECT(view->window), block); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4087 gtk_signal_connect(GTK_OBJECT(view->window), "delete_event", |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4088 GTK_SIGNAL_FUNC(destroy_dialog), view->window); |
| 2570 | 4089 g_string_free(string, TRUE); |
| 4090 fclose(fp); | |
| 4091 } | |
| 4092 | |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4093 static void des_view_item(GtkObject *obj, struct view_log *view) |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4094 { |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4095 if (view->name) |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4096 g_free(view->name); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4097 g_free(view); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4098 } |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4099 |
|
2623
66164831c228
[gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2621
diff
changeset
|
4100 static void des_log_win(GtkObject *win, gpointer data) |
|
66164831c228
[gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2621
diff
changeset
|
4101 { |
|
66164831c228
[gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2621
diff
changeset
|
4102 char *x = gtk_object_get_user_data(win); |
|
66164831c228
[gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2621
diff
changeset
|
4103 if (x) |
|
66164831c228
[gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2621
diff
changeset
|
4104 g_free(x); |
|
66164831c228
[gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2621
diff
changeset
|
4105 } |
|
66164831c228
[gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2621
diff
changeset
|
4106 |
| 3484 | 4107 void conv_show_log(GtkWidget *w, gpointer data) |
| 4108 { | |
| 4109 char *name = g_strdup(data); | |
| 4110 show_log(name); | |
| 4111 g_free(name); | |
| 4112 } | |
| 4113 | |
| 3532 | 4114 void chat_show_log(GtkWidget *w, gpointer data) |
| 4115 { | |
|
3716
d7e83b4db191
[gaim-migrate @ 3849]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3671
diff
changeset
|
4116 char *name = g_strdup_printf("%s.chat", (char*)data); |
| 3532 | 4117 show_log(name); |
| 4118 g_free(name); | |
| 4119 } | |
| 4120 | |
|
2623
66164831c228
[gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2621
diff
changeset
|
4121 void show_log(char *nm) |
| 2570 | 4122 { |
| 4123 gchar filename[256]; | |
| 4124 gchar buf[BUF_LONG]; | |
| 4125 FILE *fp; | |
| 4126 GtkWidget *window; | |
| 4127 GtkWidget *box; | |
| 4128 GtkWidget *hbox; | |
| 2602 | 4129 GtkWidget *bbox; |
| 2570 | 4130 GtkWidget *sw; |
| 4131 GtkWidget *layout; | |
| 4132 GtkWidget *close_button; | |
| 4133 GtkWidget *clear_button; | |
| 4134 GtkWidget *save_button; | |
|
2572
ad0d7c423669
[gaim-migrate @ 2585]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2571
diff
changeset
|
4135 GtkWidget *list = NULL; |
| 2612 | 4136 GList *item_list = NULL; |
| 4137 GtkWidget *item = NULL; | |
| 4138 GtkWidget *last = NULL; | |
| 2570 | 4139 GtkWidget *frame; |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4140 struct view_log *view; |
|
2623
66164831c228
[gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2621
diff
changeset
|
4141 char *name = nm ? g_strdup(nm) : NULL; |
| 2570 | 4142 |
| 4143 int options; | |
| 4144 guint block; | |
| 4145 char convo_start[32]; | |
| 4146 long offset = 0; | |
| 2612 | 4147 unsigned int i = 0; |
| 2570 | 4148 |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4149 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
|
4150 if (convo_options & OPT_CONVO_IGNORE_COLOUR) |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4151 options ^= GTK_IMHTML_NO_COLOURS; |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2228
diff
changeset
|
4152 if (convo_options & OPT_CONVO_IGNORE_FONTS) |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4153 options ^= GTK_IMHTML_NO_FONTS; |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2228
diff
changeset
|
4154 if (convo_options & OPT_CONVO_IGNORE_SIZES) |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4155 options ^= GTK_IMHTML_NO_SIZES; |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4156 |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4157 window = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
|
2623
66164831c228
[gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2621
diff
changeset
|
4158 gtk_object_set_user_data(GTK_OBJECT(window), name); |
|
66164831c228
[gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2621
diff
changeset
|
4159 gtk_signal_connect(GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(des_log_win), NULL); |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4160 gtk_window_set_wmclass(GTK_WINDOW(window), "log", "Gaim"); |
|
1648
09445224e2d9
[gaim-migrate @ 1658]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1634
diff
changeset
|
4161 if (name) |
|
09445224e2d9
[gaim-migrate @ 1658]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1634
diff
changeset
|
4162 g_snprintf(buf, BUF_LONG, "Gaim - Conversations with %s", name); |
|
09445224e2d9
[gaim-migrate @ 1658]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1634
diff
changeset
|
4163 else |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4164 g_snprintf(buf, BUF_LONG, "Gaim - System Log"); |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4165 gtk_window_set_title(GTK_WINDOW(window), buf); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4166 gtk_container_set_border_width(GTK_CONTAINER(window), 10); |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4167 gtk_window_set_policy(GTK_WINDOW(window), TRUE, TRUE, TRUE); |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4168 block = gtk_signal_connect(GTK_OBJECT(window), "delete_event", |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4169 GTK_SIGNAL_FUNC(dont_destroy), window); |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4170 gtk_widget_realize(window); |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4171 |
| 2570 | 4172 layout = gtk_imhtml_new(NULL, NULL); |
| 2602 | 4173 bbox = gtk_hbox_new(FALSE, 0); |
| 4174 | |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4175 box = gtk_vbox_new(FALSE, 5); |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4176 gtk_container_add(GTK_CONTAINER(window), box); |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4177 |
| 2570 | 4178 hbox = gtk_hbox_new(FALSE, 5); |
| 4179 gtk_box_pack_start(GTK_BOX(box), hbox, TRUE, TRUE, 0); | |
| 4180 | |
| 4181 if (name) { | |
| 4182 char *tmp = gaim_user_dir(); | |
| 3630 | 4183 g_snprintf(filename, 256, "%s" G_DIR_SEPARATOR_S "logs" G_DIR_SEPARATOR_S "%s.log", tmp, normalize(name)); |
| 2570 | 4184 if ((fp = fopen(filename, "r")) == NULL) { |
| 3427 | 4185 g_snprintf(buf, BUF_LONG, "Couldn't open log file %s", filename); |
| 4186 do_error_dialog(buf, strerror(errno), GAIM_ERROR); | |
| 2570 | 4187 return; |
| 4188 } | |
| 4189 | |
| 4190 list = gtk_list_new(); | |
| 4191 | |
| 4192 frame = gtk_frame_new(_("Date")); | |
| 4193 gtk_widget_show(frame); | |
| 4194 | |
| 4195 sw = gtk_scrolled_window_new(NULL, NULL); | |
| 4196 gtk_container_set_border_width(GTK_CONTAINER(sw), 5); | |
| 4197 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), list); | |
|
2613
6f7e1fc3e132
[gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2612
diff
changeset
|
4198 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), |
|
6f7e1fc3e132
[gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2612
diff
changeset
|
4199 GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); |
| 2571 | 4200 gtk_widget_set_usize(sw, 220, 220); |
| 2570 | 4201 gtk_container_add(GTK_CONTAINER(frame), sw); |
| 4202 gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0); | |
| 4203 | |
| 4204 while (fgets(buf, BUF_LONG, fp)) { | |
| 4205 if (strstr(buf, "---- New C")) { | |
| 4206 int length; | |
| 4207 char *temp = strchr(buf, '@'); | |
| 2612 | 4208 |
| 2570 | 4209 if (temp == NULL || strlen(temp) < 2) |
| 4210 continue; | |
| 2612 | 4211 |
|
2613
6f7e1fc3e132
[gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2612
diff
changeset
|
4212 if (i == 1 && item_list) { |
|
6f7e1fc3e132
[gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2612
diff
changeset
|
4213 item_list = g_list_remove(item_list, last); |
|
6f7e1fc3e132
[gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2612
diff
changeset
|
4214 last = NULL; |
| 2612 | 4215 } |
| 4216 | |
| 4217 i = 0; | |
| 4218 | |
| 2570 | 4219 temp++; |
| 4220 length = strcspn(temp, "-"); | |
| 4221 if (length > 31) length = 31; | |
| 4222 | |
| 4223 offset = ftell(fp); | |
| 4224 g_snprintf(convo_start, length, "%s", temp); | |
| 4225 item = gtk_list_item_new_with_label(convo_start); | |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4226 view = g_new0(struct view_log, 1); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4227 view->options = options; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4228 view->offset = offset; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4229 view->name = g_strdup(name); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4230 view->bbox = bbox; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4231 view->window = window; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4232 view->layout = layout; |
|
2613
6f7e1fc3e132
[gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2612
diff
changeset
|
4233 gtk_signal_connect(GTK_OBJECT(item), "select", |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4234 GTK_SIGNAL_FUNC(log_show_convo), view); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4235 gtk_signal_connect(GTK_OBJECT(item), "destroy", |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4236 GTK_SIGNAL_FUNC(des_view_item), view); |
| 2612 | 4237 last = item; |
| 4238 item_list = g_list_append(item_list, item); | |
|
2613
6f7e1fc3e132
[gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2612
diff
changeset
|
4239 |
| 2570 | 4240 gtk_widget_show(item); |
| 4241 } | |
| 2612 | 4242 i++; |
| 2570 | 4243 } |
| 4244 fclose(fp); | |
|
2613
6f7e1fc3e132
[gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2612
diff
changeset
|
4245 if (i == 1 && item_list) |
|
6f7e1fc3e132
[gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2612
diff
changeset
|
4246 item_list = g_list_remove(item_list, item); |
|
6f7e1fc3e132
[gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2612
diff
changeset
|
4247 |
| 2612 | 4248 if (item_list) |
|
2613
6f7e1fc3e132
[gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2612
diff
changeset
|
4249 gtk_list_insert_items(GTK_LIST(list), item_list, 0 ); |
| 2612 | 4250 } |
| 4251 | |
| 2602 | 4252 gtk_signal_disconnect(GTK_OBJECT(window), block); |
| 4253 gtk_signal_connect(GTK_OBJECT(window), "delete_event", GTK_SIGNAL_FUNC(destroy_dialog), window); | |
| 4254 | |
| 2570 | 4255 frame = gtk_frame_new(_("Conversation")); |
| 4256 gtk_widget_show(frame); | |
| 4257 | |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4258 sw = gtk_scrolled_window_new(NULL, NULL); |
| 2570 | 4259 gtk_container_set_border_width(GTK_CONTAINER(sw), 5); |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4260 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4261 gtk_widget_set_usize(sw, 390, 220); |
| 2570 | 4262 gtk_container_add(GTK_CONTAINER(frame), sw); |
| 4263 gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0); | |
| 4264 | |
|
2827
51999a36c0b1
[gaim-migrate @ 2840]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2798
diff
changeset
|
4265 gtk_signal_connect(GTK_OBJECT(layout), "url_clicked", GTK_SIGNAL_FUNC(open_url), NULL); |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4266 gtk_container_add(GTK_CONTAINER(sw), layout); |
|
2906
538c58b43eff
[gaim-migrate @ 2919]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2856
diff
changeset
|
4267 GTK_LAYOUT(layout)->hadjustment->step_increment = 10.0; |
|
538c58b43eff
[gaim-migrate @ 2919]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2856
diff
changeset
|
4268 GTK_LAYOUT(layout)->vadjustment->step_increment = 10.0; |
|
1815
f15d449b3167
[gaim-migrate @ 1825]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1805
diff
changeset
|
4269 gaim_setup_imhtml(layout); |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4270 |
| 2602 | 4271 gtk_box_pack_start(GTK_BOX(box), bbox, FALSE, FALSE, 0); |
| 4272 gtk_widget_set_sensitive(bbox, FALSE); | |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4273 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4274 close_button = picture_button(window, _("Close"), cancel_xpm); |
| 2602 | 4275 gtk_box_pack_end(GTK_BOX(bbox), close_button, FALSE, FALSE, 5); |
| 4276 gtk_signal_connect(GTK_OBJECT(close_button), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), window); | |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4277 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4278 clear_button = picture_button(window, _("Clear"), close_xpm); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4279 gtk_object_set_user_data(GTK_OBJECT(clear_button), window); |
| 2602 | 4280 gtk_box_pack_end(GTK_BOX(bbox), clear_button, FALSE, FALSE, 5); |
| 4281 gtk_signal_connect(GTK_OBJECT(clear_button), "clicked", GTK_SIGNAL_FUNC(show_clear_log), name); | |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4282 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4283 save_button = picture_button(window, _("Save"), save_xpm); |
| 2602 | 4284 gtk_box_pack_end(GTK_BOX(bbox), save_button, FALSE, FALSE, 5); |
| 4285 gtk_signal_connect(GTK_OBJECT(save_button), "clicked", GTK_SIGNAL_FUNC(show_save_log), name); | |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
4286 |
| 2570 | 4287 gtk_widget_show_all(window); |
| 4288 | |
| 4289 if (!name) { | |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4290 view = g_new0(struct view_log, 1); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4291 view->options = options; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4292 view->name = NULL; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4293 view->bbox = bbox; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4294 view->window = window; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4295 view->layout = layout; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4296 log_show_convo(layout, view); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
4297 gtk_signal_connect(GTK_OBJECT(layout), "destroy", GTK_SIGNAL_FUNC(des_view_item), view); |
| 2570 | 4298 } else { |
| 4299 gtk_list_select_item(GTK_LIST(list), 0); | |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4300 } |
| 2570 | 4301 |
| 2602 | 4302 gtk_widget_set_sensitive(bbox, TRUE); |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4303 |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4304 return; |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
4305 } |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4306 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4307 /*------------------------------------------------------------------------*/ |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4308 /* The dialog for renaming groups */ |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4309 /*------------------------------------------------------------------------*/ |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4310 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4311 static void do_rename_group(GtkObject *obj, GtkWidget *entry) |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4312 { |
| 3466 | 4313 const char *new_name; |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4314 struct group *g; |
|
1748
2eec724fdbcd
[gaim-migrate @ 1758]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1736
diff
changeset
|
4315 struct group *orig; |
|
1841
93f0629d4099
[gaim-migrate @ 1851]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1840
diff
changeset
|
4316 struct gaim_connection *gc; |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4317 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4318 new_name = gtk_entry_get_text(GTK_ENTRY(entry)); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4319 g = gtk_object_get_user_data(obj); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4320 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4321 if (new_name && (strlen(new_name) != 0) && strcmp(new_name, g->name)) { |
|
1748
2eec724fdbcd
[gaim-migrate @ 1758]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1736
diff
changeset
|
4322 char *prevname; |
|
1841
93f0629d4099
[gaim-migrate @ 1851]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1840
diff
changeset
|
4323 gc = g->gc; |
| 3348 | 4324 |
| 3215 | 4325 if ((orig = find_group(g->gc, new_name)) != NULL && g_strcasecmp(new_name, g->name)) { |
|
1748
2eec724fdbcd
[gaim-migrate @ 1758]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1736
diff
changeset
|
4326 orig->members = g_slist_concat(orig->members, g->members); |
|
2eec724fdbcd
[gaim-migrate @ 1758]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1736
diff
changeset
|
4327 handle_group_rename(orig, g->name); |
|
2eec724fdbcd
[gaim-migrate @ 1758]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1736
diff
changeset
|
4328 g->gc->groups = g_slist_remove(g->gc->groups, g); |
|
2eec724fdbcd
[gaim-migrate @ 1758]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1736
diff
changeset
|
4329 /* FIXME, i don't like calling this. it's sloppy. */ build_edit_tree(); |
| 3348 | 4330 serv_rename_group(gc, g, new_name); |
|
1748
2eec724fdbcd
[gaim-migrate @ 1758]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1736
diff
changeset
|
4331 g_free(g); |
|
2eec724fdbcd
[gaim-migrate @ 1758]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1736
diff
changeset
|
4332 } else { |
|
2eec724fdbcd
[gaim-migrate @ 1758]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1736
diff
changeset
|
4333 prevname = g_strdup(g->name); |
| 3348 | 4334 serv_rename_group(gc, g, new_name); |
|
1748
2eec724fdbcd
[gaim-migrate @ 1758]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1736
diff
changeset
|
4335 g_snprintf(g->name, sizeof(g->name), "%s", new_name); |
|
2eec724fdbcd
[gaim-migrate @ 1758]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1736
diff
changeset
|
4336 handle_group_rename(g, prevname); |
| 3348 | 4337 /* FIXME, i don't like calling this. it's sloppy. */ build_edit_tree(); |
|
1748
2eec724fdbcd
[gaim-migrate @ 1758]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1736
diff
changeset
|
4338 g_free(prevname); |
|
2eec724fdbcd
[gaim-migrate @ 1758]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1736
diff
changeset
|
4339 } |
|
1841
93f0629d4099
[gaim-migrate @ 1851]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1840
diff
changeset
|
4340 do_export(gc); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4341 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4342 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4343 destroy_dialog(rename_dialog, rename_dialog); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4344 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4345 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4346 void show_rename_group(GtkWidget *unused, struct group *g) |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4347 { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4348 GtkWidget *mainbox; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4349 GtkWidget *frame; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4350 GtkWidget *fbox; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4351 GtkWidget *bbox; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4352 GtkWidget *button; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4353 GtkWidget *name_entry; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4354 GtkWidget *label; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4355 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4356 if (!rename_dialog) { |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
4357 GAIM_DIALOG(rename_dialog); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4358 gtk_window_set_wmclass(GTK_WINDOW(rename_dialog), "rename_dialog", "Gaim"); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4359 gtk_window_set_policy(GTK_WINDOW(rename_dialog), FALSE, TRUE, TRUE); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4360 gtk_window_set_title(GTK_WINDOW(rename_dialog), _("Gaim - Rename Group")); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4361 gtk_signal_connect(GTK_OBJECT(rename_dialog), "destroy", |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4362 GTK_SIGNAL_FUNC(destroy_dialog), rename_dialog); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4363 gtk_widget_realize(rename_dialog); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4364 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4365 mainbox = gtk_vbox_new(FALSE, 5); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4366 gtk_container_set_border_width(GTK_CONTAINER(mainbox), 5); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4367 gtk_container_add(GTK_CONTAINER(rename_dialog), mainbox); |
|
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 frame = gtk_frame_new(_("Rename Group")); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4370 gtk_box_pack_start(GTK_BOX(mainbox), frame, TRUE, TRUE, 0); |
|
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 fbox = gtk_hbox_new(FALSE, 5); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4373 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4374 gtk_container_add(GTK_CONTAINER(frame), fbox); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4375 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4376 label = gtk_label_new(_("New name:")); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4377 gtk_box_pack_start(GTK_BOX(fbox), label, FALSE, FALSE, 0); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4378 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4379 name_entry = gtk_entry_new(); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4380 gtk_box_pack_start(GTK_BOX(fbox), name_entry, TRUE, TRUE, 0); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4381 gtk_object_set_user_data(GTK_OBJECT(name_entry), g); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4382 gtk_entry_set_text(GTK_ENTRY(name_entry), g->name); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4383 gtk_signal_connect(GTK_OBJECT(name_entry), "activate", |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4384 GTK_SIGNAL_FUNC(do_rename_group), name_entry); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4385 gtk_widget_grab_focus(name_entry); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4386 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4387 bbox = gtk_hbox_new(FALSE, 5); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4388 gtk_box_pack_start(GTK_BOX(mainbox), bbox, FALSE, FALSE, 0); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4389 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4390 button = picture_button(rename_dialog, _("Cancel"), cancel_xpm); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4391 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4392 gtk_signal_connect(GTK_OBJECT(button), "clicked", |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4393 GTK_SIGNAL_FUNC(destroy_dialog), rename_dialog); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4394 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4395 button = picture_button(rename_dialog, _("OK"), ok_xpm); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4396 gtk_object_set_user_data(GTK_OBJECT(button), g); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4397 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4398 gtk_signal_connect(GTK_OBJECT(button), "clicked", |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4399 GTK_SIGNAL_FUNC(do_rename_group), name_entry); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4400 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4401 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4402 gtk_widget_show_all(rename_dialog); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4403 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4404 |
| 2743 | 4405 |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4406 /*------------------------------------------------------------------------*/ |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4407 /* The dialog for renaming buddies */ |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4408 /*------------------------------------------------------------------------*/ |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4409 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4410 static void do_rename_buddy(GtkObject *obj, GtkWidget *entry) |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4411 { |
| 3466 | 4412 const char *new_name; |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4413 struct buddy *b; |
|
2681
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4414 GSList *gr; |
|
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 new_name = gtk_entry_get_text(GTK_ENTRY(entry)); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4417 b = gtk_object_get_user_data(obj); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4418 |
|
2681
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4419 if (!g_slist_find(connections, b->gc)) { |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4420 destroy_dialog(rename_bud_dialog, rename_bud_dialog); |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4421 return; |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4422 } |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4423 |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4424 gr = b->gc->groups; |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4425 while (gr) { |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4426 if (g_slist_find(((struct group *)gr->data)->members, b)) |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4427 break; |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4428 gr = gr->next; |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4429 } |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4430 if (!gr) { |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4431 destroy_dialog(rename_bud_dialog, rename_bud_dialog); |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4432 return; |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4433 } |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4434 |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4435 if (new_name && (strlen(new_name) != 0) && strcmp(new_name, b->name)) { |
|
2681
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4436 struct group *g = find_group_by_buddy(b->gc, b->name); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4437 char *prevname = g_strdup(b->name); |
|
2681
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4438 if (g) |
|
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2679
diff
changeset
|
4439 serv_remove_buddy(b->gc, b->name, g->name); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4440 if (!strcmp(b->name, b->show)) |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4441 g_snprintf(b->show, sizeof(b->show), "%s", new_name); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4442 g_snprintf(b->name, sizeof(b->name), "%s", new_name); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4443 serv_add_buddy(b->gc, b->name); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4444 handle_buddy_rename(b, prevname); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4445 g_free(prevname); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4446 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4447 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4448 destroy_dialog(rename_bud_dialog, rename_bud_dialog); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4449 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4450 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4451 void show_rename_buddy(GtkWidget *unused, struct buddy *b) |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4452 { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4453 GtkWidget *mainbox; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4454 GtkWidget *frame; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4455 GtkWidget *fbox; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4456 GtkWidget *bbox; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4457 GtkWidget *button; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4458 GtkWidget *name_entry; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4459 GtkWidget *label; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4460 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4461 if (!rename_bud_dialog) { |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
4462 GAIM_DIALOG(rename_bud_dialog); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4463 gtk_window_set_wmclass(GTK_WINDOW(rename_bud_dialog), "rename_bud_dialog", "Gaim"); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4464 gtk_window_set_policy(GTK_WINDOW(rename_bud_dialog), FALSE, TRUE, TRUE); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4465 gtk_window_set_title(GTK_WINDOW(rename_bud_dialog), _("Gaim - Rename Buddy")); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4466 gtk_signal_connect(GTK_OBJECT(rename_bud_dialog), "destroy", |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4467 GTK_SIGNAL_FUNC(destroy_dialog), rename_bud_dialog); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4468 gtk_widget_realize(rename_bud_dialog); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4469 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4470 mainbox = gtk_vbox_new(FALSE, 5); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4471 gtk_container_set_border_width(GTK_CONTAINER(mainbox), 5); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4472 gtk_container_add(GTK_CONTAINER(rename_bud_dialog), mainbox); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4473 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4474 frame = gtk_frame_new(_("Rename Buddy")); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4475 gtk_box_pack_start(GTK_BOX(mainbox), frame, TRUE, TRUE, 0); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4476 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4477 fbox = gtk_hbox_new(FALSE, 5); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4478 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4479 gtk_container_add(GTK_CONTAINER(frame), fbox); |
|
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 label = gtk_label_new(_("New name:")); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4482 gtk_box_pack_start(GTK_BOX(fbox), label, FALSE, FALSE, 0); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4483 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4484 name_entry = gtk_entry_new(); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4485 gtk_box_pack_start(GTK_BOX(fbox), name_entry, TRUE, TRUE, 0); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4486 gtk_object_set_user_data(GTK_OBJECT(name_entry), b); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4487 gtk_entry_set_text(GTK_ENTRY(name_entry), b->name); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4488 gtk_signal_connect(GTK_OBJECT(name_entry), "activate", |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4489 GTK_SIGNAL_FUNC(do_rename_buddy), name_entry); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4490 gtk_widget_grab_focus(name_entry); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4491 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4492 bbox = gtk_hbox_new(FALSE, 5); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4493 gtk_box_pack_start(GTK_BOX(mainbox), bbox, FALSE, FALSE, 0); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4494 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4495 button = picture_button(rename_bud_dialog, _("Cancel"), cancel_xpm); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4496 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4497 gtk_signal_connect(GTK_OBJECT(button), "clicked", |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4498 GTK_SIGNAL_FUNC(destroy_dialog), rename_bud_dialog); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4499 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4500 button = picture_button(rename_bud_dialog, _("OK"), ok_xpm); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4501 gtk_object_set_user_data(GTK_OBJECT(button), b); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4502 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4503 gtk_signal_connect(GTK_OBJECT(button), "clicked", |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4504 GTK_SIGNAL_FUNC(do_rename_buddy), name_entry); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4505 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4506 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4507 gtk_widget_show_all(rename_bud_dialog); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
4508 } |
|
2370
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4509 |
|
2377
466b29d35b85
[gaim-migrate @ 2390]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
4510 #ifdef USE_PERL |
|
466b29d35b85
[gaim-migrate @ 2390]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
4511 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4512 static GtkWidget *perl_config = NULL; |
|
2370
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4513 static char *perl_last_dir = NULL; |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4514 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4515 static void cfdes(GtkWidget *m, gpointer n) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4516 { |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4517 if (perl_config) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4518 gtk_widget_destroy(perl_config); |
|
2370
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4519 perl_config = NULL; |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4520 } |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4521 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4522 static void do_load(GtkWidget *m, gpointer n) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4523 { |
|
2370
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4524 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
|
4525 gchar *f = NULL; |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4526 if (!file || !strlen(file)) { |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4527 return; |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4528 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4529 |
|
2370
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4530 if (file_is_dir(file, perl_config)) { |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4531 return; |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4532 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4533 |
|
2370
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4534 if (perl_last_dir) { |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4535 g_free(perl_last_dir); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4536 } |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4537 perl_last_dir = g_dirname(file); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4538 |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4539 debug_printf("Loading perl script: %s\n", file); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4540 |
|
2370
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4541 f = g_strdup(file); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4542 perl_load_file(f); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4543 g_free(f); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4544 cfdes(perl_config, NULL); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4545 } |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4546 |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4547 void load_perl_script() |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4548 { |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4549 char *buf, *temp; |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4550 |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4551 if (perl_config) { |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4552 gtk_widget_show(perl_config); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4553 gdk_window_raise(perl_config->window); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4554 return; |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4555 } |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4556 |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4557 /* Below is basically stolen from plugins.c */ |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4558 perl_config = gtk_file_selection_new(_("Gaim - Select Perl Script")); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4559 |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4560 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(perl_config)); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4561 |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4562 if (!perl_last_dir) { |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4563 temp = gaim_user_dir(); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4564 buf = g_strconcat(temp, G_DIR_SEPARATOR_S, NULL); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4565 } else { |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4566 buf = g_strconcat(perl_last_dir, G_DIR_SEPARATOR_S, NULL); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4567 } |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4568 |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4569 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
|
4570 gtk_file_selection_complete(GTK_FILE_SELECTION(perl_config), "*.pl"); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4571 gtk_signal_connect(GTK_OBJECT(perl_config), "destroy", GTK_SIGNAL_FUNC(cfdes), perl_config); |
|
2370
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4572 |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4573 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(perl_config)->ok_button), |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4574 "clicked", GTK_SIGNAL_FUNC(do_load), NULL); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4575 |
|
2370
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4576 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(perl_config)->cancel_button), |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
4577 "clicked", GTK_SIGNAL_FUNC(cfdes), NULL); |
|
2370
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4578 |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4579 g_free(buf); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4580 gtk_widget_show(perl_config); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4581 gdk_window_raise(perl_config->window); |
|
25e7c2a68ed2
[gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2344
diff
changeset
|
4582 } |
|
2377
466b29d35b85
[gaim-migrate @ 2390]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
4583 |
|
466b29d35b85
[gaim-migrate @ 2390]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
4584 #endif /* USE_PERL */ |
|
2379
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4585 |
| 3668 | 4586 GtkWidget *gaim_pixbuf_toolbar_button_from_stock(char *icon) |
| 4587 { | |
| 4588 GtkWidget *button, *image, *bbox; | |
| 4589 | |
| 4590 button = gtk_toggle_button_new(); | |
| 4591 gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); | |
| 4592 | |
| 4593 bbox = gtk_vbox_new(FALSE, 0); | |
| 4594 | |
| 4595 gtk_container_add (GTK_CONTAINER(button), bbox); | |
| 4596 | |
| 4597 image = gtk_image_new_from_stock(icon, GTK_ICON_SIZE_MENU); | |
| 4598 gtk_box_pack_start(GTK_BOX(bbox), image, FALSE, FALSE, 0); | |
| 4599 | |
| 4600 gtk_widget_show_all(bbox); | |
| 4601 return button; | |
| 4602 } | |
| 4603 | |
| 3671 | 4604 GtkWidget *gaim_pixbuf_toolbar_button_from_file(char *icon) |
| 4605 { | |
| 4606 GtkWidget *button, *image, *bbox; | |
| 4607 char *filename; | |
| 4608 | |
| 4609 if (!icon) | |
| 4610 return NULL; | |
| 4611 | |
| 4612 button = gtk_toggle_button_new(); | |
| 4613 gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); | |
| 4614 | |
| 4615 bbox = gtk_vbox_new(FALSE, 0); | |
| 4616 | |
| 4617 gtk_container_add (GTK_CONTAINER(button), bbox); | |
| 4618 | |
| 4619 filename = g_build_filename (DATADIR, "pixmaps", "gaim", "buttons", icon, NULL); | |
| 4620 debug_printf("Loading: %s\n", filename); | |
| 4621 image = gtk_image_new_from_file(filename); | |
| 4622 g_free(filename); | |
| 4623 | |
| 4624 gtk_box_pack_start(GTK_BOX(bbox), image, FALSE, FALSE, 0); | |
| 4625 | |
| 4626 gtk_widget_show_all(bbox); | |
| 4627 return button; | |
| 4628 } | |
| 4629 | |
| 4630 | |
| 3668 | 4631 GtkWidget *gaim_pixbuf_button_from_stock(char *text, char *icon, GaimButtonStyle style) |
| 4632 { | |
| 4633 GtkWidget *button, *image, *label, *bbox; | |
| 4634 button = gtk_button_new(); | |
| 4635 | |
| 4636 if (style == GAIM_BUTTON_HORIZONTAL) | |
| 4637 bbox = gtk_hbox_new(FALSE, 5); | |
| 4638 else | |
| 4639 bbox = gtk_vbox_new(FALSE, 0); | |
| 4640 | |
| 4641 gtk_container_add (GTK_CONTAINER(button), bbox); | |
| 4642 | |
| 4643 if (icon) { | |
| 4644 image = gtk_image_new_from_stock(icon, GTK_ICON_SIZE_BUTTON); | |
| 4645 gtk_box_pack_start(GTK_BOX(bbox), image, FALSE, FALSE, 0); | |
| 4646 } | |
| 4647 | |
| 4648 if (text) { | |
| 4649 label = gtk_label_new(NULL); | |
| 4650 gtk_label_set_text_with_mnemonic(GTK_LABEL(label), text); | |
| 4651 gtk_label_set_mnemonic_widget(GTK_LABEL(label), button); | |
| 4652 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0); | |
| 4653 } | |
| 4654 | |
| 4655 gtk_widget_show_all(bbox); | |
| 4656 return button; | |
| 4657 } | |
| 4658 | |
| 3649 | 4659 GtkWidget *gaim_pixbuf_button(char *text, char *iconfile, GaimButtonStyle style) |
| 3367 | 4660 { |
| 4661 GtkWidget *button, *image, *label, *bbox; | |
| 4662 button = gtk_button_new(); | |
| 3649 | 4663 |
| 4664 if (style == GAIM_BUTTON_HORIZONTAL) | |
| 4665 bbox = gtk_hbox_new(FALSE, 5); | |
| 4666 else | |
| 4667 bbox = gtk_vbox_new(FALSE, 0); | |
| 4668 | |
| 3367 | 4669 gtk_container_add (GTK_CONTAINER(button), bbox); |
| 3649 | 4670 |
| 3367 | 4671 if (iconfile) { |
| 4672 char *filename; | |
| 4673 filename = g_build_filename (DATADIR, "pixmaps", "gaim", "buttons", iconfile, NULL); | |
| 4674 debug_printf("Loading: %s\n", filename); | |
| 4675 image = gtk_image_new_from_file(filename); | |
| 4676 gtk_box_pack_start(GTK_BOX(bbox), image, FALSE, FALSE, 0); | |
| 4677 g_free(filename); | |
| 4678 } | |
| 3649 | 4679 |
| 3367 | 4680 if (text) { |
| 4681 label = gtk_label_new(NULL); | |
| 4682 gtk_label_set_text_with_mnemonic(GTK_LABEL(label), text); | |
| 4683 gtk_label_set_mnemonic_widget(GTK_LABEL(label), button); | |
| 4684 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0); | |
| 4685 } | |
| 4686 gtk_widget_show_all(bbox); | |
| 4687 return button; | |
| 4688 } | |
| 3427 | 4689 |
|
2379
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4690 GtkWidget *picture_button(GtkWidget *window, char *text, char **xpm) |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4691 { |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4692 GtkWidget *button; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4693 GtkWidget *button_box, *button_box_2, *button_box_3; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4694 GtkWidget *label; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4695 GdkBitmap *mask; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4696 GdkPixmap *pm; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4697 GtkWidget *pixmap; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4698 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4699 button = gtk_button_new(); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4700 if (misc_options & OPT_MISC_COOL_LOOK) |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4701 gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4702 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4703 button_box = gtk_hbox_new(FALSE, 5); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4704 gtk_container_add(GTK_CONTAINER(button), button_box); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4705 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4706 button_box_2 = gtk_hbox_new(FALSE, 0); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4707 button_box_3 = gtk_hbox_new(FALSE, 0); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4708 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
|
4709 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
|
4710 pm = gdk_pixmap_create_from_xpm_d(window->window, &mask, NULL, xpm); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4711 pixmap = gtk_pixmap_new(pm, mask); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4712 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
|
4713 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4714 if (text) { |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4715 label = gtk_label_new(text); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4716 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
|
4717 gtk_widget_show(label); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4718 } |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4719 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4720 gtk_widget_show(pixmap); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4721 gtk_widget_show(button_box_2); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4722 gtk_widget_show(button_box_3); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4723 gtk_widget_show(button_box); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4724 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4725 /* this causes clipping on lots of buttons with long text */ |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4726 /* gtk_widget_set_usize(button, 75, 30);*/ |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4727 gtk_widget_show(button); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4728 gdk_pixmap_unref(pm); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4729 gdk_bitmap_unref(mask); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4730 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4731 return button; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4732 } |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4733 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4734 static GtkTooltips *button_tips = NULL; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4735 GtkWidget *picture_button2(GtkWidget *window, char *text, char **xpm, short dispstyle) |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4736 { |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4737 GtkWidget *button; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4738 GtkWidget *button_box, *button_box_2; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4739 GdkBitmap *mask; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4740 GdkPixmap *pm; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4741 GtkWidget *pixmap; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4742 GtkWidget *label; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4743 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4744 if (!button_tips) |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4745 button_tips = gtk_tooltips_new(); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4746 button = gtk_button_new(); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4747 if (misc_options & OPT_MISC_COOL_LOOK) |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4748 gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4749 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4750 button_box = gtk_hbox_new(FALSE, 0); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4751 gtk_container_add(GTK_CONTAINER(button), button_box); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4752 |
| 3320 | 4753 button_box_2 = gtk_vbox_new(FALSE, 0); |
| 4754 | |
| 4755 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
|
4756 gtk_widget_show(button_box_2); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4757 gtk_widget_show(button_box); |
| 3327 | 4758 if (dispstyle == 2 || dispstyle == 0) { |
| 4759 pm = gdk_pixmap_create_from_xpm_d(window->window, &mask, NULL, xpm); | |
| 4760 pixmap = gtk_pixmap_new(pm, mask); | |
| 4761 gtk_box_pack_start(GTK_BOX(button_box_2), pixmap, FALSE, FALSE, 0); | |
| 4762 | |
| 4763 gtk_widget_show(pixmap); | |
| 4764 | |
| 4765 gdk_pixmap_unref(pm); | |
| 4766 gdk_bitmap_unref(mask); | |
| 4767 } | |
| 4768 | |
| 4769 if (dispstyle == 2 || dispstyle == 1) { | |
| 4770 label = gtk_label_new(text); | |
| 4771 gtk_widget_show(label); | |
| 4772 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
|
4773 } |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4774 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4775 gtk_tooltips_set_tip(button_tips, button, text, "Gaim"); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4776 gtk_widget_show(button); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4777 return button; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4778 } |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4779 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4780 int file_is_dir(const char *path, GtkWidget *w) |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4781 { |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4782 struct stat st; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4783 char *name; |
|
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 (stat(path, &st) == 0 && S_ISDIR(st.st_mode)) { |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4786 /* append a / if needed */ |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4787 if (path[strlen(path) - 1] != '/') { |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4788 name = g_strconcat(path, "/", NULL); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4789 } else { |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4790 name = g_strdup(path); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4791 } |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4792 gtk_file_selection_set_filename(GTK_FILE_SELECTION(w), name); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4793 g_free(name); |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4794 return 1; |
|
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 |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4797 return 0; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
4798 } |
| 2956 | 4799 |
| 4800 /*------------------------------------------------------------------------*/ | |
| 4801 /* The dialog for setting V-Card info */ | |
| 4802 /*------------------------------------------------------------------------*/ | |
| 4803 /* | |
| 4804 * There are actually two "chunks" of code following: generic "multi-entry dialog" | |
| 4805 * support and V-Card dialog specific support. | |
| 4806 * | |
| 4807 * At first blush, this may seem like an unnecessary duplication of effort given | |
| 4808 * that a "set dir info" dialog already exists. However, this is not so because: | |
| 4809 * | |
| 4810 * 1. V-Cards can have a lot more data in them than what the current | |
| 4811 * "set dir" dialog supports. | |
| 4812 * | |
| 4813 * 2. V-Card data, at least with respect to Jabber, is currently in a | |
| 4814 * state of flux. As the data and format changes, all that need be | |
| 4815 * changed with the V-Card support I've written is the "template" | |
| 4816 * data. | |
| 4817 * | |
| 4818 * 3. The "multi entry dialog" support itself was originally written | |
| 4819 * to support Jabber server user registration (TBD). A "dynamically | |
| 4820 * configurable" multi-entry dialog is needed for that, as different | |
| 4821 * servers may require different registration information. It just | |
| 4822 * turned out to be well-suited to adding V-Card setting support, as | |
| 4823 * well :-). | |
| 4824 * | |
| 4825 * TBD: Add check-box support to the generic multi-entry dialog support so that | |
| 4826 * it can be used to "replace" the "set dir info" support? | |
| 4827 * | |
| 4828 * Multiple-language support. Currently Not In There. I think this should | |
| 4829 * be easy. Note that when it's added: if anybody saved their data in | |
| 4830 * English, it'll be lost when MLS is added and they'll have to re-enter it. | |
| 4831 * | |
| 4832 * More "TBDs" noted in the code. | |
| 4833 */ | |
| 4834 | |
| 4835 | |
| 4836 /*------------------------------------*/ | |
| 4837 /* generic multi-entry dialog support */ | |
| 4838 /*------------------------------------*/ | |
| 4839 | |
| 4840 /* | |
| 4841 * Print all multi-entry items | |
| 4842 * | |
| 4843 * Note: Simply a debug helper | |
| 4844 */ | |
| 4845 void multi_entry_item_print_all(const GSList *list) { | |
| 4846 | |
| 4847 int cnt = 0; | |
| 4848 | |
| 4849 /* While there's something to print... */ | |
| 4850 while(list != NULL) { | |
| 4851 fprintf(stderr, "label %2d: \"%s\"", ++cnt, ((MultiEntryData *) (list->data))->label); | |
| 4852 if(((MultiEntryData *) (list->data))->text != NULL) { | |
| 4853 fprintf(stderr, ", text: \"%s\"", ((MultiEntryData *) (list->data))->text); | |
| 4854 } | |
| 4855 fputs("\n", stderr); | |
| 4856 list = list->next; | |
| 4857 } | |
| 4858 } | |
| 4859 | |
| 4860 /* | |
| 4861 * Print all multi-text items | |
| 4862 * | |
| 4863 * Note: Simply a debug helper | |
| 4864 */ | |
| 4865 void multi_text_item_print_all(const GSList *list) { | |
| 4866 | |
| 4867 int cnt = 0; | |
| 4868 | |
| 4869 /* While there's something to print... */ | |
| 4870 while(list != NULL) { | |
| 4871 fprintf(stderr, "label %2d: \"%s\"", ++cnt, ((MultiTextData *) (list->data))->label); | |
| 4872 if(((MultiTextData *) (list->data))->text != NULL) { | |
| 4873 fprintf(stderr, ", text: \"%s\"", ((MultiTextData *) (list->data))->text); | |
| 4874 } | |
| 4875 fputs("\n", stderr); | |
| 4876 list = list->next; | |
| 4877 } | |
| 4878 } | |
| 4879 | |
| 4880 | |
| 4881 /* | |
| 4882 * Free all multi-entry item allocs and NULL the list pointer | |
| 4883 */ | |
| 4884 void multi_entry_items_free_all(GSList **list) | |
| 4885 { | |
| 4886 | |
| 4887 GSList *next = *list; | |
| 4888 MultiEntryData *data; | |
| 4889 | |
| 4890 /* While there's something to free() ... */ | |
| 4891 while(next != NULL) { | |
| 4892 data = (MultiEntryData *) next->data; | |
| 4893 g_free(data->label); | |
| 4894 g_free(data->text); | |
| 4895 g_free(data); | |
| 4896 next = next->next; | |
| 4897 } | |
| 4898 g_slist_free(*list); | |
| 4899 *list = NULL; | |
| 4900 } | |
| 4901 | |
| 4902 /* | |
| 4903 * Free all multi-text item allocs and NULL the list pointer | |
| 4904 */ | |
| 4905 void multi_text_items_free_all(GSList **list) | |
| 4906 { | |
| 4907 | |
| 4908 GSList *next = *list; | |
| 4909 MultiTextData *data; | |
| 4910 | |
| 4911 /* While there's something to free() ... */ | |
| 4912 while(next != NULL) { | |
| 4913 data = (MultiTextData *) next->data; | |
| 4914 g_free(data->label); | |
| 4915 g_free(data->text); | |
| 4916 g_free(data); | |
| 4917 next = next->next; | |
| 4918 } | |
| 4919 g_slist_free(*list); | |
| 4920 *list = NULL; | |
| 4921 } | |
| 4922 | |
| 4923 /* | |
| 4924 * See if a MultiEntryData item contains a given label | |
| 4925 * | |
| 4926 * See: glib docs for g_slist_compare_custom() for details | |
| 4927 */ | |
| 4928 static gint multi_entry_data_label_compare(gconstpointer data, gconstpointer label) | |
| 4929 { | |
| 4930 return(strcmp(((MultiEntryData *) (data))->label, (char *) label)); | |
| 4931 } | |
| 4932 | |
| 4933 /* | |
| 4934 * Add a new multi-entry item to list | |
| 4935 * | |
| 4936 * If adding to existing list: will search the list for existence of | |
| 4937 * "label" and change/create "text" entry if necessary. | |
| 4938 */ | |
| 4939 | |
| 4940 MultiEntryData *multi_entry_list_update(GSList **list, const char *label, const char *text, int add_it) | |
| 4941 { | |
| 4942 GSList *found; | |
| 4943 MultiEntryData *data; | |
| 4944 | |
| 2975 | 4945 if((found = g_slist_find_custom(*list, (void *)label, multi_entry_data_label_compare)) == NULL) { |
| 2956 | 4946 if(add_it) { |
| 4947 data = (MultiEntryData *) g_slist_last(*list = | |
| 4948 g_slist_append(*list, g_malloc(sizeof(MultiEntryData))))->data; | |
| 4949 data->label = strcpy(g_malloc(strlen(label) +1), label); | |
| 4950 data->text = NULL; | |
| 4951 /* | |
| 4952 * default to setting "visible" and editable to TRUE - they can be | |
| 4953 * overridden later, of course. | |
| 4954 */ | |
| 4955 data->visible = TRUE; | |
| 4956 data->editable = TRUE; | |
| 4957 } else { | |
| 4958 data = NULL; | |
| 4959 } | |
| 4960 } else { | |
| 4961 data = found->data; | |
| 4962 } | |
| 4963 | |
| 4964 if(data != NULL && text != NULL && text[0] != '\0') { | |
| 4965 if(data->text == NULL) { | |
| 4966 data->text = g_malloc(strlen(text) + 1); | |
| 4967 } else { | |
| 4968 data->text = g_realloc(data->text, strlen(text) + 1); | |
| 4969 } | |
| 4970 strcpy(data->text, text); | |
| 4971 } | |
| 4972 | |
| 4973 return(data); | |
| 4974 } | |
| 4975 | |
| 4976 /* | |
| 4977 * See if a MultiTextData item contains a given label | |
| 4978 * | |
| 4979 * See: glib docs for g_slist_compare_custom() for details | |
| 4980 */ | |
| 4981 static gint multi_text_data_label_compare(gconstpointer data, gconstpointer label) | |
| 4982 { | |
| 4983 return(strcmp(((MultiTextData *) (data))->label, (char *) label)); | |
| 4984 } | |
| 4985 | |
| 4986 /* | |
| 4987 * Add a new multi-text item to list | |
| 4988 * | |
| 4989 * If adding to existing list: will search the list for existence of | |
| 4990 * "label" and change/create "text" text if necessary. | |
| 4991 */ | |
| 4992 | |
| 4993 MultiTextData *multi_text_list_update(GSList **list, const char *label, const char *text, int add_it) | |
| 4994 { | |
| 4995 GSList *found; | |
| 4996 MultiTextData *data; | |
| 4997 | |
| 2975 | 4998 if((found = g_slist_find_custom(*list, (void *)label, multi_text_data_label_compare)) == NULL) { |
| 2956 | 4999 if(add_it) { |
| 5000 data = (MultiTextData *) g_slist_last(*list = | |
| 5001 g_slist_append(*list, g_malloc(sizeof(MultiTextData))))->data; | |
| 5002 data->label = strcpy(g_malloc(strlen(label) +1), label); | |
| 5003 data->text = NULL; | |
| 5004 } else { | |
| 5005 data = NULL; | |
| 5006 } | |
| 5007 } else { | |
| 5008 data = found->data; | |
| 5009 } | |
| 5010 | |
| 5011 if(data != NULL && text != NULL && text[0] != '\0') { | |
| 5012 if(data->text == NULL) { | |
| 5013 data->text = g_malloc(strlen(text) + 1); | |
| 5014 } else { | |
| 5015 data->text = g_realloc(data->text, strlen(text) + 1); | |
| 5016 } | |
| 5017 strcpy(data->text, text); | |
| 5018 } | |
| 5019 | |
| 5020 return(data); | |
| 5021 } | |
| 5022 | |
| 5023 /* | |
| 5024 * Free-up the multi-entry item list and the MultiEntryDlg | |
| 5025 * struct alloc. | |
| 5026 */ | |
| 5027 void multi_entry_free(struct multi_entry_dlg *b) | |
| 5028 { | |
| 5029 multi_entry_items_free_all(&(b->multi_entry_items)); | |
| 5030 multi_text_items_free_all(&(b->multi_text_items)); | |
| 5031 g_free(b->instructions->text); | |
| 5032 g_free(b->instructions); | |
| 2975 | 5033 g_free(b->entries_title); |
| 2956 | 5034 g_free(b); |
| 5035 } | |
| 5036 | |
| 5037 /* | |
| 5038 * Multi-Entry dialog "destroyed" catcher | |
| 5039 * | |
| 5040 * Free-up the multi-entry item list, destroy the dialog widget | |
| 5041 * and free the MultiEntryDlg struct alloc. | |
| 5042 * | |
| 5043 */ | |
| 5044 void multi_entry_dialog_destroy(GtkWidget *widget, gpointer data) | |
| 5045 { | |
| 5046 MultiEntryDlg *b = data; | |
| 5047 | |
| 5048 multi_entry_free(b); | |
| 5049 } | |
| 5050 | |
| 5051 /* | |
| 5052 * Show/Re-show instructions | |
| 5053 */ | |
| 5054 void re_show_multi_entry_instr(MultiInstrData *instructions) | |
| 5055 { | |
| 5056 if(instructions->label != NULL) { | |
| 5057 if(instructions->text == NULL) { | |
| 5058 gtk_widget_hide(instructions->label); | |
| 5059 } else { | |
| 5060 gtk_label_set_text(GTK_LABEL (instructions->label), instructions->text); | |
| 5061 gtk_widget_show(instructions->label); | |
| 5062 } | |
| 5063 } | |
| 5064 } | |
| 5065 | |
| 5066 /* | |
| 5067 * Show/Re-show entry boxes | |
| 5068 */ | |
| 5069 void re_show_multi_entry_entries(GtkWidget **entries_table, | |
| 5070 GtkWidget *entries_frame, | |
| 5071 GSList *multi_entry_items) | |
| 5072 { | |
| 5073 GtkWidget *label; | |
| 5074 GSList *multi_entry; | |
| 5075 MultiEntryData *med; | |
| 2975 | 5076 int rows, row_num, col_num, col_offset; |
| 5077 int cols = 1; | |
| 2956 | 5078 |
| 5079 /* Figure-out number of rows needed for table */ | |
| 2975 | 5080 if((rows = g_slist_length(multi_entry_items)) > 9) { |
| 5081 rows /= 2; | |
| 5082 ++cols; | |
| 5083 } | |
| 2956 | 5084 |
| 5085 if(*entries_table != NULL) { | |
| 5086 gtk_widget_destroy(GTK_WIDGET (*entries_table)); | |
| 5087 } | |
| 2975 | 5088 *entries_table = gtk_table_new(rows, 3 * cols, FALSE); |
| 2956 | 5089 gtk_container_add(GTK_CONTAINER (entries_frame), *entries_table); |
| 5090 | |
| 2975 | 5091 for(col_num = 0, multi_entry = multi_entry_items; col_num < cols && multi_entry != NULL; |
| 5092 ++col_num) { | |
| 5093 col_offset = col_num * 3; | |
| 5094 for(row_num = 0; row_num < rows && multi_entry != NULL; | |
| 5095 ++row_num, multi_entry = multi_entry->next) { | |
| 5096 | |
| 5097 med = (MultiEntryData *) multi_entry->data; | |
| 5098 | |
| 5099 label = gtk_label_new(med->label); | |
| 5100 gtk_misc_set_alignment(GTK_MISC(label), (gfloat) 1.0, (gfloat) 0.5); | |
| 5101 gtk_table_attach_defaults(GTK_TABLE (*entries_table), label, | |
| 5102 col_offset, 1 + col_offset, row_num, row_num +1); | |
| 5103 gtk_widget_show(label); | |
| 5104 | |
| 5105 label = gtk_label_new(": "); | |
| 5106 gtk_misc_set_alignment(GTK_MISC(label), (gfloat) 0.0, (gfloat) 0.5); | |
| 5107 gtk_table_attach_defaults(GTK_TABLE (*entries_table), label, | |
| 5108 1 + col_offset, 2 + col_offset, row_num, row_num +1); | |
| 5109 gtk_widget_show(label); | |
| 5110 | |
| 5111 med->widget = gtk_entry_new_with_max_length(50); | |
| 5112 if(med->text != NULL) { | |
| 5113 gtk_entry_set_text(GTK_ENTRY (med->widget), med->text); | |
| 5114 } | |
| 5115 gtk_entry_set_visibility(GTK_ENTRY (med->widget), med->visible); | |
| 5116 gtk_entry_set_editable(GTK_ENTRY (med->widget), med->editable); | |
| 5117 gtk_table_attach(GTK_TABLE (*entries_table), med->widget, | |
| 5118 2 + col_offset, 3 + col_offset, row_num, row_num +1, | |
| 5119 GTK_FILL|GTK_EXPAND, GTK_FILL|GTK_EXPAND, 5, 0); | |
| 5120 gtk_widget_show(med->widget); | |
| 2956 | 5121 } |
| 5122 } | |
| 5123 | |
| 5124 gtk_widget_show(*entries_table); | |
| 5125 } | |
| 5126 | |
| 5127 /* | |
| 5128 * Show/Re-show textboxes | |
| 5129 */ | |
| 5130 void re_show_multi_entry_textboxes(GtkWidget **texts_ibox, | |
| 5131 GtkWidget *texts_obox, | |
| 5132 GSList *multi_text_items) | |
| 5133 { | |
| 5134 GSList *multi_text; | |
| 5135 MultiTextData *mtd; | |
| 5136 GtkWidget *frame; | |
| 5137 GtkWidget *hbox; | |
| 5138 GtkWidget *vscrollbar; | |
| 5139 | |
| 5140 if(*texts_ibox != NULL) { | |
| 5141 gtk_widget_destroy(GTK_WIDGET (*texts_ibox)); | |
| 5142 } | |
| 5143 *texts_ibox = gtk_vbox_new(FALSE, 5); | |
| 5144 gtk_container_add(GTK_CONTAINER (texts_obox), *texts_ibox); | |
| 5145 | |
| 5146 for(multi_text = multi_text_items; multi_text != NULL; multi_text = multi_text->next) { | |
| 5147 mtd = (MultiTextData *) multi_text->data; | |
| 5148 frame = gtk_frame_new(mtd->label); | |
| 5149 gtk_container_add(GTK_CONTAINER (*texts_ibox), frame); | |
| 5150 hbox = gtk_hbox_new(FALSE, 0); | |
| 5151 gtk_container_add(GTK_CONTAINER (frame), hbox); | |
| 5152 mtd->textbox = gtk_text_new(NULL, NULL); | |
| 5153 gtk_text_set_editable(GTK_TEXT(mtd->textbox), TRUE); | |
| 5154 gtk_text_set_word_wrap(GTK_TEXT(mtd->textbox), TRUE); | |
| 5155 gtk_widget_set_usize(mtd->textbox, 300, 100); | |
| 3542 | 5156 gtk_text_insert(GTK_TEXT(mtd->textbox), NULL, NULL, NULL, mtd->text?mtd->text:"", -1); |
| 2956 | 5157 gtk_box_pack_start(GTK_BOX (hbox), mtd->textbox, FALSE, FALSE, 0); |
| 5158 vscrollbar = gtk_vscrollbar_new (GTK_TEXT(mtd->textbox)->vadj); | |
| 5159 gtk_box_pack_start(GTK_BOX (hbox), vscrollbar, FALSE, FALSE, 0); | |
| 5160 gtk_widget_show(mtd->textbox); | |
| 5161 gtk_widget_show (vscrollbar); | |
| 5162 gtk_widget_show(hbox); | |
| 5163 gtk_widget_show(frame); | |
| 5164 } | |
| 5165 | |
| 5166 gtk_widget_show(*texts_ibox); | |
| 5167 } | |
| 5168 | |
| 5169 /* | |
| 5170 * Create and initialize a new Multi-Entry Dialog struct | |
| 5171 */ | |
| 5172 MultiEntryDlg *multi_entry_dialog_new() | |
| 5173 { | |
| 5174 MultiEntryDlg *b = g_new0(MultiEntryDlg, 1); | |
| 5175 b->instructions = g_new0(MultiInstrData, 1); | |
| 5176 b->multi_entry_items = NULL; | |
| 5177 b->multi_text_items = NULL; | |
| 5178 return(b); | |
| 5179 } | |
| 5180 | |
| 5181 /* | |
| 5182 * Instantiate a new multi-entry dialog | |
| 5183 * | |
| 5184 * data == pointer to MultiEntryDlg with the following | |
| 5185 * initialized: | |
| 5186 * | |
| 5187 * wmclass_name | |
| 5188 * wmclass_class | |
| 5189 * title | |
| 5190 * user | |
| 5191 * multi_entry_items - pointers to MultiEntryData list | |
| 5192 * and MultiTextData list | |
| 5193 * instructions (optional) | |
| 5194 * ok function pointer | |
| 5195 * cancel function pointer (actually used to set | |
| 5196 * window destroy signal--cancel asserts destroy) | |
| 5197 * | |
| 5198 * sets the following in the MultiEntryDialog struct: | |
| 5199 * | |
| 5200 * window | |
| 5201 */ | |
| 5202 void show_multi_entry_dialog(gpointer data) | |
| 5203 { | |
| 5204 GtkWidget *vbox, *hbox; | |
| 5205 GtkWidget *button; | |
| 5206 MultiEntryDlg *b = data; | |
| 5207 | |
| 5208 GAIM_DIALOG(b->window); | |
| 2969 | 5209 gtk_container_set_border_width(GTK_CONTAINER(b->window), 5); |
| 2956 | 5210 gtk_window_set_wmclass(GTK_WINDOW(b->window), b->wmclass_name, b->wmclass_class); |
| 5211 gtk_window_set_title(GTK_WINDOW (b->window), b->title); | |
| 2969 | 5212 |
| 2956 | 5213 /* Clean up if user dismisses window via window manager! */ |
| 5214 gtk_signal_connect(GTK_OBJECT(b->window), "destroy", GTK_SIGNAL_FUNC(b->cancel), (gpointer) b); | |
| 5215 gtk_widget_realize(b->window); | |
| 5216 | |
| 5217 vbox = gtk_vbox_new(FALSE, 5); | |
| 5218 gtk_container_add(GTK_CONTAINER (b->window), vbox); | |
| 5219 | |
| 5220 b->instructions->label = gtk_label_new(NULL); | |
| 5221 gtk_label_set_line_wrap(GTK_LABEL (b->instructions->label), TRUE); | |
| 5222 gtk_box_pack_start(GTK_BOX (vbox), b->instructions->label, TRUE, TRUE, 5); | |
| 5223 re_show_multi_entry_instr(b->instructions); | |
| 5224 | |
| 2975 | 5225 b->entries_frame = gtk_frame_new(b->entries_title); |
| 2956 | 5226 gtk_box_pack_start(GTK_BOX (vbox), b->entries_frame, TRUE, TRUE, 5); |
| 5227 gtk_widget_show(b->entries_frame); | |
| 5228 b->entries_table = NULL; | |
| 5229 re_show_multi_entry_entries(&(b->entries_table), b->entries_frame, b->multi_entry_items); | |
| 5230 | |
| 5231 b->texts_obox = gtk_vbox_new(FALSE, 0); | |
| 2969 | 5232 gtk_box_pack_start(GTK_BOX (vbox), b->texts_obox, TRUE, TRUE, 5); |
| 2956 | 5233 gtk_widget_show(b->texts_obox); |
| 5234 b->texts_ibox = NULL; | |
| 5235 re_show_multi_entry_textboxes(&(b->texts_ibox), b->texts_obox, b->multi_text_items); | |
| 5236 | |
| 5237 hbox = gtk_hbox_new(FALSE, 0); | |
| 2969 | 5238 gtk_box_pack_start(GTK_BOX (vbox), hbox, FALSE, FALSE, 5); |
| 2956 | 5239 gtk_widget_show(hbox); |
| 5240 | |
| 5241 button = picture_button(b->window, _("Cancel"), cancel_xpm); | |
| 2969 | 5242 |
| 2956 | 5243 /* Let "destroy handling" (set above) handle cleanup */ |
| 5244 gtk_signal_connect_object(GTK_OBJECT (button), "clicked", | |
| 5245 GTK_SIGNAL_FUNC (gtk_widget_destroy), GTK_OBJECT (b->window)); | |
| 2969 | 5246 gtk_box_pack_end(GTK_BOX (hbox), button, FALSE, FALSE, 5); |
| 2956 | 5247 gtk_widget_show(button); |
| 5248 | |
| 5249 button = picture_button(b->window, _("Save"), save_xpm); | |
| 5250 gtk_signal_connect(GTK_OBJECT (button), "clicked", | |
| 5251 GTK_SIGNAL_FUNC (b->ok), (gpointer) b); | |
| 2969 | 5252 gtk_box_pack_end(GTK_BOX (hbox), button, FALSE, FALSE, 5); |
| 2956 | 5253 gtk_widget_show(button); |
| 5254 | |
| 5255 gtk_widget_show(vbox); | |
| 5256 gtk_widget_show(b->window); | |
| 5257 } | |
| 5258 | |
| 5259 | |
| 5260 /*------------------------------------*/ | |
| 5261 /* V-Card dialog specific support */ | |
| 5262 /*------------------------------------*/ | |
| 5263 | |
| 5264 /* | |
| 5265 * V-Card "set info" dialog "Save" clicked | |
| 5266 * | |
| 5267 * Copy data from GTK+ dialogs into GSLists, call protocol-specific | |
| 5268 * formatter and save the user info data. | |
| 5269 */ | |
| 5270 void set_vcard_dialog_ok_clicked(GtkWidget *widget, gpointer data) | |
| 5271 { | |
| 5272 MultiEntryDlg *b = (MultiEntryDlg *) data; | |
| 5273 struct gaim_connection *gc; | |
| 5274 gchar *tmp; | |
| 5275 GSList *list; | |
| 5276 | |
| 5277 for(list = b->multi_entry_items; list != NULL; list = list->next) { | |
| 5278 if(((MultiEntryData *) list->data)->text != NULL) { | |
| 5279 g_free(((MultiEntryData *) list->data)->text); | |
| 5280 } | |
| 5281 ((MultiEntryData *) list->data)->text = | |
| 5282 g_strdup(gtk_entry_get_text(GTK_ENTRY(((MultiEntryData *) list->data)->widget))); | |
| 5283 } | |
| 5284 | |
| 5285 for(list = b->multi_text_items; list != NULL; list = list->next) { | |
| 5286 if(((MultiTextData *) list->data)->text != NULL) { | |
| 5287 g_free(((MultiTextData *) list->data)->text); | |
| 5288 } | |
| 5289 ((MultiTextData *) list->data)->text = | |
| 5290 gtk_editable_get_chars((GtkEditable *) (((MultiTextData *) list->data)->textbox), | |
| 5291 0, -1); | |
| 5292 } | |
| 5293 | |
| 5294 | |
| 5295 tmp = b->custom(b); | |
| 5296 | |
| 5297 /* | |
| 5298 * Set the user info and (possibly) send to the server | |
| 5299 */ | |
| 5300 if (b->user) { | |
| 5301 strncpy(b->user->user_info, tmp, sizeof b->user->user_info); | |
| 5302 gc = b->user->gc; | |
| 5303 | |
| 5304 save_prefs(); | |
| 5305 | |
| 5306 if (gc) | |
| 5307 serv_set_info(gc, b->user->user_info); | |
| 5308 } | |
| 5309 | |
| 5310 g_free(tmp); | |
| 5311 | |
| 5312 /* Let multi-edit dialog window "destroy" event catching handle remaining cleanup */ | |
| 5313 gtk_widget_destroy(GTK_WIDGET (b->window)); | |
| 5314 } | |
| 5315 | |
| 5316 /* | |
| 5317 * Instantiate a v-card dialog | |
| 5318 */ | |
| 5319 void show_set_vcard(MultiEntryDlg *b) | |
| 5320 { | |
| 5321 b->ok = set_vcard_dialog_ok_clicked; | |
| 5322 b->cancel = multi_entry_dialog_destroy; | |
| 5323 | |
| 5324 show_multi_entry_dialog(b); | |
| 5325 } | |
| 5326 | |
| 5327 | |
| 5328 /*------------------------------------------------------------------------*/ | |
| 5329 /* End dialog for setting v-card info */ | |
| 5330 /*------------------------------------------------------------------------*/ | |
| 5331 |
