Mercurial > pidgin
annotate src/dialogs.c @ 6371:8f94cce8faa5
[gaim-migrate @ 6876]
I think I touched almost every file. Here's what happened.
I started off fixing up the Makefile.am and configure.ac files to help with
the core/UI split some. Then I got annoyed with the
build_{allow,deny}_list() functions that everything used, and decided to
core/UI split privacy. While doing that, I decided to redesign the dialog.
So now, a lot has changed, but not really so much. Just that most files
got affected.
Oh yeah, and the UI stuff was taken out of internal.h and moved to
gtkinternal.h. If you use this, please be aware of this change.
committer: Tailor Script <tailor@pidgin.im>
| author | Christian Hammond <chipx86@chipx86.com> |
|---|---|
| date | Tue, 05 Aug 2003 10:55:04 +0000 |
| parents | 3381f1a85d8f |
| children | 9dd4bb3cf1df |
| rev | line source |
|---|---|
| 1 | 1 /* |
| 2 * gaim | |
| 3 * | |
| 4 * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net> | |
| 5 * | |
| 6 * This program is free software; you can redistribute it and/or modify | |
| 7 * it under the terms of the GNU General Public License as published by | |
| 8 * the Free Software Foundation; either version 2 of the License, or | |
| 9 * (at your option) any later version. | |
| 10 * | |
| 11 * This program is distributed in the hope that it will be useful, | |
| 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 14 * GNU General Public License for more details. | |
| 15 * | |
| 16 * You should have received a copy of the GNU General Public License | |
| 17 * along with this program; if not, write to the Free Software | |
| 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 19 * | |
| 20 */ | |
|
6371
8f94cce8faa5
[gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents:
6352
diff
changeset
|
21 #include "gtkinternal.h" |
|
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
22 |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
23 #include "debug.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
24 #include "log.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
25 #include "multi.h" |
|
5436
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
26 #include "notify.h" |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
27 #include "prefs.h" |
|
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
28 #include "privacy.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
29 #include "prpl.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
30 #include "request.h" |
| 6065 | 31 #include "status.h" |
|
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
32 #include "util.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
33 |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
34 #include "gtkblist.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
35 #include "gtkconv.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
36 #include "gtkimhtml.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
37 #include "gtkprefs.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
38 #include "gtkutils.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
39 #include "stock.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
40 |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
41 #include "ui.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
42 |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
43 /* XXX For the soon-to-be-deprecated MultiEntryDlg stuff */ |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
44 #include "gaim.h" |
|
1035
80a47e3b1bca
[gaim-migrate @ 1045]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
45 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
46 static GtkWidget *imdialog = NULL; /*I only want ONE of these :) */ |
| 1 | 47 static GList *dialogwindows = NULL; |
|
2493
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
48 static GtkWidget *importdialog; |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
49 static GaimConnection *importgc; |
| 2344 | 50 static GtkWidget *icondlg; |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
51 static GtkWidget *rename_dialog = NULL; |
|
5560
b7319c094153
[gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents:
5551
diff
changeset
|
52 static GtkWidget *fontseld = NULL; |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
53 |
| 3649 | 54 |
| 2743 | 55 struct confirm_del { |
| 56 GtkWidget *window; | |
| 57 GtkWidget *label; | |
| 58 GtkWidget *ok; | |
| 59 GtkWidget *cancel; | |
| 60 char name[1024]; | |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
61 GaimConnection *gc; |
| 2743 | 62 }; |
| 63 | |
| 1 | 64 struct create_away { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
65 GtkWidget *window; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
66 GtkWidget *entry; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
67 GtkWidget *text; |
|
832
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
68 struct away_message *mess; |
| 1 | 69 }; |
| 70 | |
| 71 struct warning { | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
72 GtkWidget *window; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
73 GtkWidget *anon; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
74 char *who; |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
75 GaimConnection *gc; |
| 1 | 76 }; |
| 77 | |
| 78 struct addbuddy { | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
79 GtkWidget *window; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
80 GtkWidget *combo; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
81 GtkWidget *entry; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
82 GtkWidget *entry_for_alias; |
| 2527 | 83 GtkWidget *account; |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
84 GaimConnection *gc; |
| 1 | 85 }; |
| 86 | |
| 87 struct findbyemail { | |
| 88 GtkWidget *window; | |
| 89 GtkWidget *emailentry; | |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
90 GaimConnection *gc; |
| 1 | 91 }; |
| 92 | |
| 93 struct findbyinfo { | |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
94 GaimConnection *gc; |
| 1 | 95 GtkWidget *window; |
| 96 GtkWidget *firstentry; | |
| 97 GtkWidget *middleentry; | |
| 98 GtkWidget *lastentry; | |
| 99 GtkWidget *maidenentry; | |
| 100 GtkWidget *cityentry; | |
| 101 GtkWidget *stateentry; | |
| 102 GtkWidget *countryentry; | |
| 103 }; | |
| 104 | |
| 105 struct info_dlg { | |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
106 GaimConnection *gc; |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
107 char *who; |
| 1 | 108 GtkWidget *window; |
| 109 GtkWidget *text; | |
| 110 }; | |
| 3197 | 111 |
| 112 struct getuserinfo { | |
| 113 GtkWidget *window; | |
| 114 GtkWidget *entry; | |
| 115 GtkWidget *account; | |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
116 GaimConnection *gc; |
| 3197 | 117 }; |
| 118 | |
|
6334
930708df05dd
[gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents:
6331
diff
changeset
|
119 typedef struct |
|
930708df05dd
[gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents:
6331
diff
changeset
|
120 { |
|
930708df05dd
[gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents:
6331
diff
changeset
|
121 char *username; |
|
930708df05dd
[gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents:
6331
diff
changeset
|
122 gboolean block; |
|
930708df05dd
[gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents:
6331
diff
changeset
|
123 GaimConnection *gc; |
|
930708df05dd
[gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents:
6331
diff
changeset
|
124 |
|
930708df05dd
[gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents:
6331
diff
changeset
|
125 } GaimGtkBlockData; |
|
930708df05dd
[gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents:
6331
diff
changeset
|
126 |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
127 static GSList *info_dlgs = NULL; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
128 |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
129 static struct info_dlg *find_info_dlg(GaimConnection *gc, const char *who) |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
130 { |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
131 GSList *i = info_dlgs; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
132 while (i) { |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
133 struct info_dlg *d = i->data; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
134 i = i->next; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
135 if (d->gc != gc) |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
136 continue; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
137 if (d->who == NULL) |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
138 continue; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
139 if (!who) |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
140 continue; |
| 4793 | 141 if (!gaim_utf8_strcasecmp(normalize(who), d->who)) |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
142 return d; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
143 } |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
144 return NULL; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
145 } |
| 1 | 146 |
| 147 struct set_info_dlg { | |
| 148 GtkWidget *window; | |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
940
diff
changeset
|
149 GtkWidget *menu; |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
150 GaimAccount *account; |
| 1 | 151 GtkWidget *text; |
| 152 GtkWidget *save; | |
| 153 GtkWidget *cancel; | |
| 154 }; | |
| 155 | |
| 2344 | 156 struct set_icon_dlg { |
| 157 GtkWidget *window; | |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
158 GaimAccount *account; |
| 2344 | 159 GtkWidget *ok; |
| 160 GtkWidget *cancel; | |
| 161 GtkWidget *entry; | |
| 162 }; | |
| 163 | |
| 1 | 164 struct set_dir_dlg { |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
165 GaimConnection *gc; |
| 1 | 166 GtkWidget *window; |
| 167 GtkWidget *first; | |
| 168 GtkWidget *middle; | |
| 169 GtkWidget *last; | |
| 170 GtkWidget *maiden; | |
| 171 GtkWidget *city; | |
| 172 GtkWidget *state; | |
| 173 GtkWidget *country; | |
| 174 GtkWidget *web; | |
| 175 GtkWidget *cancel; | |
| 176 GtkWidget *save; | |
| 177 }; | |
| 178 | |
| 179 struct linkdlg { | |
| 180 GtkWidget *ok; | |
| 181 GtkWidget *cancel; | |
| 182 GtkWidget *window; | |
| 183 GtkWidget *url; | |
| 184 GtkWidget *text; | |
| 185 GtkWidget *toggle; | |
| 186 GtkWidget *entry; | |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
187 GaimConversation *c; |
| 1 | 188 }; |
| 189 | |
| 146 | 190 struct passwddlg { |
| 191 GtkWidget *window; | |
| 192 GtkWidget *ok; | |
| 193 GtkWidget *cancel; | |
| 194 GtkWidget *original; | |
| 195 GtkWidget *new1; | |
| 196 GtkWidget *new2; | |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
197 GaimConnection *gc; |
| 146 | 198 }; |
| 1 | 199 |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
200 struct view_log { |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
201 long offset; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
202 int options; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
203 char *name; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
204 GtkWidget *bbox; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
205 GtkWidget *window; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
206 GtkWidget *layout; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
207 }; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
208 |
| 4119 | 209 /* Wrapper to get all the text from a GtkTextView */ |
| 210 gchar* gtk_text_view_get_text(GtkTextView *text, gboolean include_hidden_chars) | |
| 211 { | |
| 212 GtkTextBuffer *buffer; | |
| 213 GtkTextIter start, end; | |
| 214 | |
| 215 buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)); | |
| 216 gtk_text_buffer_get_start_iter(buffer, &start); | |
| 217 gtk_text_buffer_get_end_iter(buffer, &end); | |
| 218 | |
| 219 return gtk_text_buffer_get_text(buffer, &start, &end, include_hidden_chars); | |
| 220 } | |
| 221 | |
| 1 | 222 /*------------------------------------------------------------------------*/ |
| 223 /* Destroys */ | |
| 224 /*------------------------------------------------------------------------*/ | |
| 225 | |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
226 static gint delete_event_dialog(GtkWidget *w, GdkEventAny *e, GaimConversation *c) |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
227 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
228 GaimGtkConversation *gtkconv; |
| 605 | 229 gchar *object_data; |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
230 |
| 4635 | 231 object_data = g_object_get_data(G_OBJECT(w), "dialog_type"); |
| 605 | 232 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
233 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
234 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
235 if (GTK_IS_COLOR_SELECTION_DIALOG(w)) { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
236 if (w == gtkconv->dialogs.fg_color) { |
| 4635 | 237 gtk_toggle_button_set_active( |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
238 GTK_TOGGLE_BUTTON(gtkconv->toolbar.fgcolor), FALSE); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
239 gtkconv->dialogs.fg_color = NULL; |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
240 } else { |
| 4635 | 241 gtk_toggle_button_set_active( |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
242 GTK_TOGGLE_BUTTON(gtkconv->toolbar.bgcolor), FALSE); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
243 gtkconv->dialogs.bg_color = NULL; |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
244 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
245 } else if (GTK_IS_FONT_SELECTION_DIALOG(w)) { |
| 4635 | 246 gtk_toggle_button_set_active( |
| 4685 | 247 GTK_TOGGLE_BUTTON(gtkconv->toolbar.font), FALSE); |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
248 gtkconv->dialogs.font = NULL; |
| 4793 | 249 } else if (!g_ascii_strcasecmp(object_data, "smiley dialog")) { |
| 4635 | 250 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.smiley), |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
251 FALSE); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
252 gtkconv->dialogs.smiley = NULL; |
| 4793 | 253 } else if (!g_ascii_strcasecmp(object_data, "log dialog")) { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
254 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtkconv->toolbar.log), |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
255 FALSE); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
256 gtkconv->dialogs.log = NULL; |
| 608 | 257 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
258 |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
259 dialogwindows = g_list_remove(dialogwindows, w); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
260 gtk_widget_destroy(w); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
261 |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
262 return FALSE; |
|
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
263 } |
| 1 | 264 |
| 265 static void destroy_dialog(GtkWidget *w, GtkWidget *w2) | |
| 266 { | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
267 GtkWidget *dest; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
268 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
269 if (!GTK_IS_WIDGET(w2)) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
270 dest = w; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
271 else |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
272 dest = w2; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
273 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
274 if (dest == imdialog) |
| 1 | 275 imdialog = NULL; |
|
5050
dfec167391a5
[gaim-migrate @ 5398]
Christian Hammond <chipx86@chipx86.com>
parents:
5024
diff
changeset
|
276 else if (dest == importdialog) { |
| 1 | 277 importdialog = NULL; |
|
2493
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
278 importgc = NULL; |
|
1b7a1133962d
[gaim-migrate @ 2506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2472
diff
changeset
|
279 } |
|
5050
dfec167391a5
[gaim-migrate @ 5398]
Christian Hammond <chipx86@chipx86.com>
parents:
5024
diff
changeset
|
280 else if (dest == icondlg) |
| 2344 | 281 icondlg = NULL; |
|
5050
dfec167391a5
[gaim-migrate @ 5398]
Christian Hammond <chipx86@chipx86.com>
parents:
5024
diff
changeset
|
282 else if (dest == rename_dialog) |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
283 rename_dialog = NULL; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
284 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
285 dialogwindows = g_list_remove(dialogwindows, dest); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
286 gtk_widget_destroy(dest); |
| 1 | 287 } |
| 288 | |
| 289 | |
| 290 void destroy_all_dialogs() | |
| 291 { | |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
292 while (dialogwindows) |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
293 destroy_dialog(NULL, dialogwindows->data); |
| 1 | 294 |
|
391
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
350
diff
changeset
|
295 if (awaymessage) |
|
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
350
diff
changeset
|
296 do_im_back(NULL, NULL); |
| 84 | 297 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
298 if (imdialog) { |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
299 destroy_dialog(NULL, imdialog); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
300 imdialog = NULL; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
301 } |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
302 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
303 if (importdialog) { |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
304 destroy_dialog(NULL, importdialog); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
305 importdialog = NULL; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
306 } |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
307 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
308 if (icondlg) { |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
309 destroy_dialog(NULL, icondlg); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
310 icondlg = NULL; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
311 } |
| 1 | 312 } |
| 313 | |
| 3757 | 314 static void do_warn(GtkWidget *widget, gint resp, struct warning *w) |
| 1 | 315 { |
| 3757 | 316 if (resp == GTK_RESPONSE_OK) |
| 317 serv_warn(w->gc, w->who, (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w->anon))) ? 1 : 0); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
318 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
319 destroy_dialog(NULL, w->window); |
|
1288
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
320 g_free(w); |
|
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
321 } |
| 1 | 322 |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
323 void show_warn_dialog(GaimConnection *gc, char *who) |
| 1 | 324 { |
| 3757 | 325 char *labeltext; |
| 326 GtkWidget *hbox, *vbox; | |
| 1 | 327 GtkWidget *label; |
| 5024 | 328 GtkWidget *img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_DIALOG); |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
329 GaimConversation *c = gaim_find_conversation(who); |
| 441 | 330 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
331 struct warning *w = g_new0(struct warning, 1); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
332 w->who = who; |
|
1288
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
333 w->gc = gc; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
334 |
| 3757 | 335 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); |
| 336 | |
| 6112 | 337 w->window = gtk_dialog_new_with_buttons(_("Warn User"), |
| 338 GTK_WINDOW(GAIM_GTK_WINDOW(c->window)->window), 0, | |
| 339 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, | |
| 340 _("_Warn"), GTK_RESPONSE_OK, NULL); | |
| 4118 | 341 gtk_dialog_set_default_response (GTK_DIALOG(w->window), GTK_RESPONSE_OK); |
| 3757 | 342 g_signal_connect(G_OBJECT(w->window), "response", G_CALLBACK(do_warn), w); |
| 343 | |
| 344 gtk_container_set_border_width (GTK_CONTAINER(w->window), 6); | |
| 345 gtk_window_set_resizable(GTK_WINDOW(w->window), FALSE); | |
| 346 gtk_dialog_set_has_separator(GTK_DIALOG(w->window), FALSE); | |
| 347 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(w->window)->vbox), 12); | |
| 348 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(w->window)->vbox), 6); | |
| 349 | |
| 350 hbox = gtk_hbox_new(FALSE, 12); | |
| 351 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(w->window)->vbox), hbox); | |
| 352 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
| 353 | |
| 354 vbox = gtk_vbox_new(FALSE, 0); | |
| 355 gtk_container_add(GTK_CONTAINER(hbox), vbox); | |
| 356 labeltext = g_strdup_printf(_("<span weight=\"bold\" size=\"larger\">Warn %s?</span>\n\n" | |
| 357 "This will increase %s's warning level and he or she will be subject to harsher rate limiting.\n"), who, who); | |
| 358 label = gtk_label_new(NULL); | |
| 359 gtk_label_set_markup(GTK_LABEL(label), labeltext); | |
| 360 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | |
| 361 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 362 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); | |
| 363 g_free(labeltext); | |
| 364 | |
| 365 w->anon = gtk_check_button_new_with_mnemonic(_("Warn _anonymously?")); | |
| 366 gtk_box_pack_start(GTK_BOX(vbox), w->anon, FALSE, FALSE, 0); | |
| 367 | |
| 368 hbox = gtk_hbox_new(FALSE, 6); | |
| 369 gtk_container_add(GTK_CONTAINER(vbox), hbox); | |
| 370 img = gtk_image_new_from_stock(GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_MENU); | |
| 371 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
| 372 labeltext = _("<b>Anonymous warnings are less severe.</b>"); | |
| 373 /* labeltext = _("Anonymous warnings are less severe."); */ | |
| 374 label = gtk_label_new(NULL); | |
| 375 gtk_label_set_markup(GTK_LABEL(label), labeltext); | |
| 376 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | |
| 377 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 378 | |
|
1288
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
379 dialogwindows = g_list_prepend(dialogwindows, w->window); |
| 3757 | 380 gtk_widget_show_all(w->window); |
| 1 | 381 } |
| 382 | |
|
6334
930708df05dd
[gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents:
6331
diff
changeset
|
383 static void |
|
930708df05dd
[gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents:
6331
diff
changeset
|
384 do_remove_chat(struct chat *chat) |
| 5234 | 385 { |
| 386 gaim_blist_remove_chat(chat); | |
| 387 gaim_blist_save(); | |
| 388 } | |
| 389 | |
|
6334
930708df05dd
[gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents:
6331
diff
changeset
|
390 static void |
|
930708df05dd
[gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents:
6331
diff
changeset
|
391 do_remove_buddy(struct buddy *b) |
| 2743 | 392 { |
|
4918
553d96cb9b26
[gaim-migrate @ 5252]
Christian Hammond <chipx86@chipx86.com>
parents:
4916
diff
changeset
|
393 struct group *g; |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
394 GaimConversation *c; |
|
4918
553d96cb9b26
[gaim-migrate @ 5252]
Christian Hammond <chipx86@chipx86.com>
parents:
4916
diff
changeset
|
395 gchar *name; |
| 2743 | 396 |
| 397 if (!b) | |
| 398 return; | |
| 399 | |
| 4687 | 400 g = gaim_find_buddys_group(b); |
|
4918
553d96cb9b26
[gaim-migrate @ 5252]
Christian Hammond <chipx86@chipx86.com>
parents:
4916
diff
changeset
|
401 name = g_strdup(b->name); /* b->name is null after remove_buddy */ |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
402 |
|
5213
1cf4eb75e3ee
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
403 gaim_debug(GAIM_DEBUG_INFO, "blist", |
|
1cf4eb75e3ee
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
404 "Removing '%s' from buddy list.\n", b->name); |
| 4491 | 405 serv_remove_buddy(b->account->gc, name, g->name); |
| 4687 | 406 gaim_blist_remove_buddy(b); |
| 4349 | 407 gaim_blist_save(); |
| 2743 | 408 |
|
4397
ce3a0eba91ef
[gaim-migrate @ 4666]
Christian Hammond <chipx86@chipx86.com>
parents:
4372
diff
changeset
|
409 c = gaim_find_conversation(name); |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
410 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
411 if (c != NULL) |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
412 gaim_conversation_update(c, GAIM_CONV_UPDATE_REMOVE); |
|
4397
ce3a0eba91ef
[gaim-migrate @ 4666]
Christian Hammond <chipx86@chipx86.com>
parents:
4372
diff
changeset
|
413 |
|
ce3a0eba91ef
[gaim-migrate @ 4666]
Christian Hammond <chipx86@chipx86.com>
parents:
4372
diff
changeset
|
414 g_free(name); |
| 2743 | 415 } |
| 416 | |
| 4916 | 417 void do_remove_group(struct group *g) |
| 418 { | |
| 419 GaimBlistNode *b = ((GaimBlistNode*)g)->child; | |
| 420 while (b) { | |
| 5234 | 421 if(GAIM_BLIST_NODE_IS_BUDDY(b)) { |
| 422 struct buddy *bd = (struct buddy *)b; | |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
423 GaimConversation *c = gaim_find_conversation(bd->name); |
| 6088 | 424 if (gaim_account_is_connected(bd->account)) { |
| 5234 | 425 serv_remove_buddy(bd->account->gc, bd->name, g->name); |
| 426 gaim_blist_remove_buddy(bd); | |
| 427 | |
| 428 if (c != NULL) | |
| 429 gaim_conversation_update(c, GAIM_CONV_UPDATE_REMOVE); | |
| 430 } | |
| 6088 | 431 } else if(GAIM_BLIST_NODE_IS_CHAT(b)) { |
| 432 struct chat *chat = (struct chat *)b; | |
| 433 if (gaim_account_is_connected(chat->account)) { | |
| 434 gaim_blist_remove_chat(chat); | |
| 435 } | |
| 4938 | 436 } |
| 4916 | 437 b = b->next; |
| 438 } | |
| 439 gaim_blist_remove_group(g); | |
| 440 gaim_blist_save(); | |
| 441 } | |
| 442 | |
| 5975 | 443 void show_confirm_del(struct buddy *b) |
| 2743 | 444 { |
| 3753 | 445 char *text; |
| 5975 | 446 if (!b) |
| 3753 | 447 return; |
| 448 | |
| 5975 | 449 text = g_strdup_printf(_("You are about to remove %s from your buddy list. Do you want to continue?"), b->name); |
| 450 | |
| 451 gaim_request_action(NULL, NULL, _("Remove Buddy"), text, -1, b, 2, | |
|
5498
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
452 _("Remove Buddy"), G_CALLBACK(do_remove_buddy), |
|
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
453 _("Cancel"), NULL); |
|
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
454 |
| 3753 | 455 g_free(text); |
| 2743 | 456 } |
| 457 | |
| 5234 | 458 void show_confirm_del_chat(struct chat *chat) |
| 459 { | |
| 6036 | 460 char *name = gaim_chat_get_display_name(chat); |
| 6034 | 461 char *text = g_strdup_printf(_("You are about to remove the chat %s from your buddy list. Do you want to continue?"), name); |
|
5498
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
462 |
|
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
463 gaim_request_action(NULL, NULL, _("Remove Chat"), text, -1, chat, 2, |
|
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
464 _("Remove Chat"), G_CALLBACK(do_remove_chat), |
|
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
465 _("Cancel"), NULL); |
|
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
466 |
| 6034 | 467 g_free(name); |
| 5234 | 468 g_free(text); |
| 469 } | |
| 470 | |
| 4916 | 471 void show_confirm_del_group(struct group *g) |
| 472 { | |
|
5498
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
473 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 | 474 g->name); |
|
5498
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
475 |
|
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
476 gaim_request_action(NULL, NULL, _("Remove Group"), text, -1, g, 2, |
|
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
477 _("Remove Group"), G_CALLBACK(do_remove_group), |
|
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
478 _("Cancel"), NULL); |
|
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
479 |
| 4916 | 480 g_free(text); |
| 481 } | |
| 1 | 482 |
| 483 /*------------------------------------------------------------------------*/ | |
| 484 /* The dialog for getting an error */ | |
| 485 /*------------------------------------------------------------------------*/ | |
| 3816 | 486 static void do_im(GtkWidget *widget, int resp, struct getuserinfo *info) |
| 1 | 487 { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
488 const char *who; |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
489 GaimConversation *conv; |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
490 GaimAccount *account; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
491 |
| 3802 | 492 if (resp == GTK_RESPONSE_OK) { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
493 who = gtk_entry_get_text(GTK_ENTRY(info->entry)); |
|
4476
62c1e5e656d0
[gaim-migrate @ 4751]
Christian Hammond <chipx86@chipx86.com>
parents:
4472
diff
changeset
|
494 |
| 4613 | 495 if (!who || !*who) { |
| 496 /* this shouldn't ever happen */ | |
| 3802 | 497 return; |
| 498 } | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
499 |
| 4491 | 500 account = (info->gc ? info->gc->account : NULL); |
|
4476
62c1e5e656d0
[gaim-migrate @ 4751]
Christian Hammond <chipx86@chipx86.com>
parents:
4472
diff
changeset
|
501 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
502 conv = gaim_find_conversation(who); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
503 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
504 if (conv == NULL) |
| 4491 | 505 conv = gaim_conversation_new(GAIM_CONV_IM, account, who); |
|
4476
62c1e5e656d0
[gaim-migrate @ 4751]
Christian Hammond <chipx86@chipx86.com>
parents:
4472
diff
changeset
|
506 else { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
507 gaim_window_raise(gaim_conversation_get_window(conv)); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
508 |
| 4491 | 509 if (account) |
| 510 gaim_conversation_set_account(conv, account); | |
|
4476
62c1e5e656d0
[gaim-migrate @ 4751]
Christian Hammond <chipx86@chipx86.com>
parents:
4472
diff
changeset
|
511 } |
| 1 | 512 } |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
513 |
| 3816 | 514 destroy_dialog(NULL, imdialog); |
| 515 imdialog = NULL; | |
| 4138 | 516 g_free(info); |
| 1 | 517 } |
| 518 | |
| 3802 | 519 static void do_info(GtkWidget *widget, int resp, struct getuserinfo *info) |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
520 { |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
521 char *who; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
522 |
| 3802 | 523 if (resp == GTK_RESPONSE_OK) { |
| 524 who = g_strdup(normalize(gtk_entry_get_text(GTK_ENTRY(info->entry)))); | |
| 525 | |
| 4793 | 526 if (!g_ascii_strcasecmp(who, "")) { |
| 3802 | 527 g_free(who); |
| 528 return; | |
| 529 } | |
| 530 | |
| 531 /* what do we want to do about this case? */ | |
| 532 if (info->gc) | |
| 533 serv_get_info(info->gc, who); | |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
534 g_free(who); |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
535 } |
| 3802 | 536 gtk_widget_destroy(GTK_WIDGET(widget)); |
| 4138 | 537 g_free(info); |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
538 } |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
539 |
| 1 | 540 void show_ee_dialog(int ee) |
| 541 { | |
| 3767 | 542 GtkWidget *window; |
| 543 GtkWidget *hbox; | |
| 1 | 544 GtkWidget *label; |
|
4695
4bdd9a5fd026
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
545 struct gaim_gtk_buddy_list *gtkblist; |
| 5024 | 546 GtkWidget *img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_COOL, GTK_ICON_SIZE_DIALOG); |
|
4695
4bdd9a5fd026
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
547 |
|
4bdd9a5fd026
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
548 gtkblist = GAIM_GTK_BLIST(gaim_get_blist()); |
|
4bdd9a5fd026
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
549 |
| 3767 | 550 label = gtk_label_new(NULL); |
| 1 | 551 if (ee == 0) |
| 3767 | 552 gtk_label_set_markup(GTK_LABEL(label), |
| 553 "<span weight=\"bold\" size=\"large\" foreground=\"purple\">Amazing! Simply Amazing!</span>"); | |
| 1 | 554 else if (ee == 1) |
| 3767 | 555 gtk_label_set_markup(GTK_LABEL(label), |
| 556 "<span weight=\"bold\" size=\"large\" foreground=\"#1f6bad\">Pimpin\' Penguin Style! *Waddle Waddle*</span>"); | |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
557 else if (ee == 2) |
| 3767 | 558 gtk_label_set_markup(GTK_LABEL(label), |
| 559 "<span weight=\"bold\" size=\"large\" foreground=\"blue\">You should be me. I'm so cute!</span>"); | |
| 2472 | 560 else if (ee == 3) |
| 3767 | 561 gtk_label_set_markup(GTK_LABEL(label), |
| 562 "<span weight=\"bold\" size=\"large\" foreground=\"orange\">Now that's what I like!</span>"); | |
| 2993 | 563 else if (ee == 4) |
| 3767 | 564 gtk_label_set_markup(GTK_LABEL(label), |
| 565 "<span weight=\"bold\" size=\"large\" foreground=\"brown\">Ahh, and excellent choice!</span>"); | |
| 3043 | 566 else if (ee == 5) |
| 3767 | 567 gtk_label_set_markup(GTK_LABEL(label), |
| 568 "<span weight=\"bold\" size=\"large\" foreground=\"#009900\">Everytime you click my name, an angel gets its wings.</span>"); | |
| 3152 | 569 else if (ee == 6) |
| 3767 | 570 gtk_label_set_markup(GTK_LABEL(label), |
| 571 "<span weight=\"bold\" size=\"large\" foreground=\"red\">This sunflower seed taste like pizza.</span>"); | |
| 3508 | 572 else if (ee == 7) |
| 3767 | 573 gtk_label_set_markup(GTK_LABEL(label), |
| 574 "<span weight=\"bold\" size=\"large\" foreground=\"#6364B1\">Hey! I was in that tumbleweed!</span>"); | |
| 3508 | 575 else |
| 3767 | 576 gtk_label_set_markup(GTK_LABEL(label), |
| 577 "<span weight=\"bold\" size=\"large\" foreground=\"gray\">I'm not anything.</span>"); | |
| 578 | |
| 5092 | 579 window = gtk_dialog_new_with_buttons("", GTK_WINDOW(gtkblist->window), 0, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); |
| 3767 | 580 gtk_dialog_set_default_response (GTK_DIALOG(window), GTK_RESPONSE_OK); |
| 581 g_signal_connect(G_OBJECT(window), "response", G_CALLBACK(gtk_widget_destroy), NULL); | |
| 3152 | 582 |
| 3767 | 583 gtk_container_set_border_width (GTK_CONTAINER(window), 6); |
| 584 gtk_window_set_resizable(GTK_WINDOW(window), FALSE); | |
| 585 gtk_dialog_set_has_separator(GTK_DIALOG(window), FALSE); | |
| 586 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(window)->vbox), 12); | |
| 587 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(window)->vbox), 6); | |
| 588 | |
| 589 hbox = gtk_hbox_new(FALSE, 12); | |
| 590 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(window)->vbox), hbox); | |
| 591 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
| 592 | |
| 593 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | |
| 594 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 595 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 4635 | 596 |
| 3767 | 597 gtk_widget_show_all(window); |
| 1 | 598 } |
| 599 | |
|
6371
8f94cce8faa5
[gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents:
6352
diff
changeset
|
600 static void |
|
8f94cce8faa5
[gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents:
6352
diff
changeset
|
601 show_info_select_account(GObject *w, GaimAccount *account, |
|
8f94cce8faa5
[gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents:
6352
diff
changeset
|
602 struct getuserinfo *info) |
| 3816 | 603 { |
|
5880
1b85ff65be57
[gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
604 info->gc = gaim_account_get_connection(account); |
| 3816 | 605 } |
| 606 | |
| 4614 | 607 static void dialog_set_ok_sensitive(GtkWidget *entry, GtkWidget *dlg) { |
| 4613 | 608 const char *txt = gtk_entry_get_text(GTK_ENTRY(entry)); |
| 4614 | 609 gtk_dialog_set_response_sensitive(GTK_DIALOG(dlg), GTK_RESPONSE_OK, |
| 4613 | 610 (*txt != '\0')); |
| 611 } | |
| 612 | |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
613 void show_im_dialog() |
| 1 | 614 { |
| 3802 | 615 GtkWidget *hbox, *vbox; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
616 GtkWidget *label; |
|
5880
1b85ff65be57
[gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
617 GtkWidget *table; |
|
4695
4bdd9a5fd026
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
618 struct gaim_gtk_buddy_list *gtkblist; |
| 5024 | 619 GtkWidget *img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG); |
| 3816 | 620 struct getuserinfo *info = NULL; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
621 |
|
4695
4bdd9a5fd026
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
622 gtkblist = GAIM_GTK_BLIST(gaim_get_blist()); |
|
4bdd9a5fd026
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
623 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
624 if (!imdialog) { |
| 3816 | 625 info = g_new0(struct getuserinfo, 1); |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
626 info->gc = gaim_connections_get_all()->data; |
| 5092 | 627 imdialog = gtk_dialog_new_with_buttons(_("New Message"), gtkblist ? GTK_WINDOW(gtkblist->window) : NULL, 0, |
| 3802 | 628 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); |
| 629 gtk_dialog_set_default_response (GTK_DIALOG(imdialog), GTK_RESPONSE_OK); | |
| 630 gtk_container_set_border_width (GTK_CONTAINER(imdialog), 6); | |
| 631 gtk_window_set_resizable(GTK_WINDOW(imdialog), FALSE); | |
| 632 gtk_dialog_set_has_separator(GTK_DIALOG(imdialog), FALSE); | |
| 633 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(imdialog)->vbox), 12); | |
| 634 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(imdialog)->vbox), 6); | |
| 4613 | 635 gtk_dialog_set_response_sensitive(GTK_DIALOG(imdialog), GTK_RESPONSE_OK, FALSE); |
| 636 | |
| 3802 | 637 hbox = gtk_hbox_new(FALSE, 12); |
| 638 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(imdialog)->vbox), hbox); | |
| 639 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
| 640 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); | |
| 641 | |
| 642 vbox = gtk_vbox_new(FALSE, 0); | |
| 643 gtk_container_add(GTK_CONTAINER(hbox), vbox); | |
| 4613 | 644 |
| 3802 | 645 label = gtk_label_new(_("Please enter the screenname of the person you would like to IM.\n")); |
| 3825 | 646 gtk_widget_set_size_request(GTK_WIDGET(label), 350, -1); |
| 3802 | 647 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); |
| 648 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 649 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); | |
| 4613 | 650 |
| 3802 | 651 hbox = gtk_hbox_new(FALSE, 6); |
| 652 gtk_container_add(GTK_CONTAINER(vbox), hbox); | |
| 4613 | 653 |
| 3816 | 654 table = gtk_table_new(2, 2, FALSE); |
| 655 gtk_table_set_row_spacings(GTK_TABLE(table), 6); | |
| 656 gtk_table_set_col_spacings(GTK_TABLE(table), 6); | |
| 657 gtk_container_set_border_width(GTK_CONTAINER(table), 12); | |
| 658 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); | |
| 4613 | 659 |
| 3802 | 660 label = gtk_label_new(NULL); |
| 3816 | 661 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Screenname:")); |
| 3823 | 662 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); |
| 3816 | 663 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1); |
| 664 | |
| 665 info->entry = gtk_entry_new(); | |
| 666 gtk_table_attach_defaults(GTK_TABLE(table), info->entry, 1, 2, 0, 1); | |
| 667 gtk_entry_set_activates_default (GTK_ENTRY(info->entry), TRUE); | |
| 668 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->entry)); | |
| 4613 | 669 g_signal_connect(G_OBJECT(info->entry), "changed", |
| 4614 | 670 G_CALLBACK(dialog_set_ok_sensitive), imdialog); |
| 3816 | 671 |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
672 if (gaim_connections_get_all()->next) { |
| 3816 | 673 |
| 674 label = gtk_label_new(NULL); | |
| 675 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2); | |
| 676 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Account:")); | |
| 677 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 4613 | 678 |
|
5880
1b85ff65be57
[gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
679 info->account = gaim_gtk_account_option_menu_new(NULL, FALSE, |
|
1b85ff65be57
[gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
680 G_CALLBACK(show_info_select_account), info); |
|
1b85ff65be57
[gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
681 |
| 3816 | 682 gtk_table_attach_defaults(GTK_TABLE(table), info->account, 1, 2, 1, 2); |
| 683 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->account)); | |
| 684 } | |
| 4613 | 685 |
| 3816 | 686 g_signal_connect(G_OBJECT(imdialog), "response", G_CALLBACK(do_im), info); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
687 } |
| 4613 | 688 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
689 gtk_widget_show_all(imdialog); |
| 3816 | 690 if (info) |
| 691 gtk_widget_grab_focus(GTK_WIDGET(info->entry)); | |
| 3197 | 692 } |
| 693 | |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
694 void show_info_dialog() |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
695 { |
| 3802 | 696 GtkWidget *window, *hbox, *vbox; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
697 GtkWidget *label; |
| 5024 | 698 GtkWidget *img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG); |
|
5880
1b85ff65be57
[gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
699 GtkWidget *table; |
| 3197 | 700 struct getuserinfo *info = g_new0(struct getuserinfo, 1); |
|
4695
4bdd9a5fd026
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
701 struct gaim_gtk_buddy_list *gtkblist; |
| 3802 | 702 |
|
4695
4bdd9a5fd026
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
703 gtkblist = GAIM_GTK_BLIST(gaim_get_blist()); |
|
4bdd9a5fd026
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
704 |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
705 info->gc = gaim_connections_get_all()->data; |
| 3197 | 706 |
| 5092 | 707 window = gtk_dialog_new_with_buttons(_("Get User Info"), gtkblist->window ? GTK_WINDOW(gtkblist->window) : NULL, 0, |
| 3802 | 708 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); |
| 709 gtk_dialog_set_default_response (GTK_DIALOG(window), GTK_RESPONSE_OK); | |
| 710 gtk_container_set_border_width (GTK_CONTAINER(window), 6); | |
| 711 gtk_window_set_resizable(GTK_WINDOW(window), FALSE); | |
| 712 gtk_dialog_set_has_separator(GTK_DIALOG(window), FALSE); | |
| 713 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(window)->vbox), 12); | |
| 714 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(window)->vbox), 6); | |
| 4614 | 715 |
| 3802 | 716 hbox = gtk_hbox_new(FALSE, 12); |
| 717 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(window)->vbox), hbox); | |
| 718 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
| 719 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); | |
| 4614 | 720 gtk_dialog_set_response_sensitive(GTK_DIALOG(window), GTK_RESPONSE_OK, |
| 721 FALSE); | |
| 722 | |
| 3802 | 723 vbox = gtk_vbox_new(FALSE, 0); |
| 724 gtk_container_add(GTK_CONTAINER(hbox), vbox); | |
| 725 | |
| 726 label = gtk_label_new(_("Please enter the screenname of the person whose info you would like to view.\n")); | |
| 727 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | |
| 728 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 729 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); | |
| 730 | |
| 3197 | 731 table = gtk_table_new(2, 2, FALSE); |
| 3802 | 732 gtk_table_set_row_spacings(GTK_TABLE(table), 6); |
| 733 gtk_table_set_col_spacings(GTK_TABLE(table), 6); | |
| 734 gtk_container_set_border_width(GTK_CONTAINER(table), 12); | |
| 735 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); | |
| 736 | |
| 737 label = gtk_label_new(NULL); | |
| 738 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Screenname:")); | |
| 3822 | 739 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); |
| 3197 | 740 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1); |
| 741 | |
| 742 info->entry = gtk_entry_new(); | |
| 743 gtk_table_attach_defaults(GTK_TABLE(table), info->entry, 1, 2, 0, 1); | |
| 3802 | 744 gtk_entry_set_activates_default (GTK_ENTRY(info->entry), TRUE); |
| 745 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->entry)); | |
| 4614 | 746 |
| 747 g_signal_connect(G_OBJECT(info->entry), "changed", | |
| 748 G_CALLBACK(dialog_set_ok_sensitive), window); | |
| 3802 | 749 |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
750 if (gaim_connections_get_all()->next) { |
| 3197 | 751 |
| 3802 | 752 label = gtk_label_new(NULL); |
| 3197 | 753 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2); |
| 3802 | 754 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Account:")); |
| 755 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 1225 | 756 |
|
5880
1b85ff65be57
[gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
757 info->account = gaim_gtk_account_option_menu_new(NULL, FALSE, |
|
1b85ff65be57
[gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
758 G_CALLBACK(show_info_select_account), info); |
|
1b85ff65be57
[gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
759 |
| 3197 | 760 gtk_table_attach_defaults(GTK_TABLE(table), info->account, 1, 2, 1, 2); |
| 3802 | 761 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->account)); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
762 } |
| 3197 | 763 |
| 3802 | 764 g_signal_connect(G_OBJECT(window), "response", G_CALLBACK(do_info), info); |
| 765 | |
| 766 | |
| 767 gtk_widget_show_all(window); | |
| 768 if (info->entry) | |
| 769 gtk_widget_grab_focus(GTK_WIDGET(info->entry)); | |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
770 } |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
771 |
| 1 | 772 |
| 773 /*------------------------------------------------------------------------*/ | |
| 774 /* The dialog for adding buddies */ | |
| 775 /*------------------------------------------------------------------------*/ | |
| 776 | |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
777 extern void add_callback(GtkWidget *, GaimConversation *); |
|
654
ea811c6dd3e0
[gaim-migrate @ 664]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
653
diff
changeset
|
778 |
| 4180 | 779 void do_add_buddy(GtkWidget *w, int resp, struct addbuddy *a) |
| 1 | 780 { |
| 3466 | 781 const char *grp, *who, *whoalias; |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
782 GaimConversation *c; |
| 4687 | 783 struct buddy *b; |
| 784 struct group *g; | |
| 4769 | 785 void *icon_data; |
| 786 void *icon_data2; | |
| 787 int icon_len; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
788 |
| 4180 | 789 if (resp == GTK_RESPONSE_OK) { |
| 790 | |
| 791 who = gtk_entry_get_text(GTK_ENTRY(a->entry)); | |
| 792 grp = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(a->combo)->entry)); | |
| 793 whoalias = gtk_entry_get_text(GTK_ENTRY(a->entry_for_alias)); | |
| 794 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
795 c = gaim_find_conversation(who); |
| 4775 | 796 if (!(g = gaim_find_group(grp))) { |
| 4687 | 797 g = gaim_group_new(grp); |
| 4775 | 798 gaim_blist_add_group(g, NULL); |
| 799 } | |
| 4687 | 800 b = gaim_buddy_new(a->gc->account, who, whoalias); |
| 801 gaim_blist_add_buddy(b, g, NULL); | |
| 4180 | 802 serv_add_buddy(a->gc, who); |
| 803 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
804 if (c != NULL) |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
805 gaim_conversation_update(c, GAIM_CONV_UPDATE_ADD); |
| 4180 | 806 |
| 4769 | 807 icon_data = get_icon_data(a->gc, normalize(who), &icon_len); |
| 808 | |
| 809 if(icon_data) { | |
| 810 icon_data2 = g_memdup(icon_data, icon_len); | |
| 811 set_icon_data(a->gc, who, icon_data2, icon_len); | |
| 812 g_free(icon_data2); | |
| 813 } | |
| 814 | |
| 4349 | 815 gaim_blist_save(); |
|
654
ea811c6dd3e0
[gaim-migrate @ 664]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
653
diff
changeset
|
816 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
817 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
818 destroy_dialog(NULL, a->window); |
| 1 | 819 } |
| 820 | |
| 4978 | 821 static GList *groups_tree() |
| 1 | 822 { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
823 GList *tmp = NULL; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
824 char *tmp2; |
| 1 | 825 struct group *g; |
| 4785 | 826 |
| 827 GaimBlistNode *gnode = gaim_get_blist()->root; | |
| 828 | |
| 829 if (!gnode) { | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
830 tmp2 = g_strdup(_("Buddies")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
831 tmp = g_list_append(tmp, tmp2); |
| 1 | 832 } else { |
| 4785 | 833 while (gnode) { |
| 834 if(GAIM_BLIST_NODE_IS_GROUP(gnode)) { | |
| 835 g = (struct group *)gnode; | |
| 836 tmp2 = g->name; | |
| 837 tmp = g_list_append(tmp, tmp2); | |
| 838 } | |
| 839 gnode = gnode->next; | |
| 1 | 840 } |
| 841 } | |
| 842 return tmp; | |
| 843 } | |
| 844 | |
|
825
9108277c95e9
[gaim-migrate @ 835]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
804
diff
changeset
|
845 static void free_dialog(GtkWidget *w, struct addbuddy *a) |
|
9108277c95e9
[gaim-migrate @ 835]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
804
diff
changeset
|
846 { |
|
9108277c95e9
[gaim-migrate @ 835]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
804
diff
changeset
|
847 g_free(a); |
|
9108277c95e9
[gaim-migrate @ 835]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
804
diff
changeset
|
848 } |
|
9108277c95e9
[gaim-migrate @ 835]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
804
diff
changeset
|
849 |
| 1 | 850 |
|
6330
def96a62cd0d
[gaim-migrate @ 6829]
Christian Hammond <chipx86@chipx86.com>
parents:
6329
diff
changeset
|
851 static void |
|
def96a62cd0d
[gaim-migrate @ 6829]
Christian Hammond <chipx86@chipx86.com>
parents:
6329
diff
changeset
|
852 add_group_cb(GaimConnection *gc, const char *group_name) |
|
577
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
853 { |
|
6330
def96a62cd0d
[gaim-migrate @ 6829]
Christian Hammond <chipx86@chipx86.com>
parents:
6329
diff
changeset
|
854 struct group *g; |
|
def96a62cd0d
[gaim-migrate @ 6829]
Christian Hammond <chipx86@chipx86.com>
parents:
6329
diff
changeset
|
855 |
|
def96a62cd0d
[gaim-migrate @ 6829]
Christian Hammond <chipx86@chipx86.com>
parents:
6329
diff
changeset
|
856 g = gaim_group_new(group_name); |
|
def96a62cd0d
[gaim-migrate @ 6829]
Christian Hammond <chipx86@chipx86.com>
parents:
6329
diff
changeset
|
857 gaim_blist_add_group(g, NULL); |
|
def96a62cd0d
[gaim-migrate @ 6829]
Christian Hammond <chipx86@chipx86.com>
parents:
6329
diff
changeset
|
858 gaim_blist_save(); |
|
def96a62cd0d
[gaim-migrate @ 6829]
Christian Hammond <chipx86@chipx86.com>
parents:
6329
diff
changeset
|
859 } |
|
def96a62cd0d
[gaim-migrate @ 6829]
Christian Hammond <chipx86@chipx86.com>
parents:
6329
diff
changeset
|
860 |
|
def96a62cd0d
[gaim-migrate @ 6829]
Christian Hammond <chipx86@chipx86.com>
parents:
6329
diff
changeset
|
861 void |
|
def96a62cd0d
[gaim-migrate @ 6829]
Christian Hammond <chipx86@chipx86.com>
parents:
6329
diff
changeset
|
862 show_add_group(GaimConnection *gc) |
|
def96a62cd0d
[gaim-migrate @ 6829]
Christian Hammond <chipx86@chipx86.com>
parents:
6329
diff
changeset
|
863 { |
|
def96a62cd0d
[gaim-migrate @ 6829]
Christian Hammond <chipx86@chipx86.com>
parents:
6329
diff
changeset
|
864 gaim_request_input(NULL, _("Add Group"), _("Add a new group"), |
|
def96a62cd0d
[gaim-migrate @ 6829]
Christian Hammond <chipx86@chipx86.com>
parents:
6329
diff
changeset
|
865 _("Please enter the name of the group to be added."), |
|
def96a62cd0d
[gaim-migrate @ 6829]
Christian Hammond <chipx86@chipx86.com>
parents:
6329
diff
changeset
|
866 NULL, FALSE, FALSE, |
|
def96a62cd0d
[gaim-migrate @ 6829]
Christian Hammond <chipx86@chipx86.com>
parents:
6329
diff
changeset
|
867 _("Add"), G_CALLBACK(add_group_cb), |
|
def96a62cd0d
[gaim-migrate @ 6829]
Christian Hammond <chipx86@chipx86.com>
parents:
6329
diff
changeset
|
868 _("Cancel"), NULL, gc); |
|
577
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
869 } |
|
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
570
diff
changeset
|
870 |
|
5882
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
871 static void |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
872 addbuddy_select_account(GObject *w, GaimAccount *account, |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
873 struct addbuddy *b) |
| 2527 | 874 { |
|
5882
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
875 /* Save our account */ |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
876 b->gc = gaim_account_get_connection(account); |
| 2527 | 877 } |
| 878 | |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
879 void show_add_buddy(GaimConnection *gc, char *buddy, char *group, char *alias) |
| 1 | 880 { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
881 GtkWidget *table; |
| 1 | 882 GtkWidget *label; |
| 4180 | 883 GtkWidget *hbox; |
| 884 GtkWidget *vbox; | |
|
4695
4bdd9a5fd026
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
885 struct gaim_gtk_buddy_list *gtkblist; |
| 5024 | 886 GtkWidget *img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
887 struct addbuddy *a = g_new0(struct addbuddy, 1); |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
888 a->gc = gc ? gc : gaim_connections_get_all()->data; |
| 1210 | 889 |
|
4695
4bdd9a5fd026
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
890 gtkblist = GAIM_GTK_BLIST(gaim_get_blist()); |
|
4bdd9a5fd026
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
891 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
892 GAIM_DIALOG(a->window); |
| 5092 | 893 a->window = gtk_dialog_new_with_buttons(_("Add Buddy"), gtkblist->window ? GTK_WINDOW(gtkblist->window) : NULL, 0, |
| 4180 | 894 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_ADD, GTK_RESPONSE_OK, NULL); |
| 895 | |
| 896 gtk_dialog_set_default_response(GTK_DIALOG(a->window), GTK_RESPONSE_OK); | |
| 897 gtk_container_set_border_width(GTK_CONTAINER(a->window), 6); | |
| 898 gtk_window_set_resizable(GTK_WINDOW(a->window), FALSE); | |
| 899 gtk_dialog_set_has_separator(GTK_DIALOG(a->window), FALSE); | |
| 900 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(a->window)->vbox), 12); | |
| 901 gtk_container_set_border_width(GTK_CONTAINER(GTK_DIALOG(a->window)->vbox), 6); | |
| 4074 | 902 gtk_window_set_role(GTK_WINDOW(a->window), "add_buddy"); |
| 4180 | 903 |
| 904 hbox = gtk_hbox_new(FALSE, 12); | |
| 905 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(a->window)->vbox), hbox); | |
| 906 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
| 907 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); | |
| 908 | |
| 909 vbox = gtk_vbox_new(FALSE, 0); | |
| 910 gtk_container_add(GTK_CONTAINER(hbox), vbox); | |
| 911 | |
| 4599 | 912 label = gtk_label_new(_("Please enter the screen name of the person you would like to add to your buddy list. You may optionally enter an alias, or nickname, for the buddy. The alias will be displayed in place of the screen name whenever possible.\n")); |
| 4180 | 913 gtk_widget_set_size_request(GTK_WIDGET(label), 400, -1); |
| 914 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | |
| 915 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 916 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); | |
| 917 | |
| 918 hbox = gtk_hbox_new(FALSE, 6); | |
| 919 gtk_container_add(GTK_CONTAINER(vbox), hbox); | |
| 920 | |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
921 g_signal_connect(G_OBJECT(a->window), "destroy", G_CALLBACK(destroy_dialog), a->window); |
|
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
922 g_signal_connect(G_OBJECT(a->window), "destroy", G_CALLBACK(free_dialog), a); |
|
1151
428372cc1e39
[gaim-migrate @ 1161]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1144
diff
changeset
|
923 dialogwindows = g_list_prepend(dialogwindows, a->window); |
|
428372cc1e39
[gaim-migrate @ 1161]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1144
diff
changeset
|
924 |
| 2529 | 925 table = gtk_table_new(4, 2, FALSE); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
926 gtk_table_set_row_spacings(GTK_TABLE(table), 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
927 gtk_table_set_col_spacings(GTK_TABLE(table), 5); |
| 4180 | 928 gtk_container_set_border_width(GTK_CONTAINER(table), 0); |
| 929 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); | |
| 930 | |
| 931 label = gtk_label_new(_("Screen Name")); | |
| 932 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
933 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
934 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
935 a->entry = gtk_entry_new(); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
936 gtk_table_attach_defaults(GTK_TABLE(table), a->entry, 1, 2, 0, 1); |
| 3333 | 937 gtk_widget_grab_focus(a->entry); |
| 4183 | 938 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
939 if (buddy != NULL) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
940 gtk_entry_set_text(GTK_ENTRY(a->entry), buddy); |
| 4183 | 941 |
| 942 gtk_entry_set_activates_default (GTK_ENTRY(a->entry), TRUE); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
943 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
944 label = gtk_label_new(_("Alias")); |
| 4180 | 945 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
946 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
947 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
948 a->entry_for_alias = gtk_entry_new(); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
949 gtk_table_attach_defaults(GTK_TABLE(table), a->entry_for_alias, 1, 2, 1, 2); |
|
2582
5efa8077107f
[gaim-migrate @ 2595]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2572
diff
changeset
|
950 if (alias != NULL) |
|
5efa8077107f
[gaim-migrate @ 2595]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2572
diff
changeset
|
951 gtk_entry_set_text(GTK_ENTRY(a->entry_for_alias), alias); |
| 4183 | 952 gtk_entry_set_activates_default (GTK_ENTRY(a->entry_for_alias), TRUE); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
953 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
954 label = gtk_label_new(_("Group")); |
| 4180 | 955 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
956 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 2, 3); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
957 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
958 a->combo = gtk_combo_new(); |
| 4978 | 959 gtk_combo_set_popdown_strings(GTK_COMBO(a->combo), groups_tree()); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
960 gtk_table_attach_defaults(GTK_TABLE(table), a->combo, 1, 2, 2, 3); |
| 1210 | 961 |
| 2527 | 962 /* Set up stuff for the account box */ |
| 963 label = gtk_label_new(_("Add To")); | |
| 4180 | 964 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
| 2527 | 965 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 3, 4); |
| 966 | |
|
6352
3381f1a85d8f
[gaim-migrate @ 6851]
Christian Hammond <chipx86@chipx86.com>
parents:
6340
diff
changeset
|
967 a->account = gaim_gtk_account_option_menu_new( |
|
3381f1a85d8f
[gaim-migrate @ 6851]
Christian Hammond <chipx86@chipx86.com>
parents:
6340
diff
changeset
|
968 gaim_connection_get_account(gc), FALSE, |
|
5882
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
969 G_CALLBACK(addbuddy_select_account), a); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
970 |
| 2527 | 971 gtk_table_attach_defaults(GTK_TABLE(table), a->account, 1, 2, 3, 4); |
| 972 | |
| 973 /* End of account box */ | |
| 974 | |
|
5882
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
975 g_signal_connect(G_OBJECT(a->window), "response", |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
976 G_CALLBACK(do_add_buddy), a); |
|
1151
428372cc1e39
[gaim-migrate @ 1161]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1144
diff
changeset
|
977 |
| 1210 | 978 gtk_widget_show_all(a->window); |
| 4180 | 979 |
| 2995 | 980 if (group != NULL) |
| 981 gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(a->combo)->entry), group); | |
| 1 | 982 } |
| 983 | |
| 5234 | 984 struct addchat { |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
985 GaimAccount *account; |
| 5234 | 986 GtkWidget *window; |
| 987 GtkWidget *account_menu; | |
| 988 GtkWidget *alias_entry; | |
| 989 GtkWidget *group_combo; | |
| 990 GtkWidget *entries_box; | |
| 991 GtkSizeGroup *sg; | |
| 992 GList *entries; | |
| 993 }; | |
| 994 | |
| 995 static void do_add_chat(GtkWidget *w, struct addchat *ac) { | |
| 996 GHashTable *components = g_hash_table_new_full(g_str_hash, g_str_equal, | |
| 997 g_free, g_free); | |
| 998 GList *tmp; | |
| 999 | |
| 1000 struct chat *chat; | |
| 1001 struct group *group; | |
| 1002 const char *group_name; | |
| 1003 | |
| 1004 for(tmp = ac->entries; tmp; tmp = tmp->next) { | |
| 1005 if(g_object_get_data(tmp->data, "is_spin")) { | |
| 1006 g_hash_table_replace(components, | |
| 1007 g_strdup(g_object_get_data(tmp->data, "identifier")), | |
| 1008 g_strdup_printf("%d", | |
| 1009 gtk_spin_button_get_value_as_int(tmp->data))); | |
| 1010 } else { | |
| 1011 g_hash_table_replace(components, | |
| 1012 g_strdup(g_object_get_data(tmp->data, "identifier")), | |
| 1013 g_strdup(gtk_entry_get_text(tmp->data))); | |
| 1014 } | |
| 1015 } | |
| 1016 | |
| 1017 chat = gaim_chat_new(ac->account, gtk_entry_get_text(GTK_ENTRY(ac->alias_entry)), components); | |
| 1018 | |
| 1019 group_name = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(ac->group_combo)->entry)); | |
| 1020 if (!(group = gaim_find_group(group_name))) { | |
| 1021 group = gaim_group_new(group_name); | |
| 1022 gaim_blist_add_group(group, NULL); | |
| 1023 } | |
| 1024 | |
| 5237 | 1025 if(chat) { |
| 1026 gaim_blist_add_chat(chat, group, NULL); | |
| 1027 gaim_blist_save(); | |
| 1028 } | |
| 5234 | 1029 |
| 1030 gtk_widget_destroy(ac->window); | |
| 1031 g_list_free(ac->entries); | |
| 1032 | |
| 1033 g_free(ac); | |
| 1034 } | |
| 1035 | |
| 1036 static void do_add_chat_resp(GtkWidget *w, int resp, struct addchat *ac) { | |
| 1037 if(resp == GTK_RESPONSE_OK) { | |
| 1038 do_add_chat(NULL, ac); | |
| 1039 } else { | |
| 1040 gtk_widget_destroy(ac->window); | |
| 1041 g_list_free(ac->entries); | |
| 1042 g_free(ac); | |
| 1043 } | |
| 1044 } | |
| 1045 | |
| 1046 | |
| 1047 static void rebuild_addchat_entries(struct addchat *ac) { | |
| 1048 GList *list, *tmp; | |
| 1049 struct proto_chat_entry *pce; | |
| 5237 | 1050 gboolean focus = TRUE; |
| 5234 | 1051 |
| 1052 while(GTK_BOX(ac->entries_box)->children) | |
| 1053 gtk_container_remove(GTK_CONTAINER(ac->entries_box), | |
| 1054 ((GtkBoxChild *)GTK_BOX(ac->entries_box)->children->data)->widget); | |
| 1055 | |
| 1056 if(ac->entries) | |
| 1057 g_list_free(ac->entries); | |
| 1058 | |
| 1059 ac->entries = NULL; | |
| 1060 | |
| 1061 list = GAIM_PLUGIN_PROTOCOL_INFO(ac->account->gc->prpl)->chat_info(ac->account->gc); | |
| 1062 | |
| 1063 for(tmp = list; tmp; tmp = tmp->next) { | |
| 1064 GtkWidget *label; | |
| 1065 GtkWidget *rowbox; | |
| 1066 pce = tmp->data; | |
| 1067 | |
| 1068 rowbox = gtk_hbox_new(FALSE, 5); | |
| 1069 gtk_box_pack_start(GTK_BOX(ac->entries_box), rowbox, FALSE, FALSE, 0); | |
| 1070 | |
| 1071 label = gtk_label_new(pce->label); | |
| 1072 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
| 1073 gtk_size_group_add_widget(ac->sg, label); | |
| 1074 gtk_box_pack_start(GTK_BOX(rowbox), label, FALSE, FALSE, 0); | |
| 1075 | |
| 1076 if(pce->is_int) { | |
| 1077 GtkObject *adjust; | |
| 1078 GtkWidget *spin; | |
| 1079 adjust = gtk_adjustment_new(pce->min, pce->min, pce->max, | |
| 1080 1, 10, 10); | |
| 1081 spin = gtk_spin_button_new(GTK_ADJUSTMENT(adjust), 1, 0); | |
| 1082 g_object_set_data(G_OBJECT(spin), "is_spin", GINT_TO_POINTER(TRUE)); | |
| 1083 g_object_set_data(G_OBJECT(spin), "identifier", pce->identifier); | |
| 1084 ac->entries = g_list_append(ac->entries, spin); | |
| 1085 gtk_widget_set_size_request(spin, 50, -1); | |
| 1086 gtk_box_pack_end(GTK_BOX(rowbox), spin, FALSE, FALSE, 0); | |
| 1087 } else { | |
| 1088 GtkWidget *entry = gtk_entry_new(); | |
| 1089 g_object_set_data(G_OBJECT(entry), "identifier", pce->identifier); | |
| 1090 ac->entries = g_list_append(ac->entries, entry); | |
| 1091 | |
| 1092 if(pce->def) | |
| 1093 gtk_entry_set_text(GTK_ENTRY(entry), pce->def); | |
| 1094 | |
| 5237 | 1095 if(focus) { |
| 1096 gtk_widget_grab_focus(entry); | |
| 1097 focus = FALSE; | |
| 1098 } | |
| 1099 | |
| 5925 | 1100 if(pce->secret) |
| 1101 gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE); | |
| 1102 | |
| 5234 | 1103 gtk_box_pack_end(GTK_BOX(rowbox), entry, TRUE, TRUE, 0); |
| 1104 | |
| 1105 g_signal_connect(G_OBJECT(entry), "activate", | |
| 1106 G_CALLBACK(do_add_chat), ac); | |
| 1107 } | |
| 5241 | 1108 g_free(pce); |
| 5234 | 1109 } |
| 1110 | |
| 1111 gtk_widget_show_all(ac->entries_box); | |
| 1112 } | |
| 1113 | |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1114 static void addchat_select_account(GObject *w, GaimConnection *gc) |
| 5234 | 1115 { |
| 1116 struct addchat *ac = g_object_get_data(w, "addchat"); | |
|
5943
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5925
diff
changeset
|
1117 GaimAccount *account; |
|
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5925
diff
changeset
|
1118 |
|
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5925
diff
changeset
|
1119 account = gaim_connection_get_account(gc); |
|
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5925
diff
changeset
|
1120 |
|
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5925
diff
changeset
|
1121 if (gaim_account_get_protocol(ac->account) == |
|
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5925
diff
changeset
|
1122 gaim_account_get_protocol(account)) { |
|
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5925
diff
changeset
|
1123 |
|
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5925
diff
changeset
|
1124 ac->account = account; |
| 5234 | 1125 } else { |
|
5943
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5925
diff
changeset
|
1126 ac->account = account; |
| 5234 | 1127 rebuild_addchat_entries(ac); |
| 1128 } | |
| 1129 } | |
| 1130 | |
| 1131 static void create_online_account_menu_for_add_chat(struct addchat *ac) | |
| 1132 { | |
| 1133 char buf[2048]; /* Never hurts to be safe ;-) */ | |
|
5882
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1134 GList *g; |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1135 GaimConnection *c; |
|
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1136 GaimAccount *account; |
| 5234 | 1137 GtkWidget *menu, *opt; |
|
5882
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1138 GtkWidget *hbox; |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1139 GtkWidget *label; |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1140 GtkWidget *image; |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1141 GdkPixbuf *pixbuf; |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1142 GdkPixbuf *scale; |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1143 GtkSizeGroup *sg; |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1144 char *filename; |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1145 const char *proto_name; |
| 5234 | 1146 int count = 0; |
| 1147 int place = 0; | |
| 1148 | |
| 1149 menu = gtk_menu_new(); | |
| 1150 | |
|
5882
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1151 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1152 |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1153 for (g = gaim_connections_get_all(); g != NULL; g = g->next) { |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1154 GaimPluginProtocolInfo *prpl_info = NULL; |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1155 GaimPlugin *plugin; |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1156 |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1157 c = (GaimConnection *)g->data; |
|
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1158 account = gaim_connection_get_account(c); |
|
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1159 |
|
5882
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1160 plugin = c->prpl; |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1161 |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1162 if (plugin == NULL) |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1163 continue; |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1164 |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1165 prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(plugin); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1166 |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1167 if (prpl_info == NULL || prpl_info->join_chat == NULL) |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1168 continue; |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1169 |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1170 opt = gtk_menu_item_new(); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1171 |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1172 /* Create the hbox. */ |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1173 hbox = gtk_hbox_new(FALSE, 4); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1174 gtk_container_add(GTK_CONTAINER(opt), hbox); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1175 gtk_widget_show(hbox); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1176 |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1177 /* Load the image. */ |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1178 if (prpl_info != NULL) { |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1179 proto_name = prpl_info->list_icon(NULL, NULL); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1180 g_snprintf(buf, sizeof(buf), "%s.png", proto_name); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1181 |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1182 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "status", |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1183 "default", buf, NULL); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1184 pixbuf = gdk_pixbuf_new_from_file(filename, NULL); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1185 g_free(filename); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1186 |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1187 if (pixbuf != NULL) { |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1188 /* Scale and insert the image */ |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1189 scale = gdk_pixbuf_scale_simple(pixbuf, 16, 16, |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1190 GDK_INTERP_BILINEAR); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1191 image = gtk_image_new_from_pixbuf(scale); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1192 |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1193 g_object_unref(G_OBJECT(pixbuf)); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1194 g_object_unref(G_OBJECT(scale)); |
| 5258 | 1195 } |
|
5882
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1196 else |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1197 image = gtk_image_new(); |
| 5234 | 1198 } |
|
5882
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1199 else |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1200 image = gtk_image_new(); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1201 |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1202 gtk_size_group_add_widget(sg, image); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1203 |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1204 gtk_box_pack_start(GTK_BOX(hbox), image, FALSE, FALSE, 0); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1205 gtk_widget_show(image); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1206 |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1207 g_snprintf(buf, sizeof(buf), "%s (%s)", |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1208 gaim_account_get_username(account), |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1209 c->prpl->info->name); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1210 |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1211 /* Create the label. */ |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1212 label = gtk_label_new(buf); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1213 gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_LEFT); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1214 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1215 gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 0); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1216 gtk_widget_show(label); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1217 |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1218 |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1219 g_object_set_data(G_OBJECT(opt), "addchat", ac); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1220 g_signal_connect(G_OBJECT(opt), "activate", |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1221 G_CALLBACK(addchat_select_account), c); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1222 gtk_widget_show(opt); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1223 gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1224 |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1225 /* Now check to see if it's our current menu */ |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1226 if (c->account == ac->account) { |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1227 place = count; |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1228 gtk_menu_item_activate(GTK_MENU_ITEM(opt)); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1229 gtk_option_menu_set_history(GTK_OPTION_MENU(ac->account_menu), |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1230 count); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1231 |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1232 /* Do the cha cha cha */ |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1233 } |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1234 |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1235 count++; |
| 5234 | 1236 } |
| 1237 | |
|
5882
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1238 g_object_unref(sg); |
|
ea6dfabdf60f
[gaim-migrate @ 6314]
Christian Hammond <chipx86@chipx86.com>
parents:
5880
diff
changeset
|
1239 |
| 5234 | 1240 gtk_option_menu_remove_menu(GTK_OPTION_MENU(ac->account_menu)); |
| 1241 gtk_option_menu_set_menu(GTK_OPTION_MENU(ac->account_menu), menu); | |
| 1242 gtk_option_menu_set_history(GTK_OPTION_MENU(ac->account_menu), place); | |
| 1243 } | |
| 1244 | |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1245 void show_add_chat(GaimAccount *account, struct group *group) { |
| 5234 | 1246 struct addchat *ac = g_new0(struct addchat, 1); |
| 1247 struct gaim_gtk_buddy_list *gtkblist; | |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1248 GList *c; |
|
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1249 GaimConnection *gc; |
| 5234 | 1250 |
| 1251 GtkWidget *label; | |
| 1252 GtkWidget *rowbox; | |
| 1253 GtkWidget *hbox; | |
| 1254 GtkWidget *vbox; | |
| 1255 GtkWidget *img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_QUESTION, | |
| 1256 GTK_ICON_SIZE_DIALOG); | |
| 1257 | |
| 1258 gtkblist = GAIM_GTK_BLIST(gaim_get_blist()); | |
| 1259 | |
| 5258 | 1260 if (account) { |
| 1261 ac->account = account; | |
| 1262 } else { | |
| 1263 /* Select an account with chat capabilities */ | |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1264 for (c = gaim_connections_get_all(); c != NULL; c = c->next) { |
| 5258 | 1265 gc = c->data; |
| 1266 | |
| 1267 if (GAIM_PLUGIN_PROTOCOL_INFO(gc->prpl)->join_chat) { | |
| 1268 ac->account = gc->account; | |
| 1269 break; | |
| 1270 } | |
| 1271 } | |
| 1272 } | |
| 1273 | |
| 1274 if (!ac->account) { | |
|
5436
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
1275 gaim_notify_error(NULL, NULL, |
|
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
1276 _("You are not currently signed on with any " |
|
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
1277 "protocols that have the ability to chat."), NULL); |
|
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
1278 return; |
| 5258 | 1279 } |
| 5234 | 1280 |
| 1281 ac->sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); | |
| 1282 | |
| 1283 ac->window = gtk_dialog_new_with_buttons(_("Add Chat"), | |
| 1284 GTK_WINDOW(gtkblist->window), 0, | |
| 1285 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, | |
| 1286 GTK_STOCK_ADD, GTK_RESPONSE_OK, | |
| 1287 NULL); | |
| 1288 | |
| 1289 gtk_dialog_set_default_response(GTK_DIALOG(ac->window), GTK_RESPONSE_OK); | |
| 1290 gtk_container_set_border_width(GTK_CONTAINER(ac->window), 6); | |
| 1291 gtk_window_set_resizable(GTK_WINDOW(ac->window), FALSE); | |
| 1292 gtk_dialog_set_has_separator(GTK_DIALOG(ac->window), FALSE); | |
| 1293 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(ac->window)->vbox), 12); | |
| 1294 gtk_container_set_border_width(GTK_CONTAINER(GTK_DIALOG(ac->window)->vbox), | |
| 1295 6); | |
| 1296 gtk_window_set_role(GTK_WINDOW(ac->window), "add_chat"); | |
| 1297 | |
| 1298 hbox = gtk_hbox_new(FALSE, 12); | |
| 1299 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(ac->window)->vbox), hbox); | |
| 1300 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
| 1301 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); | |
| 1302 | |
| 1303 vbox = gtk_vbox_new(FALSE, 5); | |
| 1304 gtk_container_add(GTK_CONTAINER(hbox), vbox); | |
| 1305 | |
| 1306 label = gtk_label_new(_("Please enter an alias, and the appropriate information about the chat you would like to add to your buddy list.\n")); | |
| 1307 gtk_widget_set_size_request(label, 400, -1); | |
| 1308 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | |
| 1309 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 1310 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); | |
| 1311 | |
| 1312 rowbox = gtk_hbox_new(FALSE, 5); | |
| 1313 gtk_box_pack_start(GTK_BOX(vbox), rowbox, FALSE, FALSE, 0); | |
| 1314 | |
| 1315 label = gtk_label_new(_("Account:")); | |
| 1316 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
| 1317 gtk_size_group_add_widget(ac->sg, label); | |
| 1318 gtk_box_pack_start(GTK_BOX(rowbox), label, FALSE, FALSE, 0); | |
| 1319 | |
| 1320 ac->account_menu = gtk_option_menu_new(); | |
| 1321 gtk_box_pack_end(GTK_BOX(rowbox), ac->account_menu, TRUE, TRUE, 0); | |
| 1322 | |
| 1323 create_online_account_menu_for_add_chat(ac); | |
| 1324 | |
| 5237 | 1325 ac->entries_box = gtk_vbox_new(FALSE, 5); |
| 1326 gtk_container_set_border_width(GTK_CONTAINER(ac->entries_box), 0); | |
| 1327 gtk_box_pack_start(GTK_BOX(vbox), ac->entries_box, TRUE, TRUE, 0); | |
| 1328 | |
| 1329 rebuild_addchat_entries(ac); | |
| 1330 | |
| 5234 | 1331 rowbox = gtk_hbox_new(FALSE, 5); |
| 1332 gtk_box_pack_start(GTK_BOX(vbox), rowbox, FALSE, FALSE, 0); | |
| 1333 | |
| 1334 label = gtk_label_new(_("Alias:")); | |
| 1335 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
| 1336 gtk_size_group_add_widget(ac->sg, label); | |
| 1337 gtk_box_pack_start(GTK_BOX(rowbox), label, FALSE, FALSE, 0); | |
| 1338 | |
| 1339 ac->alias_entry = gtk_entry_new(); | |
| 1340 gtk_box_pack_end(GTK_BOX(rowbox), ac->alias_entry, TRUE, TRUE, 0); | |
| 1341 | |
| 1342 rowbox = gtk_hbox_new(FALSE, 5); | |
| 1343 gtk_box_pack_start(GTK_BOX(vbox), rowbox, FALSE, FALSE, 0); | |
| 1344 | |
| 1345 label = gtk_label_new(_("Group:")); | |
| 1346 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
| 1347 gtk_size_group_add_widget(ac->sg, label); | |
| 1348 gtk_box_pack_start(GTK_BOX(rowbox), label, FALSE, FALSE, 0); | |
| 1349 | |
| 1350 ac->group_combo = gtk_combo_new(); | |
| 1351 gtk_combo_set_popdown_strings(GTK_COMBO(ac->group_combo), groups_tree()); | |
| 1352 gtk_box_pack_end(GTK_BOX(rowbox), ac->group_combo, TRUE, TRUE, 0); | |
| 1353 | |
| 1354 if (group) | |
| 1355 gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(ac->group_combo)->entry), group->name); | |
| 1356 | |
| 1357 g_signal_connect(G_OBJECT(ac->window), "response", G_CALLBACK(do_add_chat_resp), ac); | |
| 1358 | |
| 1359 gtk_widget_show_all(ac->window); | |
| 1360 } | |
| 1361 | |
| 1362 | |
| 1 | 1363 /*------------------------------------------------------------------------*/ |
| 1364 /* The dialog for SET INFO / SET DIR INFO */ | |
| 1365 /*------------------------------------------------------------------------*/ | |
| 1366 | |
| 1367 void do_save_info(GtkWidget *widget, struct set_info_dlg *b) | |
| 1368 { | |
| 1369 gchar *junk; | |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1370 GaimConnection *gc; |
| 1 | 1371 |
| 4119 | 1372 junk = gtk_text_view_get_text(GTK_TEXT_VIEW(b->text), FALSE); |
| 1 | 1373 |
| 4491 | 1374 if (b->account) { |
| 6019 | 1375 gaim_account_set_user_info(b->account, junk); |
| 4491 | 1376 gc = b->account->gc; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1377 |
| 1292 | 1378 if (gc) |
| 5954 | 1379 serv_set_info(gc, gaim_account_get_user_info(b->account)); |
|
122
521db4bf5f28
[gaim-migrate @ 132]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
84
diff
changeset
|
1380 } |
| 25 | 1381 g_free(junk); |
| 1 | 1382 destroy_dialog(NULL, b->window); |
| 1383 g_free(b); | |
| 1384 } | |
| 1385 | |
| 1386 void do_set_dir(GtkWidget *widget, struct set_dir_dlg *b) | |
| 1387 { | |
| 3466 | 1388 const char *first = gtk_entry_get_text(GTK_ENTRY(b->first)); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1389 int web = GTK_TOGGLE_BUTTON(b->web)->active; |
| 3466 | 1390 const char *middle = gtk_entry_get_text(GTK_ENTRY(b->middle)); |
| 1391 const char *last = gtk_entry_get_text(GTK_ENTRY(b->last)); | |
| 1392 const char *maiden = gtk_entry_get_text(GTK_ENTRY(b->maiden)); | |
| 1393 const char *city = gtk_entry_get_text(GTK_ENTRY(b->city)); | |
| 1394 const char *state = gtk_entry_get_text(GTK_ENTRY(b->state)); | |
| 1395 const char *country = gtk_entry_get_text(GTK_ENTRY(b->country)); | |
| 1 | 1396 |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1397 serv_set_dir(b->gc, first, middle, last, maiden, city, state, country, web); |
| 1 | 1398 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1399 destroy_dialog(NULL, b->window); |
| 1 | 1400 g_free(b); |
| 1401 } | |
| 1402 | |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1403 void show_set_dir(GaimConnection *gc) |
| 1 | 1404 { |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1405 GaimAccount *account; |
| 1 | 1406 GtkWidget *label; |
| 1407 GtkWidget *bot; | |
| 484 | 1408 GtkWidget *vbox; |
| 1409 GtkWidget *hbox; | |
| 1410 GtkWidget *frame; | |
| 1411 GtkWidget *fbox; | |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1412 char buf[256]; |
| 1 | 1413 |
| 1414 struct set_dir_dlg *b = g_new0(struct set_dir_dlg, 1); | |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1415 |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1416 b->gc = gc; |
| 1 | 1417 |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1418 account = gaim_connection_get_account(gc); |
|
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1419 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
1420 GAIM_DIALOG(b->window); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1421 dialogwindows = g_list_prepend(dialogwindows, b->window); |
| 4074 | 1422 gtk_window_set_role(GTK_WINDOW(b->window), "set_dir"); |
| 4635 | 1423 gtk_window_set_resizable(GTK_WINDOW(b->window), TRUE); |
| 4703 | 1424 gtk_window_set_title(GTK_WINDOW(b->window), _("Set Directory Info")); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1425 g_signal_connect(G_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1426 gtk_widget_realize(b->window); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1427 |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1428 fbox = gtk_vbox_new(FALSE, 5); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1429 gtk_container_add(GTK_CONTAINER(b->window), fbox); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1430 gtk_widget_show(fbox); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1431 |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1432 frame = gtk_frame_new(_("Directory Info")); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1433 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1434 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 0); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1435 gtk_widget_show(frame); |
| 484 | 1436 |
| 1437 vbox = gtk_vbox_new(FALSE, 5); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1438 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1439 gtk_container_add(GTK_CONTAINER(frame), vbox); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1440 gtk_widget_show(vbox); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1441 |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1442 g_snprintf(buf, sizeof(buf), _("Setting Dir Info for %s:"), |
|
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1443 gaim_account_get_username(account)); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1444 label = gtk_label_new(buf); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1445 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1446 gtk_widget_show(label); |
| 1 | 1447 |
| 1448 b->first = gtk_entry_new(); | |
| 1449 b->middle = gtk_entry_new(); | |
| 1450 b->last = gtk_entry_new(); | |
| 1451 b->maiden = gtk_entry_new(); | |
| 1452 b->city = gtk_entry_new(); | |
| 1453 b->state = gtk_entry_new(); | |
| 1454 b->country = gtk_entry_new(); | |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
1455 b->web = gtk_check_button_new_with_label(_("Allow Web Searches To Find Your Info")); |
| 484 | 1456 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1457 /* Line 1 */ |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
1458 label = gtk_label_new(_("First Name")); |
| 1 | 1459 gtk_widget_show(label); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1460 |
| 484 | 1461 hbox = gtk_hbox_new(FALSE, 5); |
| 1185 | 1462 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 1463 gtk_box_pack_end(GTK_BOX(hbox), b->first, FALSE, FALSE, 0); | |
| 1464 | |
| 1465 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 484 | 1466 gtk_widget_show(hbox); |
| 1467 | |
| 1468 /* Line 2 */ | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1469 label = gtk_label_new(_("Middle Name")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1470 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1471 |
| 484 | 1472 hbox = gtk_hbox_new(FALSE, 5); |
| 1185 | 1473 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 1474 gtk_box_pack_end(GTK_BOX(hbox), b->middle, FALSE, FALSE, 0); | |
| 1475 | |
| 1476 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 484 | 1477 gtk_widget_show(hbox); |
| 1478 | |
| 1479 | |
| 1480 /* Line 3 */ | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1481 label = gtk_label_new(_("Last Name")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1482 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1483 |
| 484 | 1484 hbox = gtk_hbox_new(FALSE, 5); |
| 1185 | 1485 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 1486 gtk_box_pack_end(GTK_BOX(hbox), b->last, FALSE, FALSE, 0); | |
| 1487 | |
| 1488 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 484 | 1489 gtk_widget_show(hbox); |
| 1490 | |
| 1491 /* Line 4 */ | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1492 label = gtk_label_new(_("Maiden Name")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1493 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1494 |
| 484 | 1495 hbox = gtk_hbox_new(FALSE, 5); |
| 1185 | 1496 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 1497 gtk_box_pack_end(GTK_BOX(hbox), b->maiden, FALSE, FALSE, 0); | |
| 1498 | |
| 1499 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 484 | 1500 gtk_widget_show(hbox); |
| 1501 | |
| 1502 /* Line 5 */ | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1503 label = gtk_label_new(_("City")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1504 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1505 |
| 484 | 1506 hbox = gtk_hbox_new(FALSE, 5); |
| 1185 | 1507 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 1508 gtk_box_pack_end(GTK_BOX(hbox), b->city, FALSE, FALSE, 0); | |
| 1509 | |
| 1510 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 484 | 1511 gtk_widget_show(hbox); |
| 1512 | |
| 1513 /* Line 6 */ | |
| 1185 | 1514 label = gtk_label_new(_("State")); |
| 1 | 1515 gtk_widget_show(label); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1516 |
| 484 | 1517 hbox = gtk_hbox_new(FALSE, 5); |
| 1185 | 1518 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 1519 gtk_box_pack_end(GTK_BOX(hbox), b->state, FALSE, FALSE, 0); | |
| 1520 | |
| 1521 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 484 | 1522 gtk_widget_show(hbox); |
| 1523 | |
| 1524 /* Line 7 */ | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1525 label = gtk_label_new(_("Country")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1526 gtk_widget_show(label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1527 |
| 484 | 1528 hbox = gtk_hbox_new(FALSE, 5); |
| 1185 | 1529 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 1530 gtk_box_pack_end(GTK_BOX(hbox), b->country, FALSE, FALSE, 0); | |
| 1531 | |
| 1532 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 484 | 1533 gtk_widget_show(hbox); |
| 1534 | |
| 1535 /* Line 8 */ | |
| 1536 | |
| 1537 hbox = gtk_hbox_new(FALSE, 5); | |
| 1185 | 1538 gtk_box_pack_start(GTK_BOX(hbox), b->web, TRUE, TRUE, 0); |
| 484 | 1539 gtk_widget_show(hbox); |
| 1185 | 1540 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 484 | 1541 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1542 gtk_widget_show(b->first); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1543 gtk_widget_show(b->middle); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1544 gtk_widget_show(b->last); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1545 gtk_widget_show(b->maiden); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1546 gtk_widget_show(b->city); |
| 1 | 1547 gtk_widget_show(b->state); |
| 1548 gtk_widget_show(b->country); | |
| 1549 gtk_widget_show(b->web); | |
| 1550 | |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1551 /* And add the buttons */ |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1552 |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1553 bot = gtk_hbox_new(FALSE, 5); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1554 gtk_box_pack_start(GTK_BOX(fbox), bot, FALSE, FALSE, 0); |
| 5024 | 1555 |
| 1556 b->save = gaim_pixbuf_button_from_stock(_("Save"), GTK_STOCK_SAVE, GAIM_BUTTON_HORIZONTAL); | |
| 4092 | 1557 gtk_box_pack_end(GTK_BOX(bot), b->save, FALSE, FALSE, 0); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1558 g_signal_connect(G_OBJECT(b->save), "clicked", G_CALLBACK(do_set_dir), b); |
| 4092 | 1559 |
| 5024 | 1560 b->cancel = gaim_pixbuf_button_from_stock(_("Cancel"), GTK_STOCK_CANCEL, GAIM_BUTTON_HORIZONTAL); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1561 gtk_box_pack_end(GTK_BOX(bot), b->cancel, FALSE, FALSE, 0); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1562 g_signal_connect(G_OBJECT(b->cancel), "clicked", G_CALLBACK(destroy_dialog), b->window); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1563 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1564 gtk_window_set_focus(GTK_WINDOW(b->window), b->first); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1565 |
| 5024 | 1566 gtk_widget_show_all(b->window); |
| 1 | 1567 } |
| 1568 | |
| 149 | 1569 void do_change_password(GtkWidget *widget, struct passwddlg *b) |
| 1570 { | |
| 3466 | 1571 const gchar *orig, *new1, *new2; |
| 149 | 1572 |
| 1573 orig = gtk_entry_get_text(GTK_ENTRY(b->original)); | |
| 1574 new1 = gtk_entry_get_text(GTK_ENTRY(b->new1)); | |
| 1575 new2 = gtk_entry_get_text(GTK_ENTRY(b->new2)); | |
| 1576 | |
| 4793 | 1577 if (g_utf8_collate(new1, new2)) { |
|
5436
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
1578 gaim_notify_error(NULL, NULL, |
|
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
1579 _("New passwords do not match."), NULL); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1580 return; |
| 149 | 1581 } |
| 1582 | |
| 1583 if ((strlen(orig) < 1) || (strlen(new1) < 1) || (strlen(new2) < 1)) { | |
|
5436
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
1584 gaim_notify_error(NULL, NULL, |
|
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
1585 _("Fill out all fields completely."), NULL); |
| 149 | 1586 return; |
| 1587 } | |
| 1588 | |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
1589 serv_change_passwd(b->gc, orig, new1); |
| 6105 | 1590 gaim_account_set_password(gaim_connection_get_account(b->gc), new1); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1591 |
| 149 | 1592 destroy_dialog(NULL, b->window); |
| 1593 g_free(b); | |
| 1594 } | |
| 1595 | |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1596 void show_change_passwd(GaimConnection *gc) |
| 146 | 1597 { |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1598 GaimAccount *account; |
| 146 | 1599 GtkWidget *hbox; |
| 1600 GtkWidget *label; | |
| 1601 GtkWidget *vbox; | |
| 475 | 1602 GtkWidget *fbox; |
| 1603 GtkWidget *frame; | |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1604 char buf[256]; |
| 454 | 1605 |
| 146 | 1606 struct passwddlg *b = g_new0(struct passwddlg, 1); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1607 b->gc = gc; |
| 146 | 1608 |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1609 account = gaim_connection_get_account(gc); |
|
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1610 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
1611 GAIM_DIALOG(b->window); |
| 4635 | 1612 gtk_window_set_resizable(GTK_WINDOW(b->window), TRUE); |
| 4074 | 1613 gtk_window_set_role(GTK_WINDOW(b->window), "change_passwd"); |
| 4703 | 1614 gtk_window_set_title(GTK_WINDOW(b->window), _("Change Password")); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1615 g_signal_connect(G_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window); |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
1616 gtk_widget_realize(b->window); |
| 146 | 1617 dialogwindows = g_list_prepend(dialogwindows, b->window); |
| 149 | 1618 |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
1619 fbox = gtk_vbox_new(FALSE, 5); |
| 4635 | 1620 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5); |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
1621 gtk_container_add(GTK_CONTAINER(b->window), fbox); |
|
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
1622 |
| 475 | 1623 frame = gtk_frame_new(_("Change Password")); |
| 1185 | 1624 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 0); |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
1625 |
| 475 | 1626 vbox = gtk_vbox_new(FALSE, 5); |
| 4635 | 1627 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
1628 gtk_container_add(GTK_CONTAINER(frame), vbox); |
|
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
1629 |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1630 g_snprintf(buf, sizeof(buf), _("Changing password for %s:"), gaim_account_get_username(account)); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1631 label = gtk_label_new(buf); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1632 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5); |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
1633 |
| 475 | 1634 /* First Line */ |
| 1635 hbox = gtk_hbox_new(FALSE, 5); | |
| 1185 | 1636 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
1637 |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
1638 label = gtk_label_new(_("Original Password")); |
| 1185 | 1639 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 475 | 1640 |
| 146 | 1641 b->original = gtk_entry_new(); |
|
160
aaa8f0a2140e
[gaim-migrate @ 170]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
149
diff
changeset
|
1642 gtk_entry_set_visibility(GTK_ENTRY(b->original), FALSE); |
| 1185 | 1643 gtk_box_pack_end(GTK_BOX(hbox), b->original, FALSE, FALSE, 0); |
| 475 | 1644 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1645 /* Next Line */ |
| 475 | 1646 hbox = gtk_hbox_new(FALSE, 5); |
| 1185 | 1647 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
|
978
563c409e26a1
[gaim-migrate @ 988]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
976
diff
changeset
|
1648 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1649 label = gtk_label_new(_("New Password")); |
| 1185 | 1650 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1651 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1652 b->new1 = gtk_entry_new(); |
|
160
aaa8f0a2140e
[gaim-migrate @ 170]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
149
diff
changeset
|
1653 gtk_entry_set_visibility(GTK_ENTRY(b->new1), FALSE); |
| 1185 | 1654 gtk_box_pack_end(GTK_BOX(hbox), b->new1, FALSE, FALSE, 0); |
| 475 | 1655 |
| 1656 /* Next Line */ | |
| 1657 hbox = gtk_hbox_new(FALSE, 5); | |
| 1185 | 1658 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1659 |
| 475 | 1660 label = gtk_label_new(_("New Password (again)")); |
| 1185 | 1661 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1662 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1663 b->new2 = gtk_entry_new(); |
|
160
aaa8f0a2140e
[gaim-migrate @ 170]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
149
diff
changeset
|
1664 gtk_entry_set_visibility(GTK_ENTRY(b->new2), FALSE); |
| 1185 | 1665 gtk_box_pack_end(GTK_BOX(hbox), b->new2, FALSE, FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1666 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1667 /* Now do our row of buttons */ |
| 1185 | 1668 hbox = gtk_hbox_new(FALSE, 5); |
| 1669 gtk_box_pack_start(GTK_BOX(fbox), hbox, FALSE, FALSE, 0); | |
| 5024 | 1670 |
| 1671 b->ok = gaim_pixbuf_button_from_stock(_("OK"), GTK_STOCK_OK, GAIM_BUTTON_HORIZONTAL); | |
| 4092 | 1672 gtk_box_pack_end(GTK_BOX(hbox), b->ok, FALSE, FALSE, 0); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1673 g_signal_connect(G_OBJECT(b->ok), "clicked", G_CALLBACK(do_change_password), b); |
| 4092 | 1674 |
| 5024 | 1675 b->cancel = gaim_pixbuf_button_from_stock(_("Cancel"), GTK_STOCK_CANCEL, GAIM_BUTTON_HORIZONTAL); |
| 1185 | 1676 gtk_box_pack_end(GTK_BOX(hbox), b->cancel, FALSE, FALSE, 0); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1677 g_signal_connect(G_OBJECT(b->cancel), "clicked", G_CALLBACK(destroy_dialog), b->window); |
| 1185 | 1678 |
| 5024 | 1679 gtk_widget_show_all(b->window); |
| 146 | 1680 } |
| 1681 | |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1682 void show_set_info(GaimConnection *gc) |
| 1 | 1683 { |
| 1185 | 1684 GtkWidget *buttons; |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1685 GtkWidget *label; |
| 1185 | 1686 GtkWidget *vbox; |
| 4119 | 1687 GtkTextBuffer *buffer; |
| 1688 GtkWidget *frame; | |
| 1292 | 1689 gchar *buf; |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1690 GaimAccount *account; |
|
5924
c304abc3e68b
[gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
1691 const char *user_info; |
| 1292 | 1692 |
| 1 | 1693 struct set_info_dlg *b = g_new0(struct set_info_dlg, 1); |
| 4491 | 1694 account = gc->account; |
| 1695 b->account = account; | |
| 1 | 1696 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
1697 GAIM_DIALOG(b->window); |
| 4074 | 1698 gtk_window_set_role(GTK_WINDOW(b->window), "set_info"); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1699 dialogwindows = g_list_prepend(dialogwindows, b->window); |
| 4703 | 1700 gtk_window_set_title(GTK_WINDOW(b->window), _("Set User Info")); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1701 g_signal_connect(G_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window); |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
940
diff
changeset
|
1702 gtk_widget_realize(b->window); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1703 |
| 1185 | 1704 vbox = gtk_vbox_new(FALSE, 5); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1705 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1706 gtk_container_add(GTK_CONTAINER(b->window), vbox); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1707 |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1708 buf = g_malloc(256); |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1709 g_snprintf(buf, 256, _("Changing info for %s:"), |
|
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1710 gaim_account_get_username(account)); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1711 label = gtk_label_new(buf); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1712 g_free(buf); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1713 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5); |
| 4491 | 1714 |
| 4119 | 1715 frame = gtk_frame_new(NULL); |
| 1716 gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN); | |
| 1717 gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0); | |
| 1718 | |
| 1719 b->text = gtk_text_view_new(); | |
| 5105 | 1720 gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(b->text), GTK_WRAP_WORD_CHAR); |
| 4119 | 1721 gtk_widget_set_size_request(b->text, 300, 200); |
|
5924
c304abc3e68b
[gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
1722 |
|
c304abc3e68b
[gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
1723 if ((user_info = gaim_account_get_user_info(account)) != NULL) { |
|
c304abc3e68b
[gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
1724 buf = g_malloc(strlen(user_info) + 1); |
|
c304abc3e68b
[gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
1725 strncpy_nohtml(buf, user_info, strlen(user_info) + 1); |
|
c304abc3e68b
[gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
1726 buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(b->text)); |
|
c304abc3e68b
[gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
1727 gtk_text_buffer_set_text(buffer, buf, -1); |
|
c304abc3e68b
[gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
1728 g_free(buf); |
|
c304abc3e68b
[gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
1729 } |
|
c304abc3e68b
[gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
1730 |
| 4119 | 1731 gtk_container_add(GTK_CONTAINER(frame), b->text); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1732 gtk_window_set_focus(GTK_WINDOW(b->window), b->text); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1733 |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1734 buttons = gtk_hbox_new(FALSE, 5); |
| 1185 | 1735 gtk_box_pack_start(GTK_BOX(vbox), buttons, FALSE, FALSE, 0); |
| 5024 | 1736 |
| 1737 b->save = gaim_pixbuf_button_from_stock(_("Save"), GTK_STOCK_SAVE, GAIM_BUTTON_HORIZONTAL); | |
| 4092 | 1738 gtk_box_pack_end(GTK_BOX(buttons), b->save, FALSE, FALSE, 0); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1739 g_signal_connect(G_OBJECT(b->save), "clicked", G_CALLBACK(do_save_info), b); |
| 4092 | 1740 |
| 5024 | 1741 b->cancel = gaim_pixbuf_button_from_stock(_("Cancel"), GTK_STOCK_CANCEL, GAIM_BUTTON_HORIZONTAL); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1742 gtk_box_pack_end(GTK_BOX(buttons), b->cancel, FALSE, FALSE, 0); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1743 g_signal_connect(G_OBJECT(b->cancel), "clicked", G_CALLBACK(destroy_dialog), b->window); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
1744 |
| 5024 | 1745 gtk_widget_show_all(b->window); |
| 1 | 1746 } |
| 1747 | |
| 1748 /*------------------------------------------------------------------------*/ | |
| 1749 /* The dialog for the info requests */ | |
| 1750 /*------------------------------------------------------------------------*/ | |
| 1751 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1752 static void info_dlg_free(GtkWidget *b, struct info_dlg *d) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1753 { |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1754 if (g_slist_find(info_dlgs, d)) |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1755 info_dlgs = g_slist_remove(info_dlgs, d); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1756 g_free(d->who); |
|
1051
713b0e14e0a9
[gaim-migrate @ 1061]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1049
diff
changeset
|
1757 g_free(d); |
|
713b0e14e0a9
[gaim-migrate @ 1061]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1049
diff
changeset
|
1758 } |
|
713b0e14e0a9
[gaim-migrate @ 1061]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1049
diff
changeset
|
1759 |
|
2791
8f6365332a05
[gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2785
diff
changeset
|
1760 /* if away is 0, show regardless and try to get away message |
|
8f6365332a05
[gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2785
diff
changeset
|
1761 * 1, don't show if regular info isn't shown |
|
8f6365332a05
[gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2785
diff
changeset
|
1762 * 2, show regardless but don't try to get away message |
|
8f6365332a05
[gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2785
diff
changeset
|
1763 * |
|
8f6365332a05
[gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2785
diff
changeset
|
1764 * i wish this were my client. if i were i wouldn't have to deal with this shit. |
|
8f6365332a05
[gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2785
diff
changeset
|
1765 */ |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1766 void g_show_info_text(GaimConnection *gc, const char *who, int away, const char *info, ...) |
| 1 | 1767 { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1768 GtkWidget *ok; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1769 GtkWidget *label; |
| 1 | 1770 GtkWidget *text; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1771 GtkWidget *bbox; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1772 GtkWidget *sw; |
|
1428
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
1773 gint options = 0; |
|
2137
18722ae5b882
[gaim-migrate @ 2147]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2090
diff
changeset
|
1774 char *more_info; |
|
18722ae5b882
[gaim-migrate @ 2147]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2090
diff
changeset
|
1775 va_list ap; |
| 1 | 1776 |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1777 struct info_dlg *b = find_info_dlg(gc, who); |
|
2791
8f6365332a05
[gaim-migrate @ 2804]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2785
diff
changeset
|
1778 if (!b && (away == 1)) |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1779 return; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1780 if (!b) { |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1781 b = g_new0(struct info_dlg, 1); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1782 b->gc = gc; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1783 b->who = who ? g_strdup(normalize(who)) : NULL; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1784 info_dlgs = g_slist_append(info_dlgs, b); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1785 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1786 GAIM_DIALOG(b->window); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1787 gtk_window_set_title(GTK_WINDOW(b->window), "Gaim"); |
| 4635 | 1788 gtk_container_set_border_width(GTK_CONTAINER(b->window), 5); |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1789 gtk_widget_realize(GTK_WIDGET(b->window)); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1790 g_signal_connect(G_OBJECT(b->window), "destroy", G_CALLBACK(info_dlg_free), b); |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1791 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1792 bbox = gtk_vbox_new(FALSE, 5); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1793 gtk_container_add(GTK_CONTAINER(b->window), bbox); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1794 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1795 label = gtk_label_new(_("Below are the results of your search: ")); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1796 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1797 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1798 sw = gtk_scrolled_window_new(NULL, NULL); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1799 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); |
| 3926 | 1800 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN); |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1801 gtk_box_pack_start(GTK_BOX(bbox), sw, TRUE, TRUE, 0); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1802 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1803 text = gtk_imhtml_new(NULL, NULL); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1804 b->text = text; |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1805 gtk_container_add(GTK_CONTAINER(sw), text); |
| 4635 | 1806 gtk_widget_set_size_request(sw, 300, 250); |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1807 gaim_setup_imhtml(text); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1808 |
| 5024 | 1809 ok = gaim_pixbuf_button_from_stock(_("OK"), GTK_STOCK_OK, GAIM_BUTTON_HORIZONTAL); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1810 g_signal_connect_swapped(G_OBJECT(ok), "clicked", G_CALLBACK(gtk_widget_destroy), |
|
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1811 G_OBJECT(b->window)); |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1812 gtk_box_pack_start(GTK_BOX(bbox), ok, FALSE, FALSE, 0); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1813 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1814 gtk_widget_show_all(b->window); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1815 } |
| 1 | 1816 |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1817 if (gaim_prefs_get_bool("/gaim/gtk/conversations/ignore_colors")) |
|
1428
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
1818 options ^= GTK_IMHTML_NO_COLOURS; |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1819 |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1820 if (gaim_prefs_get_bool("/gaim/gtk/conversations/ignore_fonts")) |
|
1428
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
1821 options ^= GTK_IMHTML_NO_FONTS; |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1822 |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1823 if (gaim_prefs_get_bool("/gaim/gtk/conversations/ignore_font_sizes")) |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
1824 options ^= GTK_IMHTML_NO_SIZES; |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1825 |
|
1428
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
1826 options ^= GTK_IMHTML_NO_COMMENTS; |
|
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
1827 options ^= GTK_IMHTML_NO_TITLE; |
|
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
1828 options ^= GTK_IMHTML_NO_NEWLINE; |
|
00b3d02a2168
[gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1399
diff
changeset
|
1829 options ^= GTK_IMHTML_NO_SCROLL; |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1830 |
|
2856
b1e300a85678
[gaim-migrate @ 2869]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2851
diff
changeset
|
1831 gtk_imhtml_append_text(GTK_IMHTML(b->text), info, -1, options); |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1832 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1833 va_start(ap, info); |
| 5294 | 1834 while ((more_info = va_arg(ap, char *)) != NULL) { |
| 1835 gchar *linkifyinated = linkify_text(more_info); | |
| 1836 gtk_imhtml_append_text(GTK_IMHTML(b->text), linkifyinated, -1, options); | |
| 1837 g_free(linkifyinated); | |
| 1838 } | |
|
2137
18722ae5b882
[gaim-migrate @ 2147]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2090
diff
changeset
|
1839 va_end(ap); |
|
2773
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1840 |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1841 if (away) |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1842 info_dlgs = g_slist_remove(info_dlgs, b); |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1843 else |
|
a0fd8f91e294
[gaim-migrate @ 2786]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2763
diff
changeset
|
1844 serv_get_away(gc, who); |
|
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
245
diff
changeset
|
1845 } |
|
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
245
diff
changeset
|
1846 |
| 1 | 1847 |
| 1848 /*------------------------------------------------------------------------*/ | |
| 608 | 1849 /* Functions Called To Add A Log */ |
| 1 | 1850 /*------------------------------------------------------------------------*/ |
| 1851 | |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1852 void cancel_log(GtkWidget *widget, GaimConversation *c) |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1853 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1854 GaimGtkConversation *gtkconv; |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1855 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1856 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1857 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1858 if (gtkconv->toolbar.log) { |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1859 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtkconv->toolbar.log), |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1860 FALSE); |
| 608 | 1861 } |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1862 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1863 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.log); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1864 gtk_widget_destroy(gtkconv->dialogs.log); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1865 gtkconv->dialogs.log = NULL; |
| 608 | 1866 } |
| 1867 | |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1868 void do_log(GtkWidget *w, GaimConversation *c) |
| 1 | 1869 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1870 GaimGtkConversation *gtkconv; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1871 struct log_conversation *l; |
| 3466 | 1872 const char *file; |
|
1035
80a47e3b1bca
[gaim-migrate @ 1045]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
1873 char path[PATHSIZE]; |
| 1 | 1874 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1875 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1876 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1877 if (!find_log_info(c->name)) { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1878 file = gtk_file_selection_get_filename( |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1879 GTK_FILE_SELECTION(gtkconv->dialogs.log)); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1880 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1881 strncpy(path, file, PATHSIZE - 1); |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1882 |
| 5966 | 1883 if (gaim_gtk_check_if_dir(path, GTK_FILE_SELECTION(gtkconv->dialogs.log))) |
|
1035
80a47e3b1bca
[gaim-migrate @ 1045]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
1884 return; |
|
80a47e3b1bca
[gaim-migrate @ 1045]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
1885 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1886 l = (struct log_conversation *)g_new0(struct log_conversation, 1); |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1887 strcpy(l->name, gaim_conversation_get_name(c)); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1888 strcpy(l->filename, file); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1889 log_conversations = g_list_append(log_conversations, l); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1890 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1891 if (c != NULL) |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1892 gaim_conversation_set_logging(c, TRUE); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1893 } |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1894 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1895 cancel_log(NULL, c); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1896 } |
| 1 | 1897 |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1898 void show_log_dialog(GaimConversation *c) |
| 1 | 1899 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1900 GaimGtkConversation *gtkconv; |
| 1 | 1901 char *buf = g_malloc(BUF_LEN); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1902 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1903 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1904 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1905 if (!gtkconv->dialogs.log) { |
| 4703 | 1906 gtkconv->dialogs.log = gtk_file_selection_new(_("Log Conversation")); |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1907 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1908 gtk_file_selection_hide_fileop_buttons( |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1909 GTK_FILE_SELECTION(gtkconv->dialogs.log)); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1910 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1911 g_snprintf(buf, BUF_LEN - 1, "%s" G_DIR_SEPARATOR_S "%s.log", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1912 gaim_home_dir(), normalize(c->name)); |
| 4635 | 1913 g_object_set_data(G_OBJECT(gtkconv->dialogs.log), "dialog_type", |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1914 "log dialog"); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1915 gtk_file_selection_set_filename(GTK_FILE_SELECTION(gtkconv->dialogs.log), |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1916 buf); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1917 g_signal_connect(G_OBJECT(gtkconv->dialogs.log), "delete_event", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1918 G_CALLBACK(delete_event_dialog), c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1919 g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(gtkconv->dialogs.log)->ok_button), "clicked", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1920 G_CALLBACK(do_log), c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1921 g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(gtkconv->dialogs.log)->cancel_button), "clicked", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1922 G_CALLBACK(cancel_log), c); |
| 1 | 1923 } |
| 1924 | |
| 25 | 1925 g_free(buf); |
| 1926 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1927 gtk_widget_show(gtkconv->dialogs.log); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1928 gdk_window_raise(gtkconv->dialogs.log->window); |
| 1 | 1929 } |
| 1930 | |
| 1931 /*------------------------------------------------------*/ | |
| 1932 /* Find Buddy By Email */ | |
| 1933 /*------------------------------------------------------*/ | |
| 1934 | |
| 1935 void do_find_info(GtkWidget *w, struct findbyinfo *b) | |
| 1936 { | |
| 3466 | 1937 const char *first; |
| 1938 const char *middle; | |
| 1939 const char *last; | |
| 1940 const char *maiden; | |
| 1941 const char *city; | |
| 1942 const char *state; | |
| 1943 const char *country; | |
| 1 | 1944 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1945 first = gtk_entry_get_text(GTK_ENTRY(b->firstentry)); |
| 1 | 1946 middle = gtk_entry_get_text(GTK_ENTRY(b->middleentry)); |
| 1947 last = gtk_entry_get_text(GTK_ENTRY(b->lastentry)); | |
| 1948 maiden = gtk_entry_get_text(GTK_ENTRY(b->maidenentry)); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1949 city = gtk_entry_get_text(GTK_ENTRY(b->cityentry)); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1950 state = gtk_entry_get_text(GTK_ENTRY(b->stateentry)); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1951 country = gtk_entry_get_text(GTK_ENTRY(b->countryentry)); |
| 1 | 1952 |
|
2393
a7ecfd3f7714
[gaim-migrate @ 2406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2382
diff
changeset
|
1953 serv_dir_search(b->gc, first, middle, last, maiden, city, state, country, ""); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1954 destroy_dialog(NULL, b->window); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1955 } |
| 1 | 1956 |
| 1957 void do_find_email(GtkWidget *w, struct findbyemail *b) | |
| 1958 { | |
| 3466 | 1959 const char *email; |
| 1 | 1960 |
| 1961 email = gtk_entry_get_text(GTK_ENTRY(b->emailentry)); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1962 |
|
2598
b2800bca74fe
[gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2582
diff
changeset
|
1963 serv_dir_search(b->gc, "", "", "", "", "", "", "", email); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1964 |
| 1 | 1965 destroy_dialog(NULL, b->window); |
| 1966 } | |
| 1967 | |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
1968 void show_find_info(GaimConnection *gc) |
| 1 | 1969 { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1970 GtkWidget *cancel; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1971 GtkWidget *ok; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1972 GtkWidget *label; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1973 GtkWidget *bbox; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1974 GtkWidget *vbox; |
| 479 | 1975 GtkWidget *hbox; |
| 1976 GtkWidget *fbox; | |
| 1977 GtkWidget *frame; | |
| 1 | 1978 |
| 1979 struct findbyinfo *b = g_new0(struct findbyinfo, 1); | |
|
2393
a7ecfd3f7714
[gaim-migrate @ 2406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2382
diff
changeset
|
1980 b->gc = gc; |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
1981 GAIM_DIALOG(b->window); |
| 4635 | 1982 gtk_window_set_resizable(GTK_WINDOW(b->window), TRUE); |
| 4074 | 1983 gtk_window_set_role(GTK_WINDOW(b->window), "find_info"); |
| 479 | 1984 |
| 1985 dialogwindows = g_list_prepend(dialogwindows, b->window); | |
| 1986 | |
| 1987 frame = gtk_frame_new(_("Search for Buddy")); | |
| 1988 fbox = gtk_vbox_new(FALSE, 5); | |
| 1989 | |
| 1990 /* Build OK Button */ | |
| 1991 | |
| 5024 | 1992 ok = gaim_pixbuf_button_from_stock(_("OK"), GTK_STOCK_OK, GAIM_BUTTON_HORIZONTAL); |
| 1993 cancel = gaim_pixbuf_button_from_stock(_("Cancel"), GTK_STOCK_CANCEL, GAIM_BUTTON_HORIZONTAL); | |
| 1 | 1994 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1995 bbox = gtk_hbox_new(FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1996 vbox = gtk_vbox_new(FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1997 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1998 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1999 b->firstentry = gtk_entry_new(); |
| 1 | 2000 b->middleentry = gtk_entry_new(); |
| 2001 b->lastentry = gtk_entry_new(); | |
| 2002 b->maidenentry = gtk_entry_new(); | |
| 2003 b->cityentry = gtk_entry_new(); | |
| 2004 b->stateentry = gtk_entry_new(); | |
| 2005 b->countryentry = gtk_entry_new(); | |
| 2006 | |
| 4333 | 2007 gtk_box_pack_end(GTK_BOX(bbox), ok, FALSE, FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2008 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 0); |
| 1 | 2009 |
| 479 | 2010 /* Line 1 */ |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2011 label = gtk_label_new(_("First Name")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2012 |
| 1185 | 2013 hbox = gtk_hbox_new(FALSE, 5); |
| 2014 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 2015 gtk_box_pack_end(GTK_BOX(hbox), b->firstentry, FALSE, FALSE, 0); | |
| 479 | 2016 |
| 1185 | 2017 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 479 | 2018 |
| 2019 /* Line 2 */ | |
| 1 | 2020 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2021 label = gtk_label_new(_("Middle Name")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2022 |
| 1185 | 2023 hbox = gtk_hbox_new(FALSE, 5); |
| 2024 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 2025 gtk_box_pack_end(GTK_BOX(hbox), b->middleentry, FALSE, FALSE, 0); | |
| 479 | 2026 |
| 1185 | 2027 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 479 | 2028 |
| 2029 /* Line 3 */ | |
| 2030 | |
| 2031 label = gtk_label_new(_("Last Name")); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2032 |
| 1185 | 2033 hbox = gtk_hbox_new(FALSE, 5); |
| 2034 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 2035 gtk_box_pack_end(GTK_BOX(hbox), b->lastentry, FALSE, FALSE, 0); | |
| 479 | 2036 |
| 1185 | 2037 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 479 | 2038 |
| 2039 /* Line 4 */ | |
| 2040 | |
| 2041 label = gtk_label_new(_("Maiden Name")); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2042 |
| 1185 | 2043 hbox = gtk_hbox_new(FALSE, 5); |
| 2044 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 2045 gtk_box_pack_end(GTK_BOX(hbox), b->maidenentry, FALSE, FALSE, 0); | |
| 479 | 2046 |
| 1185 | 2047 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 479 | 2048 |
| 2049 /* Line 5 */ | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2050 |
| 479 | 2051 label = gtk_label_new(_("City")); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2052 |
| 1185 | 2053 hbox = gtk_hbox_new(FALSE, 5); |
| 2054 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 2055 gtk_box_pack_end(GTK_BOX(hbox), b->cityentry, FALSE, FALSE, 0); | |
| 479 | 2056 |
| 1185 | 2057 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 479 | 2058 |
| 2059 /* Line 6 */ | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2060 label = gtk_label_new(_("State")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2061 |
| 1185 | 2062 hbox = gtk_hbox_new(FALSE, 5); |
| 2063 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 2064 gtk_box_pack_end(GTK_BOX(hbox), b->stateentry, FALSE, FALSE, 0); | |
| 479 | 2065 |
| 1185 | 2066 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 479 | 2067 |
| 2068 /* Line 7 */ | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2069 label = gtk_label_new(_("Country")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2070 |
| 1185 | 2071 hbox = gtk_hbox_new(FALSE, 5); |
| 2072 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 2073 gtk_box_pack_end(GTK_BOX(hbox), b->countryentry, FALSE, FALSE, 0); | |
| 479 | 2074 |
| 1185 | 2075 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 479 | 2076 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2077 /* Merge The Boxes */ |
| 479 | 2078 |
| 2079 gtk_container_add(GTK_CONTAINER(frame), vbox); | |
| 1185 | 2080 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 0); |
| 2081 gtk_box_pack_start(GTK_BOX(fbox), bbox, FALSE, FALSE, 0); | |
| 1 | 2082 |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2083 g_signal_connect(G_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window); |
|
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2084 g_signal_connect(G_OBJECT(cancel), "clicked", G_CALLBACK(destroy_dialog), b->window); |
|
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2085 g_signal_connect(G_OBJECT(ok), "clicked", G_CALLBACK(do_find_info), b); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2086 |
| 4703 | 2087 gtk_window_set_title(GTK_WINDOW(b->window), _("Find Buddy By Info")); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2088 gtk_window_set_focus(GTK_WINDOW(b->window), b->firstentry); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2089 gtk_container_add(GTK_CONTAINER(b->window), fbox); |
| 4635 | 2090 gtk_container_set_border_width(GTK_CONTAINER(b->window), 5); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2091 gtk_widget_realize(b->window); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2092 |
| 5024 | 2093 gtk_widget_show_all(b->window); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2094 } |
| 1 | 2095 |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
2096 void show_find_email(GaimConnection *gc) |
| 1 | 2097 { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2098 GtkWidget *label; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2099 GtkWidget *bbox; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2100 GtkWidget *vbox; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2101 GtkWidget *frame; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2102 GtkWidget *topbox; |
| 444 | 2103 GtkWidget *button; |
| 1 | 2104 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2105 struct findbyemail *b = g_new0(struct findbyemail, 1); |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
2106 if (g_list_find(gaim_connections_get_all(), gc)) |
|
1535
1e2cc8c8bf3c
[gaim-migrate @ 1545]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1499
diff
changeset
|
2107 b->gc = gc; |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
2108 GAIM_DIALOG(b->window); |
| 4635 | 2109 gtk_window_set_resizable(GTK_WINDOW(b->window), TRUE); |
| 4074 | 2110 gtk_window_set_role(GTK_WINDOW(b->window), "find_email"); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2111 gtk_widget_realize(b->window); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2112 dialogwindows = g_list_prepend(dialogwindows, b->window); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2113 g_signal_connect(G_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window); |
| 4703 | 2114 gtk_window_set_title(GTK_WINDOW(b->window), _("Find Buddy By Email")); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2115 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2116 vbox = gtk_vbox_new(FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2117 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2118 gtk_container_add(GTK_CONTAINER(b->window), vbox); |
| 1185 | 2119 |
| 444 | 2120 frame = gtk_frame_new(_("Search for Buddy")); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2121 gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2122 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2123 topbox = gtk_hbox_new(FALSE, 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2124 gtk_container_add(GTK_CONTAINER(frame), topbox); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2125 gtk_container_set_border_width(GTK_CONTAINER(topbox), 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2126 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2127 label = gtk_label_new(_("Email")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2128 gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 0); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2129 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2130 b->emailentry = gtk_entry_new(); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2131 gtk_box_pack_start(GTK_BOX(topbox), b->emailentry, TRUE, TRUE, 0); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2132 g_signal_connect(G_OBJECT(b->emailentry), "activate", G_CALLBACK(do_find_email), b); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2133 gtk_window_set_focus(GTK_WINDOW(b->window), b->emailentry); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1488
diff
changeset
|
2134 |
| 1185 | 2135 bbox = gtk_hbox_new(FALSE, 5); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2136 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0); |
| 444 | 2137 |
| 5024 | 2138 button = gaim_pixbuf_button_from_stock(_("OK"), GTK_STOCK_OK, GAIM_BUTTON_HORIZONTAL); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2139 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(do_find_email), b); |
| 4094 | 2140 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
| 2141 | |
| 5024 | 2142 button = gaim_pixbuf_button_from_stock(_("Cancel"), GTK_STOCK_CANCEL, GAIM_BUTTON_HORIZONTAL); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2143 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(destroy_dialog), b->window); |
| 1185 | 2144 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
| 2145 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2146 gtk_widget_show_all(b->window); |
| 1 | 2147 } |
| 2148 | |
| 2149 /*------------------------------------------------------*/ | |
| 2150 /* Link Dialog */ | |
| 2151 /*------------------------------------------------------*/ | |
| 2152 | |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2153 void cancel_link(GtkWidget *widget, GaimConversation *c) |
| 1 | 2154 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2155 GaimGtkConversation *gtkconv; |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2156 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2157 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2158 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2159 if (gtkconv->toolbar.link) { |
| 4635 | 2160 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.link), |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2161 FALSE); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2162 } |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2163 |
| 4685 | 2164 destroy_dialog(NULL, gtkconv->dialogs.link); |
| 2165 gtkconv->dialogs.link = NULL; | |
| 1 | 2166 } |
| 2167 | |
| 4262 | 2168 void do_insert_link(GtkWidget *w, int resp, struct linkdlg *b) |
| 1 | 2169 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2170 GaimGtkConversation *gtkconv; |
| 1 | 2171 char *open_tag; |
| 3466 | 2172 const char *urltext, *showtext; |
| 4262 | 2173 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2174 gtkconv = GAIM_GTK_CONVERSATION(b->c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2175 |
| 4262 | 2176 if (resp == GTK_RESPONSE_OK) { |
| 2177 | |
| 2178 open_tag = g_malloc(2048); | |
| 2179 | |
| 2180 urltext = gtk_entry_get_text(GTK_ENTRY(b->url)); | |
| 2181 showtext = gtk_entry_get_text(GTK_ENTRY(b->text)); | |
| 2182 | |
| 2183 if (!strlen(showtext)) | |
| 2184 showtext = urltext; | |
| 2185 | |
| 2186 g_snprintf(open_tag, 2048, "<A HREF=\"%s\">%s", urltext, showtext); | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2187 gaim_gtk_surround(gtkconv, open_tag, "</A>"); |
| 4262 | 2188 |
| 2189 g_free(open_tag); | |
| 2190 } | |
| 2191 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2192 if (gtkconv->toolbar.link) { |
| 4635 | 2193 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.link), |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2194 FALSE); |
| 4262 | 2195 } |
| 2196 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2197 gtkconv->dialogs.link = NULL; |
| 1 | 2198 destroy_dialog(NULL, b->window); |
| 2199 } | |
| 2200 | |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2201 void show_insert_link(GtkWidget *linky, GaimConversation *c) |
| 1 | 2202 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2203 GaimGtkConversation *gtkconv; |
|
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2204 GaimGtkWindow *gtkwin; |
| 4262 | 2205 GtkWidget *table; |
| 2206 GtkWidget *label; | |
| 2207 GtkWidget *hbox; | |
| 1 | 2208 GtkWidget *vbox; |
| 2209 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2210 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2211 gtkwin = GAIM_GTK_WINDOW(gaim_conversation_get_window(c)); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2212 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2213 if (gtkconv->dialogs.link == NULL) { |
| 4262 | 2214 struct linkdlg *a = g_new0(struct linkdlg, 1); |
| 5024 | 2215 GtkWidget *img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG); |
| 4262 | 2216 |
| 2217 a->c = c; | |
| 4703 | 2218 a->window = gtk_dialog_new_with_buttons(_("Insert Link"), |
| 5092 | 2219 GTK_WINDOW(gtkwin->window), 0, GTK_STOCK_CANCEL, |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2220 GTK_RESPONSE_CANCEL, _("Insert"), GTK_RESPONSE_OK, NULL); |
| 4262 | 2221 |
| 2222 gtk_dialog_set_default_response(GTK_DIALOG(a->window), GTK_RESPONSE_OK); | |
| 2223 gtk_container_set_border_width(GTK_CONTAINER(a->window), 6); | |
| 2224 gtk_window_set_resizable(GTK_WINDOW(a->window), FALSE); | |
| 2225 gtk_dialog_set_has_separator(GTK_DIALOG(a->window), FALSE); | |
| 2226 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(a->window)->vbox), 12); | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2227 gtk_container_set_border_width( |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2228 GTK_CONTAINER(GTK_DIALOG(a->window)->vbox), 6); |
| 4262 | 2229 gtk_window_set_role(GTK_WINDOW(a->window), "insert_link"); |
| 2230 | |
| 2231 hbox = gtk_hbox_new(FALSE, 12); | |
| 2232 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(a->window)->vbox), hbox); | |
| 2233 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
| 2234 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); | |
| 2235 | |
| 2236 vbox = gtk_vbox_new(FALSE, 0); | |
| 2237 gtk_container_add(GTK_CONTAINER(hbox), vbox); | |
| 2238 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2239 label = gtk_label_new(_("Please enter the URL and description of " |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2240 "the link that you want to insert. The " |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2241 "description is optional.\n")); |
| 4262 | 2242 |
| 2243 gtk_widget_set_size_request(GTK_WIDGET(label), 335, -1); | |
| 2244 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | |
| 2245 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 2246 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); | |
| 2247 | |
| 2248 hbox = gtk_hbox_new(FALSE, 6); | |
| 2249 gtk_container_add(GTK_CONTAINER(vbox), hbox); | |
| 2250 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2251 g_signal_connect(G_OBJECT(a->window), "destroy", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2252 G_CALLBACK(destroy_dialog), a->window); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2253 g_signal_connect(G_OBJECT(a->window), "destroy", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2254 G_CALLBACK(free_dialog), a); |
| 4262 | 2255 dialogwindows = g_list_prepend(dialogwindows, a->window); |
| 2256 | |
| 2257 table = gtk_table_new(4, 2, FALSE); | |
| 2258 gtk_table_set_row_spacings(GTK_TABLE(table), 5); | |
| 2259 gtk_table_set_col_spacings(GTK_TABLE(table), 5); | |
| 2260 gtk_container_set_border_width(GTK_CONTAINER(table), 0); | |
| 2261 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); | |
| 2262 | |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
2263 label = gtk_label_new(_("URL")); |
| 4262 | 2264 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
| 2265 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1); | |
| 2266 | |
| 2267 a->url = gtk_entry_new(); | |
| 2268 gtk_table_attach_defaults(GTK_TABLE(table), a->url, 1, 2, 0, 1); | |
| 2269 gtk_widget_grab_focus(a->url); | |
| 2270 | |
| 2271 gtk_entry_set_activates_default (GTK_ENTRY(a->url), TRUE); | |
| 2272 | |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
2273 label = gtk_label_new(_("Description")); |
| 4262 | 2274 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
| 2275 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2); | |
| 2276 | |
| 2277 a->text = gtk_entry_new(); | |
| 2278 gtk_table_attach_defaults(GTK_TABLE(table), a->text, 1, 2, 1, 2); | |
| 2279 gtk_entry_set_activates_default (GTK_ENTRY(a->text), TRUE); | |
| 2280 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2281 g_signal_connect(G_OBJECT(a->window), "response", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2282 G_CALLBACK(do_insert_link), a); |
| 4262 | 2283 |
| 2284 a->toggle = linky; | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2285 gtkconv->dialogs.link = a->window; |
| 1 | 2286 } |
| 2287 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2288 gtk_widget_show_all(gtkconv->dialogs.link); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2289 gdk_window_raise(gtkconv->dialogs.link->window); |
| 1 | 2290 } |
| 2291 | |
| 2292 /*------------------------------------------------------*/ | |
| 2293 /* Color Selection Dialog */ | |
| 2294 /*------------------------------------------------------*/ | |
| 2295 | |
| 3367 | 2296 GtkWidget *fgcseld = NULL; |
| 2297 GtkWidget *bgcseld = NULL; | |
|
657
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
2298 |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2299 void cancel_fgcolor(GtkWidget *widget, GaimConversation *c) |
| 1 | 2300 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2301 GaimGtkConversation *gtkconv; |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2302 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2303 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2304 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2305 if (gtkconv->toolbar.fgcolor && widget) { |
| 4635 | 2306 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.fgcolor), |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2307 FALSE); |
| 61 | 2308 } |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2309 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2310 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.fg_color); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2311 gtk_widget_destroy(gtkconv->dialogs.fg_color); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2312 gtkconv->dialogs.fg_color = NULL; |
| 1 | 2313 } |
| 2314 | |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2315 void cancel_bgcolor(GtkWidget *widget, GaimConversation *c) |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2316 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2317 GaimGtkConversation *gtkconv; |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2318 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2319 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2320 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2321 if (gtkconv->toolbar.bgcolor && widget) { |
| 4635 | 2322 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.bgcolor), |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2323 FALSE); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2324 } |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2325 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2326 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.bg_color); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2327 gtk_widget_destroy(gtkconv->dialogs.bg_color); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2328 gtkconv->dialogs.bg_color = NULL; |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2329 } |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2330 |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2331 void do_fgcolor(GtkWidget *widget, GtkColorSelection *colorsel) |
| 1 | 2332 { |
| 2333 GdkColor text_color; | |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2334 GaimConversation *c; |
|
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2335 GaimGtkConversation *gtkconv; |
| 1 | 2336 char *open_tag; |
| 2337 | |
| 2338 open_tag = g_malloc(30); | |
| 2339 | |
| 3557 | 2340 gtk_color_selection_get_current_color(colorsel, &text_color); |
| 1 | 2341 |
| 4635 | 2342 c = g_object_get_data(G_OBJECT(colorsel), "gaim_conversation"); |
|
411
a330017b3aa4
[gaim-migrate @ 421]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
401
diff
changeset
|
2343 /* GTK_IS_EDITABLE(c->entry); huh? */ |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
2344 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2345 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2346 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2347 gtkconv->fg_color = text_color; |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2348 g_snprintf(open_tag, 23, "<FONT COLOR=\"#%02X%02X%02X\">", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2349 text_color.red / 256, |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2350 text_color.green / 256, |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2351 text_color.blue / 256); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2352 gaim_gtk_surround(gtkconv, open_tag, "</FONT>"); |
|
5213
1cf4eb75e3ee
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
2353 |
|
1cf4eb75e3ee
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
2354 gaim_debug(GAIM_DEBUG_MISC, "fgcolor dialog", "#%02X%02X%02X\n", |
|
1cf4eb75e3ee
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
2355 text_color.red / 256, |
|
1cf4eb75e3ee
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
2356 text_color.green / 256, |
|
1cf4eb75e3ee
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
2357 text_color.blue / 256); |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
2358 g_free(open_tag); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2359 cancel_fgcolor(NULL, c); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2360 } |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2361 |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2362 void do_bgcolor(GtkWidget *widget, GtkColorSelection *colorsel) |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2363 { |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2364 GdkColor text_color; |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2365 GaimConversation *c; |
|
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2366 GaimGtkConversation *gtkconv; |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2367 char *open_tag; |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2368 |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2369 open_tag = g_malloc(30); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2370 |
| 3557 | 2371 gtk_color_selection_get_current_color(colorsel, &text_color); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2372 |
| 4635 | 2373 c = g_object_get_data(G_OBJECT(colorsel), "gaim_conversation"); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2374 /* GTK_IS_EDITABLE(c->entry); huh? */ |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2375 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2376 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2377 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2378 gtkconv->bg_color = text_color; |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2379 g_snprintf(open_tag, 25, "<BODY BGCOLOR=\"#%02X%02X%02X\">", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2380 text_color.red / 256, |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2381 text_color.green / 256, |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2382 text_color.blue / 256); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2383 gaim_gtk_surround(gtkconv, open_tag, "</BODY>"); |
|
5213
1cf4eb75e3ee
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
2384 gaim_debug(GAIM_DEBUG_MISC, "bgcolor dialog", "#%02X%02X%02X\n", |
|
1cf4eb75e3ee
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
2385 text_color.red / 256, |
|
1cf4eb75e3ee
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
2386 text_color.green / 256, |
|
1cf4eb75e3ee
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
2387 text_color.blue / 256); |
|
1cf4eb75e3ee
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
2388 |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2389 g_free(open_tag); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2390 cancel_bgcolor(NULL, c); |
| 1 | 2391 } |
| 2392 | |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2393 void show_fgcolor_dialog(GaimConversation *c, GtkWidget *color) |
| 1 | 2394 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2395 GaimGtkConversation *gtkconv; |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
2396 GtkWidget *colorsel; |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2397 GdkColor fgcolor; |
| 1 | 2398 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2399 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2400 |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2401 gdk_color_parse(gaim_prefs_get_string("/gaim/gtk/conversations/fgcolor"), |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2402 &fgcolor); |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2403 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2404 if (color == NULL) { /* we came from the prefs */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2405 if (fgcseld) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2406 return; |
|
2209
9b8b32ae3b41
[gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2143
diff
changeset
|
2407 |
|
657
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
2408 fgcseld = gtk_color_selection_dialog_new(_("Select Text Color")); |
| 4198 | 2409 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION |
| 2410 (GTK_COLOR_SELECTION_DIALOG(fgcseld)->colorsel), &fgcolor); | |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2411 g_signal_connect(G_OBJECT(fgcseld), "delete_event", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2412 G_CALLBACK(destroy_colorsel), (void *)1); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2413 g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(fgcseld)->cancel_button), |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2414 "clicked", G_CALLBACK(destroy_colorsel), (void *)1); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2415 g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(fgcseld)->ok_button), "clicked", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2416 G_CALLBACK(apply_color_dlg), (void *)1); |
|
657
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
2417 gtk_widget_realize(fgcseld); |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
2418 gtk_widget_show(fgcseld); |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
2419 gdk_window_raise(fgcseld->window); |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
2420 return; |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2421 } |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2422 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2423 if (!gtkconv->dialogs.fg_color) { |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2424 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2425 gtkconv->dialogs.fg_color = gtk_color_selection_dialog_new(_("Select Text Color")); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2426 colorsel = GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.fg_color)->colorsel; |
| 4198 | 2427 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(colorsel), &fgcolor); |
| 4635 | 2428 g_object_set_data(G_OBJECT(colorsel), "gaim_conversation", c); |
|
2209
9b8b32ae3b41
[gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2143
diff
changeset
|
2429 |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2430 g_signal_connect(G_OBJECT(gtkconv->dialogs.fg_color), "delete_event", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2431 G_CALLBACK(delete_event_dialog), c); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2432 g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.fg_color)->ok_button), |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2433 "clicked", G_CALLBACK(do_fgcolor), colorsel); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2434 g_signal_connect(G_OBJECT |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2435 (GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.fg_color)->cancel_button), |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2436 "clicked", G_CALLBACK(cancel_fgcolor), c); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2437 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2438 gtk_widget_realize(gtkconv->dialogs.fg_color); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2439 } |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2440 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2441 gtk_widget_show(gtkconv->dialogs.fg_color); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2442 gdk_window_raise(gtkconv->dialogs.fg_color->window); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2443 } |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2444 |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2445 void show_bgcolor_dialog(GaimConversation *c, GtkWidget *color) |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2446 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2447 GaimGtkConversation *gtkconv; |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2448 GtkWidget *colorsel; |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2449 GdkColor bgcolor; |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2450 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2451 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2452 |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2453 gdk_color_parse(gaim_prefs_get_string("/gaim/gtk/conversations/bgcolor"), |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2454 &bgcolor); |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2455 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2456 if (color == NULL) { /* we came from the prefs */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2457 if (bgcseld) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2458 return; |
|
2209
9b8b32ae3b41
[gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2143
diff
changeset
|
2459 |
|
657
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
2460 bgcseld = gtk_color_selection_dialog_new(_("Select Background Color")); |
| 4198 | 2461 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION |
| 2462 (GTK_COLOR_SELECTION_DIALOG(bgcseld)->colorsel), &bgcolor); | |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2463 g_signal_connect(G_OBJECT(bgcseld), "delete_event", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2464 G_CALLBACK(destroy_colorsel), NULL); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2465 g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(bgcseld)->cancel_button), |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2466 "clicked", G_CALLBACK(destroy_colorsel), NULL); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2467 g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(bgcseld)->ok_button), "clicked", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2468 G_CALLBACK(apply_color_dlg), (void *)2); |
|
657
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
2469 gtk_widget_realize(bgcseld); |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
2470 gtk_widget_show(bgcseld); |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
2471 gdk_window_raise(bgcseld->window); |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
2472 return; |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
2473 } |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
2474 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2475 if (!gtkconv->dialogs.bg_color) { |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2476 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2477 gtkconv->dialogs.bg_color = gtk_color_selection_dialog_new(_("Select Background Color")); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2478 colorsel = GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.bg_color)->colorsel; |
| 4198 | 2479 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(colorsel), &bgcolor); |
| 4635 | 2480 g_object_set_data(G_OBJECT(colorsel), "gaim_conversation", c); |
|
2209
9b8b32ae3b41
[gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2143
diff
changeset
|
2481 |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2482 g_signal_connect(G_OBJECT(gtkconv->dialogs.bg_color), "delete_event", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2483 G_CALLBACK(delete_event_dialog), c); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2484 g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.bg_color)->ok_button), |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2485 "clicked", G_CALLBACK(do_bgcolor), colorsel); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2486 g_signal_connect(G_OBJECT |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2487 (GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.bg_color)->cancel_button), |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2488 "clicked", G_CALLBACK(cancel_bgcolor), c); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
2489 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2490 gtk_widget_realize(gtkconv->dialogs.bg_color); |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
2491 } |
| 1 | 2492 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2493 gtk_widget_show(gtkconv->dialogs.bg_color); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2494 gdk_window_raise(gtkconv->dialogs.bg_color->window); |
| 1 | 2495 } |
| 2496 | |
| 2497 /*------------------------------------------------------------------------*/ | |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
2498 /* Font Selection Dialog */ |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
2499 /*------------------------------------------------------------------------*/ |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
2500 |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2501 void cancel_font(GtkWidget *widget, GaimConversation *c) |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2502 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2503 GaimGtkConversation *gtkconv; |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2504 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2505 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2506 |
| 4685 | 2507 if (gtkconv->toolbar.font && widget) { |
| 4635 | 2508 gtk_toggle_button_set_active( |
| 4685 | 2509 GTK_TOGGLE_BUTTON(gtkconv->toolbar.font), FALSE); |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
2510 } |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2511 |
| 5970 | 2512 if (gtkconv->dialogs.font) { |
| 2513 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.font); | |
| 2514 gtk_widget_destroy(gtkconv->dialogs.font); | |
| 2515 gtkconv->dialogs.font = NULL; | |
| 2516 } | |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
2517 } |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
2518 |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
2519 void apply_font(GtkWidget *widget, GtkFontSelection *fontsel) |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
2520 { |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
2521 /* this could be expanded to include font size, weight, etc. |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
2522 but for now only works with font face */ |
| 3473 | 2523 int i = 0; |
|
666
71ea550c22ac
[gaim-migrate @ 676]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
657
diff
changeset
|
2524 char *fontname; |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2525 GaimConversation *c = g_object_get_data(G_OBJECT(fontsel), |
| 4635 | 2526 "gaim_conversation"); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2527 |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2528 fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(fontsel)); |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2529 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2530 if (c) { |
| 4635 | 2531 while(fontname[i] && !isdigit(fontname[i])) { |
| 3473 | 2532 i++; |
| 2533 } | |
| 2534 fontname[i] = 0; | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2535 gaim_gtk_set_font_face(GAIM_GTK_CONVERSATION(c), fontname); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2536 } else { |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2537 char *c; |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2538 |
|
334
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
2539 fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(fontsel)); |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2540 |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2541 for (c = fontname; *c != '\0'; c++) { |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2542 if (isdigit(*c)) { |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2543 *(--c) = '\0'; |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2544 break; |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2545 } |
|
234
985635758c33
[gaim-migrate @ 244]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
231
diff
changeset
|
2546 } |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2547 |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2548 gaim_prefs_set_string("/gaim/gtk/conversations/font_face", fontname); |
|
234
985635758c33
[gaim-migrate @ 244]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
231
diff
changeset
|
2549 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2550 |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2551 g_free(fontname); |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2552 |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
2553 cancel_font(NULL, c); |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
2554 } |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
2555 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2556 void destroy_fontsel(GtkWidget *w, gpointer d) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2557 { |
|
334
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
2558 gtk_widget_destroy(fontseld); |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
2559 fontseld = NULL; |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
2560 } |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
2561 |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2562 void show_font_dialog(GaimConversation *c, GtkWidget *font) |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
2563 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2564 GaimGtkConversation *gtkconv; |
| 3473 | 2565 char fonttif[128]; |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2566 const char *fontface; |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2567 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2568 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2569 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2570 if (!font) { /* we came from the prefs dialog */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2571 if (fontseld) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2572 return; |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2573 |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
2574 fontseld = gtk_font_selection_dialog_new(_("Select Font")); |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2575 |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2576 fontface = gaim_prefs_get_string("/gaim/gtk/conversations/font_face"); |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2577 |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2578 if (fontface != NULL && *fontface != '\0') { |
| 3473 | 2579 g_snprintf(fonttif, sizeof(fonttif), "%s 12", fontface); |
|
2763
477a035d81e5
[gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2761
diff
changeset
|
2580 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(fontseld), |
| 3473 | 2581 fonttif); |
|
2763
477a035d81e5
[gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2761
diff
changeset
|
2582 } else { |
|
477a035d81e5
[gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2761
diff
changeset
|
2583 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(fontseld), |
| 3473 | 2584 DEFAULT_FONT_FACE " 12"); |
|
2763
477a035d81e5
[gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2761
diff
changeset
|
2585 } |
|
334
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
2586 |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2587 g_signal_connect(G_OBJECT(fontseld), "delete_event", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2588 G_CALLBACK(destroy_fontsel), NULL); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2589 g_signal_connect(G_OBJECT(GTK_FONT_SELECTION_DIALOG(fontseld)->cancel_button), |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2590 "clicked", G_CALLBACK(destroy_fontsel), NULL); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2591 g_signal_connect(G_OBJECT(GTK_FONT_SELECTION_DIALOG(fontseld)->ok_button), "clicked", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2592 G_CALLBACK(apply_font_dlg), fontseld); |
|
334
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
2593 gtk_widget_realize(fontseld); |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
2594 gtk_widget_show(fontseld); |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
2595 gdk_window_raise(fontseld->window); |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
2596 return; |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
2597 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2598 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2599 if (!gtkconv->dialogs.font) { |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2600 gtkconv->dialogs.font = gtk_font_selection_dialog_new(_("Select Font")); |
|
234
985635758c33
[gaim-migrate @ 244]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
231
diff
changeset
|
2601 |
| 4635 | 2602 g_object_set_data(G_OBJECT(gtkconv->dialogs.font), "gaim_conversation", c); |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2603 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2604 if (gtkconv->fontface[0]) { |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2605 g_snprintf(fonttif, sizeof(fonttif), "%s 12", gtkconv->fontface); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2606 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(gtkconv->dialogs.font), |
| 3473 | 2607 fonttif); |
|
2763
477a035d81e5
[gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2761
diff
changeset
|
2608 } else { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2609 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(gtkconv->dialogs.font), |
| 3473 | 2610 DEFAULT_FONT_FACE); |
|
2763
477a035d81e5
[gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2761
diff
changeset
|
2611 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2612 |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2613 g_signal_connect(G_OBJECT(gtkconv->dialogs.font), "delete_event", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2614 G_CALLBACK(delete_event_dialog), c); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2615 g_signal_connect(G_OBJECT(GTK_FONT_SELECTION_DIALOG(gtkconv->dialogs.font)->ok_button), |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2616 "clicked", G_CALLBACK(apply_font), gtkconv->dialogs.font); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2617 g_signal_connect(G_OBJECT(GTK_FONT_SELECTION_DIALOG(gtkconv->dialogs.font)->cancel_button), |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2618 "clicked", G_CALLBACK(cancel_font), c); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2619 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2620 gtk_widget_realize(gtkconv->dialogs.font); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2621 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2622 } |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2623 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2624 gtk_widget_show(gtkconv->dialogs.font); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2625 gdk_window_raise(gtkconv->dialogs.font->window); |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
2626 } |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
2627 |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
2628 /*------------------------------------------------------------------------*/ |
| 1 | 2629 /* The dialog for new away messages */ |
| 2630 /*------------------------------------------------------------------------*/ | |
| 2631 | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2632 static struct away_message *save_away_message(struct create_away *ca) |
| 717 | 2633 { |
| 2634 struct away_message *am; | |
| 2635 gchar *away_message; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2636 |
|
832
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
2637 if (!ca->mess) |
|
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
2638 am = g_new0(struct away_message, 1); |
|
2851
6eb5bf5089f0
[gaim-migrate @ 2864]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2827
diff
changeset
|
2639 else { |
|
832
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
2640 am = ca->mess; |
|
2851
6eb5bf5089f0
[gaim-migrate @ 2864]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2827
diff
changeset
|
2641 } |
| 1387 | 2642 |
| 4119 | 2643 |
| 717 | 2644 g_snprintf(am->name, sizeof(am->name), "%s", gtk_entry_get_text(GTK_ENTRY(ca->entry))); |
| 4119 | 2645 away_message = gtk_text_view_get_text(GTK_TEXT_VIEW(ca->text), FALSE); |
| 717 | 2646 |
| 2647 g_snprintf(am->message, sizeof(am->message), "%s", away_message); | |
| 2648 g_free(away_message); | |
| 2649 | |
|
832
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
2650 if (!ca->mess) { |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2651 away_messages = g_slist_insert_sorted(away_messages, am, sort_awaymsg_list); |
|
832
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
2652 } |
|
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
2653 |
|
5560
b7319c094153
[gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents:
5551
diff
changeset
|
2654 do_away_menu(NULL); |
| 6065 | 2655 gaim_status_sync(); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2656 |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2657 return am; |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2658 } |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2659 |
| 1387 | 2660 int check_away_mess(struct create_away *ca, int type) |
| 2661 { | |
| 4630 | 2662 char *msg; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2663 if ((strlen(gtk_entry_get_text(GTK_ENTRY(ca->entry))) == 0) && (type == 1)) { |
| 1387 | 2664 /* We shouldn't allow a blank title */ |
|
5436
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
2665 gaim_notify_error(NULL, NULL, |
|
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
2666 _("You cannot save an away message with a " |
|
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
2667 "blank title"), |
|
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
2668 _("Please give the message a title, or choose " |
|
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
2669 "\"Use\" to use without saving.")); |
| 1387 | 2670 return 0; |
| 2671 } | |
| 2672 | |
| 4630 | 2673 msg = gtk_text_view_get_text(GTK_TEXT_VIEW(ca->text), FALSE); |
| 2674 | |
| 2675 if (!msg && (type <= 1)) { | |
| 1387 | 2676 /* We shouldn't allow a blank message */ |
|
5436
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
2677 gaim_notify_error(NULL, NULL, |
|
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
2678 _("You cannot create an empty away message"), NULL); |
| 1387 | 2679 return 0; |
| 2680 } | |
| 2681 | |
| 4630 | 2682 g_free(msg); |
| 2683 | |
| 1387 | 2684 return 1; |
| 2685 } | |
| 2686 | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2687 void save_away_mess(GtkWidget *widget, struct create_away *ca) |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2688 { |
| 1387 | 2689 if (!check_away_mess(ca, 1)) |
| 2690 return; | |
| 2691 | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2692 save_away_message(ca); |
| 717 | 2693 destroy_dialog(NULL, ca->window); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2694 g_free(ca); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2695 } |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2696 |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2697 void use_away_mess(GtkWidget *widget, struct create_away *ca) |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2698 { |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2699 static struct away_message am; |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2700 gchar *away_message; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2701 |
| 1387 | 2702 if (!check_away_mess(ca, 0)) |
| 2703 return; | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2704 |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2705 g_snprintf(am.name, sizeof(am.name), "%s", gtk_entry_get_text(GTK_ENTRY(ca->entry))); |
| 4119 | 2706 away_message = gtk_text_view_get_text(GTK_TEXT_VIEW(ca->text), FALSE); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2707 |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2708 g_snprintf(am.message, sizeof(am.message), "%s", away_message); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2709 g_free(away_message); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2710 |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2711 do_away_message(NULL, &am); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2712 |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2713 destroy_dialog(NULL, ca->window); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2714 g_free(ca); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2715 } |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2716 |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2717 void su_away_mess(GtkWidget *widget, struct create_away *ca) |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2718 { |
| 1387 | 2719 if (!check_away_mess(ca, 1)) |
| 2720 return; | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2721 do_away_message(NULL, save_away_message(ca)); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2722 destroy_dialog(NULL, ca->window); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2723 g_free(ca); |
| 717 | 2724 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2725 |
| 1 | 2726 void create_away_mess(GtkWidget *widget, void *dummy) |
| 2727 { | |
| 439 | 2728 GtkWidget *hbox; |
| 1 | 2729 GtkWidget *titlebox; |
| 2730 GtkWidget *tbox; | |
| 2731 GtkWidget *label; | |
| 439 | 2732 GtkWidget *frame; |
| 2733 GtkWidget *fbox; | |
| 441 | 2734 GtkWidget *button; |
| 1 | 2735 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2736 struct create_away *ca = g_new0(struct create_away, 1); |
| 1185 | 2737 |
| 1 | 2738 /* Set up window */ |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
2739 GAIM_DIALOG(ca->window); |
| 4635 | 2740 gtk_widget_set_size_request(ca->window, -1, 250); |
| 2741 gtk_container_set_border_width(GTK_CONTAINER(ca->window), 5); | |
| 4074 | 2742 gtk_window_set_role(GTK_WINDOW(ca->window), "away_mess"); |
| 4703 | 2743 gtk_window_set_title(GTK_WINDOW(ca->window), _("New away message")); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2744 g_signal_connect(G_OBJECT(ca->window), "delete_event", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2745 G_CALLBACK(destroy_dialog), ca->window); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2746 gtk_widget_realize(ca->window); |
| 1185 | 2747 |
| 2748 tbox = gtk_vbox_new(FALSE, 5); | |
| 2749 gtk_container_add(GTK_CONTAINER(ca->window), tbox); | |
| 439 | 2750 |
| 2751 frame = gtk_frame_new(_("New away message")); | |
| 1185 | 2752 gtk_box_pack_start(GTK_BOX(tbox), frame, TRUE, TRUE, 0); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2753 |
| 1172 | 2754 fbox = gtk_vbox_new(FALSE, 5); |
|
1224
0bbe3aaa6a3e
[gaim-migrate @ 1234]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1216
diff
changeset
|
2755 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5); |
| 1185 | 2756 gtk_container_add(GTK_CONTAINER(frame), fbox); |
| 2757 | |
| 2758 titlebox = gtk_hbox_new(FALSE, 5); | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2759 gtk_box_pack_start(GTK_BOX(fbox), titlebox, FALSE, FALSE, 0); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2760 |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
2761 label = gtk_label_new(_("Away title: ")); |
| 1172 | 2762 gtk_box_pack_start(GTK_BOX(titlebox), label, FALSE, FALSE, 0); |
| 1185 | 2763 |
| 1 | 2764 ca->entry = gtk_entry_new(); |
| 1172 | 2765 gtk_box_pack_start(GTK_BOX(titlebox), ca->entry, TRUE, TRUE, 0); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2766 gtk_widget_grab_focus(ca->entry); |
| 1 | 2767 |
| 4119 | 2768 frame = gtk_frame_new(NULL); |
| 2769 gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN); | |
| 2770 gtk_box_pack_start(GTK_BOX(fbox), frame, TRUE, TRUE, 0); | |
| 5024 | 2771 |
| 4119 | 2772 ca->text = gtk_text_view_new(); |
| 5105 | 2773 gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(ca->text), GTK_WRAP_WORD_CHAR); |
| 5024 | 2774 |
| 4119 | 2775 gtk_container_add(GTK_CONTAINER(frame), ca->text); |
| 5024 | 2776 |
| 3374 | 2777 if (dummy) { |
| 2778 struct away_message *amt; | |
| 2779 GtkTreeIter iter; | |
| 2780 int pos = 0; | |
| 2781 GtkListStore *ls = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(dummy))); | |
| 2782 GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(dummy)); | |
| 2783 GValue val = { 0, }; | |
| 4119 | 2784 GtkTextIter start; |
| 2785 GtkTextBuffer *buffer; | |
| 3374 | 2786 |
|
3716
d7e83b4db191
[gaim-migrate @ 3849]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3671
diff
changeset
|
2787 if (! gtk_tree_selection_get_selected (sel, (GtkTreeModel**)&ls, &iter)) |
| 3374 | 2788 return; |
|
3716
d7e83b4db191
[gaim-migrate @ 3849]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3671
diff
changeset
|
2789 gtk_tree_model_get_value (GTK_TREE_MODEL(ls), &iter, 1, &val); |
| 3374 | 2790 amt = g_value_get_pointer (&val); |
| 2791 gtk_entry_set_text(GTK_ENTRY(ca->entry), amt->name); | |
| 4119 | 2792 buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(ca->text)); |
| 2793 gtk_text_buffer_get_iter_at_offset(buffer, &start, pos); | |
| 2794 gtk_text_buffer_insert(buffer, &start, amt->message, strlen(amt->message)); | |
| 2795 | |
| 3374 | 2796 ca->mess = amt; |
| 2797 } | |
|
832
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
2798 |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2799 hbox = gtk_hbox_new(FALSE, 5); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2800 gtk_box_pack_start(GTK_BOX(tbox), hbox, FALSE, FALSE, 0); |
| 5024 | 2801 |
| 2802 button = gaim_pixbuf_button_from_stock(_("Save"), GTK_STOCK_SAVE, GAIM_BUTTON_HORIZONTAL); | |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2803 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(save_away_mess), ca); |
| 4092 | 2804 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
| 2805 | |
| 5024 | 2806 button = gaim_pixbuf_button_from_stock(_("Save & Use"), GTK_STOCK_OK, GAIM_BUTTON_HORIZONTAL); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2807 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(su_away_mess), ca); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2808 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2809 |
| 5024 | 2810 button = gaim_pixbuf_button_from_stock(_("Use"), GTK_STOCK_EXECUTE, GAIM_BUTTON_HORIZONTAL); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2811 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(use_away_mess), ca); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2812 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2813 |
| 5024 | 2814 button = gaim_pixbuf_button_from_stock(_("Cancel"), GTK_STOCK_CANCEL, GAIM_BUTTON_HORIZONTAL); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2815 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(destroy_dialog), ca->window); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
2816 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2817 |
| 5024 | 2818 gtk_widget_show_all(ca->window); |
| 1 | 2819 } |
| 555 | 2820 |
| 2821 /* smiley dialog */ | |
| 2822 | |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2823 void close_smiley_dialog(GtkWidget *widget, GaimConversation *c) |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2824 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2825 GaimGtkConversation *gtkconv; |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2826 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2827 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2828 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2829 if (gtkconv->toolbar.smiley) { |
| 4635 | 2830 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.smiley), |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2831 FALSE); |
| 570 | 2832 } |
| 5275 | 2833 if(gtkconv->dialogs.smiley) { |
| 2834 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.smiley); | |
| 2835 gtk_widget_destroy(gtkconv->dialogs.smiley); | |
| 2836 gtkconv->dialogs.smiley = NULL; | |
| 2837 } | |
| 555 | 2838 } |
| 2839 | |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2840 void insert_smiley_text(GtkWidget *widget, GaimConversation *c) |
| 555 | 2841 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2842 GaimGtkConversation *gtkconv; |
| 4667 | 2843 char *smiley_text = g_object_get_data(G_OBJECT(widget), "smiley_text"); |
| 5275 | 2844 GtkTextMark *select_mark, *insert_mark; |
| 2845 GtkTextIter select_iter, insert_iter; | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2846 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2847 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2848 |
| 5275 | 2849 select_mark = gtk_text_buffer_get_selection_bound(gtkconv->entry_buffer); |
| 2850 insert_mark = gtk_text_buffer_get_insert(gtkconv->entry_buffer); | |
| 2851 | |
| 2852 if(insert_mark != select_mark) { /* there is text selected */ | |
| 2853 gtk_text_buffer_get_iter_at_mark(gtkconv->entry_buffer, &select_iter, select_mark); | |
| 2854 gtk_text_buffer_get_iter_at_mark(gtkconv->entry_buffer, &insert_iter, insert_mark); | |
| 2855 gtk_text_buffer_delete(gtkconv->entry_buffer, &select_iter, &insert_iter); | |
| 2856 } | |
| 2857 | |
| 4667 | 2858 gtk_text_buffer_insert_at_cursor(gtkconv->entry_buffer, smiley_text, -1); |
| 555 | 2859 close_smiley_dialog(NULL, c); |
| 2860 } | |
|
579
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
2861 |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2862 static void add_smiley(GaimConversation *c, GtkWidget *table, int row, int col, char *filename, char *face) |
| 4034 | 2863 { |
|
4061
890b4f1318df
[gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4060
diff
changeset
|
2864 GtkWidget *image; |
| 4034 | 2865 GtkWidget *button; |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2866 GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(c); |
| 4667 | 2867 |
| 2868 image = gtk_image_new_from_file(filename); | |
| 2869 button = gtk_button_new(); | |
| 2870 gtk_container_add(GTK_CONTAINER(button), image); | |
| 2871 g_object_set_data(G_OBJECT(button), "smiley_text", face); | |
| 2872 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(insert_smiley_text), c); | |
| 2873 | |
| 2874 gtk_tooltips_set_tip(gtkconv->tooltips, button, face, NULL); | |
| 2875 | |
| 2876 gtk_table_attach_defaults(GTK_TABLE(table), button, col, col+1, row, row+1); | |
| 4034 | 2877 |
| 2878 /* these look really weird with borders */ | |
| 2879 gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); | |
| 4667 | 2880 |
| 2881 gtk_widget_show(button); | |
| 2882 } | |
| 2883 | |
| 2884 static gboolean smiley_is_unique(GSList *list, GtkIMHtmlSmiley *smiley) { | |
| 2885 while(list) { | |
| 2886 GtkIMHtmlSmiley *cur = list->data; | |
| 2887 if(!strcmp(cur->file, smiley->file)) | |
| 2888 return FALSE; | |
| 2889 list = list->next; | |
| 2890 } | |
| 2891 return TRUE; | |
| 4034 | 2892 } |
| 2893 | |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2894 void show_smiley_dialog(GaimConversation *c, GtkWidget *widget) |
| 555 | 2895 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
2896 GaimGtkConversation *gtkconv; |
| 555 | 2897 GtkWidget *dialog; |
| 4667 | 2898 GtkWidget *smiley_table = NULL; |
| 2899 GSList *smileys, *unique_smileys = NULL; | |
| 2900 int width; | |
| 2901 int row = 0, col = 0; | |
| 555 | 2902 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2903 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2904 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2905 if (gtkconv->dialogs.smiley) |
|
558
f1b8f03db83f
[gaim-migrate @ 568]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
555
diff
changeset
|
2906 return; |
|
579
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
2907 |
| 4667 | 2908 if(c->account) |
|
5943
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5925
diff
changeset
|
2909 smileys = get_proto_smileys( |
|
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5925
diff
changeset
|
2910 gaim_account_get_protocol(gaim_conversation_get_account(c))); |
| 4667 | 2911 else |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5136
diff
changeset
|
2912 smileys = get_proto_smileys(GAIM_PROTO_DEFAULT); |
| 4667 | 2913 |
| 2914 while(smileys) { | |
| 2915 GtkIMHtmlSmiley *smiley = smileys->data; | |
| 2916 if(!smiley->hidden) { | |
| 2917 if(smiley_is_unique(unique_smileys, smiley)) | |
| 2918 unique_smileys = g_slist_append(unique_smileys, smiley); | |
| 2919 } | |
| 2920 smileys = smileys->next; | |
| 2921 } | |
| 2922 | |
| 2923 | |
| 2924 width = floor(sqrt(g_slist_length(unique_smileys))); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2925 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
2926 GAIM_DIALOG(dialog); |
| 4635 | 2927 gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE); |
| 4074 | 2928 gtk_window_set_role(GTK_WINDOW(dialog), "smiley_dialog"); |
| 934 | 2929 gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_MOUSE); |
|
579
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
2930 |
| 4667 | 2931 smiley_table = gtk_table_new(width, width, TRUE); |
| 555 | 2932 |
| 2933 /* pack buttons */ | |
| 4667 | 2934 |
| 2935 while(unique_smileys) { | |
| 2936 GtkIMHtmlSmiley *smiley = unique_smileys->data; | |
| 2937 if(!smiley->hidden) { | |
| 2938 add_smiley(c, smiley_table, row, col, smiley->file, smiley->smile); | |
| 2939 if(++col >= width) { | |
| 2940 col = 0; | |
| 2941 row++; | |
| 2942 } | |
| 2943 } | |
| 2944 unique_smileys = unique_smileys->next; | |
| 2945 } | |
| 2946 | |
| 2947 gtk_container_add(GTK_CONTAINER(dialog), smiley_table); | |
| 2948 | |
| 2949 gtk_widget_show(smiley_table); | |
| 2950 | |
|
579
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
2951 gtk_container_set_border_width(GTK_CONTAINER(dialog), 5); |
| 555 | 2952 |
| 605 | 2953 /* connect signals */ |
| 4635 | 2954 g_object_set_data(G_OBJECT(dialog), "dialog_type", "smiley dialog"); |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2955 g_signal_connect(G_OBJECT(dialog), "delete_event", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2956 G_CALLBACK(delete_event_dialog), c); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2957 |
| 555 | 2958 /* show everything */ |
|
567
102afb84ce45
[gaim-migrate @ 577]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
558
diff
changeset
|
2959 gtk_window_set_title(GTK_WINDOW(dialog), _("Smile!")); |
| 584 | 2960 gtk_widget_show_all(dialog); |
| 555 | 2961 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
2962 gtkconv->dialogs.smiley = dialog; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
2963 |
| 555 | 2964 return; |
|
558
f1b8f03db83f
[gaim-migrate @ 568]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
555
diff
changeset
|
2965 } |
|
710
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
699
diff
changeset
|
2966 |
|
6329
418cc72136d1
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
2967 static void |
|
418cc72136d1
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
2968 alias_chat_cb(struct chat *chat, const char *new_alias) |
| 5234 | 2969 { |
|
6329
418cc72136d1
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
2970 gaim_blist_alias_chat(chat, new_alias); |
|
418cc72136d1
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
2971 gaim_blist_save(); |
| 5234 | 2972 } |
| 2973 | |
|
6329
418cc72136d1
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
2974 void |
|
418cc72136d1
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
2975 alias_dialog_chat(struct chat *chat) |
|
418cc72136d1
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
2976 { |
|
418cc72136d1
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
2977 gaim_request_input(NULL, _("Alias Chat"), _("Alias chat"), |
|
418cc72136d1
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
2978 _("Please enter an aliased name for this chat."), |
|
418cc72136d1
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
2979 chat->alias, FALSE, FALSE, |
|
418cc72136d1
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
2980 _("OK"), G_CALLBACK(alias_chat_cb), |
|
418cc72136d1
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
2981 _("Cancel"), NULL, chat); |
| 5234 | 2982 } |
| 2983 | |
|
6327
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
2984 static void |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
2985 alias_buddy_cb(struct buddy *buddy, GaimRequestFields *fields) |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
2986 { |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
2987 const char *alias; |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
2988 |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
2989 alias = gaim_request_fields_get_string(fields, "alias"); |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
2990 |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
2991 gaim_blist_alias_buddy(buddy, |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
2992 (alias != NULL && *alias != '\0') ? alias : NULL); |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
2993 serv_alias_buddy(buddy); |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
2994 gaim_blist_save(); |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
2995 } |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
2996 |
|
5050
dfec167391a5
[gaim-migrate @ 5398]
Christian Hammond <chipx86@chipx86.com>
parents:
5024
diff
changeset
|
2997 void |
|
dfec167391a5
[gaim-migrate @ 5398]
Christian Hammond <chipx86@chipx86.com>
parents:
5024
diff
changeset
|
2998 alias_dialog_bud(struct buddy *b) |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
2999 { |
|
6327
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
3000 GaimRequestFields *fields; |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
3001 GaimRequestFieldGroup *group; |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
3002 GaimRequestField *field; |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
3003 |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
3004 fields = gaim_request_fields_new(); |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
3005 |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
3006 group = gaim_request_field_group_new(NULL); |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
3007 gaim_request_fields_add_group(fields, group); |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
3008 |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
3009 field = gaim_request_field_string_new("screenname", _("_Screenname"), |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
3010 b->name, FALSE); |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
3011 gaim_request_field_group_add_field(group, field); |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
3012 |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
3013 field = gaim_request_field_string_new("alias", _("_Alias"), |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
3014 b->alias, FALSE); |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
3015 gaim_request_field_group_add_field(group, field); |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
3016 |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
3017 gaim_request_fields(NULL, _("Alias Buddy"), |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
3018 _("Alias buddy"), |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
3019 _("Please enter an aliased name for the person " |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
3020 "below, or rename this contact in your buddy list."), |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
3021 fields, |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
3022 _("OK"), G_CALLBACK(alias_buddy_cb), |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
3023 _("Cancel"), NULL, |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
3024 b); |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
3025 } |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3026 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3027 static gboolean dont_destroy(gpointer a, gpointer b, gpointer c) |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3028 { |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3029 return TRUE; |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3030 } |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3031 |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3032 static void do_save_log(GtkWidget *w, GtkWidget *filesel) |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3033 { |
|
3716
d7e83b4db191
[gaim-migrate @ 3849]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3671
diff
changeset
|
3034 const char *file; |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3035 char path[PATHSIZE]; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3036 char buf[BUF_LONG]; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3037 char error[BUF_LEN]; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3038 FILE *fp_old, *fp_new; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3039 char filename[PATHSIZE]; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3040 char *name; |
|
1722
1edc8b545d6f
[gaim-migrate @ 1732]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1710
diff
changeset
|
3041 char *tmp; |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3042 |
| 4635 | 3043 name = g_object_get_data(G_OBJECT(filesel), "name"); |
|
1722
1edc8b545d6f
[gaim-migrate @ 1732]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1710
diff
changeset
|
3044 tmp = gaim_user_dir(); |
| 3630 | 3045 g_snprintf(filename, PATHSIZE, "%s" G_DIR_SEPARATOR_S "logs" G_DIR_SEPARATOR_S "%s%s", tmp, |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3046 name ? normalize(name) : "system", name ? ".log" : ""); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3047 |
|
3716
d7e83b4db191
[gaim-migrate @ 3849]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3671
diff
changeset
|
3048 file = (const char*)gtk_file_selection_get_filename(GTK_FILE_SELECTION(filesel)); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3049 strncpy(path, file, PATHSIZE - 1); |
| 5966 | 3050 if (gaim_gtk_check_if_dir(path, GTK_FILE_SELECTION(filesel))) |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3051 return; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3052 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3053 if ((fp_new = fopen(path, "w")) == NULL) { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3054 g_snprintf(error, BUF_LONG, |
| 3427 | 3055 _("Couldn't write to %s."), path); |
|
5436
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
3056 gaim_notify_error(NULL, NULL, error, strerror(errno)); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3057 return; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3058 } |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3059 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3060 if ((fp_old = fopen(filename, "r")) == NULL) { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3061 g_snprintf(error, BUF_LONG, |
| 3427 | 3062 _("Couldn't write to %s."), filename); |
|
5436
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
3063 gaim_notify_error(NULL, NULL, error, strerror(errno)); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3064 fclose(fp_new); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3065 return; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3066 } |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3067 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3068 while (fgets(buf, BUF_LONG, fp_old)) |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3069 fputs(buf, fp_new); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3070 fclose(fp_old); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3071 fclose(fp_new); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3072 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3073 gtk_widget_destroy(filesel); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3074 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3075 return; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3076 } |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3077 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3078 static void show_save_log(GtkWidget *w, gchar *name) |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3079 { |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3080 GtkWidget *filesel; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3081 gchar buf[BUF_LEN]; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3082 |
| 3630 | 3083 g_snprintf(buf, BUF_LEN - 1, "%s" G_DIR_SEPARATOR_S "%s%s", gaim_home_dir(), |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3084 name ? normalize(name) : "system", name ? ".log" : ""); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3085 |
| 4703 | 3086 filesel = gtk_file_selection_new(_("Save Log File")); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
3087 g_signal_connect(G_OBJECT(filesel), "delete_event", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3088 G_CALLBACK(destroy_dialog), filesel); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3089 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3090 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(filesel)); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3091 gtk_file_selection_set_filename(GTK_FILE_SELECTION(filesel), buf); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
3092 g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(filesel)->ok_button), |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3093 "clicked", G_CALLBACK(do_save_log), filesel); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
3094 g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(filesel)->cancel_button), |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3095 "clicked", G_CALLBACK(destroy_dialog), filesel); |
| 4635 | 3096 g_object_set_data(G_OBJECT(filesel), "name", name); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3097 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3098 gtk_widget_realize(filesel); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3099 gtk_widget_show(filesel); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3100 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3101 return; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3102 } |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3103 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3104 static void do_clear_log_file(GtkWidget *w, gchar *name) |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3105 { |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3106 gchar buf[256]; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3107 gchar filename[256]; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3108 GtkWidget *window; |
|
1722
1edc8b545d6f
[gaim-migrate @ 1732]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1710
diff
changeset
|
3109 char *tmp; |
|
1edc8b545d6f
[gaim-migrate @ 1732]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1710
diff
changeset
|
3110 |
|
1edc8b545d6f
[gaim-migrate @ 1732]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1710
diff
changeset
|
3111 tmp = gaim_user_dir(); |
| 3630 | 3112 g_snprintf(filename, 256, "%s" G_DIR_SEPARATOR_S "logs" G_DIR_SEPARATOR_S "%s%s", tmp, |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3113 name ? normalize(name) : "system", name ? ".log" : ""); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3114 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3115 if ((remove(filename)) == -1) { |
| 3427 | 3116 g_snprintf(buf, 256, _("Couldn't remove file %s." ), filename); |
|
5436
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
3117 gaim_notify_error(NULL, NULL, buf, strerror(errno)); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3118 } |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3119 |
| 4635 | 3120 window = g_object_get_data(G_OBJECT(w), "log_window"); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3121 destroy_dialog(NULL, window); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3122 } |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3123 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3124 static void show_clear_log(GtkWidget *w, gchar *name) |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3125 { |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3126 GtkWidget *window; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3127 GtkWidget *box; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3128 GtkWidget *hbox; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3129 GtkWidget *button; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3130 GtkWidget *label; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3131 GtkWidget *hsep; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3132 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
3133 GAIM_DIALOG(window); |
| 4074 | 3134 gtk_window_set_role(GTK_WINDOW(window), "dialog"); |
| 4703 | 3135 gtk_window_set_title(GTK_WINDOW(window), _("Clear Log")); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3136 gtk_container_set_border_width(GTK_CONTAINER(window), 10); |
| 4635 | 3137 gtk_window_set_resizable(GTK_WINDOW(window), TRUE); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
3138 g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(destroy_dialog), window); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3139 gtk_widget_realize(window); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3140 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3141 box = gtk_vbox_new(FALSE, 5); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3142 gtk_container_add(GTK_CONTAINER(window), box); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3143 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3144 label = gtk_label_new(_("Really clear log?")); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3145 gtk_box_pack_start(GTK_BOX(box), label, TRUE, TRUE, 15); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3146 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3147 hsep = gtk_hseparator_new(); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3148 gtk_box_pack_start(GTK_BOX(box), hsep, FALSE, FALSE, 0); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3149 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3150 hbox = gtk_hbox_new(FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
3151 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 0); |
| 5024 | 3152 |
| 3153 button = gaim_pixbuf_button_from_stock(_("OK"), GTK_STOCK_OK, GAIM_BUTTON_HORIZONTAL); | |
| 4635 | 3154 g_object_set_data(G_OBJECT(button), "log_window", g_object_get_data(G_OBJECT(w), |
| 3155 "log_window")); | |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
3156 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(do_clear_log_file), name); |
|
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
3157 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(destroy_dialog), window); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3158 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 5); |
| 5024 | 3159 |
| 3160 button = gaim_pixbuf_button_from_stock(_("Cancel"), GTK_STOCK_CANCEL, GAIM_BUTTON_HORIZONTAL); | |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
3161 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(destroy_dialog), window); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3162 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 5); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3163 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3164 gtk_widget_show_all(window); |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3165 |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3166 return; |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3167 } |
|
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3168 |
| 4635 | 3169 static void log_show_convo(struct view_log *view) |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3170 { |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3171 gchar buf[BUF_LONG]; |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3172 FILE *fp; |
| 2570 | 3173 char filename[256]; |
| 3174 int i=0; | |
| 3175 GString *string; | |
| 2602 | 3176 guint block; |
| 3177 | |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3178 string = g_string_new(""); |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3179 |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3180 if (view->name) { |
|
1634
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1535
diff
changeset
|
3181 char *tmp = gaim_user_dir(); |
| 3630 | 3182 g_snprintf(filename, 256, "%s" G_DIR_SEPARATOR_S "logs" G_DIR_SEPARATOR_S "%s.log", tmp, normalize(view->name)); |
|
1634
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1535
diff
changeset
|
3183 } else { |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1535
diff
changeset
|
3184 char *tmp = gaim_user_dir(); |
| 3630 | 3185 g_snprintf(filename, 256, "%s" G_DIR_SEPARATOR_S "logs" G_DIR_SEPARATOR_S "system", tmp); |
|
1634
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1535
diff
changeset
|
3186 } |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3187 if ((fp = fopen(filename, "r")) == NULL) { |
|
4923
e96261d0dba8
[gaim-migrate @ 5257]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4918
diff
changeset
|
3188 if (view->name) { |
|
e96261d0dba8
[gaim-migrate @ 5257]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4918
diff
changeset
|
3189 g_snprintf(buf, BUF_LONG, _("Couldn't open log file %s."), filename); |
|
5436
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
3190 gaim_notify_error(NULL, NULL, buf, strerror(errno)); |
|
4923
e96261d0dba8
[gaim-migrate @ 5257]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4918
diff
changeset
|
3191 } |
|
e96261d0dba8
[gaim-migrate @ 5257]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4918
diff
changeset
|
3192 /* If the system log doesn't exist.. no message just show empty system log window. |
|
e96261d0dba8
[gaim-migrate @ 5257]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4918
diff
changeset
|
3193 That way user knows that the log is empty :) |
|
e96261d0dba8
[gaim-migrate @ 5257]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4918
diff
changeset
|
3194 */ |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3195 return; |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3196 } |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3197 |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3198 gtk_widget_set_sensitive(view->bbox, FALSE); |
| 4635 | 3199 g_signal_handlers_disconnect_by_func(G_OBJECT(view->window), |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3200 G_CALLBACK(destroy_dialog), view->window); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
3201 block = g_signal_connect(G_OBJECT(view->window), "delete_event", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3202 G_CALLBACK(dont_destroy), view->window); |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3203 |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3204 fseek(fp, view->offset, SEEK_SET); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3205 gtk_imhtml_clear(GTK_IMHTML(view->layout)); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3206 /* |
| 2570 | 3207 while (gtk_events_pending()) |
| 3208 gtk_main_iteration(); | |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3209 */ |
| 2570 | 3210 |
| 6244 | 3211 while (fgets(buf, BUF_LONG, fp) && strncmp(buf, "---- ", 5)!=0) { |
| 2570 | 3212 i++; |
| 3213 if (strlen(buf) >= 5 && (!strncmp(buf + strlen(buf) - 5, "<BR>\n", 5))) | |
| 3214 /* take off the \n */ | |
| 3215 buf[strlen(buf) - 1] = '\0'; | |
| 3216 | |
|
2642
b6cf22276d4b
[gaim-migrate @ 2655]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2623
diff
changeset
|
3217 /* don't lose the thirtieth line of conversation. thanks FeRD */ |
|
b6cf22276d4b
[gaim-migrate @ 2655]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2623
diff
changeset
|
3218 g_string_append(string, buf); |
|
b6cf22276d4b
[gaim-migrate @ 2655]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2623
diff
changeset
|
3219 |
| 2570 | 3220 if (i == 30) { |
|
2856
b1e300a85678
[gaim-migrate @ 2869]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2851
diff
changeset
|
3221 gtk_imhtml_append_text(GTK_IMHTML(view->layout), string->str, -1, view->options); |
| 2570 | 3222 g_string_free(string, TRUE); |
| 3223 string = g_string_new(""); | |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3224 /* you can't have these anymore. if someone clicks on another item while one is |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3225 * drawing, it will try to move to that item, and that causes problems here. |
| 2570 | 3226 while (gtk_events_pending()) |
| 3227 gtk_main_iteration(); | |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3228 */ |
| 2570 | 3229 i = 0; |
| 3230 } | |
| 3231 | |
| 3232 } | |
|
2856
b1e300a85678
[gaim-migrate @ 2869]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2851
diff
changeset
|
3233 gtk_imhtml_append_text(GTK_IMHTML(view->layout), string->str, -1, view->options); |
|
b1e300a85678
[gaim-migrate @ 2869]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2851
diff
changeset
|
3234 gtk_imhtml_append_text(GTK_IMHTML(view->layout), "<BR>", -1, view->options); |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3235 |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3236 gtk_widget_set_sensitive(view->bbox, TRUE); |
| 4635 | 3237 g_signal_handler_disconnect(G_OBJECT(view->window), block); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
3238 g_signal_connect(G_OBJECT(view->window), "delete_event", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3239 G_CALLBACK(destroy_dialog), view->window); |
| 2570 | 3240 g_string_free(string, TRUE); |
| 3241 fclose(fp); | |
| 3242 } | |
| 3243 | |
| 4635 | 3244 static void log_select_convo(GtkTreeSelection *sel, GtkTreeModel *model) |
| 3245 { | |
| 3246 GValue val = { 0, }; | |
| 3247 GtkTreeIter iter; | |
| 3248 | |
| 3249 if(!gtk_tree_selection_get_selected(sel, &model, &iter)) | |
| 3250 return; | |
| 3251 gtk_tree_model_get_value(model, &iter, 1, &val); | |
| 3252 log_show_convo(g_value_get_pointer(&val)); | |
| 3253 } | |
| 3254 | |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3255 static void des_view_item(GtkObject *obj, struct view_log *view) |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3256 { |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3257 if (view->name) |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3258 g_free(view->name); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3259 g_free(view); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3260 } |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3261 |
| 4635 | 3262 static void des_log_win(GObject *win, gpointer data) |
|
2623
66164831c228
[gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2621
diff
changeset
|
3263 { |
| 4635 | 3264 char *x = g_object_get_data(win, "log_window"); |
|
2623
66164831c228
[gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2621
diff
changeset
|
3265 if (x) |
|
66164831c228
[gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2621
diff
changeset
|
3266 g_free(x); |
| 4874 | 3267 x = g_object_get_data(win, "name"); |
| 3268 if (x) | |
| 3269 g_free(x); | |
|
2623
66164831c228
[gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2621
diff
changeset
|
3270 } |
|
66164831c228
[gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2621
diff
changeset
|
3271 |
| 3484 | 3272 void conv_show_log(GtkWidget *w, gpointer data) |
| 3273 { | |
| 3274 char *name = g_strdup(data); | |
| 3275 show_log(name); | |
| 3276 g_free(name); | |
| 3277 } | |
| 3278 | |
| 3532 | 3279 void chat_show_log(GtkWidget *w, gpointer data) |
| 3280 { | |
|
3716
d7e83b4db191
[gaim-migrate @ 3849]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3671
diff
changeset
|
3281 char *name = g_strdup_printf("%s.chat", (char*)data); |
| 3532 | 3282 show_log(name); |
| 3283 g_free(name); | |
| 3284 } | |
| 3285 | |
|
2623
66164831c228
[gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2621
diff
changeset
|
3286 void show_log(char *nm) |
| 2570 | 3287 { |
| 3288 gchar filename[256]; | |
| 3289 gchar buf[BUF_LONG]; | |
| 3290 FILE *fp; | |
| 3291 GtkWidget *window; | |
| 3292 GtkWidget *box; | |
| 3293 GtkWidget *hbox; | |
| 2602 | 3294 GtkWidget *bbox; |
| 2570 | 3295 GtkWidget *sw; |
| 3296 GtkWidget *layout; | |
| 3297 GtkWidget *close_button; | |
| 3298 GtkWidget *clear_button; | |
| 3299 GtkWidget *save_button; | |
| 4635 | 3300 GtkListStore *list_store; |
| 3301 GtkWidget *tree_view; | |
| 3302 GtkTreeSelection *sel = NULL; | |
| 3303 GtkTreePath *path; | |
| 2612 | 3304 GtkWidget *item = NULL; |
| 3305 GtkWidget *last = NULL; | |
| 2570 | 3306 GtkWidget *frame; |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3307 struct view_log *view; |
|
2623
66164831c228
[gaim-migrate @ 2636]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2621
diff
changeset
|
3308 char *name = nm ? g_strdup(nm) : NULL; |
| 2570 | 3309 |
| 3310 int options; | |
| 3311 guint block; | |
| 3312 char convo_start[32]; | |
| 3313 long offset = 0; | |
| 3314 | |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3315 options = GTK_IMHTML_NO_COMMENTS | GTK_IMHTML_NO_TITLE | GTK_IMHTML_NO_SCROLL; |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
3316 |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
3317 if (gaim_prefs_get_bool("/gaim/gtk/conversations/ignore_colors")) |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3318 options ^= GTK_IMHTML_NO_COLOURS; |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
3319 |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
3320 if (gaim_prefs_get_bool("/gaim/gtk/conversations/ignore_fonts")) |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3321 options ^= GTK_IMHTML_NO_FONTS; |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
3322 |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
3323 if (gaim_prefs_get_bool("/gaim/gtk/conversations/ignore_font_sizes")) |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3324 options ^= GTK_IMHTML_NO_SIZES; |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3325 |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3326 window = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
| 4635 | 3327 g_object_set_data(G_OBJECT(window), "name", name); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
3328 g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(des_log_win), NULL); |
| 4074 | 3329 gtk_window_set_role(GTK_WINDOW(window), "log"); |
|
1648
09445224e2d9
[gaim-migrate @ 1658]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1634
diff
changeset
|
3330 if (name) |
| 4703 | 3331 g_snprintf(buf, BUF_LONG, _("Conversations with %s"), name); |
|
1648
09445224e2d9
[gaim-migrate @ 1658]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1634
diff
changeset
|
3332 else |
| 4703 | 3333 g_snprintf(buf, BUF_LONG, _("System Log")); |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3334 gtk_window_set_title(GTK_WINDOW(window), buf); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3335 gtk_container_set_border_width(GTK_CONTAINER(window), 10); |
| 4635 | 3336 gtk_window_set_resizable(GTK_WINDOW(window), TRUE); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
3337 block = g_signal_connect(G_OBJECT(window), "delete_event", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3338 G_CALLBACK(dont_destroy), window); |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3339 gtk_widget_realize(window); |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3340 |
| 2570 | 3341 layout = gtk_imhtml_new(NULL, NULL); |
| 2602 | 3342 bbox = gtk_hbox_new(FALSE, 0); |
| 3343 | |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3344 box = gtk_vbox_new(FALSE, 5); |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3345 gtk_container_add(GTK_CONTAINER(window), box); |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3346 |
| 2570 | 3347 hbox = gtk_hbox_new(FALSE, 5); |
| 3348 gtk_box_pack_start(GTK_BOX(box), hbox, TRUE, TRUE, 0); | |
| 3349 | |
| 3350 if (name) { | |
| 3351 char *tmp = gaim_user_dir(); | |
| 3630 | 3352 g_snprintf(filename, 256, "%s" G_DIR_SEPARATOR_S "logs" G_DIR_SEPARATOR_S "%s.log", tmp, normalize(name)); |
| 2570 | 3353 if ((fp = fopen(filename, "r")) == NULL) { |
| 4472 | 3354 g_snprintf(buf, BUF_LONG, _("Couldn't open log file %s"), filename); |
|
5436
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
3355 gaim_notify_error(NULL, NULL, buf, strerror(errno)); |
| 2570 | 3356 return; |
| 3357 } | |
| 3358 | |
| 4635 | 3359 list_store = gtk_list_store_new(2, |
| 3360 G_TYPE_STRING, | |
| 3361 G_TYPE_POINTER); | |
| 3362 | |
| 3363 tree_view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(list_store)); | |
| 3364 | |
| 3365 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(tree_view), FALSE); | |
| 3366 | |
| 3367 gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(tree_view), | |
| 3368 -1, "", gtk_cell_renderer_text_new(), "text", 0, NULL); | |
| 3369 | |
| 3370 sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_view)); | |
| 3371 g_signal_connect(G_OBJECT(sel), "changed", | |
| 3372 G_CALLBACK(log_select_convo), | |
| 3373 NULL); | |
| 2570 | 3374 |
| 3375 frame = gtk_frame_new(_("Date")); | |
| 3376 gtk_widget_show(frame); | |
| 3377 | |
| 3378 sw = gtk_scrolled_window_new(NULL, NULL); | |
| 3379 gtk_container_set_border_width(GTK_CONTAINER(sw), 5); | |
| 4635 | 3380 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), tree_view); |
|
2613
6f7e1fc3e132
[gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2612
diff
changeset
|
3381 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), |
|
6f7e1fc3e132
[gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2612
diff
changeset
|
3382 GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); |
| 4635 | 3383 gtk_widget_set_size_request(sw, 220, 220); |
| 2570 | 3384 gtk_container_add(GTK_CONTAINER(frame), sw); |
| 3385 gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0); | |
| 3386 | |
| 3387 while (fgets(buf, BUF_LONG, fp)) { | |
| 6244 | 3388 if (strncmp(buf, "---- ", 5)==0) { |
| 2570 | 3389 int length; |
| 3390 char *temp = strchr(buf, '@'); | |
| 4635 | 3391 GtkTreeIter iter; |
| 2612 | 3392 |
| 2570 | 3393 if (temp == NULL || strlen(temp) < 2) |
| 3394 continue; | |
| 2612 | 3395 |
| 2570 | 3396 temp++; |
| 3397 length = strcspn(temp, "-"); | |
| 3398 if (length > 31) length = 31; | |
| 3399 | |
| 3400 offset = ftell(fp); | |
| 3401 g_snprintf(convo_start, length, "%s", temp); | |
| 4635 | 3402 gtk_list_store_append(list_store, &iter); |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3403 view = g_new0(struct view_log, 1); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3404 view->options = options; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3405 view->offset = offset; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3406 view->name = g_strdup(name); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3407 view->bbox = bbox; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3408 view->window = window; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3409 view->layout = layout; |
| 4635 | 3410 gtk_list_store_set(list_store, &iter, |
| 3411 0, convo_start, | |
| 3412 1, view, | |
| 3413 -1); | |
| 3414 g_signal_connect(G_OBJECT(window), "destroy", | |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
3415 G_CALLBACK(des_view_item), view); |
| 2612 | 3416 last = item; |
| 2570 | 3417 } |
| 3418 } | |
| 3419 fclose(fp); | |
| 4635 | 3420 |
| 3421 path = gtk_tree_path_new_first(); | |
| 3422 gtk_tree_selection_select_path(sel, path); | |
| 3423 gtk_tree_path_free(path); | |
| 3424 | |
| 3425 g_object_unref(G_OBJECT(list_store)); | |
| 2612 | 3426 } |
| 3427 | |
| 4635 | 3428 |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
3429 g_signal_handler_disconnect(G_OBJECT(window), block); |
|
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
3430 g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(destroy_dialog), window); |
| 2602 | 3431 |
| 5400 | 3432 frame = gtk_frame_new(_("Log")); |
| 2570 | 3433 gtk_widget_show(frame); |
| 3434 | |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3435 sw = gtk_scrolled_window_new(NULL, NULL); |
| 2570 | 3436 gtk_container_set_border_width(GTK_CONTAINER(sw), 5); |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3437 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); |
| 4333 | 3438 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN); |
| 4635 | 3439 gtk_widget_set_size_request(sw, 390, 220); |
| 2570 | 3440 gtk_container_add(GTK_CONTAINER(frame), sw); |
| 3441 gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0); | |
| 3442 | |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
3443 g_signal_connect(G_OBJECT(layout), "url_clicked", G_CALLBACK(open_url), NULL); |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3444 gtk_container_add(GTK_CONTAINER(sw), layout); |
|
1815
f15d449b3167
[gaim-migrate @ 1825]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1805
diff
changeset
|
3445 gaim_setup_imhtml(layout); |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3446 |
| 2602 | 3447 gtk_box_pack_start(GTK_BOX(box), bbox, FALSE, FALSE, 0); |
| 3448 gtk_widget_set_sensitive(bbox, FALSE); | |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3449 |
| 5024 | 3450 close_button = gaim_pixbuf_button_from_stock(_("Close"), GTK_STOCK_CLOSE, GAIM_BUTTON_HORIZONTAL); |
| 2602 | 3451 gtk_box_pack_end(GTK_BOX(bbox), close_button, FALSE, FALSE, 5); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
3452 g_signal_connect(G_OBJECT(close_button), "clicked", G_CALLBACK(destroy_dialog), window); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3453 |
| 5024 | 3454 clear_button = gaim_pixbuf_button_from_stock(_("Clear"), GTK_STOCK_CLEAR, GAIM_BUTTON_HORIZONTAL); |
| 4635 | 3455 g_object_set_data(G_OBJECT(clear_button), "log_window", window); |
| 2602 | 3456 gtk_box_pack_end(GTK_BOX(bbox), clear_button, FALSE, FALSE, 5); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
3457 g_signal_connect(G_OBJECT(clear_button), "clicked", G_CALLBACK(show_clear_log), name); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3458 |
| 5024 | 3459 save_button = gaim_pixbuf_button_from_stock(_("Save"), GTK_STOCK_SAVE, GAIM_BUTTON_HORIZONTAL); |
| 2602 | 3460 gtk_box_pack_end(GTK_BOX(bbox), save_button, FALSE, FALSE, 5); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
3461 g_signal_connect(G_OBJECT(save_button), "clicked", G_CALLBACK(show_save_log), name); |
|
1488
55246babdeb3
[gaim-migrate @ 1498]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1484
diff
changeset
|
3462 |
| 4635 | 3463 gtk_widget_show_all(window); |
| 3464 | |
| 2570 | 3465 if (!name) { |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3466 view = g_new0(struct view_log, 1); |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3467 view->options = options; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3468 view->name = NULL; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3469 view->bbox = bbox; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3470 view->window = window; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
3471 view->layout = layout; |
| 4635 | 3472 log_show_convo(view); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
3473 g_signal_connect(G_OBJECT(layout), "destroy", G_CALLBACK(des_view_item), view); |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3474 } |
| 4635 | 3475 |
| 2602 | 3476 gtk_widget_set_sensitive(bbox, TRUE); |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3477 |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3478 return; |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
3479 } |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
3480 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
3481 /*------------------------------------------------------------------------*/ |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
3482 /* The dialog for renaming groups */ |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
3483 /*------------------------------------------------------------------------*/ |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
3484 |
| 6322 | 3485 static void do_rename_group(struct group *g, const char *new_name) |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
3486 { |
| 6322 | 3487 gaim_blist_rename_group(g, new_name); |
| 3488 gaim_blist_save(); | |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
3489 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
3490 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
3491 void show_rename_group(GtkWidget *unused, struct group *g) |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
3492 { |
|
6328
cbe2f320c214
[gaim-migrate @ 6827]
Christian Hammond <chipx86@chipx86.com>
parents:
6327
diff
changeset
|
3493 gaim_request_input(NULL, _("Rename Group"), _("New group name"), |
|
cbe2f320c214
[gaim-migrate @ 6827]
Christian Hammond <chipx86@chipx86.com>
parents:
6327
diff
changeset
|
3494 _("Please enter a new name for the selected group."), |
|
cbe2f320c214
[gaim-migrate @ 6827]
Christian Hammond <chipx86@chipx86.com>
parents:
6327
diff
changeset
|
3495 g->name, FALSE, FALSE, |
|
cbe2f320c214
[gaim-migrate @ 6827]
Christian Hammond <chipx86@chipx86.com>
parents:
6327
diff
changeset
|
3496 _("OK"), G_CALLBACK(do_rename_group), |
|
cbe2f320c214
[gaim-migrate @ 6827]
Christian Hammond <chipx86@chipx86.com>
parents:
6327
diff
changeset
|
3497 _("Cancel"), NULL, g); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
3498 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1722
diff
changeset
|
3499 |
| 3668 | 3500 GtkWidget *gaim_pixbuf_toolbar_button_from_stock(char *icon) |
| 3501 { | |
| 3502 GtkWidget *button, *image, *bbox; | |
| 3503 | |
| 3504 button = gtk_toggle_button_new(); | |
| 3505 gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); | |
| 3506 | |
| 3507 bbox = gtk_vbox_new(FALSE, 0); | |
| 3508 | |
| 3509 gtk_container_add (GTK_CONTAINER(button), bbox); | |
| 3510 | |
| 3511 image = gtk_image_new_from_stock(icon, GTK_ICON_SIZE_MENU); | |
| 3512 gtk_box_pack_start(GTK_BOX(bbox), image, FALSE, FALSE, 0); | |
| 3513 | |
| 3514 gtk_widget_show_all(bbox); | |
| 3515 return button; | |
| 3516 } | |
| 3517 | |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3518 GtkWidget * |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
3519 gaim_pixbuf_button_from_stock(const char *text, const char *icon, |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
3520 GaimButtonOrientation style) |
| 3668 | 3521 { |
| 5024 | 3522 GtkWidget *button, *image, *label, *bbox, *ibox, *lbox; |
| 3668 | 3523 button = gtk_button_new(); |
| 3524 | |
| 5024 | 3525 if (style == GAIM_BUTTON_HORIZONTAL) { |
| 3668 | 3526 bbox = gtk_hbox_new(FALSE, 5); |
| 5024 | 3527 ibox = gtk_hbox_new(FALSE, 0); |
| 3528 lbox = gtk_hbox_new(FALSE, 0); | |
| 3529 } else { | |
| 3530 bbox = gtk_vbox_new(FALSE, 5); | |
| 3531 ibox = gtk_vbox_new(FALSE, 0); | |
| 3532 lbox = gtk_vbox_new(FALSE, 0); | |
| 3533 } | |
| 3668 | 3534 |
| 3535 gtk_container_add (GTK_CONTAINER(button), bbox); | |
| 3536 | |
| 5024 | 3537 gtk_box_pack_start_defaults(GTK_BOX(bbox), ibox); |
| 3538 gtk_box_pack_start_defaults(GTK_BOX(bbox), lbox); | |
| 3539 | |
| 3668 | 3540 if (icon) { |
| 3541 image = gtk_image_new_from_stock(icon, GTK_ICON_SIZE_BUTTON); | |
| 5024 | 3542 gtk_box_pack_end(GTK_BOX(ibox), image, FALSE, FALSE, 0); |
| 3668 | 3543 } |
| 5024 | 3544 |
| 3668 | 3545 if (text) { |
| 3546 label = gtk_label_new(NULL); | |
| 3547 gtk_label_set_text_with_mnemonic(GTK_LABEL(label), text); | |
| 3548 gtk_label_set_mnemonic_widget(GTK_LABEL(label), button); | |
| 5024 | 3549 gtk_box_pack_start(GTK_BOX(lbox), label, FALSE, FALSE, 0); |
| 3668 | 3550 } |
| 3551 | |
| 3552 gtk_widget_show_all(bbox); | |
| 3553 return button; | |
| 3554 } | |
| 3555 | |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
3556 GtkWidget *gaim_pixbuf_button(char *text, char *iconfile, GaimButtonOrientation style) |
| 3367 | 3557 { |
| 5024 | 3558 GtkWidget *button, *image, *label, *bbox, *ibox, *lbox; |
| 3367 | 3559 button = gtk_button_new(); |
| 3649 | 3560 |
| 5024 | 3561 if (style == GAIM_BUTTON_HORIZONTAL) { |
| 3649 | 3562 bbox = gtk_hbox_new(FALSE, 5); |
| 5024 | 3563 ibox = gtk_hbox_new(FALSE, 0); |
| 3564 lbox = gtk_hbox_new(FALSE, 0); | |
| 3565 } else { | |
| 3566 bbox = gtk_vbox_new(FALSE, 5); | |
| 3567 ibox = gtk_vbox_new(FALSE, 0); | |
| 3568 lbox = gtk_vbox_new(FALSE, 0); | |
| 3569 } | |
| 3649 | 3570 |
| 3367 | 3571 gtk_container_add (GTK_CONTAINER(button), bbox); |
| 3649 | 3572 |
| 5024 | 3573 gtk_box_pack_start_defaults(GTK_BOX(bbox), ibox); |
| 3574 gtk_box_pack_start_defaults(GTK_BOX(bbox), lbox); | |
| 3575 | |
| 3367 | 3576 if (iconfile) { |
| 3577 char *filename; | |
| 3578 filename = g_build_filename (DATADIR, "pixmaps", "gaim", "buttons", iconfile, NULL); | |
|
5213
1cf4eb75e3ee
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
3579 gaim_debug(GAIM_DEBUG_MISC, "gaim_pixbuf_button", |
|
1cf4eb75e3ee
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
3580 "Loading: %s\n", filename); |
| 3367 | 3581 image = gtk_image_new_from_file(filename); |
| 5024 | 3582 gtk_box_pack_end(GTK_BOX(ibox), image, FALSE, FALSE, 0); |
| 3367 | 3583 g_free(filename); |
| 3584 } | |
| 5024 | 3585 |
| 3367 | 3586 if (text) { |
| 3587 label = gtk_label_new(NULL); | |
| 3588 gtk_label_set_text_with_mnemonic(GTK_LABEL(label), text); | |
| 3589 gtk_label_set_mnemonic_widget(GTK_LABEL(label), button); | |
| 5024 | 3590 gtk_box_pack_start(GTK_BOX(lbox), label, FALSE, FALSE, 0); |
|
2379
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
3591 } |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
3592 |
| 5024 | 3593 gtk_widget_show_all(bbox); |
|
2379
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
3594 return button; |
|
cacaf7ace3a5
[gaim-migrate @ 2392]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2377
diff
changeset
|
3595 } |
