src/dialogs.c

Wed, 03 Dec 2003 04:17:42 +0000

author
Sean Egan <seanegan@pidgin.im>
date
Wed, 03 Dec 2003 04:17:42 +0000
changeset 7714
b66882cbab6a
parent 7707
571801b698e4
child 7735
716fd57a8d2d
permissions
-rw-r--r--

[gaim-migrate @ 8359]
I rock so hard! This is just too easy. WYSIWYG foreground and background
colors.

The observant commit watcher will note that I'm not really paying too close
attention to the toolbar UI yet. And as a result, it doesn't really work too
great. The plan is to make the toolbar its own GtkWidget, which will attach
to a GtkIMHtml. The GtkIMHtml will emit signals to it, telling it what state
it should be in, and the toolbar will manipulate the GtkIMHtml accordingly.

This way, anything that has text entry can have a toolbar with which to edit
it.

1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1 /*
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2 * gaim
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3 *
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
4 * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net>
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
5 *
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
6 * This program is free software; you can redistribute it and/or modify
efe077a7e70d [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
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
8 * the Free Software Foundation; either version 2 of the License, or
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
9 * (at your option) any later version.
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
10 *
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
11 * This program is distributed in the hope that it will be useful,
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
14 * GNU General Public License for more details.
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
15 *
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
16 * You should have received a copy of the GNU General Public License
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
17 * along with this program; if not, write to the Free Software
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
19 */
6371
e92b66ee5518 [gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents: 6352
diff changeset
20 #include "gtkinternal.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
21
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
22 #include "debug.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
23 #include "log.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
24 #include "multi.h"
5436
a0e0bacaa196 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5411
diff changeset
25 #include "notify.h"
5545
a8b1a1262402 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
26 #include "prefs.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
27 #include "prpl.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
28 #include "request.h"
6065
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents: 6059
diff changeset
29 #include "status.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
30 #include "util.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
31
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
32 #include "gtkblist.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
33 #include "gtkconv.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
34 #include "gtkimhtml.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
35 #include "gtkprefs.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
36 #include "gtkutils.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
37 #include "stock.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
38
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
39 #include "ui.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
40
6646
b9a0b5eb74e6 [gaim-migrate @ 7171]
Christian Hammond <chipx86@chipx86.com>
parents: 6640
diff changeset
41 /* XXX */
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
42 #include "gaim.h"
1035
82193e84d1d3 [gaim-migrate @ 1045]
Ben Miller <millebe@cs.earlham.edu>
parents: 1032
diff changeset
43
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
44 static GtkWidget *imdialog = NULL; /*I only want ONE of these :) */
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
45 static GList *dialogwindows = NULL;
2493
ec90aa48cd51 [gaim-migrate @ 2506]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2472
diff changeset
46 static GtkWidget *importdialog;
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
47 static GaimConnection *importgc;
2344
40e4df01392f [gaim-migrate @ 2357]
Rob Flynn <gaim@robflynn.com>
parents: 2334
diff changeset
48 static GtkWidget *icondlg;
1729
1da25c26b09b [gaim-migrate @ 1739]
Neil Sanchala <nsanch@gmail.com>
parents: 1722
diff changeset
49 static GtkWidget *rename_dialog = NULL;
5560
7cd6678f838b [gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents: 5551
diff changeset
50 static GtkWidget *fontseld = NULL;
230
5afbb3468f11 [gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 229
diff changeset
51
3649
0141fbc888e9 [gaim-migrate @ 3773]
Rob Flynn <gaim@robflynn.com>
parents: 3630
diff changeset
52
2743
4b7e08f5c571 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
53 struct confirm_del {
4b7e08f5c571 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
54 GtkWidget *window;
4b7e08f5c571 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
55 GtkWidget *label;
4b7e08f5c571 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
56 GtkWidget *ok;
4b7e08f5c571 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
57 GtkWidget *cancel;
4b7e08f5c571 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
58 char name[1024];
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
59 GaimConnection *gc;
2743
4b7e08f5c571 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
60 };
4b7e08f5c571 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
61
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
62 struct create_away {
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
63 GtkWidget *window;
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
64 GtkWidget *entry;
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
65 GtkWidget *text;
832
138962a0d570 [gaim-migrate @ 842]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 825
diff changeset
66 struct away_message *mess;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
67 };
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
68
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
69 struct warning {
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
70 GtkWidget *window;
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
71 GtkWidget *anon;
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
72 char *who;
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
73 GaimConnection *gc;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
74 };
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
75
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
76 struct findbyemail {
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
77 GtkWidget *window;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
78 GtkWidget *emailentry;
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
79 GaimConnection *gc;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
80 };
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
81
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
82 struct findbyinfo {
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
83 GaimConnection *gc;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
84 GtkWidget *window;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
85 GtkWidget *firstentry;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
86 GtkWidget *middleentry;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
87 GtkWidget *lastentry;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
88 GtkWidget *maidenentry;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
89 GtkWidget *cityentry;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
90 GtkWidget *stateentry;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
91 GtkWidget *countryentry;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
92 };
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
93
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
94 struct info_dlg {
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
95 GaimConnection *gc;
2773
3f711c709792 [gaim-migrate @ 2786]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2763
diff changeset
96 char *who;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
97 GtkWidget *window;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
98 GtkWidget *text;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
99 };
3197
61d82900f833 [gaim-migrate @ 3214]
click81
parents: 3159
diff changeset
100
61d82900f833 [gaim-migrate @ 3214]
click81
parents: 3159
diff changeset
101 struct getuserinfo {
61d82900f833 [gaim-migrate @ 3214]
click81
parents: 3159
diff changeset
102 GtkWidget *window;
61d82900f833 [gaim-migrate @ 3214]
click81
parents: 3159
diff changeset
103 GtkWidget *entry;
61d82900f833 [gaim-migrate @ 3214]
click81
parents: 3159
diff changeset
104 GtkWidget *account;
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
105 GaimConnection *gc;
3197
61d82900f833 [gaim-migrate @ 3214]
click81
parents: 3159
diff changeset
106 };
61d82900f833 [gaim-migrate @ 3214]
click81
parents: 3159
diff changeset
107
6334
47a748d6fb0f [gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents: 6331
diff changeset
108 typedef struct
47a748d6fb0f [gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents: 6331
diff changeset
109 {
47a748d6fb0f [gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents: 6331
diff changeset
110 char *username;
47a748d6fb0f [gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents: 6331
diff changeset
111 gboolean block;
47a748d6fb0f [gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents: 6331
diff changeset
112 GaimConnection *gc;
47a748d6fb0f [gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents: 6331
diff changeset
113
47a748d6fb0f [gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents: 6331
diff changeset
114 } GaimGtkBlockData;
47a748d6fb0f [gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents: 6331
diff changeset
115
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
116 struct set_info_dlg {
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
117 GtkWidget *window;
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 940
diff changeset
118 GtkWidget *menu;
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
119 GaimAccount *account;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
120 GtkWidget *text;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
121 GtkWidget *save;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
122 GtkWidget *cancel;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
123 };
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
124
2344
40e4df01392f [gaim-migrate @ 2357]
Rob Flynn <gaim@robflynn.com>
parents: 2334
diff changeset
125 struct set_icon_dlg {
40e4df01392f [gaim-migrate @ 2357]
Rob Flynn <gaim@robflynn.com>
parents: 2334
diff changeset
126 GtkWidget *window;
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
127 GaimAccount *account;
2344
40e4df01392f [gaim-migrate @ 2357]
Rob Flynn <gaim@robflynn.com>
parents: 2334
diff changeset
128 GtkWidget *ok;
40e4df01392f [gaim-migrate @ 2357]
Rob Flynn <gaim@robflynn.com>
parents: 2334
diff changeset
129 GtkWidget *cancel;
40e4df01392f [gaim-migrate @ 2357]
Rob Flynn <gaim@robflynn.com>
parents: 2334
diff changeset
130 GtkWidget *entry;
40e4df01392f [gaim-migrate @ 2357]
Rob Flynn <gaim@robflynn.com>
parents: 2334
diff changeset
131 };
40e4df01392f [gaim-migrate @ 2357]
Rob Flynn <gaim@robflynn.com>
parents: 2334
diff changeset
132
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
133 struct set_dir_dlg {
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
134 GaimConnection *gc;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
135 GtkWidget *window;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
136 GtkWidget *first;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
137 GtkWidget *middle;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
138 GtkWidget *last;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
139 GtkWidget *maiden;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
140 GtkWidget *city;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
141 GtkWidget *state;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
142 GtkWidget *country;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
143 GtkWidget *web;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
144 GtkWidget *cancel;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
145 GtkWidget *save;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
146 };
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
147
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
148 struct linkdlg {
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
149 GtkWidget *ok;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
150 GtkWidget *cancel;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
151 GtkWidget *window;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
152 GtkWidget *url;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
153 GtkWidget *text;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
154 GtkWidget *toggle;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
155 GtkWidget *entry;
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
156 GaimConversation *c;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
157 };
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
158
146
d28179fcbf06 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
159 struct passwddlg {
d28179fcbf06 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
160 GtkWidget *window;
d28179fcbf06 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
161 GtkWidget *ok;
d28179fcbf06 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
162 GtkWidget *cancel;
d28179fcbf06 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
163 GtkWidget *original;
d28179fcbf06 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
164 GtkWidget *new1;
d28179fcbf06 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
165 GtkWidget *new2;
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
166 GaimConnection *gc;
146
d28179fcbf06 [gaim-migrate @ 156]
Rob Flynn <gaim@robflynn.com>
parents: 137
diff changeset
167 };
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
168
2621
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
169 struct view_log {
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
170 long offset;
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
171 int options;
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
172 char *name;
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
173 GtkWidget *bbox;
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
174 GtkWidget *window;
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
175 GtkWidget *layout;
7330
d9180de05551 [gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents: 7261
diff changeset
176 void *clear_handle;
2621
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
177 };
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
178
4119
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
179 /* Wrapper to get all the text from a GtkTextView */
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
180 gchar* gtk_text_view_get_text(GtkTextView *text, gboolean include_hidden_chars)
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
181 {
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
182 GtkTextBuffer *buffer;
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
183 GtkTextIter start, end;
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
184
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
185 buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text));
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
186 gtk_text_buffer_get_start_iter(buffer, &start);
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
187 gtk_text_buffer_get_end_iter(buffer, &end);
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
188
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
189 return gtk_text_buffer_get_text(buffer, &start, &end, include_hidden_chars);
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
190 }
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
191
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
192 /*------------------------------------------------------------------------*/
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
193 /* Destroys */
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
194 /*------------------------------------------------------------------------*/
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
195
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
196 static gint delete_event_dialog(GtkWidget *w, GdkEventAny *e, GaimConversation *c)
311
971d26b73be6 [gaim-migrate @ 321]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 308
diff changeset
197 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
198 GaimGtkConversation *gtkconv;
605
3d93a5c09c8f [gaim-migrate @ 615]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 603
diff changeset
199 gchar *object_data;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
200
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
201 object_data = g_object_get_data(G_OBJECT(w), "dialog_type");
605
3d93a5c09c8f [gaim-migrate @ 615]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 603
diff changeset
202
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
203 gtkconv = GAIM_GTK_CONVERSATION(c);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
204
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
205 if (GTK_IS_COLOR_SELECTION_DIALOG(w)) {
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
206 if (w == gtkconv->dialogs.fg_color) {
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
207 gtk_toggle_button_set_active(
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
208 GTK_TOGGLE_BUTTON(gtkconv->toolbar.fgcolor), FALSE);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
209 gtkconv->dialogs.fg_color = NULL;
858
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
210 } else {
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
211 gtk_toggle_button_set_active(
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
212 GTK_TOGGLE_BUTTON(gtkconv->toolbar.bgcolor), FALSE);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
213 gtkconv->dialogs.bg_color = NULL;
858
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
214 }
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
215 } else if (GTK_IS_FONT_SELECTION_DIALOG(w)) {
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
216 gtk_toggle_button_set_active(
4685
2c4bde862f6b [gaim-migrate @ 4996]
Nathan Walp <nwalp@pidgin.im>
parents: 4667
diff changeset
217 GTK_TOGGLE_BUTTON(gtkconv->toolbar.font), FALSE);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
218 gtkconv->dialogs.font = NULL;
4793
1da93f6c80f3 [gaim-migrate @ 5113]
Nathan Walp <nwalp@pidgin.im>
parents: 4787
diff changeset
219 } else if (!g_ascii_strcasecmp(object_data, "smiley dialog")) {
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
220 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.smiley),
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
221 FALSE);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
222 gtkconv->dialogs.smiley = NULL;
4793
1da93f6c80f3 [gaim-migrate @ 5113]
Nathan Walp <nwalp@pidgin.im>
parents: 4787
diff changeset
223 } else if (!g_ascii_strcasecmp(object_data, "log dialog")) {
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
224 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtkconv->toolbar.log),
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
225 FALSE);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
226 gtkconv->dialogs.log = NULL;
608
4c11ac40558f [gaim-migrate @ 618]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 607
diff changeset
227 }
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
228
858
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
229 dialogwindows = g_list_remove(dialogwindows, w);
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
230 gtk_widget_destroy(w);
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
231
311
971d26b73be6 [gaim-migrate @ 321]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 308
diff changeset
232 return FALSE;
971d26b73be6 [gaim-migrate @ 321]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 308
diff changeset
233 }
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
234
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
235 static void destroy_dialog(GtkWidget *w, GtkWidget *w2)
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
236 {
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
237 GtkWidget *dest;
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
238
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
239 if (!GTK_IS_WIDGET(w2))
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
240 dest = w;
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
241 else
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
242 dest = w2;
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
243
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
244 if (dest == imdialog)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
245 imdialog = NULL;
5050
241e7595c116 [gaim-migrate @ 5398]
Christian Hammond <chipx86@chipx86.com>
parents: 5024
diff changeset
246 else if (dest == importdialog) {
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
247 importdialog = NULL;
2493
ec90aa48cd51 [gaim-migrate @ 2506]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2472
diff changeset
248 importgc = NULL;
ec90aa48cd51 [gaim-migrate @ 2506]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2472
diff changeset
249 }
5050
241e7595c116 [gaim-migrate @ 5398]
Christian Hammond <chipx86@chipx86.com>
parents: 5024
diff changeset
250 else if (dest == icondlg)
2344
40e4df01392f [gaim-migrate @ 2357]
Rob Flynn <gaim@robflynn.com>
parents: 2334
diff changeset
251 icondlg = NULL;
5050
241e7595c116 [gaim-migrate @ 5398]
Christian Hammond <chipx86@chipx86.com>
parents: 5024
diff changeset
252 else if (dest == rename_dialog)
1729
1da25c26b09b [gaim-migrate @ 1739]
Neil Sanchala <nsanch@gmail.com>
parents: 1722
diff changeset
253 rename_dialog = NULL;
1da25c26b09b [gaim-migrate @ 1739]
Neil Sanchala <nsanch@gmail.com>
parents: 1722
diff changeset
254
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
255 dialogwindows = g_list_remove(dialogwindows, dest);
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
256 gtk_widget_destroy(dest);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
257 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
258
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
259
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
260 void destroy_all_dialogs()
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
261 {
2621
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
262 while (dialogwindows)
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
263 destroy_dialog(NULL, dialogwindows->data);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
264
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 350
diff changeset
265 if (awaymessage)
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 350
diff changeset
266 do_im_back(NULL, NULL);
84
419c24cfe582 [gaim-migrate @ 94]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 79
diff changeset
267
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
268 if (imdialog) {
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
269 destroy_dialog(NULL, imdialog);
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
270 imdialog = NULL;
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
271 }
935
d772a17fe057 [gaim-migrate @ 945]
Ben Miller <millebe@cs.earlham.edu>
parents: 934
diff changeset
272
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
273 if (importdialog) {
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
274 destroy_dialog(NULL, importdialog);
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
275 importdialog = NULL;
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
276 }
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
277
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
278 if (icondlg) {
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
279 destroy_dialog(NULL, icondlg);
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
280 icondlg = NULL;
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
281 }
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
282 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
283
3757
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
284 static void do_warn(GtkWidget *widget, gint resp, struct warning *w)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
285 {
3757
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
286 if (resp == GTK_RESPONSE_OK)
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
287 serv_warn(w->gc, w->who, (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w->anon))) ? 1 : 0);
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
288
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
289 destroy_dialog(NULL, w->window);
1288
cf2e4986d032 [gaim-migrate @ 1298]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1272
diff changeset
290 g_free(w);
cf2e4986d032 [gaim-migrate @ 1298]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1272
diff changeset
291 }
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
292
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
293 void show_warn_dialog(GaimConnection *gc, char *who)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
294 {
3757
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
295 char *labeltext;
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
296 GtkWidget *hbox, *vbox;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
297 GtkWidget *label;
5024
3b5412e4b483 [gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents: 4978
diff changeset
298 GtkWidget *img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_DIALOG);
6640
007eb21016b4 [gaim-migrate @ 7165]
Christian Hammond <chipx86@chipx86.com>
parents: 6623
diff changeset
299 GaimConversation *c = gaim_find_conversation_with_account(who, gc->account);
441
1a5ead8f6132 [gaim-migrate @ 451]
Rob Flynn <gaim@robflynn.com>
parents: 440
diff changeset
300
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
301 struct warning *w = g_new0(struct warning, 1);
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
302 w->who = who;
1288
cf2e4986d032 [gaim-migrate @ 1298]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1272
diff changeset
303 w->gc = gc;
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
304
3757
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
305 gtk_misc_set_alignment(GTK_MISC(img), 0, 0);
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
306
6112
babea7c35432 [gaim-migrate @ 6574]
Nathan Walp <nwalp@pidgin.im>
parents: 6105
diff changeset
307 w->window = gtk_dialog_new_with_buttons(_("Warn User"),
babea7c35432 [gaim-migrate @ 6574]
Nathan Walp <nwalp@pidgin.im>
parents: 6105
diff changeset
308 GTK_WINDOW(GAIM_GTK_WINDOW(c->window)->window), 0,
babea7c35432 [gaim-migrate @ 6574]
Nathan Walp <nwalp@pidgin.im>
parents: 6105
diff changeset
309 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
babea7c35432 [gaim-migrate @ 6574]
Nathan Walp <nwalp@pidgin.im>
parents: 6105
diff changeset
310 _("_Warn"), GTK_RESPONSE_OK, NULL);
4118
8e225b347e27 [gaim-migrate @ 4335]
Luke Schierer <lschiere@pidgin.im>
parents: 4117
diff changeset
311 gtk_dialog_set_default_response (GTK_DIALOG(w->window), GTK_RESPONSE_OK);
3757
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
312 g_signal_connect(G_OBJECT(w->window), "response", G_CALLBACK(do_warn), w);
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
313
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
314 gtk_container_set_border_width (GTK_CONTAINER(w->window), 6);
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
315 gtk_window_set_resizable(GTK_WINDOW(w->window), FALSE);
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
316 gtk_dialog_set_has_separator(GTK_DIALOG(w->window), FALSE);
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
317 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(w->window)->vbox), 12);
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
318 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(w->window)->vbox), 6);
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
319
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
320 hbox = gtk_hbox_new(FALSE, 12);
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
321 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(w->window)->vbox), hbox);
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
322 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
323
3757
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
324 vbox = gtk_vbox_new(FALSE, 0);
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
325 gtk_container_add(GTK_CONTAINER(hbox), vbox);
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
326 labeltext = g_strdup_printf(_("<span weight=\"bold\" size=\"larger\">Warn %s?</span>\n\n"
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
327 "This will increase %s's warning level and he or she will be subject to harsher rate limiting.\n"), who, who);
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
328 label = gtk_label_new(NULL);
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
329 gtk_label_set_markup(GTK_LABEL(label), labeltext);
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
330 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
331 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
332 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
333 g_free(labeltext);
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
334
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
335 w->anon = gtk_check_button_new_with_mnemonic(_("Warn _anonymously?"));
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
336 gtk_box_pack_start(GTK_BOX(vbox), w->anon, FALSE, FALSE, 0);
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
337
3757
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
338 hbox = gtk_hbox_new(FALSE, 6);
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
339 gtk_container_add(GTK_CONTAINER(vbox), hbox);
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
340 img = gtk_image_new_from_stock(GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_MENU);
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
341 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
342 labeltext = _("<b>Anonymous warnings are less severe.</b>");
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
343 /* labeltext = _("Anonymous warnings are less severe."); */
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
344 label = gtk_label_new(NULL);
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
345 gtk_label_set_markup(GTK_LABEL(label), labeltext);
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
346 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
347 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
348
1288
cf2e4986d032 [gaim-migrate @ 1298]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1272
diff changeset
349 dialogwindows = g_list_prepend(dialogwindows, w->window);
3757
b05070850821 [gaim-migrate @ 3896]
Sean Egan <seanegan@pidgin.im>
parents: 3753
diff changeset
350 gtk_widget_show_all(w->window);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
351 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
352
6334
47a748d6fb0f [gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents: 6331
diff changeset
353 static void
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7108
diff changeset
354 do_remove_chat(GaimChat *chat)
5234
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
355 {
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
356 gaim_blist_remove_chat(chat);
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
357 gaim_blist_save();
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
358 }
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
359
6334
47a748d6fb0f [gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents: 6331
diff changeset
360 static void
6695
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
361 do_remove_buddy(GaimBuddy *b)
2743
4b7e08f5c571 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
362 {
6695
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
363 GaimGroup *g;
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
364 GaimConversation *c;
4918
0600d084c97a [gaim-migrate @ 5252]
Christian Hammond <chipx86@chipx86.com>
parents: 4916
diff changeset
365 gchar *name;
6640
007eb21016b4 [gaim-migrate @ 7165]
Christian Hammond <chipx86@chipx86.com>
parents: 6623
diff changeset
366 GaimAccount *account;
2743
4b7e08f5c571 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
367
4b7e08f5c571 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
368 if (!b)
4b7e08f5c571 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
369 return;
4b7e08f5c571 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
370
4687
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents: 4685
diff changeset
371 g = gaim_find_buddys_group(b);
6640
007eb21016b4 [gaim-migrate @ 7165]
Christian Hammond <chipx86@chipx86.com>
parents: 6623
diff changeset
372 name = g_strdup(b->name); /* b->name is a crasher after remove_buddy */
007eb21016b4 [gaim-migrate @ 7165]
Christian Hammond <chipx86@chipx86.com>
parents: 6623
diff changeset
373 account = b->account;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
374
5213
d56ea526b80c [gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
375 gaim_debug(GAIM_DEBUG_INFO, "blist",
d56ea526b80c [gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
376 "Removing '%s' from buddy list.\n", b->name);
4491
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4476
diff changeset
377 serv_remove_buddy(b->account->gc, name, g->name);
4687
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents: 4685
diff changeset
378 gaim_blist_remove_buddy(b);
4349
a65175463a31 [gaim-migrate @ 4614]
Nathan Walp <nwalp@pidgin.im>
parents: 4333
diff changeset
379 gaim_blist_save();
2743
4b7e08f5c571 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
380
6640
007eb21016b4 [gaim-migrate @ 7165]
Christian Hammond <chipx86@chipx86.com>
parents: 6623
diff changeset
381 c = gaim_find_conversation_with_account(name, account);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
382
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
383 if (c != NULL)
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
384 gaim_conversation_update(c, GAIM_CONV_UPDATE_REMOVE);
4397
ae6f3b6a602c [gaim-migrate @ 4666]
Ari Pollak <ari@debian.org>
parents: 4372
diff changeset
385
ae6f3b6a602c [gaim-migrate @ 4666]
Ari Pollak <ari@debian.org>
parents: 4372
diff changeset
386 g_free(name);
2743
4b7e08f5c571 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
387 }
4b7e08f5c571 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
388
6742
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
389 static void do_remove_contact(GaimContact *c)
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
390 {
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
391 GaimBlistNode *bnode, *cnode;
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
392 GaimGroup *g;
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
393
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
394 if(!c)
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
395 return;
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
396
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
397 cnode = (GaimBlistNode *)c;
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
398 g = (GaimGroup*)cnode->parent;
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
399 for(bnode = cnode->child; bnode; bnode = bnode->next) {
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
400 GaimBuddy *b = (GaimBuddy*)bnode;
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
401 if(b->account->gc)
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
402 serv_remove_buddy(b->account->gc, b->name, g->name);
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
403 }
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
404 gaim_blist_remove_contact(c);
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
405 }
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
406
6695
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
407 void do_remove_group(GaimGroup *g)
4916
11b8fd3f8ffc [gaim-migrate @ 5250]
Sean Egan <seanegan@pidgin.im>
parents: 4874
diff changeset
408 {
6695
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
409 GaimBlistNode *cnode, *bnode;
6885
65132ebfc662 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6878
diff changeset
410
6695
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
411 cnode = ((GaimBlistNode*)g)->child;
6885
65132ebfc662 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6878
diff changeset
412
6695
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
413 while(cnode) {
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
414 if(GAIM_BLIST_NODE_IS_CONTACT(cnode)) {
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
415 bnode = cnode->child;
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
416 cnode = cnode->next;
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
417 while(bnode) {
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
418 GaimBuddy *b;
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
419 if(GAIM_BLIST_NODE_IS_BUDDY(bnode)) {
6745
68569c0a6865 [gaim-migrate @ 7277]
Herman Bloggs <herman@bluedigits.com>
parents: 6742
diff changeset
420 GaimConversation *c;
68569c0a6865 [gaim-migrate @ 7277]
Herman Bloggs <herman@bluedigits.com>
parents: 6742
diff changeset
421 b = (GaimBuddy*)bnode;
6695
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
422 bnode = bnode->next;
6745
68569c0a6865 [gaim-migrate @ 7277]
Herman Bloggs <herman@bluedigits.com>
parents: 6742
diff changeset
423 c = gaim_find_conversation_with_account(b->name, b->account);
6695
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
424 if(gaim_account_is_connected(b->account)) {
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
425 serv_remove_buddy(b->account->gc, b->name, g->name);
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
426 gaim_blist_remove_buddy(b);
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
427 if(c)
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
428 gaim_conversation_update(c,
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
429 GAIM_CONV_UPDATE_REMOVE);
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
430 }
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
431 } else {
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
432 bnode = bnode->next;
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
433 }
5234
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
434 }
6695
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
435 } else if(GAIM_BLIST_NODE_IS_CHAT(cnode)) {
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7108
diff changeset
436 GaimChat *chat = (GaimChat *)cnode;
6695
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
437 cnode = cnode->next;
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
438 if(gaim_account_is_connected(chat->account))
6088
c92fe7f28fa0 [gaim-migrate @ 6547]
Ka-Hing Cheung <khc@pidgin.im>
parents: 6065
diff changeset
439 gaim_blist_remove_chat(chat);
6695
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
440 } else {
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
441 cnode = cnode->next;
4938
36d704257e46 [gaim-migrate @ 5272]
Nathan Walp <nwalp@pidgin.im>
parents: 4936
diff changeset
442 }
4916
11b8fd3f8ffc [gaim-migrate @ 5250]
Sean Egan <seanegan@pidgin.im>
parents: 4874
diff changeset
443 }
6885
65132ebfc662 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6878
diff changeset
444
4916
11b8fd3f8ffc [gaim-migrate @ 5250]
Sean Egan <seanegan@pidgin.im>
parents: 4874
diff changeset
445 gaim_blist_remove_group(g);
11b8fd3f8ffc [gaim-migrate @ 5250]
Sean Egan <seanegan@pidgin.im>
parents: 4874
diff changeset
446 gaim_blist_save();
11b8fd3f8ffc [gaim-migrate @ 5250]
Sean Egan <seanegan@pidgin.im>
parents: 4874
diff changeset
447 }
11b8fd3f8ffc [gaim-migrate @ 5250]
Sean Egan <seanegan@pidgin.im>
parents: 4874
diff changeset
448
6695
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
449 void show_confirm_del(GaimBuddy *b)
2743
4b7e08f5c571 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
450 {
3753
e7aa1447d839 [gaim-migrate @ 3892]
Sean Egan <seanegan@pidgin.im>
parents: 3749
diff changeset
451 char *text;
5975
13a28ae5e87d [gaim-migrate @ 6422]
Mark Doliner <markdoliner@pidgin.im>
parents: 5970
diff changeset
452 if (!b)
3753
e7aa1447d839 [gaim-migrate @ 3892]
Sean Egan <seanegan@pidgin.im>
parents: 3749
diff changeset
453 return;
e7aa1447d839 [gaim-migrate @ 3892]
Sean Egan <seanegan@pidgin.im>
parents: 3749
diff changeset
454
5975
13a28ae5e87d [gaim-migrate @ 6422]
Mark Doliner <markdoliner@pidgin.im>
parents: 5970
diff changeset
455 text = g_strdup_printf(_("You are about to remove %s from your buddy list. Do you want to continue?"), b->name);
13a28ae5e87d [gaim-migrate @ 6422]
Mark Doliner <markdoliner@pidgin.im>
parents: 5970
diff changeset
456
13a28ae5e87d [gaim-migrate @ 6422]
Mark Doliner <markdoliner@pidgin.im>
parents: 5970
diff changeset
457 gaim_request_action(NULL, NULL, _("Remove Buddy"), text, -1, b, 2,
5498
01eec144d71b [gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
458 _("Remove Buddy"), G_CALLBACK(do_remove_buddy),
01eec144d71b [gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
459 _("Cancel"), NULL);
01eec144d71b [gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
460
3753
e7aa1447d839 [gaim-migrate @ 3892]
Sean Egan <seanegan@pidgin.im>
parents: 3749
diff changeset
461 g_free(text);
2743
4b7e08f5c571 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
462 }
4b7e08f5c571 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
463
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7108
diff changeset
464 void show_confirm_del_blist_chat(GaimChat *chat)
5234
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
465 {
7125
69f5aeec3f5b [gaim-migrate @ 7692]
Nathan Walp <nwalp@pidgin.im>
parents: 7118
diff changeset
466 char *name = gaim_chat_get_display_name(chat);
6034
148d8b0fe741 [gaim-migrate @ 6484]
Ka-Hing Cheung <khc@pidgin.im>
parents: 6021
diff changeset
467 char *text = g_strdup_printf(_("You are about to remove the chat %s from your buddy list. Do you want to continue?"), name);
5498
01eec144d71b [gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
468
01eec144d71b [gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
469 gaim_request_action(NULL, NULL, _("Remove Chat"), text, -1, chat, 2,
01eec144d71b [gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
470 _("Remove Chat"), G_CALLBACK(do_remove_chat),
01eec144d71b [gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
471 _("Cancel"), NULL);
01eec144d71b [gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
472
6034
148d8b0fe741 [gaim-migrate @ 6484]
Ka-Hing Cheung <khc@pidgin.im>
parents: 6021
diff changeset
473 g_free(name);
5234
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
474 g_free(text);
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
475 }
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
476
6695
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
477 void show_confirm_del_group(GaimGroup *g)
4916
11b8fd3f8ffc [gaim-migrate @ 5250]
Sean Egan <seanegan@pidgin.im>
parents: 4874
diff changeset
478 {
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
479 char *text = g_strdup_printf(_("You are about to remove the group %s and all its members from your buddy list. Do you want to continue?"),
4916
11b8fd3f8ffc [gaim-migrate @ 5250]
Sean Egan <seanegan@pidgin.im>
parents: 4874
diff changeset
480 g->name);
5498
01eec144d71b [gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
481
01eec144d71b [gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
482 gaim_request_action(NULL, NULL, _("Remove Group"), text, -1, g, 2,
01eec144d71b [gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
483 _("Remove Group"), G_CALLBACK(do_remove_group),
01eec144d71b [gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
484 _("Cancel"), NULL);
01eec144d71b [gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
485
4916
11b8fd3f8ffc [gaim-migrate @ 5250]
Sean Egan <seanegan@pidgin.im>
parents: 4874
diff changeset
486 g_free(text);
11b8fd3f8ffc [gaim-migrate @ 5250]
Sean Egan <seanegan@pidgin.im>
parents: 4874
diff changeset
487 }
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
488
6742
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
489 void show_confirm_del_contact(GaimContact *c)
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
490 {
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
491 GaimBuddy *b = gaim_contact_get_priority_buddy(c);
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
492
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
493 if(!b)
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
494 return;
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
495
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
496 if(((GaimBlistNode*)c)->child == (GaimBlistNode*)b &&
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
497 !((GaimBlistNode*)b)->next) {
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
498 show_confirm_del(b);
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
499 } else {
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
500 char *text = g_strdup_printf(_("You are about to remove the contact containing %s and %d other buddies from your buddy list. Do you want to continue?"),
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
501 b->name, c->totalsize - 1);
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
502
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
503 gaim_request_action(NULL, NULL, _("Remove Contact"), text, -1, c, 2,
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
504 _("Remove Contact"), G_CALLBACK(do_remove_contact),
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
505 _("Cancel"), NULL);
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
506
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
507 g_free(text);
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
508 }
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
509 }
e6474bba7574 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
510
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
511 /*------------------------------------------------------------------------*/
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
512 /* The dialog for getting an error */
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
513 /*------------------------------------------------------------------------*/
3816
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
514 static void do_im(GtkWidget *widget, int resp, struct getuserinfo *info)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
515 {
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
516 const char *who;
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
517 GaimConversation *conv;
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
518 GaimAccount *account;
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
519
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
520 if (resp == GTK_RESPONSE_OK) {
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
521 who = gtk_entry_get_text(GTK_ENTRY(info->entry));
4476
bf88170ba269 [gaim-migrate @ 4751]
Christian Hammond <chipx86@chipx86.com>
parents: 4472
diff changeset
522
4613
837d01179f6d [gaim-migrate @ 4902]
Nathan Walp <nwalp@pidgin.im>
parents: 4609
diff changeset
523 if (!who || !*who) {
837d01179f6d [gaim-migrate @ 4902]
Nathan Walp <nwalp@pidgin.im>
parents: 4609
diff changeset
524 /* this shouldn't ever happen */
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
525 return;
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
526 }
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
527
4491
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4476
diff changeset
528 account = (info->gc ? info->gc->account : NULL);
4476
bf88170ba269 [gaim-migrate @ 4751]
Christian Hammond <chipx86@chipx86.com>
parents: 4472
diff changeset
529
6640
007eb21016b4 [gaim-migrate @ 7165]
Christian Hammond <chipx86@chipx86.com>
parents: 6623
diff changeset
530 conv = gaim_find_conversation_with_account(who, account);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
531
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
532 if (conv == NULL)
4491
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4476
diff changeset
533 conv = gaim_conversation_new(GAIM_CONV_IM, account, who);
4476
bf88170ba269 [gaim-migrate @ 4751]
Christian Hammond <chipx86@chipx86.com>
parents: 4472
diff changeset
534 else {
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7108
diff changeset
535 gaim_conv_window_raise(gaim_conversation_get_window(conv));
4476
bf88170ba269 [gaim-migrate @ 4751]
Christian Hammond <chipx86@chipx86.com>
parents: 4472
diff changeset
536 }
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
537 }
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
538
3816
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
539 destroy_dialog(NULL, imdialog);
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
540 imdialog = NULL;
4138
727cb2d2b93c [gaim-migrate @ 4356]
Ari Pollak <ari@debian.org>
parents: 4129
diff changeset
541 g_free(info);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
542 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
543
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
544 static void do_info(GtkWidget *widget, int resp, struct getuserinfo *info)
935
d772a17fe057 [gaim-migrate @ 945]
Ben Miller <millebe@cs.earlham.edu>
parents: 934
diff changeset
545 {
d772a17fe057 [gaim-migrate @ 945]
Ben Miller <millebe@cs.earlham.edu>
parents: 934
diff changeset
546 char *who;
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
547
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
548 if (resp == GTK_RESPONSE_OK) {
7261
4be05820d441 [gaim-migrate @ 7838]
Nathan Walp <nwalp@pidgin.im>
parents: 7245
diff changeset
549 who = g_strdup(gaim_normalize(info->gc->account, gtk_entry_get_text(GTK_ENTRY(info->entry))));
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
550
4793
1da93f6c80f3 [gaim-migrate @ 5113]
Nathan Walp <nwalp@pidgin.im>
parents: 4787
diff changeset
551 if (!g_ascii_strcasecmp(who, "")) {
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
552 g_free(who);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
553 return;
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
554 }
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
555
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
556 /* what do we want to do about this case? */
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
557 if (info->gc)
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
558 serv_get_info(info->gc, who);
1729
1da25c26b09b [gaim-migrate @ 1739]
Neil Sanchala <nsanch@gmail.com>
parents: 1722
diff changeset
559 g_free(who);
935
d772a17fe057 [gaim-migrate @ 945]
Ben Miller <millebe@cs.earlham.edu>
parents: 934
diff changeset
560 }
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
561 gtk_widget_destroy(GTK_WIDGET(widget));
4138
727cb2d2b93c [gaim-migrate @ 4356]
Ari Pollak <ari@debian.org>
parents: 4129
diff changeset
562 g_free(info);
935
d772a17fe057 [gaim-migrate @ 945]
Ben Miller <millebe@cs.earlham.edu>
parents: 934
diff changeset
563 }
d772a17fe057 [gaim-migrate @ 945]
Ben Miller <millebe@cs.earlham.edu>
parents: 934
diff changeset
564
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
565 void show_ee_dialog(int ee)
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
566 {
3767
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
567 GtkWidget *window;
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
568 GtkWidget *hbox;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
569 GtkWidget *label;
7098
22eabd4f5ed4 [gaim-migrate @ 7663]
Christian Hammond <chipx86@chipx86.com>
parents: 7085
diff changeset
570 GaimGtkBuddyList *gtkblist;
5024
3b5412e4b483 [gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents: 4978
diff changeset
571 GtkWidget *img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_COOL, GTK_ICON_SIZE_DIALOG);
4695
82df59fb9931 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
572
82df59fb9931 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
573 gtkblist = GAIM_GTK_BLIST(gaim_get_blist());
82df59fb9931 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
574
3767
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
575 label = gtk_label_new(NULL);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
576 if (ee == 0)
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
577 gtk_label_set_markup(GTK_LABEL(label),
3767
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
578 "<span weight=\"bold\" size=\"large\" foreground=\"purple\">Amazing! Simply Amazing!</span>");
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
579 else if (ee == 1)
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
580 gtk_label_set_markup(GTK_LABEL(label),
3767
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
581 "<span weight=\"bold\" size=\"large\" foreground=\"#1f6bad\">Pimpin\' Penguin Style! *Waddle Waddle*</span>");
338
21c93bc7ae83 [gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 337
diff changeset
582 else if (ee == 2)
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
583 gtk_label_set_markup(GTK_LABEL(label),
3767
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
584 "<span weight=\"bold\" size=\"large\" foreground=\"blue\">You should be me. I'm so cute!</span>");
2472
4b92e15bf3eb [gaim-migrate @ 2485]
Rob Flynn <gaim@robflynn.com>
parents: 2411
diff changeset
585 else if (ee == 3)
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
586 gtk_label_set_markup(GTK_LABEL(label),
3767
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
587 "<span weight=\"bold\" size=\"large\" foreground=\"orange\">Now that's what I like!</span>");
2993
0340d0a8b810 [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2986
diff changeset
588 else if (ee == 4)
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
589 gtk_label_set_markup(GTK_LABEL(label),
3767
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
590 "<span weight=\"bold\" size=\"large\" foreground=\"brown\">Ahh, and excellent choice!</span>");
3043
2d7d8180c932 [gaim-migrate @ 3056]
Rob Flynn <gaim@robflynn.com>
parents: 3041
diff changeset
591 else if (ee == 5)
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
592 gtk_label_set_markup(GTK_LABEL(label),
3767
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
593 "<span weight=\"bold\" size=\"large\" foreground=\"#009900\">Everytime you click my name, an angel gets its wings.</span>");
3152
20ac3a2fa6ee [gaim-migrate @ 3168]
Rob Flynn <gaim@robflynn.com>
parents: 3136
diff changeset
594 else if (ee == 6)
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
595 gtk_label_set_markup(GTK_LABEL(label),
3767
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
596 "<span weight=\"bold\" size=\"large\" foreground=\"red\">This sunflower seed taste like pizza.</span>");
3508
88429d64abfb [gaim-migrate @ 3574]
Rob Flynn <gaim@robflynn.com>
parents: 3490
diff changeset
597 else if (ee == 7)
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
598 gtk_label_set_markup(GTK_LABEL(label),
3767
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
599 "<span weight=\"bold\" size=\"large\" foreground=\"#6364B1\">Hey! I was in that tumbleweed!</span>");
3508
88429d64abfb [gaim-migrate @ 3574]
Rob Flynn <gaim@robflynn.com>
parents: 3490
diff changeset
600 else
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
601 gtk_label_set_markup(GTK_LABEL(label),
3767
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
602 "<span weight=\"bold\" size=\"large\" foreground=\"gray\">I'm not anything.</span>");
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
603
7678
e71492542f69 [gaim-migrate @ 8322]
Sean Egan <seanegan@pidgin.im>
parents: 7538
diff changeset
604 window = gtk_dialog_new_with_buttons(GAIM_ALERT_TITLE, GTK_WINDOW(gtkblist->window), 0, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL);
3767
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
605 gtk_dialog_set_default_response (GTK_DIALOG(window), GTK_RESPONSE_OK);
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
606 g_signal_connect(G_OBJECT(window), "response", G_CALLBACK(gtk_widget_destroy), NULL);
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
607
3767
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
608 gtk_container_set_border_width (GTK_CONTAINER(window), 6);
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
609 gtk_window_set_resizable(GTK_WINDOW(window), FALSE);
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
610 gtk_dialog_set_has_separator(GTK_DIALOG(window), FALSE);
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
611 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(window)->vbox), 12);
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
612 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(window)->vbox), 6);
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
613
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
614 hbox = gtk_hbox_new(FALSE, 12);
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
615 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(window)->vbox), hbox);
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
616 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
617
3767
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
618 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
619 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
620 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
621
3767
3454f74eb9d1 [gaim-migrate @ 3906]
Sean Egan <seanegan@pidgin.im>
parents: 3757
diff changeset
622 gtk_widget_show_all(window);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
623 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
624
6371
e92b66ee5518 [gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents: 6352
diff changeset
625 static void
e92b66ee5518 [gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents: 6352
diff changeset
626 show_info_select_account(GObject *w, GaimAccount *account,
e92b66ee5518 [gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents: 6352
diff changeset
627 struct getuserinfo *info)
3816
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
628 {
5880
f5335e81bb6c [gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
629 info->gc = gaim_account_get_connection(account);
3816
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
630 }
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
631
4614
3471274767ae [gaim-migrate @ 4903]
Nathan Walp <nwalp@pidgin.im>
parents: 4613
diff changeset
632 static void dialog_set_ok_sensitive(GtkWidget *entry, GtkWidget *dlg) {
4613
837d01179f6d [gaim-migrate @ 4902]
Nathan Walp <nwalp@pidgin.im>
parents: 4609
diff changeset
633 const char *txt = gtk_entry_get_text(GTK_ENTRY(entry));
4614
3471274767ae [gaim-migrate @ 4903]
Nathan Walp <nwalp@pidgin.im>
parents: 4613
diff changeset
634 gtk_dialog_set_response_sensitive(GTK_DIALOG(dlg), GTK_RESPONSE_OK,
4613
837d01179f6d [gaim-migrate @ 4902]
Nathan Walp <nwalp@pidgin.im>
parents: 4609
diff changeset
635 (*txt != '\0'));
837d01179f6d [gaim-migrate @ 4902]
Nathan Walp <nwalp@pidgin.im>
parents: 4609
diff changeset
636 }
837d01179f6d [gaim-migrate @ 4902]
Nathan Walp <nwalp@pidgin.im>
parents: 4609
diff changeset
637
935
d772a17fe057 [gaim-migrate @ 945]
Ben Miller <millebe@cs.earlham.edu>
parents: 934
diff changeset
638 void show_im_dialog()
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
639 {
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
640 GtkWidget *hbox, *vbox;
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
641 GtkWidget *label;
5880
f5335e81bb6c [gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
642 GtkWidget *table;
7098
22eabd4f5ed4 [gaim-migrate @ 7663]
Christian Hammond <chipx86@chipx86.com>
parents: 7085
diff changeset
643 GaimGtkBuddyList *gtkblist;
5024
3b5412e4b483 [gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents: 4978
diff changeset
644 GtkWidget *img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG);
3816
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
645 struct getuserinfo *info = NULL;
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
646
4695
82df59fb9931 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
647 gtkblist = GAIM_GTK_BLIST(gaim_get_blist());
82df59fb9931 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
648
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
649 if (!imdialog) {
3816
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
650 info = g_new0(struct getuserinfo, 1);
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
651 info->gc = gaim_connections_get_all()->data;
5092
b3858e2cfcbc [gaim-migrate @ 5454]
Luke Schierer <lschiere@pidgin.im>
parents: 5057
diff changeset
652 imdialog = gtk_dialog_new_with_buttons(_("New Message"), gtkblist ? GTK_WINDOW(gtkblist->window) : NULL, 0,
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
653 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
654 gtk_dialog_set_default_response (GTK_DIALOG(imdialog), GTK_RESPONSE_OK);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
655 gtk_container_set_border_width (GTK_CONTAINER(imdialog), 6);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
656 gtk_window_set_resizable(GTK_WINDOW(imdialog), FALSE);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
657 gtk_dialog_set_has_separator(GTK_DIALOG(imdialog), FALSE);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
658 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(imdialog)->vbox), 12);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
659 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(imdialog)->vbox), 6);
4613
837d01179f6d [gaim-migrate @ 4902]
Nathan Walp <nwalp@pidgin.im>
parents: 4609
diff changeset
660 gtk_dialog_set_response_sensitive(GTK_DIALOG(imdialog), GTK_RESPONSE_OK, FALSE);
837d01179f6d [gaim-migrate @ 4902]
Nathan Walp <nwalp@pidgin.im>
parents: 4609
diff changeset
661
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
662 hbox = gtk_hbox_new(FALSE, 12);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
663 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(imdialog)->vbox), hbox);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
664 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
665 gtk_misc_set_alignment(GTK_MISC(img), 0, 0);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
666
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
667 vbox = gtk_vbox_new(FALSE, 0);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
668 gtk_container_add(GTK_CONTAINER(hbox), vbox);
4613
837d01179f6d [gaim-migrate @ 4902]
Nathan Walp <nwalp@pidgin.im>
parents: 4609
diff changeset
669
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
670 label = gtk_label_new(_("Please enter the screenname of the person you would like to IM.\n"));
3825
70153e3affef [gaim-migrate @ 3974]
Rob Flynn <gaim@robflynn.com>
parents: 3824
diff changeset
671 gtk_widget_set_size_request(GTK_WIDGET(label), 350, -1);
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
672 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
673 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
674 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
4613
837d01179f6d [gaim-migrate @ 4902]
Nathan Walp <nwalp@pidgin.im>
parents: 4609
diff changeset
675
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
676 hbox = gtk_hbox_new(FALSE, 6);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
677 gtk_container_add(GTK_CONTAINER(vbox), hbox);
4613
837d01179f6d [gaim-migrate @ 4902]
Nathan Walp <nwalp@pidgin.im>
parents: 4609
diff changeset
678
3816
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
679 table = gtk_table_new(2, 2, FALSE);
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
680 gtk_table_set_row_spacings(GTK_TABLE(table), 6);
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
681 gtk_table_set_col_spacings(GTK_TABLE(table), 6);
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
682 gtk_container_set_border_width(GTK_CONTAINER(table), 12);
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
683 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0);
4613
837d01179f6d [gaim-migrate @ 4902]
Nathan Walp <nwalp@pidgin.im>
parents: 4609
diff changeset
684
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
685 label = gtk_label_new(NULL);
3816
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
686 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Screenname:"));
3823
6308074e9a2c [gaim-migrate @ 3972]
Rob Flynn <gaim@robflynn.com>
parents: 3822
diff changeset
687 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
3816
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
688 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1);
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
689
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
690 info->entry = gtk_entry_new();
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
691 gtk_table_attach_defaults(GTK_TABLE(table), info->entry, 1, 2, 0, 1);
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
692 gtk_entry_set_activates_default (GTK_ENTRY(info->entry), TRUE);
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
693 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->entry));
4613
837d01179f6d [gaim-migrate @ 4902]
Nathan Walp <nwalp@pidgin.im>
parents: 4609
diff changeset
694 g_signal_connect(G_OBJECT(info->entry), "changed",
4614
3471274767ae [gaim-migrate @ 4903]
Nathan Walp <nwalp@pidgin.im>
parents: 4613
diff changeset
695 G_CALLBACK(dialog_set_ok_sensitive), imdialog);
3816
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
696
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
697 if (gaim_connections_get_all()->next) {
3816
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
698
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
699 label = gtk_label_new(NULL);
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
700 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2);
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
701 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Account:"));
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
702 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
4613
837d01179f6d [gaim-migrate @ 4902]
Nathan Walp <nwalp@pidgin.im>
parents: 4609
diff changeset
703
5880
f5335e81bb6c [gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
704 info->account = gaim_gtk_account_option_menu_new(NULL, FALSE,
6646
b9a0b5eb74e6 [gaim-migrate @ 7171]
Christian Hammond <chipx86@chipx86.com>
parents: 6640
diff changeset
705 G_CALLBACK(show_info_select_account), NULL, info);
5880
f5335e81bb6c [gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
706
3816
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
707 gtk_table_attach_defaults(GTK_TABLE(table), info->account, 1, 2, 1, 2);
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
708 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->account));
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
709 }
4613
837d01179f6d [gaim-migrate @ 4902]
Nathan Walp <nwalp@pidgin.im>
parents: 4609
diff changeset
710
3816
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
711 g_signal_connect(G_OBJECT(imdialog), "response", G_CALLBACK(do_im), info);
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
712 }
4613
837d01179f6d [gaim-migrate @ 4902]
Nathan Walp <nwalp@pidgin.im>
parents: 4609
diff changeset
713
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
714 gtk_widget_show_all(imdialog);
3816
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
715 if (info)
76851a4f56b9 [gaim-migrate @ 3963]
click81
parents: 3811
diff changeset
716 gtk_widget_grab_focus(GTK_WIDGET(info->entry));
3197
61d82900f833 [gaim-migrate @ 3214]
click81
parents: 3159
diff changeset
717 }
61d82900f833 [gaim-migrate @ 3214]
click81
parents: 3159
diff changeset
718
935
d772a17fe057 [gaim-migrate @ 945]
Ben Miller <millebe@cs.earlham.edu>
parents: 934
diff changeset
719 void show_info_dialog()
d772a17fe057 [gaim-migrate @ 945]
Ben Miller <millebe@cs.earlham.edu>
parents: 934
diff changeset
720 {
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
721 GtkWidget *window, *hbox, *vbox;
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
722 GtkWidget *label;
5024
3b5412e4b483 [gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents: 4978
diff changeset
723 GtkWidget *img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG);
5880
f5335e81bb6c [gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
724 GtkWidget *table;
3197
61d82900f833 [gaim-migrate @ 3214]
click81
parents: 3159
diff changeset
725 struct getuserinfo *info = g_new0(struct getuserinfo, 1);
7098
22eabd4f5ed4 [gaim-migrate @ 7663]
Christian Hammond <chipx86@chipx86.com>
parents: 7085
diff changeset
726 GaimGtkBuddyList *gtkblist;
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
727
4695
82df59fb9931 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
728 gtkblist = GAIM_GTK_BLIST(gaim_get_blist());
82df59fb9931 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
729
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
730 info->gc = gaim_connections_get_all()->data;
3197
61d82900f833 [gaim-migrate @ 3214]
click81
parents: 3159
diff changeset
731
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
732 window = gtk_dialog_new_with_buttons(_("Get User Info"), gtkblist->window ? GTK_WINDOW(gtkblist->window) : NULL, 0,
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
733 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
734 gtk_dialog_set_default_response (GTK_DIALOG(window), GTK_RESPONSE_OK);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
735 gtk_container_set_border_width (GTK_CONTAINER(window), 6);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
736 gtk_window_set_resizable(GTK_WINDOW(window), FALSE);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
737 gtk_dialog_set_has_separator(GTK_DIALOG(window), FALSE);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
738 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(window)->vbox), 12);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
739 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(window)->vbox), 6);
4614
3471274767ae [gaim-migrate @ 4903]
Nathan Walp <nwalp@pidgin.im>
parents: 4613
diff changeset
740
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
741 hbox = gtk_hbox_new(FALSE, 12);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
742 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(window)->vbox), hbox);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
743 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
744 gtk_misc_set_alignment(GTK_MISC(img), 0, 0);
4614
3471274767ae [gaim-migrate @ 4903]
Nathan Walp <nwalp@pidgin.im>
parents: 4613
diff changeset
745 gtk_dialog_set_response_sensitive(GTK_DIALOG(window), GTK_RESPONSE_OK,
3471274767ae [gaim-migrate @ 4903]
Nathan Walp <nwalp@pidgin.im>
parents: 4613
diff changeset
746 FALSE);
3471274767ae [gaim-migrate @ 4903]
Nathan Walp <nwalp@pidgin.im>
parents: 4613
diff changeset
747
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
748 vbox = gtk_vbox_new(FALSE, 0);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
749 gtk_container_add(GTK_CONTAINER(hbox), vbox);
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
750
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
751 label = gtk_label_new(_("Please enter the screenname of the person whose info you would like to view.\n"));
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
752 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
753 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
754 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
755
3197
61d82900f833 [gaim-migrate @ 3214]
click81
parents: 3159
diff changeset
756 table = gtk_table_new(2, 2, FALSE);
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
757 gtk_table_set_row_spacings(GTK_TABLE(table), 6);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
758 gtk_table_set_col_spacings(GTK_TABLE(table), 6);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
759 gtk_container_set_border_width(GTK_CONTAINER(table), 12);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
760 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0);
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
761
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
762 label = gtk_label_new(NULL);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
763 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Screenname:"));
3822
d21d89354413 [gaim-migrate @ 3971]
Rob Flynn <gaim@robflynn.com>
parents: 3819
diff changeset
764 gtk_misc_set_alignment(GTK_MISC(img), 0, 0);
3197
61d82900f833 [gaim-migrate @ 3214]
click81
parents: 3159
diff changeset
765 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1);
61d82900f833 [gaim-migrate @ 3214]
click81
parents: 3159
diff changeset
766
61d82900f833 [gaim-migrate @ 3214]
click81
parents: 3159
diff changeset
767 info->entry = gtk_entry_new();
61d82900f833 [gaim-migrate @ 3214]
click81
parents: 3159
diff changeset
768 gtk_table_attach_defaults(GTK_TABLE(table), info->entry, 1, 2, 0, 1);
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
769 gtk_entry_set_activates_default (GTK_ENTRY(info->entry), TRUE);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
770 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->entry));
4614
3471274767ae [gaim-migrate @ 4903]
Nathan Walp <nwalp@pidgin.im>
parents: 4613
diff changeset
771
3471274767ae [gaim-migrate @ 4903]
Nathan Walp <nwalp@pidgin.im>
parents: 4613
diff changeset
772 g_signal_connect(G_OBJECT(info->entry), "changed",
3471274767ae [gaim-migrate @ 4903]
Nathan Walp <nwalp@pidgin.im>
parents: 4613
diff changeset
773 G_CALLBACK(dialog_set_ok_sensitive), window);
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
774
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
775 if (gaim_connections_get_all()->next) {
3197
61d82900f833 [gaim-migrate @ 3214]
click81
parents: 3159
diff changeset
776
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
777 label = gtk_label_new(NULL);
3197
61d82900f833 [gaim-migrate @ 3214]
click81
parents: 3159
diff changeset
778 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2);
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
779 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Account:"));
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
780 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
1225
352bd45b90cf [gaim-migrate @ 1235]
Rob Flynn <gaim@robflynn.com>
parents: 1224
diff changeset
781
5880
f5335e81bb6c [gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
782 info->account = gaim_gtk_account_option_menu_new(NULL, FALSE,
6646
b9a0b5eb74e6 [gaim-migrate @ 7171]
Christian Hammond <chipx86@chipx86.com>
parents: 6640
diff changeset
783 G_CALLBACK(show_info_select_account), NULL, info);
5880
f5335e81bb6c [gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
784
3197
61d82900f833 [gaim-migrate @ 3214]
click81
parents: 3159
diff changeset
785 gtk_table_attach_defaults(GTK_TABLE(table), info->account, 1, 2, 1, 2);
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
786 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->account));
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
787 }
3197
61d82900f833 [gaim-migrate @ 3214]
click81
parents: 3159
diff changeset
788
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
789 g_signal_connect(G_OBJECT(window), "response", G_CALLBACK(do_info), info);
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
790
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
791
3802
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
792 gtk_widget_show_all(window);
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
793 if (info->entry)
27af7e21b143 [gaim-migrate @ 3945]
Sean Egan <seanegan@pidgin.im>
parents: 3795
diff changeset
794 gtk_widget_grab_focus(GTK_WIDGET(info->entry));
935
d772a17fe057 [gaim-migrate @ 945]
Ben Miller <millebe@cs.earlham.edu>
parents: 934
diff changeset
795 }
d772a17fe057 [gaim-migrate @ 945]
Ben Miller <millebe@cs.earlham.edu>
parents: 934
diff changeset
796
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
797
6330
cbb78f7eb436 [gaim-migrate @ 6829]
Christian Hammond <chipx86@chipx86.com>
parents: 6329
diff changeset
798 static void
7060
717cbeb22b6d [gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents: 7057
diff changeset
799 free_dialog(GtkWidget *w, void *data)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
800 {
7060
717cbeb22b6d [gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents: 7057
diff changeset
801 g_free(data);
5234
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
802 }
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
803
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
804 /*------------------------------------------------------------------------*/
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
805 /* The dialog for SET INFO / SET DIR INFO */
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
806 /*------------------------------------------------------------------------*/
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
807
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
808 void do_save_info(GtkWidget *widget, struct set_info_dlg *b)
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
809 {
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
810 gchar *junk;
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
811 GaimConnection *gc;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
812
4119
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
813 junk = gtk_text_view_get_text(GTK_TEXT_VIEW(b->text), FALSE);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
814
4491
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4476
diff changeset
815 if (b->account) {
6019
5be866245659 [gaim-migrate @ 6469]
Decklin Foster <decklin@red-bean.com>
parents: 5975
diff changeset
816 gaim_account_set_user_info(b->account, junk);
4491
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4476
diff changeset
817 gc = b->account->gc;
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
818
1292
82820e0a3748 [gaim-migrate @ 1302]
Decklin Foster <decklin@red-bean.com>
parents: 1288
diff changeset
819 if (gc)
5954
58e43cf2dc1f [gaim-migrate @ 6398]
Mark Doliner <markdoliner@pidgin.im>
parents: 5943
diff changeset
820 serv_set_info(gc, gaim_account_get_user_info(b->account));
122
c59d41332d82 [gaim-migrate @ 132]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 84
diff changeset
821 }
25
c4646d5b2541 [gaim-migrate @ 34]
Pete
parents: 24
diff changeset
822 g_free(junk);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
823 destroy_dialog(NULL, b->window);
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
824 g_free(b);
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
825 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
826
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
827 void show_set_info(GaimConnection *gc)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
828 {
1185
4e850e2011e4 [gaim-migrate @ 1195]
Decklin Foster <decklin@red-bean.com>
parents: 1174
diff changeset
829 GtkWidget *buttons;
1499
0c3286729687 [gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1488
diff changeset
830 GtkWidget *label;
1185
4e850e2011e4 [gaim-migrate @ 1195]
Decklin Foster <decklin@red-bean.com>
parents: 1174
diff changeset
831 GtkWidget *vbox;
4119
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
832 GtkTextBuffer *buffer;
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
833 GtkWidget *frame;
1292
82820e0a3748 [gaim-migrate @ 1302]
Decklin Foster <decklin@red-bean.com>
parents: 1288
diff changeset
834 gchar *buf;
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
835 GaimAccount *account;
5924
2fc5a210c085 [gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents: 5906
diff changeset
836 const char *user_info;
1292
82820e0a3748 [gaim-migrate @ 1302]
Decklin Foster <decklin@red-bean.com>
parents: 1288
diff changeset
837
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
838 struct set_info_dlg *b = g_new0(struct set_info_dlg, 1);
4491
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4476
diff changeset
839 account = gc->account;
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4476
diff changeset
840 b->account = account;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
841
2725
a844d0964552 [gaim-migrate @ 2738]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2681
diff changeset
842 GAIM_DIALOG(b->window);
4074
c69100a0ede9 [gaim-migrate @ 4289]
Robert McQueen <robot101@debian.org>
parents: 4061
diff changeset
843 gtk_window_set_role(GTK_WINDOW(b->window), "set_info");
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
844 dialogwindows = g_list_prepend(dialogwindows, b->window);
4703
ebf288064099 [gaim-migrate @ 5014]
Sean Egan <seanegan@pidgin.im>
parents: 4695
diff changeset
845 gtk_window_set_title(GTK_WINDOW(b->window), _("Set User Info"));
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
846 g_signal_connect(G_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window);
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 940
diff changeset
847 gtk_widget_realize(b->window);
1499
0c3286729687 [gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1488
diff changeset
848
1185
4e850e2011e4 [gaim-migrate @ 1195]
Decklin Foster <decklin@red-bean.com>
parents: 1174
diff changeset
849 vbox = gtk_vbox_new(FALSE, 5);
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
850 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5);
1499
0c3286729687 [gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1488
diff changeset
851 gtk_container_add(GTK_CONTAINER(b->window), vbox);
0c3286729687 [gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1488
diff changeset
852
0c3286729687 [gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1488
diff changeset
853 buf = g_malloc(256);
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
854 g_snprintf(buf, 256, _("Changing info for %s:"),
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
855 gaim_account_get_username(account));
1499
0c3286729687 [gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1488
diff changeset
856 label = gtk_label_new(buf);
0c3286729687 [gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1488
diff changeset
857 g_free(buf);
0c3286729687 [gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1488
diff changeset
858 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5);
4491
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4476
diff changeset
859
4119
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
860 frame = gtk_frame_new(NULL);
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
861 gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN);
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
862 gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0);
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
863
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
864 b->text = gtk_text_view_new();
5105
3565a4c4de6a [gaim-migrate @ 5468]
David J. Brigada <brigada@prism.net>
parents: 5092
diff changeset
865 gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(b->text), GTK_WRAP_WORD_CHAR);
7538
b20dbe9222e2 [gaim-migrate @ 8151]
Christian Hammond <chipx86@chipx86.com>
parents: 7431
diff changeset
866
7060
717cbeb22b6d [gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents: 7057
diff changeset
867 if (gaim_prefs_get_bool("/gaim/gtk/conversations/spellcheck"))
7538
b20dbe9222e2 [gaim-migrate @ 8151]
Christian Hammond <chipx86@chipx86.com>
parents: 7431
diff changeset
868 gaim_gtk_setup_gtkspell(GTK_TEXT_VIEW(b->text));
b20dbe9222e2 [gaim-migrate @ 8151]
Christian Hammond <chipx86@chipx86.com>
parents: 7431
diff changeset
869
4119
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
870 gtk_widget_set_size_request(b->text, 300, 200);
5924
2fc5a210c085 [gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents: 5906
diff changeset
871
2fc5a210c085 [gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents: 5906
diff changeset
872 if ((user_info = gaim_account_get_user_info(account)) != NULL) {
2fc5a210c085 [gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents: 5906
diff changeset
873 buf = g_malloc(strlen(user_info) + 1);
7108
82655fa54acb [gaim-migrate @ 7673]
Christian Hammond <chipx86@chipx86.com>
parents: 7107
diff changeset
874 gaim_strncpy_nohtml(buf, user_info, strlen(user_info) + 1);
5924
2fc5a210c085 [gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents: 5906
diff changeset
875 buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(b->text));
2fc5a210c085 [gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents: 5906
diff changeset
876 gtk_text_buffer_set_text(buffer, buf, -1);
2fc5a210c085 [gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents: 5906
diff changeset
877 g_free(buf);
2fc5a210c085 [gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents: 5906
diff changeset
878 }
2fc5a210c085 [gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents: 5906
diff changeset
879
4119
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
880 gtk_container_add(GTK_CONTAINER(frame), b->text);
1499
0c3286729687 [gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1488
diff changeset
881 gtk_window_set_focus(GTK_WINDOW(b->window), b->text);
0c3286729687 [gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1488
diff changeset
882
0c3286729687 [gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1488
diff changeset
883 buttons = gtk_hbox_new(FALSE, 5);
1185
4e850e2011e4 [gaim-migrate @ 1195]
Decklin Foster <decklin@red-bean.com>
parents: 1174
diff changeset
884 gtk_box_pack_start(GTK_BOX(vbox), buttons, FALSE, FALSE, 0);
5024
3b5412e4b483 [gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents: 4978
diff changeset
885
3b5412e4b483 [gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents: 4978
diff changeset
886 b->save = gaim_pixbuf_button_from_stock(_("Save"), GTK_STOCK_SAVE, GAIM_BUTTON_HORIZONTAL);
4092
8788dcce1d81 [gaim-migrate @ 4307]
Etan Reisner <deryni@pidgin.im>
parents: 4074
diff changeset
887 gtk_box_pack_end(GTK_BOX(buttons), b->save, FALSE, FALSE, 0);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
888 g_signal_connect(G_OBJECT(b->save), "clicked", G_CALLBACK(do_save_info), b);
4092
8788dcce1d81 [gaim-migrate @ 4307]
Etan Reisner <deryni@pidgin.im>
parents: 4074
diff changeset
889
5024
3b5412e4b483 [gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents: 4978
diff changeset
890 b->cancel = gaim_pixbuf_button_from_stock(_("Cancel"), GTK_STOCK_CANCEL, GAIM_BUTTON_HORIZONTAL);
1499
0c3286729687 [gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1488
diff changeset
891 gtk_box_pack_end(GTK_BOX(buttons), b->cancel, FALSE, FALSE, 0);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
892 g_signal_connect(G_OBJECT(b->cancel), "clicked", G_CALLBACK(destroy_dialog), b->window);
1499
0c3286729687 [gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1488
diff changeset
893
5024
3b5412e4b483 [gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents: 4978
diff changeset
894 gtk_widget_show_all(b->window);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
895 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
896
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
897
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
898 /*------------------------------------------------------*/
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
899 /* Link Dialog */
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
900 /*------------------------------------------------------*/
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
901
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
902 void cancel_link(GtkWidget *widget, GaimConversation *c)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
903 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
904 GaimGtkConversation *gtkconv;
7055
5a323955a9e3 [gaim-migrate @ 7618]
Mark Doliner <markdoliner@pidgin.im>
parents: 7049
diff changeset
905 GtkWidget *link_dialog;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
906
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
907 gtkconv = GAIM_GTK_CONVERSATION(c);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
908
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
909 if (gtkconv->toolbar.link) {
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
910 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.link),
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
911 FALSE);
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
912 }
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
913
7055
5a323955a9e3 [gaim-migrate @ 7618]
Mark Doliner <markdoliner@pidgin.im>
parents: 7049
diff changeset
914 link_dialog = gtkconv->dialogs.link;
4685
2c4bde862f6b [gaim-migrate @ 4996]
Nathan Walp <nwalp@pidgin.im>
parents: 4667
diff changeset
915 gtkconv->dialogs.link = NULL;
7055
5a323955a9e3 [gaim-migrate @ 7618]
Mark Doliner <markdoliner@pidgin.im>
parents: 7049
diff changeset
916 destroy_dialog(NULL, link_dialog);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
917 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
918
4262
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
919 void do_insert_link(GtkWidget *w, int resp, struct linkdlg *b)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
920 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
921 GaimGtkConversation *gtkconv;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
922 char *open_tag;
3466
db8d35ad8480 [gaim-migrate @ 3516]
Sean Egan <seanegan@pidgin.im>
parents: 3427
diff changeset
923 const char *urltext, *showtext;
4262
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
924
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
925 gtkconv = GAIM_GTK_CONVERSATION(b->c);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
926
4262
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
927 if (resp == GTK_RESPONSE_OK) {
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
928
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
929 open_tag = g_malloc(2048);
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
930
4262
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
931 urltext = gtk_entry_get_text(GTK_ENTRY(b->url));
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
932 showtext = gtk_entry_get_text(GTK_ENTRY(b->text));
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
933
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
934 if (!strlen(showtext))
4262
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
935 showtext = urltext;
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
936
7707
571801b698e4 [gaim-migrate @ 8352]
Sean Egan <seanegan@pidgin.im>
parents: 7678
diff changeset
937 gtk_imhtml_insert_link(GTK_IMHTML(gtkconv->entry), urltext, showtext);
4262
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
938
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
939 g_free(open_tag);
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
940 }
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
941
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
942 if (gtkconv->toolbar.link) {
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
943 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.link),
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
944 FALSE);
4262
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
945 }
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
946
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
947 gtkconv->dialogs.link = NULL;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
948 destroy_dialog(NULL, b->window);
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
949 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
950
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
951 void show_insert_link(GtkWidget *linky, GaimConversation *c)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
952 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
953 GaimGtkConversation *gtkconv;
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
954 GaimGtkWindow *gtkwin;
4262
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
955 GtkWidget *table;
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
956 GtkWidget *label;
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
957 GtkWidget *hbox;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
958 GtkWidget *vbox;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
959
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
960 gtkconv = GAIM_GTK_CONVERSATION(c);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
961 gtkwin = GAIM_GTK_WINDOW(gaim_conversation_get_window(c));
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
962
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
963 if (gtkconv->dialogs.link == NULL) {
4262
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
964 struct linkdlg *a = g_new0(struct linkdlg, 1);
5024
3b5412e4b483 [gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents: 4978
diff changeset
965 GtkWidget *img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG);
4262
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
966
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
967 a->c = c;
4703
ebf288064099 [gaim-migrate @ 5014]
Sean Egan <seanegan@pidgin.im>
parents: 4695
diff changeset
968 a->window = gtk_dialog_new_with_buttons(_("Insert Link"),
5092
b3858e2cfcbc [gaim-migrate @ 5454]
Luke Schierer <lschiere@pidgin.im>
parents: 5057
diff changeset
969 GTK_WINDOW(gtkwin->window), 0, GTK_STOCK_CANCEL,
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
970 GTK_RESPONSE_CANCEL, _("Insert"), GTK_RESPONSE_OK, NULL);
7055
5a323955a9e3 [gaim-migrate @ 7618]
Mark Doliner <markdoliner@pidgin.im>
parents: 7049
diff changeset
971 gtk_dialog_set_default_response(GTK_DIALOG(a->window), GTK_RESPONSE_OK);
5a323955a9e3 [gaim-migrate @ 7618]
Mark Doliner <markdoliner@pidgin.im>
parents: 7049
diff changeset
972 g_signal_connect(G_OBJECT(a->window), "response",
5a323955a9e3 [gaim-migrate @ 7618]
Mark Doliner <markdoliner@pidgin.im>
parents: 7049
diff changeset
973 G_CALLBACK(do_insert_link), a);
4262
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
974
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
975 gtk_dialog_set_default_response(GTK_DIALOG(a->window), GTK_RESPONSE_OK);
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
976 gtk_container_set_border_width(GTK_CONTAINER(a->window), 6);
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
977 gtk_window_set_resizable(GTK_WINDOW(a->window), FALSE);
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
978 gtk_dialog_set_has_separator(GTK_DIALOG(a->window), FALSE);
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
979 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(a->window)->vbox), 12);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
980 gtk_container_set_border_width(
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
981 GTK_CONTAINER(GTK_DIALOG(a->window)->vbox), 6);
4262
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
982 gtk_window_set_role(GTK_WINDOW(a->window), "insert_link");
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
983
4262
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
984 hbox = gtk_hbox_new(FALSE, 12);
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
985 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(a->window)->vbox), hbox);
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
986 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
987 gtk_misc_set_alignment(GTK_MISC(img), 0, 0);
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
988
4262
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
989 vbox = gtk_vbox_new(FALSE, 0);
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
990 gtk_container_add(GTK_CONTAINER(hbox), vbox);
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
991
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
992 label = gtk_label_new(_("Please enter the URL and description of "
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
993 "the link that you want to insert. The "
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
994 "description is optional.\n"));
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
995
4262
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
996 gtk_widget_set_size_request(GTK_WIDGET(label), 335, -1);
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
997 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
998 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
999 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
1000
4262
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
1001 hbox = gtk_hbox_new(FALSE, 6);
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
1002 gtk_container_add(GTK_CONTAINER(vbox), hbox);
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
1003
4262
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
1004 table = gtk_table_new(4, 2, FALSE);
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
1005 gtk_table_set_row_spacings(GTK_TABLE(table), 5);
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
1006 gtk_table_set_col_spacings(GTK_TABLE(table), 5);
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
1007 gtk_container_set_border_width(GTK_CONTAINER(table), 0);
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
1008 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0);
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
1009
350
b02a56431923 [gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 349
diff changeset
1010 label = gtk_label_new(_("URL"));
4262
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
1011 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
1012 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1);
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
1013
4262
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
1014 a->url = gtk_entry_new();
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
1015 gtk_table_attach_defaults(GTK_TABLE(table), a->url, 1, 2, 0, 1);
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
1016 gtk_widget_grab_focus(a->url);
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
1017
4262
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
1018 gtk_entry_set_activates_default (GTK_ENTRY(a->url), TRUE);
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
1019
350
b02a56431923 [gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 349
diff changeset
1020 label = gtk_label_new(_("Description"));
4262
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
1021 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
1022 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2);
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
1023
4262
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
1024 a->text = gtk_entry_new();
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
1025 gtk_table_attach_defaults(GTK_TABLE(table), a->text, 1, 2, 1, 2);
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
1026 gtk_entry_set_activates_default (GTK_ENTRY(a->text), TRUE);
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
1027
7055
5a323955a9e3 [gaim-migrate @ 7618]
Mark Doliner <markdoliner@pidgin.im>
parents: 7049
diff changeset
1028 g_signal_connect(G_OBJECT(a->window), "destroy",
5a323955a9e3 [gaim-migrate @ 7618]
Mark Doliner <markdoliner@pidgin.im>
parents: 7049
diff changeset
1029 G_CALLBACK(free_dialog), a);
5a323955a9e3 [gaim-migrate @ 7618]
Mark Doliner <markdoliner@pidgin.im>
parents: 7049
diff changeset
1030 dialogwindows = g_list_prepend(dialogwindows, a->window);
4262
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
1031
ff667da557fd [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
1032 a->toggle = linky;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1033 gtkconv->dialogs.link = a->window;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1034 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1035
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1036 gtk_widget_show_all(gtkconv->dialogs.link);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1037 gdk_window_raise(gtkconv->dialogs.link->window);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1038 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1039
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1040 /*------------------------------------------------------*/
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1041 /* Color Selection Dialog */
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1042 /*------------------------------------------------------*/
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1043
3367
cb32334700d2 [gaim-migrate @ 3386]
Sean Egan <seanegan@pidgin.im>
parents: 3348
diff changeset
1044 GtkWidget *fgcseld = NULL;
cb32334700d2 [gaim-migrate @ 3386]
Sean Egan <seanegan@pidgin.im>
parents: 3348
diff changeset
1045 GtkWidget *bgcseld = NULL;
657
2407d672e506 [gaim-migrate @ 667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 654
diff changeset
1046
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1047 void cancel_fgcolor(GtkWidget *widget, GaimConversation *c)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1048 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1049 GaimGtkConversation *gtkconv;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1050
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1051 gtkconv = GAIM_GTK_CONVERSATION(c);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1052
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1053 if (gtkconv->toolbar.fgcolor && widget) {
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1054 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.fgcolor),
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1055 FALSE);
61
a32e13f2e888 [gaim-migrate @ 71]
Rob Flynn <gaim@robflynn.com>
parents: 38
diff changeset
1056 }
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1057
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1058 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.fg_color);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1059 gtk_widget_destroy(gtkconv->dialogs.fg_color);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1060 gtkconv->dialogs.fg_color = NULL;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1061 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1062
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1063 void cancel_bgcolor(GtkWidget *widget, GaimConversation *c)
858
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1064 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1065 GaimGtkConversation *gtkconv;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1066
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1067 gtkconv = GAIM_GTK_CONVERSATION(c);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1068
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1069 if (gtkconv->toolbar.bgcolor && widget) {
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1070 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.bgcolor),
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1071 FALSE);
858
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1072 }
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1073
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1074 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.bg_color);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1075 gtk_widget_destroy(gtkconv->dialogs.bg_color);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1076 gtkconv->dialogs.bg_color = NULL;
858
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1077 }
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1078
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1079 void do_fgcolor(GtkWidget *widget, GtkColorSelection *colorsel)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1080 {
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1081 GdkColor text_color;
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1082 GaimConversation *c;
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1083 GaimGtkConversation *gtkconv;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1084 char *open_tag;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1085
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1086 open_tag = g_malloc(30);
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1087
3557
34e08d509940 [gaim-migrate @ 3649]
Sean Egan <seanegan@pidgin.im>
parents: 3554
diff changeset
1088 gtk_color_selection_get_current_color(colorsel, &text_color);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1089
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1090 c = g_object_get_data(G_OBJECT(colorsel), "gaim_conversation");
411
4e2ed8c4c0f8 [gaim-migrate @ 421]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 401
diff changeset
1091 /* GTK_IS_EDITABLE(c->entry); huh? */
311
971d26b73be6 [gaim-migrate @ 321]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 308
diff changeset
1092
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1093 gtkconv = GAIM_GTK_CONVERSATION(c);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1094
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1095 gtkconv->fg_color = text_color;
7714
b66882cbab6a [gaim-migrate @ 8359]
Sean Egan <seanegan@pidgin.im>
parents: 7707
diff changeset
1096 g_snprintf(open_tag, 23, "#%02X%02X%02X",
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1097 text_color.red / 256,
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1098 text_color.green / 256,
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1099 text_color.blue / 256);
7714
b66882cbab6a [gaim-migrate @ 8359]
Sean Egan <seanegan@pidgin.im>
parents: 7707
diff changeset
1100 gtk_imhtml_toggle_forecolor(GTK_IMHTML(gtkconv->entry), open_tag);
5213
d56ea526b80c [gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
1101
311
971d26b73be6 [gaim-migrate @ 321]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 308
diff changeset
1102 g_free(open_tag);
858
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1103 cancel_fgcolor(NULL, c);
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1104 }
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1105
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1106 void do_bgcolor(GtkWidget *widget, GtkColorSelection *colorsel)
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1107 {
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1108 GdkColor text_color;
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1109 GaimConversation *c;
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1110 GaimGtkConversation *gtkconv;
858
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1111 char *open_tag;
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1112
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1113 open_tag = g_malloc(30);
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1114
3557
34e08d509940 [gaim-migrate @ 3649]
Sean Egan <seanegan@pidgin.im>
parents: 3554
diff changeset
1115 gtk_color_selection_get_current_color(colorsel, &text_color);
858
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1116
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1117 c = g_object_get_data(G_OBJECT(colorsel), "gaim_conversation");
858
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1118 /* GTK_IS_EDITABLE(c->entry); huh? */
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1119
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1120 gtkconv = GAIM_GTK_CONVERSATION(c);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1121
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1122 gtkconv->bg_color = text_color;
7714
b66882cbab6a [gaim-migrate @ 8359]
Sean Egan <seanegan@pidgin.im>
parents: 7707
diff changeset
1123 g_snprintf(open_tag, 25, "#%02X%02X%02X",
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1124 text_color.red / 256,
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1125 text_color.green / 256,
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1126 text_color.blue / 256);
7714
b66882cbab6a [gaim-migrate @ 8359]
Sean Egan <seanegan@pidgin.im>
parents: 7707
diff changeset
1127 gtk_imhtml_toggle_backcolor(GTK_IMHTML(gtkconv->entry), open_tag);
b66882cbab6a [gaim-migrate @ 8359]
Sean Egan <seanegan@pidgin.im>
parents: 7707
diff changeset
1128
858
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1129 g_free(open_tag);
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1130 cancel_bgcolor(NULL, c);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1131 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1132
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1133 void show_fgcolor_dialog(GaimConversation *c, GtkWidget *color)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1134 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1135 GaimGtkConversation *gtkconv;
311
971d26b73be6 [gaim-migrate @ 321]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 308
diff changeset
1136 GtkWidget *colorsel;
5545
a8b1a1262402 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
1137 GdkColor fgcolor;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1138
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1139 gtkconv = GAIM_GTK_CONVERSATION(c);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1140
5545
a8b1a1262402 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
1141 gdk_color_parse(gaim_prefs_get_string("/gaim/gtk/conversations/fgcolor"),
a8b1a1262402 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
1142 &fgcolor);
a8b1a1262402 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
1143
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1144 if (color == NULL) { /* we came from the prefs */
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1145 if (fgcseld)
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1146 return;
2209
db87ba068b9c [gaim-migrate @ 2219]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2143
diff changeset
1147
657
2407d672e506 [gaim-migrate @ 667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 654
diff changeset
1148 fgcseld = gtk_color_selection_dialog_new(_("Select Text Color"));
4198
f4afa1d7a842 [gaim-migrate @ 4429]
Alex Converse <alex.converse@gmail.com>
parents: 4183
diff changeset
1149 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION
f4afa1d7a842 [gaim-migrate @ 4429]
Alex Converse <alex.converse@gmail.com>
parents: 4183
diff changeset
1150 (GTK_COLOR_SELECTION_DIALOG(fgcseld)->colorsel), &fgcolor);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1151 g_signal_connect(G_OBJECT(fgcseld), "delete_event",
4162
7aca7e45e675 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1152 G_CALLBACK(destroy_colorsel), (void *)1);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1153 g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(fgcseld)->cancel_button),
4162
7aca7e45e675 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1154 "clicked", G_CALLBACK(destroy_colorsel), (void *)1);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1155 g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(fgcseld)->ok_button), "clicked",
4162
7aca7e45e675 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1156 G_CALLBACK(apply_color_dlg), (void *)1);
657
2407d672e506 [gaim-migrate @ 667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 654
diff changeset
1157 gtk_widget_realize(fgcseld);
2407d672e506 [gaim-migrate @ 667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 654
diff changeset
1158 gtk_widget_show(fgcseld);
2407d672e506 [gaim-migrate @ 667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 654
diff changeset
1159 gdk_window_raise(fgcseld->window);
2407d672e506 [gaim-migrate @ 667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 654
diff changeset
1160 return;
858
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1161 }
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1162
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1163 if (!gtkconv->dialogs.fg_color) {
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1164
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1165 gtkconv->dialogs.fg_color = gtk_color_selection_dialog_new(_("Select Text Color"));
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1166 colorsel = GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.fg_color)->colorsel;
4198
f4afa1d7a842 [gaim-migrate @ 4429]
Alex Converse <alex.converse@gmail.com>
parents: 4183
diff changeset
1167 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(colorsel), &fgcolor);
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1168 g_object_set_data(G_OBJECT(colorsel), "gaim_conversation", c);
2209
db87ba068b9c [gaim-migrate @ 2219]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2143
diff changeset
1169
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1170 g_signal_connect(G_OBJECT(gtkconv->dialogs.fg_color), "delete_event",
4162
7aca7e45e675 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1171 G_CALLBACK(delete_event_dialog), c);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1172 g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.fg_color)->ok_button),
4162
7aca7e45e675 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1173 "clicked", G_CALLBACK(do_fgcolor), colorsel);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1174 g_signal_connect(G_OBJECT
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1175 (GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.fg_color)->cancel_button),
4162
7aca7e45e675 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1176 "clicked", G_CALLBACK(cancel_fgcolor), c);
858
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1177
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1178 gtk_widget_realize(gtkconv->dialogs.fg_color);
858
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1179 }
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1180
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1181 gtk_widget_show(gtkconv->dialogs.fg_color);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1182 gdk_window_raise(gtkconv->dialogs.fg_color->window);
858
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1183 }
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1184
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1185 void show_bgcolor_dialog(GaimConversation *c, GtkWidget *color)
858
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1186 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1187 GaimGtkConversation *gtkconv;
858
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1188 GtkWidget *colorsel;
5545
a8b1a1262402 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
1189 GdkColor bgcolor;
858
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1190
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1191 gtkconv = GAIM_GTK_CONVERSATION(c);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1192
5545
a8b1a1262402 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
1193 gdk_color_parse(gaim_prefs_get_string("/gaim/gtk/conversations/bgcolor"),
a8b1a1262402 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
1194 &bgcolor);
a8b1a1262402 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
1195
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1196 if (color == NULL) { /* we came from the prefs */
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1197 if (bgcseld)
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1198 return;
2209
db87ba068b9c [gaim-migrate @ 2219]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2143
diff changeset
1199
657
2407d672e506 [gaim-migrate @ 667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 654
diff changeset
1200 bgcseld = gtk_color_selection_dialog_new(_("Select Background Color"));
4198
f4afa1d7a842 [gaim-migrate @ 4429]
Alex Converse <alex.converse@gmail.com>
parents: 4183
diff changeset
1201 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION
f4afa1d7a842 [gaim-migrate @ 4429]
Alex Converse <alex.converse@gmail.com>
parents: 4183
diff changeset
1202 (GTK_COLOR_SELECTION_DIALOG(bgcseld)->colorsel), &bgcolor);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1203 g_signal_connect(G_OBJECT(bgcseld), "delete_event",
4162
7aca7e45e675 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1204 G_CALLBACK(destroy_colorsel), NULL);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1205 g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(bgcseld)->cancel_button),
4162
7aca7e45e675 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1206 "clicked", G_CALLBACK(destroy_colorsel), NULL);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1207 g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(bgcseld)->ok_button), "clicked",
4162
7aca7e45e675 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1208 G_CALLBACK(apply_color_dlg), (void *)2);
657
2407d672e506 [gaim-migrate @ 667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 654
diff changeset
1209 gtk_widget_realize(bgcseld);
2407d672e506 [gaim-migrate @ 667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 654
diff changeset
1210 gtk_widget_show(bgcseld);
2407d672e506 [gaim-migrate @ 667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 654
diff changeset
1211 gdk_window_raise(bgcseld->window);
2407d672e506 [gaim-migrate @ 667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 654
diff changeset
1212 return;
2407d672e506 [gaim-migrate @ 667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 654
diff changeset
1213 }
2407d672e506 [gaim-migrate @ 667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 654
diff changeset
1214
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1215 if (!gtkconv->dialogs.bg_color) {
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1216
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1217 gtkconv->dialogs.bg_color = gtk_color_selection_dialog_new(_("Select Background Color"));
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1218 colorsel = GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.bg_color)->colorsel;
4198
f4afa1d7a842 [gaim-migrate @ 4429]
Alex Converse <alex.converse@gmail.com>
parents: 4183
diff changeset
1219 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(colorsel), &bgcolor);
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1220 g_object_set_data(G_OBJECT(colorsel), "gaim_conversation", c);
2209
db87ba068b9c [gaim-migrate @ 2219]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2143
diff changeset
1221
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1222 g_signal_connect(G_OBJECT(gtkconv->dialogs.bg_color), "delete_event",
4162
7aca7e45e675 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1223 G_CALLBACK(delete_event_dialog), c);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1224 g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.bg_color)->ok_button),
4162
7aca7e45e675 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1225 "clicked", G_CALLBACK(do_bgcolor), colorsel);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1226 g_signal_connect(G_OBJECT
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1227 (GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.bg_color)->cancel_button),
4162
7aca7e45e675 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1228 "clicked", G_CALLBACK(cancel_bgcolor), c);
858
e514a22143a3 [gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 854
diff changeset
1229
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1230 gtk_widget_realize(gtkconv->dialogs.bg_color);
311
971d26b73be6 [gaim-migrate @ 321]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 308
diff changeset
1231 }
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1232
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1233 gtk_widget_show(gtkconv->dialogs.bg_color);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1234 gdk_window_raise(gtkconv->dialogs.bg_color->window);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1235 }
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1236
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1237 /*------------------------------------------------------------------------*/
230
5afbb3468f11 [gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 229
diff changeset
1238 /* Font Selection Dialog */
5afbb3468f11 [gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 229
diff changeset
1239 /*------------------------------------------------------------------------*/
5afbb3468f11 [gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 229
diff changeset
1240
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1241 void cancel_font(GtkWidget *widget, GaimConversation *c)
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1242 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1243 GaimGtkConversation *gtkconv;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1244
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1245 gtkconv = GAIM_GTK_CONVERSATION(c);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1246
4685
2c4bde862f6b [gaim-migrate @ 4996]
Nathan Walp <nwalp@pidgin.im>
parents: 4667
diff changeset
1247 if (gtkconv->toolbar.font && widget) {
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1248 gtk_toggle_button_set_active(
4685
2c4bde862f6b [gaim-migrate @ 4996]
Nathan Walp <nwalp@pidgin.im>
parents: 4667
diff changeset
1249 GTK_TOGGLE_BUTTON(gtkconv->toolbar.font), FALSE);
311
971d26b73be6 [gaim-migrate @ 321]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 308
diff changeset
1250 }
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1251
5970
797f5f43c1bd [gaim-migrate @ 6417]
Mark Doliner <markdoliner@pidgin.im>
parents: 5966
diff changeset
1252 if (gtkconv->dialogs.font) {
797f5f43c1bd [gaim-migrate @ 6417]
Mark Doliner <markdoliner@pidgin.im>
parents: 5966
diff changeset
1253 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.font);
797f5f43c1bd [gaim-migrate @ 6417]
Mark Doliner <markdoliner@pidgin.im>
parents: 5966
diff changeset
1254 gtk_widget_destroy(gtkconv->dialogs.font);
797f5f43c1bd [gaim-migrate @ 6417]
Mark Doliner <markdoliner@pidgin.im>
parents: 5966
diff changeset
1255 gtkconv->dialogs.font = NULL;
797f5f43c1bd [gaim-migrate @ 6417]
Mark Doliner <markdoliner@pidgin.im>
parents: 5966
diff changeset
1256 }
230
5afbb3468f11 [gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 229
diff changeset
1257 }
5afbb3468f11 [gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 229
diff changeset
1258
5afbb3468f11 [gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 229
diff changeset
1259 void apply_font(GtkWidget *widget, GtkFontSelection *fontsel)
5afbb3468f11 [gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 229
diff changeset
1260 {
5afbb3468f11 [gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 229
diff changeset
1261 /* this could be expanded to include font size, weight, etc.
5afbb3468f11 [gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 229
diff changeset
1262 but for now only works with font face */
666
0a313fec9a15 [gaim-migrate @ 676]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 657
diff changeset
1263 char *fontname;
7079
ba826f90507f [gaim-migrate @ 7644]
Nathan Walp <nwalp@pidgin.im>
parents: 7063
diff changeset
1264 char *space;
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1265 GaimConversation *c = g_object_get_data(G_OBJECT(fontsel),
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1266 "gaim_conversation");
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1267
7079
ba826f90507f [gaim-migrate @ 7644]
Nathan Walp <nwalp@pidgin.im>
parents: 7063
diff changeset
1268 if(!c)
ba826f90507f [gaim-migrate @ 7644]
Nathan Walp <nwalp@pidgin.im>
parents: 7063
diff changeset
1269 return;
ba826f90507f [gaim-migrate @ 7644]
Nathan Walp <nwalp@pidgin.im>
parents: 7063
diff changeset
1270
5545
a8b1a1262402 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
1271 fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(fontsel));
a8b1a1262402 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
1272
7079
ba826f90507f [gaim-migrate @ 7644]
Nathan Walp <nwalp@pidgin.im>
parents: 7063
diff changeset
1273 space = strrchr(fontname, ' ');
ba826f90507f [gaim-migrate @ 7644]
Nathan Walp <nwalp@pidgin.im>
parents: 7063
diff changeset
1274 if(space && isdigit(*(space+1)))
ba826f90507f [gaim-migrate @ 7644]
Nathan Walp <nwalp@pidgin.im>
parents: 7063
diff changeset
1275 *space = '\0';
ba826f90507f [gaim-migrate @ 7644]
Nathan Walp <nwalp@pidgin.im>
parents: 7063
diff changeset
1276
ba826f90507f [gaim-migrate @ 7644]
Nathan Walp <nwalp@pidgin.im>
parents: 7063
diff changeset
1277 gaim_gtk_set_font_face(GAIM_GTK_CONVERSATION(c), fontname);
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1278
5545
a8b1a1262402 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
1279 g_free(fontname);
a8b1a1262402 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
1280
311
971d26b73be6 [gaim-migrate @ 321]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 308
diff changeset
1281 cancel_font(NULL, c);
230
5afbb3468f11 [gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 229
diff changeset
1282 }
5afbb3468f11 [gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 229
diff changeset
1283
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1284 void destroy_fontsel(GtkWidget *w, gpointer d)
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1285 {
334
520b6eb5ed7e [gaim-migrate @ 344]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 311
diff changeset
1286 gtk_widget_destroy(fontseld);
520b6eb5ed7e [gaim-migrate @ 344]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 311
diff changeset
1287 fontseld = NULL;
520b6eb5ed7e [gaim-migrate @ 344]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 311
diff changeset
1288 }
520b6eb5ed7e [gaim-migrate @ 344]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 311
diff changeset
1289
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1290 void show_font_dialog(GaimConversation *c, GtkWidget *font)
230
5afbb3468f11 [gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 229
diff changeset
1291 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1292 GaimGtkConversation *gtkconv;
3473
83018f64a2b8 [gaim-migrate @ 3524]
Sean Egan <seanegan@pidgin.im>
parents: 3472
diff changeset
1293 char fonttif[128];
5545
a8b1a1262402 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
1294 const char *fontface;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1295
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1296 gtkconv = GAIM_GTK_CONVERSATION(c);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1297
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1298 if (!font) { /* we came from the prefs dialog */
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1299 if (fontseld)
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1300 return;
5545
a8b1a1262402 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
1301
350
b02a56431923 [gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 349
diff changeset
1302 fontseld = gtk_font_selection_dialog_new(_("Select Font"));
5545
a8b1a1262402 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
1303
a8b1a1262402 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
1304 fontface = gaim_prefs_get_string("/gaim/gtk/conversations/font_face");
a8b1a1262402 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
1305
a8b1a1262402 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
1306 if (fontface != NULL && *fontface != '\0') {
3473
83018f64a2b8 [gaim-migrate @ 3524]
Sean Egan <seanegan@pidgin.im>
parents: 3472
diff changeset
1307 g_snprintf(fonttif, sizeof(fonttif), "%s 12", fontface);
2763
18a8e555039b [gaim-migrate @ 2776]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2761
diff changeset
1308 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(fontseld),
3473
83018f64a2b8 [gaim-migrate @ 3524]
Sean Egan <seanegan@pidgin.im>
parents: 3472
diff changeset
1309 fonttif);
2763
18a8e555039b [gaim-migrate @ 2776]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2761
diff changeset
1310 } else {
18a8e555039b [gaim-migrate @ 2776]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2761
diff changeset
1311 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(fontseld),
3473
83018f64a2b8 [gaim-migrate @ 3524]
Sean Egan <seanegan@pidgin.im>
parents: 3472
diff changeset
1312 DEFAULT_FONT_FACE " 12");
2763
18a8e555039b [gaim-migrate @ 2776]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2761
diff changeset
1313 }
334
520b6eb5ed7e [gaim-migrate @ 344]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 311
diff changeset
1314
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1315 g_signal_connect(G_OBJECT(fontseld), "delete_event",
4162
7aca7e45e675 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1316 G_CALLBACK(destroy_fontsel), NULL);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1317 g_signal_connect(G_OBJECT(GTK_FONT_SELECTION_DIALOG(fontseld)->cancel_button),
4162
7aca7e45e675 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1318 "clicked", G_CALLBACK(destroy_fontsel), NULL);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1319 g_signal_connect(G_OBJECT(GTK_FONT_SELECTION_DIALOG(fontseld)->ok_button), "clicked",
4162
7aca7e45e675 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1320 G_CALLBACK(apply_font_dlg), fontseld);
334
520b6eb5ed7e [gaim-migrate @ 344]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 311
diff changeset
1321 gtk_widget_realize(fontseld);
520b6eb5ed7e [gaim-migrate @ 344]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 311
diff changeset
1322 gtk_widget_show(fontseld);
520b6eb5ed7e [gaim-migrate @ 344]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 311
diff changeset
1323 gdk_window_raise(fontseld->window);
520b6eb5ed7e [gaim-migrate @ 344]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 311
diff changeset
1324 return;
520b6eb5ed7e [gaim-migrate @ 344]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 311
diff changeset
1325 }
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1326
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1327 if (!gtkconv->dialogs.font) {
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1328 gtkconv->dialogs.font = gtk_font_selection_dialog_new(_("Select Font"));
234
100138758e8d [gaim-migrate @ 244]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 231
diff changeset
1329
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1330 g_object_set_data(G_OBJECT(gtkconv->dialogs.font), "gaim_conversation", c);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1331
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1332 if (gtkconv->fontface[0]) {
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1333 g_snprintf(fonttif, sizeof(fonttif), "%s 12", gtkconv->fontface);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1334 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(gtkconv->dialogs.font),
3473
83018f64a2b8 [gaim-migrate @ 3524]
Sean Egan <seanegan@pidgin.im>
parents: 3472
diff changeset
1335 fonttif);
2763
18a8e555039b [gaim-migrate @ 2776]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2761
diff changeset
1336 } else {
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1337 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(gtkconv->dialogs.font),
3473
83018f64a2b8 [gaim-migrate @ 3524]
Sean Egan <seanegan@pidgin.im>
parents: 3472
diff changeset
1338 DEFAULT_FONT_FACE);
2763
18a8e555039b [gaim-migrate @ 2776]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2761
diff changeset
1339 }
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1340
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1341 g_signal_connect(G_OBJECT(gtkconv->dialogs.font), "delete_event",
4162
7aca7e45e675 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1342 G_CALLBACK(delete_event_dialog), c);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1343 g_signal_connect(G_OBJECT(GTK_FONT_SELECTION_DIALOG(gtkconv->dialogs.font)->ok_button),
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1344 "clicked", G_CALLBACK(apply_font), gtkconv->dialogs.font);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1345 g_signal_connect(G_OBJECT(GTK_FONT_SELECTION_DIALOG(gtkconv->dialogs.font)->cancel_button),
4162
7aca7e45e675 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1346 "clicked", G_CALLBACK(cancel_font), c);
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1347
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1348 gtk_widget_realize(gtkconv->dialogs.font);
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1349
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1350 }
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1351
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1352 gtk_widget_show(gtkconv->dialogs.font);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1353 gdk_window_raise(gtkconv->dialogs.font->window);
230
5afbb3468f11 [gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 229
diff changeset
1354 }
5afbb3468f11 [gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 229
diff changeset
1355
5afbb3468f11 [gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 229
diff changeset
1356 /*------------------------------------------------------------------------*/
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1357 /* The dialog for new away messages */
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1358 /*------------------------------------------------------------------------*/
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1359
1213
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1360 static struct away_message *save_away_message(struct create_away *ca)
717
acdd0019f9f8 [gaim-migrate @ 727]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 710
diff changeset
1361 {
acdd0019f9f8 [gaim-migrate @ 727]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 710
diff changeset
1362 struct away_message *am;
acdd0019f9f8 [gaim-migrate @ 727]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 710
diff changeset
1363 gchar *away_message;
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1364
832
138962a0d570 [gaim-migrate @ 842]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 825
diff changeset
1365 if (!ca->mess)
138962a0d570 [gaim-migrate @ 842]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 825
diff changeset
1366 am = g_new0(struct away_message, 1);
2851
b2bc75288ea1 [gaim-migrate @ 2864]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2827
diff changeset
1367 else {
832
138962a0d570 [gaim-migrate @ 842]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 825
diff changeset
1368 am = ca->mess;
2851
b2bc75288ea1 [gaim-migrate @ 2864]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2827
diff changeset
1369 }
1387
bde3444a286b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
1370
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
1371
717
acdd0019f9f8 [gaim-migrate @ 727]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 710
diff changeset
1372 g_snprintf(am->name, sizeof(am->name), "%s", gtk_entry_get_text(GTK_ENTRY(ca->entry)));
4119
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
1373 away_message = gtk_text_view_get_text(GTK_TEXT_VIEW(ca->text), FALSE);
717
acdd0019f9f8 [gaim-migrate @ 727]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 710
diff changeset
1374
acdd0019f9f8 [gaim-migrate @ 727]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 710
diff changeset
1375 g_snprintf(am->message, sizeof(am->message), "%s", away_message);
acdd0019f9f8 [gaim-migrate @ 727]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 710
diff changeset
1376 g_free(away_message);
acdd0019f9f8 [gaim-migrate @ 727]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 710
diff changeset
1377
832
138962a0d570 [gaim-migrate @ 842]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 825
diff changeset
1378 if (!ca->mess) {
1213
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1379 away_messages = g_slist_insert_sorted(away_messages, am, sort_awaymsg_list);
832
138962a0d570 [gaim-migrate @ 842]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 825
diff changeset
1380 }
138962a0d570 [gaim-migrate @ 842]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 825
diff changeset
1381
5560
7cd6678f838b [gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents: 5551
diff changeset
1382 do_away_menu(NULL);
6065
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents: 6059
diff changeset
1383 gaim_status_sync();
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1384
1213
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1385 return am;
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1386 }
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1387
1387
bde3444a286b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
1388 int check_away_mess(struct create_away *ca, int type)
bde3444a286b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
1389 {
4630
14945964677b [gaim-migrate @ 4921]
Nathan Walp <nwalp@pidgin.im>
parents: 4614
diff changeset
1390 char *msg;
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1391 if ((strlen(gtk_entry_get_text(GTK_ENTRY(ca->entry))) == 0) && (type == 1)) {
1387
bde3444a286b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
1392 /* We shouldn't allow a blank title */
5436
a0e0bacaa196 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5411
diff changeset
1393 gaim_notify_error(NULL, NULL,
a0e0bacaa196 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5411
diff changeset
1394 _("You cannot save an away message with a "
a0e0bacaa196 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5411
diff changeset
1395 "blank title"),
a0e0bacaa196 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5411
diff changeset
1396 _("Please give the message a title, or choose "
a0e0bacaa196 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5411
diff changeset
1397 "\"Use\" to use without saving."));
1387
bde3444a286b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
1398 return 0;
bde3444a286b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
1399 }
bde3444a286b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
1400
4630
14945964677b [gaim-migrate @ 4921]
Nathan Walp <nwalp@pidgin.im>
parents: 4614
diff changeset
1401 msg = gtk_text_view_get_text(GTK_TEXT_VIEW(ca->text), FALSE);
14945964677b [gaim-migrate @ 4921]
Nathan Walp <nwalp@pidgin.im>
parents: 4614
diff changeset
1402
14945964677b [gaim-migrate @ 4921]
Nathan Walp <nwalp@pidgin.im>
parents: 4614
diff changeset
1403 if (!msg && (type <= 1)) {
1387
bde3444a286b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
1404 /* We shouldn't allow a blank message */
5436
a0e0bacaa196 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5411
diff changeset
1405 gaim_notify_error(NULL, NULL,
a0e0bacaa196 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5411
diff changeset
1406 _("You cannot create an empty away message"), NULL);
1387
bde3444a286b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
1407 return 0;
bde3444a286b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
1408 }
bde3444a286b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
1409
4630
14945964677b [gaim-migrate @ 4921]
Nathan Walp <nwalp@pidgin.im>
parents: 4614
diff changeset
1410 g_free(msg);
14945964677b [gaim-migrate @ 4921]
Nathan Walp <nwalp@pidgin.im>
parents: 4614
diff changeset
1411
1387
bde3444a286b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
1412 return 1;
bde3444a286b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
1413 }
bde3444a286b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
1414
1213
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1415 void save_away_mess(GtkWidget *widget, struct create_away *ca)
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1416 {
1387
bde3444a286b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
1417 if (!check_away_mess(ca, 1))
bde3444a286b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
1418 return;
bde3444a286b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
1419
1213
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1420 save_away_message(ca);
717
acdd0019f9f8 [gaim-migrate @ 727]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 710
diff changeset
1421 destroy_dialog(NULL, ca->window);
1213
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1422 g_free(ca);
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1423 }
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1424
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1425 void use_away_mess(GtkWidget *widget, struct create_away *ca)
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1426 {
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1427 static struct away_message am;
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1428 gchar *away_message;
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1429
1387
bde3444a286b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
1430 if (!check_away_mess(ca, 0))
bde3444a286b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
1431 return;
1213
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1432
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1433 g_snprintf(am.name, sizeof(am.name), "%s", gtk_entry_get_text(GTK_ENTRY(ca->entry)));
4119
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
1434 away_message = gtk_text_view_get_text(GTK_TEXT_VIEW(ca->text), FALSE);
1213
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1435
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1436 g_snprintf(am.message, sizeof(am.message), "%s", away_message);
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1437 g_free(away_message);
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1438
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1439 do_away_message(NULL, &am);
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1440
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1441 destroy_dialog(NULL, ca->window);
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1442 g_free(ca);
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1443 }
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1444
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1445 void su_away_mess(GtkWidget *widget, struct create_away *ca)
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1446 {
1387
bde3444a286b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
1447 if (!check_away_mess(ca, 1))
bde3444a286b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
1448 return;
1213
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1449 do_away_message(NULL, save_away_message(ca));
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1450 destroy_dialog(NULL, ca->window);
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1451 g_free(ca);
717
acdd0019f9f8 [gaim-migrate @ 727]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 710
diff changeset
1452 }
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1453
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1454 void create_away_mess(GtkWidget *widget, void *dummy)
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1455 {
439
982dafd2a83f [gaim-migrate @ 449]
Rob Flynn <gaim@robflynn.com>
parents: 423
diff changeset
1456 GtkWidget *hbox;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1457 GtkWidget *titlebox;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1458 GtkWidget *tbox;
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1459 GtkWidget *label;
439
982dafd2a83f [gaim-migrate @ 449]
Rob Flynn <gaim@robflynn.com>
parents: 423
diff changeset
1460 GtkWidget *frame;
982dafd2a83f [gaim-migrate @ 449]
Rob Flynn <gaim@robflynn.com>
parents: 423
diff changeset
1461 GtkWidget *fbox;
441
1a5ead8f6132 [gaim-migrate @ 451]
Rob Flynn <gaim@robflynn.com>
parents: 440
diff changeset
1462 GtkWidget *button;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1463
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1464 struct create_away *ca = g_new0(struct create_away, 1);
1185
4e850e2011e4 [gaim-migrate @ 1195]
Decklin Foster <decklin@red-bean.com>
parents: 1174
diff changeset
1465
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1466 /* Set up window */
2725
a844d0964552 [gaim-migrate @ 2738]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2681
diff changeset
1467 GAIM_DIALOG(ca->window);
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1468 gtk_widget_set_size_request(ca->window, -1, 250);
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1469 gtk_container_set_border_width(GTK_CONTAINER(ca->window), 5);
4074
c69100a0ede9 [gaim-migrate @ 4289]
Robert McQueen <robot101@debian.org>
parents: 4061
diff changeset
1470 gtk_window_set_role(GTK_WINDOW(ca->window), "away_mess");
4703
ebf288064099 [gaim-migrate @ 5014]
Sean Egan <seanegan@pidgin.im>
parents: 4695
diff changeset
1471 gtk_window_set_title(GTK_WINDOW(ca->window), _("New away message"));
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1472 g_signal_connect(G_OBJECT(ca->window), "delete_event",
4162
7aca7e45e675 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1473 G_CALLBACK(destroy_dialog), ca->window);
1213
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1474 gtk_widget_realize(ca->window);
1185
4e850e2011e4 [gaim-migrate @ 1195]
Decklin Foster <decklin@red-bean.com>
parents: 1174
diff changeset
1475
4e850e2011e4 [gaim-migrate @ 1195]
Decklin Foster <decklin@red-bean.com>
parents: 1174
diff changeset
1476 tbox = gtk_vbox_new(FALSE, 5);
4e850e2011e4 [gaim-migrate @ 1195]
Decklin Foster <decklin@red-bean.com>
parents: 1174
diff changeset
1477 gtk_container_add(GTK_CONTAINER(ca->window), tbox);
439
982dafd2a83f [gaim-migrate @ 449]
Rob Flynn <gaim@robflynn.com>
parents: 423
diff changeset
1478
982dafd2a83f [gaim-migrate @ 449]
Rob Flynn <gaim@robflynn.com>
parents: 423
diff changeset
1479 frame = gtk_frame_new(_("New away message"));
1185
4e850e2011e4 [gaim-migrate @ 1195]
Decklin Foster <decklin@red-bean.com>
parents: 1174
diff changeset
1480 gtk_box_pack_start(GTK_BOX(tbox), frame, TRUE, TRUE, 0);
1213
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1481
1172
5c0e6410a272 [gaim-migrate @ 1182]
Decklin Foster <decklin@red-bean.com>
parents: 1171
diff changeset
1482 fbox = gtk_vbox_new(FALSE, 5);
1224
252fad5b9d30 [gaim-migrate @ 1234]
Decklin Foster <decklin@red-bean.com>
parents: 1216
diff changeset
1483 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5);
1185
4e850e2011e4 [gaim-migrate @ 1195]
Decklin Foster <decklin@red-bean.com>
parents: 1174
diff changeset
1484 gtk_container_add(GTK_CONTAINER(frame), fbox);
4e850e2011e4 [gaim-migrate @ 1195]
Decklin Foster <decklin@red-bean.com>
parents: 1174
diff changeset
1485
4e850e2011e4 [gaim-migrate @ 1195]
Decklin Foster <decklin@red-bean.com>
parents: 1174
diff changeset
1486 titlebox = gtk_hbox_new(FALSE, 5);
1213
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1487 gtk_box_pack_start(GTK_BOX(fbox), titlebox, FALSE, FALSE, 0);
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1488
350
b02a56431923 [gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 349
diff changeset
1489 label = gtk_label_new(_("Away title: "));
1172
5c0e6410a272 [gaim-migrate @ 1182]
Decklin Foster <decklin@red-bean.com>
parents: 1171
diff changeset
1490 gtk_box_pack_start(GTK_BOX(titlebox), label, FALSE, FALSE, 0);
1185
4e850e2011e4 [gaim-migrate @ 1195]
Decklin Foster <decklin@red-bean.com>
parents: 1174
diff changeset
1491
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1492 ca->entry = gtk_entry_new();
1172
5c0e6410a272 [gaim-migrate @ 1182]
Decklin Foster <decklin@red-bean.com>
parents: 1171
diff changeset
1493 gtk_box_pack_start(GTK_BOX(titlebox), ca->entry, TRUE, TRUE, 0);
1213
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1494 gtk_widget_grab_focus(ca->entry);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1495
4119
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
1496 frame = gtk_frame_new(NULL);
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
1497 gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN);
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
1498 gtk_box_pack_start(GTK_BOX(fbox), frame, TRUE, TRUE, 0);
5024
3b5412e4b483 [gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents: 4978
diff changeset
1499
4119
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
1500 ca->text = gtk_text_view_new();
5105
3565a4c4de6a [gaim-migrate @ 5468]
David J. Brigada <brigada@prism.net>
parents: 5092
diff changeset
1501 gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(ca->text), GTK_WRAP_WORD_CHAR);
5024
3b5412e4b483 [gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents: 4978
diff changeset
1502
7538
b20dbe9222e2 [gaim-migrate @ 8151]
Christian Hammond <chipx86@chipx86.com>
parents: 7431
diff changeset
1503 if (gaim_prefs_get_bool("/gaim/gtk/conversations/spellcheck"))
b20dbe9222e2 [gaim-migrate @ 8151]
Christian Hammond <chipx86@chipx86.com>
parents: 7431
diff changeset
1504 gaim_gtk_setup_gtkspell(GTK_TEXT_VIEW(ca->text));
7002
ffa26eb4420c [gaim-migrate @ 7558]
Sean Egan <seanegan@pidgin.im>
parents: 6982
diff changeset
1505
4119
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
1506 gtk_container_add(GTK_CONTAINER(frame), ca->text);
5024
3b5412e4b483 [gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents: 4978
diff changeset
1507
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 3367
diff changeset
1508 if (dummy) {
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 3367
diff changeset
1509 struct away_message *amt;
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 3367
diff changeset
1510 GtkTreeIter iter;
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 3367
diff changeset
1511 int pos = 0;
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 3367
diff changeset
1512 GtkListStore *ls = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(dummy)));
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 3367
diff changeset
1513 GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(dummy));
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 3367
diff changeset
1514 GValue val = { 0, };
4119
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
1515 GtkTextIter start;
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
1516 GtkTextBuffer *buffer;
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 3367
diff changeset
1517
3716
172593593072 [gaim-migrate @ 3849]
Herman Bloggs <herman@bluedigits.com>
parents: 3671
diff changeset
1518 if (! gtk_tree_selection_get_selected (sel, (GtkTreeModel**)&ls, &iter))
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 3367
diff changeset
1519 return;
3716
172593593072 [gaim-migrate @ 3849]
Herman Bloggs <herman@bluedigits.com>
parents: 3671
diff changeset
1520 gtk_tree_model_get_value (GTK_TREE_MODEL(ls), &iter, 1, &val);
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 3367
diff changeset
1521 amt = g_value_get_pointer (&val);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 3367
diff changeset
1522 gtk_entry_set_text(GTK_ENTRY(ca->entry), amt->name);
4119
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
1523 buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(ca->text));
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
1524 gtk_text_buffer_get_iter_at_offset(buffer, &start, pos);
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
1525 gtk_text_buffer_insert(buffer, &start, amt->message, strlen(amt->message));
dd6e2c58f27c [gaim-migrate @ 4336]
Ka-Hing Cheung <khc@pidgin.im>
parents: 4118
diff changeset
1526
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 3367
diff changeset
1527 ca->mess = amt;
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 3367
diff changeset
1528 }
832
138962a0d570 [gaim-migrate @ 842]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 825
diff changeset
1529
1213
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1530 hbox = gtk_hbox_new(FALSE, 5);
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1531 gtk_box_pack_start(GTK_BOX(tbox), hbox, FALSE, FALSE, 0);
5024
3b5412e4b483 [gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents: 4978
diff changeset
1532
3b5412e4b483 [gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents: 4978
diff changeset
1533 button = gaim_pixbuf_button_from_stock(_("Save"), GTK_STOCK_SAVE, GAIM_BUTTON_HORIZONTAL);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1534 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(save_away_mess), ca);
4092
8788dcce1d81 [gaim-migrate @ 4307]
Etan Reisner <deryni@pidgin.im>
parents: 4074
diff changeset
1535 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0);
8788dcce1d81 [gaim-migrate @ 4307]
Etan Reisner <deryni@pidgin.im>
parents: 4074
diff changeset
1536
5024
3b5412e4b483 [gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents: 4978
diff changeset
1537 button = gaim_pixbuf_button_from_stock(_("Save & Use"), GTK_STOCK_OK, GAIM_BUTTON_HORIZONTAL);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1538 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(su_away_mess), ca);
1213
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1539 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0);
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1540
5024
3b5412e4b483 [gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents: 4978
diff changeset
1541 button = gaim_pixbuf_button_from_stock(_("Use"), GTK_STOCK_EXECUTE, GAIM_BUTTON_HORIZONTAL);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1542 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(use_away_mess), ca);
1213
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1543 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0);
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1544
5024
3b5412e4b483 [gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents: 4978
diff changeset
1545 button = gaim_pixbuf_button_from_stock(_("Cancel"), GTK_STOCK_CANCEL, GAIM_BUTTON_HORIZONTAL);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1546 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(destroy_dialog), ca->window);
1213
627f0fe24ea1 [gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1210
diff changeset
1547 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0);
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1548
5024
3b5412e4b483 [gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents: 4978
diff changeset
1549 gtk_widget_show_all(ca->window);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1550 }
555
bea0ece30600 [gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 550
diff changeset
1551
bea0ece30600 [gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 550
diff changeset
1552 /* smiley dialog */
bea0ece30600 [gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 550
diff changeset
1553
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1554 void close_smiley_dialog(GtkWidget *widget, GaimConversation *c)
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1555 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1556 GaimGtkConversation *gtkconv;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1557
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1558 gtkconv = GAIM_GTK_CONVERSATION(c);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1559
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1560 if (gtkconv->toolbar.smiley) {
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1561 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.smiley),
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1562 FALSE);
570
3450eeb314a1 [gaim-migrate @ 580]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 567
diff changeset
1563 }
5275
cff2a336ef09 [gaim-migrate @ 5647]
Nathan Walp <nwalp@pidgin.im>
parents: 5258
diff changeset
1564 if(gtkconv->dialogs.smiley) {
cff2a336ef09 [gaim-migrate @ 5647]
Nathan Walp <nwalp@pidgin.im>
parents: 5258
diff changeset
1565 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.smiley);
cff2a336ef09 [gaim-migrate @ 5647]
Nathan Walp <nwalp@pidgin.im>
parents: 5258
diff changeset
1566 gtk_widget_destroy(gtkconv->dialogs.smiley);
cff2a336ef09 [gaim-migrate @ 5647]
Nathan Walp <nwalp@pidgin.im>
parents: 5258
diff changeset
1567 gtkconv->dialogs.smiley = NULL;
cff2a336ef09 [gaim-migrate @ 5647]
Nathan Walp <nwalp@pidgin.im>
parents: 5258
diff changeset
1568 }
555
bea0ece30600 [gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 550
diff changeset
1569 }
bea0ece30600 [gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 550
diff changeset
1570
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1571 void insert_smiley_text(GtkWidget *widget, GaimConversation *c)
555
bea0ece30600 [gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 550
diff changeset
1572 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1573 GaimGtkConversation *gtkconv;
4667
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1574 char *smiley_text = g_object_get_data(G_OBJECT(widget), "smiley_text");
5275
cff2a336ef09 [gaim-migrate @ 5647]
Nathan Walp <nwalp@pidgin.im>
parents: 5258
diff changeset
1575 GtkTextMark *select_mark, *insert_mark;
cff2a336ef09 [gaim-migrate @ 5647]
Nathan Walp <nwalp@pidgin.im>
parents: 5258
diff changeset
1576 GtkTextIter select_iter, insert_iter;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1577
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1578 gtkconv = GAIM_GTK_CONVERSATION(c);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1579
5275
cff2a336ef09 [gaim-migrate @ 5647]
Nathan Walp <nwalp@pidgin.im>
parents: 5258
diff changeset
1580 select_mark = gtk_text_buffer_get_selection_bound(gtkconv->entry_buffer);
cff2a336ef09 [gaim-migrate @ 5647]
Nathan Walp <nwalp@pidgin.im>
parents: 5258
diff changeset
1581 insert_mark = gtk_text_buffer_get_insert(gtkconv->entry_buffer);
cff2a336ef09 [gaim-migrate @ 5647]
Nathan Walp <nwalp@pidgin.im>
parents: 5258
diff changeset
1582
cff2a336ef09 [gaim-migrate @ 5647]
Nathan Walp <nwalp@pidgin.im>
parents: 5258
diff changeset
1583 if(insert_mark != select_mark) { /* there is text selected */
cff2a336ef09 [gaim-migrate @ 5647]
Nathan Walp <nwalp@pidgin.im>
parents: 5258
diff changeset
1584 gtk_text_buffer_get_iter_at_mark(gtkconv->entry_buffer, &select_iter, select_mark);
cff2a336ef09 [gaim-migrate @ 5647]
Nathan Walp <nwalp@pidgin.im>
parents: 5258
diff changeset
1585 gtk_text_buffer_get_iter_at_mark(gtkconv->entry_buffer, &insert_iter, insert_mark);
cff2a336ef09 [gaim-migrate @ 5647]
Nathan Walp <nwalp@pidgin.im>
parents: 5258
diff changeset
1586 gtk_text_buffer_delete(gtkconv->entry_buffer, &select_iter, &insert_iter);
cff2a336ef09 [gaim-migrate @ 5647]
Nathan Walp <nwalp@pidgin.im>
parents: 5258
diff changeset
1587 }
cff2a336ef09 [gaim-migrate @ 5647]
Nathan Walp <nwalp@pidgin.im>
parents: 5258
diff changeset
1588
4667
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1589 gtk_text_buffer_insert_at_cursor(gtkconv->entry_buffer, smiley_text, -1);
555
bea0ece30600 [gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 550
diff changeset
1590 close_smiley_dialog(NULL, c);
bea0ece30600 [gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 550
diff changeset
1591 }
579
aed77e39951d [gaim-migrate @ 589]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 577
diff changeset
1592
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1593 static void add_smiley(GaimConversation *c, GtkWidget *table, int row, int col, char *filename, char *face)
4034
8a4becbc8f72 [gaim-migrate @ 4240]
Sean Egan <seanegan@pidgin.im>
parents: 4011
diff changeset
1594 {
4061
0629287b4329 [gaim-migrate @ 4271]
Herman Bloggs <herman@bluedigits.com>
parents: 4060
diff changeset
1595 GtkWidget *image;
4034
8a4becbc8f72 [gaim-migrate @ 4240]
Sean Egan <seanegan@pidgin.im>
parents: 4011
diff changeset
1596 GtkWidget *button;
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1597 GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(c);
4667
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1598
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1599 image = gtk_image_new_from_file(filename);
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1600 button = gtk_button_new();
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1601 gtk_container_add(GTK_CONTAINER(button), image);
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1602 g_object_set_data(G_OBJECT(button), "smiley_text", face);
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1603 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(insert_smiley_text), c);
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1604
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1605 gtk_tooltips_set_tip(gtkconv->tooltips, button, face, NULL);
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1606
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1607 gtk_table_attach_defaults(GTK_TABLE(table), button, col, col+1, row, row+1);
4034
8a4becbc8f72 [gaim-migrate @ 4240]
Sean Egan <seanegan@pidgin.im>
parents: 4011
diff changeset
1608
8a4becbc8f72 [gaim-migrate @ 4240]
Sean Egan <seanegan@pidgin.im>
parents: 4011
diff changeset
1609 /* these look really weird with borders */
8a4becbc8f72 [gaim-migrate @ 4240]
Sean Egan <seanegan@pidgin.im>
parents: 4011
diff changeset
1610 gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE);
4667
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1611
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1612 gtk_widget_show(button);
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1613 }
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1614
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1615 static gboolean smiley_is_unique(GSList *list, GtkIMHtmlSmiley *smiley) {
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1616 while(list) {
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1617 GtkIMHtmlSmiley *cur = list->data;
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1618 if(!strcmp(cur->file, smiley->file))
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1619 return FALSE;
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1620 list = list->next;
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1621 }
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1622 return TRUE;
4034
8a4becbc8f72 [gaim-migrate @ 4240]
Sean Egan <seanegan@pidgin.im>
parents: 4011
diff changeset
1623 }
8a4becbc8f72 [gaim-migrate @ 4240]
Sean Egan <seanegan@pidgin.im>
parents: 4011
diff changeset
1624
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1625 void show_smiley_dialog(GaimConversation *c, GtkWidget *widget)
555
bea0ece30600 [gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 550
diff changeset
1626 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1627 GaimGtkConversation *gtkconv;
555
bea0ece30600 [gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 550
diff changeset
1628 GtkWidget *dialog;
4667
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1629 GtkWidget *smiley_table = NULL;
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1630 GSList *smileys, *unique_smileys = NULL;
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1631 int width;
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1632 int row = 0, col = 0;
555
bea0ece30600 [gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 550
diff changeset
1633
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1634 gtkconv = GAIM_GTK_CONVERSATION(c);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1635
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1636 if (gtkconv->dialogs.smiley)
558
479c1b17d9d0 [gaim-migrate @ 568]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 555
diff changeset
1637 return;
579
aed77e39951d [gaim-migrate @ 589]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 577
diff changeset
1638
4667
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1639 if(c->account)
5943
8a052155157a [gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents: 5925
diff changeset
1640 smileys = get_proto_smileys(
8a052155157a [gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents: 5925
diff changeset
1641 gaim_account_get_protocol(gaim_conversation_get_account(c)));
4667
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1642 else
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5136
diff changeset
1643 smileys = get_proto_smileys(GAIM_PROTO_DEFAULT);
4667
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1644
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1645 while(smileys) {
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1646 GtkIMHtmlSmiley *smiley = smileys->data;
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1647 if(!smiley->hidden) {
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1648 if(smiley_is_unique(unique_smileys, smiley))
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1649 unique_smileys = g_slist_append(unique_smileys, smiley);
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1650 }
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1651 smileys = smileys->next;
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1652 }
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1653
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1654
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1655 width = floor(sqrt(g_slist_length(unique_smileys)));
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1656
2725
a844d0964552 [gaim-migrate @ 2738]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2681
diff changeset
1657 GAIM_DIALOG(dialog);
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1658 gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE);
4074
c69100a0ede9 [gaim-migrate @ 4289]
Robert McQueen <robot101@debian.org>
parents: 4061
diff changeset
1659 gtk_window_set_role(GTK_WINDOW(dialog), "smiley_dialog");
934
aa207620a0c1 [gaim-migrate @ 944]
Ben Miller <millebe@cs.earlham.edu>
parents: 928
diff changeset
1660 gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_MOUSE);
579
aed77e39951d [gaim-migrate @ 589]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 577
diff changeset
1661
4667
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1662 smiley_table = gtk_table_new(width, width, TRUE);
555
bea0ece30600 [gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 550
diff changeset
1663
bea0ece30600 [gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 550
diff changeset
1664 /* pack buttons */
4667
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1665
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1666 while(unique_smileys) {
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1667 GtkIMHtmlSmiley *smiley = unique_smileys->data;
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1668 if(!smiley->hidden) {
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1669 add_smiley(c, smiley_table, row, col, smiley->file, smiley->smile);
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1670 if(++col >= width) {
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1671 col = 0;
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1672 row++;
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1673 }
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1674 }
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1675 unique_smileys = unique_smileys->next;
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1676 }
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1677
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1678 gtk_container_add(GTK_CONTAINER(dialog), smiley_table);
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1679
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1680 gtk_widget_show(smiley_table);
687237fa1ef5 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1681
579
aed77e39951d [gaim-migrate @ 589]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 577
diff changeset
1682 gtk_container_set_border_width(GTK_CONTAINER(dialog), 5);
555
bea0ece30600 [gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 550
diff changeset
1683
605
3d93a5c09c8f [gaim-migrate @ 615]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 603
diff changeset
1684 /* connect signals */
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1685 g_object_set_data(G_OBJECT(dialog), "dialog_type", "smiley dialog");
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1686 g_signal_connect(G_OBJECT(dialog), "delete_event",
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1687 G_CALLBACK(delete_event_dialog), c);
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1688
555
bea0ece30600 [gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 550
diff changeset
1689 /* show everything */
567
046c1568bad5 [gaim-migrate @ 577]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 558
diff changeset
1690 gtk_window_set_title(GTK_WINDOW(dialog), _("Smile!"));
584
5fa247775aac [gaim-migrate @ 594]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 582
diff changeset
1691 gtk_widget_show_all(dialog);
555
bea0ece30600 [gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 550
diff changeset
1692
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1693 gtkconv->dialogs.smiley = dialog;
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1694
555
bea0ece30600 [gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents: 550
diff changeset
1695 return;
558
479c1b17d9d0 [gaim-migrate @ 568]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 555
diff changeset
1696 }
710
55c2137a3d2a [gaim-migrate @ 720]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 699
diff changeset
1697
6329
21037bfe0ee7 [gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents: 6328
diff changeset
1698 static void
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7108
diff changeset
1699 alias_chat_cb(GaimChat *chat, const char *new_alias)
5234
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
1700 {
6329
21037bfe0ee7 [gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents: 6328
diff changeset
1701 gaim_blist_alias_chat(chat, new_alias);
21037bfe0ee7 [gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents: 6328
diff changeset
1702 gaim_blist_save();
5234
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
1703 }
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
1704
6329
21037bfe0ee7 [gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents: 6328
diff changeset
1705 void
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7108
diff changeset
1706 alias_dialog_blist_chat(GaimChat *chat)
6329
21037bfe0ee7 [gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents: 6328
diff changeset
1707 {
21037bfe0ee7 [gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents: 6328
diff changeset
1708 gaim_request_input(NULL, _("Alias Chat"), _("Alias chat"),
21037bfe0ee7 [gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents: 6328
diff changeset
1709 _("Please enter an aliased name for this chat."),
21037bfe0ee7 [gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents: 6328
diff changeset
1710 chat->alias, FALSE, FALSE,
21037bfe0ee7 [gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents: 6328
diff changeset
1711 _("OK"), G_CALLBACK(alias_chat_cb),
21037bfe0ee7 [gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents: 6328
diff changeset
1712 _("Cancel"), NULL, chat);
5234
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
1713 }
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
1714
6327
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1715 static void
7245
13f6e5bf0582 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1716 alias_contact_cb(GaimContact *contact, const char *new_alias)
13f6e5bf0582 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1717 {
13f6e5bf0582 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1718 gaim_contact_set_alias(contact, new_alias);
13f6e5bf0582 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1719 gaim_blist_save();
13f6e5bf0582 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1720 }
13f6e5bf0582 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1721
13f6e5bf0582 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1722 void
13f6e5bf0582 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1723 alias_dialog_contact(GaimContact *contact)
13f6e5bf0582 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1724 {
13f6e5bf0582 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1725 gaim_request_input(NULL, _("Alias Contact"), _("Alias contact"),
13f6e5bf0582 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1726 _("Please enter an aliased name for this contact."),
13f6e5bf0582 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1727 contact->alias, FALSE, FALSE,
13f6e5bf0582 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1728 _("OK"), G_CALLBACK(alias_contact_cb),
13f6e5bf0582 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1729 _("Cancel"), NULL, contact);
13f6e5bf0582 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1730 }
13f6e5bf0582 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1731
13f6e5bf0582 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1732 static void
6695
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
1733 alias_buddy_cb(GaimBuddy *buddy, GaimRequestFields *fields)
6327
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1734 {
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1735 const char *alias;
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1736
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1737 alias = gaim_request_fields_get_string(fields, "alias");
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1738
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1739 gaim_blist_alias_buddy(buddy,
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1740 (alias != NULL && *alias != '\0') ? alias : NULL);
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1741 serv_alias_buddy(buddy);
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1742 gaim_blist_save();
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1743 }
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1744
5050
241e7595c116 [gaim-migrate @ 5398]
Christian Hammond <chipx86@chipx86.com>
parents: 5024
diff changeset
1745 void
6695
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
1746 alias_dialog_bud(GaimBuddy *b)
1397
705a0ba91b76 [gaim-migrate @ 1407]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1396
diff changeset
1747 {
6327
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1748 GaimRequestFields *fields;
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1749 GaimRequestFieldGroup *group;
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1750 GaimRequestField *field;
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1751
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1752 fields = gaim_request_fields_new();
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1753
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1754 group = gaim_request_field_group_new(NULL);
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1755 gaim_request_fields_add_group(fields, group);
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1756
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1757 field = gaim_request_field_string_new("screenname", _("_Screenname"),
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1758 b->name, FALSE);
7049
7085b21b00bb [gaim-migrate @ 7612]
Christian Hammond <chipx86@chipx86.com>
parents: 7002
diff changeset
1759 gaim_request_field_string_set_editable(field, FALSE);
6327
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1760 gaim_request_field_group_add_field(group, field);
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1761
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1762 field = gaim_request_field_string_new("alias", _("_Alias"),
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1763 b->alias, FALSE);
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1764 gaim_request_field_group_add_field(group, field);
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1765
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1766 gaim_request_fields(NULL, _("Alias Buddy"),
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1767 _("Alias buddy"),
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1768 _("Please enter an aliased name for the person "
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1769 "below, or rename this contact in your buddy list."),
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1770 fields,
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1771 _("OK"), G_CALLBACK(alias_buddy_cb),
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1772 _("Cancel"), NULL,
2a17057a2913 [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1773 b);
1397
705a0ba91b76 [gaim-migrate @ 1407]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1396
diff changeset
1774 }
1477
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
1775
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1776 static gboolean dont_destroy(gpointer a, gpointer b, gpointer c)
1488
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1777 {
1477
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
1778 return TRUE;
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
1779 }
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
1780
1488
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1781 static void do_save_log(GtkWidget *w, GtkWidget *filesel)
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1782 {
3716
172593593072 [gaim-migrate @ 3849]
Herman Bloggs <herman@bluedigits.com>
parents: 3671
diff changeset
1783 const char *file;
1488
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1784 char path[PATHSIZE];
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1785 char buf[BUF_LONG];
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1786 char error[BUF_LEN];
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1787 FILE *fp_old, *fp_new;
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1788 char filename[PATHSIZE];
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1789 char *name;
1722
d64eabfd88e3 [gaim-migrate @ 1732]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1710
diff changeset
1790 char *tmp;
1488
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1791
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1792 name = g_object_get_data(G_OBJECT(filesel), "name");
1722
d64eabfd88e3 [gaim-migrate @ 1732]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1710
diff changeset
1793 tmp = gaim_user_dir();
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3572
diff changeset
1794 g_snprintf(filename, PATHSIZE, "%s" G_DIR_SEPARATOR_S "logs" G_DIR_SEPARATOR_S "%s%s", tmp,
7261
4be05820d441 [gaim-migrate @ 7838]
Nathan Walp <nwalp@pidgin.im>
parents: 7245
diff changeset
1795 name ? gaim_normalize(NULL, name) : "system", name ? ".log" : "");
1488
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1796
3716
172593593072 [gaim-migrate @ 3849]
Herman Bloggs <herman@bluedigits.com>
parents: 3671
diff changeset
1797 file = (const char*)gtk_file_selection_get_filename(GTK_FILE_SELECTION(filesel));
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1798 strncpy(path, file, PATHSIZE - 1);
5966
91a208b3e979 [gaim-migrate @ 6413]
Mark Doliner <markdoliner@pidgin.im>
parents: 5959
diff changeset
1799 if (gaim_gtk_check_if_dir(path, GTK_FILE_SELECTION(filesel)))
1488
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1800 return;
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1801
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1802 if ((fp_new = fopen(path, "w")) == NULL) {
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1803 g_snprintf(error, BUF_LONG,
3427
75387df65a9b [gaim-migrate @ 3453]
Sean Egan <seanegan@pidgin.im>
parents: 3374
diff changeset
1804 _("Couldn't write to %s."), path);
5436
a0e0bacaa196 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5411
diff changeset
1805 gaim_notify_error(NULL, NULL, error, strerror(errno));
1488
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1806 return;
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1807 }
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1808
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1809 if ((fp_old = fopen(filename, "r")) == NULL) {
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1810 g_snprintf(error, BUF_LONG,
3427
75387df65a9b [gaim-migrate @ 3453]
Sean Egan <seanegan@pidgin.im>
parents: 3374
diff changeset
1811 _("Couldn't write to %s."), filename);
5436
a0e0bacaa196 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5411
diff changeset
1812 gaim_notify_error(NULL, NULL, error, strerror(errno));
1488
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1813 fclose(fp_new);
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1814 return;
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1815 }
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1816
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1817 while (fgets(buf, BUF_LONG, fp_old))
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1818 fputs(buf, fp_new);
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1819 fclose(fp_old);
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1820 fclose(fp_new);
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1821
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1822 gtk_widget_destroy(filesel);
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1823
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1824 return;
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1825 }
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1826
2372
c24942700dfd [gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2370
diff changeset
1827 static void show_save_log(GtkWidget *w, gchar *name)
1488
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1828 {
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1829 GtkWidget *filesel;
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1830 gchar buf[BUF_LEN];
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1831
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3572
diff changeset
1832 g_snprintf(buf, BUF_LEN - 1, "%s" G_DIR_SEPARATOR_S "%s%s", gaim_home_dir(),
7261
4be05820d441 [gaim-migrate @ 7838]
Nathan Walp <nwalp@pidgin.im>
parents: 7245
diff changeset
1833 name ? gaim_normalize(NULL, name) : "system", name ? ".log" : "");
1488
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1834
4703
ebf288064099 [gaim-migrate @ 5014]
Sean Egan <seanegan@pidgin.im>
parents: 4695
diff changeset
1835 filesel = gtk_file_selection_new(_("Save Log File"));
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1836 g_signal_connect(G_OBJECT(filesel), "delete_event",
4162
7aca7e45e675 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1837 G_CALLBACK(destroy_dialog), filesel);
1488
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1838
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1839 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(filesel));
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1840 gtk_file_selection_set_filename(GTK_FILE_SELECTION(filesel), buf);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1841 g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(filesel)->ok_button),
4162
7aca7e45e675 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1842 "clicked", G_CALLBACK(do_save_log), filesel);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1843 g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(filesel)->cancel_button),
4162
7aca7e45e675 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1844 "clicked", G_CALLBACK(destroy_dialog), filesel);
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1845 g_object_set_data(G_OBJECT(filesel), "name", name);
1488
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1846
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1847 gtk_widget_realize(filesel);
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1848 gtk_widget_show(filesel);
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1849
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1850 return;
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1851 }
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1852
7330
d9180de05551 [gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents: 7261
diff changeset
1853 static void do_clear_log_file(struct view_log *view)
1488
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1854 {
7330
d9180de05551 [gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents: 7261
diff changeset
1855 gchar *filename, *buf;
1722
d64eabfd88e3 [gaim-migrate @ 1732]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1710
diff changeset
1856 char *tmp;
d64eabfd88e3 [gaim-migrate @ 1732]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1710
diff changeset
1857
d64eabfd88e3 [gaim-migrate @ 1732]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1710
diff changeset
1858 tmp = gaim_user_dir();
7330
d9180de05551 [gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents: 7261
diff changeset
1859 filename = g_strdup_printf("%s" G_DIR_SEPARATOR_S "logs" G_DIR_SEPARATOR_S "%s%s", tmp,
d9180de05551 [gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents: 7261
diff changeset
1860 view ? gaim_normalize(NULL, view->name) : "system", view ? ".log" : "");
1488
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1861
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1862 if ((remove(filename)) == -1) {
7330
d9180de05551 [gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents: 7261
diff changeset
1863 buf = g_strdup_printf(_("Couldn't remove file %s." ), filename);
5436
a0e0bacaa196 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5411
diff changeset
1864 gaim_notify_error(NULL, NULL, buf, strerror(errno));
7330
d9180de05551 [gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents: 7261
diff changeset
1865 g_free(buf);
1488
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1866 }
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1867
7330
d9180de05551 [gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents: 7261
diff changeset
1868 g_free(filename);
d9180de05551 [gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents: 7261
diff changeset
1869
7378
c06a826e8b5f [gaim-migrate @ 7973]
Nathan Walp <nwalp@pidgin.im>
parents: 7377
diff changeset
1870 if(view)
c06a826e8b5f [gaim-migrate @ 7973]
Nathan Walp <nwalp@pidgin.im>
parents: 7377
diff changeset
1871 gtk_widget_destroy(view->window);
1488
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1872 }
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1873
7330
d9180de05551 [gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents: 7261
diff changeset
1874 static void show_clear_log(GtkWidget *w, struct view_log *view)
1488
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1875 {
7330
d9180de05551 [gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents: 7261
diff changeset
1876 char *text;
7378
c06a826e8b5f [gaim-migrate @ 7973]
Nathan Walp <nwalp@pidgin.im>
parents: 7377
diff changeset
1877 void *clear_handle;
7330
d9180de05551 [gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents: 7261
diff changeset
1878
7367
08bf68d785e0 [gaim-migrate @ 7962]
Mark Doliner <markdoliner@pidgin.im>
parents: 7330
diff changeset
1879 if ((view != NULL ) && (view->clear_handle != NULL))
7330
d9180de05551 [gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents: 7261
diff changeset
1880 return;
d9180de05551 [gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents: 7261
diff changeset
1881
d9180de05551 [gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents: 7261
diff changeset
1882 text = g_strdup_printf(_("You are about to remove the log file for %s. Do you want to continue?"),
7377
87363e10ea90 [gaim-migrate @ 7972]
Nathan Walp <nwalp@pidgin.im>
parents: 7367
diff changeset
1883 view ? view->name : _("System Log"));
7378
c06a826e8b5f [gaim-migrate @ 7973]
Nathan Walp <nwalp@pidgin.im>
parents: 7377
diff changeset
1884 clear_handle = gaim_request_action(NULL, NULL, _("Remove Log"),
7330
d9180de05551 [gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents: 7261
diff changeset
1885 text, -1, view, 2,
d9180de05551 [gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents: 7261
diff changeset
1886 _("Remove Log"),
d9180de05551 [gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents: 7261
diff changeset
1887 G_CALLBACK(do_clear_log_file),
d9180de05551 [gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents: 7261
diff changeset
1888 _("Cancel"), NULL);
7378
c06a826e8b5f [gaim-migrate @ 7973]
Nathan Walp <nwalp@pidgin.im>
parents: 7377
diff changeset
1889 if(view)
c06a826e8b5f [gaim-migrate @ 7973]
Nathan Walp <nwalp@pidgin.im>
parents: 7377
diff changeset
1890 view->clear_handle = clear_handle;
7330
d9180de05551 [gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents: 7261
diff changeset
1891 g_free(text);
1488
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1892 }
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
1893
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1894 static void log_show_convo(struct view_log *view)
1477
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
1895 {
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
1896 gchar buf[BUF_LONG];
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
1897 FILE *fp;
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
1898 char filename[256];
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
1899 int i=0;
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
1900 GString *string;
2602
13e60a06089e [gaim-migrate @ 2615]
Ben Miller <millebe@cs.earlham.edu>
parents: 2598
diff changeset
1901 guint block;
13e60a06089e [gaim-migrate @ 2615]
Ben Miller <millebe@cs.earlham.edu>
parents: 2598
diff changeset
1902
1477
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
1903 string = g_string_new("");
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
1904
2621
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
1905 if (view->name) {
1634
73a6ef5d2677 [gaim-migrate @ 1644]
baldnik
parents: 1535
diff changeset
1906 char *tmp = gaim_user_dir();
7261
4be05820d441 [gaim-migrate @ 7838]
Nathan Walp <nwalp@pidgin.im>
parents: 7245
diff changeset
1907 g_snprintf(filename, 256, "%s" G_DIR_SEPARATOR_S "logs" G_DIR_SEPARATOR_S "%s.log", tmp, gaim_normalize(NULL, view->name));
1634
73a6ef5d2677 [gaim-migrate @ 1644]
baldnik
parents: 1535
diff changeset
1908 } else {
73a6ef5d2677 [gaim-migrate @ 1644]
baldnik
parents: 1535
diff changeset
1909 char *tmp = gaim_user_dir();
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3572
diff changeset
1910 g_snprintf(filename, 256, "%s" G_DIR_SEPARATOR_S "logs" G_DIR_SEPARATOR_S "system", tmp);
1634
73a6ef5d2677 [gaim-migrate @ 1644]
baldnik
parents: 1535
diff changeset
1911 }
1477
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
1912 if ((fp = fopen(filename, "r")) == NULL) {
4923
065f507166ca [gaim-migrate @ 5257]
Herman Bloggs <herman@bluedigits.com>
parents: 4918
diff changeset
1913 if (view->name) {
065f507166ca [gaim-migrate @ 5257]
Herman Bloggs <herman@bluedigits.com>
parents: 4918
diff changeset
1914 g_snprintf(buf, BUF_LONG, _("Couldn't open log file %s."), filename);
5436
a0e0bacaa196 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5411
diff changeset
1915 gaim_notify_error(NULL, NULL, buf, strerror(errno));
4923
065f507166ca [gaim-migrate @ 5257]
Herman Bloggs <herman@bluedigits.com>
parents: 4918
diff changeset
1916 }
065f507166ca [gaim-migrate @ 5257]
Herman Bloggs <herman@bluedigits.com>
parents: 4918
diff changeset
1917 /* If the system log doesn't exist.. no message just show empty system log window.
065f507166ca [gaim-migrate @ 5257]
Herman Bloggs <herman@bluedigits.com>
parents: 4918
diff changeset
1918 That way user knows that the log is empty :)
065f507166ca [gaim-migrate @ 5257]
Herman Bloggs <herman@bluedigits.com>
parents: 4918
diff changeset
1919 */
1477
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
1920 return;
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
1921 }
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
1922
2621
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
1923 gtk_widget_set_sensitive(view->bbox, FALSE);
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1924 g_signal_handlers_disconnect_by_func(G_OBJECT(view->window),
4162
7aca7e45e675 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1925 G_CALLBACK(destroy_dialog), view->window);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1926 block = g_signal_connect(G_OBJECT(view->window), "delete_event",
4162
7aca7e45e675 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1927 G_CALLBACK(dont_destroy), view->window);
2621
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
1928
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
1929 fseek(fp, view->offset, SEEK_SET);
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
1930 gtk_imhtml_clear(GTK_IMHTML(view->layout));
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
1931 /*
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
1932 while (gtk_events_pending())
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
1933 gtk_main_iteration();
2621
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
1934 */
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
1935
6431
9f6c3d0ec68a [gaim-migrate @ 6939]
Sean Egan <seanegan@pidgin.im>
parents: 6392
diff changeset
1936 while (fgets(buf, BUF_LONG, fp) && !strstr(buf, "---- New C")) {
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
1937 i++;
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
1938 if (strlen(buf) >= 5 && (!strncmp(buf + strlen(buf) - 5, "<BR>\n", 5)))
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
1939 /* take off the \n */
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
1940 buf[strlen(buf) - 1] = '\0';
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
1941
2642
4f404f93e015 [gaim-migrate @ 2655]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2623
diff changeset
1942 /* don't lose the thirtieth line of conversation. thanks FeRD */
4f404f93e015 [gaim-migrate @ 2655]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2623
diff changeset
1943 g_string_append(string, buf);
4f404f93e015 [gaim-migrate @ 2655]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2623
diff changeset
1944
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
1945 if (i == 30) {
6982
12f08de92674 [gaim-migrate @ 7538]
Mark Doliner <markdoliner@pidgin.im>
parents: 6885
diff changeset
1946 gtk_imhtml_append_text(GTK_IMHTML(view->layout), string->str, view->options);
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
1947 g_string_free(string, TRUE);
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
1948 string = g_string_new("");
2621
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
1949 /* you can't have these anymore. if someone clicks on another item while one is
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
1950 * drawing, it will try to move to that item, and that causes problems here.
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
1951 while (gtk_events_pending())
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
1952 gtk_main_iteration();
2621
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
1953 */
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
1954 i = 0;
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
1955 }
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
1956
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
1957 }
6982
12f08de92674 [gaim-migrate @ 7538]
Mark Doliner <markdoliner@pidgin.im>
parents: 6885
diff changeset
1958 gtk_imhtml_append_text(GTK_IMHTML(view->layout), string->str, view->options);
12f08de92674 [gaim-migrate @ 7538]
Mark Doliner <markdoliner@pidgin.im>
parents: 6885
diff changeset
1959 gtk_imhtml_append_text(GTK_IMHTML(view->layout), "<BR>", view->options);
2621
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
1960
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
1961 gtk_widget_set_sensitive(view->bbox, TRUE);
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1962 g_signal_handler_disconnect(G_OBJECT(view->window), block);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
1963 g_signal_connect(G_OBJECT(view->window), "delete_event",
4162
7aca7e45e675 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
1964 G_CALLBACK(destroy_dialog), view->window);
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
1965 g_string_free(string, TRUE);
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
1966 fclose(fp);
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
1967 }
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
1968
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1969 static void log_select_convo(GtkTreeSelection *sel, GtkTreeModel *model)
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1970 {
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1971 GValue val = { 0, };
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1972 GtkTreeIter iter;
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1973
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1974 if(!gtk_tree_selection_get_selected(sel, &model, &iter))
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1975 return;
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1976 gtk_tree_model_get_value(model, &iter, 1, &val);
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1977 log_show_convo(g_value_get_pointer(&val));
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1978 }
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1979
2621
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
1980 static void des_view_item(GtkObject *obj, struct view_log *view)
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
1981 {
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
1982 if (view->name)
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
1983 g_free(view->name);
7330
d9180de05551 [gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents: 7261
diff changeset
1984 if (view->clear_handle)
d9180de05551 [gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents: 7261
diff changeset
1985 gaim_request_close(GAIM_REQUEST_ACTION, view->clear_handle);
2621
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
1986 g_free(view);
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
1987 }
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
1988
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1989 static void des_log_win(GObject *win, gpointer data)
2623
a858d1de20b9 [gaim-migrate @ 2636]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2621
diff changeset
1990 {
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1991 char *x = g_object_get_data(win, "log_window");
2623
a858d1de20b9 [gaim-migrate @ 2636]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2621
diff changeset
1992 if (x)
a858d1de20b9 [gaim-migrate @ 2636]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2621
diff changeset
1993 g_free(x);
4874
0856cc9a821c [gaim-migrate @ 5204]
Nathan Walp <nwalp@pidgin.im>
parents: 4793
diff changeset
1994 x = g_object_get_data(win, "name");
0856cc9a821c [gaim-migrate @ 5204]
Nathan Walp <nwalp@pidgin.im>
parents: 4793
diff changeset
1995 if (x)
0856cc9a821c [gaim-migrate @ 5204]
Nathan Walp <nwalp@pidgin.im>
parents: 4793
diff changeset
1996 g_free(x);
2623
a858d1de20b9 [gaim-migrate @ 2636]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2621
diff changeset
1997 }
a858d1de20b9 [gaim-migrate @ 2636]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2621
diff changeset
1998
3532
5a90396baec5 [gaim-migrate @ 3606]
Ka-Hing Cheung <khc@pidgin.im>
parents: 3523
diff changeset
1999
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
2000 static void
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
2001 url_clicked_cb(GtkWidget *widget, const char *uri)
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
2002 {
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
2003 gaim_notify_uri(NULL, uri);
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
2004 }
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
2005
2623
a858d1de20b9 [gaim-migrate @ 2636]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2621
diff changeset
2006 void show_log(char *nm)
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2007 {
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2008 gchar filename[256];
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2009 gchar buf[BUF_LONG];
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2010 FILE *fp;
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2011 GtkWidget *window;
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2012 GtkWidget *box;
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2013 GtkWidget *hbox;
2602
13e60a06089e [gaim-migrate @ 2615]
Ben Miller <millebe@cs.earlham.edu>
parents: 2598
diff changeset
2014 GtkWidget *bbox;
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2015 GtkWidget *sw;
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2016 GtkWidget *layout;
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2017 GtkWidget *close_button;
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2018 GtkWidget *clear_button;
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2019 GtkWidget *save_button;
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2020 GtkListStore *list_store;
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2021 GtkWidget *tree_view;
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2022 GtkTreeSelection *sel = NULL;
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2023 GtkTreePath *path;
2612
91caa9d13a5c [gaim-migrate @ 2625]
Rob Flynn <gaim@robflynn.com>
parents: 2607
diff changeset
2024 GtkWidget *item = NULL;
91caa9d13a5c [gaim-migrate @ 2625]
Rob Flynn <gaim@robflynn.com>
parents: 2607
diff changeset
2025 GtkWidget *last = NULL;
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2026 GtkWidget *frame;
7330
d9180de05551 [gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents: 7261
diff changeset
2027 struct view_log *view = NULL;
2623
a858d1de20b9 [gaim-migrate @ 2636]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2621
diff changeset
2028 char *name = nm ? g_strdup(nm) : NULL;
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2029
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2030 int options;
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2031 guint block;
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2032 char convo_start[32];
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2033 long offset = 0;
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2034
1477
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
2035 options = GTK_IMHTML_NO_COMMENTS | GTK_IMHTML_NO_TITLE | GTK_IMHTML_NO_SCROLL;
5545
a8b1a1262402 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
2036
a8b1a1262402 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
2037 if (gaim_prefs_get_bool("/gaim/gtk/conversations/ignore_colors"))
1477
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
2038 options ^= GTK_IMHTML_NO_COLOURS;
5545
a8b1a1262402 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
2039
a8b1a1262402 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
2040 if (gaim_prefs_get_bool("/gaim/gtk/conversations/ignore_fonts"))
1477
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
2041 options ^= GTK_IMHTML_NO_FONTS;
5545
a8b1a1262402 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
2042
a8b1a1262402 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
2043 if (gaim_prefs_get_bool("/gaim/gtk/conversations/ignore_font_sizes"))
1477
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
2044 options ^= GTK_IMHTML_NO_SIZES;
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
2045
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
2046 window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2047 g_object_set_data(G_OBJECT(window), "name", name);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
2048 g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(des_log_win), NULL);
4074
c69100a0ede9 [gaim-migrate @ 4289]
Robert McQueen <robot101@debian.org>
parents: 4061
diff changeset
2049 gtk_window_set_role(GTK_WINDOW(window), "log");
1648
f33239360f10 [gaim-migrate @ 1658]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1634
diff changeset
2050 if (name)
4703
ebf288064099 [gaim-migrate @ 5014]
Sean Egan <seanegan@pidgin.im>
parents: 4695
diff changeset
2051 g_snprintf(buf, BUF_LONG, _("Conversations with %s"), name);
1648
f33239360f10 [gaim-migrate @ 1658]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1634
diff changeset
2052 else
4703
ebf288064099 [gaim-migrate @ 5014]
Sean Egan <seanegan@pidgin.im>
parents: 4695
diff changeset
2053 g_snprintf(buf, BUF_LONG, _("System Log"));
1477
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
2054 gtk_window_set_title(GTK_WINDOW(window), buf);
1488
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
2055 gtk_container_set_border_width(GTK_CONTAINER(window), 10);
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2056 gtk_window_set_resizable(GTK_WINDOW(window), TRUE);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
2057 block = g_signal_connect(G_OBJECT(window), "delete_event",
4162
7aca7e45e675 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2058 G_CALLBACK(dont_destroy), window);
1477
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
2059 gtk_widget_realize(window);
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
2060
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2061 layout = gtk_imhtml_new(NULL, NULL);
2602
13e60a06089e [gaim-migrate @ 2615]
Ben Miller <millebe@cs.earlham.edu>
parents: 2598
diff changeset
2062 bbox = gtk_hbox_new(FALSE, 0);
13e60a06089e [gaim-migrate @ 2615]
Ben Miller <millebe@cs.earlham.edu>
parents: 2598
diff changeset
2063
1488
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
2064 box = gtk_vbox_new(FALSE, 5);
1477
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
2065 gtk_container_add(GTK_CONTAINER(window), box);
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
2066
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2067 hbox = gtk_hbox_new(FALSE, 5);
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2068 gtk_box_pack_start(GTK_BOX(box), hbox, TRUE, TRUE, 0);
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2069
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2070 if (name) {
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2071 char *tmp = gaim_user_dir();
7261
4be05820d441 [gaim-migrate @ 7838]
Nathan Walp <nwalp@pidgin.im>
parents: 7245
diff changeset
2072 g_snprintf(filename, 256, "%s" G_DIR_SEPARATOR_S "logs" G_DIR_SEPARATOR_S "%s.log", tmp, gaim_normalize(NULL, name));
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2073 if ((fp = fopen(filename, "r")) == NULL) {
6623
75ba9eb9d3f8 [gaim-migrate @ 7147]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 6465
diff changeset
2074 g_snprintf(buf, BUF_LONG, _("Couldn't open log file %s."), filename);
5436
a0e0bacaa196 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5411
diff changeset
2075 gaim_notify_error(NULL, NULL, buf, strerror(errno));
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2076 return;
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2077 }
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2078
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2079 list_store = gtk_list_store_new(2,
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2080 G_TYPE_STRING,
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2081 G_TYPE_POINTER);
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2082
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2083 tree_view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(list_store));
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2084
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2085 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(tree_view), FALSE);
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2086
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2087 gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(tree_view),
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2088 -1, "", gtk_cell_renderer_text_new(), "text", 0, NULL);
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2089
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2090 sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_view));
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2091 g_signal_connect(G_OBJECT(sel), "changed",
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2092 G_CALLBACK(log_select_convo),
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2093 NULL);
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2094
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2095 frame = gtk_frame_new(_("Date"));
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2096 gtk_widget_show(frame);
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2097
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2098 sw = gtk_scrolled_window_new(NULL, NULL);
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2099 gtk_container_set_border_width(GTK_CONTAINER(sw), 5);
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2100 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), tree_view);
2613
0a766cd74603 [gaim-migrate @ 2626]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2612
diff changeset
2101 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw),
0a766cd74603 [gaim-migrate @ 2626]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2612
diff changeset
2102 GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2103 gtk_widget_set_size_request(sw, 220, 220);
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2104 gtk_container_add(GTK_CONTAINER(frame), sw);
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2105 gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0);
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2106
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2107 while (fgets(buf, BUF_LONG, fp)) {
6431
9f6c3d0ec68a [gaim-migrate @ 6939]
Sean Egan <seanegan@pidgin.im>
parents: 6392
diff changeset
2108 if (strstr(buf, "---- New C")) {
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2109 int length;
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2110 char *temp = strchr(buf, '@');
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2111 GtkTreeIter iter;
2612
91caa9d13a5c [gaim-migrate @ 2625]
Rob Flynn <gaim@robflynn.com>
parents: 2607
diff changeset
2112
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2113 if (temp == NULL || strlen(temp) < 2)
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2114 continue;
2612
91caa9d13a5c [gaim-migrate @ 2625]
Rob Flynn <gaim@robflynn.com>
parents: 2607
diff changeset
2115
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2116 temp++;
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2117 length = strcspn(temp, "-");
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2118 if (length > 31) length = 31;
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
2119
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2120 offset = ftell(fp);
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2121 g_snprintf(convo_start, length, "%s", temp);
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2122 gtk_list_store_append(list_store, &iter);
2621
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
2123 view = g_new0(struct view_log, 1);
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
2124 view->options = options;
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
2125 view->offset = offset;
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
2126 view->name = g_strdup(name);
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
2127 view->bbox = bbox;
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
2128 view->window = window;
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
2129 view->layout = layout;
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2130 gtk_list_store_set(list_store, &iter,
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2131 0, convo_start,
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2132 1, view,
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2133 -1);
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2134 g_signal_connect(G_OBJECT(window), "destroy",
4162
7aca7e45e675 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
2135 G_CALLBACK(des_view_item), view);
2612
91caa9d13a5c [gaim-migrate @ 2625]
Rob Flynn <gaim@robflynn.com>
parents: 2607
diff changeset
2136 last = item;
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2137 }
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2138 }
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2139 fclose(fp);
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2140
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2141 path = gtk_tree_path_new_first();
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2142 gtk_tree_selection_select_path(sel, path);
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2143 gtk_tree_path_free(path);
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2144
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2145 g_object_unref(G_OBJECT(list_store));
2612
91caa9d13a5c [gaim-migrate @ 2625]
Rob Flynn <gaim@robflynn.com>
parents: 2607
diff changeset
2146 }
91caa9d13a5c [gaim-migrate @ 2625]
Rob Flynn <gaim@robflynn.com>
parents: 2607
diff changeset
2147
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2148
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
2149 g_signal_handler_disconnect(G_OBJECT(window), block);
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
2150 g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(destroy_dialog), window);
2602
13e60a06089e [gaim-migrate @ 2615]
Ben Miller <millebe@cs.earlham.edu>
parents: 2598
diff changeset
2151
5400
75b24dee40b3 [gaim-migrate @ 5776]
Chris
parents: 5346
diff changeset
2152 frame = gtk_frame_new(_("Log"));
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2153 gtk_widget_show(frame);
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2154
1477
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
2155 sw = gtk_scrolled_window_new(NULL, NULL);
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2156 gtk_container_set_border_width(GTK_CONTAINER(sw), 5);
1477
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
2157 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
4333
f4c095774bc2 [gaim-migrate @ 4597]
Mark Doliner <markdoliner@pidgin.im>
parents: 4316
diff changeset
2158 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN);
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2159 gtk_widget_set_size_request(sw, 390, 220);
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2160 gtk_container_add(GTK_CONTAINER(frame), sw);
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2161 gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0);
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2162
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
2163 g_signal_connect(G_OBJECT(layout), "url_clicked",
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
2164 G_CALLBACK(url_clicked_cb), NULL);
1477
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
2165 gtk_container_add(GTK_CONTAINER(sw), layout);
1815
e2b090284b19 [gaim-migrate @ 1825]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1805
diff changeset
2166 gaim_setup_imhtml(layout);
1477
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
2167
2602
13e60a06089e [gaim-migrate @ 2615]
Ben Miller <millebe@cs.earlham.edu>
parents: 2598
diff changeset
2168 gtk_box_pack_start(GTK_BOX(box), bbox, FALSE, FALSE, 0);
13e60a06089e [gaim-migrate @ 2615]
Ben Miller <millebe@cs.earlham.edu>
parents: 2598
diff changeset
2169 gtk_widget_set_sensitive(bbox, FALSE);
1488
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
2170
5024
3b5412e4b483 [gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents: 4978
diff changeset
2171 close_button = gaim_pixbuf_button_from_stock(_("Close"), GTK_STOCK_CLOSE, GAIM_BUTTON_HORIZONTAL);
2602
13e60a06089e [gaim-migrate @ 2615]
Ben Miller <millebe@cs.earlham.edu>
parents: 2598
diff changeset
2172 gtk_box_pack_end(GTK_BOX(bbox), close_button, FALSE, FALSE, 5);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
2173 g_signal_connect(G_OBJECT(close_button), "clicked", G_CALLBACK(destroy_dialog), window);
1488
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
2174
5024
3b5412e4b483 [gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents: 4978
diff changeset
2175 clear_button = gaim_pixbuf_button_from_stock(_("Clear"), GTK_STOCK_CLEAR, GAIM_BUTTON_HORIZONTAL);
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2176 g_object_set_data(G_OBJECT(clear_button), "log_window", window);
2602
13e60a06089e [gaim-migrate @ 2615]
Ben Miller <millebe@cs.earlham.edu>
parents: 2598
diff changeset
2177 gtk_box_pack_end(GTK_BOX(bbox), clear_button, FALSE, FALSE, 5);
7330
d9180de05551 [gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents: 7261
diff changeset
2178 g_signal_connect(G_OBJECT(clear_button), "clicked", G_CALLBACK(show_clear_log), view);
1488
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
2179
5024
3b5412e4b483 [gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents: 4978
diff changeset
2180 save_button = gaim_pixbuf_button_from_stock(_("Save"), GTK_STOCK_SAVE, GAIM_BUTTON_HORIZONTAL);
2602
13e60a06089e [gaim-migrate @ 2615]
Ben Miller <millebe@cs.earlham.edu>
parents: 2598
diff changeset
2181 gtk_box_pack_end(GTK_BOX(bbox), save_button, FALSE, FALSE, 5);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
2182 g_signal_connect(G_OBJECT(save_button), "clicked", G_CALLBACK(show_save_log), name);
1488
15bf9fc09151 [gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1484
diff changeset
2183
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2184 gtk_widget_show_all(window);
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2185
2570
82a413bcab76 [gaim-migrate @ 2583]
Ben Miller <millebe@cs.earlham.edu>
parents: 2564
diff changeset
2186 if (!name) {
2621
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
2187 view = g_new0(struct view_log, 1);
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
2188 view->options = options;
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
2189 view->name = NULL;
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
2190 view->bbox = bbox;
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
2191 view->window = window;
218962c8389e [gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2613
diff changeset
2192 view->layout = layout;
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2193 log_show_convo(view);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
2194 g_signal_connect(G_OBJECT(layout), "destroy", G_CALLBACK(des_view_item), view);
1477
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
2195 }
4635
475ccd9dc3ac [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
2196
2602
13e60a06089e [gaim-migrate @ 2615]
Ben Miller <millebe@cs.earlham.edu>
parents: 2598
diff changeset
2197 gtk_widget_set_sensitive(bbox, TRUE);
1477
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
2198
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
2199 return;
0621949186cb [gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1456
diff changeset
2200 }
1729
1da25c26b09b [gaim-migrate @ 1739]
Neil Sanchala <nsanch@gmail.com>
parents: 1722
diff changeset
2201

mercurial