annotate src/dialogs.c @ 4198:c46c977cfc9e

[gaim-migrate @ 4429] Alex Converse (alex4) writes: "Changes all occurences of gtk_color_selection_set_color to gtk_color_selection_set_current_color in dialogs.c and removes some nasty code required to get the former to work." this looks like it changes the bug wherein the color selection dialogs have a random color selected when you open them instead of the current color. committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Sat, 04 Jan 2003 15:05:15 +0000
parents e6810f691393
children 511c2b63caa4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1 /*
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2 * gaim
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3 *
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
4 * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net>
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
5 *
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
6 * This program is free software; you can redistribute it and/or modify
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
7 * it under the terms of the GNU General Public License as published by
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
8 * the Free Software Foundation; either version 2 of the License, or
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
9 * (at your option) any later version.
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
10 *
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
11 * This program is distributed in the hope that it will be useful,
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
14 * GNU General Public License for more details.
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
15 *
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
16 * You should have received a copy of the GNU General Public License
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
17 * along with this program; if not, write to the Free Software
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
19 *
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
20 */
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
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
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
25 #include <string.h>
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
26 #include <stdio.h>
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
27 #include <stdlib.h>
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
28 #include <sys/types.h>
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
29 #include <sys/stat.h>
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
30 #include <fcntl.h>
967
17ff662183b2 [gaim-migrate @ 977]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 960
diff changeset
31 #include <ctype.h>
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3572
diff changeset
32
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3572
diff changeset
33 #ifdef _WIN32
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3572
diff changeset
34 #include <winsock.h>
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3572
diff changeset
35 #else
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
36 #include <sys/socket.h>
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3572
diff changeset
37 #include <time.h>
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
38 #include <netdb.h>
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
39 #include <netinet/in.h>
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
40 #include <unistd.h>
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
41 #include <arpa/inet.h>
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3572
diff changeset
42 #endif
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3572
diff changeset
43
1488
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
44 #include <errno.h>
3048
e729c064bc1b [gaim-migrate @ 3061]
Sean Egan <seanegan@gmail.com>
parents: 3043
diff changeset
45 #include <math.h>
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
46
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
47 #include <gtk/gtk.h>
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
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
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
51
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3572
diff changeset
52 #ifdef _WIN32
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3572
diff changeset
53 #include "win32dep.h"
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3572
diff changeset
54 #endif
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3572
diff changeset
55
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
56 #include "pixmaps/gnome_preferences.xpm"
441
995b0fc981a3 [gaim-migrate @ 451]
Rob Flynn <gaim@robflynn.com>
parents: 440
diff changeset
57 #include "pixmaps/cancel.xpm"
995b0fc981a3 [gaim-migrate @ 451]
Rob Flynn <gaim@robflynn.com>
parents: 440
diff changeset
58 #include "pixmaps/save.xpm"
443
a86882c351f0 [gaim-migrate @ 453]
Rob Flynn <gaim@robflynn.com>
parents: 442
diff changeset
59 #include "pixmaps/ok.xpm"
459
fb1d671e168e [gaim-migrate @ 469]
Rob Flynn <gaim@robflynn.com>
parents: 458
diff changeset
60 #include "pixmaps/add.xpm"
1488
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
61 #include "pixmaps/close.xpm"
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
62 #include "pixmaps/gnome_add.xpm"
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
63 #include "pixmaps/gnome_remove.xpm"
441
995b0fc981a3 [gaim-migrate @ 451]
Rob Flynn <gaim@robflynn.com>
parents: 440
diff changeset
64
3490
16f4776742af [gaim-migrate @ 3547]
Rob Flynn <gaim@robflynn.com>
parents: 3484
diff changeset
65 #include "pixmaps/protocols/oscar/aol_icon.xpm"
16f4776742af [gaim-migrate @ 3547]
Rob Flynn <gaim@robflynn.com>
parents: 3484
diff changeset
66 #include "pixmaps/protocols/oscar/free_icon.xpm"
16f4776742af [gaim-migrate @ 3547]
Rob Flynn <gaim@robflynn.com>
parents: 3484
diff changeset
67 #include "pixmaps/protocols/oscar/dt_icon.xpm"
16f4776742af [gaim-migrate @ 3547]
Rob Flynn <gaim@robflynn.com>
parents: 3484
diff changeset
68 #include "pixmaps/protocols/oscar/admin_icon.xpm"
16f4776742af [gaim-migrate @ 3547]
Rob Flynn <gaim@robflynn.com>
parents: 3484
diff changeset
69 #include "pixmaps/protocols/oscar/ab.xpm"
16f4776742af [gaim-migrate @ 3547]
Rob Flynn <gaim@robflynn.com>
parents: 3484
diff changeset
70 #include "pixmaps/protocols/oscar/wireless_icon.xpm"
16f4776742af [gaim-migrate @ 3547]
Rob Flynn <gaim@robflynn.com>
parents: 3484
diff changeset
71 #include "pixmaps/protocols/oscar/gnomeicu-online.xpm"
1428
00b3d02a2168 [gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1399
diff changeset
72
1035
80a47e3b1bca [gaim-migrate @ 1045]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1032
diff changeset
73 #define PATHSIZE 1024
80a47e3b1bca [gaim-migrate @ 1045]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1032
diff changeset
74
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
75 int smiley_array[FACE_TOTAL];
3035
0f1766887ddd [gaim-migrate @ 3048]
Rob Flynn <gaim@robflynn.com>
parents: 2996
diff changeset
76 char *current_smiley;
728
a509d6fad0de [gaim-migrate @ 738]
Todd Kulesza <fflewddur>
parents: 717
diff changeset
77 GdkColor bgcolor;
a509d6fad0de [gaim-migrate @ 738]
Todd Kulesza <fflewddur>
parents: 717
diff changeset
78 GdkColor fgcolor;
230
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
79
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
80 static GtkWidget *imdialog = NULL; /*I only want ONE of these :) */
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
81 static GList *dialogwindows = NULL;
2493
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
82 static GtkWidget *importdialog;
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
83 static struct gaim_connection *importgc;
2344
19ea44f74a88 [gaim-migrate @ 2357]
Rob Flynn <gaim@robflynn.com>
parents: 2334
diff changeset
84 static GtkWidget *icondlg;
710
efd72a117875 [gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 699
diff changeset
85 static GtkWidget *aliasdlg = NULL;
efd72a117875 [gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 699
diff changeset
86 static GtkWidget *aliasentry = NULL;
efd72a117875 [gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 699
diff changeset
87 static GtkWidget *aliasname = NULL;
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
88 static GtkWidget *rename_dialog = NULL;
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
89 static GtkWidget *rename_bud_dialog = NULL;
230
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
90
3649
f09193608fd3 [gaim-migrate @ 3773]
Rob Flynn <gaim@robflynn.com>
parents: 3630
diff changeset
91
2743
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
92 struct confirm_del {
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
93 GtkWidget *window;
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
94 GtkWidget *label;
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
95 GtkWidget *ok;
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
96 GtkWidget *cancel;
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
97 char name[1024];
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
98 struct gaim_connection *gc;
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
99 };
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
100
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
101 struct create_away {
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
102 GtkWidget *window;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
103 GtkWidget *entry;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
104 GtkWidget *text;
832
0142b4c66394 [gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 825
diff changeset
105 struct away_message *mess;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
106 };
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
107
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
108 struct warning {
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
109 GtkWidget *window;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
110 GtkWidget *anon;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
111 char *who;
976
2586b2a3725e [gaim-migrate @ 986]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 967
diff changeset
112 struct gaim_connection *gc;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
113 };
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
114
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
115 struct addbuddy {
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
116 GtkWidget *window;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
117 GtkWidget *combo;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
118 GtkWidget *entry;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
119 GtkWidget *entry_for_alias;
2527
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
120 GtkWidget *account;
1072
81d19577285a [gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1057
diff changeset
121 struct gaim_connection *gc;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
122 };
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
123
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
124 struct addperm {
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
125 GtkWidget *window;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
126 GtkWidget *entry;
1072
81d19577285a [gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1057
diff changeset
127 struct gaim_connection *gc;
1144
b1454d019277 [gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1141
diff changeset
128 gboolean permit;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
129 };
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
130
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
131 struct addbp {
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
132 GtkWidget *window;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
133 GtkWidget *nameentry;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
134 GtkWidget *messentry;
1229
229bf438c591 [gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1225
diff changeset
135 GtkWidget *commentry;
229bf438c591 [gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1225
diff changeset
136 GtkWidget *command;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
137 GtkWidget *sendim;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
138 GtkWidget *openwindow;
2550
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
139 GtkWidget *popupnotify;
1137
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
140 GtkWidget *p_signon;
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
141 GtkWidget *p_unaway;
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
142 GtkWidget *p_unidle;
2993
7239a392486c [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2986
diff changeset
143 GtkWidget *p_typing;
1235
a9cf2f61a7b1 [gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1233
diff changeset
144 GtkWidget *save;
1137
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
145 GtkWidget *menu;
1694
bea407767ac1 [gaim-migrate @ 1704]
Rob Flynn <gaim@robflynn.com>
parents: 1663
diff changeset
146 GtkWidget *sound;
bea407767ac1 [gaim-migrate @ 1704]
Rob Flynn <gaim@robflynn.com>
parents: 1663
diff changeset
147 GtkWidget *soundentry;
1139
ce935e673907 [gaim-migrate @ 1149]
Rob Flynn <gaim@robflynn.com>
parents: 1137
diff changeset
148
ce935e673907 [gaim-migrate @ 1149]
Rob Flynn <gaim@robflynn.com>
parents: 1137
diff changeset
149 struct aim_user *user;
2986
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
150 struct buddy_pounce *buddy_pounce;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
151 };
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
152
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
153 struct findbyemail {
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
154 GtkWidget *window;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
155 GtkWidget *emailentry;
1535
1e2cc8c8bf3c [gaim-migrate @ 1545]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1499
diff changeset
156 struct gaim_connection *gc;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
157 };
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
158
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
159 struct findbyinfo {
2393
a7ecfd3f7714 [gaim-migrate @ 2406]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2382
diff changeset
160 struct gaim_connection *gc;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
161 GtkWidget *window;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
162 GtkWidget *firstentry;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
163 GtkWidget *middleentry;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
164 GtkWidget *lastentry;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
165 GtkWidget *maidenentry;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
166 GtkWidget *cityentry;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
167 GtkWidget *stateentry;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
168 GtkWidget *countryentry;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
169 };
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
170
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
171 struct info_dlg {
2773
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
172 struct gaim_connection *gc;
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
173 char *who;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
174 GtkWidget *window;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
175 GtkWidget *text;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
176 };
3197
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
177
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
178 struct getuserinfo {
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
179 GtkWidget *window;
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
180 GtkWidget *entry;
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
181 GtkWidget *account;
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
182 struct gaim_connection *gc;
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
183 };
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
184
2773
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
185 static GSList *info_dlgs = NULL;
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
186
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
187 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
188 {
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
189 GSList *i = info_dlgs;
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
190 while (i) {
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
191 struct info_dlg *d = i->data;
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
192 i = i->next;
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
193 if (d->gc != gc)
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
194 continue;
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
195 if (d->who == NULL)
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
196 continue;
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
197 if (!who)
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
198 continue;
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
199 if (!g_strcasecmp(normalize(who), d->who))
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
200 return d;
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
201 }
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
202 return NULL;
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
203 }
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
204
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
205 struct set_info_dlg {
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
206 GtkWidget *window;
960
fa681641643d [gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 940
diff changeset
207 GtkWidget *menu;
fa681641643d [gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 940
diff changeset
208 struct aim_user *user;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
209 GtkWidget *text;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
210 GtkWidget *save;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
211 GtkWidget *cancel;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
212 };
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
213
2344
19ea44f74a88 [gaim-migrate @ 2357]
Rob Flynn <gaim@robflynn.com>
parents: 2334
diff changeset
214 struct set_icon_dlg {
19ea44f74a88 [gaim-migrate @ 2357]
Rob Flynn <gaim@robflynn.com>
parents: 2334
diff changeset
215 GtkWidget *window;
19ea44f74a88 [gaim-migrate @ 2357]
Rob Flynn <gaim@robflynn.com>
parents: 2334
diff changeset
216 struct aim_user *user;
19ea44f74a88 [gaim-migrate @ 2357]
Rob Flynn <gaim@robflynn.com>
parents: 2334
diff changeset
217 GtkWidget *ok;
19ea44f74a88 [gaim-migrate @ 2357]
Rob Flynn <gaim@robflynn.com>
parents: 2334
diff changeset
218 GtkWidget *cancel;
19ea44f74a88 [gaim-migrate @ 2357]
Rob Flynn <gaim@robflynn.com>
parents: 2334
diff changeset
219 GtkWidget *entry;
19ea44f74a88 [gaim-migrate @ 2357]
Rob Flynn <gaim@robflynn.com>
parents: 2334
diff changeset
220 };
19ea44f74a88 [gaim-migrate @ 2357]
Rob Flynn <gaim@robflynn.com>
parents: 2334
diff changeset
221
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
222 struct set_dir_dlg {
1499
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
223 struct gaim_connection *gc;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
224 GtkWidget *window;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
225 GtkWidget *first;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
226 GtkWidget *middle;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
227 GtkWidget *last;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
228 GtkWidget *maiden;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
229 GtkWidget *city;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
230 GtkWidget *state;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
231 GtkWidget *country;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
232 GtkWidget *web;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
233 GtkWidget *cancel;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
234 GtkWidget *save;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
235 };
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
236
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
237 struct linkdlg {
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
238 GtkWidget *ok;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
239 GtkWidget *cancel;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
240 GtkWidget *window;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
241 GtkWidget *url;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
242 GtkWidget *text;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
243 GtkWidget *toggle;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
244 GtkWidget *entry;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
245 };
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
246
146
99248fb977c2 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
247 struct passwddlg {
99248fb977c2 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
248 GtkWidget *window;
99248fb977c2 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
249 GtkWidget *ok;
99248fb977c2 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
250 GtkWidget *cancel;
99248fb977c2 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
251 GtkWidget *original;
99248fb977c2 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
252 GtkWidget *new1;
99248fb977c2 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
253 GtkWidget *new2;
978
563c409e26a1 [gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 976
diff changeset
254 struct gaim_connection *gc;
146
99248fb977c2 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
255 };
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
256
2621
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
257 struct view_log {
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
258 long offset;
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
259 int options;
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
260 char *name;
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
261 GtkWidget *bbox;
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
262 GtkWidget *window;
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
263 GtkWidget *layout;
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
264 };
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
265
4119
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
266 /* Wrapper to get all the text from a GtkTextView */
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
267 gchar* gtk_text_view_get_text(GtkTextView *text, gboolean include_hidden_chars)
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
268 {
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
269 GtkTextBuffer *buffer;
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
270 GtkTextIter start, end;
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
271
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
272 buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text));
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
273 gtk_text_buffer_get_start_iter(buffer, &start);
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
274 gtk_text_buffer_get_end_iter(buffer, &end);
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
275
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
276 return gtk_text_buffer_get_text(buffer, &start, &end, include_hidden_chars);
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
277 }
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
278
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
279 /*------------------------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
280 /* Destroys */
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
281 /*------------------------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
282
311
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
283 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
284 {
605
1dbc72baf900 [gaim-migrate @ 615]
Todd Kulesza <fflewddur>
parents: 603
diff changeset
285 gchar *object_data;
1dbc72baf900 [gaim-migrate @ 615]
Todd Kulesza <fflewddur>
parents: 603
diff changeset
286 object_data = gtk_object_get_user_data(GTK_OBJECT(w));
1dbc72baf900 [gaim-migrate @ 615]
Todd Kulesza <fflewddur>
parents: 603
diff changeset
287
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
288 if (GTK_IS_COLOR_SELECTION_DIALOG(w)) {
605
1dbc72baf900 [gaim-migrate @ 615]
Todd Kulesza <fflewddur>
parents: 603
diff changeset
289 set_state_lock(1);
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
290 if (w == c->fg_color_dialog) {
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
291 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->fgcolorbtn), FALSE);
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
292 c->fg_color_dialog = NULL;
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
293 } else {
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
294 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->bgcolorbtn), FALSE);
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
295 c->bg_color_dialog = NULL;
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
296 }
605
1dbc72baf900 [gaim-migrate @ 615]
Todd Kulesza <fflewddur>
parents: 603
diff changeset
297 set_state_lock(0);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
298 } else if (GTK_IS_FONT_SELECTION_DIALOG(w)) {
605
1dbc72baf900 [gaim-migrate @ 615]
Todd Kulesza <fflewddur>
parents: 603
diff changeset
299 set_state_lock(1);
1dbc72baf900 [gaim-migrate @ 615]
Todd Kulesza <fflewddur>
parents: 603
diff changeset
300 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->font), FALSE);
1dbc72baf900 [gaim-migrate @ 615]
Todd Kulesza <fflewddur>
parents: 603
diff changeset
301 set_state_lock(0);
311
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
302 c->font_dialog = NULL;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
303 } else if (!g_strcasecmp(object_data, "smiley dialog")) {
605
1dbc72baf900 [gaim-migrate @ 615]
Todd Kulesza <fflewddur>
parents: 603
diff changeset
304 set_state_lock(1);
1dbc72baf900 [gaim-migrate @ 615]
Todd Kulesza <fflewddur>
parents: 603
diff changeset
305 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->smiley), FALSE);
1dbc72baf900 [gaim-migrate @ 615]
Todd Kulesza <fflewddur>
parents: 603
diff changeset
306 set_state_lock(0);
1dbc72baf900 [gaim-migrate @ 615]
Todd Kulesza <fflewddur>
parents: 603
diff changeset
307 c->smiley_dialog = NULL;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
308 } else if (!g_strcasecmp(object_data, "log dialog")) {
608
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
309 set_state_lock(1);
3671
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
310 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(c->log_button), FALSE);
608
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
311 set_state_lock(0);
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
312 c->log_dialog = NULL;
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
313 }
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
314
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
315 dialogwindows = g_list_remove(dialogwindows, w);
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
316 gtk_widget_destroy(w);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
317
311
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
318 return FALSE;
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
319 }
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
320
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
321 static void destroy_dialog(GtkWidget *w, GtkWidget *w2)
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
322 {
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
323 GtkWidget *dest;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
324
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
325 if (!GTK_IS_WIDGET(w2))
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
326 dest = w;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
327 else
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
328 dest = w2;
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 (dest == imdialog)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
331 imdialog = NULL;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
332
2493
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
333 if (dest == importdialog) {
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
334 importdialog = NULL;
2493
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
335 importgc = NULL;
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
336 }
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
337
2344
19ea44f74a88 [gaim-migrate @ 2357]
Rob Flynn <gaim@robflynn.com>
parents: 2334
diff changeset
338 if (dest == icondlg)
19ea44f74a88 [gaim-migrate @ 2357]
Rob Flynn <gaim@robflynn.com>
parents: 2334
diff changeset
339 icondlg = NULL;
19ea44f74a88 [gaim-migrate @ 2357]
Rob Flynn <gaim@robflynn.com>
parents: 2334
diff changeset
340
710
efd72a117875 [gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 699
diff changeset
341 if (dest == aliasdlg) {
efd72a117875 [gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 699
diff changeset
342 aliasdlg = NULL;
efd72a117875 [gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 699
diff changeset
343 aliasentry = NULL;
efd72a117875 [gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 699
diff changeset
344 aliasname = NULL;
efd72a117875 [gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 699
diff changeset
345 }
efd72a117875 [gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 699
diff changeset
346
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
347 if (dest == rename_dialog)
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
348 rename_dialog = NULL;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
349
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
350 if (dest == rename_bud_dialog)
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
351 rename_bud_dialog = NULL;
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
352
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
353 dialogwindows = g_list_remove(dialogwindows, dest);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
354 gtk_widget_destroy(dest);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
355
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
356 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
357
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
358
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
359 void destroy_all_dialogs()
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
360 {
2621
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
361 while (dialogwindows)
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
362 destroy_dialog(NULL, dialogwindows->data);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
363
391
be408b41c172 [gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 350
diff changeset
364 if (awaymessage)
be408b41c172 [gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 350
diff changeset
365 do_im_back(NULL, NULL);
84
51943f1a97a0 [gaim-migrate @ 94]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 79
diff changeset
366
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
367 if (imdialog) {
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
368 destroy_dialog(NULL, imdialog);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
369 imdialog = NULL;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
370 }
935
5e6ca3dd4d02 [gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 934
diff changeset
371
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
372 if (importdialog) {
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
373 destroy_dialog(NULL, importdialog);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
374 importdialog = NULL;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
375 }
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
376
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
377 if (icondlg) {
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
378 destroy_dialog(NULL, icondlg);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
379 icondlg = NULL;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
380 }
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
381 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
382
3757
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
383 static void do_warn(GtkWidget *widget, gint resp, struct warning *w)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
384 {
3757
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
385 if (resp == GTK_RESPONSE_OK)
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
386 serv_warn(w->gc, w->who, (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w->anon))) ? 1 : 0);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
387
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
388 destroy_dialog(NULL, w->window);
1288
d8eaf65ca9c3 [gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1272
diff changeset
389 g_free(w);
d8eaf65ca9c3 [gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1272
diff changeset
390 }
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
391
976
2586b2a3725e [gaim-migrate @ 986]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 967
diff changeset
392 void show_warn_dialog(struct gaim_connection *gc, char *who)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
393 {
3757
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
394 char *filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_warning.png", NULL);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
395 char *labeltext;
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
396 GtkWidget *hbox, *vbox;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
397 GtkWidget *label;
3757
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
398 GtkWidget *img = gtk_image_new_from_file(filename);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
399 struct conversation *c = find_conversation(who);
441
995b0fc981a3 [gaim-migrate @ 451]
Rob Flynn <gaim@robflynn.com>
parents: 440
diff changeset
400
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
401 struct warning *w = g_new0(struct warning, 1);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
402 w->who = who;
1288
d8eaf65ca9c3 [gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1272
diff changeset
403 w->gc = gc;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
404
3757
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
405 g_free(filename);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
406 gtk_misc_set_alignment(GTK_MISC(img), 0, 0);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
407
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
408 w->window = gtk_dialog_new_with_buttons("", GTK_WINDOW(c->window), GTK_DIALOG_MODAL, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, "_Warn", GTK_RESPONSE_OK, NULL);
4118
02b415cbba3a [gaim-migrate @ 4335]
Luke Schierer <lschiere@pidgin.im>
parents: 4117
diff changeset
409 gtk_dialog_set_default_response (GTK_DIALOG(w->window), GTK_RESPONSE_OK);
3757
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
410 g_signal_connect(G_OBJECT(w->window), "response", G_CALLBACK(do_warn), w);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
411
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
412 gtk_container_set_border_width (GTK_CONTAINER(w->window), 6);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
413 gtk_window_set_resizable(GTK_WINDOW(w->window), FALSE);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
414 gtk_dialog_set_has_separator(GTK_DIALOG(w->window), FALSE);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
415 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(w->window)->vbox), 12);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
416 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(w->window)->vbox), 6);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
417
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
418 hbox = gtk_hbox_new(FALSE, 12);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
419 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(w->window)->vbox), hbox);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
420 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
421
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
422 vbox = gtk_vbox_new(FALSE, 0);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
423 gtk_container_add(GTK_CONTAINER(hbox), vbox);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
424 labeltext = g_strdup_printf(_("<span weight=\"bold\" size=\"larger\">Warn %s?</span>\n\n"
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
425 "This will increase %s's warning level and he or she will be subject to harsher rate limiting.\n"), who, who);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
426 label = gtk_label_new(NULL);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
427 gtk_label_set_markup(GTK_LABEL(label), labeltext);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
428 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
429 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
430 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
431 g_free(labeltext);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
432
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
433 w->anon = gtk_check_button_new_with_mnemonic(_("Warn _anonymously?"));
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
434 gtk_box_pack_start(GTK_BOX(vbox), w->anon, FALSE, FALSE, 0);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
435
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
436 hbox = gtk_hbox_new(FALSE, 6);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
437 gtk_container_add(GTK_CONTAINER(vbox), hbox);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
438 img = gtk_image_new_from_stock(GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_MENU);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
439 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
440 labeltext = _("<b>Anonymous warnings are less severe.</b>");
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
441 /* labeltext = _("Anonymous warnings are less severe."); */
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
442 label = gtk_label_new(NULL);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
443 gtk_label_set_markup(GTK_LABEL(label), labeltext);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
444 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
445 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
446
1288
d8eaf65ca9c3 [gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1272
diff changeset
447 dialogwindows = g_list_prepend(dialogwindows, w->window);
3757
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
448 gtk_widget_show_all(w->window);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
449 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
450
3753
764ecb5f984b [gaim-migrate @ 3892]
Sean Egan <seanegan@gmail.com>
parents: 3749
diff changeset
451 void do_remove_buddy(struct buddy *b)
2743
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
452 {
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
453 struct group *g = find_group_by_buddy(b->gc, b->name);
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
454 struct gaim_connection *gc = b->gc;
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
455 struct conversation *cv;
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
456
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
457 if (!b)
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
458 return;
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
459
4059
c3968c878c68 [gaim-migrate @ 4269]
Luke Schierer <lschiere@pidgin.im>
parents: 4044
diff changeset
460 debug_printf(_("Removing '%s' from buddy list.\n"), b->name);
2743
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
461 serv_remove_buddy(b->gc, b->name, g->name);
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
462 remove_buddy(gc, g, b);
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
463 do_export(gc);
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
464
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
465 cv = find_conversation(b->name);
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
466
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
467 if (cv)
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
468 update_convo_add_button(cv);
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
469
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
470 }
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
471
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
472 void show_confirm_del(struct gaim_connection *gc, gchar *name)
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
473 {
3753
764ecb5f984b [gaim-migrate @ 3892]
Sean Egan <seanegan@gmail.com>
parents: 3749
diff changeset
474 struct buddy *bd = find_buddy(gc, name);
764ecb5f984b [gaim-migrate @ 3892]
Sean Egan <seanegan@gmail.com>
parents: 3749
diff changeset
475 char *text;
764ecb5f984b [gaim-migrate @ 3892]
Sean Egan <seanegan@gmail.com>
parents: 3749
diff changeset
476 if (!bd)
764ecb5f984b [gaim-migrate @ 3892]
Sean Egan <seanegan@gmail.com>
parents: 3749
diff changeset
477 return;
764ecb5f984b [gaim-migrate @ 3892]
Sean Egan <seanegan@gmail.com>
parents: 3749
diff changeset
478
764ecb5f984b [gaim-migrate @ 3892]
Sean Egan <seanegan@gmail.com>
parents: 3749
diff changeset
479 text = g_strdup_printf("You are about to remove %s from your buddy list. Do you want to continue?", name);
764ecb5f984b [gaim-migrate @ 3892]
Sean Egan <seanegan@gmail.com>
parents: 3749
diff changeset
480 do_ask_dialog("Remove Buddy", text, bd, "Remove Buddy", do_remove_buddy, "Cancel", NULL);
764ecb5f984b [gaim-migrate @ 3892]
Sean Egan <seanegan@gmail.com>
parents: 3749
diff changeset
481 g_free(text);
2743
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
482 }
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
483
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
484
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
485
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
486 /*------------------------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
487 /* The dialog for getting an error */
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
488 /*------------------------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
489
3466
7a3f16a375a5 [gaim-migrate @ 3516]
Sean Egan <seanegan@gmail.com>
parents: 3427
diff changeset
490 GtkWidget *do_error_dialog(const char *primary, const char *secondary, int type)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
491 {
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
492 GtkWidget *d;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
493 GtkWidget *label;
3374
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
494 GtkWidget *img = NULL;
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
495 GtkWidget *hbox;
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
496 char labeltext[1024 * 2];
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
497 char *filename = NULL;
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
498
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
499 /* These are the GTK stock dialog icons with our little Gaim logo on top.
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
500 * Inspired by the GIMP. */
3374
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
501 switch (type){
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
502 case GAIM_LOGO:
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
503 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "gaim.png", NULL);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
504 break;
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
505 case GAIM_INFO:
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
506 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_info.png", NULL);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
507 break;
3516
db00eb77997d [gaim-migrate @ 3589]
Rob Flynn <gaim@robflynn.com>
parents: 3508
diff changeset
508 case GAIM_WARNING:
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
509 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_warning.png", NULL);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
510 break;
3516
db00eb77997d [gaim-migrate @ 3589]
Rob Flynn <gaim@robflynn.com>
parents: 3508
diff changeset
511 case GAIM_ERROR:
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
512 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_error.png", NULL);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
513 break;
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
514 /* case GAIM_QUESTION:
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
515 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_question.png", NULL);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
516 break;
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
517 */
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
518 }
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
519 if (filename) {
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
520 img = gtk_image_new_from_file(filename);
3523
82180bb28f1f [gaim-migrate @ 3596]
Sean Egan <seanegan@gmail.com>
parents: 3516
diff changeset
521 g_free(filename);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
522 gtk_misc_set_alignment(GTK_MISC(img), 0, 0);
3374
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
523 }
3537
d49f2c77ee63 [gaim-migrate @ 3611]
Sean Egan <seanegan@gmail.com>
parents: 3532
diff changeset
524 d = gtk_dialog_new_with_buttons("", NULL, GTK_DIALOG_MODAL, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
525 g_signal_connect(d, "response", G_CALLBACK(gtk_widget_destroy), NULL);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
526
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
527 gtk_container_set_border_width (GTK_CONTAINER(d), 6);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
528 gtk_window_set_resizable(GTK_WINDOW(d), FALSE);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
529 gtk_dialog_set_has_separator(GTK_DIALOG(d), FALSE);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
530 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(d)->vbox), 12);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
531 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(d)->vbox), 6);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
532
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
533 hbox = gtk_hbox_new(FALSE, 12);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
534 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(d)->vbox), hbox);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
535 if (filename) {
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
536 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
537 }
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
538 gtk_widget_show(img);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
539
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
540 g_snprintf(labeltext, sizeof(labeltext), "<span weight=\"bold\" size=\"larger\">%s</span>\n\n%s", primary, secondary ? secondary : "");
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
541
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
542 label = gtk_label_new(NULL);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
543 gtk_label_set_markup(GTK_LABEL(label), labeltext);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
544 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
545 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
546 gtk_widget_show(label);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
547 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
548
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
549 gtk_widget_show(hbox);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
550
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
551 gtk_widget_show(d);
1817
b367beee6448 [gaim-migrate @ 1827]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1815
diff changeset
552 return d;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
553 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
554
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
555
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
556
3816
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
557 static void do_im(GtkWidget *widget, int resp, struct getuserinfo *info)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
558 {
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
559 char *who;
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
560 struct conversation *c;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
561
3802
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
562 if (resp == GTK_RESPONSE_OK) {
3816
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
563 who = g_strdup(gtk_entry_get_text(GTK_ENTRY(info->entry)));
3802
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
564
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
565 if (!g_strcasecmp(who, "")) {
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
566 g_free(who);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
567 return;
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
568 }
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
569
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
570 c = find_conversation(who);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
571
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
572 if (c == NULL) {
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
573 c = new_conversation(who);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
574 } else {
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
575 gdk_window_raise(c->window->window);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
576 }
3816
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
577 if (info->gc)
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
578 set_convo_gc(c, info->gc);
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
579
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
580 g_free(who);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
581 }
3802
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
582
3816
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
583 destroy_dialog(NULL, imdialog);
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
584 imdialog = NULL;
4138
6b2d0ce7fb18 [gaim-migrate @ 4356]
Luke Schierer <lschiere@pidgin.im>
parents: 4129
diff changeset
585 g_free(info);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
586 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
587
3802
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
588 static void do_info(GtkWidget *widget, int resp, struct getuserinfo *info)
935
5e6ca3dd4d02 [gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 934
diff changeset
589 {
5e6ca3dd4d02 [gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 934
diff changeset
590 char *who;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
591
3802
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
592 if (resp == GTK_RESPONSE_OK) {
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
593 who = g_strdup(normalize(gtk_entry_get_text(GTK_ENTRY(info->entry))));
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
594
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
595 if (!g_strcasecmp(who, "")) {
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
596 g_free(who);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
597 return;
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
598 }
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
599
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
600 /* what do we want to do about this case? */
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
601 if (info->gc)
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
602 serv_get_info(info->gc, who);
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
603 g_free(who);
935
5e6ca3dd4d02 [gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 934
diff changeset
604 }
3802
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
605 gtk_widget_destroy(GTK_WIDGET(widget));
4138
6b2d0ce7fb18 [gaim-migrate @ 4356]
Luke Schierer <lschiere@pidgin.im>
parents: 4129
diff changeset
606 g_free(info);
935
5e6ca3dd4d02 [gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 934
diff changeset
607 }
5e6ca3dd4d02 [gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 934
diff changeset
608
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
609 void show_ee_dialog(int ee)
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
610 {
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
611 GtkWidget *window;
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
612 GtkWidget *hbox;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
613 GtkWidget *label;
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
614
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
615 char *filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_cool.png", NULL);
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
616 GtkWidget *img = gtk_image_new_from_file(filename);
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
617
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
618 label = gtk_label_new(NULL);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
619 if (ee == 0)
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
620 gtk_label_set_markup(GTK_LABEL(label),
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
621 "<span weight=\"bold\" size=\"large\" foreground=\"purple\">Amazing! Simply Amazing!</span>");
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
622 else if (ee == 1)
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
623 gtk_label_set_markup(GTK_LABEL(label),
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
624 "<span weight=\"bold\" size=\"large\" foreground=\"#1f6bad\">Pimpin\' Penguin Style! *Waddle Waddle*</span>");
338
9d258a0aa560 [gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 337
diff changeset
625 else if (ee == 2)
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
626 gtk_label_set_markup(GTK_LABEL(label),
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
627 "<span weight=\"bold\" size=\"large\" foreground=\"blue\">You should be me. I'm so cute!</span>");
2472
dd4114ed4c07 [gaim-migrate @ 2485]
Rob Flynn <gaim@robflynn.com>
parents: 2411
diff changeset
628 else if (ee == 3)
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
629 gtk_label_set_markup(GTK_LABEL(label),
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
630 "<span weight=\"bold\" size=\"large\" foreground=\"orange\">Now that's what I like!</span>");
2993
7239a392486c [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2986
diff changeset
631 else if (ee == 4)
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
632 gtk_label_set_markup(GTK_LABEL(label),
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
633 "<span weight=\"bold\" size=\"large\" foreground=\"brown\">Ahh, and excellent choice!</span>");
3043
5a459387755a [gaim-migrate @ 3056]
Rob Flynn <gaim@robflynn.com>
parents: 3041
diff changeset
634 else if (ee == 5)
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
635 gtk_label_set_markup(GTK_LABEL(label),
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
636 "<span weight=\"bold\" size=\"large\" foreground=\"#009900\">Everytime you click my name, an angel gets its wings.</span>");
3152
0697a3ad9f3b [gaim-migrate @ 3168]
Rob Flynn <gaim@robflynn.com>
parents: 3136
diff changeset
637 else if (ee == 6)
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
638 gtk_label_set_markup(GTK_LABEL(label),
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
639 "<span weight=\"bold\" size=\"large\" foreground=\"red\">This sunflower seed taste like pizza.</span>");
3508
b8783a46e476 [gaim-migrate @ 3574]
Rob Flynn <gaim@robflynn.com>
parents: 3490
diff changeset
640 else if (ee == 7)
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
641 gtk_label_set_markup(GTK_LABEL(label),
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
642 "<span weight=\"bold\" size=\"large\" foreground=\"#6364B1\">Hey! I was in that tumbleweed!</span>");
3508
b8783a46e476 [gaim-migrate @ 3574]
Rob Flynn <gaim@robflynn.com>
parents: 3490
diff changeset
643 else
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
644 gtk_label_set_markup(GTK_LABEL(label),
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
645 "<span weight=\"bold\" size=\"large\" foreground=\"gray\">I'm not anything.</span>");
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
646
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
647 window = gtk_dialog_new_with_buttons("", GTK_WINDOW(blist), GTK_DIALOG_MODAL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL);
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
648 gtk_dialog_set_default_response (GTK_DIALOG(window), GTK_RESPONSE_OK);
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
649 g_signal_connect(G_OBJECT(window), "response", G_CALLBACK(gtk_widget_destroy), NULL);
3152
0697a3ad9f3b [gaim-migrate @ 3168]
Rob Flynn <gaim@robflynn.com>
parents: 3136
diff changeset
650
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
651 gtk_container_set_border_width (GTK_CONTAINER(window), 6);
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
652 gtk_window_set_resizable(GTK_WINDOW(window), FALSE);
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
653 gtk_dialog_set_has_separator(GTK_DIALOG(window), FALSE);
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
654 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(window)->vbox), 12);
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
655 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(window)->vbox), 6);
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
656
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
657 hbox = gtk_hbox_new(FALSE, 12);
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
658 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(window)->vbox), hbox);
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
659 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
660
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
661 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
662 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
663 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
664
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
665 gtk_widget_show_all(window);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
666 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
667
3816
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
668 void show_info_select_account(GtkObject *w, struct gaim_connection *gc)
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
669 {
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
670 struct getuserinfo *info = gtk_object_get_user_data(w);
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
671 info->gc = gc;
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
672 }
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
673
935
5e6ca3dd4d02 [gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 934
diff changeset
674 void show_im_dialog()
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
675 {
3802
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
676 GtkWidget *hbox, *vbox;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
677 GtkWidget *label;
3816
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
678 GtkWidget *table, *menu, *opt;
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
679 GSList *g = connections;
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
680 struct gaim_connection *c;
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
681 char buf[256];
3802
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
682 char *filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_question.png", NULL);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
683 GtkWidget *img = gtk_image_new_from_file(filename);
3816
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
684 struct getuserinfo *info = NULL;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
685
4138
6b2d0ce7fb18 [gaim-migrate @ 4356]
Luke Schierer <lschiere@pidgin.im>
parents: 4129
diff changeset
686 g_free(filename);
6b2d0ce7fb18 [gaim-migrate @ 4356]
Luke Schierer <lschiere@pidgin.im>
parents: 4129
diff changeset
687
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
688 if (!imdialog) {
3816
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
689 info = g_new0(struct getuserinfo, 1);
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
690 info->gc = connections->data;
4142
b45a29ad4e14 [gaim-migrate @ 4360]
Luke Schierer <lschiere@pidgin.im>
parents: 4138
diff changeset
691 imdialog = gtk_dialog_new_with_buttons("Gaim - New Message", blist ? GTK_WINDOW(blist) : NULL, GTK_DIALOG_MODAL,
3802
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
692 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
693 gtk_dialog_set_default_response (GTK_DIALOG(imdialog), GTK_RESPONSE_OK);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
694 gtk_container_set_border_width (GTK_CONTAINER(imdialog), 6);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
695 gtk_window_set_resizable(GTK_WINDOW(imdialog), FALSE);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
696 gtk_dialog_set_has_separator(GTK_DIALOG(imdialog), FALSE);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
697 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(imdialog)->vbox), 12);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
698 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(imdialog)->vbox), 6);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
699
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
700 hbox = gtk_hbox_new(FALSE, 12);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
701 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(imdialog)->vbox), hbox);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
702 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
703 gtk_misc_set_alignment(GTK_MISC(img), 0, 0);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
704
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
705 vbox = gtk_vbox_new(FALSE, 0);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
706 gtk_container_add(GTK_CONTAINER(hbox), vbox);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
707
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
708 label = gtk_label_new(_("Please enter the screenname of the person you would like to IM.\n"));
3825
321ce65bbebc [gaim-migrate @ 3974]
Rob Flynn <gaim@robflynn.com>
parents: 3824
diff changeset
709 gtk_widget_set_size_request(GTK_WIDGET(label), 350, -1);
3802
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
710 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
711 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
712 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
713
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
714 hbox = gtk_hbox_new(FALSE, 6);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
715 gtk_container_add(GTK_CONTAINER(vbox), hbox);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
716
3816
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
717 table = gtk_table_new(2, 2, FALSE);
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
718 gtk_table_set_row_spacings(GTK_TABLE(table), 6);
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
719 gtk_table_set_col_spacings(GTK_TABLE(table), 6);
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
720 gtk_container_set_border_width(GTK_CONTAINER(table), 12);
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
721 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0);
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
722
3802
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
723 label = gtk_label_new(NULL);
3816
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
724 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Screenname:"));
3823
5dc82aec40ca [gaim-migrate @ 3972]
Rob Flynn <gaim@robflynn.com>
parents: 3822
diff changeset
725 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
3816
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
726 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1);
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
727
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
728 info->entry = gtk_entry_new();
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
729 gtk_table_attach_defaults(GTK_TABLE(table), info->entry, 1, 2, 0, 1);
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
730 gtk_entry_set_activates_default (GTK_ENTRY(info->entry), TRUE);
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
731 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->entry));
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
732
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
733 if (connections->next) {
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
734
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
735 label = gtk_label_new(NULL);
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
736 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2);
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
737 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Account:"));
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
738 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
739
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
740 info->account = gtk_option_menu_new();
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
741 gtk_table_attach_defaults(GTK_TABLE(table), info->account, 1, 2, 1, 2);
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
742 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->account));
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
743
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
744 menu = gtk_menu_new();
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
745
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
746 while (g) {
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
747 c = (struct gaim_connection *)g->data;
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
748 if (!c->prpl->send_im) {
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
749 g = g->next;
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
750 continue;
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
751 }
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
752 g_snprintf(buf, sizeof(buf), "%s (%s)", c->username, c->prpl->name);
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
753 opt = gtk_menu_item_new_with_label(buf);
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
754 gtk_object_set_user_data(GTK_OBJECT(opt), info);
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
755
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
756 g_signal_connect(GTK_OBJECT(opt), "activate",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
757 G_CALLBACK(show_info_select_account), c);
3816
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
758
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
759 gtk_menu_append(GTK_MENU(menu), opt);
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
760 g = g->next;
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
761 }
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
762
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
763 gtk_option_menu_set_menu(GTK_OPTION_MENU(info->account), menu);
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
764 }
3802
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
765
3816
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
766 g_signal_connect(G_OBJECT(imdialog), "response", G_CALLBACK(do_im), info);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
767 }
3816
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
768
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
769 gtk_widget_show_all(imdialog);
3816
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
770 if (info)
b983234cb3a3 [gaim-migrate @ 3963]
Sean Egan <seanegan@gmail.com>
parents: 3811
diff changeset
771 gtk_widget_grab_focus(GTK_WIDGET(info->entry));
3197
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
772 }
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
773
935
5e6ca3dd4d02 [gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 934
diff changeset
774 void show_info_dialog()
5e6ca3dd4d02 [gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 934
diff changeset
775 {
3802
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
776 GtkWidget *window, *hbox, *vbox;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
777 GtkWidget *label;
3802
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
778 char *filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_question.png", NULL);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
779 GtkWidget *img = gtk_image_new_from_file(filename);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
780 GtkWidget *table, *menu, *opt;
3197
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
781 GSList *g = connections;
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
782 struct gaim_connection *c;
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
783 struct getuserinfo *info = g_new0(struct getuserinfo, 1);
3802
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
784 char buf[256];
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
785
4138
6b2d0ce7fb18 [gaim-migrate @ 4356]
Luke Schierer <lschiere@pidgin.im>
parents: 4129
diff changeset
786 g_free(filename);
3197
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
787 info->gc = connections->data;
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
788
4142
b45a29ad4e14 [gaim-migrate @ 4360]
Luke Schierer <lschiere@pidgin.im>
parents: 4138
diff changeset
789 window = gtk_dialog_new_with_buttons("Gaim - Get User Info", blist ? GTK_WINDOW(blist) : NULL, GTK_DIALOG_MODAL,
3802
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
790 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
791 gtk_dialog_set_default_response (GTK_DIALOG(window), GTK_RESPONSE_OK);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
792 gtk_container_set_border_width (GTK_CONTAINER(window), 6);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
793 gtk_window_set_resizable(GTK_WINDOW(window), FALSE);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
794 gtk_dialog_set_has_separator(GTK_DIALOG(window), FALSE);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
795 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(window)->vbox), 12);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
796 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(window)->vbox), 6);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
797
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
798 hbox = gtk_hbox_new(FALSE, 12);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
799 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(window)->vbox), hbox);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
800 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
801 gtk_misc_set_alignment(GTK_MISC(img), 0, 0);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
802
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
803 vbox = gtk_vbox_new(FALSE, 0);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
804 gtk_container_add(GTK_CONTAINER(hbox), vbox);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
805
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
806 label = gtk_label_new(_("Please enter the screenname of the person whose info you would like to view.\n"));
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
807 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
808 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
809 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
810
3197
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
811 table = gtk_table_new(2, 2, FALSE);
3802
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
812 gtk_table_set_row_spacings(GTK_TABLE(table), 6);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
813 gtk_table_set_col_spacings(GTK_TABLE(table), 6);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
814 gtk_container_set_border_width(GTK_CONTAINER(table), 12);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
815 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
816
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
817 label = gtk_label_new(NULL);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
818 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Screenname:"));
3822
f82dec3e96bf [gaim-migrate @ 3971]
Rob Flynn <gaim@robflynn.com>
parents: 3819
diff changeset
819 gtk_misc_set_alignment(GTK_MISC(img), 0, 0);
3197
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
820 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1);
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
821
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
822 info->entry = gtk_entry_new();
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
823 gtk_table_attach_defaults(GTK_TABLE(table), info->entry, 1, 2, 0, 1);
3802
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
824 gtk_entry_set_activates_default (GTK_ENTRY(info->entry), TRUE);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
825 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->entry));
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
826
3197
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
827 if (connections->next) {
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
828
3802
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
829 label = gtk_label_new(NULL);
3197
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
830 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2);
3802
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
831 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Account:"));
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
832 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
1225
9c6dc2b2ad61 [gaim-migrate @ 1235]
Rob Flynn <gaim@robflynn.com>
parents: 1224
diff changeset
833
3197
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
834 info->account = gtk_option_menu_new();
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
835 gtk_table_attach_defaults(GTK_TABLE(table), info->account, 1, 2, 1, 2);
3802
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
836 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->account));
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
837
3197
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
838 menu = gtk_menu_new();
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
839
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
840 while (g) {
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
841 c = (struct gaim_connection *)g->data;
3802
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
842 if (!c->prpl->get_info) {
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
843 g = g->next;
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
844 continue;
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
845 }
3572
bdd0bebd2d04 [gaim-migrate @ 3670]
Sean Egan <seanegan@gmail.com>
parents: 3557
diff changeset
846 g_snprintf(buf, sizeof(buf), "%s (%s)", c->username, c->prpl->name);
3197
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
847 opt = gtk_menu_item_new_with_label(buf);
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
848 gtk_object_set_user_data(GTK_OBJECT(opt), info);
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
849
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
850 g_signal_connect(GTK_OBJECT(opt), "activate",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
851 G_CALLBACK(show_info_select_account), c);
3197
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
852
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
853 gtk_menu_append(GTK_MENU(menu), opt);
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
854 g = g->next;
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
855 }
3802
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
856
3197
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
857 gtk_option_menu_set_menu(GTK_OPTION_MENU(info->account), menu);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
858 }
3197
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
859
3802
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
860 g_signal_connect(G_OBJECT(window), "response", G_CALLBACK(do_info), info);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
861
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
862
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
863 gtk_widget_show_all(window);
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
864 if (info->entry)
9bcb42faccc0 [gaim-migrate @ 3945]
Sean Egan <seanegan@gmail.com>
parents: 3795
diff changeset
865 gtk_widget_grab_focus(GTK_WIDGET(info->entry));
935
5e6ca3dd4d02 [gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 934
diff changeset
866 }
5e6ca3dd4d02 [gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 934
diff changeset
867
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
868
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
869 /*------------------------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
870 /* The dialog for adding buddies */
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
871 /*------------------------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
872
654
ea811c6dd3e0 [gaim-migrate @ 664]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 653
diff changeset
873 extern void add_callback(GtkWidget *, struct conversation *);
ea811c6dd3e0 [gaim-migrate @ 664]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 653
diff changeset
874
4180
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
875 void do_add_buddy(GtkWidget *w, int resp, struct addbuddy *a)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
876 {
3466
7a3f16a375a5 [gaim-migrate @ 3516]
Sean Egan <seanegan@gmail.com>
parents: 3427
diff changeset
877 const char *grp, *who, *whoalias;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
878 struct conversation *c;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
879
4180
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
880 if (resp == GTK_RESPONSE_OK) {
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
881
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
882 who = gtk_entry_get_text(GTK_ENTRY(a->entry));
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
883 grp = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(a->combo)->entry));
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
884 whoalias = gtk_entry_get_text(GTK_ENTRY(a->entry_for_alias));
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
885
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
886 c = find_conversation(who);
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
887
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
888 add_buddy(a->gc, grp, who, whoalias);
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
889 serv_add_buddy(a->gc, who);
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
890
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
891 if (c != NULL) {
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
892 update_buttons_by_protocol(c);
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
893 }
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
894
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
895 do_export(a->gc);
654
ea811c6dd3e0 [gaim-migrate @ 664]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 653
diff changeset
896 }
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
897
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
898 destroy_dialog(NULL, a->window);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
899 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
900
3819
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
901 void do_add_group(GtkWidget *w, int resp, struct addbuddy *a)
577
aa9a8bcddd80 [gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 570
diff changeset
902 {
3466
7a3f16a375a5 [gaim-migrate @ 3516]
Sean Egan <seanegan@gmail.com>
parents: 3427
diff changeset
903 const char *grp;
3819
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
904
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
905 if (resp == GTK_RESPONSE_OK) {
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
906 grp = gtk_entry_get_text(GTK_ENTRY(a->entry));
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
907
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
908 if (!a->gc)
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
909 a->gc = connections->data;
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
910
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
911 add_group(a->gc, grp);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
912 do_export(a->gc);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
913 }
577
aa9a8bcddd80 [gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 570
diff changeset
914
aa9a8bcddd80 [gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 570
diff changeset
915 destroy_dialog(NULL, a->window);
aa9a8bcddd80 [gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 570
diff changeset
916 }
aa9a8bcddd80 [gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 570
diff changeset
917
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
918
1030
38452403563b [gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1000
diff changeset
919 static GList *groups_tree(struct gaim_connection *gc)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
920 {
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
921 GList *tmp = NULL;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
922 char *tmp2;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
923 struct group *g;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
924 GSList *grp = gc->groups;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
925
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
926 if (!grp) {
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
927 tmp2 = g_strdup(_("Buddies"));
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
928 tmp = g_list_append(tmp, tmp2);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
929 } else {
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
930 while (grp) {
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
931 g = (struct group *)grp->data;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
932 tmp2 = g->name;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
933 tmp = g_list_append(tmp, tmp2);
940
9fca1293f871 [gaim-migrate @ 950]
Rob Flynn <gaim@robflynn.com>
parents: 935
diff changeset
934 grp = g_slist_next(grp);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
935 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
936 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
937 return tmp;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
938 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
939
825
9108277c95e9 [gaim-migrate @ 835]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 804
diff changeset
940 static void free_dialog(GtkWidget *w, struct addbuddy *a)
9108277c95e9 [gaim-migrate @ 835]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 804
diff changeset
941 {
9108277c95e9 [gaim-migrate @ 835]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 804
diff changeset
942 g_free(a);
9108277c95e9 [gaim-migrate @ 835]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 804
diff changeset
943 }
9108277c95e9 [gaim-migrate @ 835]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 804
diff changeset
944
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
945
1072
81d19577285a [gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1057
diff changeset
946 void show_add_group(struct gaim_connection *gc)
577
aa9a8bcddd80 [gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 570
diff changeset
947 {
3819
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
948
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
949 GtkWidget *hbox, *vbox;
577
aa9a8bcddd80 [gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 570
diff changeset
950 GtkWidget *label;
3819
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
951 char *filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_question.png", NULL);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
952 GtkWidget *img = gtk_image_new_from_file(filename);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
953 struct addbuddy *a = g_new0(struct addbuddy, 1);
4138
6b2d0ce7fb18 [gaim-migrate @ 4356]
Luke Schierer <lschiere@pidgin.im>
parents: 4129
diff changeset
954
6b2d0ce7fb18 [gaim-migrate @ 4356]
Luke Schierer <lschiere@pidgin.im>
parents: 4129
diff changeset
955 g_free(filename);
1072
81d19577285a [gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1057
diff changeset
956 a->gc = gc;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
957
4183
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
958 a->window = gtk_dialog_new_with_buttons(_("Gaim - Add Group"), GTK_WINDOW(blist), GTK_DIALOG_MODAL,
3819
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
959 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_ADD, GTK_RESPONSE_OK, NULL);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
960 gtk_dialog_set_default_response (GTK_DIALOG(a->window), GTK_RESPONSE_OK);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
961 gtk_container_set_border_width (GTK_CONTAINER(a->window), 6);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
962 gtk_window_set_resizable(GTK_WINDOW(a->window), FALSE);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
963 gtk_dialog_set_has_separator(GTK_DIALOG(a->window), FALSE);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
964 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(a->window)->vbox), 12);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
965 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(a->window)->vbox), 6);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
966
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
967 hbox = gtk_hbox_new(FALSE, 12);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
968 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(a->window)->vbox), hbox);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
969 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
970 gtk_misc_set_alignment(GTK_MISC(img), 0, 0);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
971
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
972 vbox = gtk_vbox_new(FALSE, 0);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
973 gtk_container_add(GTK_CONTAINER(hbox), vbox);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
974
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
975 label = gtk_label_new(_("Please enter the name of the group to be added.\n"));
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
976 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
977 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
978 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
979
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
980 hbox = gtk_hbox_new(FALSE, 6);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
981 gtk_container_add(GTK_CONTAINER(vbox), hbox);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
982
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
983 label = gtk_label_new(NULL);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
984 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Group:"));
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
985 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
986
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
987 a->entry = gtk_entry_new();
3819
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
988 gtk_entry_set_activates_default (GTK_ENTRY(a->entry), TRUE);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
989 gtk_box_pack_start(GTK_BOX(hbox), a->entry, FALSE, FALSE, 0);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
990 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(a->entry));
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
991
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
992 g_signal_connect(G_OBJECT(a->window), "response", G_CALLBACK(do_add_group), a);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
993
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
994 gtk_widget_show_all(a->window);
8997bc63417c [gaim-migrate @ 3966]
Sean Egan <seanegan@gmail.com>
parents: 3816
diff changeset
995 gtk_widget_grab_focus(GTK_WIDGET(a->entry));
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
2527
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
998 static void addbuddy_select_account(GtkObject *w, struct gaim_connection *gc)
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
999 {
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1000 struct addbuddy *b = gtk_object_get_user_data(w);
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1001
2561
f9bdfca15404 [gaim-migrate @ 2574]
Rob Flynn <gaim@robflynn.com>
parents: 2553
diff changeset
1002 /* Save our account */
2527
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1003 b->gc = gc;
2561
f9bdfca15404 [gaim-migrate @ 2574]
Rob Flynn <gaim@robflynn.com>
parents: 2553
diff changeset
1004
f9bdfca15404 [gaim-migrate @ 2574]
Rob Flynn <gaim@robflynn.com>
parents: 2553
diff changeset
1005 /* We also want to update our group list */
2598
b2800bca74fe [gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2582
diff changeset
1006 gtk_combo_set_popdown_strings(GTK_COMBO(b->combo), groups_tree(gc));
2527
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1007 }
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1008
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1009 static void create_online_user_names(struct addbuddy *b)
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1010 {
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1011 char buf[2048]; /* Never hurts to be safe ;-) */
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1012 GSList *g = connections;
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1013 struct gaim_connection *c;
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1014 GtkWidget *menu, *opt;
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1015 int count = 0;
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1016 int place = 0;
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1017
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1018 menu = gtk_menu_new();
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1019
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1020 while (g) {
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1021 c = (struct gaim_connection *)g->data;
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1022 g_snprintf(buf, sizeof(buf), "%s (%s)",
3572
bdd0bebd2d04 [gaim-migrate @ 3670]
Sean Egan <seanegan@gmail.com>
parents: 3557
diff changeset
1023 c->username, c->prpl->name);
2527
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1024 opt = gtk_menu_item_new_with_label(buf);
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1025 gtk_object_set_user_data(GTK_OBJECT(opt), b);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1026 g_signal_connect(GTK_OBJECT(opt), "activate",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1027 G_CALLBACK(addbuddy_select_account),
2527
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1028 c);
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1029 gtk_widget_show(opt);
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1030 gtk_menu_append(GTK_MENU(menu), opt);
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1031
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1032 /* Now check to see if it's our current menu */
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1033 if (c == b->gc) {
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1034 place = count;
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1035 gtk_menu_item_activate(GTK_MENU_ITEM(opt));
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1036 gtk_option_menu_set_history(GTK_OPTION_MENU(b->account), count);
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1037
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1038 /* Do the cha cha cha */
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1039 }
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1040
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1041 count++;
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1042
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1043 g = g->next;
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1044 }
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1045
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1046 gtk_option_menu_remove_menu(GTK_OPTION_MENU(b->account));
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1047 gtk_option_menu_set_menu(GTK_OPTION_MENU(b->account), menu);
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1048 gtk_option_menu_set_history(GTK_OPTION_MENU(b->account), place);
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1049
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1050 gtk_widget_show(b->account);
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1051 gtk_widget_show(b->account->parent);
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1052
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1053 }
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1054
2582
5efa8077107f [gaim-migrate @ 2595]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2572
diff changeset
1055 void show_add_buddy(struct gaim_connection *gc, char *buddy, char *group, char *alias)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1056 {
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1057 GtkWidget *mainbox;
1210
265abea9db72 [gaim-migrate @ 1220]
Rob Flynn <gaim@robflynn.com>
parents: 1191
diff changeset
1058 GtkWidget *frame;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1059 GtkWidget *table;
1210
265abea9db72 [gaim-migrate @ 1220]
Rob Flynn <gaim@robflynn.com>
parents: 1191
diff changeset
1060 GtkWidget *bbox;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1061 GtkWidget *cancel;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1062 GtkWidget *add;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1063 GtkWidget *label;
4180
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1064 GtkWidget *hbox;
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1065 GtkWidget *vbox;
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1066
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1067 char *filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_question.png", NULL);
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1068 GtkWidget *img = gtk_image_new_from_file(filename);
236
62d470738cc7 [gaim-migrate @ 246]
Rob Flynn <gaim@robflynn.com>
parents: 234
diff changeset
1069
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1070 struct addbuddy *a = g_new0(struct addbuddy, 1);
2598
b2800bca74fe [gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2582
diff changeset
1071 a->gc = gc ? gc : connections->data;
1210
265abea9db72 [gaim-migrate @ 1220]
Rob Flynn <gaim@robflynn.com>
parents: 1191
diff changeset
1072
4180
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1073 g_free(filename);
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1074
2725
f3c094e78609 [gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2681
diff changeset
1075 GAIM_DIALOG(a->window);
4180
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1076 a->window = gtk_dialog_new_with_buttons(_("Gaim - Add Buddy"), blist ? GTK_WINDOW(blist) : NULL, GTK_DIALOG_MODAL,
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1077 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_ADD, GTK_RESPONSE_OK, NULL);
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1078
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1079 gtk_dialog_set_default_response(GTK_DIALOG(a->window), GTK_RESPONSE_OK);
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1080 gtk_container_set_border_width(GTK_CONTAINER(a->window), 6);
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1081 gtk_window_set_resizable(GTK_WINDOW(a->window), FALSE);
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1082 gtk_dialog_set_has_separator(GTK_DIALOG(a->window), FALSE);
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1083 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(a->window)->vbox), 12);
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1084 gtk_container_set_border_width(GTK_CONTAINER(GTK_DIALOG(a->window)->vbox), 6);
4074
3ccbdf8e7f8d [gaim-migrate @ 4289]
Sean Egan <seanegan@gmail.com>
parents: 4061
diff changeset
1085 gtk_window_set_role(GTK_WINDOW(a->window), "add_buddy");
4180
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1086
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1087 hbox = gtk_hbox_new(FALSE, 12);
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1088 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(a->window)->vbox), hbox);
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1089 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1090 gtk_misc_set_alignment(GTK_MISC(img), 0, 0);
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1091
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1092 vbox = gtk_vbox_new(FALSE, 0);
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1093 gtk_container_add(GTK_CONTAINER(hbox), vbox);
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1094
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1095 label = gtk_label_new(_("Please enter the screen name of the person you would like to add to your buddylist. You may optionally enter an alias, or nickname, for the buddy. The alias will be displayed in place of the screen name whenever possible.\n"));
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1096 gtk_widget_set_size_request(GTK_WIDGET(label), 400, -1);
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1097 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1098 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1099 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1100
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1101 hbox = gtk_hbox_new(FALSE, 6);
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1102 gtk_container_add(GTK_CONTAINER(vbox), hbox);
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1103
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1104 g_signal_connect(GTK_OBJECT(a->window), "destroy", G_CALLBACK(destroy_dialog), a->window);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1105 g_signal_connect(GTK_OBJECT(a->window), "destroy", G_CALLBACK(free_dialog), a);
1151
428372cc1e39 [gaim-migrate @ 1161]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1144
diff changeset
1106 dialogwindows = g_list_prepend(dialogwindows, a->window);
428372cc1e39 [gaim-migrate @ 1161]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1144
diff changeset
1107
2529
44b56faccb22 [gaim-migrate @ 2542]
Rob Flynn <gaim@robflynn.com>
parents: 2527
diff changeset
1108 table = gtk_table_new(4, 2, FALSE);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1109 gtk_table_set_row_spacings(GTK_TABLE(table), 5);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1110 gtk_table_set_col_spacings(GTK_TABLE(table), 5);
4180
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1111 gtk_container_set_border_width(GTK_CONTAINER(table), 0);
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1112 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0);
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1113
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1114 label = gtk_label_new(_("Screen Name"));
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1115 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1116 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
1117
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1118 a->entry = gtk_entry_new();
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1119 gtk_table_attach_defaults(GTK_TABLE(table), a->entry, 1, 2, 0, 1);
3333
b6da58fae8b7 [gaim-migrate @ 3351]
Jim Seymour <jseymour>
parents: 3327
diff changeset
1120 gtk_widget_grab_focus(a->entry);
4183
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
1121
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1122 if (buddy != NULL)
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1123 gtk_entry_set_text(GTK_ENTRY(a->entry), buddy);
4183
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
1124
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
1125 gtk_entry_set_activates_default (GTK_ENTRY(a->entry), TRUE);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1126
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1127 label = gtk_label_new(_("Alias"));
4180
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1128 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1129 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
1130
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1131 a->entry_for_alias = gtk_entry_new();
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1132 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
1133 if (alias != NULL)
5efa8077107f [gaim-migrate @ 2595]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2572
diff changeset
1134 gtk_entry_set_text(GTK_ENTRY(a->entry_for_alias), alias);
4183
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
1135 gtk_entry_set_activates_default (GTK_ENTRY(a->entry_for_alias), TRUE);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1136
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1137 label = gtk_label_new(_("Group"));
4180
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1138 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1139 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
1140
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1141 a->combo = gtk_combo_new();
2598
b2800bca74fe [gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2582
diff changeset
1142 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
1143 gtk_table_attach_defaults(GTK_TABLE(table), a->combo, 1, 2, 2, 3);
1210
265abea9db72 [gaim-migrate @ 1220]
Rob Flynn <gaim@robflynn.com>
parents: 1191
diff changeset
1144
2527
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1145 /* Set up stuff for the account box */
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1146 label = gtk_label_new(_("Add To"));
4180
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1147 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
2527
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1148 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 3, 4);
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1149
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1150 a->account = gtk_option_menu_new();
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1151 gtk_table_attach_defaults(GTK_TABLE(table), a->account, 1, 2, 3, 4);
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1152
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1153 create_online_user_names(a);
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1154
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1155 /* End of account box */
c9e316b04048 [gaim-migrate @ 2540]
Rob Flynn <gaim@robflynn.com>
parents: 2493
diff changeset
1156
4180
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1157 g_signal_connect(G_OBJECT(a->window), "response", G_CALLBACK(do_add_buddy), a);
1151
428372cc1e39 [gaim-migrate @ 1161]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1144
diff changeset
1158
1210
265abea9db72 [gaim-migrate @ 1220]
Rob Flynn <gaim@robflynn.com>
parents: 1191
diff changeset
1159 gtk_widget_show_all(a->window);
4180
3ed4fab5d7bf [gaim-migrate @ 4411]
Rob Flynn <gaim@robflynn.com>
parents: 4179
diff changeset
1160
2995
e27517a5c28e [gaim-migrate @ 3008]
Sean Egan <seanegan@gmail.com>
parents: 2993
diff changeset
1161 if (group != NULL)
e27517a5c28e [gaim-migrate @ 3008]
Sean Egan <seanegan@gmail.com>
parents: 2993
diff changeset
1162 gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(a->combo)->entry), group);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1163 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1164
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1165
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1166 /*------------------------------------------------------------------------*
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1167 * Privacy Settings *
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1168 *------------------------------------------------------------------------*/
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1169 static GtkWidget *deny_type = NULL;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1170 static GtkWidget *deny_conn_hbox = NULL;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1171 static GtkWidget *deny_opt_menu = NULL;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1172 static struct gaim_connection *current_deny_gc = NULL;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1173 static gboolean current_is_deny = FALSE;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1174 static GtkWidget *allow_list = NULL;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1175 static GtkWidget *block_list = NULL;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1176
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1177 static GtkListStore *block_store = NULL;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1178 static GtkListStore *allow_store = NULL;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1179
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1180 static void set_deny_mode(GtkWidget *w, int data)
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1181 {
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1182 if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w)))
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1183 return;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1184 debug_printf("setting deny mode %d\n", data);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1185 current_deny_gc->permdeny = data;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1186 serv_set_permit_deny(current_deny_gc);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1187 do_export(current_deny_gc);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1188 }
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1189
4178
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1190 static GtkWidget *deny_opt(char *label, int which, GtkWidget *set)
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1191 {
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1192 GtkWidget *opt;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1193
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1194 if (!set)
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1195 opt = gtk_radio_button_new_with_label(NULL, label);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1196 else
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1197 opt =
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1198 gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(set)),
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1199 label);
4178
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1200
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1201 g_signal_connect(GTK_OBJECT(opt), "toggled", G_CALLBACK(set_deny_mode), (void *)which);
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1202 gtk_widget_show(opt);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1203 if (current_deny_gc->permdeny == which)
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1204 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1205
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1206 return opt;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1207 }
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1208
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1209 static void des_deny_opt(GtkWidget *d, gpointer e)
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1210 {
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1211 gtk_widget_destroy(d);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1212 current_deny_gc = NULL;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1213 deny_conn_hbox = NULL;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1214 deny_type = NULL;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1215 deny_opt_menu = NULL;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1216 current_is_deny = FALSE;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1217 allow_list = NULL;
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1218 allow_store = NULL;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1219
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1220 block_list = NULL;
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1221 block_store = NULL;
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1222 }
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1223
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1224 static void set_deny_type()
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1225 {
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1226 GSList *bg = gtk_radio_button_group(GTK_RADIO_BUTTON(deny_type));
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1227
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1228 switch (current_deny_gc->permdeny) {
3786
4c9356a5231c [gaim-migrate @ 3926]
Luke Schierer <lschiere@pidgin.im>
parents: 3781
diff changeset
1229 case 5:
4c9356a5231c [gaim-migrate @ 3926]
Luke Schierer <lschiere@pidgin.im>
parents: 3781
diff changeset
1230 bg = bg->next->next;
4c9356a5231c [gaim-migrate @ 3926]
Luke Schierer <lschiere@pidgin.im>
parents: 3781
diff changeset
1231 break;
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1232 case 4:
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1233 break;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1234 case 3:
3786
4c9356a5231c [gaim-migrate @ 3926]
Luke Schierer <lschiere@pidgin.im>
parents: 3781
diff changeset
1235 bg = bg->next->next->next;
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1236 break;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1237 case 2:
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1238 bg = bg->next;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1239 break;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1240 case 1:
3786
4c9356a5231c [gaim-migrate @ 3926]
Luke Schierer <lschiere@pidgin.im>
parents: 3781
diff changeset
1241 bg = bg->next->next->next->next;
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1242 break;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1243 }
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1244
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1245 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(bg->data), TRUE);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1246 }
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1247
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1248 void build_allow_list()
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1249 {
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1250 GSList *p;
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1251 GtkListStore *ls;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1252 GtkTreeIter iter;
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1253
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1254 if (!current_is_deny)
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1255 return;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1256
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1257 p = current_deny_gc->permit;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1258
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1259 gtk_list_store_clear(GTK_LIST_STORE(allow_store));
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1260
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1261 while (p) {
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1262 ls = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(allow_list)));
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1263
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1264 gtk_list_store_append(ls, &iter);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1265 gtk_list_store_set(ls, &iter, 0, p->data, -1);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1266
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1267 p = p->next;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1268 }
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1269 }
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1270
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1271
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1272 void build_block_list()
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1273 {
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1274 GSList *d;
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1275 GtkListStore *ls;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1276 GtkTreeIter iter;
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1277
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1278 if (!current_is_deny)
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1279 return;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1280
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1281 d = current_deny_gc->deny;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1282
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1283 gtk_list_store_clear(GTK_LIST_STORE(block_store));
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1284
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1285 while (d) {
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1286 ls = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(block_list)));
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1287
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1288 gtk_list_store_append(ls, &iter);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1289 gtk_list_store_set(ls, &iter, 0, d->data, -1);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1290
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1291 d = d->next;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1292 }
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1293 }
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1294
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1295 static void deny_gc_opt(GtkWidget *opt, struct gaim_connection *gc)
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1296 {
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1297 current_deny_gc = gc;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1298 set_deny_type();
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1299 build_allow_list();
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1300 build_block_list();
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1301 }
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1302
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1303 static void build_deny_menu()
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1304 {
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1305 GtkWidget *menu;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1306 GtkWidget *opt;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1307 GSList *c = connections;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1308 struct gaim_connection *gc;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1309 int count = 0;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1310 gboolean found = FALSE;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1311 char buf[2048];
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1312
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1313 if (g_slist_length(connections) == 1) {
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1314 gtk_widget_hide(deny_conn_hbox);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1315 return;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1316 } else
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1317 gtk_widget_show(deny_conn_hbox);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1318
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1319 menu = gtk_menu_new();
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1320
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1321 while (c) {
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1322 gc = (struct gaim_connection *)c->data;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1323 c = c->next;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1324 if (!gc->prpl->set_permit_deny)
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1325 continue;
3572
bdd0bebd2d04 [gaim-migrate @ 3670]
Sean Egan <seanegan@gmail.com>
parents: 3557
diff changeset
1326 g_snprintf(buf, sizeof buf, "%s (%s)", gc->username, gc->prpl->name);
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1327 opt = gtk_menu_item_new_with_label(buf);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1328 g_signal_connect(GTK_OBJECT(opt), "activate", G_CALLBACK(deny_gc_opt), gc);
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1329 gtk_widget_show(opt);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1330 gtk_menu_append(GTK_MENU(menu), opt);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1331 if (gc == current_deny_gc)
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1332 found = TRUE;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1333 else if (!found)
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1334 count++;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1335 }
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1336
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1337 if (!found) {
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1338 current_deny_gc = connections->data;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1339 count = 0;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1340 }
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1341
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1342 gtk_option_menu_remove_menu(GTK_OPTION_MENU(deny_opt_menu));
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1343 gtk_option_menu_set_menu(GTK_OPTION_MENU(deny_opt_menu), menu);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1344 gtk_option_menu_set_history(GTK_OPTION_MENU(deny_opt_menu), count);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1345
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1346 gtk_widget_show(menu);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1347 gtk_widget_show(deny_opt_menu);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1348 }
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1349
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1350 static void pref_deny_add(GtkWidget *button, gboolean permit)
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1351 {
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1352 show_add_perm(current_deny_gc, NULL, permit);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1353 }
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1354
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1355
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1356 gchar *find_permdeny_by_name(GSList *l, char *who) {
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1357 gchar *name;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1358
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1359 while (l) {
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1360 name = (gchar *)l->data;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1361 if (!strcmp(name, who)) {
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1362 return name;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1363 }
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1364
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1365 l = l->next;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1366 }
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1367
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1368 return NULL;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1369 }
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1370
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1371 static void pref_deny_rem(GtkWidget *button, gboolean permit)
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1372 {
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1373 GList *i;
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1374 gchar *who;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1375 GtkTreeIter iter;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1376 GtkTreeModel *mod;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1377 GtkTreeSelection *sel;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1378
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1379 if (permit) {
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1380 mod = gtk_tree_view_get_model(GTK_TREE_VIEW(allow_list));
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1381 sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(allow_list));
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1382 } else {
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1383 mod = gtk_tree_view_get_model(GTK_TREE_VIEW(block_list));
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1384 sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(block_list));
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1385 }
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1386
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1387 if (gtk_tree_selection_get_selected(sel, NULL, &iter))
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1388 gtk_tree_model_get(GTK_TREE_MODEL(mod), &iter, 0, &who, -1);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1389 else {
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1390 return;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1391 }
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1392
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1393 if (permit && !allow_list)
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1394 return;
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1395
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1396 if (!permit && !block_list)
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1397 return;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1398
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1399 if (permit) {
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1400 char *name = find_permdeny_by_name(current_deny_gc->permit, who);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1401
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1402 if (name) {
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1403 current_deny_gc->permit = g_slist_remove(current_deny_gc->permit, name);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1404 serv_rem_deny(current_deny_gc, who);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1405 build_allow_list();
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1406 }
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1407 } else {
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1408 char *name = find_permdeny_by_name(current_deny_gc->deny, who);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1409
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1410 if (name) {
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1411 current_deny_gc->deny = g_slist_remove(current_deny_gc->deny, name);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1412 serv_rem_deny(current_deny_gc, who);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1413 build_block_list();
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1414 }
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1415 }
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1416
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1417 do_export(current_deny_gc);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1418 }
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1419
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1420 GtkWidget *privacy_win;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1421 void update_privacy_connections() { /* This is a slightly better name */
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1422 gboolean needdeny = FALSE;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1423 GSList *c = connections;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1424 struct gaim_connection *gc = NULL;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1425
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1426 if (!privacy_win)
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1427 return;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1428
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1429 while (c) {
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1430 gc = c->data;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1431 if (gc->prpl->set_permit_deny)
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1432 break;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1433 gc = NULL;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1434 c = c->next;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1435 }
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1436 needdeny = (gc != NULL);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1437
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1438
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1439 if (needdeny) {
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1440 gtk_widget_set_sensitive(privacy_win, TRUE);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1441 build_deny_menu();
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1442 build_allow_list();
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1443 build_block_list();
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1444 } else {
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1445 gtk_widget_set_sensitive(privacy_win, FALSE);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1446 }
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1447 }
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1448 static void destroy_privacy() {
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1449 current_deny_gc = NULL;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1450 privacy_win = NULL;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1451 }
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
1452
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1453 void show_privacy_options() {
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1454 GtkWidget *pwin;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1455 GtkWidget *box;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1456 GtkWidget *hbox;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1457 GtkWidget *label;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1458 GtkWidget *vbox;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1459 GtkWidget *sw;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1460 GtkWidget *bbox;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1461 GtkWidget *button;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1462 GtkWidget *sep;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1463 GtkWidget *close_button;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1464 GtkSizeGroup *sg1 = gtk_size_group_new(GTK_SIZE_GROUP_BOTH);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1465 GtkSizeGroup *sg2 = gtk_size_group_new(GTK_SIZE_GROUP_BOTH);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1466 GtkListStore *ls;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1467 GtkWidget *list;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1468 GtkCellRenderer *rend;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1469 GtkTreeViewColumn *col;
4178
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1470 GtkWidget *table;
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1471
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1472 current_deny_gc = connections->data; /* this is safe because this screen will only be
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1473 available when there are connections */
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1474 current_is_deny = TRUE;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1475
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1476 privacy_win = pwin = gtk_window_new(GTK_WINDOW_TOPLEVEL);
4179
67f45f27ed3c [gaim-migrate @ 4410]
Rob Flynn <gaim@robflynn.com>
parents: 4178
diff changeset
1477 gtk_window_set_policy(GTK_WINDOW(pwin), FALSE, FALSE, TRUE);
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1478 gtk_window_set_role(GTK_WINDOW(pwin), "privacy");
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1479 gtk_window_set_title(GTK_WINDOW(pwin), _("Gaim - Privacy"));
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1480 g_signal_connect(GTK_OBJECT(pwin), "destroy", G_CALLBACK(destroy_privacy), NULL);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1481 gtk_widget_realize(pwin);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1482
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1483 gtk_widget_set_usize(pwin, 0, 400);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1484
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1485 box = gtk_vbox_new(FALSE, 5);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1486 gtk_container_set_border_width(GTK_CONTAINER(box), 5);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1487 gtk_container_add(GTK_CONTAINER(pwin), box);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1488 gtk_widget_show(box);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1489
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1490 label = gtk_label_new(_("Changes to privacy settings take effect immediately."));
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1491 gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1492 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1493 gtk_widget_show(label);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1494
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1495 deny_conn_hbox = gtk_hbox_new(FALSE, 5);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1496 gtk_box_pack_start(GTK_BOX(box), deny_conn_hbox, FALSE, FALSE, 0);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1497 gtk_widget_show(deny_conn_hbox);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1498
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1499 label = gtk_label_new(_("Set privacy for:"));
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1500 gtk_box_pack_start(GTK_BOX(deny_conn_hbox), label, FALSE, FALSE, 5);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1501 gtk_widget_show(label);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1502
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1503 deny_opt_menu = gtk_option_menu_new();
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1504 gtk_box_pack_start(GTK_BOX(deny_conn_hbox), deny_opt_menu, FALSE, FALSE, 5);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1505 g_signal_connect(GTK_OBJECT(deny_opt_menu), "destroy", G_CALLBACK(des_deny_opt), NULL);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1506 gtk_widget_show(deny_opt_menu);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1507
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1508 build_deny_menu();
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1509
4178
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1510 table = gtk_table_new(5, 2, FALSE);
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1511 gtk_box_pack_start(GTK_BOX(box), table, TRUE, TRUE, 0);
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1512 gtk_table_set_row_spacings(GTK_TABLE(table), 7);
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1513 gtk_table_set_col_spacings(GTK_TABLE(table), 5);
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1514 gtk_widget_show(table);
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1515
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1516 deny_type = deny_opt(_("Allow all users to contact me"), 1, NULL);
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1517 gtk_size_group_add_widget(sg1, deny_type);
4178
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1518 gtk_table_attach(GTK_TABLE(table), deny_type, 0, 1, 0, 1, GTK_FILL, 0, 0, 0);
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1519
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1520 deny_type = deny_opt(_("Allow only users on my buddy list"), 5, deny_type);
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1521 gtk_size_group_add_widget(sg1, deny_type);
4178
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1522 gtk_table_attach(GTK_TABLE(table), deny_type, 0, 1, 1, 2, GTK_FILL, 0, 0, 0);
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1523
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1524 deny_type = deny_opt(_("Allow only the users below"), 3, deny_type);
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1525 gtk_size_group_add_widget(sg1, deny_type);
4178
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1526 gtk_table_attach(GTK_TABLE(table), deny_type, 0, 1, 2, 3, GTK_FILL, 0, 0, 0);
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1527
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1528 sw = gtk_scrolled_window_new(NULL, NULL);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1529 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
4178
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1530 gtk_table_attach(GTK_TABLE(table), sw, 0, 1, 3, 4, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1531 gtk_widget_show(sw);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1532
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1533 allow_store = gtk_list_store_new(1, G_TYPE_STRING);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1534 allow_list = gtk_tree_view_new_with_model(GTK_TREE_MODEL(allow_store));
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1535
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1536 rend = gtk_cell_renderer_text_new();
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1537 col = gtk_tree_view_column_new_with_attributes(NULL, rend, "text", 0, NULL);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1538 gtk_tree_view_column_set_clickable(GTK_TREE_VIEW_COLUMN(col), TRUE);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1539 gtk_tree_view_append_column(GTK_TREE_VIEW(allow_list), col);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1540 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(allow_list), FALSE);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1541 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), allow_list);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1542 gtk_widget_show(allow_list);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1543
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1544 build_allow_list();
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1545
4179
67f45f27ed3c [gaim-migrate @ 4410]
Rob Flynn <gaim@robflynn.com>
parents: 4178
diff changeset
1546 bbox = gtk_hbox_new(TRUE, 0);
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1547 gtk_widget_show(bbox);
4178
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1548 gtk_table_attach(GTK_TABLE(table), bbox, 0, 1, 4, 5, GTK_FILL, 0, 0, 0);
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1549
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1550 button = gtk_button_new_from_stock(GTK_STOCK_ADD);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1551 gtk_size_group_add_widget(sg2, button);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1552 gtk_widget_show(button);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1553 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(pref_deny_add), (void *)TRUE);
4179
67f45f27ed3c [gaim-migrate @ 4410]
Rob Flynn <gaim@robflynn.com>
parents: 4178
diff changeset
1554 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1555
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1556 button = gtk_button_new_from_stock(GTK_STOCK_REMOVE);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1557 gtk_size_group_add_widget(sg2, button);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1558 gtk_widget_show(button);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1559 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(pref_deny_rem), (void *)TRUE);
4179
67f45f27ed3c [gaim-migrate @ 4410]
Rob Flynn <gaim@robflynn.com>
parents: 4178
diff changeset
1560 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1561
4178
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1562 deny_type = deny_opt(_("Deny all users"), 2, deny_type);
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1563 gtk_size_group_add_widget(sg1, deny_type);
4178
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1564 gtk_table_attach(GTK_TABLE(table), deny_type, 1, 2, 1, 2, GTK_FILL, 0, 0, 0);
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1565
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1566 deny_type = deny_opt(_("Block the users below"), 4, deny_type);
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1567 gtk_size_group_add_widget(sg1, deny_type);
4178
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1568 gtk_table_attach(GTK_TABLE(table), deny_type, 1, 2, 2, 3, GTK_FILL, 0, 0, 0);
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1569
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1570 sw = gtk_scrolled_window_new(NULL, NULL);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1571 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
4178
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1572 gtk_table_attach(GTK_TABLE(table), sw, 1, 2, 3, 4, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1573 gtk_widget_show(sw);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1574
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1575 block_store = gtk_list_store_new(1, G_TYPE_STRING);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1576 block_list = gtk_tree_view_new_with_model(GTK_TREE_MODEL(block_store));
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1577
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1578 rend = gtk_cell_renderer_text_new();
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1579 col = gtk_tree_view_column_new_with_attributes(NULL, rend, "text", 0, NULL);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1580 gtk_tree_view_column_set_clickable(GTK_TREE_VIEW_COLUMN(col), TRUE);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1581 gtk_tree_view_append_column(GTK_TREE_VIEW(block_list), col);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1582 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(block_list), FALSE);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1583 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), block_list);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1584 gtk_widget_show(block_list);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1585
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1586 build_block_list();
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1587
4179
67f45f27ed3c [gaim-migrate @ 4410]
Rob Flynn <gaim@robflynn.com>
parents: 4178
diff changeset
1588 bbox = gtk_hbox_new(TRUE, 0);
4178
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1589 gtk_table_attach(GTK_TABLE(table), bbox, 1, 2, 4, 5, GTK_FILL, 0, 0, 0);
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1590 gtk_widget_show(bbox);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1591
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1592 button = gtk_button_new_from_stock(GTK_STOCK_ADD);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1593 gtk_size_group_add_widget(sg2, button);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1594 gtk_widget_show(button);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1595 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(pref_deny_add), FALSE);
4179
67f45f27ed3c [gaim-migrate @ 4410]
Rob Flynn <gaim@robflynn.com>
parents: 4178
diff changeset
1596 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1597
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1598 button = gtk_button_new_from_stock(GTK_STOCK_REMOVE);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1599 gtk_size_group_add_widget(sg2, button);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1600 gtk_widget_show(button);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1601 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(pref_deny_rem), FALSE);
4179
67f45f27ed3c [gaim-migrate @ 4410]
Rob Flynn <gaim@robflynn.com>
parents: 4178
diff changeset
1602 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1603
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1604 sep = gtk_hseparator_new();
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1605 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 5);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1606 gtk_widget_show(sep);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1607
4178
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1608 hbox = gtk_hbox_new(FALSE, 0);
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1609 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 0);
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1610 gtk_widget_show(hbox);
4178
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1611
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1612 close_button = gtk_button_new_from_stock(GTK_STOCK_CLOSE);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1613 gtk_box_pack_end(GTK_BOX(hbox), close_button, FALSE, FALSE, 0);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1614 g_signal_connect_swapped(GTK_OBJECT(close_button), "clicked", G_CALLBACK(gtk_widget_destroy), pwin);
4178
b2b14e936178 [gaim-migrate @ 4408]
Rob Flynn <gaim@robflynn.com>
parents: 4177
diff changeset
1615 gtk_widget_show(close_button);
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1616
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1617 gtk_widget_show(pwin);
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1618
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1619 }
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
1620
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1621 /*------------------------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1622 /* The dialog for new buddy pounces */
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1623 /*------------------------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1624
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1625
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1626 void do_new_bp(GtkWidget *w, struct addbp *b)
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1627 {
2986
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1628 struct buddy_pounce *bp;
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1629
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1630 if (strlen(gtk_entry_get_text(GTK_ENTRY(b->nameentry))) == 0) {
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
1631 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
1632 return;
1292
cb84b5c6d9ab [gaim-migrate @ 1302]
Rob Flynn <gaim@robflynn.com>
parents: 1288
diff changeset
1633 }
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1634
2986
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1635 if(!b->buddy_pounce)
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1636 bp = g_new0(struct buddy_pounce, 1);
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1637 else
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1638 bp = b->buddy_pounce;
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1639
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1640
26
b9e90a914e20 [gaim-migrate @ 35]
Rob Flynn <gaim@robflynn.com>
parents: 25
diff changeset
1641 g_snprintf(bp->name, 80, "%s", gtk_entry_get_text(GTK_ENTRY(b->nameentry)));
b9e90a914e20 [gaim-migrate @ 35]
Rob Flynn <gaim@robflynn.com>
parents: 25
diff changeset
1642 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
1643 g_snprintf(bp->command, 2048, "%s", gtk_entry_get_text(GTK_ENTRY(b->commentry)));
1694
bea407767ac1 [gaim-migrate @ 1704]
Rob Flynn <gaim@robflynn.com>
parents: 1663
diff changeset
1644 g_snprintf(bp->sound, 2048, "%s", gtk_entry_get_text(GTK_ENTRY(b->soundentry)));
1139
ce935e673907 [gaim-migrate @ 1149]
Rob Flynn <gaim@robflynn.com>
parents: 1137
diff changeset
1645 g_snprintf(bp->pouncer, 80, "%s", b->user->username);
26
b9e90a914e20 [gaim-migrate @ 35]
Rob Flynn <gaim@robflynn.com>
parents: 25
diff changeset
1646
1155
f4d4a14752ee [gaim-migrate @ 1165]
Rob Flynn <gaim@robflynn.com>
parents: 1151
diff changeset
1647 bp->protocol = b->user->protocol;
f4d4a14752ee [gaim-migrate @ 1165]
Rob Flynn <gaim@robflynn.com>
parents: 1151
diff changeset
1648
1235
a9cf2f61a7b1 [gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1233
diff changeset
1649 bp->options = 0;
a9cf2f61a7b1 [gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1233
diff changeset
1650
2550
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1651 if (GTK_TOGGLE_BUTTON(b->popupnotify)->active)
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1652 bp->options |= OPT_POUNCE_NOTIFY;
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1653
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1654 if (GTK_TOGGLE_BUTTON(b->openwindow)->active)
1235
a9cf2f61a7b1 [gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1233
diff changeset
1655 bp->options |= OPT_POUNCE_POPUP;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1656
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1657 if (GTK_TOGGLE_BUTTON(b->sendim)->active)
1235
a9cf2f61a7b1 [gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1233
diff changeset
1658 bp->options |= OPT_POUNCE_SEND_IM;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1659
1229
229bf438c591 [gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1225
diff changeset
1660 if (GTK_TOGGLE_BUTTON(b->command)->active)
1235
a9cf2f61a7b1 [gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1233
diff changeset
1661 bp->options |= OPT_POUNCE_COMMAND;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1662
1694
bea407767ac1 [gaim-migrate @ 1704]
Rob Flynn <gaim@robflynn.com>
parents: 1663
diff changeset
1663 if (GTK_TOGGLE_BUTTON(b->sound)->active)
bea407767ac1 [gaim-migrate @ 1704]
Rob Flynn <gaim@robflynn.com>
parents: 1663
diff changeset
1664 bp->options |= OPT_POUNCE_SOUND;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1665
1137
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1666 if (GTK_TOGGLE_BUTTON(b->p_signon)->active)
1235
a9cf2f61a7b1 [gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1233
diff changeset
1667 bp->options |= OPT_POUNCE_SIGNON;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1668
1137
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1669 if (GTK_TOGGLE_BUTTON(b->p_unaway)->active)
1235
a9cf2f61a7b1 [gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1233
diff changeset
1670 bp->options |= OPT_POUNCE_UNAWAY;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1671
1137
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1672 if (GTK_TOGGLE_BUTTON(b->p_unidle)->active)
1235
a9cf2f61a7b1 [gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1233
diff changeset
1673 bp->options |= OPT_POUNCE_UNIDLE;
2993
7239a392486c [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2986
diff changeset
1674
7239a392486c [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2986
diff changeset
1675 if (GTK_TOGGLE_BUTTON(b->p_typing)->active)
7239a392486c [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2986
diff changeset
1676 bp->options |= OPT_POUNCE_TYPING;
1235
a9cf2f61a7b1 [gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1233
diff changeset
1677
a9cf2f61a7b1 [gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1233
diff changeset
1678 if (GTK_TOGGLE_BUTTON(b->save)->active)
a9cf2f61a7b1 [gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1233
diff changeset
1679 bp->options |= OPT_POUNCE_SAVE;
26
b9e90a914e20 [gaim-migrate @ 35]
Rob Flynn <gaim@robflynn.com>
parents: 25
diff changeset
1680
2986
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1681 if(!b->buddy_pounce)
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1682 buddy_pounces = g_list_append(buddy_pounces, bp);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1683
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1684 do_bp_menu();
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1685
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1686 destroy_dialog(NULL, b->window);
1137
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1687
786
ffb824f6cd24 [gaim-migrate @ 796]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 780
diff changeset
1688 save_prefs();
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1689 g_free(b);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1690 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1691
1139
ce935e673907 [gaim-migrate @ 1149]
Rob Flynn <gaim@robflynn.com>
parents: 1137
diff changeset
1692 static void pounce_choose(GtkWidget *opt, struct addbp *b)
ce935e673907 [gaim-migrate @ 1149]
Rob Flynn <gaim@robflynn.com>
parents: 1137
diff changeset
1693 {
ce935e673907 [gaim-migrate @ 1149]
Rob Flynn <gaim@robflynn.com>
parents: 1137
diff changeset
1694 struct aim_user *u = gtk_object_get_user_data(GTK_OBJECT(opt));
ce935e673907 [gaim-migrate @ 1149]
Rob Flynn <gaim@robflynn.com>
parents: 1137
diff changeset
1695 b->user = u;
ce935e673907 [gaim-migrate @ 1149]
Rob Flynn <gaim@robflynn.com>
parents: 1137
diff changeset
1696 }
ce935e673907 [gaim-migrate @ 1149]
Rob Flynn <gaim@robflynn.com>
parents: 1137
diff changeset
1697
2564
552a56d334ec [gaim-migrate @ 2577]
Rob Flynn <gaim@robflynn.com>
parents: 2561
diff changeset
1698 static GtkWidget *pounce_user_menu(struct addbp *b, struct gaim_connection *gc)
1137
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1699 {
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1700 GtkWidget *optmenu;
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1701 GtkWidget *menu;
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1702 GtkWidget *opt;
2397
520257562955 [gaim-migrate @ 2410]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2393
diff changeset
1703 GSList *u = aim_users;
1137
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1704 struct aim_user *a;
3082
71c88f2343a6 [gaim-migrate @ 3096]
Sean Egan <seanegan@gmail.com>
parents: 3079
diff changeset
1705 struct prpl *p;
2564
552a56d334ec [gaim-migrate @ 2577]
Rob Flynn <gaim@robflynn.com>
parents: 2561
diff changeset
1706 int count = 0;
552a56d334ec [gaim-migrate @ 2577]
Rob Flynn <gaim@robflynn.com>
parents: 2561
diff changeset
1707 int place = 0;
3082
71c88f2343a6 [gaim-migrate @ 3096]
Sean Egan <seanegan@gmail.com>
parents: 3079
diff changeset
1708 char buf[2048];
1137
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1709
3795
7469dcf5ada5 [gaim-migrate @ 3935]
Rob Flynn <gaim@robflynn.com>
parents: 3790
diff changeset
1710
1137
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1711 optmenu = gtk_option_menu_new();
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1712
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1713 menu = gtk_menu_new();
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1714
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1715 while (u) {
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1716 a = (struct aim_user *)u->data;
3082
71c88f2343a6 [gaim-migrate @ 3096]
Sean Egan <seanegan@gmail.com>
parents: 3079
diff changeset
1717 p = (struct prpl *)find_prpl(a->protocol);
3572
bdd0bebd2d04 [gaim-migrate @ 3670]
Sean Egan <seanegan@gmail.com>
parents: 3557
diff changeset
1718 g_snprintf(buf, sizeof buf, "%s (%s)", a->username, (p && p->name)?p->name:"Unknown");
3082
71c88f2343a6 [gaim-migrate @ 3096]
Sean Egan <seanegan@gmail.com>
parents: 3079
diff changeset
1719 opt = gtk_menu_item_new_with_label(buf);
1137
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1720 gtk_object_set_user_data(GTK_OBJECT(opt), a);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1721 g_signal_connect(GTK_OBJECT(opt), "activate", G_CALLBACK(pounce_choose), b);
1137
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1722 gtk_menu_append(GTK_MENU(menu), opt);
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1723 gtk_widget_show(opt);
2564
552a56d334ec [gaim-migrate @ 2577]
Rob Flynn <gaim@robflynn.com>
parents: 2561
diff changeset
1724
2598
b2800bca74fe [gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2582
diff changeset
1725 if (b->user == a) {
2564
552a56d334ec [gaim-migrate @ 2577]
Rob Flynn <gaim@robflynn.com>
parents: 2561
diff changeset
1726 gtk_menu_item_activate(GTK_MENU_ITEM(opt));
552a56d334ec [gaim-migrate @ 2577]
Rob Flynn <gaim@robflynn.com>
parents: 2561
diff changeset
1727 place = count;
552a56d334ec [gaim-migrate @ 2577]
Rob Flynn <gaim@robflynn.com>
parents: 2561
diff changeset
1728 }
552a56d334ec [gaim-migrate @ 2577]
Rob Flynn <gaim@robflynn.com>
parents: 2561
diff changeset
1729
552a56d334ec [gaim-migrate @ 2577]
Rob Flynn <gaim@robflynn.com>
parents: 2561
diff changeset
1730 count++;
552a56d334ec [gaim-migrate @ 2577]
Rob Flynn <gaim@robflynn.com>
parents: 2561
diff changeset
1731
1137
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1732 u = u->next;
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1733 }
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1734
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1735 gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), menu);
2564
552a56d334ec [gaim-migrate @ 2577]
Rob Flynn <gaim@robflynn.com>
parents: 2561
diff changeset
1736 gtk_option_menu_set_history(GTK_OPTION_MENU(optmenu), place);
1137
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1737
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1738 b->menu = optmenu;
2550
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1739
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1740 return optmenu;
1137
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1741 }
5b5d03dfa48a [gaim-migrate @ 1147]
Rob Flynn <gaim@robflynn.com>
parents: 1126
diff changeset
1742
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1743
2986
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1744 void show_new_bp(char *name, struct gaim_connection *gc, int idle, int away, struct buddy_pounce *edit_bp)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1745 {
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1746 GtkWidget *label;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1747 GtkWidget *bbox;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1748 GtkWidget *vbox;
443
a86882c351f0 [gaim-migrate @ 453]
Rob Flynn <gaim@robflynn.com>
parents: 442
diff changeset
1749 GtkWidget *button;
2550
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1750 GtkWidget *frame;
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1751 GtkWidget *table;
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1752 GtkWidget *optmenu;
3795
7469dcf5ada5 [gaim-migrate @ 3935]
Rob Flynn <gaim@robflynn.com>
parents: 3790
diff changeset
1753 GtkWidget *sep;
7469dcf5ada5 [gaim-migrate @ 3935]
Rob Flynn <gaim@robflynn.com>
parents: 3790
diff changeset
1754 GtkSizeGroup *sg;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1755
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1756 struct addbp *b = g_new0(struct addbp, 1);
2986
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1757
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1758 if(edit_bp) {
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1759 b->buddy_pounce = edit_bp;
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1760 b->user = find_user(edit_bp->pouncer, edit_bp->protocol);
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1761 } else {
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1762 b->user = gc ? gc->user : aim_users->data;
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1763 b->buddy_pounce = NULL;
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1764 }
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1765
2725
f3c094e78609 [gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2681
diff changeset
1766 GAIM_DIALOG(b->window);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1767 dialogwindows = g_list_prepend(dialogwindows, b->window);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
1768 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE);
4074
3ccbdf8e7f8d [gaim-migrate @ 4289]
Sean Egan <seanegan@gmail.com>
parents: 4061
diff changeset
1769 gtk_window_set_role(GTK_WINDOW(b->window), "new_bp");
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1770 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - New Buddy Pounce"));
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1771 g_signal_connect(GTK_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window);
1141
8f4ce8b74901 [gaim-migrate @ 1151]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1140
diff changeset
1772 gtk_widget_realize(b->window);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1773
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1774 vbox = gtk_vbox_new(FALSE, 5);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1775 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1776 gtk_container_add(GTK_CONTAINER(b->window), vbox);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1777 gtk_widget_show(vbox);
1229
229bf438c591 [gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1225
diff changeset
1778
2550
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1779 /* <pounce type="who"> */
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1780 frame = gtk_frame_new(_("Pounce Who"));
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1781 gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1782 gtk_widget_show(GTK_WIDGET(frame));
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1783
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1784 table = gtk_table_new(2, 2, FALSE);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1785 gtk_container_add(GTK_CONTAINER(frame), table);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1786 gtk_container_set_border_width(GTK_CONTAINER(table), 5);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1787 gtk_table_set_col_spacings(GTK_TABLE(table), 5);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1788 gtk_table_set_row_spacings(GTK_TABLE(table), 5);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1789 gtk_widget_show(table);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1790
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1791 label = gtk_label_new(_("Account"));
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1792 gtk_misc_set_alignment(GTK_MISC(label), 0, .5);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1793 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, GTK_FILL, 0, 0, 0);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1794 gtk_widget_show(label);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1795
2564
552a56d334ec [gaim-migrate @ 2577]
Rob Flynn <gaim@robflynn.com>
parents: 2561
diff changeset
1796 optmenu = pounce_user_menu(b, gc);
2550
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1797 gtk_table_attach(GTK_TABLE(table), optmenu, 1, 2, 0, 1, GTK_FILL | GTK_EXPAND, 0, 0, 0);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1798 gtk_widget_show(optmenu);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1799
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1800 label = gtk_label_new(_("Buddy"));
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1801 gtk_misc_set_alignment(GTK_MISC(label), 0, .5);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1802 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
1803 gtk_widget_show(label);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1804
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1805 b->nameentry = gtk_entry_new();
2550
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1806 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
1807 if (name !=NULL)
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1808 gtk_entry_set_text(GTK_ENTRY(b->nameentry), name);
2986
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1809 else if(edit_bp)
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1810 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
1811 gtk_window_set_focus(GTK_WINDOW(b->window), b->nameentry);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1812 gtk_widget_show(b->nameentry);
2550
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1813 /* </pounce type="who"> */
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1814
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1815
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1816 /* <pounce type="when"> */
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1817 frame = gtk_frame_new(_("Pounce When"));
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1818 gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1819 gtk_widget_show(GTK_WIDGET(frame));
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1820
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1821 table = gtk_table_new(2, 2, FALSE);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1822 gtk_container_add(GTK_CONTAINER(frame), table);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1823 gtk_container_set_border_width(GTK_CONTAINER(table), 5);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1824 gtk_table_set_col_spacings(GTK_TABLE(table), 5);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1825 gtk_widget_show(table);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1826
1229
229bf438c591 [gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1225
diff changeset
1827 b->p_signon = gtk_check_button_new_with_label(_("Pounce on sign on"));
2986
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1828 if(edit_bp)
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1829 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->p_signon),
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1830 (edit_bp->options & OPT_POUNCE_SIGNON) ? TRUE : FALSE);
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1831 else
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1832 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->p_signon), TRUE);
2550
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1833 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
1834 gtk_widget_show(b->p_signon);
229bf438c591 [gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1225
diff changeset
1835
229bf438c591 [gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1225
diff changeset
1836 b->p_unaway = gtk_check_button_new_with_label(_("Pounce on return from away"));
2564
552a56d334ec [gaim-migrate @ 2577]
Rob Flynn <gaim@robflynn.com>
parents: 2561
diff changeset
1837 if (away)
552a56d334ec [gaim-migrate @ 2577]
Rob Flynn <gaim@robflynn.com>
parents: 2561
diff changeset
1838 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->p_unaway), TRUE);
2986
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1839 else if(edit_bp)
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1840 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->p_unaway),
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1841 (edit_bp->options & OPT_POUNCE_UNAWAY) ? TRUE : FALSE);
2550
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1842 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
1843 gtk_widget_show(b->p_unaway);
229bf438c591 [gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1225
diff changeset
1844
229bf438c591 [gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1225
diff changeset
1845 b->p_unidle = gtk_check_button_new_with_label(_("Pounce on return from idle"));
2564
552a56d334ec [gaim-migrate @ 2577]
Rob Flynn <gaim@robflynn.com>
parents: 2561
diff changeset
1846 if (idle)
552a56d334ec [gaim-migrate @ 2577]
Rob Flynn <gaim@robflynn.com>
parents: 2561
diff changeset
1847 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->p_unidle), TRUE);
2986
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1848 else if(edit_bp)
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1849 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->p_unidle),
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1850 (edit_bp->options & OPT_POUNCE_UNIDLE) ? TRUE : FALSE);
2550
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1851 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
1852 gtk_widget_show(b->p_unidle);
2993
7239a392486c [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2986
diff changeset
1853
7239a392486c [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2986
diff changeset
1854 b->p_typing = gtk_check_button_new_with_label(_("Pounce when buddy is typing to you"));
2996
f42b738368bb [gaim-migrate @ 3009]
Sean Egan <seanegan@gmail.com>
parents: 2995
diff changeset
1855 if (edit_bp)
f42b738368bb [gaim-migrate @ 3009]
Sean Egan <seanegan@gmail.com>
parents: 2995
diff changeset
1856 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->p_typing),
f42b738368bb [gaim-migrate @ 3009]
Sean Egan <seanegan@gmail.com>
parents: 2995
diff changeset
1857 (edit_bp->options & OPT_POUNCE_TYPING) ? TRUE : FALSE);
2993
7239a392486c [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2986
diff changeset
1858 gtk_table_attach(GTK_TABLE(table), b->p_typing,1,2,1,2, GTK_FILL | GTK_EXPAND, 0, 0, 0);
7239a392486c [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2986
diff changeset
1859 gtk_widget_show(b->p_typing);
7239a392486c [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2986
diff changeset
1860
2550
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1861 /* </pounce type="when"> */
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1862
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1863 /* <pounce type="action"> */
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1864 frame = gtk_frame_new(_("Pounce Action"));
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1865 gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1866 gtk_widget_show(GTK_WIDGET(frame));
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1867
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1868 table = gtk_table_new(4, 2, FALSE);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1869 gtk_container_add(GTK_CONTAINER(frame), table);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1870 gtk_container_set_border_width(GTK_CONTAINER(table), 5);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1871 gtk_table_set_col_spacings(GTK_TABLE(table), 5);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1872 gtk_table_set_row_spacings(GTK_TABLE(table), 5);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1873 gtk_widget_show(table);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1874
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1875 b->openwindow = gtk_check_button_new_with_label(_("Open IM Window"));
2986
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1876 if(edit_bp)
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1877 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->openwindow),
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1878 (edit_bp->options & OPT_POUNCE_POPUP) ? TRUE : FALSE);
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1879 else
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1880 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->openwindow), FALSE);
2550
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1881 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
1882 gtk_widget_show(b->openwindow);
2986
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1883
2550
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1884 b->popupnotify = gtk_check_button_new_with_label(_("Popup Notification"));
2986
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1885 if(edit_bp)
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1886 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->popupnotify),
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1887 (edit_bp->options & OPT_POUNCE_NOTIFY) ? TRUE : FALSE);
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1888 else
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1889 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->popupnotify), FALSE);
2550
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1890 gtk_table_attach(GTK_TABLE(table), b->popupnotify, 1, 2, 0, 1, GTK_FILL, 0, 0, 0);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1891 gtk_widget_show(b->popupnotify);
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1892
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1893 b->sendim = gtk_check_button_new_with_label(_("Send Message"));
2986
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1894 if(edit_bp)
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1895 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->sendim),
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1896 (edit_bp->options & OPT_POUNCE_SEND_IM) ? TRUE : FALSE);
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1897 else
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1898 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->sendim), TRUE);
2550
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1899 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
1900 gtk_widget_show(b->sendim);
229bf438c591 [gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1225
diff changeset
1901
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1902 b->messentry = gtk_entry_new();
2550
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1903 gtk_table_attach(GTK_TABLE(table), b->messentry, 1, 2, 1, 2, GTK_FILL | GTK_EXPAND, 0, 0, 0);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1904 g_signal_connect(GTK_OBJECT(b->messentry), "activate", G_CALLBACK(do_new_bp), b);
2986
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1905 if(edit_bp) {
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1906 gtk_widget_set_sensitive(GTK_WIDGET(b->messentry),
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1907 (edit_bp->options & OPT_POUNCE_SEND_IM) ? TRUE : FALSE);
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1908 gtk_entry_set_text(GTK_ENTRY(b->messentry), edit_bp->message);
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1909 }
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1910 gtk_widget_show(b->messentry);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1911
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1912 g_signal_connect(GTK_OBJECT(b->sendim), "clicked", G_CALLBACK(toggle_sensitive), b->messentry);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1913
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1914 b->command = gtk_check_button_new_with_label(_("Execute command on pounce"));
2550
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1915 gtk_table_attach(GTK_TABLE(table), b->command, 0, 1, 2, 3, GTK_FILL, 0, 0, 0);
2986
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1916 if(edit_bp)
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1917 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->command),
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1918 (edit_bp->options & OPT_POUNCE_COMMAND) ? TRUE : FALSE);
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1919 else
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1920 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
1921 gtk_widget_show(b->command);
229bf438c591 [gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1225
diff changeset
1922
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1923 b->commentry = gtk_entry_new();
2550
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1924 gtk_table_attach(GTK_TABLE(table), b->commentry, 1, 2, 2, 3, GTK_FILL | GTK_EXPAND, 0, 0, 0);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1925 g_signal_connect(GTK_OBJECT(b->commentry), "activate", G_CALLBACK(do_new_bp), b);
2986
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1926 if(edit_bp) {
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1927 gtk_widget_set_sensitive(GTK_WIDGET(b->commentry),
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1928 (edit_bp->options & OPT_POUNCE_COMMAND) ? TRUE : FALSE);
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1929 gtk_entry_set_text(GTK_ENTRY(b->commentry), edit_bp->command);
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1930 }
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1931 else
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1932 gtk_widget_set_sensitive(GTK_WIDGET(b->commentry), FALSE);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1933 gtk_widget_show(b->commentry);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1934 g_signal_connect(GTK_OBJECT(b->command), "clicked", G_CALLBACK(toggle_sensitive), b->commentry);
2986
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1935
1694
bea407767ac1 [gaim-migrate @ 1704]
Rob Flynn <gaim@robflynn.com>
parents: 1663
diff changeset
1936 b->sound = gtk_check_button_new_with_label(_("Play sound on pounce"));
2986
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1937 if(edit_bp)
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1938 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->sound),
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1939 (edit_bp->options & OPT_POUNCE_SOUND) ? TRUE : FALSE);
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1940 else
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1941 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->sound), FALSE);
2550
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1942 gtk_table_attach(GTK_TABLE(table), b->sound, 0, 1, 3, 4, GTK_FILL, 0, 0, 0);
1694
bea407767ac1 [gaim-migrate @ 1704]
Rob Flynn <gaim@robflynn.com>
parents: 1663
diff changeset
1943 gtk_widget_show(b->sound);
bea407767ac1 [gaim-migrate @ 1704]
Rob Flynn <gaim@robflynn.com>
parents: 1663
diff changeset
1944
bea407767ac1 [gaim-migrate @ 1704]
Rob Flynn <gaim@robflynn.com>
parents: 1663
diff changeset
1945 b->soundentry = gtk_entry_new();
2550
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1946 gtk_table_attach(GTK_TABLE(table), b->soundentry, 1, 2, 3, 4, GTK_FILL | GTK_EXPAND, 0, 0, 0);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1947 g_signal_connect(GTK_OBJECT(b->soundentry), "activate", G_CALLBACK(do_new_bp), b);
2986
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1948 if(edit_bp) {
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1949 gtk_widget_set_sensitive(GTK_WIDGET(b->soundentry),
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1950 (edit_bp->options & OPT_POUNCE_SOUND) ? TRUE : FALSE);
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1951 gtk_entry_set_text(GTK_ENTRY(b->soundentry), edit_bp->sound);
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1952 } else
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1953 gtk_widget_set_sensitive(GTK_WIDGET(b->soundentry), FALSE);
1694
bea407767ac1 [gaim-migrate @ 1704]
Rob Flynn <gaim@robflynn.com>
parents: 1663
diff changeset
1954 gtk_widget_show(b->soundentry);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1955 g_signal_connect(GTK_OBJECT(b->sound), "clicked", G_CALLBACK(toggle_sensitive), b->soundentry);
2550
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1956 /* </pounce type="action"> */
1229
229bf438c591 [gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1225
diff changeset
1957
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1958 b->save = gtk_check_button_new_with_label(_("Save this pounce after activation"));
2550
01dad6d8ba5b [gaim-migrate @ 2563]
Rob Flynn <gaim@robflynn.com>
parents: 2534
diff changeset
1959 gtk_container_set_border_width(GTK_CONTAINER(b->save), 7);
2986
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1960 if(edit_bp)
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1961 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->save),
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1962 (edit_bp->options & OPT_POUNCE_SAVE) ? TRUE : FALSE);
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1963 else
1c6a3516e1ff [gaim-migrate @ 2999]
Rob Flynn <gaim@robflynn.com>
parents: 2975
diff changeset
1964 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
1965 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
1966 gtk_widget_show(b->save);
a9cf2f61a7b1 [gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1233
diff changeset
1967
3795
7469dcf5ada5 [gaim-migrate @ 3935]
Rob Flynn <gaim@robflynn.com>
parents: 3790
diff changeset
1968 sep = gtk_hseparator_new();
7469dcf5ada5 [gaim-migrate @ 3935]
Rob Flynn <gaim@robflynn.com>
parents: 3790
diff changeset
1969 gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0);
7469dcf5ada5 [gaim-migrate @ 3935]
Rob Flynn <gaim@robflynn.com>
parents: 3790
diff changeset
1970 gtk_widget_show(sep);
7469dcf5ada5 [gaim-migrate @ 3935]
Rob Flynn <gaim@robflynn.com>
parents: 3790
diff changeset
1971
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1972 bbox = gtk_hbox_new(FALSE, 5);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1973 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1974 gtk_widget_show(bbox);
443
a86882c351f0 [gaim-migrate @ 453]
Rob Flynn <gaim@robflynn.com>
parents: 442
diff changeset
1975
3795
7469dcf5ada5 [gaim-migrate @ 3935]
Rob Flynn <gaim@robflynn.com>
parents: 3790
diff changeset
1976 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
7469dcf5ada5 [gaim-migrate @ 3935]
Rob Flynn <gaim@robflynn.com>
parents: 3790
diff changeset
1977
4011
a870a2a0bc5b [gaim-migrate @ 4211]
Luke Schierer <lschiere@pidgin.im>
parents: 3926
diff changeset
1978 button = gaim_pixbuf_button_from_stock(_("_Save"), "gtk-execute", GAIM_BUTTON_HORIZONTAL);
3795
7469dcf5ada5 [gaim-migrate @ 3935]
Rob Flynn <gaim@robflynn.com>
parents: 3790
diff changeset
1979 gtk_size_group_add_widget(sg, button);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1980 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(do_new_bp), b);
3795
7469dcf5ada5 [gaim-migrate @ 3935]
Rob Flynn <gaim@robflynn.com>
parents: 3790
diff changeset
1981 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0);
7469dcf5ada5 [gaim-migrate @ 3935]
Rob Flynn <gaim@robflynn.com>
parents: 3790
diff changeset
1982 gtk_widget_show(button);
7469dcf5ada5 [gaim-migrate @ 3935]
Rob Flynn <gaim@robflynn.com>
parents: 3790
diff changeset
1983
7469dcf5ada5 [gaim-migrate @ 3935]
Rob Flynn <gaim@robflynn.com>
parents: 3790
diff changeset
1984 button = gaim_pixbuf_button_from_stock(_("C_ancel"), "gtk-cancel", GAIM_BUTTON_HORIZONTAL);
7469dcf5ada5 [gaim-migrate @ 3935]
Rob Flynn <gaim@robflynn.com>
parents: 3790
diff changeset
1985 gtk_size_group_add_widget(sg, button);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1986 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(destroy_dialog), b->window);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
1987 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0);
3795
7469dcf5ada5 [gaim-migrate @ 3935]
Rob Flynn <gaim@robflynn.com>
parents: 3790
diff changeset
1988 gtk_widget_show(button);
7469dcf5ada5 [gaim-migrate @ 3935]
Rob Flynn <gaim@robflynn.com>
parents: 3790
diff changeset
1989
443
a86882c351f0 [gaim-migrate @ 453]
Rob Flynn <gaim@robflynn.com>
parents: 442
diff changeset
1990
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1991 gtk_widget_show(b->window);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1992 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1993
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1994
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1995
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1996 /*------------------------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1997 /* The dialog for SET INFO / SET DIR INFO */
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1998 /*------------------------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1999
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2000 void do_save_info(GtkWidget *widget, struct set_info_dlg *b)
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2001 {
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2002 gchar *junk;
960
fa681641643d [gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 940
diff changeset
2003 struct gaim_connection *gc;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2004
4119
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
2005 junk = gtk_text_view_get_text(GTK_TEXT_VIEW(b->text), FALSE);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2006
960
fa681641643d [gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 940
diff changeset
2007 if (b->user) {
1292
cb84b5c6d9ab [gaim-migrate @ 1302]
Rob Flynn <gaim@robflynn.com>
parents: 1288
diff changeset
2008 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
2009 gc = b->user->gc;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2010
960
fa681641643d [gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 940
diff changeset
2011 save_prefs();
fa681641643d [gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 940
diff changeset
2012
1292
cb84b5c6d9ab [gaim-migrate @ 1302]
Rob Flynn <gaim@robflynn.com>
parents: 1288
diff changeset
2013 if (gc)
cb84b5c6d9ab [gaim-migrate @ 1302]
Rob Flynn <gaim@robflynn.com>
parents: 1288
diff changeset
2014 serv_set_info(gc, b->user->user_info);
122
521db4bf5f28 [gaim-migrate @ 132]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 84
diff changeset
2015 }
25
c56db1b46b0d [gaim-migrate @ 34]
Rob Flynn <gaim@robflynn.com>
parents: 24
diff changeset
2016 g_free(junk);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2017 destroy_dialog(NULL, b->window);
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2018 g_free(b);
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2019 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2020
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2021 void do_set_dir(GtkWidget *widget, struct set_dir_dlg *b)
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2022 {
3466
7a3f16a375a5 [gaim-migrate @ 3516]
Sean Egan <seanegan@gmail.com>
parents: 3427
diff changeset
2023 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
2024 int web = GTK_TOGGLE_BUTTON(b->web)->active;
3466
7a3f16a375a5 [gaim-migrate @ 3516]
Sean Egan <seanegan@gmail.com>
parents: 3427
diff changeset
2025 const char *middle = gtk_entry_get_text(GTK_ENTRY(b->middle));
7a3f16a375a5 [gaim-migrate @ 3516]
Sean Egan <seanegan@gmail.com>
parents: 3427
diff changeset
2026 const char *last = gtk_entry_get_text(GTK_ENTRY(b->last));
7a3f16a375a5 [gaim-migrate @ 3516]
Sean Egan <seanegan@gmail.com>
parents: 3427
diff changeset
2027 const char *maiden = gtk_entry_get_text(GTK_ENTRY(b->maiden));
7a3f16a375a5 [gaim-migrate @ 3516]
Sean Egan <seanegan@gmail.com>
parents: 3427
diff changeset
2028 const char *city = gtk_entry_get_text(GTK_ENTRY(b->city));
7a3f16a375a5 [gaim-migrate @ 3516]
Sean Egan <seanegan@gmail.com>
parents: 3427
diff changeset
2029 const char *state = gtk_entry_get_text(GTK_ENTRY(b->state));
7a3f16a375a5 [gaim-migrate @ 3516]
Sean Egan <seanegan@gmail.com>
parents: 3427
diff changeset
2030 const char *country = gtk_entry_get_text(GTK_ENTRY(b->country));
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2031
1499
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2032 serv_set_dir(b->gc, first, middle, last, maiden, city, state, country, web);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2033
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2034 destroy_dialog(NULL, b->window);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2035 g_free(b);
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2036 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2037
1499
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2038 void show_set_dir(struct gaim_connection *gc)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2039 {
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2040 GtkWidget *label;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2041 GtkWidget *bot;
484
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2042 GtkWidget *vbox;
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2043 GtkWidget *hbox;
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2044 GtkWidget *frame;
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2045 GtkWidget *fbox;
1499
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2046 char buf[256];
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2047
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2048 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
2049 b->gc = gc;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2050
2725
f3c094e78609 [gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2681
diff changeset
2051 GAIM_DIALOG(b->window);
1499
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2052 dialogwindows = g_list_prepend(dialogwindows, b->window);
4074
3ccbdf8e7f8d [gaim-migrate @ 4289]
Sean Egan <seanegan@gmail.com>
parents: 4061
diff changeset
2053 gtk_window_set_role(GTK_WINDOW(b->window), "set_dir");
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2054 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
2055 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Set Dir Info"));
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2056 g_signal_connect(GTK_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2057 gtk_widget_realize(b->window);
1499
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2058
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2059 fbox = gtk_vbox_new(FALSE, 5);
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2060 gtk_container_add(GTK_CONTAINER(b->window), fbox);
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2061 gtk_widget_show(fbox);
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2062
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2063 frame = gtk_frame_new(_("Directory Info"));
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2064 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5);
1499
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2065 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 0);
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2066 gtk_widget_show(frame);
484
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2067
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2068 vbox = gtk_vbox_new(FALSE, 5);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2069 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5);
1499
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2070 gtk_container_add(GTK_CONTAINER(frame), vbox);
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2071 gtk_widget_show(vbox);
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2072
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2073 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
2074 label = gtk_label_new(buf);
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2075 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5);
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2076 gtk_widget_show(label);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2077
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2078 b->first = gtk_entry_new();
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2079 b->middle = gtk_entry_new();
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2080 b->last = gtk_entry_new();
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2081 b->maiden = gtk_entry_new();
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2082 b->city = gtk_entry_new();
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2083 b->state = gtk_entry_new();
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2084 b->country = gtk_entry_new();
350
fd3cc0a28d5d [gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 349
diff changeset
2085 b->web = gtk_check_button_new_with_label(_("Allow Web Searches To Find Your Info"));
484
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2086
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2087 /* Line 1 */
350
fd3cc0a28d5d [gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 349
diff changeset
2088 label = gtk_label_new(_("First Name"));
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2089 gtk_widget_show(label);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2090
484
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2091 hbox = gtk_hbox_new(FALSE, 5);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2092 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2093 gtk_box_pack_end(GTK_BOX(hbox), b->first, FALSE, FALSE, 0);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2094
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2095 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
484
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2096 gtk_widget_show(hbox);
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2097
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2098 /* Line 2 */
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2099 label = gtk_label_new(_("Middle Name"));
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2100 gtk_widget_show(label);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2101
484
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2102 hbox = gtk_hbox_new(FALSE, 5);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2103 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2104 gtk_box_pack_end(GTK_BOX(hbox), b->middle, FALSE, FALSE, 0);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2105
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2106 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
484
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2107 gtk_widget_show(hbox);
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2108
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2109
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2110 /* Line 3 */
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2111 label = gtk_label_new(_("Last Name"));
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2112 gtk_widget_show(label);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2113
484
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2114 hbox = gtk_hbox_new(FALSE, 5);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2115 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2116 gtk_box_pack_end(GTK_BOX(hbox), b->last, FALSE, FALSE, 0);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2117
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2118 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
484
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2119 gtk_widget_show(hbox);
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2120
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2121 /* Line 4 */
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2122 label = gtk_label_new(_("Maiden Name"));
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2123 gtk_widget_show(label);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2124
484
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2125 hbox = gtk_hbox_new(FALSE, 5);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2126 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2127 gtk_box_pack_end(GTK_BOX(hbox), b->maiden, FALSE, FALSE, 0);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2128
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2129 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
484
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2130 gtk_widget_show(hbox);
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2131
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2132 /* Line 5 */
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2133 label = gtk_label_new(_("City"));
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2134 gtk_widget_show(label);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2135
484
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2136 hbox = gtk_hbox_new(FALSE, 5);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2137 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2138 gtk_box_pack_end(GTK_BOX(hbox), b->city, FALSE, FALSE, 0);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2139
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2140 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
484
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2141 gtk_widget_show(hbox);
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2142
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2143 /* Line 6 */
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2144 label = gtk_label_new(_("State"));
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2145 gtk_widget_show(label);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2146
484
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2147 hbox = gtk_hbox_new(FALSE, 5);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2148 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2149 gtk_box_pack_end(GTK_BOX(hbox), b->state, FALSE, FALSE, 0);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2150
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2151 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
484
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2152 gtk_widget_show(hbox);
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2153
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2154 /* Line 7 */
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2155 label = gtk_label_new(_("Country"));
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2156 gtk_widget_show(label);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2157
484
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2158 hbox = gtk_hbox_new(FALSE, 5);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2159 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2160 gtk_box_pack_end(GTK_BOX(hbox), b->country, FALSE, FALSE, 0);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2161
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2162 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
484
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2163 gtk_widget_show(hbox);
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2164
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2165 /* Line 8 */
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2166
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2167 hbox = gtk_hbox_new(FALSE, 5);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2168 gtk_box_pack_start(GTK_BOX(hbox), b->web, TRUE, TRUE, 0);
484
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2169 gtk_widget_show(hbox);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2170 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
484
a9e485c388c4 [gaim-migrate @ 494]
Rob Flynn <gaim@robflynn.com>
parents: 483
diff changeset
2171
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2172 gtk_widget_show(b->first);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2173 gtk_widget_show(b->middle);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2174 gtk_widget_show(b->last);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2175 gtk_widget_show(b->maiden);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2176 gtk_widget_show(b->city);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2177 gtk_widget_show(b->state);
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2178 gtk_widget_show(b->country);
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2179 gtk_widget_show(b->web);
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2180
1499
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2181 /* And add the buttons */
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2182
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2183 bot = gtk_hbox_new(FALSE, 5);
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2184 gtk_box_pack_start(GTK_BOX(fbox), bot, FALSE, FALSE, 0);
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2185 gtk_widget_show(bot);
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2186
4092
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
2187 b->save = picture_button(b->window, _("Save"), save_xpm);
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
2188 gtk_box_pack_end(GTK_BOX(bot), b->save, FALSE, FALSE, 0);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2189 g_signal_connect(GTK_OBJECT(b->save), "clicked", G_CALLBACK(do_set_dir), b);
4092
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
2190
1499
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2191 b->cancel = picture_button(b->window, _("Cancel"), cancel_xpm);
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2192 gtk_box_pack_end(GTK_BOX(bot), b->cancel, FALSE, FALSE, 0);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2193 g_signal_connect(GTK_OBJECT(b->cancel), "clicked", G_CALLBACK(destroy_dialog), b->window);
1499
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2194
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2195 gtk_window_set_focus(GTK_WINDOW(b->window), b->first);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2196
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2197 gtk_widget_show(b->window);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2198 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2199
149
9d684979f507 [gaim-migrate @ 159]
Rob Flynn <gaim@robflynn.com>
parents: 146
diff changeset
2200 void do_change_password(GtkWidget *widget, struct passwddlg *b)
9d684979f507 [gaim-migrate @ 159]
Rob Flynn <gaim@robflynn.com>
parents: 146
diff changeset
2201 {
3466
7a3f16a375a5 [gaim-migrate @ 3516]
Sean Egan <seanegan@gmail.com>
parents: 3427
diff changeset
2202 const gchar *orig, *new1, *new2;
149
9d684979f507 [gaim-migrate @ 159]
Rob Flynn <gaim@robflynn.com>
parents: 146
diff changeset
2203
9d684979f507 [gaim-migrate @ 159]
Rob Flynn <gaim@robflynn.com>
parents: 146
diff changeset
2204 orig = gtk_entry_get_text(GTK_ENTRY(b->original));
9d684979f507 [gaim-migrate @ 159]
Rob Flynn <gaim@robflynn.com>
parents: 146
diff changeset
2205 new1 = gtk_entry_get_text(GTK_ENTRY(b->new1));
9d684979f507 [gaim-migrate @ 159]
Rob Flynn <gaim@robflynn.com>
parents: 146
diff changeset
2206 new2 = gtk_entry_get_text(GTK_ENTRY(b->new2));
9d684979f507 [gaim-migrate @ 159]
Rob Flynn <gaim@robflynn.com>
parents: 146
diff changeset
2207
2048
3366311426df [gaim-migrate @ 2058]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1979
diff changeset
2208 if (g_strcasecmp(new1, new2)) {
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
2209 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
2210 return;
149
9d684979f507 [gaim-migrate @ 159]
Rob Flynn <gaim@robflynn.com>
parents: 146
diff changeset
2211 }
9d684979f507 [gaim-migrate @ 159]
Rob Flynn <gaim@robflynn.com>
parents: 146
diff changeset
2212
9d684979f507 [gaim-migrate @ 159]
Rob Flynn <gaim@robflynn.com>
parents: 146
diff changeset
2213 if ((strlen(orig) < 1) || (strlen(new1) < 1) || (strlen(new2) < 1)) {
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
2214 do_error_dialog(_("Fill out all fields completely"), NULL, GAIM_ERROR);
149
9d684979f507 [gaim-migrate @ 159]
Rob Flynn <gaim@robflynn.com>
parents: 146
diff changeset
2215 return;
9d684979f507 [gaim-migrate @ 159]
Rob Flynn <gaim@robflynn.com>
parents: 146
diff changeset
2216 }
9d684979f507 [gaim-migrate @ 159]
Rob Flynn <gaim@robflynn.com>
parents: 146
diff changeset
2217
978
563c409e26a1 [gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 976
diff changeset
2218 serv_change_passwd(b->gc, orig, new1);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2219
149
9d684979f507 [gaim-migrate @ 159]
Rob Flynn <gaim@robflynn.com>
parents: 146
diff changeset
2220 destroy_dialog(NULL, b->window);
9d684979f507 [gaim-migrate @ 159]
Rob Flynn <gaim@robflynn.com>
parents: 146
diff changeset
2221 g_free(b);
9d684979f507 [gaim-migrate @ 159]
Rob Flynn <gaim@robflynn.com>
parents: 146
diff changeset
2222 }
9d684979f507 [gaim-migrate @ 159]
Rob Flynn <gaim@robflynn.com>
parents: 146
diff changeset
2223
1499
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2224 void show_change_passwd(struct gaim_connection *gc)
146
99248fb977c2 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
2225 {
99248fb977c2 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
2226 GtkWidget *hbox;
99248fb977c2 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
2227 GtkWidget *label;
99248fb977c2 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
2228 GtkWidget *vbox;
475
f5772f2d83ee [gaim-migrate @ 485]
Rob Flynn <gaim@robflynn.com>
parents: 471
diff changeset
2229 GtkWidget *fbox;
f5772f2d83ee [gaim-migrate @ 485]
Rob Flynn <gaim@robflynn.com>
parents: 471
diff changeset
2230 GtkWidget *frame;
1499
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2231 char buf[256];
454
c9d87901afff [gaim-migrate @ 464]
Rob Flynn <gaim@robflynn.com>
parents: 452
diff changeset
2232
146
99248fb977c2 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
2233 struct passwddlg *b = g_new0(struct passwddlg, 1);
1499
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2234 b->gc = gc;
146
99248fb977c2 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
2235
2725
f3c094e78609 [gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2681
diff changeset
2236 GAIM_DIALOG(b->window);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2237 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE);
4074
3ccbdf8e7f8d [gaim-migrate @ 4289]
Sean Egan <seanegan@gmail.com>
parents: 4061
diff changeset
2238 gtk_window_set_role(GTK_WINDOW(b->window), "change_passwd");
978
563c409e26a1 [gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 976
diff changeset
2239 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Password Change"));
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2240 g_signal_connect(GTK_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window);
978
563c409e26a1 [gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 976
diff changeset
2241 gtk_widget_realize(b->window);
146
99248fb977c2 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
2242 dialogwindows = g_list_prepend(dialogwindows, b->window);
149
9d684979f507 [gaim-migrate @ 159]
Rob Flynn <gaim@robflynn.com>
parents: 146
diff changeset
2243
978
563c409e26a1 [gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 976
diff changeset
2244 fbox = gtk_vbox_new(FALSE, 5);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2245 gtk_container_border_width(GTK_CONTAINER(fbox), 5);
978
563c409e26a1 [gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 976
diff changeset
2246 gtk_container_add(GTK_CONTAINER(b->window), fbox);
563c409e26a1 [gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 976
diff changeset
2247 gtk_widget_show(fbox);
563c409e26a1 [gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 976
diff changeset
2248
475
f5772f2d83ee [gaim-migrate @ 485]
Rob Flynn <gaim@robflynn.com>
parents: 471
diff changeset
2249 frame = gtk_frame_new(_("Change Password"));
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2250 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
2251 gtk_widget_show(frame);
563c409e26a1 [gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 976
diff changeset
2252
475
f5772f2d83ee [gaim-migrate @ 485]
Rob Flynn <gaim@robflynn.com>
parents: 471
diff changeset
2253 vbox = gtk_vbox_new(FALSE, 5);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2254 gtk_container_border_width(GTK_CONTAINER(vbox), 5);
978
563c409e26a1 [gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 976
diff changeset
2255 gtk_container_add(GTK_CONTAINER(frame), vbox);
563c409e26a1 [gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 976
diff changeset
2256 gtk_widget_show(vbox);
563c409e26a1 [gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 976
diff changeset
2257
1499
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2258 g_snprintf(buf, sizeof(buf), "Changing password for %s:", gc->username);
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2259 label = gtk_label_new(buf);
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2260 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5);
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2261 gtk_widget_show(label);
978
563c409e26a1 [gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 976
diff changeset
2262
475
f5772f2d83ee [gaim-migrate @ 485]
Rob Flynn <gaim@robflynn.com>
parents: 471
diff changeset
2263 /* First Line */
f5772f2d83ee [gaim-migrate @ 485]
Rob Flynn <gaim@robflynn.com>
parents: 471
diff changeset
2264 hbox = gtk_hbox_new(FALSE, 5);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2265 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
2266 gtk_widget_show(hbox);
563c409e26a1 [gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 976
diff changeset
2267
350
fd3cc0a28d5d [gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 349
diff changeset
2268 label = gtk_label_new(_("Original Password"));
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2269 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
146
99248fb977c2 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
2270 gtk_widget_show(label);
475
f5772f2d83ee [gaim-migrate @ 485]
Rob Flynn <gaim@robflynn.com>
parents: 471
diff changeset
2271
146
99248fb977c2 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
2272 b->original = gtk_entry_new();
160
aaa8f0a2140e [gaim-migrate @ 170]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 149
diff changeset
2273 gtk_entry_set_visibility(GTK_ENTRY(b->original), FALSE);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2274 gtk_box_pack_end(GTK_BOX(hbox), b->original, FALSE, FALSE, 0);
149
9d684979f507 [gaim-migrate @ 159]
Rob Flynn <gaim@robflynn.com>
parents: 146
diff changeset
2275 gtk_widget_show(b->original);
475
f5772f2d83ee [gaim-migrate @ 485]
Rob Flynn <gaim@robflynn.com>
parents: 471
diff changeset
2276
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2277 /* Next Line */
475
f5772f2d83ee [gaim-migrate @ 485]
Rob Flynn <gaim@robflynn.com>
parents: 471
diff changeset
2278 hbox = gtk_hbox_new(FALSE, 5);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2279 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
2280 gtk_widget_show(hbox);
563c409e26a1 [gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 976
diff changeset
2281
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2282 label = gtk_label_new(_("New Password"));
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2283 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
2284 gtk_widget_show(label);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2285
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2286 b->new1 = gtk_entry_new();
160
aaa8f0a2140e [gaim-migrate @ 170]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 149
diff changeset
2287 gtk_entry_set_visibility(GTK_ENTRY(b->new1), FALSE);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2288 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
2289 gtk_widget_show(b->new1);
475
f5772f2d83ee [gaim-migrate @ 485]
Rob Flynn <gaim@robflynn.com>
parents: 471
diff changeset
2290
f5772f2d83ee [gaim-migrate @ 485]
Rob Flynn <gaim@robflynn.com>
parents: 471
diff changeset
2291 /* Next Line */
f5772f2d83ee [gaim-migrate @ 485]
Rob Flynn <gaim@robflynn.com>
parents: 471
diff changeset
2292 hbox = gtk_hbox_new(FALSE, 5);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2293 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
2294 gtk_widget_show(hbox);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2295
475
f5772f2d83ee [gaim-migrate @ 485]
Rob Flynn <gaim@robflynn.com>
parents: 471
diff changeset
2296 label = gtk_label_new(_("New Password (again)"));
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2297 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
2298 gtk_widget_show(label);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2299
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2300 b->new2 = gtk_entry_new();
160
aaa8f0a2140e [gaim-migrate @ 170]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 149
diff changeset
2301 gtk_entry_set_visibility(GTK_ENTRY(b->new2), FALSE);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2302 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
2303 gtk_widget_show(b->new2);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2304
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2305 /* Now do our row of buttons */
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2306 hbox = gtk_hbox_new(FALSE, 5);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2307 gtk_box_pack_start(GTK_BOX(fbox), hbox, FALSE, FALSE, 0);
146
99248fb977c2 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
2308 gtk_widget_show(hbox);
475
f5772f2d83ee [gaim-migrate @ 485]
Rob Flynn <gaim@robflynn.com>
parents: 471
diff changeset
2309
4092
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
2310 b->ok = picture_button(b->window, _("OK"), ok_xpm);
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
2311 gtk_box_pack_end(GTK_BOX(hbox), b->ok, FALSE, FALSE, 0);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2312 g_signal_connect(GTK_OBJECT(b->ok), "clicked", G_CALLBACK(do_change_password), b);
4092
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
2313
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2314 b->cancel = picture_button(b->window, _("Cancel"), cancel_xpm);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2315 gtk_box_pack_end(GTK_BOX(hbox), b->cancel, FALSE, FALSE, 0);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2316 g_signal_connect(GTK_OBJECT(b->cancel), "clicked", G_CALLBACK(destroy_dialog), b->window);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2317
978
563c409e26a1 [gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 976
diff changeset
2318 gtk_widget_show(b->window);
146
99248fb977c2 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
2319 }
99248fb977c2 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
2320
1499
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2321 void show_set_info(struct gaim_connection *gc)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2322 {
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2323 GtkWidget *buttons;
1499
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2324 GtkWidget *label;
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2325 GtkWidget *vbox;
4119
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
2326 GtkTextBuffer *buffer;
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
2327 GtkWidget *frame;
1292
cb84b5c6d9ab [gaim-migrate @ 1302]
Rob Flynn <gaim@robflynn.com>
parents: 1288
diff changeset
2328 gchar *buf;
cb84b5c6d9ab [gaim-migrate @ 1302]
Rob Flynn <gaim@robflynn.com>
parents: 1288
diff changeset
2329 struct aim_user *tmp;
cb84b5c6d9ab [gaim-migrate @ 1302]
Rob Flynn <gaim@robflynn.com>
parents: 1288
diff changeset
2330
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2331 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
2332 tmp = gc->user;
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2333 b->user = tmp;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2334
2725
f3c094e78609 [gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2681
diff changeset
2335 GAIM_DIALOG(b->window);
4074
3ccbdf8e7f8d [gaim-migrate @ 4289]
Sean Egan <seanegan@gmail.com>
parents: 4061
diff changeset
2336 gtk_window_set_role(GTK_WINDOW(b->window), "set_info");
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2337 dialogwindows = g_list_prepend(dialogwindows, b->window);
1499
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2338 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Set User Info"));
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2339 g_signal_connect(GTK_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window);
960
fa681641643d [gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 940
diff changeset
2340 gtk_widget_realize(b->window);
1499
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2341
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2342 vbox = gtk_vbox_new(FALSE, 5);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2343 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5);
1499
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2344 gtk_container_add(GTK_CONTAINER(b->window), vbox);
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2345 gtk_widget_show(vbox);
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2346
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2347 buf = g_malloc(256);
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2348 g_snprintf(buf, 256, "Changing info for %s:", tmp->username);
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2349 label = gtk_label_new(buf);
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2350 g_free(buf);
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2351 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5);
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2352 gtk_widget_show(label);
4119
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
2353
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
2354 frame = gtk_frame_new(NULL);
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
2355 gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN);
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
2356 gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0);
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
2357 gtk_widget_show(frame);
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
2358
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
2359 b->text = gtk_text_view_new();
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
2360 gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(b->text), GTK_WRAP_WORD);
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
2361 gtk_widget_set_size_request(b->text, 300, 200);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2362 buf = g_malloc(strlen(tmp->user_info) + 1);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2363 strncpy_nohtml(buf, tmp->user_info, strlen(tmp->user_info) + 1);
4119
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
2364 buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(b->text));
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
2365 gtk_text_buffer_set_text(buffer, buf, -1);
1499
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2366 g_free(buf);
4119
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
2367 gtk_container_add(GTK_CONTAINER(frame), b->text);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2368 gtk_widget_show(b->text);
1499
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2369 gtk_window_set_focus(GTK_WINDOW(b->window), b->text);
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2370
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2371 buttons = gtk_hbox_new(FALSE, 5);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2372 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
2373 gtk_widget_show(buttons);
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2374
4092
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
2375 b->save = picture_button(b->window, _("Save"), save_xpm);
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
2376 gtk_box_pack_end(GTK_BOX(buttons), b->save, FALSE, FALSE, 0);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2377 g_signal_connect(GTK_OBJECT(b->save), "clicked", G_CALLBACK(do_save_info), b);
4092
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
2378
1499
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2379 b->cancel = picture_button(b->window, _("Cancel"), cancel_xpm);
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2380 gtk_box_pack_end(GTK_BOX(buttons), b->cancel, FALSE, FALSE, 0);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2381 g_signal_connect(GTK_OBJECT(b->cancel), "clicked", G_CALLBACK(destroy_dialog), b->window);
1499
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2382
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2383 gtk_widget_show(b->window);
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2384
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2385 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2386
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2387 /*------------------------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2388 /* The dialog for the info requests */
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2389 /*------------------------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2390
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2391 static void info_dlg_free(GtkWidget *b, struct info_dlg *d)
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2392 {
2773
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2393 if (g_slist_find(info_dlgs, d))
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2394 info_dlgs = g_slist_remove(info_dlgs, d);
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2395 g_free(d->who);
1051
713b0e14e0a9 [gaim-migrate @ 1061]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1049
diff changeset
2396 g_free(d);
713b0e14e0a9 [gaim-migrate @ 1061]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1049
diff changeset
2397 }
713b0e14e0a9 [gaim-migrate @ 1061]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1049
diff changeset
2398
1428
00b3d02a2168 [gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1399
diff changeset
2399 gchar **info_img_handler(gchar *url)
00b3d02a2168 [gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1399
diff changeset
2400 {
00b3d02a2168 [gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1399
diff changeset
2401 if (!g_strcasecmp(url, "free_icon.gif"))
00b3d02a2168 [gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1399
diff changeset
2402 return free_icon_xpm;
00b3d02a2168 [gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1399
diff changeset
2403 if (!g_strcasecmp(url, "aol_icon.gif"))
00b3d02a2168 [gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1399
diff changeset
2404 return aol_icon_xpm;
00b3d02a2168 [gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1399
diff changeset
2405 if (!g_strcasecmp(url, "dt_icon.gif"))
00b3d02a2168 [gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1399
diff changeset
2406 return dt_icon_xpm;
00b3d02a2168 [gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1399
diff changeset
2407 if (!g_strcasecmp(url, "admin_icon.gif"))
00b3d02a2168 [gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1399
diff changeset
2408 return admin_icon_xpm;
2679
94aa499ecd39 [gaim-migrate @ 2692]
Adam Fritzler <mid@auk.cx>
parents: 2665
diff changeset
2409 if (!g_strcasecmp(url, "ab_icon.gif"))
94aa499ecd39 [gaim-migrate @ 2692]
Adam Fritzler <mid@auk.cx>
parents: 2665
diff changeset
2410 return ab_xpm;
3079
955f52bbcf8a [gaim-migrate @ 3093]
Sean Egan <seanegan@gmail.com>
parents: 3059
diff changeset
2411 if (!g_strcasecmp(url, "wireless_icon.gif"))
955f52bbcf8a [gaim-migrate @ 3093]
Sean Egan <seanegan@gmail.com>
parents: 3059
diff changeset
2412 return wireless_icon_xpm;
3101
8b0d58f74d3f [gaim-migrate @ 3115]
Sean Egan <seanegan@gmail.com>
parents: 3082
diff changeset
2413 if (!g_strcasecmp(url, "icq_icon.gif"))
3102
8cf0497fbb30 [gaim-migrate @ 3116]
Sean Egan <seanegan@gmail.com>
parents: 3101
diff changeset
2414 return icon_online_xpm;
1428
00b3d02a2168 [gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1399
diff changeset
2415 return NULL;
00b3d02a2168 [gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1399
diff changeset
2416 }
00b3d02a2168 [gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1399
diff changeset
2417
2791
8f6365332a05 [gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2785
diff changeset
2418 /* 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
2419 * 1, don't show if regular info isn't shown
8f6365332a05 [gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2785
diff changeset
2420 * 2, show regardless but don't try to get away message
8f6365332a05 [gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2785
diff changeset
2421 *
8f6365332a05 [gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2785
diff changeset
2422 * 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
2423 */
8f6365332a05 [gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2785
diff changeset
2424 void g_show_info_text(struct gaim_connection *gc, char *who, int away, char *info, ...)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2425 {
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2426 GtkWidget *ok;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2427 GtkWidget *label;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2428 GtkWidget *text;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2429 GtkWidget *bbox;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2430 GtkWidget *sw;
1428
00b3d02a2168 [gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1399
diff changeset
2431 gint options = 0;
2137
18722ae5b882 [gaim-migrate @ 2147]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2090
diff changeset
2432 char *more_info;
18722ae5b882 [gaim-migrate @ 2147]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2090
diff changeset
2433 va_list ap;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2434
2773
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2435 struct info_dlg *b = find_info_dlg(gc, who);
2791
8f6365332a05 [gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2785
diff changeset
2436 if (!b && (away == 1))
2773
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2437 return;
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2438 if (!b) {
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2439 b = g_new0(struct info_dlg, 1);
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2440 b->gc = gc;
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2441 b->who = who ? g_strdup(normalize(who)) : NULL;
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2442 info_dlgs = g_slist_append(info_dlgs, b);
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2443
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2444 GAIM_DIALOG(b->window);
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2445 gtk_window_set_title(GTK_WINDOW(b->window), "Gaim");
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2446 gtk_container_border_width(GTK_CONTAINER(b->window), 5);
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2447 gtk_widget_realize(GTK_WIDGET(b->window));
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2448 g_signal_connect(GTK_OBJECT(b->window), "destroy", G_CALLBACK(info_dlg_free), b);
2773
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2449
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2450 bbox = gtk_vbox_new(FALSE, 5);
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2451 gtk_container_add(GTK_CONTAINER(b->window), bbox);
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2452
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2453 label = gtk_label_new(_("Below are the results of your search: "));
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2454 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0);
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2455
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2456 sw = gtk_scrolled_window_new(NULL, NULL);
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2457 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
3926
077bae9a0c88 [gaim-migrate @ 4098]
Rob Flynn <gaim@robflynn.com>
parents: 3922
diff changeset
2458 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN);
2773
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2459 gtk_box_pack_start(GTK_BOX(bbox), sw, TRUE, TRUE, 0);
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2460
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2461 text = gtk_imhtml_new(NULL, NULL);
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2462 b->text = text;
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2463 gtk_container_add(GTK_CONTAINER(sw), text);
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2464 gtk_widget_set_usize(sw, 300, 250);
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2465 gtk_imhtml_set_img_handler(GTK_IMHTML(text), info_img_handler);
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2466 gaim_setup_imhtml(text);
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2467
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2468 ok = picture_button(b->window, _("OK"), ok_xpm);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2469 g_signal_connect_swapped(GTK_OBJECT(ok), "clicked", G_CALLBACK(gtk_widget_destroy),
2773
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2470 GTK_OBJECT(b->window));
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2471 gtk_box_pack_start(GTK_BOX(bbox), ok, FALSE, FALSE, 0);
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2472
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2473 gtk_widget_show_all(b->window);
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2474 }
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2475
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2228
diff changeset
2476 if (convo_options & OPT_CONVO_IGNORE_COLOUR)
1428
00b3d02a2168 [gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1399
diff changeset
2477 options ^= GTK_IMHTML_NO_COLOURS;
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2228
diff changeset
2478 if (convo_options & OPT_CONVO_IGNORE_FONTS)
1428
00b3d02a2168 [gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1399
diff changeset
2479 options ^= GTK_IMHTML_NO_FONTS;
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2228
diff changeset
2480 if (convo_options & OPT_CONVO_IGNORE_SIZES)
1477
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
2481 options ^= GTK_IMHTML_NO_SIZES;
1428
00b3d02a2168 [gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1399
diff changeset
2482 options ^= GTK_IMHTML_NO_COMMENTS;
00b3d02a2168 [gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1399
diff changeset
2483 options ^= GTK_IMHTML_NO_TITLE;
00b3d02a2168 [gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1399
diff changeset
2484 options ^= GTK_IMHTML_NO_NEWLINE;
00b3d02a2168 [gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1399
diff changeset
2485 options ^= GTK_IMHTML_NO_SCROLL;
2773
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2486
2856
b1e300a85678 [gaim-migrate @ 2869]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2851
diff changeset
2487 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
2488
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2489 va_start(ap, info);
2137
18722ae5b882 [gaim-migrate @ 2147]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2090
diff changeset
2490 while ((more_info = va_arg(ap, char *)) != NULL)
2856
b1e300a85678 [gaim-migrate @ 2869]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2851
diff changeset
2491 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
2492 va_end(ap);
2773
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2493
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2494 if (away)
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2495 info_dlgs = g_slist_remove(info_dlgs, b);
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2496 else
a0fd8f91e294 [gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2763
diff changeset
2497 serv_get_away(gc, who);
247
f6e8ea29b24f [gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 245
diff changeset
2498 }
f6e8ea29b24f [gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 245
diff changeset
2499
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2500 /*------------------------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2501 /* The dialog for adding to permit/deny */
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2502 /*------------------------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2503
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2504
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2505 static void do_add_perm(GtkWidget *w, struct addperm *p)
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2506 {
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2507
3466
7a3f16a375a5 [gaim-migrate @ 3516]
Sean Egan <seanegan@gmail.com>
parents: 3427
diff changeset
2508 const char *who;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2509 char *name;
4177
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
2510 GtkTreeIter iter;
b173736b4ab0 [gaim-migrate @ 4407]
Rob Flynn <gaim@robflynn.com>
parents: 4171
diff changeset
2511 GtkListStore *ls;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2512
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2513 who = gtk_entry_get_text(GTK_ENTRY(p->entry));
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2514
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2515 name = g_malloc(strlen(who) + 2);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2516 g_snprintf(name, strlen(who) + 2, "%s", who);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2517
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2518 if (!p->permit) {
1126
c8118e7ec981 [gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1125
diff changeset
2519 GSList *d = p->gc->deny;
c8118e7ec981 [gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1125
diff changeset
2520 char *n;
c8118e7ec981 [gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1125
diff changeset
2521 n = g_strdup(normalize(name));
c8118e7ec981 [gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1125
diff changeset
2522 while (d) {
2048
3366311426df [gaim-migrate @ 2058]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1979
diff changeset
2523 if (!g_strcasecmp(n, normalize(d->data)))
1126
c8118e7ec981 [gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1125
diff changeset
2524 break;
c8118e7ec981 [gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1125
diff changeset
2525 d = d->next;
c8118e7ec981 [gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1125
diff changeset
2526 }
c8118e7ec981 [gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1125
diff changeset
2527 g_free(n);
c8118e7ec981 [gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1125
diff changeset
2528 if (!d) {
c8118e7ec981 [gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1125
diff changeset
2529 p->gc->deny = g_slist_append(p->gc->deny, name);
2665
b0478af51be0 [gaim-migrate @ 2678]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2662
diff changeset
2530 serv_add_deny(p->gc, name);
1126
c8118e7ec981 [gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1125
diff changeset
2531 build_block_list();
1805
caa605e70917 [gaim-migrate @ 1815]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1780
diff changeset
2532 do_export(p->gc);
1126
c8118e7ec981 [gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1125
diff changeset
2533 } else
c8118e7ec981 [gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1125
diff changeset
2534 g_free(name);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2535 } else {
1126
c8118e7ec981 [gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1125
diff changeset
2536 GSList *d = p->gc->permit;
c8118e7ec981 [gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1125
diff changeset
2537 char *n;
c8118e7ec981 [gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1125
diff changeset
2538 n = g_strdup(normalize(name));
c8118e7ec981 [gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1125
diff changeset
2539 while (d) {
2048
3366311426df [gaim-migrate @ 2058]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1979
diff changeset
2540 if (!g_strcasecmp(n, normalize(d->data)))
1126
c8118e7ec981 [gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1125
diff changeset
2541 break;
c8118e7ec981 [gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1125
diff changeset
2542 d = d->next;
c8118e7ec981 [gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1125
diff changeset
2543 }
c8118e7ec981 [gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1125
diff changeset
2544 g_free(n);
c8118e7ec981 [gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1125
diff changeset
2545 if (!d) {
c8118e7ec981 [gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1125
diff changeset
2546 p->gc->permit = g_slist_append(p->gc->permit, name);
2665
b0478af51be0 [gaim-migrate @ 2678]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2662
diff changeset
2547 serv_add_permit(p->gc, name);
1126
c8118e7ec981 [gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1125
diff changeset
2548 build_allow_list();
1805
caa605e70917 [gaim-migrate @ 1815]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1780
diff changeset
2549 do_export(p->gc);
1126
c8118e7ec981 [gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1125
diff changeset
2550 } else
c8118e7ec981 [gaim-migrate @ 1136]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1125
diff changeset
2551 g_free(name);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2552 }
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2553
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2554 destroy_dialog(NULL, p->window);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2555 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2556
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2557
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2558
1144
b1454d019277 [gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1141
diff changeset
2559 void show_add_perm(struct gaim_connection *gc, char *who, gboolean permit)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2560 {
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2561 GtkWidget *cancel;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2562 GtkWidget *add;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2563 GtkWidget *label;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2564 GtkWidget *bbox;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2565 GtkWidget *vbox;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2566 GtkWidget *topbox;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2567
486
1045f51bcae7 [gaim-migrate @ 496]
Rob Flynn <gaim@robflynn.com>
parents: 485
diff changeset
2568 struct addperm *p = g_new0(struct addperm, 1);
1072
81d19577285a [gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1057
diff changeset
2569 p->gc = gc;
1144
b1454d019277 [gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1141
diff changeset
2570 p->permit = permit;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2571
2725
f3c094e78609 [gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2681
diff changeset
2572 GAIM_DIALOG(p->window);
487
e1021544e257 [gaim-migrate @ 497]
Rob Flynn <gaim@robflynn.com>
parents: 486
diff changeset
2573 gtk_container_set_border_width(GTK_CONTAINER(p->window), 5);
e1021544e257 [gaim-migrate @ 497]
Rob Flynn <gaim@robflynn.com>
parents: 486
diff changeset
2574 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
2575 gtk_widget_realize(p->window);
487
e1021544e257 [gaim-migrate @ 497]
Rob Flynn <gaim@robflynn.com>
parents: 486
diff changeset
2576
486
1045f51bcae7 [gaim-migrate @ 496]
Rob Flynn <gaim@robflynn.com>
parents: 485
diff changeset
2577 dialogwindows = g_list_prepend(dialogwindows, p->window);
1045f51bcae7 [gaim-migrate @ 496]
Rob Flynn <gaim@robflynn.com>
parents: 485
diff changeset
2578
4107
06435b94c3d7 [gaim-migrate @ 4322]
Luke Schierer <lschiere@pidgin.im>
parents: 4094
diff changeset
2579 bbox = gtk_hbox_new(FALSE, 5);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2580 topbox = gtk_hbox_new(FALSE, 5);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2581 vbox = gtk_vbox_new(FALSE, 5);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2582 p->entry = gtk_entry_new();
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2583
486
1045f51bcae7 [gaim-migrate @ 496]
Rob Flynn <gaim@robflynn.com>
parents: 485
diff changeset
2584 /* Build Add Button */
1045f51bcae7 [gaim-migrate @ 496]
Rob Flynn <gaim@robflynn.com>
parents: 485
diff changeset
2585
1144
b1454d019277 [gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1141
diff changeset
2586 if (permit)
b1454d019277 [gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1141
diff changeset
2587 add = picture_button(p->window, _("Permit"), add_xpm);
b1454d019277 [gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1141
diff changeset
2588 else
b1454d019277 [gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1141
diff changeset
2589 add = picture_button(p->window, _("Deny"), add_xpm);
603
9b0717b4a490 [gaim-migrate @ 613]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 602
diff changeset
2590 cancel = picture_button(p->window, _("Cancel"), cancel_xpm);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2591
486
1045f51bcae7 [gaim-migrate @ 496]
Rob Flynn <gaim@robflynn.com>
parents: 485
diff changeset
2592 /* End of Cancel Button */
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2593 if (who != NULL)
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2594 gtk_entry_set_text(GTK_ENTRY(p->entry), who);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2595
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2596 /* Put the buttons in the box */
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2597
4107
06435b94c3d7 [gaim-migrate @ 4322]
Luke Schierer <lschiere@pidgin.im>
parents: 4094
diff changeset
2598 gtk_box_pack_end(GTK_BOX(bbox), add, FALSE, FALSE, 5);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2599 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 5);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2600
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2601 label = gtk_label_new(_("Add"));
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2602 gtk_widget_show(label);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2603 gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 5);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2604 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
2605 /* And the boxes in the box */
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2606 gtk_box_pack_start(GTK_BOX(vbox), topbox, TRUE, TRUE, 5);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2607 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 5);
4107
06435b94c3d7 [gaim-migrate @ 4322]
Luke Schierer <lschiere@pidgin.im>
parents: 4094
diff changeset
2608 gtk_widget_show(topbox);
06435b94c3d7 [gaim-migrate @ 4322]
Luke Schierer <lschiere@pidgin.im>
parents: 4094
diff changeset
2609 topbox=gtk_hbox_new(FALSE, 5);
06435b94c3d7 [gaim-migrate @ 4322]
Luke Schierer <lschiere@pidgin.im>
parents: 4094
diff changeset
2610 gtk_box_pack_start(GTK_BOX(topbox), vbox, FALSE, FALSE, 5);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2611
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2612
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2613 /* Handle closes right */
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2614 g_signal_connect(GTK_OBJECT(p->window), "destroy", G_CALLBACK(destroy_dialog), p->window);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2615 g_signal_connect(GTK_OBJECT(cancel), "clicked", G_CALLBACK(destroy_dialog), p->window);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2616 g_signal_connect(GTK_OBJECT(add), "clicked", G_CALLBACK(do_add_perm), p);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2617 g_signal_connect(GTK_OBJECT(p->entry), "activate", G_CALLBACK(do_add_perm), p);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2618
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2619 /* Finish up */
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2620 gtk_widget_show(add);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2621 gtk_widget_show(cancel);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2622 gtk_widget_show(p->entry);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2623 gtk_widget_show(topbox);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2624 gtk_widget_show(bbox);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2625 gtk_widget_show(vbox);
1144
b1454d019277 [gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1141
diff changeset
2626 if (permit)
b1454d019277 [gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1141
diff changeset
2627 gtk_window_set_title(GTK_WINDOW(p->window), _("Gaim - Add Permit"));
b1454d019277 [gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1141
diff changeset
2628 else
b1454d019277 [gaim-migrate @ 1154]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1141
diff changeset
2629 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
2630 gtk_window_set_focus(GTK_WINDOW(p->window), p->entry);
4107
06435b94c3d7 [gaim-migrate @ 4322]
Luke Schierer <lschiere@pidgin.im>
parents: 4094
diff changeset
2631 gtk_container_add(GTK_CONTAINER(p->window), topbox);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2632 gtk_widget_realize(p->window);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2633
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2634 gtk_widget_show(p->window);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2635 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2636
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2637
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2638 /*------------------------------------------------------------------------*/
608
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
2639 /* Functions Called To Add A Log */
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2640 /*------------------------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2641
608
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
2642 void cancel_log(GtkWidget *widget, struct conversation *c)
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2643 {
3671
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
2644 if (c->log_button) {
608
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
2645 set_state_lock(1);
3671
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
2646 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(c->log_button), FALSE);
608
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
2647 set_state_lock(0);
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
2648 }
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
2649 dialogwindows = g_list_remove(dialogwindows, c->log_dialog);
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
2650 gtk_widget_destroy(c->log_dialog);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2651 c->log_dialog = NULL;
608
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
2652 }
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
2653
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
2654 void do_log(GtkWidget *w, struct conversation *c)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2655 {
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2656 struct log_conversation *l;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2657 char buf[128];
3466
7a3f16a375a5 [gaim-migrate @ 3516]
Sean Egan <seanegan@gmail.com>
parents: 3427
diff changeset
2658 const char *file;
1035
80a47e3b1bca [gaim-migrate @ 1045]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1032
diff changeset
2659 char path[PATHSIZE];
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2660
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2661 if (!find_log_info(c->name)) {
1035
80a47e3b1bca [gaim-migrate @ 1045]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1032
diff changeset
2662 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
2663 strncpy(path, file, PATHSIZE - 1);
1035
80a47e3b1bca [gaim-migrate @ 1045]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1032
diff changeset
2664 if (file_is_dir(path, c->log_dialog)) {
80a47e3b1bca [gaim-migrate @ 1045]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1032
diff changeset
2665 return;
80a47e3b1bca [gaim-migrate @ 1045]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1032
diff changeset
2666 }
80a47e3b1bca [gaim-migrate @ 1045]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1032
diff changeset
2667
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2668 l = (struct log_conversation *)g_new0(struct log_conversation, 1);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2669 strcpy(l->name, c->name);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2670 strcpy(l->filename, file);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2671 log_conversations = g_list_append(log_conversations, l);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2672
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2673 if (c != NULL) {
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2674 g_snprintf(buf, sizeof(buf), LOG_CONVERSATION_TITLE, c->name);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2675 gtk_window_set_title(GTK_WINDOW(c->window), buf);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2676 }
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2677 }
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2678
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2679 save_prefs();
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2680 cancel_log(NULL, c);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2681 }
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2682
608
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
2683 void show_log_dialog(struct conversation *c)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2684 {
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2685 char *buf = g_malloc(BUF_LEN);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2686
608
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
2687 if (!c->log_dialog) {
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
2688 c->log_dialog = gtk_file_selection_new(_("Gaim - Log Conversation"));
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2689
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2690 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
2691
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3572
diff changeset
2692 g_snprintf(buf, BUF_LEN - 1, "%s" G_DIR_SEPARATOR_S "%s.log", gaim_home_dir(), normalize(c->name));
608
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
2693 gtk_object_set_user_data(GTK_OBJECT(c->log_dialog), "log dialog");
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
2694 gtk_file_selection_set_filename(GTK_FILE_SELECTION(c->log_dialog), buf);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2695 g_signal_connect(GTK_OBJECT(c->log_dialog), "delete_event",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2696 G_CALLBACK(delete_event_dialog), c);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2697 g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(c->log_dialog)->ok_button), "clicked",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2698 G_CALLBACK(do_log), c);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2699 g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(c->log_dialog)->cancel_button),
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2700 "clicked", G_CALLBACK(cancel_log), c);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2701 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2702
25
c56db1b46b0d [gaim-migrate @ 34]
Rob Flynn <gaim@robflynn.com>
parents: 24
diff changeset
2703 g_free(buf);
c56db1b46b0d [gaim-migrate @ 34]
Rob Flynn <gaim@robflynn.com>
parents: 24
diff changeset
2704
608
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
2705 gtk_widget_show(c->log_dialog);
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
2706 gdk_window_raise(c->log_dialog->window);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2707 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2708
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2709 /*------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2710 /* Find Buddy By Email */
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2711 /*------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2712
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2713 void do_find_info(GtkWidget *w, struct findbyinfo *b)
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2714 {
3466
7a3f16a375a5 [gaim-migrate @ 3516]
Sean Egan <seanegan@gmail.com>
parents: 3427
diff changeset
2715 const char *first;
7a3f16a375a5 [gaim-migrate @ 3516]
Sean Egan <seanegan@gmail.com>
parents: 3427
diff changeset
2716 const char *middle;
7a3f16a375a5 [gaim-migrate @ 3516]
Sean Egan <seanegan@gmail.com>
parents: 3427
diff changeset
2717 const char *last;
7a3f16a375a5 [gaim-migrate @ 3516]
Sean Egan <seanegan@gmail.com>
parents: 3427
diff changeset
2718 const char *maiden;
7a3f16a375a5 [gaim-migrate @ 3516]
Sean Egan <seanegan@gmail.com>
parents: 3427
diff changeset
2719 const char *city;
7a3f16a375a5 [gaim-migrate @ 3516]
Sean Egan <seanegan@gmail.com>
parents: 3427
diff changeset
2720 const char *state;
7a3f16a375a5 [gaim-migrate @ 3516]
Sean Egan <seanegan@gmail.com>
parents: 3427
diff changeset
2721 const char *country;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2722
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2723 first = gtk_entry_get_text(GTK_ENTRY(b->firstentry));
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2724 middle = gtk_entry_get_text(GTK_ENTRY(b->middleentry));
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2725 last = gtk_entry_get_text(GTK_ENTRY(b->lastentry));
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2726 maiden = gtk_entry_get_text(GTK_ENTRY(b->maidenentry));
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2727 city = gtk_entry_get_text(GTK_ENTRY(b->cityentry));
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2728 state = gtk_entry_get_text(GTK_ENTRY(b->stateentry));
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2729 country = gtk_entry_get_text(GTK_ENTRY(b->countryentry));
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2730
2393
a7ecfd3f7714 [gaim-migrate @ 2406]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2382
diff changeset
2731 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
2732 destroy_dialog(NULL, b->window);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2733 }
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2734
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2735 void do_find_email(GtkWidget *w, struct findbyemail *b)
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2736 {
3466
7a3f16a375a5 [gaim-migrate @ 3516]
Sean Egan <seanegan@gmail.com>
parents: 3427
diff changeset
2737 const char *email;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2738
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2739 email = gtk_entry_get_text(GTK_ENTRY(b->emailentry));
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2740
2598
b2800bca74fe [gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2582
diff changeset
2741 serv_dir_search(b->gc, "", "", "", "", "", "", "", email);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2742
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2743 destroy_dialog(NULL, b->window);
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2744 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2745
2393
a7ecfd3f7714 [gaim-migrate @ 2406]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2382
diff changeset
2746 void show_find_info(struct gaim_connection *gc)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2747 {
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2748 GtkWidget *cancel;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2749 GtkWidget *ok;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2750 GtkWidget *label;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2751 GtkWidget *bbox;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2752 GtkWidget *vbox;
479
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2753 GtkWidget *hbox;
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2754 GtkWidget *fbox;
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2755 GtkWidget *frame;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2756
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2757 struct findbyinfo *b = g_new0(struct findbyinfo, 1);
2393
a7ecfd3f7714 [gaim-migrate @ 2406]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2382
diff changeset
2758 b->gc = gc;
2725
f3c094e78609 [gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2681
diff changeset
2759 GAIM_DIALOG(b->window);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2760 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE);
4074
3ccbdf8e7f8d [gaim-migrate @ 4289]
Sean Egan <seanegan@gmail.com>
parents: 4061
diff changeset
2761 gtk_window_set_role(GTK_WINDOW(b->window), "find_info");
479
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2762 gtk_widget_show(b->window);
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2763
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2764 dialogwindows = g_list_prepend(dialogwindows, b->window);
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2765
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2766 frame = gtk_frame_new(_("Search for Buddy"));
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2767 fbox = gtk_vbox_new(FALSE, 5);
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2768
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2769 /* Build OK Button */
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2770
603
9b0717b4a490 [gaim-migrate @ 613]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 602
diff changeset
2771 ok = picture_button(b->window, _("OK"), ok_xpm);
9b0717b4a490 [gaim-migrate @ 613]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 602
diff changeset
2772 cancel = picture_button(b->window, _("Cancel"), cancel_xpm);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2773
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2774 bbox = gtk_hbox_new(FALSE, 5);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2775 vbox = gtk_vbox_new(FALSE, 5);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2776 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2777
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2778 b->firstentry = gtk_entry_new();
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2779 b->middleentry = gtk_entry_new();
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2780 b->lastentry = gtk_entry_new();
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2781 b->maidenentry = gtk_entry_new();
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2782 b->cityentry = gtk_entry_new();
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2783 b->stateentry = gtk_entry_new();
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2784 b->countryentry = gtk_entry_new();
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2785
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2786 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 0);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2787 gtk_box_pack_end(GTK_BOX(bbox), ok, FALSE, FALSE, 0);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2788
479
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2789 /* Line 1 */
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2790 label = gtk_label_new(_("First Name"));
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2791 gtk_widget_show(label);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2792
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2793 hbox = gtk_hbox_new(FALSE, 5);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2794 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2795 gtk_box_pack_end(GTK_BOX(hbox), b->firstentry, FALSE, FALSE, 0);
479
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2796
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2797 gtk_widget_show(hbox);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2798 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
479
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2799
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2800 /* Line 2 */
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2801
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2802 label = gtk_label_new(_("Middle Name"));
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2803 gtk_widget_show(label);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2804
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2805 hbox = gtk_hbox_new(FALSE, 5);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2806 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2807 gtk_box_pack_end(GTK_BOX(hbox), b->middleentry, FALSE, FALSE, 0);
479
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2808
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2809 gtk_widget_show(hbox);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2810 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
479
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2811
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2812 /* Line 3 */
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2813
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2814 label = gtk_label_new(_("Last Name"));
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2815 gtk_widget_show(label);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2816
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2817 hbox = gtk_hbox_new(FALSE, 5);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2818 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2819 gtk_box_pack_end(GTK_BOX(hbox), b->lastentry, FALSE, FALSE, 0);
479
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2820
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2821 gtk_widget_show(hbox);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2822 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
479
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2823
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2824 /* Line 4 */
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2825
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2826 label = gtk_label_new(_("Maiden Name"));
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2827 gtk_widget_show(label);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2828
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2829 hbox = gtk_hbox_new(FALSE, 5);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2830 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2831 gtk_box_pack_end(GTK_BOX(hbox), b->maidenentry, FALSE, FALSE, 0);
479
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2832
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2833 gtk_widget_show(hbox);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2834 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
479
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2835
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2836 /* Line 5 */
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2837
479
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2838 label = gtk_label_new(_("City"));
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2839 gtk_widget_show(label);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2840
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2841 hbox = gtk_hbox_new(FALSE, 5);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2842 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2843 gtk_box_pack_end(GTK_BOX(hbox), b->cityentry, FALSE, FALSE, 0);
479
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2844
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2845 gtk_widget_show(hbox);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2846 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
479
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2847
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2848 /* Line 6 */
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2849 label = gtk_label_new(_("State"));
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2850 gtk_widget_show(label);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2851
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2852 hbox = gtk_hbox_new(FALSE, 5);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2853 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2854 gtk_box_pack_end(GTK_BOX(hbox), b->stateentry, FALSE, FALSE, 0);
479
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2855
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2856 gtk_widget_show(hbox);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2857 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
479
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2858
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2859 /* Line 7 */
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2860 label = gtk_label_new(_("Country"));
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2861 gtk_widget_show(label);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2862
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2863 hbox = gtk_hbox_new(FALSE, 5);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2864 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2865 gtk_box_pack_end(GTK_BOX(hbox), b->countryentry, FALSE, FALSE, 0);
479
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2866
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2867 gtk_widget_show(hbox);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2868 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
479
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2869
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2870 /* Merge The Boxes */
479
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2871
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2872 gtk_container_add(GTK_CONTAINER(frame), vbox);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2873 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 0);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2874 gtk_box_pack_start(GTK_BOX(fbox), bbox, FALSE, FALSE, 0);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2875
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2876 g_signal_connect(GTK_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2877 g_signal_connect(GTK_OBJECT(cancel), "clicked", G_CALLBACK(destroy_dialog), b->window);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2878 g_signal_connect(GTK_OBJECT(ok), "clicked", G_CALLBACK(do_find_info), b);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2879
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2880 gtk_widget_show(ok);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2881 gtk_widget_show(cancel);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2882 gtk_widget_show(b->firstentry);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2883 gtk_widget_show(b->middleentry);
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2884 gtk_widget_show(b->lastentry);
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2885 gtk_widget_show(b->maidenentry);
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2886 gtk_widget_show(b->cityentry);
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2887 gtk_widget_show(b->stateentry);
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2888 gtk_widget_show(b->countryentry);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2889 gtk_widget_show(bbox);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2890 gtk_widget_show(vbox);
479
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2891 gtk_widget_show(frame);
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2892 gtk_widget_show(fbox);
d4651fd334c1 [gaim-migrate @ 489]
Rob Flynn <gaim@robflynn.com>
parents: 478
diff changeset
2893
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2894 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
2895 gtk_window_set_focus(GTK_WINDOW(b->window), b->firstentry);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2896 gtk_container_add(GTK_CONTAINER(b->window), fbox);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2897 gtk_container_border_width(GTK_CONTAINER(b->window), 5);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2898 gtk_widget_realize(b->window);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2899
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2900 gtk_widget_show(b->window);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2901 }
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2902
1535
1e2cc8c8bf3c [gaim-migrate @ 1545]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1499
diff changeset
2903 void show_find_email(struct gaim_connection *gc)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2904 {
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2905 GtkWidget *label;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2906 GtkWidget *bbox;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2907 GtkWidget *vbox;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2908 GtkWidget *frame;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2909 GtkWidget *topbox;
444
e7885c54ed2f [gaim-migrate @ 454]
Rob Flynn <gaim@robflynn.com>
parents: 443
diff changeset
2910 GtkWidget *button;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2911
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2912 struct findbyemail *b = g_new0(struct findbyemail, 1);
1535
1e2cc8c8bf3c [gaim-migrate @ 1545]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1499
diff changeset
2913 if (g_slist_find(connections, gc))
1e2cc8c8bf3c [gaim-migrate @ 1545]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1499
diff changeset
2914 b->gc = gc;
2725
f3c094e78609 [gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2681
diff changeset
2915 GAIM_DIALOG(b->window);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2916 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE);
4074
3ccbdf8e7f8d [gaim-migrate @ 4289]
Sean Egan <seanegan@gmail.com>
parents: 4061
diff changeset
2917 gtk_window_set_role(GTK_WINDOW(b->window), "find_email");
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2918 gtk_widget_realize(b->window);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2919 dialogwindows = g_list_prepend(dialogwindows, b->window);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2920 g_signal_connect(GTK_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2921 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
2922
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2923 vbox = gtk_vbox_new(FALSE, 5);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2924 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2925 gtk_container_add(GTK_CONTAINER(b->window), vbox);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2926
444
e7885c54ed2f [gaim-migrate @ 454]
Rob Flynn <gaim@robflynn.com>
parents: 443
diff changeset
2927 frame = gtk_frame_new(_("Search for Buddy"));
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2928 gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2929
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2930 topbox = gtk_hbox_new(FALSE, 5);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2931 gtk_container_add(GTK_CONTAINER(frame), topbox);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2932 gtk_container_set_border_width(GTK_CONTAINER(topbox), 5);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2933
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2934 label = gtk_label_new(_("Email"));
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2935 gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 0);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2936
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2937 b->emailentry = gtk_entry_new();
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2938 gtk_box_pack_start(GTK_BOX(topbox), b->emailentry, TRUE, TRUE, 0);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2939 g_signal_connect(GTK_OBJECT(b->emailentry), "activate", G_CALLBACK(do_find_email), b);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2940 gtk_window_set_focus(GTK_WINDOW(b->window), b->emailentry);
1499
de0b946e86a4 [gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1488
diff changeset
2941
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2942 bbox = gtk_hbox_new(FALSE, 5);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2943 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0);
444
e7885c54ed2f [gaim-migrate @ 454]
Rob Flynn <gaim@robflynn.com>
parents: 443
diff changeset
2944
4094
3f15ccb54f95 [gaim-migrate @ 4309]
Luke Schierer <lschiere@pidgin.im>
parents: 4092
diff changeset
2945 button = picture_button(b->window, _("OK"), ok_xpm);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2946 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(do_find_email), b);
4094
3f15ccb54f95 [gaim-migrate @ 4309]
Luke Schierer <lschiere@pidgin.im>
parents: 4092
diff changeset
2947 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0);
3f15ccb54f95 [gaim-migrate @ 4309]
Luke Schierer <lschiere@pidgin.im>
parents: 4092
diff changeset
2948
603
9b0717b4a490 [gaim-migrate @ 613]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 602
diff changeset
2949 button = picture_button(b->window, _("Cancel"), cancel_xpm);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2950 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(destroy_dialog), b->window);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2951 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
2952
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2953 gtk_widget_show_all(b->window);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2954 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2955
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2956 /*------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2957 /* Link Dialog */
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2958 /*------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2959
608
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
2960 void cancel_link(GtkWidget *widget, struct conversation *c)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2961 {
608
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
2962 if (c->link) {
62
03b65653798b [gaim-migrate @ 72]
Rob Flynn <gaim@robflynn.com>
parents: 61
diff changeset
2963 set_state_lock(1);
608
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
2964 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->link), FALSE);
62
03b65653798b [gaim-migrate @ 72]
Rob Flynn <gaim@robflynn.com>
parents: 61
diff changeset
2965 set_state_lock(0);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2966 }
608
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
2967 destroy_dialog(NULL, c->link_dialog);
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
2968 c->link_dialog = NULL;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2969 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2970
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2971 void do_add_link(GtkWidget *widget, struct linkdlg *b)
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2972 {
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2973 char *open_tag;
3466
7a3f16a375a5 [gaim-migrate @ 3516]
Sean Egan <seanegan@gmail.com>
parents: 3427
diff changeset
2974 const char *urltext, *showtext;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2975 open_tag = g_malloc(2048);
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2976
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2977
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2978 urltext = gtk_entry_get_text(GTK_ENTRY(b->url));
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2979 showtext = gtk_entry_get_text(GTK_ENTRY(b->text));
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
2980
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2981 g_snprintf(open_tag, 2048, "<A HREF=\"%s\">%s", urltext, showtext);
3790
12b29552f1d7 [gaim-migrate @ 3930]
Rob Flynn <gaim@robflynn.com>
parents: 3786
diff changeset
2982 /* FIXME surround(b, open_tag, "</A>");*/
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2983
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2984 g_free(open_tag);
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2985 destroy_dialog(NULL, b->window);
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2986 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2987
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2988
608
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
2989 void show_add_link(GtkWidget *linky, struct conversation *c)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2990 {
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2991 GtkWidget *vbox;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2992 GtkWidget *bbox;
588
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
2993 GtkWidget *hbox;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2994 GtkWidget *label;
588
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
2995 GtkWidget *frame;
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
2996 GtkWidget *fbox;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2997
608
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
2998 if (!c->link_dialog) {
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2999 struct linkdlg *b = g_new0(struct linkdlg, 1);
2725
f3c094e78609 [gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2681
diff changeset
3000 GAIM_DIALOG(c->link_dialog);
4074
3ccbdf8e7f8d [gaim-migrate @ 4289]
Sean Egan <seanegan@gmail.com>
parents: 4061
diff changeset
3001 gtk_window_set_role(GTK_WINDOW(c->link_dialog), "add_link");
608
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
3002 dialogwindows = g_list_prepend(dialogwindows, c->link_dialog);
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
3003
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
3004 gtk_widget_set_usize(c->link_dialog, 270, 165);
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
3005 gtk_window_set_policy(GTK_WINDOW(c->link_dialog), FALSE, FALSE, TRUE);
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
3006 gtk_widget_show(c->link_dialog);
588
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
3007
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
3008 vbox = gtk_vbox_new(FALSE, 10);
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
3009 bbox = gtk_hbox_new(TRUE, 10);
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
3010 frame = gtk_frame_new(_("Insert Link"));
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
3011 fbox = gtk_vbox_new(FALSE, 5);
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
3012
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
3013 /* Build OK Button */
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
3014
608
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
3015 b->ok = picture_button(c->link_dialog, _("OK"), ok_xpm);
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
3016 b->cancel = picture_button(c->link_dialog, _("Cancel"), cancel_xpm);
3828
b7b1bd70dfdb [gaim-migrate @ 3977]
Luke Schierer <lschiere@pidgin.im>
parents: 3825
diff changeset
3017 /*
651
650687b7ca0e [gaim-migrate @ 661]
Rob Flynn <gaim@robflynn.com>
parents: 650
diff changeset
3018 gtk_widget_set_usize(b->ok, 75, 30);
650687b7ca0e [gaim-migrate @ 661]
Rob Flynn <gaim@robflynn.com>
parents: 650
diff changeset
3019 gtk_widget_set_usize(b->cancel, 75, 30);
3828
b7b1bd70dfdb [gaim-migrate @ 3977]
Luke Schierer <lschiere@pidgin.im>
parents: 3825
diff changeset
3020 */
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3021 gtk_box_pack_start(GTK_BOX(bbox), b->ok, FALSE, FALSE, 10);
588
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
3022 gtk_box_pack_end(GTK_BOX(bbox), b->cancel, FALSE, FALSE, 10);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3023 gtk_widget_show(bbox);
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3024
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3025 b->url = gtk_entry_new();
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3026 b->text = gtk_entry_new();
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3027
588
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
3028 hbox = gtk_hbox_new(FALSE, 5);
350
fd3cc0a28d5d [gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 349
diff changeset
3029 label = gtk_label_new(_("URL"));
588
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
3030 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5);
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
3031 gtk_box_pack_end(GTK_BOX(hbox), b->url, FALSE, FALSE, 5);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3032 gtk_widget_show(label);
588
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
3033 gtk_widget_show(hbox);
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
3034 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
3035
588
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
3036 hbox = gtk_hbox_new(FALSE, 5);
350
fd3cc0a28d5d [gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 349
diff changeset
3037 label = gtk_label_new(_("Description"));
588
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
3038 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5);
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
3039 gtk_box_pack_end(GTK_BOX(hbox), b->text, FALSE, FALSE, 5);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3040 gtk_widget_show(label);
588
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
3041 gtk_widget_show(hbox);
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
3042 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
3043
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3044 gtk_widget_show(b->url);
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3045 gtk_widget_show(b->text);
588
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
3046 gtk_widget_show(frame);
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
3047 gtk_widget_show(fbox);
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
3048
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
3049 gtk_container_add(GTK_CONTAINER(frame), vbox);
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
3050 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 5);
e2cdcbfdc0b2 [gaim-migrate @ 598]
Rob Flynn <gaim@robflynn.com>
parents: 584
diff changeset
3051 gtk_box_pack_start(GTK_BOX(fbox), bbox, TRUE, TRUE, 5);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3052 gtk_widget_show(vbox);
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3053
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3054 g_signal_connect(GTK_OBJECT(c->link_dialog), "destroy",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3055 G_CALLBACK(cancel_link), c);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3056 g_signal_connect(GTK_OBJECT(b->cancel), "clicked", G_CALLBACK(cancel_link), c);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3057 g_signal_connect(GTK_OBJECT(b->ok), "clicked", G_CALLBACK(do_add_link), b);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3058
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3059 gtk_container_add(GTK_CONTAINER(c->link_dialog), fbox);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3060 gtk_container_border_width(GTK_CONTAINER(c->link_dialog), 10);
2534
2bc6ee172103 [gaim-migrate @ 2547]
Rob Flynn <gaim@robflynn.com>
parents: 2530
diff changeset
3061 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
3062 gtk_window_set_focus(GTK_WINDOW(c->link_dialog), b->url);
608
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
3063 b->window = c->link_dialog;
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
3064 b->toggle = linky;
3790
12b29552f1d7 [gaim-migrate @ 3930]
Rob Flynn <gaim@robflynn.com>
parents: 3786
diff changeset
3065 /* FIXME b->entry_view = c->entry_view;*/
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3066 gtk_widget_realize(c->link_dialog);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3067
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3068 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3069
608
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
3070 gtk_widget_show(c->link_dialog);
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
3071 gdk_window_raise(c->link_dialog->window);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3072 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3073
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3074
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3075 /*------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3076 /* Color Selection Dialog */
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3077 /*------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3078
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
3079 GtkWidget *fgcseld = NULL;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
3080 GtkWidget *bgcseld = NULL;
657
4bbc103a3294 [gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 654
diff changeset
3081
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3082 void cancel_fgcolor(GtkWidget *widget, struct conversation *c)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3083 {
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3084 if (c->fgcolorbtn && widget) {
311
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
3085 set_state_lock(1);
854
9e2dcad06d3c [gaim-migrate @ 864]
Rob Flynn <gaim@robflynn.com>
parents: 843
diff changeset
3086 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
3087 set_state_lock(0);
61
72e6a6eb1852 [gaim-migrate @ 71]
Rob Flynn <gaim@robflynn.com>
parents: 38
diff changeset
3088 }
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3089 dialogwindows = g_list_remove(dialogwindows, c->fg_color_dialog);
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3090 gtk_widget_destroy(c->fg_color_dialog);
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3091 c->fg_color_dialog = NULL;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3092 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3093
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3094 void cancel_bgcolor(GtkWidget *widget, struct conversation *c)
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3095 {
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3096 if (c->bgcolorbtn && widget) {
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3097 set_state_lock(1);
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3098 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->bgcolorbtn), FALSE);
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3099 set_state_lock(0);
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3100 }
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3101 dialogwindows = g_list_remove(dialogwindows, c->bg_color_dialog);
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3102 gtk_widget_destroy(c->bg_color_dialog);
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3103 c->bg_color_dialog = NULL;
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3104 }
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3105
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3106 void do_fgcolor(GtkWidget *widget, GtkColorSelection *colorsel)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3107 {
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3108 GdkColor text_color;
311
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
3109 struct conversation *c;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3110 char *open_tag;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3111
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3112 open_tag = g_malloc(30);
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3113
3557
1f026237d819 [gaim-migrate @ 3649]
Sean Egan <seanegan@gmail.com>
parents: 3554
diff changeset
3114 gtk_color_selection_get_current_color(colorsel, &text_color);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3115
311
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
3116 c = gtk_object_get_user_data(GTK_OBJECT(colorsel));
411
a330017b3aa4 [gaim-migrate @ 421]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 401
diff changeset
3117 /* GTK_IS_EDITABLE(c->entry); huh? */
311
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
3118
699
f8acdd22065a [gaim-migrate @ 709]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 697
diff changeset
3119 c->fgcol = text_color;
f8acdd22065a [gaim-migrate @ 709]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 697
diff changeset
3120 c->hasfg = 1;
4171
858822a27529 [gaim-migrate @ 4400]
Luke Schierer <lschiere@pidgin.im>
parents: 4162
diff changeset
3121 g_snprintf(open_tag, 23, "<FONT COLOR=\"#%02X%02X%02X\">", text_color.red/256,
858822a27529 [gaim-migrate @ 4400]
Luke Schierer <lschiere@pidgin.im>
parents: 4162
diff changeset
3122 text_color.green/256, text_color.blue/256);
3790
12b29552f1d7 [gaim-migrate @ 3930]
Rob Flynn <gaim@robflynn.com>
parents: 3786
diff changeset
3123 surround(c, open_tag, "</FONT>");
4171
858822a27529 [gaim-migrate @ 4400]
Luke Schierer <lschiere@pidgin.im>
parents: 4162
diff changeset
3124 debug_printf("#%02X%02X%02X\n", text_color.red/256, text_color.green/256, text_color.blue/256);
311
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
3125 g_free(open_tag);
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3126 cancel_fgcolor(NULL, c);
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3127 }
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3128
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3129 void do_bgcolor(GtkWidget *widget, GtkColorSelection *colorsel)
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3130 {
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3131 GdkColor text_color;
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3132 struct conversation *c;
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3133 char *open_tag;
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 open_tag = g_malloc(30);
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3136
3557
1f026237d819 [gaim-migrate @ 3649]
Sean Egan <seanegan@gmail.com>
parents: 3554
diff changeset
3137 gtk_color_selection_get_current_color(colorsel, &text_color);
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3138
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3139 c = gtk_object_get_user_data(GTK_OBJECT(colorsel));
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3140 /* GTK_IS_EDITABLE(c->entry); huh? */
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 c->bgcol = text_color;
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3143 c->hasbg = 1;
4171
858822a27529 [gaim-migrate @ 4400]
Luke Schierer <lschiere@pidgin.im>
parents: 4162
diff changeset
3144 g_snprintf(open_tag, 25, "<BODY BGCOLOR=\"#%02X%02X%02X\">", text_color.red/256,
858822a27529 [gaim-migrate @ 4400]
Luke Schierer <lschiere@pidgin.im>
parents: 4162
diff changeset
3145 text_color.green/256, text_color.blue/256);
3790
12b29552f1d7 [gaim-migrate @ 3930]
Rob Flynn <gaim@robflynn.com>
parents: 3786
diff changeset
3146 surround(c, open_tag, "</BODY>");
4171
858822a27529 [gaim-migrate @ 4400]
Luke Schierer <lschiere@pidgin.im>
parents: 4162
diff changeset
3147 debug_printf("#%02X%02X%02X\n", text_color.red/256, text_color.green/256, text_color.blue/256);
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3148 g_free(open_tag);
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3149 cancel_bgcolor(NULL, c);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3150 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3151
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3152 void show_fgcolor_dialog(struct conversation *c, GtkWidget *color)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3153 {
311
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
3154 GtkWidget *colorsel;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3155
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3156 if (color == NULL) { /* we came from the prefs */
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3157 if (fgcseld)
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3158 return;
2209
9b8b32ae3b41 [gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2143
diff changeset
3159
657
4bbc103a3294 [gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 654
diff changeset
3160 fgcseld = gtk_color_selection_dialog_new(_("Select Text Color"));
4198
c46c977cfc9e [gaim-migrate @ 4429]
Luke Schierer <lschiere@pidgin.im>
parents: 4183
diff changeset
3161 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION
c46c977cfc9e [gaim-migrate @ 4429]
Luke Schierer <lschiere@pidgin.im>
parents: 4183
diff changeset
3162 (GTK_COLOR_SELECTION_DIALOG(fgcseld)->colorsel), &fgcolor);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3163 g_signal_connect(GTK_OBJECT(fgcseld), "delete_event",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3164 G_CALLBACK(destroy_colorsel), (void *)1);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3165 g_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(fgcseld)->cancel_button),
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3166 "clicked", G_CALLBACK(destroy_colorsel), (void *)1);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3167 g_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(fgcseld)->ok_button), "clicked",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3168 G_CALLBACK(apply_color_dlg), (void *)1);
657
4bbc103a3294 [gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 654
diff changeset
3169 gtk_widget_realize(fgcseld);
4bbc103a3294 [gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 654
diff changeset
3170 gtk_widget_show(fgcseld);
4bbc103a3294 [gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 654
diff changeset
3171 gdk_window_raise(fgcseld->window);
4bbc103a3294 [gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 654
diff changeset
3172 return;
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3173 }
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3174
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3175 if (!c->fg_color_dialog) {
2209
9b8b32ae3b41 [gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2143
diff changeset
3176
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3177 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
3178 colorsel = GTK_COLOR_SELECTION_DIALOG(c->fg_color_dialog)->colorsel;
4198
c46c977cfc9e [gaim-migrate @ 4429]
Luke Schierer <lschiere@pidgin.im>
parents: 4183
diff changeset
3179 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(colorsel), &fgcolor);
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3180 gtk_object_set_user_data(GTK_OBJECT(colorsel), c);
2209
9b8b32ae3b41 [gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2143
diff changeset
3181
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3182 g_signal_connect(GTK_OBJECT(c->fg_color_dialog), "delete_event",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3183 G_CALLBACK(delete_event_dialog), c);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3184 g_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(c->fg_color_dialog)->ok_button),
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3185 "clicked", G_CALLBACK(do_fgcolor), colorsel);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3186 g_signal_connect(GTK_OBJECT
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3187 (GTK_COLOR_SELECTION_DIALOG(c->fg_color_dialog)->cancel_button),
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3188 "clicked", G_CALLBACK(cancel_fgcolor), c);
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3189
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3190 gtk_widget_realize(c->fg_color_dialog);
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3191 }
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3192
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3193 gtk_widget_show(c->fg_color_dialog);
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3194 gdk_window_raise(c->fg_color_dialog->window);
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3195 }
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3196
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3197 void show_bgcolor_dialog(struct conversation *c, GtkWidget *color)
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3198 {
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3199 GtkWidget *colorsel;
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3200
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3201 if (color == NULL) { /* we came from the prefs */
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3202 if (bgcseld)
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3203 return;
2209
9b8b32ae3b41 [gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2143
diff changeset
3204
657
4bbc103a3294 [gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 654
diff changeset
3205 bgcseld = gtk_color_selection_dialog_new(_("Select Background Color"));
4198
c46c977cfc9e [gaim-migrate @ 4429]
Luke Schierer <lschiere@pidgin.im>
parents: 4183
diff changeset
3206 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION
c46c977cfc9e [gaim-migrate @ 4429]
Luke Schierer <lschiere@pidgin.im>
parents: 4183
diff changeset
3207 (GTK_COLOR_SELECTION_DIALOG(bgcseld)->colorsel), &bgcolor);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3208 g_signal_connect(GTK_OBJECT(bgcseld), "delete_event",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3209 G_CALLBACK(destroy_colorsel), NULL);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3210 g_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(bgcseld)->cancel_button),
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3211 "clicked", G_CALLBACK(destroy_colorsel), NULL);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3212 g_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(bgcseld)->ok_button), "clicked",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3213 G_CALLBACK(apply_color_dlg), (void *)2);
657
4bbc103a3294 [gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 654
diff changeset
3214 gtk_widget_realize(bgcseld);
4bbc103a3294 [gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 654
diff changeset
3215 gtk_widget_show(bgcseld);
4bbc103a3294 [gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 654
diff changeset
3216 gdk_window_raise(bgcseld->window);
4bbc103a3294 [gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 654
diff changeset
3217 return;
4bbc103a3294 [gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 654
diff changeset
3218 }
4bbc103a3294 [gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 654
diff changeset
3219
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3220 if (!c->bg_color_dialog) {
2209
9b8b32ae3b41 [gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2143
diff changeset
3221
3749
ddc4bfd2c825 [gaim-migrate @ 3887]
Luke Schierer <lschiere@pidgin.im>
parents: 3716
diff changeset
3222 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
3223 colorsel = GTK_COLOR_SELECTION_DIALOG(c->bg_color_dialog)->colorsel;
4198
c46c977cfc9e [gaim-migrate @ 4429]
Luke Schierer <lschiere@pidgin.im>
parents: 4183
diff changeset
3224 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(colorsel), &bgcolor);
311
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
3225 gtk_object_set_user_data(GTK_OBJECT(colorsel), c);
2209
9b8b32ae3b41 [gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2143
diff changeset
3226
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3227 g_signal_connect(GTK_OBJECT(c->bg_color_dialog), "delete_event",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3228 G_CALLBACK(delete_event_dialog), c);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3229 g_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(c->bg_color_dialog)->ok_button),
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3230 "clicked", G_CALLBACK(do_bgcolor), colorsel);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3231 g_signal_connect(GTK_OBJECT
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3232 (GTK_COLOR_SELECTION_DIALOG(c->bg_color_dialog)->cancel_button),
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3233 "clicked", G_CALLBACK(cancel_bgcolor), c);
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3234
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3235 gtk_widget_realize(c->bg_color_dialog);
311
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
3236 }
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3237
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3238 gtk_widget_show(c->bg_color_dialog);
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
3239 gdk_window_raise(c->bg_color_dialog->window);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3240 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3241
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3242 /*------------------------------------------------------------------------*/
230
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
3243 /* Font Selection Dialog */
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
3244 /*------------------------------------------------------------------------*/
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
3245
311
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
3246 void cancel_font(GtkWidget *widget, struct conversation *c)
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3247 {
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3248 if (c->font && widget) {
311
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
3249 set_state_lock(1);
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
3250 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->font), FALSE);
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
3251 set_state_lock(0);
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
3252 }
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
3253 dialogwindows = g_list_remove(dialogwindows, c->font_dialog);
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
3254 gtk_widget_destroy(c->font_dialog);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3255 c->font_dialog = NULL;
230
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
3256 }
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
3257
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
3258 void apply_font(GtkWidget *widget, GtkFontSelection *fontsel)
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
3259 {
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
3260 /* this could be expanded to include font size, weight, etc.
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
3261 but for now only works with font face */
3473
0073a014e55b [gaim-migrate @ 3524]
Sean Egan <seanegan@gmail.com>
parents: 3472
diff changeset
3262 int i = 0;
666
71ea550c22ac [gaim-migrate @ 676]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 657
diff changeset
3263 char *fontname;
71ea550c22ac [gaim-migrate @ 676]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 657
diff changeset
3264 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
3265
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3266 if (c) {
666
71ea550c22ac [gaim-migrate @ 676]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 657
diff changeset
3267 fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(fontsel));
3473
0073a014e55b [gaim-migrate @ 3524]
Sean Egan <seanegan@gmail.com>
parents: 3472
diff changeset
3268 while(fontname[i] && !isdigit(fontname[i])) {
0073a014e55b [gaim-migrate @ 3524]
Sean Egan <seanegan@gmail.com>
parents: 3472
diff changeset
3269 i++;
0073a014e55b [gaim-migrate @ 3524]
Sean Egan <seanegan@gmail.com>
parents: 3472
diff changeset
3270 }
0073a014e55b [gaim-migrate @ 3524]
Sean Egan <seanegan@gmail.com>
parents: 3472
diff changeset
3271 fontname[i] = 0;
2763
477a035d81e5 [gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2761
diff changeset
3272 set_font_face(fontname, c);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3273 } else {
334
0fa651368776 [gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 311
diff changeset
3274 fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(fontsel));
3473
0073a014e55b [gaim-migrate @ 3524]
Sean Egan <seanegan@gmail.com>
parents: 3472
diff changeset
3275 while(fontface[i] && !isdigit(fontname[i]) && i < sizeof(fontface)) {
0073a014e55b [gaim-migrate @ 3524]
Sean Egan <seanegan@gmail.com>
parents: 3472
diff changeset
3276 fontface[i] = fontname[i];
0073a014e55b [gaim-migrate @ 3524]
Sean Egan <seanegan@gmail.com>
parents: 3472
diff changeset
3277 i++;
234
985635758c33 [gaim-migrate @ 244]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 231
diff changeset
3278 }
3473
0073a014e55b [gaim-migrate @ 3524]
Sean Egan <seanegan@gmail.com>
parents: 3472
diff changeset
3279 fontface[i] = 0;
234
985635758c33 [gaim-migrate @ 244]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 231
diff changeset
3280 }
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3281
311
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
3282 cancel_font(NULL, c);
230
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
3283 }
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
3284
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3285 void destroy_fontsel(GtkWidget *w, gpointer d)
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3286 {
334
0fa651368776 [gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 311
diff changeset
3287 gtk_widget_destroy(fontseld);
0fa651368776 [gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 311
diff changeset
3288 fontseld = NULL;
0fa651368776 [gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 311
diff changeset
3289 }
0fa651368776 [gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 311
diff changeset
3290
311
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
3291 void show_font_dialog(struct conversation *c, GtkWidget *font)
230
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
3292 {
3473
0073a014e55b [gaim-migrate @ 3524]
Sean Egan <seanegan@gmail.com>
parents: 3472
diff changeset
3293 char fonttif[128];
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3294 if (!font) { /* we came from the prefs dialog */
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3295 if (fontseld)
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3296 return;
350
fd3cc0a28d5d [gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 349
diff changeset
3297 fontseld = gtk_font_selection_dialog_new(_("Select Font"));
3473
0073a014e55b [gaim-migrate @ 3524]
Sean Egan <seanegan@gmail.com>
parents: 3472
diff changeset
3298 if (fontface[0]) {
0073a014e55b [gaim-migrate @ 3524]
Sean Egan <seanegan@gmail.com>
parents: 3472
diff changeset
3299 g_snprintf(fonttif, sizeof(fonttif), "%s 12", fontface);
2763
477a035d81e5 [gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2761
diff changeset
3300 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(fontseld),
3473
0073a014e55b [gaim-migrate @ 3524]
Sean Egan <seanegan@gmail.com>
parents: 3472
diff changeset
3301 fonttif);
2763
477a035d81e5 [gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2761
diff changeset
3302 } else {
477a035d81e5 [gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2761
diff changeset
3303 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(fontseld),
3473
0073a014e55b [gaim-migrate @ 3524]
Sean Egan <seanegan@gmail.com>
parents: 3472
diff changeset
3304 DEFAULT_FONT_FACE " 12");
2763
477a035d81e5 [gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2761
diff changeset
3305 }
334
0fa651368776 [gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 311
diff changeset
3306
0fa651368776 [gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 311
diff changeset
3307 gtk_object_set_user_data(GTK_OBJECT(fontseld), NULL);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3308 g_signal_connect(GTK_OBJECT(fontseld), "delete_event",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3309 G_CALLBACK(destroy_fontsel), NULL);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3310 g_signal_connect(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(fontseld)->cancel_button),
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3311 "clicked", G_CALLBACK(destroy_fontsel), NULL);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3312 g_signal_connect(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(fontseld)->ok_button), "clicked",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3313 G_CALLBACK(apply_font_dlg), fontseld);
334
0fa651368776 [gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 311
diff changeset
3314 gtk_widget_realize(fontseld);
0fa651368776 [gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 311
diff changeset
3315 gtk_widget_show(fontseld);
0fa651368776 [gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 311
diff changeset
3316 gdk_window_raise(fontseld->window);
0fa651368776 [gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 311
diff changeset
3317 return;
0fa651368776 [gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 311
diff changeset
3318 }
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3319
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3320 if (!c->font_dialog) {
350
fd3cc0a28d5d [gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 349
diff changeset
3321 c->font_dialog = gtk_font_selection_dialog_new(_("Select Font"));
234
985635758c33 [gaim-migrate @ 244]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 231
diff changeset
3322
311
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
3323 if (font)
334
0fa651368776 [gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 311
diff changeset
3324 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
3325 else
334
0fa651368776 [gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 311
diff changeset
3326 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
3327
3473
0073a014e55b [gaim-migrate @ 3524]
Sean Egan <seanegan@gmail.com>
parents: 3472
diff changeset
3328 if (c->fontface[0]) {
0073a014e55b [gaim-migrate @ 3524]
Sean Egan <seanegan@gmail.com>
parents: 3472
diff changeset
3329 g_snprintf(fonttif, sizeof(fonttif), "%s 12", c->fontface);
2785
501de8a3b09f [gaim-migrate @ 2798]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2773
diff changeset
3330 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(c->font_dialog),
3473
0073a014e55b [gaim-migrate @ 3524]
Sean Egan <seanegan@gmail.com>
parents: 3472
diff changeset
3331 fonttif);
2763
477a035d81e5 [gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2761
diff changeset
3332 } else {
2785
501de8a3b09f [gaim-migrate @ 2798]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2773
diff changeset
3333 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(c->font_dialog),
3473
0073a014e55b [gaim-migrate @ 3524]
Sean Egan <seanegan@gmail.com>
parents: 3472
diff changeset
3334 DEFAULT_FONT_FACE);
2763
477a035d81e5 [gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2761
diff changeset
3335 }
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3336
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3337 g_signal_connect(GTK_OBJECT(c->font_dialog), "delete_event",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3338 G_CALLBACK(delete_event_dialog), c);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3339 g_signal_connect(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(c->font_dialog)->ok_button),
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3340 "clicked", G_CALLBACK(apply_font), c->font_dialog);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3341 g_signal_connect(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(c->font_dialog)->cancel_button),
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3342 "clicked", G_CALLBACK(cancel_font), c);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3343
311
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
3344 gtk_widget_realize(c->font_dialog);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3345
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3346 }
311
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
3347 gtk_widget_show(c->font_dialog);
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
3348 gdk_window_raise(c->font_dialog->window);
230
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
3349 }
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
3350
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
3351 /*------------------------------------------------------------------------*/
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3352 /* The dialog for import/export */
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3353 /*------------------------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3354
2382
569ae9f2bb89 [gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2379
diff changeset
3355 static void do_import_dialog(GtkWidget *w, struct gaim_connection *gc)
229
e8ea7f37e28f [gaim-migrate @ 239]
Syd Logan <slogan>
parents: 228
diff changeset
3356 {
3466
7a3f16a375a5 [gaim-migrate @ 3516]
Sean Egan <seanegan@gmail.com>
parents: 3427
diff changeset
3357 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
3358 if (file_is_dir(file, importdialog)) {
569ae9f2bb89 [gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2379
diff changeset
3359 return;
229
e8ea7f37e28f [gaim-migrate @ 239]
Syd Logan <slogan>
parents: 228
diff changeset
3360 }
2598
b2800bca74fe [gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2582
diff changeset
3361 if (g_slist_find(connections, importgc)) {
b2800bca74fe [gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2582
diff changeset
3362 do_import(importgc, file);
b2800bca74fe [gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2582
diff changeset
3363 do_export(importgc);
b2800bca74fe [gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2582
diff changeset
3364 }
2382
569ae9f2bb89 [gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2379
diff changeset
3365 destroy_dialog(NULL, importdialog);
2493
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3366 }
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3367
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3368 static void set_import_gc(gpointer data, struct gaim_connection *gc)
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3369 {
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3370 importgc = gc;
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3371 }
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3372
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3373 static void create_import_dropdown(GtkFileSelection *fs)
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3374 {
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3375 GtkWidget *hbox;
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3376 GtkWidget *label;
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3377 GSList *g = connections;
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3378 struct gaim_connection *c;
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3379 GtkWidget *optmenu;
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3380 GtkWidget *menu;
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3381 char buf[256];
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3382 GtkWidget *opt;
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3383
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3384 if (!connections)
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3385 return;
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3386 importgc = connections->data;
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3387 if (!connections->next)
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3388 return;
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3389
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3390 hbox = gtk_hbox_new(FALSE, 0);
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3391 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
3392 gtk_widget_show(hbox);
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3393
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3394 optmenu = gtk_option_menu_new();
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3395 gtk_box_pack_end(GTK_BOX(hbox), optmenu, FALSE, FALSE, 5);
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3396 gtk_widget_show(optmenu);
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3397
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3398 label = gtk_label_new(_("Import to:"));
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3399 gtk_box_pack_end(GTK_BOX(hbox), label, FALSE, FALSE, 5);
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3400 gtk_widget_show(label);
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3401
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3402 menu = gtk_menu_new();
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3403
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3404 while (g) {
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3405 c = (struct gaim_connection *)g->data;
3572
bdd0bebd2d04 [gaim-migrate @ 3670]
Sean Egan <seanegan@gmail.com>
parents: 3557
diff changeset
3406 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
3407 opt = gtk_menu_item_new_with_label(buf);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3408 g_signal_connect(GTK_OBJECT(opt), "activate", G_CALLBACK(set_import_gc), c);
2493
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3409 gtk_widget_show(opt);
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3410 gtk_menu_append(GTK_MENU(menu), opt);
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3411 g = g->next;
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3412 }
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3413
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3414 gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), menu);
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3415 gtk_option_menu_set_history(GTK_OPTION_MENU(optmenu), 0);
229
e8ea7f37e28f [gaim-migrate @ 239]
Syd Logan <slogan>
parents: 228
diff changeset
3416 }
e8ea7f37e28f [gaim-migrate @ 239]
Syd Logan <slogan>
parents: 228
diff changeset
3417
2382
569ae9f2bb89 [gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2379
diff changeset
3418 void show_import_dialog()
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3419 {
2382
569ae9f2bb89 [gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2379
diff changeset
3420 char *buf = g_malloc(BUF_LEN);
569ae9f2bb89 [gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2379
diff changeset
3421 if (!importdialog) {
569ae9f2bb89 [gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2379
diff changeset
3422 importdialog = gtk_file_selection_new(_("Gaim - Import Buddy List"));
569ae9f2bb89 [gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2379
diff changeset
3423
569ae9f2bb89 [gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2379
diff changeset
3424 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(importdialog));
569ae9f2bb89 [gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2379
diff changeset
3425
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3572
diff changeset
3426 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
3427
569ae9f2bb89 [gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2379
diff changeset
3428 gtk_file_selection_set_filename(GTK_FILE_SELECTION(importdialog), buf);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3429 g_signal_connect(GTK_OBJECT(importdialog), "destroy",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3430 G_CALLBACK(destroy_dialog), importdialog);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3431
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3432 g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(importdialog)->ok_button),
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3433 "clicked", G_CALLBACK(do_import_dialog), NULL);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3434 g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(importdialog)->cancel_button),
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3435 "clicked", G_CALLBACK(destroy_dialog), importdialog);
2382
569ae9f2bb89 [gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2379
diff changeset
3436
2493
1b7a1133962d [gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2472
diff changeset
3437 create_import_dropdown(GTK_FILE_SELECTION(importdialog));
228
f3b61c04f44e [gaim-migrate @ 238]
Syd Logan <slogan>
parents: 198
diff changeset
3438 }
960
fa681641643d [gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 940
diff changeset
3439
2382
569ae9f2bb89 [gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2379
diff changeset
3440 g_free(buf);
569ae9f2bb89 [gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2379
diff changeset
3441 gtk_widget_show(importdialog);
569ae9f2bb89 [gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2379
diff changeset
3442 gdk_window_raise(importdialog->window);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3443 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3444
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3445 /*------------------------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3446 /* The dialog for new away messages */
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3447 /*------------------------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3448
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3449 static struct away_message *save_away_message(struct create_away *ca)
717
d7c39f12eb89 [gaim-migrate @ 727]
Todd Kulesza <fflewddur>
parents: 710
diff changeset
3450 {
d7c39f12eb89 [gaim-migrate @ 727]
Todd Kulesza <fflewddur>
parents: 710
diff changeset
3451 struct away_message *am;
d7c39f12eb89 [gaim-migrate @ 727]
Todd Kulesza <fflewddur>
parents: 710
diff changeset
3452 gchar *away_message;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3453
832
0142b4c66394 [gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 825
diff changeset
3454 if (!ca->mess)
0142b4c66394 [gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 825
diff changeset
3455 am = g_new0(struct away_message, 1);
2851
6eb5bf5089f0 [gaim-migrate @ 2864]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2827
diff changeset
3456 else {
832
0142b4c66394 [gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 825
diff changeset
3457 am = ca->mess;
2851
6eb5bf5089f0 [gaim-migrate @ 2864]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2827
diff changeset
3458 }
1387
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
3459
4119
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
3460
717
d7c39f12eb89 [gaim-migrate @ 727]
Todd Kulesza <fflewddur>
parents: 710
diff changeset
3461 g_snprintf(am->name, sizeof(am->name), "%s", gtk_entry_get_text(GTK_ENTRY(ca->entry)));
4119
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
3462 away_message = gtk_text_view_get_text(GTK_TEXT_VIEW(ca->text), FALSE);
717
d7c39f12eb89 [gaim-migrate @ 727]
Todd Kulesza <fflewddur>
parents: 710
diff changeset
3463
d7c39f12eb89 [gaim-migrate @ 727]
Todd Kulesza <fflewddur>
parents: 710
diff changeset
3464 g_snprintf(am->message, sizeof(am->message), "%s", away_message);
d7c39f12eb89 [gaim-migrate @ 727]
Todd Kulesza <fflewddur>
parents: 710
diff changeset
3465 g_free(away_message);
d7c39f12eb89 [gaim-migrate @ 727]
Todd Kulesza <fflewddur>
parents: 710
diff changeset
3466
832
0142b4c66394 [gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 825
diff changeset
3467 if (!ca->mess) {
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3468 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
3469 }
0142b4c66394 [gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 825
diff changeset
3470
717
d7c39f12eb89 [gaim-migrate @ 727]
Todd Kulesza <fflewddur>
parents: 710
diff changeset
3471 save_prefs();
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3472 do_away_menu();
832
0142b4c66394 [gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 825
diff changeset
3473 if (prefs_away_list != NULL)
940
9fca1293f871 [gaim-migrate @ 950]
Rob Flynn <gaim@robflynn.com>
parents: 935
diff changeset
3474 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
3475
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3476 return am;
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3477 }
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3478
1387
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
3479 int check_away_mess(struct create_away *ca, int type)
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
3480 {
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3481 if ((strlen(gtk_entry_get_text(GTK_ENTRY(ca->entry))) == 0) && (type == 1)) {
1387
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
3482 /* We shouldn't allow a blank title */
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
3483 do_error_dialog(_("You cannot save an away message with a blank title"),
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
3484 _("Please give the message a title, or choose \"Make Away\" to use "
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
3485 "without saving."), GAIM_ERROR);
1387
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
3486 return 0;
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
3487 }
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
3488
4119
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
3489 if (!gtk_text_view_get_text(GTK_TEXT_VIEW(ca->text), FALSE) && (type <= 1)) {
1387
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
3490 /* We shouldn't allow a blank message */
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
3491 do_error_dialog(_("You cannot create an empty away message"), NULL, GAIM_ERROR);
1387
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
3492 return 0;
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
3493 }
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
3494
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
3495 return 1;
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
3496 }
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
3497
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3498 void save_away_mess(GtkWidget *widget, struct create_away *ca)
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3499 {
1387
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
3500 if (!check_away_mess(ca, 1))
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
3501 return;
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
3502
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3503 save_away_message(ca);
717
d7c39f12eb89 [gaim-migrate @ 727]
Todd Kulesza <fflewddur>
parents: 710
diff changeset
3504 destroy_dialog(NULL, ca->window);
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3505 g_free(ca);
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3506 }
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3507
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3508 void use_away_mess(GtkWidget *widget, struct create_away *ca)
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3509 {
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3510 static struct away_message am;
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3511 gchar *away_message;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3512
1387
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
3513 if (!check_away_mess(ca, 0))
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
3514 return;
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3515
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3516 g_snprintf(am.name, sizeof(am.name), "%s", gtk_entry_get_text(GTK_ENTRY(ca->entry)));
4119
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
3517 away_message = gtk_text_view_get_text(GTK_TEXT_VIEW(ca->text), FALSE);
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3518
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3519 g_snprintf(am.message, sizeof(am.message), "%s", away_message);
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3520 g_free(away_message);
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3521
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3522 do_away_message(NULL, &am);
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3523
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3524 destroy_dialog(NULL, ca->window);
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3525 g_free(ca);
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3526 }
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3527
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3528 void su_away_mess(GtkWidget *widget, struct create_away *ca)
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3529 {
1387
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
3530 if (!check_away_mess(ca, 1))
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
3531 return;
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3532 do_away_message(NULL, save_away_message(ca));
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3533 destroy_dialog(NULL, ca->window);
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3534 g_free(ca);
717
d7c39f12eb89 [gaim-migrate @ 727]
Todd Kulesza <fflewddur>
parents: 710
diff changeset
3535 }
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3536
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3537 void create_away_mess(GtkWidget *widget, void *dummy)
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3538 {
439
9e5a6c35dd64 [gaim-migrate @ 449]
Rob Flynn <gaim@robflynn.com>
parents: 423
diff changeset
3539 GtkWidget *hbox;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3540 GtkWidget *titlebox;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3541 GtkWidget *tbox;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3542 GtkWidget *label;
439
9e5a6c35dd64 [gaim-migrate @ 449]
Rob Flynn <gaim@robflynn.com>
parents: 423
diff changeset
3543 GtkWidget *frame;
9e5a6c35dd64 [gaim-migrate @ 449]
Rob Flynn <gaim@robflynn.com>
parents: 423
diff changeset
3544 GtkWidget *fbox;
441
995b0fc981a3 [gaim-migrate @ 451]
Rob Flynn <gaim@robflynn.com>
parents: 440
diff changeset
3545 GtkWidget *button;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3546
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3547 struct create_away *ca = g_new0(struct create_away, 1);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
3548
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3549 /* Set up window */
2725
f3c094e78609 [gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2681
diff changeset
3550 GAIM_DIALOG(ca->window);
1369
0b4278a90323 [gaim-migrate @ 1379]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1365
diff changeset
3551 gtk_widget_set_usize(ca->window, -1, 250);
441
995b0fc981a3 [gaim-migrate @ 451]
Rob Flynn <gaim@robflynn.com>
parents: 440
diff changeset
3552 gtk_container_border_width(GTK_CONTAINER(ca->window), 5);
4074
3ccbdf8e7f8d [gaim-migrate @ 4289]
Sean Egan <seanegan@gmail.com>
parents: 4061
diff changeset
3553 gtk_window_set_role(GTK_WINDOW(ca->window), "away_mess");
350
fd3cc0a28d5d [gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 349
diff changeset
3554 gtk_window_set_title(GTK_WINDOW(ca->window), _("Gaim - New away message"));
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3555 g_signal_connect(GTK_OBJECT(ca->window), "delete_event",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3556 G_CALLBACK(destroy_dialog), ca->window);
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3557 gtk_widget_realize(ca->window);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
3558
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
3559 tbox = gtk_vbox_new(FALSE, 5);
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
3560 gtk_container_add(GTK_CONTAINER(ca->window), tbox);
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3561 gtk_widget_show(tbox);
439
9e5a6c35dd64 [gaim-migrate @ 449]
Rob Flynn <gaim@robflynn.com>
parents: 423
diff changeset
3562
9e5a6c35dd64 [gaim-migrate @ 449]
Rob Flynn <gaim@robflynn.com>
parents: 423
diff changeset
3563 frame = gtk_frame_new(_("New away message"));
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
3564 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
3565 gtk_widget_show(frame);
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3566
1172
4135d8fc7b4e [gaim-migrate @ 1182]
Rob Flynn <gaim@robflynn.com>
parents: 1171
diff changeset
3567 fbox = gtk_vbox_new(FALSE, 5);
1224
0bbe3aaa6a3e [gaim-migrate @ 1234]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1216
diff changeset
3568 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
3569 gtk_container_add(GTK_CONTAINER(frame), fbox);
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3570 gtk_widget_show(fbox);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
3571
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
3572 titlebox = gtk_hbox_new(FALSE, 5);
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3573 gtk_box_pack_start(GTK_BOX(fbox), titlebox, FALSE, FALSE, 0);
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3574 gtk_widget_show(titlebox);
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3575
350
fd3cc0a28d5d [gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 349
diff changeset
3576 label = gtk_label_new(_("Away title: "));
1172
4135d8fc7b4e [gaim-migrate @ 1182]
Rob Flynn <gaim@robflynn.com>
parents: 1171
diff changeset
3577 gtk_box_pack_start(GTK_BOX(titlebox), label, FALSE, FALSE, 0);
441
995b0fc981a3 [gaim-migrate @ 451]
Rob Flynn <gaim@robflynn.com>
parents: 440
diff changeset
3578 gtk_widget_show(label);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
3579
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3580 ca->entry = gtk_entry_new();
1172
4135d8fc7b4e [gaim-migrate @ 1182]
Rob Flynn <gaim@robflynn.com>
parents: 1171
diff changeset
3581 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
3582 gtk_widget_grab_focus(ca->entry);
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3583 gtk_widget_show(ca->entry);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3584
4119
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
3585 frame = gtk_frame_new(NULL);
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
3586 gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN);
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
3587 gtk_box_pack_start(GTK_BOX(fbox), frame, TRUE, TRUE, 0);
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
3588 gtk_widget_show(frame);
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
3589
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
3590 ca->text = gtk_text_view_new();
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
3591 gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(ca->text), GTK_WRAP_WORD);
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
3592
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
3593 gtk_container_add(GTK_CONTAINER(frame), ca->text);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3594 gtk_widget_show(ca->text);
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3595
3374
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
3596
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
3597 if (dummy) {
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
3598 struct away_message *amt;
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
3599 GtkTreeIter iter;
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
3600 int pos = 0;
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
3601 GtkListStore *ls = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(dummy)));
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
3602 GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(dummy));
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
3603 GValue val = { 0, };
4119
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
3604 GtkTextIter start;
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
3605 GtkTextBuffer *buffer;
3374
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
3606
3716
d7e83b4db191 [gaim-migrate @ 3849]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3671
diff changeset
3607 if (! gtk_tree_selection_get_selected (sel, (GtkTreeModel**)&ls, &iter))
3374
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
3608 return;
3716
d7e83b4db191 [gaim-migrate @ 3849]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3671
diff changeset
3609 gtk_tree_model_get_value (GTK_TREE_MODEL(ls), &iter, 1, &val);
3374
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
3610 amt = g_value_get_pointer (&val);
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
3611 gtk_entry_set_text(GTK_ENTRY(ca->entry), amt->name);
4119
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
3612 buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(ca->text));
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
3613 gtk_text_buffer_get_iter_at_offset(buffer, &start, pos);
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
3614 gtk_text_buffer_insert(buffer, &start, amt->message, strlen(amt->message));
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
3615
3374
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
3616 ca->mess = amt;
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
3617 }
832
0142b4c66394 [gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 825
diff changeset
3618
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3619 hbox = gtk_hbox_new(FALSE, 5);
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3620 gtk_box_pack_start(GTK_BOX(tbox), hbox, FALSE, FALSE, 0);
439
9e5a6c35dd64 [gaim-migrate @ 449]
Rob Flynn <gaim@robflynn.com>
parents: 423
diff changeset
3621 gtk_widget_show(hbox);
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3622
4092
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3623 button = picture_button(ca->window, _("Save"), ok_xpm);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3624 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(save_away_mess), ca);
4092
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3625 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0);
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3626
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3627 button = picture_button(ca->window, _("Save & Use"), add_xpm);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3628 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(su_away_mess), ca);
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3629 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
3630
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3631 button = picture_button(ca->window, _("Use"), gnome_preferences_xpm);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3632 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(use_away_mess), ca);
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3633 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
3634
4092
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3635 button = picture_button(ca->window, _("Cancel"), cancel_xpm);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3636 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(destroy_dialog), ca->window);
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3637 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
3638
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
3639 gtk_widget_show(ca->window);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3640 }
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3641
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3642 /* smiley dialog */
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3643
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3644 void close_smiley_dialog(GtkWidget *widget, struct conversation *c)
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3645 {
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3646 if (c->smiley) {
570
93c65fbaa622 [gaim-migrate @ 580]
Todd Kulesza <fflewddur>
parents: 567
diff changeset
3647 set_state_lock(1);
93c65fbaa622 [gaim-migrate @ 580]
Todd Kulesza <fflewddur>
parents: 567
diff changeset
3648 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->smiley), FALSE);
93c65fbaa622 [gaim-migrate @ 580]
Todd Kulesza <fflewddur>
parents: 567
diff changeset
3649 set_state_lock(0);
93c65fbaa622 [gaim-migrate @ 580]
Todd Kulesza <fflewddur>
parents: 567
diff changeset
3650 }
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3651 dialogwindows = g_list_remove(dialogwindows, c->smiley_dialog);
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3652 gtk_widget_destroy(c->smiley_dialog);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3653 c->smiley_dialog = NULL;
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3654 }
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3655
3035
0f1766887ddd [gaim-migrate @ 3048]
Rob Flynn <gaim@robflynn.com>
parents: 2996
diff changeset
3656 void set_smiley(GtkWidget *w, char *face)
0f1766887ddd [gaim-migrate @ 3048]
Rob Flynn <gaim@robflynn.com>
parents: 2996
diff changeset
3657 {
0f1766887ddd [gaim-migrate @ 3048]
Rob Flynn <gaim@robflynn.com>
parents: 2996
diff changeset
3658 current_smiley = face;
0f1766887ddd [gaim-migrate @ 3048]
Rob Flynn <gaim@robflynn.com>
parents: 2996
diff changeset
3659 }
0f1766887ddd [gaim-migrate @ 3048]
Rob Flynn <gaim@robflynn.com>
parents: 2996
diff changeset
3660
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3661 void set_smiley_array(GtkWidget *widget, int smiley_type)
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3662 {
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3663 int i;
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3664
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3665 for (i = 0; i < FACE_TOTAL; i++)
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3666 smiley_array[i] = 0;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3667
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3668 smiley_array[smiley_type] = 1;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3669
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3670 return;
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3671 }
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3672
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3673 void insert_smiley_text(GtkWidget *widget, struct conversation *c)
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3674 {
3790
12b29552f1d7 [gaim-migrate @ 3930]
Rob Flynn <gaim@robflynn.com>
parents: 3786
diff changeset
3675 gtk_text_buffer_insert_at_cursor(c->entry_buffer,
12b29552f1d7 [gaim-migrate @ 3930]
Rob Flynn <gaim@robflynn.com>
parents: 3786
diff changeset
3676 current_smiley, -1);
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3677 close_smiley_dialog(NULL, c);
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3678 }
579
7b501c39a6ee [gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 577
diff changeset
3679
4061
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3680 static void toolbar_add_smiley(struct conversation *c, GtkWidget *bar, char* path, char *filename, char *face)
4034
c14b687f4601 [gaim-migrate @ 4240]
Sean Egan <seanegan@gmail.com>
parents: 4011
diff changeset
3681 {
4061
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3682 GtkWidget *image;
4034
c14b687f4601 [gaim-migrate @ 4240]
Sean Egan <seanegan@gmail.com>
parents: 4011
diff changeset
3683 GtkWidget *button;
4061
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3684 char *buf;
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3685
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3686 buf = g_build_filename(path, filename, NULL);
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3687 image = gtk_image_new_from_file(buf);
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3688 g_free(buf);
4034
c14b687f4601 [gaim-migrate @ 4240]
Sean Egan <seanegan@gmail.com>
parents: 4011
diff changeset
3689 button =
c14b687f4601 [gaim-migrate @ 4240]
Sean Egan <seanegan@gmail.com>
parents: 4011
diff changeset
3690 gtk_toolbar_append_item(GTK_TOOLBAR(bar), NULL, NULL, NULL,
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3691 image, G_CALLBACK(set_smiley), (char *)face);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3692 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(insert_smiley_text), c);
4034
c14b687f4601 [gaim-migrate @ 4240]
Sean Egan <seanegan@gmail.com>
parents: 4011
diff changeset
3693
c14b687f4601 [gaim-migrate @ 4240]
Sean Egan <seanegan@gmail.com>
parents: 4011
diff changeset
3694 /* these look really weird with borders */
c14b687f4601 [gaim-migrate @ 4240]
Sean Egan <seanegan@gmail.com>
parents: 4011
diff changeset
3695 gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE);
c14b687f4601 [gaim-migrate @ 4240]
Sean Egan <seanegan@gmail.com>
parents: 4011
diff changeset
3696 }
c14b687f4601 [gaim-migrate @ 4240]
Sean Egan <seanegan@gmail.com>
parents: 4011
diff changeset
3697
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3698 void show_smiley_dialog(struct conversation *c, GtkWidget *widget)
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3699 {
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3700 GtkWidget *dialog;
3035
0f1766887ddd [gaim-migrate @ 3048]
Rob Flynn <gaim@robflynn.com>
parents: 2996
diff changeset
3701 GtkWidget *vbox, *smiley_box = NULL;
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3702 GtkWidget *win;
582
7409d7ae6621 [gaim-migrate @ 592]
Rob Flynn <gaim@robflynn.com>
parents: 579
diff changeset
3703 GtkWidget *bbox;
4061
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3704 char *smiley_path = 0;
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3705
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3706 if (c->smiley_dialog)
558
f1b8f03db83f [gaim-migrate @ 568]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 555
diff changeset
3707 return;
579
7b501c39a6ee [gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 577
diff changeset
3708
7b501c39a6ee [gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 577
diff changeset
3709 win = c->window;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3710
2725
f3c094e78609 [gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2681
diff changeset
3711 GAIM_DIALOG(dialog);
905
2876c40108cd [gaim-migrate @ 915]
Rob Flynn <gaim@robflynn.com>
parents: 887
diff changeset
3712 gtk_window_set_policy(GTK_WINDOW(dialog), FALSE, FALSE, TRUE);
4074
3ccbdf8e7f8d [gaim-migrate @ 4289]
Sean Egan <seanegan@gmail.com>
parents: 4061
diff changeset
3713 gtk_window_set_role(GTK_WINDOW(dialog), "smiley_dialog");
934
e5da96def4bd [gaim-migrate @ 944]
Rob Flynn <gaim@robflynn.com>
parents: 928
diff changeset
3714 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
3715
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3716 /* setup boxes */
582
7409d7ae6621 [gaim-migrate @ 592]
Rob Flynn <gaim@robflynn.com>
parents: 579
diff changeset
3717 vbox = gtk_vbox_new(TRUE, 5);
7409d7ae6621 [gaim-migrate @ 592]
Rob Flynn <gaim@robflynn.com>
parents: 579
diff changeset
3718 bbox = gtk_hbox_new(FALSE, 5);
7409d7ae6621 [gaim-migrate @ 592]
Rob Flynn <gaim@robflynn.com>
parents: 579
diff changeset
3719
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3720
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3721 /* setup buttons */
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3722
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3723 /* pack buttons */
3035
0f1766887ddd [gaim-migrate @ 3048]
Rob Flynn <gaim@robflynn.com>
parents: 2996
diff changeset
3724
4044
133cf6424c53 [gaim-migrate @ 4252]
Sean Egan <seanegan@gmail.com>
parents: 4034
diff changeset
3725 smiley_box = gtk_toolbar_new();
133cf6424c53 [gaim-migrate @ 4252]
Sean Egan <seanegan@gmail.com>
parents: 4034
diff changeset
3726 gtk_box_pack_start(GTK_BOX(vbox), smiley_box, TRUE, TRUE, 0);
4060
c3c36d2444af [gaim-migrate @ 4270]
Rob Flynn <gaim@robflynn.com>
parents: 4059
diff changeset
3727
4061
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3728 smiley_path = g_build_filename(DATADIR, "pixmaps", "gaim", "smileys", "default", NULL);
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3729 toolbar_add_smiley(c, smiley_box, smiley_path, "angel.png", "O:-)");
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3730 toolbar_add_smiley(c, smiley_box, smiley_path, "bigsmile.png", ":-D");
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3731 toolbar_add_smiley(c, smiley_box, smiley_path, "burp.png", ":-!");
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3732 toolbar_add_smiley(c, smiley_box, smiley_path, "crossedlips.png", ":-X");
4044
133cf6424c53 [gaim-migrate @ 4252]
Sean Egan <seanegan@gmail.com>
parents: 4034
diff changeset
3733
133cf6424c53 [gaim-migrate @ 4252]
Sean Egan <seanegan@gmail.com>
parents: 4034
diff changeset
3734 smiley_box = gtk_toolbar_new();
133cf6424c53 [gaim-migrate @ 4252]
Sean Egan <seanegan@gmail.com>
parents: 4034
diff changeset
3735 gtk_box_pack_start(GTK_BOX(vbox), smiley_box, TRUE, TRUE, 0);
4061
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3736 toolbar_add_smiley(c, smiley_box, smiley_path, "cry.png", ":'(");
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3737 toolbar_add_smiley(c, smiley_box, smiley_path, "embarrassed.png", ":-[");
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3738 toolbar_add_smiley(c, smiley_box, smiley_path, "kiss.png", ":-*");
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3739 toolbar_add_smiley(c, smiley_box, smiley_path, "moneymouth.png", ":-$");
4044
133cf6424c53 [gaim-migrate @ 4252]
Sean Egan <seanegan@gmail.com>
parents: 4034
diff changeset
3740
133cf6424c53 [gaim-migrate @ 4252]
Sean Egan <seanegan@gmail.com>
parents: 4034
diff changeset
3741 smiley_box = gtk_toolbar_new();
133cf6424c53 [gaim-migrate @ 4252]
Sean Egan <seanegan@gmail.com>
parents: 4034
diff changeset
3742 gtk_box_pack_start(GTK_BOX(vbox), smiley_box, TRUE, TRUE, 0);
4061
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3743 toolbar_add_smiley(c, smiley_box, smiley_path, "sad.png", ":-(");
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3744 toolbar_add_smiley(c, smiley_box, smiley_path, "scream.png", "=-O");
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3745 toolbar_add_smiley(c, smiley_box, smiley_path, "smile.png", ":-)");
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3746 toolbar_add_smiley(c, smiley_box, smiley_path, "cool.png", "8-)");
4044
133cf6424c53 [gaim-migrate @ 4252]
Sean Egan <seanegan@gmail.com>
parents: 4034
diff changeset
3747
133cf6424c53 [gaim-migrate @ 4252]
Sean Egan <seanegan@gmail.com>
parents: 4034
diff changeset
3748 smiley_box = gtk_toolbar_new();
133cf6424c53 [gaim-migrate @ 4252]
Sean Egan <seanegan@gmail.com>
parents: 4034
diff changeset
3749 gtk_box_pack_start(GTK_BOX(vbox), smiley_box, TRUE, TRUE, 0);
4061
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3750 toolbar_add_smiley(c, smiley_box, smiley_path, "think.png", ":-/");
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3751 toolbar_add_smiley(c, smiley_box, smiley_path, "tongue.png", ":-P");
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3752 toolbar_add_smiley(c, smiley_box, smiley_path, "wink.png", ";-)");
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3753 toolbar_add_smiley(c, smiley_box, smiley_path, "yell.png", ">:o");
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3754
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
3755 g_free(smiley_path);
582
7409d7ae6621 [gaim-migrate @ 592]
Rob Flynn <gaim@robflynn.com>
parents: 579
diff changeset
3756
7409d7ae6621 [gaim-migrate @ 592]
Rob Flynn <gaim@robflynn.com>
parents: 579
diff changeset
3757 gtk_container_add(GTK_CONTAINER(dialog), vbox);
579
7b501c39a6ee [gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 577
diff changeset
3758 gtk_container_set_border_width(GTK_CONTAINER(dialog), 5);
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3759
605
1dbc72baf900 [gaim-migrate @ 615]
Todd Kulesza <fflewddur>
parents: 603
diff changeset
3760 /* connect signals */
1dbc72baf900 [gaim-migrate @ 615]
Todd Kulesza <fflewddur>
parents: 603
diff changeset
3761 gtk_object_set_user_data(GTK_OBJECT(dialog), "smiley dialog");
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3762 g_signal_connect(GTK_OBJECT(dialog), "delete_event", G_CALLBACK(delete_event_dialog), c);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3763
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3764 /* show everything */
567
102afb84ce45 [gaim-migrate @ 577]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 558
diff changeset
3765 gtk_window_set_title(GTK_WINDOW(dialog), _("Smile!"));
584
56f7cb624e9e [gaim-migrate @ 594]
Todd Kulesza <fflewddur>
parents: 582
diff changeset
3766 gtk_widget_show_all(dialog);
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3767
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3768 c->smiley_dialog = dialog;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3769
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
3770 return;
558
f1b8f03db83f [gaim-migrate @ 568]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 555
diff changeset
3771 }
710
efd72a117875 [gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 699
diff changeset
3772
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
3773 static void do_alias_bud(GtkWidget *w, struct buddy *b)
710
efd72a117875 [gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 699
diff changeset
3774 {
3466
7a3f16a375a5 [gaim-migrate @ 3516]
Sean Egan <seanegan@gmail.com>
parents: 3427
diff changeset
3775 const char *al = gtk_entry_get_text(GTK_ENTRY(aliasname));
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
3776 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
3777 handle_buddy_rename(b, b->name);
3136
1bd472b7f7a2 [gaim-migrate @ 3151]
Rob Flynn <gaim@robflynn.com>
parents: 3102
diff changeset
3778 serv_alias_buddy(b);
710
efd72a117875 [gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 699
diff changeset
3779 destroy_dialog(aliasdlg, aliasdlg);
1397
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3780 }
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3781
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3782 void alias_dialog_bud(struct buddy *b)
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3783 {
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3784 GtkWidget *vbox;
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3785 GtkWidget *bbox;
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3786 GtkWidget *cancel;
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3787 static GtkWidget *add = NULL;
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3788 GtkWidget *label;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3789 GtkWidget *topbox;
1397
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3790 static int a, c;
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3791
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3792 if (aliasdlg)
1397
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3793 gtk_widget_destroy(aliasdlg);
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3794
2725
f3c094e78609 [gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2681
diff changeset
3795 GAIM_DIALOG(aliasdlg);
1397
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3796 gtk_window_set_policy(GTK_WINDOW(aliasdlg), FALSE, FALSE, TRUE);
4074
3ccbdf8e7f8d [gaim-migrate @ 4289]
Sean Egan <seanegan@gmail.com>
parents: 4061
diff changeset
3797 gtk_window_set_role(GTK_WINDOW(aliasdlg), "alias_dialog");
1397
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3798 gtk_widget_realize(aliasdlg);
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3799 dialogwindows = g_list_prepend(dialogwindows, aliasdlg);
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3800
4092
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3801 topbox = gtk_vbox_new(FALSE, 5);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3802 vbox = gtk_vbox_new(FALSE, 5);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3803
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3804 aliasentry = gtk_entry_new();
1397
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3805 aliasname = gtk_entry_new();
4092
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3806
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3807 /* Make the buddy name box */
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3808 bbox = gtk_hbox_new(FALSE, 5);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3809 label = gtk_label_new(_("Buddy"));
4092
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3810 gtk_widget_show(bbox);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3811 gtk_widget_show(label);
4092
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3812 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 5);
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3813 gtk_box_pack_end(GTK_BOX(bbox), aliasentry, FALSE, FALSE, 5);
1397
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3814 gtk_entry_set_editable(GTK_ENTRY(aliasentry), FALSE);
4092
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3815 gtk_box_pack_start(GTK_BOX(topbox), bbox, FALSE, FALSE, 0);
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3816
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3817 /* And the buddy alias box */
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3818 bbox = gtk_hbox_new(FALSE, 5);
1397
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3819 label = gtk_label_new(_("Alias"));
4092
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3820 gtk_widget_show(bbox);
1397
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3821 gtk_widget_show(label);
4092
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3822 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 5);
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3823 gtk_box_pack_end(GTK_BOX(bbox), aliasname, FALSE, FALSE, 5);
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3824 gtk_box_pack_start(GTK_BOX(topbox), bbox, FALSE, FALSE, 0);
1397
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3825
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3826 gtk_entry_set_text(GTK_ENTRY(aliasentry), b->name);
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3827 gtk_entry_set_text(GTK_ENTRY(aliasname), b->show);
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3828
4092
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3829 /* Put the buttons in the box */
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3830 bbox = gtk_hbox_new(FALSE, 5);
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3831
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3832 add = picture_button(aliasdlg, _("Alias"), add_xpm);
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3833 cancel = picture_button(aliasdlg, _("Cancel"), cancel_xpm);
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3834 gtk_box_pack_end(GTK_BOX(bbox), add, FALSE, FALSE, 0);
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3835 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 0);
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3836
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3837 /* And the boxes in the box */
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3838 gtk_box_pack_start(GTK_BOX(vbox), topbox, TRUE, TRUE, 5);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3839 gtk_box_pack_start(GTK_BOX(vbox), bbox, TRUE, TRUE, 5);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3840
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3841 /* Handle closes right */
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3842 g_signal_connect(GTK_OBJECT(aliasdlg), "destroy", G_CALLBACK(destroy_dialog), aliasdlg);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3843 g_signal_connect(GTK_OBJECT(cancel), "clicked", G_CALLBACK(destroy_dialog), aliasdlg);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3844 a = g_signal_connect(GTK_OBJECT(add), "clicked", G_CALLBACK(do_alias_bud), b);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3845 c = g_signal_connect(GTK_OBJECT(aliasname), "activate", G_CALLBACK(do_alias_bud), b);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3846 /* Finish up */
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3847 gtk_widget_show(add);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3848 gtk_widget_show(cancel);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3849 gtk_widget_show(aliasentry);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3850 gtk_widget_show(aliasname);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3851 gtk_widget_show(topbox);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3852 gtk_widget_show(bbox);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3853 gtk_widget_show(vbox);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3854 gtk_window_set_title(GTK_WINDOW(aliasdlg), _("Gaim - Alias Buddy"));
4092
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3855 gtk_window_set_focus(GTK_WINDOW(aliasdlg), aliasname);
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
3856 gtk_container_add(GTK_CONTAINER(aliasdlg), vbox);
1397
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3857 gtk_container_set_border_width(GTK_CONTAINER(aliasdlg), 5);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3858 gtk_widget_realize(aliasdlg);
1397
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3859
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3860 gtk_widget_show(aliasdlg);
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
3861 }
1477
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
3862
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
3863
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3864 static gboolean dont_destroy(gpointer a, gpointer b, gpointer c)
1488
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3865 {
1477
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
3866 return TRUE;
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
3867 }
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
3868
1488
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3869 static void do_save_log(GtkWidget *w, GtkWidget *filesel)
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3870 {
3716
d7e83b4db191 [gaim-migrate @ 3849]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3671
diff changeset
3871 const char *file;
1488
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3872 char path[PATHSIZE];
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3873 char buf[BUF_LONG];
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3874 char error[BUF_LEN];
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3875 FILE *fp_old, *fp_new;
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3876 char filename[PATHSIZE];
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3877 char *name;
1722
1edc8b545d6f [gaim-migrate @ 1732]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1710
diff changeset
3878 char *tmp;
1488
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3879
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3880 name = gtk_object_get_user_data(GTK_OBJECT(filesel));
1722
1edc8b545d6f [gaim-migrate @ 1732]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1710
diff changeset
3881 tmp = gaim_user_dir();
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3572
diff changeset
3882 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
3883 name ? normalize(name) : "system", name ? ".log" : "");
1488
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3884
3716
d7e83b4db191 [gaim-migrate @ 3849]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3671
diff changeset
3885 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
3886 strncpy(path, file, PATHSIZE - 1);
1488
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3887 if (file_is_dir(path, filesel))
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3888 return;
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3889
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3890 if ((fp_new = fopen(path, "w")) == NULL) {
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3891 g_snprintf(error, BUF_LONG,
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
3892 _("Couldn't write to %s."), path);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
3893 do_error_dialog(error, strerror(errno), GAIM_ERROR);
1488
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3894 return;
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
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3897 if ((fp_old = fopen(filename, "r")) == NULL) {
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3898 g_snprintf(error, BUF_LONG,
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
3899 _("Couldn't write to %s."), filename);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
3900 do_error_dialog(error, strerror(errno), GAIM_ERROR);
1488
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3901 fclose(fp_new);
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3902 return;
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3903 }
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3904
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3905 while (fgets(buf, BUF_LONG, fp_old))
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3906 fputs(buf, fp_new);
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3907 fclose(fp_old);
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3908 fclose(fp_new);
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3909
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3910 gtk_widget_destroy(filesel);
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 return;
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3913 }
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3914
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3915 static void show_save_log(GtkWidget *w, gchar *name)
1488
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3916 {
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3917 GtkWidget *filesel;
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3918 gchar buf[BUF_LEN];
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3919
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3572
diff changeset
3920 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
3921 name ? normalize(name) : "system", name ? ".log" : "");
1488
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3922
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3923 filesel = gtk_file_selection_new(_("Gaim - Save Log File"));
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3924 g_signal_connect(GTK_OBJECT(filesel), "delete_event",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3925 G_CALLBACK(destroy_dialog), filesel);
1488
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3926
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3927 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(filesel));
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3928 gtk_file_selection_set_filename(GTK_FILE_SELECTION(filesel), buf);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3929 g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filesel)->ok_button),
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3930 "clicked", G_CALLBACK(do_save_log), filesel);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3931 g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filesel)->cancel_button),
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3932 "clicked", G_CALLBACK(destroy_dialog), filesel);
1488
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3933 gtk_object_set_user_data(GTK_OBJECT(filesel), name);
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3934
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3935 gtk_widget_realize(filesel);
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3936 gtk_widget_show(filesel);
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3937
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3938 return;
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3939 }
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3940
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3941 static void do_clear_log_file(GtkWidget *w, gchar *name)
1488
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 gchar buf[256];
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3944 gchar filename[256];
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3945 GtkWidget *window;
1722
1edc8b545d6f [gaim-migrate @ 1732]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1710
diff changeset
3946 char *tmp;
1edc8b545d6f [gaim-migrate @ 1732]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1710
diff changeset
3947
1edc8b545d6f [gaim-migrate @ 1732]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1710
diff changeset
3948 tmp = gaim_user_dir();
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3572
diff changeset
3949 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
3950 name ? normalize(name) : "system", name ? ".log" : "");
1488
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3951
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3952 if ((remove(filename)) == -1) {
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
3953 g_snprintf(buf, 256, _("Couldn't remove file %s." ), filename);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
3954 do_error_dialog(buf, strerror(errno), GAIM_ERROR);
1488
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
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3957 window = gtk_object_get_user_data(GTK_OBJECT(w));
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3958 destroy_dialog(NULL, window);
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3959 }
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3960
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3961 static void show_clear_log(GtkWidget *w, gchar *name)
1488
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3962 {
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3963 GtkWidget *window;
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3964 GtkWidget *box;
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3965 GtkWidget *hbox;
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3966 GtkWidget *button;
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3967 GtkWidget *label;
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3968 GtkWidget *hsep;
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3969
2725
f3c094e78609 [gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2681
diff changeset
3970 GAIM_DIALOG(window);
4074
3ccbdf8e7f8d [gaim-migrate @ 4289]
Sean Egan <seanegan@gmail.com>
parents: 4061
diff changeset
3971 gtk_window_set_role(GTK_WINDOW(window), "dialog");
1488
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3972 gtk_container_set_border_width(GTK_CONTAINER(window), 10);
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3973 gtk_window_set_policy(GTK_WINDOW(window), TRUE, TRUE, TRUE);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3974 g_signal_connect(GTK_OBJECT(window), "delete_event", G_CALLBACK(destroy_dialog), window);
1488
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3975 gtk_widget_realize(window);
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3976
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3977 box = gtk_vbox_new(FALSE, 5);
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3978 gtk_container_add(GTK_CONTAINER(window), box);
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3979
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3980 label = gtk_label_new(_("Really clear log?"));
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3981 gtk_box_pack_start(GTK_BOX(box), label, TRUE, TRUE, 15);
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3982
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3983 hsep = gtk_hseparator_new();
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3984 gtk_box_pack_start(GTK_BOX(box), hsep, FALSE, FALSE, 0);
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3985
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3986 hbox = gtk_hbox_new(FALSE, 0);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3987 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
3988 gtk_widget_show(hbox);
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3989
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3990 button = picture_button(window, _("Cancel"), cancel_xpm);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3991 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(destroy_dialog), window);
1488
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3992 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 5);
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3993 gtk_widget_show(button);
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3994
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3995 button = picture_button(window, _("Okay"), ok_xpm);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
3996 gtk_object_set_user_data(GTK_OBJECT(button), gtk_object_get_user_data(GTK_OBJECT(w)));
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3997 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(do_clear_log_file), name);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
3998 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(destroy_dialog), window);
1488
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
3999 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 5);
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
4000 gtk_widget_show(button);
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 gtk_widget_show_all(window);
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
4003
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
4004 return;
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
2621
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4007 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
4008 {
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4009 gchar buf[BUF_LONG];
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4010 FILE *fp;
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4011 char filename[256];
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4012 int i=0;
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4013 GString *string;
2602
c9192dea2bb1 [gaim-migrate @ 2615]
Rob Flynn <gaim@robflynn.com>
parents: 2598
diff changeset
4014 guint block;
c9192dea2bb1 [gaim-migrate @ 2615]
Rob Flynn <gaim@robflynn.com>
parents: 2598
diff changeset
4015
1477
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4016 string = g_string_new("");
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4017
2621
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4018 if (view->name) {
1634
d029dc28a61e [gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1535
diff changeset
4019 char *tmp = gaim_user_dir();
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3572
diff changeset
4020 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
4021 } else {
d029dc28a61e [gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1535
diff changeset
4022 char *tmp = gaim_user_dir();
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3572
diff changeset
4023 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
4024 }
1477
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4025 if ((fp = fopen(filename, "r")) == NULL) {
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
4026 g_snprintf(buf, BUF_LONG, "Couldn't open log file %s.", filename);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
4027 do_error_dialog(buf, strerror(errno), GAIM_ERROR);
1477
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4028 return;
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4029 }
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4030
2621
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4031 gtk_widget_set_sensitive(view->bbox, FALSE);
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4032 gtk_signal_disconnect_by_func(GTK_OBJECT(view->window),
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4033 G_CALLBACK(destroy_dialog), view->window);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4034 block = g_signal_connect(GTK_OBJECT(view->window), "delete_event",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4035 G_CALLBACK(dont_destroy), view->window);
2621
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4036
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4037 fseek(fp, view->offset, SEEK_SET);
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4038 gtk_imhtml_clear(GTK_IMHTML(view->layout));
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4039 /*
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4040 while (gtk_events_pending())
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4041 gtk_main_iteration();
2621
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4042 */
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4043
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4044 while (fgets(buf, BUF_LONG, fp) && !strstr(buf, "---- New C")) {
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4045 i++;
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4046 if (strlen(buf) >= 5 && (!strncmp(buf + strlen(buf) - 5, "<BR>\n", 5)))
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4047 /* take off the \n */
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4048 buf[strlen(buf) - 1] = '\0';
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4049
2642
b6cf22276d4b [gaim-migrate @ 2655]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2623
diff changeset
4050 /* don't lose the thirtieth line of conversation. thanks FeRD */
b6cf22276d4b [gaim-migrate @ 2655]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2623
diff changeset
4051 g_string_append(string, buf);
b6cf22276d4b [gaim-migrate @ 2655]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2623
diff changeset
4052
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4053 if (i == 30) {
2856
b1e300a85678 [gaim-migrate @ 2869]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2851
diff changeset
4054 gtk_imhtml_append_text(GTK_IMHTML(view->layout), string->str, -1, view->options);
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4055 g_string_free(string, TRUE);
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4056 string = g_string_new("");
2621
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4057 /* 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
4058 * drawing, it will try to move to that item, and that causes problems here.
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4059 while (gtk_events_pending())
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4060 gtk_main_iteration();
2621
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4061 */
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4062 i = 0;
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4063 }
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4064
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4065 }
2856
b1e300a85678 [gaim-migrate @ 2869]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2851
diff changeset
4066 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
4067 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
4068
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4069 gtk_widget_set_sensitive(view->bbox, TRUE);
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4070 gtk_signal_disconnect(GTK_OBJECT(view->window), block);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4071 g_signal_connect(GTK_OBJECT(view->window), "delete_event",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4072 G_CALLBACK(destroy_dialog), view->window);
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4073 g_string_free(string, TRUE);
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4074 fclose(fp);
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4075 }
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4076
2621
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4077 static void des_view_item(GtkObject *obj, struct view_log *view)
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4078 {
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4079 if (view->name)
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4080 g_free(view->name);
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4081 g_free(view);
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4082 }
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4083
2623
66164831c228 [gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2621
diff changeset
4084 static void des_log_win(GtkObject *win, gpointer data)
66164831c228 [gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2621
diff changeset
4085 {
66164831c228 [gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2621
diff changeset
4086 char *x = gtk_object_get_user_data(win);
66164831c228 [gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2621
diff changeset
4087 if (x)
66164831c228 [gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2621
diff changeset
4088 g_free(x);
66164831c228 [gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2621
diff changeset
4089 }
66164831c228 [gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2621
diff changeset
4090
3484
5d1dff030d8b [gaim-migrate @ 3538]
Sean Egan <seanegan@gmail.com>
parents: 3474
diff changeset
4091 void conv_show_log(GtkWidget *w, gpointer data)
5d1dff030d8b [gaim-migrate @ 3538]
Sean Egan <seanegan@gmail.com>
parents: 3474
diff changeset
4092 {
5d1dff030d8b [gaim-migrate @ 3538]
Sean Egan <seanegan@gmail.com>
parents: 3474
diff changeset
4093 char *name = g_strdup(data);
5d1dff030d8b [gaim-migrate @ 3538]
Sean Egan <seanegan@gmail.com>
parents: 3474
diff changeset
4094 show_log(name);
5d1dff030d8b [gaim-migrate @ 3538]
Sean Egan <seanegan@gmail.com>
parents: 3474
diff changeset
4095 g_free(name);
5d1dff030d8b [gaim-migrate @ 3538]
Sean Egan <seanegan@gmail.com>
parents: 3474
diff changeset
4096 }
5d1dff030d8b [gaim-migrate @ 3538]
Sean Egan <seanegan@gmail.com>
parents: 3474
diff changeset
4097
3532
369d419c8a29 [gaim-migrate @ 3606]
Sean Egan <seanegan@gmail.com>
parents: 3523
diff changeset
4098 void chat_show_log(GtkWidget *w, gpointer data)
369d419c8a29 [gaim-migrate @ 3606]
Sean Egan <seanegan@gmail.com>
parents: 3523
diff changeset
4099 {
3716
d7e83b4db191 [gaim-migrate @ 3849]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3671
diff changeset
4100 char *name = g_strdup_printf("%s.chat", (char*)data);
3532
369d419c8a29 [gaim-migrate @ 3606]
Sean Egan <seanegan@gmail.com>
parents: 3523
diff changeset
4101 show_log(name);
369d419c8a29 [gaim-migrate @ 3606]
Sean Egan <seanegan@gmail.com>
parents: 3523
diff changeset
4102 g_free(name);
369d419c8a29 [gaim-migrate @ 3606]
Sean Egan <seanegan@gmail.com>
parents: 3523
diff changeset
4103 }
369d419c8a29 [gaim-migrate @ 3606]
Sean Egan <seanegan@gmail.com>
parents: 3523
diff changeset
4104
2623
66164831c228 [gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2621
diff changeset
4105 void show_log(char *nm)
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4106 {
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4107 gchar filename[256];
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4108 gchar buf[BUF_LONG];
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4109 FILE *fp;
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4110 GtkWidget *window;
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4111 GtkWidget *box;
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4112 GtkWidget *hbox;
2602
c9192dea2bb1 [gaim-migrate @ 2615]
Rob Flynn <gaim@robflynn.com>
parents: 2598
diff changeset
4113 GtkWidget *bbox;
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4114 GtkWidget *sw;
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4115 GtkWidget *layout;
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4116 GtkWidget *close_button;
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4117 GtkWidget *clear_button;
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4118 GtkWidget *save_button;
2572
ad0d7c423669 [gaim-migrate @ 2585]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2571
diff changeset
4119 GtkWidget *list = NULL;
2612
7938953630fa [gaim-migrate @ 2625]
Rob Flynn <gaim@robflynn.com>
parents: 2607
diff changeset
4120 GList *item_list = NULL;
7938953630fa [gaim-migrate @ 2625]
Rob Flynn <gaim@robflynn.com>
parents: 2607
diff changeset
4121 GtkWidget *item = NULL;
7938953630fa [gaim-migrate @ 2625]
Rob Flynn <gaim@robflynn.com>
parents: 2607
diff changeset
4122 GtkWidget *last = NULL;
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4123 GtkWidget *frame;
2621
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4124 struct view_log *view;
2623
66164831c228 [gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2621
diff changeset
4125 char *name = nm ? g_strdup(nm) : NULL;
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4126
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4127 int options;
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4128 guint block;
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4129 char convo_start[32];
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4130 long offset = 0;
2612
7938953630fa [gaim-migrate @ 2625]
Rob Flynn <gaim@robflynn.com>
parents: 2607
diff changeset
4131 unsigned int i = 0;
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4132
1477
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4133 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
4134 if (convo_options & OPT_CONVO_IGNORE_COLOUR)
1477
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4135 options ^= GTK_IMHTML_NO_COLOURS;
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2228
diff changeset
4136 if (convo_options & OPT_CONVO_IGNORE_FONTS)
1477
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4137 options ^= GTK_IMHTML_NO_FONTS;
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2228
diff changeset
4138 if (convo_options & OPT_CONVO_IGNORE_SIZES)
1477
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4139 options ^= GTK_IMHTML_NO_SIZES;
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4140
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4141 window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
2623
66164831c228 [gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2621
diff changeset
4142 gtk_object_set_user_data(GTK_OBJECT(window), name);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4143 g_signal_connect(GTK_OBJECT(window), "destroy", G_CALLBACK(des_log_win), NULL);
4074
3ccbdf8e7f8d [gaim-migrate @ 4289]
Sean Egan <seanegan@gmail.com>
parents: 4061
diff changeset
4144 gtk_window_set_role(GTK_WINDOW(window), "log");
1648
09445224e2d9 [gaim-migrate @ 1658]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1634
diff changeset
4145 if (name)
09445224e2d9 [gaim-migrate @ 1658]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1634
diff changeset
4146 g_snprintf(buf, BUF_LONG, "Gaim - Conversations with %s", name);
09445224e2d9 [gaim-migrate @ 1658]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1634
diff changeset
4147 else
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
4148 g_snprintf(buf, BUF_LONG, "Gaim - System Log");
1477
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4149 gtk_window_set_title(GTK_WINDOW(window), buf);
1488
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
4150 gtk_container_set_border_width(GTK_CONTAINER(window), 10);
1477
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4151 gtk_window_set_policy(GTK_WINDOW(window), TRUE, TRUE, TRUE);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4152 block = g_signal_connect(GTK_OBJECT(window), "delete_event",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4153 G_CALLBACK(dont_destroy), window);
1477
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4154 gtk_widget_realize(window);
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4155
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4156 layout = gtk_imhtml_new(NULL, NULL);
2602
c9192dea2bb1 [gaim-migrate @ 2615]
Rob Flynn <gaim@robflynn.com>
parents: 2598
diff changeset
4157 bbox = gtk_hbox_new(FALSE, 0);
c9192dea2bb1 [gaim-migrate @ 2615]
Rob Flynn <gaim@robflynn.com>
parents: 2598
diff changeset
4158
1488
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
4159 box = gtk_vbox_new(FALSE, 5);
1477
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4160 gtk_container_add(GTK_CONTAINER(window), box);
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4161
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4162 hbox = gtk_hbox_new(FALSE, 5);
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4163 gtk_box_pack_start(GTK_BOX(box), hbox, TRUE, TRUE, 0);
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4164
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4165 if (name) {
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4166 char *tmp = gaim_user_dir();
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3572
diff changeset
4167 g_snprintf(filename, 256, "%s" G_DIR_SEPARATOR_S "logs" G_DIR_SEPARATOR_S "%s.log", tmp, normalize(name));
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4168 if ((fp = fopen(filename, "r")) == NULL) {
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
4169 g_snprintf(buf, BUF_LONG, "Couldn't open log file %s", filename);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
4170 do_error_dialog(buf, strerror(errno), GAIM_ERROR);
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4171 return;
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4172 }
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4173
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4174 list = gtk_list_new();
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4175
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4176 frame = gtk_frame_new(_("Date"));
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4177 gtk_widget_show(frame);
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4178
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4179 sw = gtk_scrolled_window_new(NULL, NULL);
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4180 gtk_container_set_border_width(GTK_CONTAINER(sw), 5);
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4181 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
4182 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw),
6f7e1fc3e132 [gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2612
diff changeset
4183 GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
2571
f25885510dd2 [gaim-migrate @ 2584]
Rob Flynn <gaim@robflynn.com>
parents: 2570
diff changeset
4184 gtk_widget_set_usize(sw, 220, 220);
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4185 gtk_container_add(GTK_CONTAINER(frame), sw);
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4186 gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0);
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4187
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4188 while (fgets(buf, BUF_LONG, fp)) {
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4189 if (strstr(buf, "---- New C")) {
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4190 int length;
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4191 char *temp = strchr(buf, '@');
2612
7938953630fa [gaim-migrate @ 2625]
Rob Flynn <gaim@robflynn.com>
parents: 2607
diff changeset
4192
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4193 if (temp == NULL || strlen(temp) < 2)
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4194 continue;
2612
7938953630fa [gaim-migrate @ 2625]
Rob Flynn <gaim@robflynn.com>
parents: 2607
diff changeset
4195
2613
6f7e1fc3e132 [gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2612
diff changeset
4196 if (i == 1 && item_list) {
6f7e1fc3e132 [gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2612
diff changeset
4197 item_list = g_list_remove(item_list, last);
6f7e1fc3e132 [gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2612
diff changeset
4198 last = NULL;
2612
7938953630fa [gaim-migrate @ 2625]
Rob Flynn <gaim@robflynn.com>
parents: 2607
diff changeset
4199 }
7938953630fa [gaim-migrate @ 2625]
Rob Flynn <gaim@robflynn.com>
parents: 2607
diff changeset
4200
7938953630fa [gaim-migrate @ 2625]
Rob Flynn <gaim@robflynn.com>
parents: 2607
diff changeset
4201 i = 0;
7938953630fa [gaim-migrate @ 2625]
Rob Flynn <gaim@robflynn.com>
parents: 2607
diff changeset
4202
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4203 temp++;
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4204 length = strcspn(temp, "-");
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4205 if (length > 31) length = 31;
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4206
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4207 offset = ftell(fp);
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4208 g_snprintf(convo_start, length, "%s", temp);
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4209 item = gtk_list_item_new_with_label(convo_start);
2621
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4210 view = g_new0(struct view_log, 1);
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4211 view->options = options;
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4212 view->offset = offset;
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4213 view->name = g_strdup(name);
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4214 view->bbox = bbox;
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4215 view->window = window;
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4216 view->layout = layout;
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4217 g_signal_connect(GTK_OBJECT(item), "select",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4218 G_CALLBACK(log_show_convo), view);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4219 g_signal_connect(GTK_OBJECT(item), "destroy",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4220 G_CALLBACK(des_view_item), view);
2612
7938953630fa [gaim-migrate @ 2625]
Rob Flynn <gaim@robflynn.com>
parents: 2607
diff changeset
4221 last = item;
7938953630fa [gaim-migrate @ 2625]
Rob Flynn <gaim@robflynn.com>
parents: 2607
diff changeset
4222 item_list = g_list_append(item_list, item);
2613
6f7e1fc3e132 [gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2612
diff changeset
4223
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4224 gtk_widget_show(item);
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4225 }
2612
7938953630fa [gaim-migrate @ 2625]
Rob Flynn <gaim@robflynn.com>
parents: 2607
diff changeset
4226 i++;
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4227 }
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4228 fclose(fp);
2613
6f7e1fc3e132 [gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2612
diff changeset
4229 if (i == 1 && item_list)
6f7e1fc3e132 [gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2612
diff changeset
4230 item_list = g_list_remove(item_list, item);
6f7e1fc3e132 [gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2612
diff changeset
4231
2612
7938953630fa [gaim-migrate @ 2625]
Rob Flynn <gaim@robflynn.com>
parents: 2607
diff changeset
4232 if (item_list)
2613
6f7e1fc3e132 [gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2612
diff changeset
4233 gtk_list_insert_items(GTK_LIST(list), item_list, 0 );
2612
7938953630fa [gaim-migrate @ 2625]
Rob Flynn <gaim@robflynn.com>
parents: 2607
diff changeset
4234 }
7938953630fa [gaim-migrate @ 2625]
Rob Flynn <gaim@robflynn.com>
parents: 2607
diff changeset
4235
2602
c9192dea2bb1 [gaim-migrate @ 2615]
Rob Flynn <gaim@robflynn.com>
parents: 2598
diff changeset
4236 gtk_signal_disconnect(GTK_OBJECT(window), block);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4237 g_signal_connect(GTK_OBJECT(window), "delete_event", G_CALLBACK(destroy_dialog), window);
2602
c9192dea2bb1 [gaim-migrate @ 2615]
Rob Flynn <gaim@robflynn.com>
parents: 2598
diff changeset
4238
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4239 frame = gtk_frame_new(_("Conversation"));
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4240 gtk_widget_show(frame);
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4241
1477
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4242 sw = gtk_scrolled_window_new(NULL, NULL);
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4243 gtk_container_set_border_width(GTK_CONTAINER(sw), 5);
1477
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4244 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
4245 gtk_widget_set_usize(sw, 390, 220);
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4246 gtk_container_add(GTK_CONTAINER(frame), sw);
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4247 gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0);
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4248
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4249 g_signal_connect(GTK_OBJECT(layout), "url_clicked", G_CALLBACK(open_url), NULL);
1477
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4250 gtk_container_add(GTK_CONTAINER(sw), layout);
1815
f15d449b3167 [gaim-migrate @ 1825]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1805
diff changeset
4251 gaim_setup_imhtml(layout);
1477
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4252
2602
c9192dea2bb1 [gaim-migrate @ 2615]
Rob Flynn <gaim@robflynn.com>
parents: 2598
diff changeset
4253 gtk_box_pack_start(GTK_BOX(box), bbox, FALSE, FALSE, 0);
c9192dea2bb1 [gaim-migrate @ 2615]
Rob Flynn <gaim@robflynn.com>
parents: 2598
diff changeset
4254 gtk_widget_set_sensitive(bbox, FALSE);
1488
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
4255
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
4256 close_button = picture_button(window, _("Close"), cancel_xpm);
2602
c9192dea2bb1 [gaim-migrate @ 2615]
Rob Flynn <gaim@robflynn.com>
parents: 2598
diff changeset
4257 gtk_box_pack_end(GTK_BOX(bbox), close_button, FALSE, FALSE, 5);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4258 g_signal_connect(GTK_OBJECT(close_button), "clicked", G_CALLBACK(destroy_dialog), window);
1488
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
4259
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
4260 clear_button = picture_button(window, _("Clear"), close_xpm);
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
4261 gtk_object_set_user_data(GTK_OBJECT(clear_button), window);
2602
c9192dea2bb1 [gaim-migrate @ 2615]
Rob Flynn <gaim@robflynn.com>
parents: 2598
diff changeset
4262 gtk_box_pack_end(GTK_BOX(bbox), clear_button, FALSE, FALSE, 5);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4263 g_signal_connect(GTK_OBJECT(clear_button), "clicked", G_CALLBACK(show_clear_log), name);
1488
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
4264
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
4265 save_button = picture_button(window, _("Save"), save_xpm);
2602
c9192dea2bb1 [gaim-migrate @ 2615]
Rob Flynn <gaim@robflynn.com>
parents: 2598
diff changeset
4266 gtk_box_pack_end(GTK_BOX(bbox), save_button, FALSE, FALSE, 5);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4267 g_signal_connect(GTK_OBJECT(save_button), "clicked", G_CALLBACK(show_save_log), name);
1488
55246babdeb3 [gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1484
diff changeset
4268
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4269 gtk_widget_show_all(window);
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4270
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4271 if (!name) {
2621
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4272 view = g_new0(struct view_log, 1);
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4273 view->options = options;
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4274 view->name = NULL;
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4275 view->bbox = bbox;
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4276 view->window = window;
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4277 view->layout = layout;
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
4278 log_show_convo(layout, view);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4279 g_signal_connect(GTK_OBJECT(layout), "destroy", G_CALLBACK(des_view_item), view);
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4280 } else {
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4281 gtk_list_select_item(GTK_LIST(list), 0);
1477
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4282 }
2570
075011d08d1d [gaim-migrate @ 2583]
Rob Flynn <gaim@robflynn.com>
parents: 2564
diff changeset
4283
2602
c9192dea2bb1 [gaim-migrate @ 2615]
Rob Flynn <gaim@robflynn.com>
parents: 2598
diff changeset
4284 gtk_widget_set_sensitive(bbox, TRUE);
1477
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4285
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4286 return;
1d0fc2622b29 [gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1456
diff changeset
4287 }
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4288
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4289 /*------------------------------------------------------------------------*/
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4290 /* The dialog for renaming groups */
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4291 /*------------------------------------------------------------------------*/
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4292
4183
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4293 static void do_rename_group(GtkObject *obj, int resp, GtkWidget *entry)
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4294 {
3466
7a3f16a375a5 [gaim-migrate @ 3516]
Sean Egan <seanegan@gmail.com>
parents: 3427
diff changeset
4295 const char *new_name;
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4296 struct group *g;
1748
2eec724fdbcd [gaim-migrate @ 1758]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1736
diff changeset
4297 struct group *orig;
1841
93f0629d4099 [gaim-migrate @ 1851]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
4298 struct gaim_connection *gc;
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4299
4183
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4300 if (resp == GTK_RESPONSE_OK) {
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4301
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4302 new_name = gtk_entry_get_text(GTK_ENTRY(entry));
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4303 g = gtk_object_get_user_data(GTK_OBJECT(entry));
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4304
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4305 if (new_name && (strlen(new_name) != 0) && strcmp(new_name, g->name)) {
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4306 char *prevname;
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4307 gc = g->gc;
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4308
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4309 if ((orig = find_group(g->gc, new_name)) != NULL && g_strcasecmp(new_name, g->name)) {
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4310 orig->members = g_slist_concat(orig->members, g->members);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4311 handle_group_rename(orig, g->name);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4312 g->gc->groups = g_slist_remove(g->gc->groups, g);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4313 /* FIXME, i don't like calling this. it's sloppy. */ build_edit_tree();
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4314 serv_rename_group(gc, g, new_name);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4315 g_free(g);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4316 } else {
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4317 prevname = g_strdup(g->name);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4318 serv_rename_group(gc, g, new_name);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4319 g_snprintf(g->name, sizeof(g->name), "%s", new_name);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4320 handle_group_rename(g, prevname);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4321 /* FIXME, i don't like calling this. it's sloppy. */ build_edit_tree();
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4322 g_free(prevname);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4323 }
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4324 do_export(gc);
1748
2eec724fdbcd [gaim-migrate @ 1758]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1736
diff changeset
4325 }
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4326 }
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4327
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4328 destroy_dialog(rename_dialog, rename_dialog);
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4329 }
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4330
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4331 void show_rename_group(GtkWidget *unused, struct group *g)
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4332 {
4183
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4333
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4334 GtkWidget *hbox, *vbox;
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4335 GtkWidget *label;
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4336 char *filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_question.png", NULL);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4337 GtkWidget *img = gtk_image_new_from_file(filename);
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4338 GtkWidget *name_entry;
4183
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4339
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4340 g_free(filename);
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 if (!rename_dialog) {
4183
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4343 rename_dialog = gtk_dialog_new_with_buttons(_("Gaim - Rename Group"), GTK_WINDOW(blist), GTK_DIALOG_MODAL,
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4344 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4345 gtk_dialog_set_default_response (GTK_DIALOG(rename_dialog), GTK_RESPONSE_OK);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4346 gtk_container_set_border_width (GTK_CONTAINER(rename_dialog), 6);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4347 gtk_window_set_resizable(GTK_WINDOW(rename_dialog), FALSE);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4348 gtk_dialog_set_has_separator(GTK_DIALOG(rename_dialog), FALSE);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4349 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(rename_dialog)->vbox), 12);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4350 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(rename_dialog)->vbox), 6);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4351
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4352 hbox = gtk_hbox_new(FALSE, 12);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4353 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(rename_dialog)->vbox), hbox);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4354 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4355 gtk_misc_set_alignment(GTK_MISC(img), 0, 0);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4356
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4357 vbox = gtk_vbox_new(FALSE, 0);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4358 gtk_container_add(GTK_CONTAINER(hbox), vbox);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4359
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4360 label = gtk_label_new(_("Please enter a new name for the selected group.\n"));
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4361 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4362 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4363 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4364
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4365 hbox = gtk_hbox_new(FALSE, 6);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4366 gtk_container_add(GTK_CONTAINER(vbox), hbox);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4367
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4368 label = gtk_label_new(NULL);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4369 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Group:"));
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4370 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4371
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4372 name_entry = gtk_entry_new();
4183
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4373 gtk_entry_set_activates_default (GTK_ENTRY(name_entry), TRUE);
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4374 gtk_object_set_user_data(GTK_OBJECT(name_entry), g);
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4375 gtk_entry_set_text(GTK_ENTRY(name_entry), g->name);
4183
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4376 gtk_box_pack_start(GTK_BOX(hbox), name_entry, FALSE, FALSE, 0);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4377 gtk_entry_set_activates_default (GTK_ENTRY(name_entry), TRUE);
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4378 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(name_entry));
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4379
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4380 g_signal_connect(G_OBJECT(rename_dialog), "response", G_CALLBACK(do_rename_group), name_entry);
4182
05a456d5f799 [gaim-migrate @ 4413]
Rob Flynn <gaim@robflynn.com>
parents: 4180
diff changeset
4381
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4382 }
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4383
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4384 gtk_widget_show_all(rename_dialog);
4183
e6810f691393 [gaim-migrate @ 4414]
Rob Flynn <gaim@robflynn.com>
parents: 4182
diff changeset
4385 gtk_widget_grab_focus(GTK_WIDGET(name_entry));
1729
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
2743
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
4388
1729
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 /* The dialog for renaming buddies */
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4391 /*------------------------------------------------------------------------*/
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4392
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4393 static void do_rename_buddy(GtkObject *obj, GtkWidget *entry)
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4394 {
3466
7a3f16a375a5 [gaim-migrate @ 3516]
Sean Egan <seanegan@gmail.com>
parents: 3427
diff changeset
4395 const char *new_name;
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4396 struct buddy *b;
2681
37d80035e77f [gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2679
diff changeset
4397 GSList *gr;
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4398
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4399 new_name = gtk_entry_get_text(GTK_ENTRY(entry));
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4400 b = gtk_object_get_user_data(obj);
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4401
2681
37d80035e77f [gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2679
diff changeset
4402 if (!g_slist_find(connections, b->gc)) {
37d80035e77f [gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2679
diff changeset
4403 destroy_dialog(rename_bud_dialog, rename_bud_dialog);
37d80035e77f [gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2679
diff changeset
4404 return;
37d80035e77f [gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2679
diff changeset
4405 }
37d80035e77f [gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2679
diff changeset
4406
37d80035e77f [gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2679
diff changeset
4407 gr = b->gc->groups;
37d80035e77f [gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2679
diff changeset
4408 while (gr) {
37d80035e77f [gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2679
diff changeset
4409 if (g_slist_find(((struct group *)gr->data)->members, b))
37d80035e77f [gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2679
diff changeset
4410 break;
37d80035e77f [gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2679
diff changeset
4411 gr = gr->next;
37d80035e77f [gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2679
diff changeset
4412 }
37d80035e77f [gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2679
diff changeset
4413 if (!gr) {
37d80035e77f [gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2679
diff changeset
4414 destroy_dialog(rename_bud_dialog, rename_bud_dialog);
37d80035e77f [gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2679
diff changeset
4415 return;
37d80035e77f [gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2679
diff changeset
4416 }
37d80035e77f [gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2679
diff changeset
4417
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4418 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
4419 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
4420 char *prevname = g_strdup(b->name);
2681
37d80035e77f [gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2679
diff changeset
4421 if (g)
37d80035e77f [gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2679
diff changeset
4422 serv_remove_buddy(b->gc, b->name, g->name);
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4423 if (!strcmp(b->name, b->show))
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
4424 g_snprintf(b->show, sizeof(b->show), "%s", new_name);
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4425 g_snprintf(b->name, sizeof(b->name), "%s", new_name);
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4426 serv_add_buddy(b->gc, b->name);
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4427 handle_buddy_rename(b, prevname);
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4428 g_free(prevname);
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4429 }
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4430
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4431 destroy_dialog(rename_bud_dialog, rename_bud_dialog);
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4432 }
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4433
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4434 void show_rename_buddy(GtkWidget *unused, struct buddy *b)
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4435 {
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4436 GtkWidget *mainbox;
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4437 GtkWidget *frame;
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4438 GtkWidget *fbox;
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4439 GtkWidget *bbox;
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4440 GtkWidget *button;
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4441 GtkWidget *name_entry;
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4442 GtkWidget *label;
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4443
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4444 if (!rename_bud_dialog) {
2725
f3c094e78609 [gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2681
diff changeset
4445 GAIM_DIALOG(rename_bud_dialog);
4074
3ccbdf8e7f8d [gaim-migrate @ 4289]
Sean Egan <seanegan@gmail.com>
parents: 4061
diff changeset
4446 gtk_window_set_role(GTK_WINDOW(rename_bud_dialog), "rename_bud_dialog");
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4447 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
4448 gtk_window_set_title(GTK_WINDOW(rename_bud_dialog), _("Gaim - Rename Buddy"));
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4449 g_signal_connect(GTK_OBJECT(rename_bud_dialog), "destroy",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4450 G_CALLBACK(destroy_dialog), rename_bud_dialog);
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4451 gtk_widget_realize(rename_bud_dialog);
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 mainbox = gtk_vbox_new(FALSE, 5);
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4454 gtk_container_set_border_width(GTK_CONTAINER(mainbox), 5);
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4455 gtk_container_add(GTK_CONTAINER(rename_bud_dialog), mainbox);
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4456
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4457 frame = gtk_frame_new(_("Rename Buddy"));
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4458 gtk_box_pack_start(GTK_BOX(mainbox), frame, TRUE, TRUE, 0);
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4459
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4460 fbox = gtk_hbox_new(FALSE, 5);
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4461 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5);
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4462 gtk_container_add(GTK_CONTAINER(frame), fbox);
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4463
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4464 label = gtk_label_new(_("New name:"));
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4465 gtk_box_pack_start(GTK_BOX(fbox), label, FALSE, FALSE, 0);
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4466
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4467 name_entry = gtk_entry_new();
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4468 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
4469 gtk_object_set_user_data(GTK_OBJECT(name_entry), b);
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4470 gtk_entry_set_text(GTK_ENTRY(name_entry), b->name);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4471 g_signal_connect(GTK_OBJECT(name_entry), "activate",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4472 G_CALLBACK(do_rename_buddy), name_entry);
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4473 gtk_widget_grab_focus(name_entry);
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4474
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4475 bbox = gtk_hbox_new(FALSE, 5);
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4476 gtk_box_pack_start(GTK_BOX(mainbox), bbox, FALSE, FALSE, 0);
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4477
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4478 button = picture_button(rename_bud_dialog, _("Cancel"), cancel_xpm);
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4479 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4480 g_signal_connect(GTK_OBJECT(button), "clicked",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4481 G_CALLBACK(destroy_dialog), rename_bud_dialog);
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4482
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4483 button = picture_button(rename_bud_dialog, _("OK"), ok_xpm);
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4484 gtk_object_set_user_data(GTK_OBJECT(button), b);
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4485 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4486 g_signal_connect(GTK_OBJECT(button), "clicked",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4487 G_CALLBACK(do_rename_buddy), name_entry);
1729
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4488 }
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4489
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4490 gtk_widget_show_all(rename_bud_dialog);
251c19bf5763 [gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1722
diff changeset
4491 }
2370
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4492
2377
466b29d35b85 [gaim-migrate @ 2390]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2372
diff changeset
4493 #ifdef USE_PERL
466b29d35b85 [gaim-migrate @ 2390]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2372
diff changeset
4494
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
4495 static GtkWidget *perl_config = NULL;
2370
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4496 static char *perl_last_dir = NULL;
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4497
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
4498 static void cfdes(GtkWidget *m, gpointer n)
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
4499 {
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
4500 if (perl_config)
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
4501 gtk_widget_destroy(perl_config);
2370
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4502 perl_config = NULL;
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4503 }
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4504
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
4505 static void do_load(GtkWidget *m, gpointer n)
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
4506 {
2370
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4507 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
4508 gchar *f = NULL;
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4509 if (!file || !strlen(file)) {
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4510 return;
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4511 }
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
4512
2370
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4513 if (file_is_dir(file, perl_config)) {
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4514 return;
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4515 }
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
4516
2370
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4517 if (perl_last_dir) {
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4518 g_free(perl_last_dir);
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4519 }
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4520 perl_last_dir = g_dirname(file);
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4521
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4522 debug_printf("Loading perl script: %s\n", file);
2372
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 f = g_strdup(file);
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4525 perl_load_file(f);
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4526 g_free(f);
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4527 cfdes(perl_config, NULL);
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4528 }
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4529
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4530 void load_perl_script()
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4531 {
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4532 char *buf, *temp;
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4533
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4534 if (perl_config) {
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4535 gtk_widget_show(perl_config);
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4536 gdk_window_raise(perl_config->window);
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4537 return;
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
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4540 /* Below is basically stolen from plugins.c */
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4541 perl_config = gtk_file_selection_new(_("Gaim - Select Perl Script"));
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4542
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4543 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(perl_config));
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4544
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4545 if (!perl_last_dir) {
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4546 temp = gaim_user_dir();
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4547 buf = g_strconcat(temp, G_DIR_SEPARATOR_S, NULL);
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4548 } else {
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4549 buf = g_strconcat(perl_last_dir, G_DIR_SEPARATOR_S, NULL);
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
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4552 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
4553 gtk_file_selection_complete(GTK_FILE_SELECTION(perl_config), "*.pl");
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4554 g_signal_connect(GTK_OBJECT(perl_config), "destroy", G_CALLBACK(cfdes), perl_config);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4555
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4556 g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(perl_config)->ok_button),
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4557 "clicked", G_CALLBACK(do_load), NULL);
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4558
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4559 g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(perl_config)->cancel_button),
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
4560 "clicked", G_CALLBACK(cfdes), NULL);
2370
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 g_free(buf);
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4563 gtk_widget_show(perl_config);
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4564 gdk_window_raise(perl_config->window);
25e7c2a68ed2 [gaim-migrate @ 2383]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2344
diff changeset
4565 }
2377
466b29d35b85 [gaim-migrate @ 2390]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2372
diff changeset
4566
466b29d35b85 [gaim-migrate @ 2390]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2372
diff changeset
4567 #endif /* USE_PERL */
2379
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4568
3668
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4569 GtkWidget *gaim_pixbuf_toolbar_button_from_stock(char *icon)
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4570 {
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4571 GtkWidget *button, *image, *bbox;
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4572
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4573 button = gtk_toggle_button_new();
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4574 gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE);
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4575
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4576 bbox = gtk_vbox_new(FALSE, 0);
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4577
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4578 gtk_container_add (GTK_CONTAINER(button), bbox);
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4579
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4580 image = gtk_image_new_from_stock(icon, GTK_ICON_SIZE_MENU);
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4581 gtk_box_pack_start(GTK_BOX(bbox), image, FALSE, FALSE, 0);
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4582
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4583 gtk_widget_show_all(bbox);
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4584 return button;
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4585 }
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4586
3671
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4587 GtkWidget *gaim_pixbuf_toolbar_button_from_file(char *icon)
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4588 {
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4589 GtkWidget *button, *image, *bbox;
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4590 char *filename;
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4591
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4592 if (!icon)
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4593 return NULL;
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4594
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4595 button = gtk_toggle_button_new();
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4596 gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE);
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4597
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4598 bbox = gtk_vbox_new(FALSE, 0);
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4599
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4600 gtk_container_add (GTK_CONTAINER(button), bbox);
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4601
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4602 filename = g_build_filename (DATADIR, "pixmaps", "gaim", "buttons", icon, NULL);
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4603 debug_printf("Loading: %s\n", filename);
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4604 image = gtk_image_new_from_file(filename);
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4605 g_free(filename);
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4606
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4607 gtk_box_pack_start(GTK_BOX(bbox), image, FALSE, FALSE, 0);
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4608
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4609 gtk_widget_show_all(bbox);
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4610 return button;
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4611 }
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4612
0f468c22c702 [gaim-migrate @ 3801]
Rob Flynn <gaim@robflynn.com>
parents: 3668
diff changeset
4613
3668
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4614 GtkWidget *gaim_pixbuf_button_from_stock(char *text, char *icon, GaimButtonStyle style)
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4615 {
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4616 GtkWidget *button, *image, *label, *bbox;
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4617 button = gtk_button_new();
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4618
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4619 if (style == GAIM_BUTTON_HORIZONTAL)
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4620 bbox = gtk_hbox_new(FALSE, 5);
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4621 else
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4622 bbox = gtk_vbox_new(FALSE, 0);
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4623
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4624 gtk_container_add (GTK_CONTAINER(button), bbox);
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4625
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4626 if (icon) {
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4627 image = gtk_image_new_from_stock(icon, GTK_ICON_SIZE_BUTTON);
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4628 gtk_box_pack_start(GTK_BOX(bbox), image, FALSE, FALSE, 0);
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4629 }
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4630
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4631 if (text) {
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4632 label = gtk_label_new(NULL);
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4633 gtk_label_set_text_with_mnemonic(GTK_LABEL(label), text);
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4634 gtk_label_set_mnemonic_widget(GTK_LABEL(label), button);
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4635 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0);
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4636 }
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4637
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4638 gtk_widget_show_all(bbox);
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4639 return button;
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4640 }
5b82f99d028d [gaim-migrate @ 3798]
Rob Flynn <gaim@robflynn.com>
parents: 3659
diff changeset
4641
3649
f09193608fd3 [gaim-migrate @ 3773]
Rob Flynn <gaim@robflynn.com>
parents: 3630
diff changeset
4642 GtkWidget *gaim_pixbuf_button(char *text, char *iconfile, GaimButtonStyle style)
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
4643 {
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
4644 GtkWidget *button, *image, *label, *bbox;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
4645 button = gtk_button_new();
3649
f09193608fd3 [gaim-migrate @ 3773]
Rob Flynn <gaim@robflynn.com>
parents: 3630
diff changeset
4646
f09193608fd3 [gaim-migrate @ 3773]
Rob Flynn <gaim@robflynn.com>
parents: 3630
diff changeset
4647 if (style == GAIM_BUTTON_HORIZONTAL)
f09193608fd3 [gaim-migrate @ 3773]
Rob Flynn <gaim@robflynn.com>
parents: 3630
diff changeset
4648 bbox = gtk_hbox_new(FALSE, 5);
f09193608fd3 [gaim-migrate @ 3773]
Rob Flynn <gaim@robflynn.com>
parents: 3630
diff changeset
4649 else
f09193608fd3 [gaim-migrate @ 3773]
Rob Flynn <gaim@robflynn.com>
parents: 3630
diff changeset
4650 bbox = gtk_vbox_new(FALSE, 0);
f09193608fd3 [gaim-migrate @ 3773]
Rob Flynn <gaim@robflynn.com>
parents: 3630
diff changeset
4651
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
4652 gtk_container_add (GTK_CONTAINER(button), bbox);
3649
f09193608fd3 [gaim-migrate @ 3773]
Rob Flynn <gaim@robflynn.com>
parents: 3630
diff changeset
4653
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
4654 if (iconfile) {
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
4655 char *filename;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
4656 filename = g_build_filename (DATADIR, "pixmaps", "gaim", "buttons", iconfile, NULL);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
4657 debug_printf("Loading: %s\n", filename);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
4658 image = gtk_image_new_from_file(filename);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
4659 gtk_box_pack_start(GTK_BOX(bbox), image, FALSE, FALSE, 0);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
4660 g_free(filename);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
4661 }
3649
f09193608fd3 [gaim-migrate @ 3773]
Rob Flynn <gaim@robflynn.com>
parents: 3630
diff changeset
4662
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
4663 if (text) {
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
4664 label = gtk_label_new(NULL);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
4665 gtk_label_set_text_with_mnemonic(GTK_LABEL(label), text);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
4666 gtk_label_set_mnemonic_widget(GTK_LABEL(label), button);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
4667 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
4668 }
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
4669 gtk_widget_show_all(bbox);
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
4670 return button;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
4671 }
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
4672
2379
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4673 GtkWidget *picture_button(GtkWidget *window, char *text, char **xpm)
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4674 {
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4675 GtkWidget *button;
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4676 GtkWidget *button_box, *button_box_2, *button_box_3;
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4677 GtkWidget *label;
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4678 GdkBitmap *mask;
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4679 GdkPixmap *pm;
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4680 GtkWidget *pixmap;
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4681
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4682 button = gtk_button_new();
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4683
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4684 button_box = gtk_hbox_new(FALSE, 5);
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4685 gtk_container_add(GTK_CONTAINER(button), button_box);
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4686
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4687 button_box_2 = gtk_hbox_new(FALSE, 0);
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4688 button_box_3 = gtk_hbox_new(FALSE, 0);
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4689 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
4690 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
4691 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
4692 pixmap = gtk_pixmap_new(pm, mask);
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4693 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
4694
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4695 if (text) {
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4696 label = gtk_label_new(text);
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4697 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
4698 gtk_widget_show(label);
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4699 }
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4700
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4701 gtk_widget_show(pixmap);
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4702 gtk_widget_show(button_box_2);
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4703 gtk_widget_show(button_box_3);
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4704 gtk_widget_show(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 /* this causes clipping on lots of buttons with long text */
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4707 /* gtk_widget_set_usize(button, 75, 30);*/
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4708 gtk_widget_show(button);
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4709 gdk_pixmap_unref(pm);
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4710 gdk_bitmap_unref(mask);
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4711
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4712 return button;
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
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4715 static GtkTooltips *button_tips = NULL;
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4716 GtkWidget *picture_button2(GtkWidget *window, char *text, char **xpm, short dispstyle)
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4717 {
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4718 GtkWidget *button;
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4719 GtkWidget *button_box, *button_box_2;
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4720 GdkBitmap *mask;
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4721 GdkPixmap *pm;
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4722 GtkWidget *pixmap;
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4723 GtkWidget *label;
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 if (!button_tips)
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4726 button_tips = gtk_tooltips_new();
3902
22ed8423a964 [gaim-migrate @ 4055]
Rob Flynn <gaim@robflynn.com>
parents: 3847
diff changeset
4727
2379
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4728 button = gtk_button_new();
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4729
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4730 button_box = gtk_hbox_new(FALSE, 0);
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4731 gtk_container_add(GTK_CONTAINER(button), button_box);
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4732
3320
26130b6a04db [gaim-migrate @ 3338]
Sean Egan <seanegan@gmail.com>
parents: 3319
diff changeset
4733 button_box_2 = gtk_vbox_new(FALSE, 0);
26130b6a04db [gaim-migrate @ 3338]
Sean Egan <seanegan@gmail.com>
parents: 3319
diff changeset
4734
26130b6a04db [gaim-migrate @ 3338]
Sean Egan <seanegan@gmail.com>
parents: 3319
diff changeset
4735 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
4736 gtk_widget_show(button_box_2);
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4737 gtk_widget_show(button_box);
3327
220c9f1fc75e [gaim-migrate @ 3345]
Sean Egan <seanegan@gmail.com>
parents: 3325
diff changeset
4738 if (dispstyle == 2 || dispstyle == 0) {
220c9f1fc75e [gaim-migrate @ 3345]
Sean Egan <seanegan@gmail.com>
parents: 3325
diff changeset
4739 pm = gdk_pixmap_create_from_xpm_d(window->window, &mask, NULL, xpm);
220c9f1fc75e [gaim-migrate @ 3345]
Sean Egan <seanegan@gmail.com>
parents: 3325
diff changeset
4740 pixmap = gtk_pixmap_new(pm, mask);
220c9f1fc75e [gaim-migrate @ 3345]
Sean Egan <seanegan@gmail.com>
parents: 3325
diff changeset
4741 gtk_box_pack_start(GTK_BOX(button_box_2), pixmap, FALSE, FALSE, 0);
220c9f1fc75e [gaim-migrate @ 3345]
Sean Egan <seanegan@gmail.com>
parents: 3325
diff changeset
4742
220c9f1fc75e [gaim-migrate @ 3345]
Sean Egan <seanegan@gmail.com>
parents: 3325
diff changeset
4743 gtk_widget_show(pixmap);
220c9f1fc75e [gaim-migrate @ 3345]
Sean Egan <seanegan@gmail.com>
parents: 3325
diff changeset
4744
220c9f1fc75e [gaim-migrate @ 3345]
Sean Egan <seanegan@gmail.com>
parents: 3325
diff changeset
4745 gdk_pixmap_unref(pm);
220c9f1fc75e [gaim-migrate @ 3345]
Sean Egan <seanegan@gmail.com>
parents: 3325
diff changeset
4746 gdk_bitmap_unref(mask);
220c9f1fc75e [gaim-migrate @ 3345]
Sean Egan <seanegan@gmail.com>
parents: 3325
diff changeset
4747 }
220c9f1fc75e [gaim-migrate @ 3345]
Sean Egan <seanegan@gmail.com>
parents: 3325
diff changeset
4748
220c9f1fc75e [gaim-migrate @ 3345]
Sean Egan <seanegan@gmail.com>
parents: 3325
diff changeset
4749 if (dispstyle == 2 || dispstyle == 1) {
220c9f1fc75e [gaim-migrate @ 3345]
Sean Egan <seanegan@gmail.com>
parents: 3325
diff changeset
4750 label = gtk_label_new(text);
220c9f1fc75e [gaim-migrate @ 3345]
Sean Egan <seanegan@gmail.com>
parents: 3325
diff changeset
4751 gtk_widget_show(label);
220c9f1fc75e [gaim-migrate @ 3345]
Sean Egan <seanegan@gmail.com>
parents: 3325
diff changeset
4752 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
4753 }
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4754
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4755 gtk_tooltips_set_tip(button_tips, button, text, "Gaim");
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4756 gtk_widget_show(button);
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4757 return button;
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4758 }
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4759
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4760 int file_is_dir(const char *path, GtkWidget *w)
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4761 {
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4762 struct stat st;
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4763 char *name;
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4764
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4765 if (stat(path, &st) == 0 && S_ISDIR(st.st_mode)) {
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4766 /* append a / if needed */
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4767 if (path[strlen(path) - 1] != '/') {
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4768 name = g_strconcat(path, "/", NULL);
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4769 } else {
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4770 name = g_strdup(path);
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4771 }
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4772 gtk_file_selection_set_filename(GTK_FILE_SELECTION(w), name);
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4773 g_free(name);
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4774 return 1;
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4775 }
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4776
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4777 return 0;
cacaf7ace3a5 [gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2377
diff changeset
4778 }
2956
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4779
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4780 /*------------------------------------------------------------------------*/
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4781 /* The dialog for setting V-Card info */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4782 /*------------------------------------------------------------------------*/
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4783 /*
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4784 * There are actually two "chunks" of code following: generic "multi-entry dialog"
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4785 * support and V-Card dialog specific support.
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4786 *
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4787 * At first blush, this may seem like an unnecessary duplication of effort given
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4788 * that a "set dir info" dialog already exists. However, this is not so because:
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4789 *
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4790 * 1. V-Cards can have a lot more data in them than what the current
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4791 * "set dir" dialog supports.
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4792 *
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4793 * 2. V-Card data, at least with respect to Jabber, is currently in a
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4794 * state of flux. As the data and format changes, all that need be
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4795 * changed with the V-Card support I've written is the "template"
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4796 * data.
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4797 *
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4798 * 3. The "multi entry dialog" support itself was originally written
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4799 * to support Jabber server user registration (TBD). A "dynamically
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4800 * configurable" multi-entry dialog is needed for that, as different
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4801 * servers may require different registration information. It just
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4802 * turned out to be well-suited to adding V-Card setting support, as
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4803 * well :-).
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4804 *
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4805 * TBD: Add check-box support to the generic multi-entry dialog support so that
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4806 * it can be used to "replace" the "set dir info" support?
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4807 *
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4808 * Multiple-language support. Currently Not In There. I think this should
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4809 * be easy. Note that when it's added: if anybody saved their data in
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4810 * English, it'll be lost when MLS is added and they'll have to re-enter it.
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4811 *
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4812 * More "TBDs" noted in the code.
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4813 */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4814
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4815
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4816 /*------------------------------------*/
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4817 /* generic multi-entry dialog support */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4818 /*------------------------------------*/
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4819
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4820 /*
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4821 * Print all multi-entry items
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4822 *
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4823 * Note: Simply a debug helper
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4824 */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4825 void multi_entry_item_print_all(const GSList *list) {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4826
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4827 int cnt = 0;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4828
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4829 /* While there's something to print... */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4830 while(list != NULL) {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4831 fprintf(stderr, "label %2d: \"%s\"", ++cnt, ((MultiEntryData *) (list->data))->label);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4832 if(((MultiEntryData *) (list->data))->text != NULL) {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4833 fprintf(stderr, ", text: \"%s\"", ((MultiEntryData *) (list->data))->text);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4834 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4835 fputs("\n", stderr);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4836 list = list->next;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4837 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4838 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4839
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4840 /*
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4841 * Print all multi-text items
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4842 *
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4843 * Note: Simply a debug helper
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4844 */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4845 void multi_text_item_print_all(const GSList *list) {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4846
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4847 int cnt = 0;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4848
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4849 /* While there's something to print... */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4850 while(list != NULL) {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4851 fprintf(stderr, "label %2d: \"%s\"", ++cnt, ((MultiTextData *) (list->data))->label);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4852 if(((MultiTextData *) (list->data))->text != NULL) {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4853 fprintf(stderr, ", text: \"%s\"", ((MultiTextData *) (list->data))->text);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4854 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4855 fputs("\n", stderr);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4856 list = list->next;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4857 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4858 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4859
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4860
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4861 /*
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4862 * Free all multi-entry item allocs and NULL the list pointer
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4863 */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4864 void multi_entry_items_free_all(GSList **list)
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4865 {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4866
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4867 GSList *next = *list;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4868 MultiEntryData *data;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4869
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4870 /* While there's something to free() ... */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4871 while(next != NULL) {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4872 data = (MultiEntryData *) next->data;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4873 g_free(data->label);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4874 g_free(data->text);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4875 g_free(data);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4876 next = next->next;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4877 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4878 g_slist_free(*list);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4879 *list = NULL;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4880 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4881
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4882 /*
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4883 * Free all multi-text item allocs and NULL the list pointer
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4884 */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4885 void multi_text_items_free_all(GSList **list)
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4886 {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4887
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4888 GSList *next = *list;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4889 MultiTextData *data;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4890
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4891 /* While there's something to free() ... */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4892 while(next != NULL) {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4893 data = (MultiTextData *) next->data;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4894 g_free(data->label);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4895 g_free(data->text);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4896 g_free(data);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4897 next = next->next;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4898 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4899 g_slist_free(*list);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4900 *list = NULL;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4901 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4902
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4903 /*
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4904 * See if a MultiEntryData item contains a given label
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4905 *
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4906 * See: glib docs for g_slist_compare_custom() for details
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4907 */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4908 static gint multi_entry_data_label_compare(gconstpointer data, gconstpointer label)
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4909 {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4910 return(strcmp(((MultiEntryData *) (data))->label, (char *) label));
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4911 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4912
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4913 /*
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4914 * Add a new multi-entry item to list
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4915 *
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4916 * If adding to existing list: will search the list for existence of
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4917 * "label" and change/create "text" entry if necessary.
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4918 */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4919
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4920 MultiEntryData *multi_entry_list_update(GSList **list, const char *label, const char *text, int add_it)
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4921 {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4922 GSList *found;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4923 MultiEntryData *data;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4924
2975
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
4925 if((found = g_slist_find_custom(*list, (void *)label, multi_entry_data_label_compare)) == NULL) {
2956
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4926 if(add_it) {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4927 data = (MultiEntryData *) g_slist_last(*list =
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4928 g_slist_append(*list, g_malloc(sizeof(MultiEntryData))))->data;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4929 data->label = strcpy(g_malloc(strlen(label) +1), label);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4930 data->text = NULL;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4931 /*
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4932 * default to setting "visible" and editable to TRUE - they can be
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4933 * overridden later, of course.
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4934 */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4935 data->visible = TRUE;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4936 data->editable = TRUE;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4937 } else {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4938 data = NULL;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4939 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4940 } else {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4941 data = found->data;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4942 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4943
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4944 if(data != NULL && text != NULL && text[0] != '\0') {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4945 if(data->text == NULL) {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4946 data->text = g_malloc(strlen(text) + 1);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4947 } else {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4948 data->text = g_realloc(data->text, strlen(text) + 1);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4949 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4950 strcpy(data->text, text);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4951 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4952
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4953 return(data);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4954 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4955
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4956 /*
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4957 * See if a MultiTextData item contains a given label
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4958 *
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4959 * See: glib docs for g_slist_compare_custom() for details
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4960 */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4961 static gint multi_text_data_label_compare(gconstpointer data, gconstpointer label)
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4962 {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4963 return(strcmp(((MultiTextData *) (data))->label, (char *) label));
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4964 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4965
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4966 /*
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4967 * Add a new multi-text item to list
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4968 *
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4969 * If adding to existing list: will search the list for existence of
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4970 * "label" and change/create "text" text if necessary.
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4971 */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4972
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4973 MultiTextData *multi_text_list_update(GSList **list, const char *label, const char *text, int add_it)
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4974 {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4975 GSList *found;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4976 MultiTextData *data;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4977
2975
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
4978 if((found = g_slist_find_custom(*list, (void *)label, multi_text_data_label_compare)) == NULL) {
2956
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4979 if(add_it) {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4980 data = (MultiTextData *) g_slist_last(*list =
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4981 g_slist_append(*list, g_malloc(sizeof(MultiTextData))))->data;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4982 data->label = strcpy(g_malloc(strlen(label) +1), label);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4983 data->text = NULL;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4984 } else {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4985 data = NULL;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4986 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4987 } else {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4988 data = found->data;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4989 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4990
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4991 if(data != NULL && text != NULL && text[0] != '\0') {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4992 if(data->text == NULL) {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4993 data->text = g_malloc(strlen(text) + 1);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4994 } else {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4995 data->text = g_realloc(data->text, strlen(text) + 1);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4996 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4997 strcpy(data->text, text);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4998 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
4999
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5000 return(data);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5001 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5002
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5003 /*
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5004 * Free-up the multi-entry item list and the MultiEntryDlg
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5005 * struct alloc.
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5006 */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5007 void multi_entry_free(struct multi_entry_dlg *b)
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5008 {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5009 multi_entry_items_free_all(&(b->multi_entry_items));
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5010 multi_text_items_free_all(&(b->multi_text_items));
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5011 g_free(b->instructions->text);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5012 g_free(b->instructions);
2975
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5013 g_free(b->entries_title);
2956
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5014 g_free(b);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5015 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5016
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5017 /*
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5018 * Multi-Entry dialog "destroyed" catcher
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5019 *
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5020 * Free-up the multi-entry item list, destroy the dialog widget
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5021 * and free the MultiEntryDlg struct alloc.
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5022 *
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5023 */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5024 void multi_entry_dialog_destroy(GtkWidget *widget, gpointer data)
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5025 {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5026 MultiEntryDlg *b = data;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5027
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5028 multi_entry_free(b);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5029 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5030
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5031 /*
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5032 * Show/Re-show instructions
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5033 */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5034 void re_show_multi_entry_instr(MultiInstrData *instructions)
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5035 {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5036 if(instructions->label != NULL) {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5037 if(instructions->text == NULL) {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5038 gtk_widget_hide(instructions->label);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5039 } else {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5040 gtk_label_set_text(GTK_LABEL (instructions->label), instructions->text);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5041 gtk_widget_show(instructions->label);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5042 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5043 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5044 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5045
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5046 /*
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5047 * Show/Re-show entry boxes
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5048 */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5049 void re_show_multi_entry_entries(GtkWidget **entries_table,
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5050 GtkWidget *entries_frame,
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5051 GSList *multi_entry_items)
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5052 {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5053 GtkWidget *label;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5054 GSList *multi_entry;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5055 MultiEntryData *med;
2975
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5056 int rows, row_num, col_num, col_offset;
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5057 int cols = 1;
2956
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5058
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5059 /* Figure-out number of rows needed for table */
2975
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5060 if((rows = g_slist_length(multi_entry_items)) > 9) {
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5061 rows /= 2;
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5062 ++cols;
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5063 }
2956
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5064
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5065 if(*entries_table != NULL) {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5066 gtk_widget_destroy(GTK_WIDGET (*entries_table));
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5067 }
2975
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5068 *entries_table = gtk_table_new(rows, 3 * cols, FALSE);
2956
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5069 gtk_container_add(GTK_CONTAINER (entries_frame), *entries_table);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5070
2975
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5071 for(col_num = 0, multi_entry = multi_entry_items; col_num < cols && multi_entry != NULL;
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5072 ++col_num) {
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5073 col_offset = col_num * 3;
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5074 for(row_num = 0; row_num < rows && multi_entry != NULL;
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5075 ++row_num, multi_entry = multi_entry->next) {
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5076
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5077 med = (MultiEntryData *) multi_entry->data;
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5078
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5079 label = gtk_label_new(med->label);
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5080 gtk_misc_set_alignment(GTK_MISC(label), (gfloat) 1.0, (gfloat) 0.5);
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5081 gtk_table_attach_defaults(GTK_TABLE (*entries_table), label,
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5082 col_offset, 1 + col_offset, row_num, row_num +1);
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5083 gtk_widget_show(label);
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5084
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5085 label = gtk_label_new(": ");
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5086 gtk_misc_set_alignment(GTK_MISC(label), (gfloat) 0.0, (gfloat) 0.5);
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5087 gtk_table_attach_defaults(GTK_TABLE (*entries_table), label,
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5088 1 + col_offset, 2 + col_offset, row_num, row_num +1);
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5089 gtk_widget_show(label);
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5090
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5091 med->widget = gtk_entry_new_with_max_length(50);
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5092 if(med->text != NULL) {
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5093 gtk_entry_set_text(GTK_ENTRY (med->widget), med->text);
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5094 }
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5095 gtk_entry_set_visibility(GTK_ENTRY (med->widget), med->visible);
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5096 gtk_entry_set_editable(GTK_ENTRY (med->widget), med->editable);
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5097 gtk_table_attach(GTK_TABLE (*entries_table), med->widget,
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5098 2 + col_offset, 3 + col_offset, row_num, row_num +1,
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5099 GTK_FILL|GTK_EXPAND, GTK_FILL|GTK_EXPAND, 5, 0);
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5100 gtk_widget_show(med->widget);
2956
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5101 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5102 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5103
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5104 gtk_widget_show(*entries_table);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5105 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5106
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5107 /*
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5108 * Show/Re-show textboxes
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5109 */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5110 void re_show_multi_entry_textboxes(GtkWidget **texts_ibox,
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5111 GtkWidget *texts_obox,
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5112 GSList *multi_text_items)
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5113 {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5114 GSList *multi_text;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5115 MultiTextData *mtd;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5116 GtkWidget *frame;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5117 GtkWidget *hbox;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5118 GtkWidget *vscrollbar;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5119
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5120 if(*texts_ibox != NULL) {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5121 gtk_widget_destroy(GTK_WIDGET (*texts_ibox));
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5122 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5123 *texts_ibox = gtk_vbox_new(FALSE, 5);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5124 gtk_container_add(GTK_CONTAINER (texts_obox), *texts_ibox);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5125
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5126 for(multi_text = multi_text_items; multi_text != NULL; multi_text = multi_text->next) {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5127 mtd = (MultiTextData *) multi_text->data;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5128 frame = gtk_frame_new(mtd->label);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5129 gtk_container_add(GTK_CONTAINER (*texts_ibox), frame);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5130 hbox = gtk_hbox_new(FALSE, 0);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5131 gtk_container_add(GTK_CONTAINER (frame), hbox);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5132 mtd->textbox = gtk_text_new(NULL, NULL);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5133 gtk_text_set_editable(GTK_TEXT(mtd->textbox), TRUE);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5134 gtk_text_set_word_wrap(GTK_TEXT(mtd->textbox), TRUE);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5135 gtk_widget_set_usize(mtd->textbox, 300, 100);
3542
e56b3960ff36 [gaim-migrate @ 3617]
Luke Schierer <lschiere@pidgin.im>
parents: 3537
diff changeset
5136 gtk_text_insert(GTK_TEXT(mtd->textbox), NULL, NULL, NULL, mtd->text?mtd->text:"", -1);
2956
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5137 gtk_box_pack_start(GTK_BOX (hbox), mtd->textbox, FALSE, FALSE, 0);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5138 vscrollbar = gtk_vscrollbar_new (GTK_TEXT(mtd->textbox)->vadj);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5139 gtk_box_pack_start(GTK_BOX (hbox), vscrollbar, FALSE, FALSE, 0);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5140 gtk_widget_show(mtd->textbox);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5141 gtk_widget_show (vscrollbar);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5142 gtk_widget_show(hbox);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5143 gtk_widget_show(frame);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5144 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5145
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5146 gtk_widget_show(*texts_ibox);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5147 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5148
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5149 /*
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5150 * Create and initialize a new Multi-Entry Dialog struct
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5151 */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5152 MultiEntryDlg *multi_entry_dialog_new()
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5153 {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5154 MultiEntryDlg *b = g_new0(MultiEntryDlg, 1);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5155 b->instructions = g_new0(MultiInstrData, 1);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5156 b->multi_entry_items = NULL;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5157 b->multi_text_items = NULL;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5158 return(b);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5159 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5160
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5161 /*
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5162 * Instantiate a new multi-entry dialog
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5163 *
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5164 * data == pointer to MultiEntryDlg with the following
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5165 * initialized:
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5166 *
4074
3ccbdf8e7f8d [gaim-migrate @ 4289]
Sean Egan <seanegan@gmail.com>
parents: 4061
diff changeset
5167 * role
2956
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5168 * title
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5169 * user
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5170 * multi_entry_items - pointers to MultiEntryData list
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5171 * and MultiTextData list
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5172 * instructions (optional)
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5173 * ok function pointer
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5174 * cancel function pointer (actually used to set
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5175 * window destroy signal--cancel asserts destroy)
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5176 *
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5177 * sets the following in the MultiEntryDialog struct:
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5178 *
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5179 * window
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5180 */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5181 void show_multi_entry_dialog(gpointer data)
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5182 {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5183 GtkWidget *vbox, *hbox;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5184 GtkWidget *button;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5185 MultiEntryDlg *b = data;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5186
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5187 GAIM_DIALOG(b->window);
2969
a67cae459b01 [gaim-migrate @ 2982]
Rob Flynn <gaim@robflynn.com>
parents: 2956
diff changeset
5188 gtk_container_set_border_width(GTK_CONTAINER(b->window), 5);
4074
3ccbdf8e7f8d [gaim-migrate @ 4289]
Sean Egan <seanegan@gmail.com>
parents: 4061
diff changeset
5189 gtk_window_set_role(GTK_WINDOW(b->window), b->role);
2956
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5190 gtk_window_set_title(GTK_WINDOW (b->window), b->title);
2969
a67cae459b01 [gaim-migrate @ 2982]
Rob Flynn <gaim@robflynn.com>
parents: 2956
diff changeset
5191
2956
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5192 /* Clean up if user dismisses window via window manager! */
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
5193 g_signal_connect(GTK_OBJECT(b->window), "destroy", G_CALLBACK(b->cancel), (gpointer) b);
2956
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5194 gtk_widget_realize(b->window);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5195
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5196 vbox = gtk_vbox_new(FALSE, 5);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5197 gtk_container_add(GTK_CONTAINER (b->window), vbox);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5198
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5199 b->instructions->label = gtk_label_new(NULL);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5200 gtk_label_set_line_wrap(GTK_LABEL (b->instructions->label), TRUE);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5201 gtk_box_pack_start(GTK_BOX (vbox), b->instructions->label, TRUE, TRUE, 5);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5202 re_show_multi_entry_instr(b->instructions);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5203
2975
626729653436 [gaim-migrate @ 2988]
Rob Flynn <gaim@robflynn.com>
parents: 2969
diff changeset
5204 b->entries_frame = gtk_frame_new(b->entries_title);
2956
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5205 gtk_box_pack_start(GTK_BOX (vbox), b->entries_frame, TRUE, TRUE, 5);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5206 gtk_widget_show(b->entries_frame);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5207 b->entries_table = NULL;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5208 re_show_multi_entry_entries(&(b->entries_table), b->entries_frame, b->multi_entry_items);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5209
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5210 b->texts_obox = gtk_vbox_new(FALSE, 0);
2969
a67cae459b01 [gaim-migrate @ 2982]
Rob Flynn <gaim@robflynn.com>
parents: 2956
diff changeset
5211 gtk_box_pack_start(GTK_BOX (vbox), b->texts_obox, TRUE, TRUE, 5);
2956
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5212 gtk_widget_show(b->texts_obox);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5213 b->texts_ibox = NULL;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5214 re_show_multi_entry_textboxes(&(b->texts_ibox), b->texts_obox, b->multi_text_items);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5215
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5216 hbox = gtk_hbox_new(FALSE, 0);
2969
a67cae459b01 [gaim-migrate @ 2982]
Rob Flynn <gaim@robflynn.com>
parents: 2956
diff changeset
5217 gtk_box_pack_start(GTK_BOX (vbox), hbox, FALSE, FALSE, 5);
2956
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5218 gtk_widget_show(hbox);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5219
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5220 button = picture_button(b->window, _("Cancel"), cancel_xpm);
2969
a67cae459b01 [gaim-migrate @ 2982]
Rob Flynn <gaim@robflynn.com>
parents: 2956
diff changeset
5221
2956
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5222 /* Let "destroy handling" (set above) handle cleanup */
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
5223 g_signal_connect_swapped(GTK_OBJECT (button), "clicked",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
5224 G_CALLBACK (gtk_widget_destroy), GTK_OBJECT (b->window));
2969
a67cae459b01 [gaim-migrate @ 2982]
Rob Flynn <gaim@robflynn.com>
parents: 2956
diff changeset
5225 gtk_box_pack_end(GTK_BOX (hbox), button, FALSE, FALSE, 5);
2956
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5226 gtk_widget_show(button);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5227
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5228 button = picture_button(b->window, _("Save"), save_xpm);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
5229 g_signal_connect(GTK_OBJECT (button), "clicked",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
5230 G_CALLBACK (b->ok), (gpointer) b);
2969
a67cae459b01 [gaim-migrate @ 2982]
Rob Flynn <gaim@robflynn.com>
parents: 2956
diff changeset
5231 gtk_box_pack_end(GTK_BOX (hbox), button, FALSE, FALSE, 5);
2956
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5232 gtk_widget_show(button);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5233
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5234 gtk_widget_show(vbox);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5235 gtk_widget_show(b->window);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5236 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5237
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5238
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5239 /*------------------------------------*/
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5240 /* V-Card dialog specific support */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5241 /*------------------------------------*/
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5242
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5243 /*
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5244 * V-Card "set info" dialog "Save" clicked
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5245 *
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5246 * Copy data from GTK+ dialogs into GSLists, call protocol-specific
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5247 * formatter and save the user info data.
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5248 */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5249 void set_vcard_dialog_ok_clicked(GtkWidget *widget, gpointer data)
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5250 {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5251 MultiEntryDlg *b = (MultiEntryDlg *) data;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5252 struct gaim_connection *gc;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5253 gchar *tmp;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5254 GSList *list;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5255
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5256 for(list = b->multi_entry_items; list != NULL; list = list->next) {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5257 if(((MultiEntryData *) list->data)->text != NULL) {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5258 g_free(((MultiEntryData *) list->data)->text);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5259 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5260 ((MultiEntryData *) list->data)->text =
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5261 g_strdup(gtk_entry_get_text(GTK_ENTRY(((MultiEntryData *) list->data)->widget)));
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5262 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5263
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5264 for(list = b->multi_text_items; list != NULL; list = list->next) {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5265 if(((MultiTextData *) list->data)->text != NULL) {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5266 g_free(((MultiTextData *) list->data)->text);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5267 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5268 ((MultiTextData *) list->data)->text =
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5269 gtk_editable_get_chars((GtkEditable *) (((MultiTextData *) list->data)->textbox),
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5270 0, -1);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5271 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5272
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5273
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5274 tmp = b->custom(b);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5275
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5276 /*
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5277 * Set the user info and (possibly) send to the server
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5278 */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5279 if (b->user) {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5280 strncpy(b->user->user_info, tmp, sizeof b->user->user_info);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5281 gc = b->user->gc;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5282
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5283 save_prefs();
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5284
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5285 if (gc)
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5286 serv_set_info(gc, b->user->user_info);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5287 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5288
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5289 g_free(tmp);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5290
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5291 /* Let multi-edit dialog window "destroy" event catching handle remaining cleanup */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5292 gtk_widget_destroy(GTK_WIDGET (b->window));
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5293 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5294
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5295 /*
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5296 * Instantiate a v-card dialog
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5297 */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5298 void show_set_vcard(MultiEntryDlg *b)
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5299 {
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5300 b->ok = set_vcard_dialog_ok_clicked;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5301 b->cancel = multi_entry_dialog_destroy;
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5302
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5303 show_multi_entry_dialog(b);
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5304 }
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5305
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5306
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5307 /*------------------------------------------------------------------------*/
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5308 /* End dialog for setting v-card info */
b68c648618a3 [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2906
diff changeset
5309 /*------------------------------------------------------------------------*/