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