Tue, 02 Dec 2003 16:37:22 +0000
[gaim-migrate @ 8346]
saen maent tihs
| 1 | 1 | /* |
| 2 | * gaim | |
| 3 | * | |
| 4 | * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net> | |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
5 | * |
| 1 | 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
e92b66ee5518
[gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents:
6352
diff
changeset
|
20 | #include "gtkinternal.h" |
|
5872
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
21 | |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
22 | #include "debug.h" |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
23 | #include "log.h" |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
24 | #include "multi.h" |
|
5436
a0e0bacaa196
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
25 | #include "notify.h" |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
26 | #include "prefs.h" |
|
5872
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
27 | #include "prpl.h" |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
28 | #include "request.h" |
| 6065 | 29 | #include "status.h" |
|
5872
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
30 | #include "util.h" |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
31 | |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
32 | #include "gtkblist.h" |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
33 | #include "gtkconv.h" |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
34 | #include "gtkimhtml.h" |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
35 | #include "gtkprefs.h" |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
36 | #include "gtkutils.h" |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
37 | #include "stock.h" |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
38 | |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
39 | #include "ui.h" |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
40 | |
|
6646
b9a0b5eb74e6
[gaim-migrate @ 7171]
Christian Hammond <chipx86@chipx86.com>
parents:
6640
diff
changeset
|
41 | /* XXX */ |
|
5872
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
42 | #include "gaim.h" |
| 1035 | 43 | |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
44 | static GtkWidget *imdialog = NULL; /*I only want ONE of these :) */ |
| 1 | 45 | static GList *dialogwindows = NULL; |
|
2493
ec90aa48cd51
[gaim-migrate @ 2506]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2472
diff
changeset
|
46 | static GtkWidget *importdialog; |
|
5563
d5a7852aa0cb
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
47 | static GaimConnection *importgc; |
| 2344 | 48 | static GtkWidget *icondlg; |
| 1729 | 49 | static GtkWidget *rename_dialog = NULL; |
|
5560
7cd6678f838b
[gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents:
5551
diff
changeset
|
50 | static GtkWidget *fontseld = NULL; |
|
230
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
229
diff
changeset
|
51 | |
| 3649 | 52 | |
| 2743 | 53 | struct confirm_del { |
| 54 | GtkWidget *window; | |
| 55 | GtkWidget *label; | |
| 56 | GtkWidget *ok; | |
| 57 | GtkWidget *cancel; | |
| 58 | char name[1024]; | |
|
5563
d5a7852aa0cb
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
59 | GaimConnection *gc; |
| 2743 | 60 | }; |
| 61 | ||
| 1 | 62 | struct create_away { |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
63 | GtkWidget *window; |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
64 | GtkWidget *entry; |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
65 | GtkWidget *text; |
|
832
138962a0d570
[gaim-migrate @ 842]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
825
diff
changeset
|
66 | struct away_message *mess; |
| 1 | 67 | }; |
| 68 | ||
| 69 | struct warning { | |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
70 | GtkWidget *window; |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
71 | GtkWidget *anon; |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
72 | char *who; |
|
5563
d5a7852aa0cb
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
73 | GaimConnection *gc; |
| 1 | 74 | }; |
| 75 | ||
| 76 | struct findbyemail { | |
| 77 | GtkWidget *window; | |
| 78 | GtkWidget *emailentry; | |
|
5563
d5a7852aa0cb
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
79 | GaimConnection *gc; |
| 1 | 80 | }; |
| 81 | ||
| 82 | struct findbyinfo { | |
|
5563
d5a7852aa0cb
[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
d5a7852aa0cb
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
95 | GaimConnection *gc; |
|
2773
3f711c709792
[gaim-migrate @ 2786]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2763
diff
changeset
|
96 | char *who; |
| 1 | 97 | GtkWidget *window; |
| 98 | GtkWidget *text; | |
| 99 | }; | |
| 3197 | 100 | |
| 101 | struct getuserinfo { | |
| 102 | GtkWidget *window; | |
| 103 | GtkWidget *entry; | |
| 104 | GtkWidget *account; | |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
105 | GaimConnection *gc; |
| 3197 | 106 | }; |
| 107 | ||
|
6334
47a748d6fb0f
[gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents:
6331
diff
changeset
|
108 | typedef struct |
|
47a748d6fb0f
[gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents:
6331
diff
changeset
|
109 | { |
|
47a748d6fb0f
[gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents:
6331
diff
changeset
|
110 | char *username; |
|
47a748d6fb0f
[gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents:
6331
diff
changeset
|
111 | gboolean block; |
|
47a748d6fb0f
[gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents:
6331
diff
changeset
|
112 | GaimConnection *gc; |
|
47a748d6fb0f
[gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents:
6331
diff
changeset
|
113 | |
|
47a748d6fb0f
[gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents:
6331
diff
changeset
|
114 | } GaimGtkBlockData; |
|
47a748d6fb0f
[gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents:
6331
diff
changeset
|
115 | |
| 1 | 116 | struct set_info_dlg { |
| 117 | GtkWidget *window; | |
|
960
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
118 | GtkWidget *menu; |
|
5563
d5a7852aa0cb
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
119 | GaimAccount *account; |
| 1 | 120 | GtkWidget *text; |
| 121 | GtkWidget *save; | |
| 122 | GtkWidget *cancel; | |
| 123 | }; | |
| 124 | ||
| 2344 | 125 | struct set_icon_dlg { |
| 126 | GtkWidget *window; | |
|
5563
d5a7852aa0cb
[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
d5a7852aa0cb
[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
d3c2fdaf4821
[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
d5a7852aa0cb
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
166 | GaimConnection *gc; |
| 146 | 167 | }; |
| 1 | 168 | |
|
2621
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
169 | struct view_log { |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
170 | long offset; |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
171 | int options; |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
172 | char *name; |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
173 | GtkWidget *bbox; |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
174 | GtkWidget *window; |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
175 | GtkWidget *layout; |
|
7330
d9180de05551
[gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents:
7261
diff
changeset
|
176 | void *clear_handle; |
|
2621
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
177 | }; |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
178 | |
| 4119 | 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
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
196 | static gint delete_event_dialog(GtkWidget *w, GdkEventAny *e, GaimConversation *c) |
|
311
971d26b73be6
[gaim-migrate @ 321]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
308
diff
changeset
|
197 | { |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
198 | GaimGtkConversation *gtkconv; |
|
605
3d93a5c09c8f
[gaim-migrate @ 615]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
603
diff
changeset
|
199 | gchar *object_data; |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
200 | |
| 4635 | 201 | object_data = g_object_get_data(G_OBJECT(w), "dialog_type"); |
|
605
3d93a5c09c8f
[gaim-migrate @ 615]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
603
diff
changeset
|
202 | |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
203 | gtkconv = GAIM_GTK_CONVERSATION(c); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
204 | |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
205 | if (GTK_IS_COLOR_SELECTION_DIALOG(w)) { |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
206 | if (w == gtkconv->dialogs.fg_color) { |
| 4635 | 207 | gtk_toggle_button_set_active( |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
208 | GTK_TOGGLE_BUTTON(gtkconv->toolbar.fgcolor), FALSE); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
209 | gtkconv->dialogs.fg_color = NULL; |
|
858
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
210 | } else { |
| 4635 | 211 | gtk_toggle_button_set_active( |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
212 | GTK_TOGGLE_BUTTON(gtkconv->toolbar.bgcolor), FALSE); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
213 | gtkconv->dialogs.bg_color = NULL; |
|
858
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
214 | } |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
215 | } else if (GTK_IS_FONT_SELECTION_DIALOG(w)) { |
| 4635 | 216 | gtk_toggle_button_set_active( |
| 4685 | 217 | GTK_TOGGLE_BUTTON(gtkconv->toolbar.font), FALSE); |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
218 | gtkconv->dialogs.font = NULL; |
| 4793 | 219 | } else if (!g_ascii_strcasecmp(object_data, "smiley dialog")) { |
| 4635 | 220 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.smiley), |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
221 | FALSE); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
222 | gtkconv->dialogs.smiley = NULL; |
| 4793 | 223 | } else if (!g_ascii_strcasecmp(object_data, "log dialog")) { |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
224 | gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtkconv->toolbar.log), |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
225 | FALSE); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
226 | gtkconv->dialogs.log = NULL; |
|
608
4c11ac40558f
[gaim-migrate @ 618]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
607
diff
changeset
|
227 | } |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
228 | |
|
858
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
229 | dialogwindows = g_list_remove(dialogwindows, w); |
|
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
230 | gtk_widget_destroy(w); |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
231 | |
|
311
971d26b73be6
[gaim-migrate @ 321]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
308
diff
changeset
|
232 | return FALSE; |
|
971d26b73be6
[gaim-migrate @ 321]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
308
diff
changeset
|
233 | } |
| 1 | 234 | |
| 235 | static void destroy_dialog(GtkWidget *w, GtkWidget *w2) | |
| 236 | { | |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
237 | GtkWidget *dest; |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
238 | |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
239 | if (!GTK_IS_WIDGET(w2)) |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
240 | dest = w; |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
241 | else |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
242 | dest = w2; |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
243 | |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
244 | if (dest == imdialog) |
| 1 | 245 | imdialog = NULL; |
|
5050
241e7595c116
[gaim-migrate @ 5398]
Christian Hammond <chipx86@chipx86.com>
parents:
5024
diff
changeset
|
246 | else if (dest == importdialog) { |
| 1 | 247 | importdialog = NULL; |
|
2493
ec90aa48cd51
[gaim-migrate @ 2506]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2472
diff
changeset
|
248 | importgc = NULL; |
|
ec90aa48cd51
[gaim-migrate @ 2506]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2472
diff
changeset
|
249 | } |
|
5050
241e7595c116
[gaim-migrate @ 5398]
Christian Hammond <chipx86@chipx86.com>
parents:
5024
diff
changeset
|
250 | else if (dest == icondlg) |
| 2344 | 251 | icondlg = NULL; |
|
5050
241e7595c116
[gaim-migrate @ 5398]
Christian Hammond <chipx86@chipx86.com>
parents:
5024
diff
changeset
|
252 | else if (dest == rename_dialog) |
| 1729 | 253 | rename_dialog = NULL; |
| 254 | ||
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
255 | dialogwindows = g_list_remove(dialogwindows, dest); |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
256 | gtk_widget_destroy(dest); |
| 1 | 257 | } |
| 258 | ||
| 259 | ||
| 260 | void destroy_all_dialogs() | |
| 261 | { | |
|
2621
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
262 | while (dialogwindows) |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
263 | destroy_dialog(NULL, dialogwindows->data); |
| 1 | 264 | |
|
391
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
350
diff
changeset
|
265 | if (awaymessage) |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
350
diff
changeset
|
266 | do_im_back(NULL, NULL); |
|
84
419c24cfe582
[gaim-migrate @ 94]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
79
diff
changeset
|
267 | |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
268 | if (imdialog) { |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
269 | destroy_dialog(NULL, imdialog); |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
270 | imdialog = NULL; |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
271 | } |
| 935 | 272 | |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
273 | if (importdialog) { |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
274 | destroy_dialog(NULL, importdialog); |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
275 | importdialog = NULL; |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
276 | } |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
277 | |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
278 | if (icondlg) { |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
279 | destroy_dialog(NULL, icondlg); |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
280 | icondlg = NULL; |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
281 | } |
| 1 | 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
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
288 | |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
289 | destroy_dialog(NULL, w->window); |
|
1288
cf2e4986d032
[gaim-migrate @ 1298]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1272
diff
changeset
|
290 | g_free(w); |
|
cf2e4986d032
[gaim-migrate @ 1298]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1272
diff
changeset
|
291 | } |
| 1 | 292 | |
|
5563
d5a7852aa0cb
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
293 | void show_warn_dialog(GaimConnection *gc, char *who) |
| 1 | 294 | { |
| 3757 | 295 | char *labeltext; |
| 296 | GtkWidget *hbox, *vbox; | |
| 1 | 297 | GtkWidget *label; |
|
5024
3b5412e4b483
[gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents:
4978
diff
changeset
|
298 | GtkWidget *img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_DIALOG); |
|
6640
007eb21016b4
[gaim-migrate @ 7165]
Christian Hammond <chipx86@chipx86.com>
parents:
6623
diff
changeset
|
299 | GaimConversation *c = gaim_find_conversation_with_account(who, gc->account); |
| 441 | 300 | |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
301 | struct warning *w = g_new0(struct warning, 1); |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
302 | w->who = who; |
|
1288
cf2e4986d032
[gaim-migrate @ 1298]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1272
diff
changeset
|
303 | w->gc = gc; |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
304 | |
| 3757 | 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
bd201d637ff4
[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
bd201d637ff4
[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
cf2e4986d032
[gaim-migrate @ 1298]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1272
diff
changeset
|
349 | dialogwindows = g_list_prepend(dialogwindows, w->window); |
| 3757 | 350 | gtk_widget_show_all(w->window); |
| 1 | 351 | } |
| 352 | ||
|
6334
47a748d6fb0f
[gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents:
6331
diff
changeset
|
353 | static void |
|
7118
280b3b85a28a
[gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents:
7108
diff
changeset
|
354 | do_remove_chat(GaimChat *chat) |
| 5234 | 355 | { |
| 356 | gaim_blist_remove_chat(chat); | |
| 357 | gaim_blist_save(); | |
| 358 | } | |
| 359 | ||
|
6334
47a748d6fb0f
[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
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
364 | GaimConversation *c; |
|
4918
0600d084c97a
[gaim-migrate @ 5252]
Christian Hammond <chipx86@chipx86.com>
parents:
4916
diff
changeset
|
365 | gchar *name; |
|
6640
007eb21016b4
[gaim-migrate @ 7165]
Christian Hammond <chipx86@chipx86.com>
parents:
6623
diff
changeset
|
366 | GaimAccount *account; |
| 2743 | 367 | |
| 368 | if (!b) | |
| 369 | return; | |
| 370 | ||
| 4687 | 371 | g = gaim_find_buddys_group(b); |
|
6640
007eb21016b4
[gaim-migrate @ 7165]
Christian Hammond <chipx86@chipx86.com>
parents:
6623
diff
changeset
|
372 | name = g_strdup(b->name); /* b->name is a crasher after remove_buddy */ |
|
007eb21016b4
[gaim-migrate @ 7165]
Christian Hammond <chipx86@chipx86.com>
parents:
6623
diff
changeset
|
373 | account = b->account; |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
374 | |
|
5213
d56ea526b80c
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
375 | gaim_debug(GAIM_DEBUG_INFO, "blist", |
|
d56ea526b80c
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
376 | "Removing '%s' from buddy list.\n", b->name); |
| 4491 | 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
007eb21016b4
[gaim-migrate @ 7165]
Christian Hammond <chipx86@chipx86.com>
parents:
6623
diff
changeset
|
381 | c = gaim_find_conversation_with_account(name, account); |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
382 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
383 | if (c != NULL) |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
384 | gaim_conversation_update(c, GAIM_CONV_UPDATE_REMOVE); |
| 4397 | 385 | |
| 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
65132ebfc662
[gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents:
6878
diff
changeset
|
410 | |
| 6695 | 411 | cnode = ((GaimBlistNode*)g)->child; |
|
6885
65132ebfc662
[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
68569c0a6865
[gaim-migrate @ 7277]
Herman Bloggs <herman@bluedigits.com>
parents:
6742
diff
changeset
|
420 | GaimConversation *c; |
|
68569c0a6865
[gaim-migrate @ 7277]
Herman Bloggs <herman@bluedigits.com>
parents:
6742
diff
changeset
|
421 | b = (GaimBuddy*)bnode; |
| 6695 | 422 | bnode = bnode->next; |
|
6745
68569c0a6865
[gaim-migrate @ 7277]
Herman Bloggs <herman@bluedigits.com>
parents:
6742
diff
changeset
|
423 | c = gaim_find_conversation_with_account(b->name, b->account); |
| 6695 | 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
280b3b85a28a
[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
65132ebfc662
[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
13a28ae5e87d
[gaim-migrate @ 6422]
Mark Doliner <markdoliner@pidgin.im>
parents:
5970
diff
changeset
|
452 | if (!b) |
| 3753 | 453 | return; |
| 454 | ||
|
5975
13a28ae5e87d
[gaim-migrate @ 6422]
Mark Doliner <markdoliner@pidgin.im>
parents:
5970
diff
changeset
|
455 | text = g_strdup_printf(_("You are about to remove %s from your buddy list. Do you want to continue?"), b->name); |
|
13a28ae5e87d
[gaim-migrate @ 6422]
Mark Doliner <markdoliner@pidgin.im>
parents:
5970
diff
changeset
|
456 | |
|
13a28ae5e87d
[gaim-migrate @ 6422]
Mark Doliner <markdoliner@pidgin.im>
parents:
5970
diff
changeset
|
457 | gaim_request_action(NULL, NULL, _("Remove Buddy"), text, -1, b, 2, |
|
5498
01eec144d71b
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
458 | _("Remove Buddy"), G_CALLBACK(do_remove_buddy), |
|
01eec144d71b
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
459 | _("Cancel"), NULL); |
|
01eec144d71b
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
460 | |
| 3753 | 461 | g_free(text); |
| 2743 | 462 | } |
| 463 | ||
|
7118
280b3b85a28a
[gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents:
7108
diff
changeset
|
464 | void show_confirm_del_blist_chat(GaimChat *chat) |
| 5234 | 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
01eec144d71b
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
468 | |
|
01eec144d71b
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
469 | gaim_request_action(NULL, NULL, _("Remove Chat"), text, -1, chat, 2, |
|
01eec144d71b
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
470 | _("Remove Chat"), G_CALLBACK(do_remove_chat), |
|
01eec144d71b
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
471 | _("Cancel"), NULL); |
|
01eec144d71b
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
472 | |
| 6034 | 473 | g_free(name); |
| 5234 | 474 | g_free(text); |
| 475 | } | |
| 476 | ||
| 6695 | 477 | void show_confirm_del_group(GaimGroup *g) |
| 4916 | 478 | { |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
479 | char *text = g_strdup_printf(_("You are about to remove the group %s and all its members from your buddy list. Do you want to continue?"), |
| 4916 | 480 | g->name); |
|
5498
01eec144d71b
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
481 | |
|
01eec144d71b
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
482 | gaim_request_action(NULL, NULL, _("Remove Group"), text, -1, g, 2, |
|
01eec144d71b
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
483 | _("Remove Group"), G_CALLBACK(do_remove_group), |
|
01eec144d71b
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
484 | _("Cancel"), NULL); |
|
01eec144d71b
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
485 | |
| 4916 | 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
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
516 | const char *who; |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
517 | GaimConversation *conv; |
|
5563
d5a7852aa0cb
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
518 | GaimAccount *account; |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
519 | |
| 3802 | 520 | if (resp == GTK_RESPONSE_OK) { |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
521 | who = gtk_entry_get_text(GTK_ENTRY(info->entry)); |
|
4476
bf88170ba269
[gaim-migrate @ 4751]
Christian Hammond <chipx86@chipx86.com>
parents:
4472
diff
changeset
|
522 | |
| 4613 | 523 | if (!who || !*who) { |
| 524 | /* this shouldn't ever happen */ | |
| 3802 | 525 | return; |
| 526 | } | |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
527 | |
| 4491 | 528 | account = (info->gc ? info->gc->account : NULL); |
|
4476
bf88170ba269
[gaim-migrate @ 4751]
Christian Hammond <chipx86@chipx86.com>
parents:
4472
diff
changeset
|
529 | |
|
6640
007eb21016b4
[gaim-migrate @ 7165]
Christian Hammond <chipx86@chipx86.com>
parents:
6623
diff
changeset
|
530 | conv = gaim_find_conversation_with_account(who, account); |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
531 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
532 | if (conv == NULL) |
| 4491 | 533 | conv = gaim_conversation_new(GAIM_CONV_IM, account, who); |
|
4476
bf88170ba269
[gaim-migrate @ 4751]
Christian Hammond <chipx86@chipx86.com>
parents:
4472
diff
changeset
|
534 | else { |
|
7118
280b3b85a28a
[gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents:
7108
diff
changeset
|
535 | gaim_conv_window_raise(gaim_conversation_get_window(conv)); |
|
4476
bf88170ba269
[gaim-migrate @ 4751]
Christian Hammond <chipx86@chipx86.com>
parents:
4472
diff
changeset
|
536 | } |
| 1 | 537 | } |
|
4359
cf899ee07d1d
[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 | 545 | { |
| 546 | char *who; | |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
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
bd201d637ff4
[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 | 559 | g_free(who); |
| 935 | 560 | } |
| 3802 | 561 | gtk_widget_destroy(GTK_WIDGET(widget)); |
| 4138 | 562 | g_free(info); |
| 935 | 563 | } |
| 564 | ||
| 1 | 565 | void show_ee_dialog(int ee) |
| 566 | { | |
| 3767 | 567 | GtkWidget *window; |
| 568 | GtkWidget *hbox; | |
| 1 | 569 | GtkWidget *label; |
|
7098
22eabd4f5ed4
[gaim-migrate @ 7663]
Christian Hammond <chipx86@chipx86.com>
parents:
7085
diff
changeset
|
570 | GaimGtkBuddyList *gtkblist; |
|
5024
3b5412e4b483
[gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents:
4978
diff
changeset
|
571 | GtkWidget *img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_COOL, GTK_ICON_SIZE_DIALOG); |
|
4695
82df59fb9931
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
572 | |
|
82df59fb9931
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
573 | gtkblist = GAIM_GTK_BLIST(gaim_get_blist()); |
|
82df59fb9931
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
574 | |
| 3767 | 575 | label = gtk_label_new(NULL); |
| 1 | 576 | if (ee == 0) |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
577 | gtk_label_set_markup(GTK_LABEL(label), |
| 3767 | 578 | "<span weight=\"bold\" size=\"large\" foreground=\"purple\">Amazing! Simply Amazing!</span>"); |
| 1 | 579 | else if (ee == 1) |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
580 | gtk_label_set_markup(GTK_LABEL(label), |
| 3767 | 581 | "<span weight=\"bold\" size=\"large\" foreground=\"#1f6bad\">Pimpin\' Penguin Style! *Waddle Waddle*</span>"); |
|
338
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
582 | else if (ee == 2) |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
583 | gtk_label_set_markup(GTK_LABEL(label), |
| 3767 | 584 | "<span weight=\"bold\" size=\"large\" foreground=\"blue\">You should be me. I'm so cute!</span>"); |
| 2472 | 585 | else if (ee == 3) |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
586 | gtk_label_set_markup(GTK_LABEL(label), |
| 3767 | 587 | "<span weight=\"bold\" size=\"large\" foreground=\"orange\">Now that's what I like!</span>"); |
| 2993 | 588 | else if (ee == 4) |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
589 | gtk_label_set_markup(GTK_LABEL(label), |
| 3767 | 590 | "<span weight=\"bold\" size=\"large\" foreground=\"brown\">Ahh, and excellent choice!</span>"); |
| 3043 | 591 | else if (ee == 5) |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
592 | gtk_label_set_markup(GTK_LABEL(label), |
| 3767 | 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
bd201d637ff4
[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
bd201d637ff4
[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
bd201d637ff4
[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
bd201d637ff4
[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
bd201d637ff4
[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
bd201d637ff4
[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
e92b66ee5518
[gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents:
6352
diff
changeset
|
625 | static void |
|
e92b66ee5518
[gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents:
6352
diff
changeset
|
626 | show_info_select_account(GObject *w, GaimAccount *account, |
|
e92b66ee5518
[gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents:
6352
diff
changeset
|
627 | struct getuserinfo *info) |
| 3816 | 628 | { |
|
5880
f5335e81bb6c
[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 | 638 | void show_im_dialog() |
| 1 | 639 | { |
| 3802 | 640 | GtkWidget *hbox, *vbox; |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
641 | GtkWidget *label; |
|
5880
f5335e81bb6c
[gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
642 | GtkWidget *table; |
|
7098
22eabd4f5ed4
[gaim-migrate @ 7663]
Christian Hammond <chipx86@chipx86.com>
parents:
7085
diff
changeset
|
643 | GaimGtkBuddyList *gtkblist; |
|
5024
3b5412e4b483
[gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents:
4978
diff
changeset
|
644 | GtkWidget *img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG); |
| 3816 | 645 | struct getuserinfo *info = NULL; |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
646 | |
|
4695
82df59fb9931
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
647 | gtkblist = GAIM_GTK_BLIST(gaim_get_blist()); |
|
82df59fb9931
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
648 | |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
649 | if (!imdialog) { |
| 3816 | 650 | info = g_new0(struct getuserinfo, 1); |
|
5563
d5a7852aa0cb
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
651 | info->gc = gaim_connections_get_all()->data; |
| 5092 | 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
d5a7852aa0cb
[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
f5335e81bb6c
[gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
704 | info->account = gaim_gtk_account_option_menu_new(NULL, FALSE, |
|
6646
b9a0b5eb74e6
[gaim-migrate @ 7171]
Christian Hammond <chipx86@chipx86.com>
parents:
6640
diff
changeset
|
705 | G_CALLBACK(show_info_select_account), NULL, info); |
|
5880
f5335e81bb6c
[gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
706 | |
| 3816 | 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
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
712 | } |
| 4613 | 713 | |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
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 | 719 | void show_info_dialog() |
| 720 | { | |
| 3802 | 721 | GtkWidget *window, *hbox, *vbox; |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
722 | GtkWidget *label; |
|
5024
3b5412e4b483
[gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents:
4978
diff
changeset
|
723 | GtkWidget *img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG); |
|
5880
f5335e81bb6c
[gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
724 | GtkWidget *table; |
| 3197 | 725 | struct getuserinfo *info = g_new0(struct getuserinfo, 1); |
|
7098
22eabd4f5ed4
[gaim-migrate @ 7663]
Christian Hammond <chipx86@chipx86.com>
parents:
7085
diff
changeset
|
726 | GaimGtkBuddyList *gtkblist; |
| 3802 | 727 | |
|
4695
82df59fb9931
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
728 | gtkblist = GAIM_GTK_BLIST(gaim_get_blist()); |
|
82df59fb9931
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
729 | |
|
5563
d5a7852aa0cb
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
730 | info->gc = gaim_connections_get_all()->data; |
| 3197 | 731 | |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
732 | window = gtk_dialog_new_with_buttons(_("Get User Info"), gtkblist->window ? GTK_WINDOW(gtkblist->window) : NULL, 0, |
| 3802 | 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
bd201d637ff4
[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
bd201d637ff4
[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
bd201d637ff4
[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
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
774 | |
|
5563
d5a7852aa0cb
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
775 | if (gaim_connections_get_all()->next) { |
| 3197 | 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
f5335e81bb6c
[gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
782 | info->account = gaim_gtk_account_option_menu_new(NULL, FALSE, |
|
6646
b9a0b5eb74e6
[gaim-migrate @ 7171]
Christian Hammond <chipx86@chipx86.com>
parents:
6640
diff
changeset
|
783 | G_CALLBACK(show_info_select_account), NULL, info); |
|
5880
f5335e81bb6c
[gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
784 | |
| 3197 | 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
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
787 | } |
| 3197 | 788 | |
| 3802 | 789 | g_signal_connect(G_OBJECT(window), "response", G_CALLBACK(do_info), info); |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
790 | |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
791 | |
| 3802 | 792 | gtk_widget_show_all(window); |
| 793 | if (info->entry) | |
| 794 | gtk_widget_grab_focus(GTK_WIDGET(info->entry)); | |
| 935 | 795 | } |
| 796 | ||
| 1 | 797 | |
|
6330
cbb78f7eb436
[gaim-migrate @ 6829]
Christian Hammond <chipx86@chipx86.com>
parents:
6329
diff
changeset
|
798 | static void |
|
7060
717cbeb22b6d
[gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents:
7057
diff
changeset
|
799 | free_dialog(GtkWidget *w, void *data) |
| 1 | 800 | { |
|
7060
717cbeb22b6d
[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
d5a7852aa0cb
[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
5be866245659
[gaim-migrate @ 6469]
Decklin Foster <decklin@red-bean.com>
parents:
5975
diff
changeset
|
816 | gaim_account_set_user_info(b->account, junk); |
| 4491 | 817 | gc = b->account->gc; |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
818 | |
|
1292
82820e0a3748
[gaim-migrate @ 1302]
Decklin Foster <decklin@red-bean.com>
parents:
1288
diff
changeset
|
819 | if (gc) |
|
5954
58e43cf2dc1f
[gaim-migrate @ 6398]
Mark Doliner <markdoliner@pidgin.im>
parents:
5943
diff
changeset
|
820 | serv_set_info(gc, gaim_account_get_user_info(b->account)); |
|
122
c59d41332d82
[gaim-migrate @ 132]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
84
diff
changeset
|
821 | } |
| 25 | 822 | g_free(junk); |
| 1 | 823 | destroy_dialog(NULL, b->window); |
| 824 | g_free(b); | |
| 825 | } | |
| 826 | ||
|
5563
d5a7852aa0cb
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
827 | void show_set_info(GaimConnection *gc) |
| 1 | 828 | { |
|
1185
4e850e2011e4
[gaim-migrate @ 1195]
Decklin Foster <decklin@red-bean.com>
parents:
1174
diff
changeset
|
829 | GtkWidget *buttons; |
|
1499
0c3286729687
[gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1488
diff
changeset
|
830 | GtkWidget *label; |
|
1185
4e850e2011e4
[gaim-migrate @ 1195]
Decklin Foster <decklin@red-bean.com>
parents:
1174
diff
changeset
|
831 | GtkWidget *vbox; |
| 4119 | 832 | GtkTextBuffer *buffer; |
| 833 | GtkWidget *frame; | |
|
1292
82820e0a3748
[gaim-migrate @ 1302]
Decklin Foster <decklin@red-bean.com>
parents:
1288
diff
changeset
|
834 | gchar *buf; |
|
5563
d5a7852aa0cb
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
835 | GaimAccount *account; |
|
5924
2fc5a210c085
[gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
836 | const char *user_info; |
|
1292
82820e0a3748
[gaim-migrate @ 1302]
Decklin Foster <decklin@red-bean.com>
parents:
1288
diff
changeset
|
837 | |
| 1 | 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
a844d0964552
[gaim-migrate @ 2738]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2681
diff
changeset
|
842 | GAIM_DIALOG(b->window); |
|
4074
c69100a0ede9
[gaim-migrate @ 4289]
Robert McQueen <robot101@debian.org>
parents:
4061
diff
changeset
|
843 | gtk_window_set_role(GTK_WINDOW(b->window), "set_info"); |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
844 | dialogwindows = g_list_prepend(dialogwindows, b->window); |
| 4703 | 845 | gtk_window_set_title(GTK_WINDOW(b->window), _("Set User Info")); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
846 | g_signal_connect(G_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window); |
|
960
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
847 | gtk_widget_realize(b->window); |
|
1499
0c3286729687
[gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1488
diff
changeset
|
848 | |
|
1185
4e850e2011e4
[gaim-migrate @ 1195]
Decklin Foster <decklin@red-bean.com>
parents:
1174
diff
changeset
|
849 | vbox = gtk_vbox_new(FALSE, 5); |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
850 | gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
|
1499
0c3286729687
[gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1488
diff
changeset
|
851 | gtk_container_add(GTK_CONTAINER(b->window), vbox); |
|
0c3286729687
[gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1488
diff
changeset
|
852 | |
|
0c3286729687
[gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1488
diff
changeset
|
853 | buf = g_malloc(256); |
|
5563
d5a7852aa0cb
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
854 | g_snprintf(buf, 256, _("Changing info for %s:"), |
|
d5a7852aa0cb
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
855 | gaim_account_get_username(account)); |
|
1499
0c3286729687
[gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1488
diff
changeset
|
856 | label = gtk_label_new(buf); |
|
0c3286729687
[gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1488
diff
changeset
|
857 | g_free(buf); |
|
0c3286729687
[gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1488
diff
changeset
|
858 | gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5); |
| 4491 | 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
3565a4c4de6a
[gaim-migrate @ 5468]
David J. Brigada <brigada@prism.net>
parents:
5092
diff
changeset
|
865 | gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(b->text), GTK_WRAP_WORD_CHAR); |
|
7538
b20dbe9222e2
[gaim-migrate @ 8151]
Christian Hammond <chipx86@chipx86.com>
parents:
7431
diff
changeset
|
866 | |
|
7060
717cbeb22b6d
[gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents:
7057
diff
changeset
|
867 | if (gaim_prefs_get_bool("/gaim/gtk/conversations/spellcheck")) |
|
7538
b20dbe9222e2
[gaim-migrate @ 8151]
Christian Hammond <chipx86@chipx86.com>
parents:
7431
diff
changeset
|
868 | gaim_gtk_setup_gtkspell(GTK_TEXT_VIEW(b->text)); |
|
b20dbe9222e2
[gaim-migrate @ 8151]
Christian Hammond <chipx86@chipx86.com>
parents:
7431
diff
changeset
|
869 | |
| 4119 | 870 | gtk_widget_set_size_request(b->text, 300, 200); |
|
5924
2fc5a210c085
[gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
871 | |
|
2fc5a210c085
[gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
872 | if ((user_info = gaim_account_get_user_info(account)) != NULL) { |
|
2fc5a210c085
[gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
873 | buf = g_malloc(strlen(user_info) + 1); |
|
7108
82655fa54acb
[gaim-migrate @ 7673]
Christian Hammond <chipx86@chipx86.com>
parents:
7107
diff
changeset
|
874 | gaim_strncpy_nohtml(buf, user_info, strlen(user_info) + 1); |
|
5924
2fc5a210c085
[gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
875 | buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(b->text)); |
|
2fc5a210c085
[gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
876 | gtk_text_buffer_set_text(buffer, buf, -1); |
|
2fc5a210c085
[gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
877 | g_free(buf); |
|
2fc5a210c085
[gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
878 | } |
|
2fc5a210c085
[gaim-migrate @ 6364]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
879 | |
| 4119 | 880 | gtk_container_add(GTK_CONTAINER(frame), b->text); |
|
1499
0c3286729687
[gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1488
diff
changeset
|
881 | gtk_window_set_focus(GTK_WINDOW(b->window), b->text); |
|
0c3286729687
[gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1488
diff
changeset
|
882 | |
|
0c3286729687
[gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1488
diff
changeset
|
883 | buttons = gtk_hbox_new(FALSE, 5); |
|
1185
4e850e2011e4
[gaim-migrate @ 1195]
Decklin Foster <decklin@red-bean.com>
parents:
1174
diff
changeset
|
884 | gtk_box_pack_start(GTK_BOX(vbox), buttons, FALSE, FALSE, 0); |
|
5024
3b5412e4b483
[gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents:
4978
diff
changeset
|
885 | |
|
3b5412e4b483
[gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents:
4978
diff
changeset
|
886 | b->save = gaim_pixbuf_button_from_stock(_("Save"), GTK_STOCK_SAVE, GAIM_BUTTON_HORIZONTAL); |
| 4092 | 887 | gtk_box_pack_end(GTK_BOX(buttons), b->save, FALSE, FALSE, 0); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
888 | g_signal_connect(G_OBJECT(b->save), "clicked", G_CALLBACK(do_save_info), b); |
| 4092 | 889 | |
|
5024
3b5412e4b483
[gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents:
4978
diff
changeset
|
890 | b->cancel = gaim_pixbuf_button_from_stock(_("Cancel"), GTK_STOCK_CANCEL, GAIM_BUTTON_HORIZONTAL); |
|
1499
0c3286729687
[gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1488
diff
changeset
|
891 | gtk_box_pack_end(GTK_BOX(buttons), b->cancel, FALSE, FALSE, 0); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
892 | g_signal_connect(G_OBJECT(b->cancel), "clicked", G_CALLBACK(destroy_dialog), b->window); |
|
1499
0c3286729687
[gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1488
diff
changeset
|
893 | |
|
5024
3b5412e4b483
[gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents:
4978
diff
changeset
|
894 | gtk_widget_show_all(b->window); |
| 1 | 895 | } |
| 896 | ||
| 897 | ||
| 898 | /*------------------------------------------------------*/ | |
| 899 | /* Link Dialog */ | |
| 900 | /*------------------------------------------------------*/ | |
| 901 | ||
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
902 | void cancel_link(GtkWidget *widget, GaimConversation *c) |
| 1 | 903 | { |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
904 | GaimGtkConversation *gtkconv; |
|
7055
5a323955a9e3
[gaim-migrate @ 7618]
Mark Doliner <markdoliner@pidgin.im>
parents:
7049
diff
changeset
|
905 | GtkWidget *link_dialog; |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
906 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
907 | gtkconv = GAIM_GTK_CONVERSATION(c); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
908 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
909 | if (gtkconv->toolbar.link) { |
| 4635 | 910 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.link), |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
911 | FALSE); |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
912 | } |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
913 | |
|
7055
5a323955a9e3
[gaim-migrate @ 7618]
Mark Doliner <markdoliner@pidgin.im>
parents:
7049
diff
changeset
|
914 | link_dialog = gtkconv->dialogs.link; |
| 4685 | 915 | gtkconv->dialogs.link = NULL; |
|
7055
5a323955a9e3
[gaim-migrate @ 7618]
Mark Doliner <markdoliner@pidgin.im>
parents:
7049
diff
changeset
|
916 | destroy_dialog(NULL, link_dialog); |
| 1 | 917 | } |
| 918 | ||
| 4262 | 919 | void do_insert_link(GtkWidget *w, int resp, struct linkdlg *b) |
| 1 | 920 | { |
|
5676
d3c2fdaf4821
[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
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
925 | gtkconv = GAIM_GTK_CONVERSATION(b->c); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
926 | |
| 4262 | 927 | if (resp == GTK_RESPONSE_OK) { |
| 928 | ||
| 929 | open_tag = g_malloc(2048); | |
|
6465
bd201d637ff4
[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
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
934 | if (!strlen(showtext)) |
| 4262 | 935 | showtext = urltext; |
| 936 | ||
| 937 | g_snprintf(open_tag, 2048, "<A HREF=\"%s\">%s", urltext, showtext); | |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
938 | gaim_gtk_surround(gtkconv, open_tag, "</A>"); |
| 4262 | 939 | |
| 940 | g_free(open_tag); | |
| 941 | } | |
| 942 | ||
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
943 | if (gtkconv->toolbar.link) { |
| 4635 | 944 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.link), |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
945 | FALSE); |
| 4262 | 946 | } |
| 947 | ||
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
948 | gtkconv->dialogs.link = NULL; |
| 1 | 949 | destroy_dialog(NULL, b->window); |
| 950 | } | |
| 951 | ||
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
952 | void show_insert_link(GtkWidget *linky, GaimConversation *c) |
| 1 | 953 | { |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
954 | GaimGtkConversation *gtkconv; |
|
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
955 | GaimGtkWindow *gtkwin; |
| 4262 | 956 | GtkWidget *table; |
| 957 | GtkWidget *label; | |
| 958 | GtkWidget *hbox; | |
| 1 | 959 | GtkWidget *vbox; |
| 960 | ||
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
961 | gtkconv = GAIM_GTK_CONVERSATION(c); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
962 | gtkwin = GAIM_GTK_WINDOW(gaim_conversation_get_window(c)); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
963 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
964 | if (gtkconv->dialogs.link == NULL) { |
| 4262 | 965 | struct linkdlg *a = g_new0(struct linkdlg, 1); |
|
5024
3b5412e4b483
[gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents:
4978
diff
changeset
|
966 | GtkWidget *img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG); |
| 4262 | 967 | |
| 968 | a->c = c; | |
| 4703 | 969 | a->window = gtk_dialog_new_with_buttons(_("Insert Link"), |
| 5092 | 970 | GTK_WINDOW(gtkwin->window), 0, GTK_STOCK_CANCEL, |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
971 | GTK_RESPONSE_CANCEL, _("Insert"), GTK_RESPONSE_OK, NULL); |
|
7055
5a323955a9e3
[gaim-migrate @ 7618]
Mark Doliner <markdoliner@pidgin.im>
parents:
7049
diff
changeset
|
972 | gtk_dialog_set_default_response(GTK_DIALOG(a->window), GTK_RESPONSE_OK); |
|
5a323955a9e3
[gaim-migrate @ 7618]
Mark Doliner <markdoliner@pidgin.im>
parents:
7049
diff
changeset
|
973 | g_signal_connect(G_OBJECT(a->window), "response", |
|
5a323955a9e3
[gaim-migrate @ 7618]
Mark Doliner <markdoliner@pidgin.im>
parents:
7049
diff
changeset
|
974 | G_CALLBACK(do_insert_link), a); |
| 4262 | 975 | |
| 976 | gtk_dialog_set_default_response(GTK_DIALOG(a->window), GTK_RESPONSE_OK); | |
| 977 | gtk_container_set_border_width(GTK_CONTAINER(a->window), 6); | |
| 978 | gtk_window_set_resizable(GTK_WINDOW(a->window), FALSE); | |
| 979 | gtk_dialog_set_has_separator(GTK_DIALOG(a->window), FALSE); | |
| 980 | gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(a->window)->vbox), 12); | |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
981 | gtk_container_set_border_width( |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
982 | GTK_CONTAINER(GTK_DIALOG(a->window)->vbox), 6); |
| 4262 | 983 | gtk_window_set_role(GTK_WINDOW(a->window), "insert_link"); |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
984 | |
| 4262 | 985 | hbox = gtk_hbox_new(FALSE, 12); |
| 986 | gtk_container_add(GTK_CONTAINER(GTK_DIALOG(a->window)->vbox), hbox); | |
| 987 | gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
| 988 | gtk_misc_set_alignment(GTK_MISC(img), 0, 0); | |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
989 | |
| 4262 | 990 | vbox = gtk_vbox_new(FALSE, 0); |
| 991 | gtk_container_add(GTK_CONTAINER(hbox), vbox); | |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
992 | |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
993 | label = gtk_label_new(_("Please enter the URL and description of " |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
994 | "the link that you want to insert. The " |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
995 | "description is optional.\n")); |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
996 | |
| 4262 | 997 | gtk_widget_set_size_request(GTK_WIDGET(label), 335, -1); |
| 998 | gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | |
| 999 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 1000 | gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); | |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
1001 | |
| 4262 | 1002 | hbox = gtk_hbox_new(FALSE, 6); |
| 1003 | gtk_container_add(GTK_CONTAINER(vbox), hbox); | |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
1004 | |
| 4262 | 1005 | table = gtk_table_new(4, 2, FALSE); |
| 1006 | gtk_table_set_row_spacings(GTK_TABLE(table), 5); | |
| 1007 | gtk_table_set_col_spacings(GTK_TABLE(table), 5); | |
| 1008 | gtk_container_set_border_width(GTK_CONTAINER(table), 0); | |
| 1009 | gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); | |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
1010 | |
|
350
b02a56431923
[gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
349
diff
changeset
|
1011 | label = gtk_label_new(_("URL")); |
| 4262 | 1012 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
| 1013 | gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1); | |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
1014 | |
| 4262 | 1015 | a->url = gtk_entry_new(); |
| 1016 | gtk_table_attach_defaults(GTK_TABLE(table), a->url, 1, 2, 0, 1); | |
| 1017 | gtk_widget_grab_focus(a->url); | |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
1018 | |
| 4262 | 1019 | gtk_entry_set_activates_default (GTK_ENTRY(a->url), TRUE); |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
1020 | |
|
350
b02a56431923
[gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
349
diff
changeset
|
1021 | label = gtk_label_new(_("Description")); |
| 4262 | 1022 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
| 1023 | gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2); | |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
1024 | |
| 4262 | 1025 | a->text = gtk_entry_new(); |
| 1026 | gtk_table_attach_defaults(GTK_TABLE(table), a->text, 1, 2, 1, 2); | |
| 1027 | gtk_entry_set_activates_default (GTK_ENTRY(a->text), TRUE); | |
| 1028 | ||
|
7055
5a323955a9e3
[gaim-migrate @ 7618]
Mark Doliner <markdoliner@pidgin.im>
parents:
7049
diff
changeset
|
1029 | g_signal_connect(G_OBJECT(a->window), "destroy", |
|
5a323955a9e3
[gaim-migrate @ 7618]
Mark Doliner <markdoliner@pidgin.im>
parents:
7049
diff
changeset
|
1030 | G_CALLBACK(free_dialog), a); |
|
5a323955a9e3
[gaim-migrate @ 7618]
Mark Doliner <markdoliner@pidgin.im>
parents:
7049
diff
changeset
|
1031 | dialogwindows = g_list_prepend(dialogwindows, a->window); |
| 4262 | 1032 | |
| 1033 | a->toggle = linky; | |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1034 | gtkconv->dialogs.link = a->window; |
| 1 | 1035 | } |
| 1036 | ||
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1037 | gtk_widget_show_all(gtkconv->dialogs.link); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1038 | gdk_window_raise(gtkconv->dialogs.link->window); |
| 1 | 1039 | } |
| 1040 | ||
| 1041 | /*------------------------------------------------------*/ | |
| 1042 | /* Color Selection Dialog */ | |
| 1043 | /*------------------------------------------------------*/ | |
| 1044 | ||
| 3367 | 1045 | GtkWidget *fgcseld = NULL; |
| 1046 | GtkWidget *bgcseld = NULL; | |
|
657
2407d672e506
[gaim-migrate @ 667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
654
diff
changeset
|
1047 | |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1048 | void cancel_fgcolor(GtkWidget *widget, GaimConversation *c) |
| 1 | 1049 | { |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1050 | GaimGtkConversation *gtkconv; |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1051 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1052 | gtkconv = GAIM_GTK_CONVERSATION(c); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1053 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1054 | if (gtkconv->toolbar.fgcolor && widget) { |
| 4635 | 1055 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.fgcolor), |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1056 | FALSE); |
| 61 | 1057 | } |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1058 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1059 | dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.fg_color); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1060 | gtk_widget_destroy(gtkconv->dialogs.fg_color); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1061 | gtkconv->dialogs.fg_color = NULL; |
| 1 | 1062 | } |
| 1063 | ||
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1064 | void cancel_bgcolor(GtkWidget *widget, GaimConversation *c) |
|
858
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1065 | { |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1066 | GaimGtkConversation *gtkconv; |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1067 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1068 | gtkconv = GAIM_GTK_CONVERSATION(c); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1069 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1070 | if (gtkconv->toolbar.bgcolor && widget) { |
| 4635 | 1071 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.bgcolor), |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1072 | FALSE); |
|
858
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1073 | } |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1074 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1075 | dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.bg_color); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1076 | gtk_widget_destroy(gtkconv->dialogs.bg_color); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1077 | gtkconv->dialogs.bg_color = NULL; |
|
858
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1078 | } |
|
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1079 | |
|
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1080 | void do_fgcolor(GtkWidget *widget, GtkColorSelection *colorsel) |
| 1 | 1081 | { |
| 1082 | GdkColor text_color; | |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1083 | GaimConversation *c; |
|
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1084 | GaimGtkConversation *gtkconv; |
| 1 | 1085 | char *open_tag; |
| 1086 | ||
| 1087 | open_tag = g_malloc(30); | |
| 1088 | ||
| 3557 | 1089 | gtk_color_selection_get_current_color(colorsel, &text_color); |
| 1 | 1090 | |
| 4635 | 1091 | c = g_object_get_data(G_OBJECT(colorsel), "gaim_conversation"); |
|
411
4e2ed8c4c0f8
[gaim-migrate @ 421]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
401
diff
changeset
|
1092 | /* GTK_IS_EDITABLE(c->entry); huh? */ |
|
311
971d26b73be6
[gaim-migrate @ 321]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
308
diff
changeset
|
1093 | |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1094 | gtkconv = GAIM_GTK_CONVERSATION(c); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1095 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1096 | gtkconv->fg_color = text_color; |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1097 | g_snprintf(open_tag, 23, "<FONT COLOR=\"#%02X%02X%02X\">", |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1098 | text_color.red / 256, |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1099 | text_color.green / 256, |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1100 | text_color.blue / 256); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1101 | gaim_gtk_surround(gtkconv, open_tag, "</FONT>"); |
|
5213
d56ea526b80c
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1102 | |
|
d56ea526b80c
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1103 | gaim_debug(GAIM_DEBUG_MISC, "fgcolor dialog", "#%02X%02X%02X\n", |
|
d56ea526b80c
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1104 | text_color.red / 256, |
|
d56ea526b80c
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1105 | text_color.green / 256, |
|
d56ea526b80c
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1106 | text_color.blue / 256); |
|
311
971d26b73be6
[gaim-migrate @ 321]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
308
diff
changeset
|
1107 | g_free(open_tag); |
|
858
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1108 | cancel_fgcolor(NULL, c); |
|
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1109 | } |
|
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1110 | |
|
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1111 | void do_bgcolor(GtkWidget *widget, GtkColorSelection *colorsel) |
|
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1112 | { |
|
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1113 | GdkColor text_color; |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1114 | GaimConversation *c; |
|
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1115 | GaimGtkConversation *gtkconv; |
|
858
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1116 | char *open_tag; |
|
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1117 | |
|
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1118 | open_tag = g_malloc(30); |
|
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1119 | |
| 3557 | 1120 | gtk_color_selection_get_current_color(colorsel, &text_color); |
|
858
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1121 | |
| 4635 | 1122 | c = g_object_get_data(G_OBJECT(colorsel), "gaim_conversation"); |
|
858
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1123 | /* GTK_IS_EDITABLE(c->entry); huh? */ |
|
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1124 | |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1125 | gtkconv = GAIM_GTK_CONVERSATION(c); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1126 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1127 | gtkconv->bg_color = text_color; |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1128 | g_snprintf(open_tag, 25, "<BODY BGCOLOR=\"#%02X%02X%02X\">", |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1129 | text_color.red / 256, |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1130 | text_color.green / 256, |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1131 | text_color.blue / 256); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1132 | gaim_gtk_surround(gtkconv, open_tag, "</BODY>"); |
|
5213
d56ea526b80c
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1133 | gaim_debug(GAIM_DEBUG_MISC, "bgcolor dialog", "#%02X%02X%02X\n", |
|
d56ea526b80c
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1134 | text_color.red / 256, |
|
d56ea526b80c
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1135 | text_color.green / 256, |
|
d56ea526b80c
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1136 | text_color.blue / 256); |
|
d56ea526b80c
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1137 | |
|
858
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1138 | g_free(open_tag); |
|
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1139 | cancel_bgcolor(NULL, c); |
| 1 | 1140 | } |
| 1141 | ||
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1142 | void show_fgcolor_dialog(GaimConversation *c, GtkWidget *color) |
| 1 | 1143 | { |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1144 | GaimGtkConversation *gtkconv; |
|
311
971d26b73be6
[gaim-migrate @ 321]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
308
diff
changeset
|
1145 | GtkWidget *colorsel; |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1146 | GdkColor fgcolor; |
| 1 | 1147 | |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1148 | gtkconv = GAIM_GTK_CONVERSATION(c); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1149 | |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1150 | gdk_color_parse(gaim_prefs_get_string("/gaim/gtk/conversations/fgcolor"), |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1151 | &fgcolor); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1152 | |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1153 | if (color == NULL) { /* we came from the prefs */ |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1154 | if (fgcseld) |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1155 | return; |
|
2209
db87ba068b9c
[gaim-migrate @ 2219]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2143
diff
changeset
|
1156 | |
|
657
2407d672e506
[gaim-migrate @ 667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
654
diff
changeset
|
1157 | fgcseld = gtk_color_selection_dialog_new(_("Select Text Color")); |
|
4198
f4afa1d7a842
[gaim-migrate @ 4429]
Alex Converse <alex.converse@gmail.com>
parents:
4183
diff
changeset
|
1158 | gtk_color_selection_set_current_color(GTK_COLOR_SELECTION |
|
f4afa1d7a842
[gaim-migrate @ 4429]
Alex Converse <alex.converse@gmail.com>
parents:
4183
diff
changeset
|
1159 | (GTK_COLOR_SELECTION_DIALOG(fgcseld)->colorsel), &fgcolor); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1160 | g_signal_connect(G_OBJECT(fgcseld), "delete_event", |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1161 | G_CALLBACK(destroy_colorsel), (void *)1); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1162 | g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(fgcseld)->cancel_button), |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1163 | "clicked", G_CALLBACK(destroy_colorsel), (void *)1); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1164 | g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(fgcseld)->ok_button), "clicked", |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1165 | G_CALLBACK(apply_color_dlg), (void *)1); |
|
657
2407d672e506
[gaim-migrate @ 667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
654
diff
changeset
|
1166 | gtk_widget_realize(fgcseld); |
|
2407d672e506
[gaim-migrate @ 667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
654
diff
changeset
|
1167 | gtk_widget_show(fgcseld); |
|
2407d672e506
[gaim-migrate @ 667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
654
diff
changeset
|
1168 | gdk_window_raise(fgcseld->window); |
|
2407d672e506
[gaim-migrate @ 667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
654
diff
changeset
|
1169 | return; |
|
858
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1170 | } |
|
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1171 | |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1172 | if (!gtkconv->dialogs.fg_color) { |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1173 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1174 | gtkconv->dialogs.fg_color = gtk_color_selection_dialog_new(_("Select Text Color")); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1175 | colorsel = GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.fg_color)->colorsel; |
|
4198
f4afa1d7a842
[gaim-migrate @ 4429]
Alex Converse <alex.converse@gmail.com>
parents:
4183
diff
changeset
|
1176 | gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(colorsel), &fgcolor); |
| 4635 | 1177 | g_object_set_data(G_OBJECT(colorsel), "gaim_conversation", c); |
|
2209
db87ba068b9c
[gaim-migrate @ 2219]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2143
diff
changeset
|
1178 | |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1179 | g_signal_connect(G_OBJECT(gtkconv->dialogs.fg_color), "delete_event", |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1180 | G_CALLBACK(delete_event_dialog), c); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1181 | g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.fg_color)->ok_button), |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1182 | "clicked", G_CALLBACK(do_fgcolor), colorsel); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1183 | g_signal_connect(G_OBJECT |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1184 | (GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.fg_color)->cancel_button), |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1185 | "clicked", G_CALLBACK(cancel_fgcolor), c); |
|
858
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1186 | |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1187 | gtk_widget_realize(gtkconv->dialogs.fg_color); |
|
858
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1188 | } |
|
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1189 | |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1190 | gtk_widget_show(gtkconv->dialogs.fg_color); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1191 | gdk_window_raise(gtkconv->dialogs.fg_color->window); |
|
858
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1192 | } |
|
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1193 | |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1194 | void show_bgcolor_dialog(GaimConversation *c, GtkWidget *color) |
|
858
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1195 | { |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1196 | GaimGtkConversation *gtkconv; |
|
858
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1197 | GtkWidget *colorsel; |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1198 | GdkColor bgcolor; |
|
858
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1199 | |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1200 | gtkconv = GAIM_GTK_CONVERSATION(c); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1201 | |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1202 | gdk_color_parse(gaim_prefs_get_string("/gaim/gtk/conversations/bgcolor"), |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1203 | &bgcolor); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1204 | |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1205 | if (color == NULL) { /* we came from the prefs */ |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1206 | if (bgcseld) |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1207 | return; |
|
2209
db87ba068b9c
[gaim-migrate @ 2219]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2143
diff
changeset
|
1208 | |
|
657
2407d672e506
[gaim-migrate @ 667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
654
diff
changeset
|
1209 | bgcseld = gtk_color_selection_dialog_new(_("Select Background Color")); |
|
4198
f4afa1d7a842
[gaim-migrate @ 4429]
Alex Converse <alex.converse@gmail.com>
parents:
4183
diff
changeset
|
1210 | gtk_color_selection_set_current_color(GTK_COLOR_SELECTION |
|
f4afa1d7a842
[gaim-migrate @ 4429]
Alex Converse <alex.converse@gmail.com>
parents:
4183
diff
changeset
|
1211 | (GTK_COLOR_SELECTION_DIALOG(bgcseld)->colorsel), &bgcolor); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1212 | g_signal_connect(G_OBJECT(bgcseld), "delete_event", |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1213 | G_CALLBACK(destroy_colorsel), NULL); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1214 | g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(bgcseld)->cancel_button), |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1215 | "clicked", G_CALLBACK(destroy_colorsel), NULL); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1216 | g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(bgcseld)->ok_button), "clicked", |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1217 | G_CALLBACK(apply_color_dlg), (void *)2); |
|
657
2407d672e506
[gaim-migrate @ 667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
654
diff
changeset
|
1218 | gtk_widget_realize(bgcseld); |
|
2407d672e506
[gaim-migrate @ 667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
654
diff
changeset
|
1219 | gtk_widget_show(bgcseld); |
|
2407d672e506
[gaim-migrate @ 667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
654
diff
changeset
|
1220 | gdk_window_raise(bgcseld->window); |
|
2407d672e506
[gaim-migrate @ 667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
654
diff
changeset
|
1221 | return; |
|
2407d672e506
[gaim-migrate @ 667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
654
diff
changeset
|
1222 | } |
|
2407d672e506
[gaim-migrate @ 667]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
654
diff
changeset
|
1223 | |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1224 | if (!gtkconv->dialogs.bg_color) { |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1225 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1226 | gtkconv->dialogs.bg_color = gtk_color_selection_dialog_new(_("Select Background Color")); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1227 | colorsel = GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.bg_color)->colorsel; |
|
4198
f4afa1d7a842
[gaim-migrate @ 4429]
Alex Converse <alex.converse@gmail.com>
parents:
4183
diff
changeset
|
1228 | gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(colorsel), &bgcolor); |
| 4635 | 1229 | g_object_set_data(G_OBJECT(colorsel), "gaim_conversation", c); |
|
2209
db87ba068b9c
[gaim-migrate @ 2219]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2143
diff
changeset
|
1230 | |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1231 | g_signal_connect(G_OBJECT(gtkconv->dialogs.bg_color), "delete_event", |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1232 | G_CALLBACK(delete_event_dialog), c); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1233 | g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.bg_color)->ok_button), |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1234 | "clicked", G_CALLBACK(do_bgcolor), colorsel); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1235 | g_signal_connect(G_OBJECT |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1236 | (GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.bg_color)->cancel_button), |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1237 | "clicked", G_CALLBACK(cancel_bgcolor), c); |
|
858
e514a22143a3
[gaim-migrate @ 868]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
854
diff
changeset
|
1238 | |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1239 | gtk_widget_realize(gtkconv->dialogs.bg_color); |
|
311
971d26b73be6
[gaim-migrate @ 321]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
308
diff
changeset
|
1240 | } |
| 1 | 1241 | |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1242 | gtk_widget_show(gtkconv->dialogs.bg_color); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1243 | gdk_window_raise(gtkconv->dialogs.bg_color->window); |
| 1 | 1244 | } |
| 1245 | ||
| 1246 | /*------------------------------------------------------------------------*/ | |
|
230
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
229
diff
changeset
|
1247 | /* Font Selection Dialog */ |
|
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
229
diff
changeset
|
1248 | /*------------------------------------------------------------------------*/ |
|
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
229
diff
changeset
|
1249 | |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1250 | void cancel_font(GtkWidget *widget, GaimConversation *c) |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1251 | { |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1252 | GaimGtkConversation *gtkconv; |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1253 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1254 | gtkconv = GAIM_GTK_CONVERSATION(c); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1255 | |
| 4685 | 1256 | if (gtkconv->toolbar.font && widget) { |
| 4635 | 1257 | gtk_toggle_button_set_active( |
| 4685 | 1258 | GTK_TOGGLE_BUTTON(gtkconv->toolbar.font), FALSE); |
|
311
971d26b73be6
[gaim-migrate @ 321]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
308
diff
changeset
|
1259 | } |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1260 | |
|
5970
797f5f43c1bd
[gaim-migrate @ 6417]
Mark Doliner <markdoliner@pidgin.im>
parents:
5966
diff
changeset
|
1261 | if (gtkconv->dialogs.font) { |
|
797f5f43c1bd
[gaim-migrate @ 6417]
Mark Doliner <markdoliner@pidgin.im>
parents:
5966
diff
changeset
|
1262 | dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.font); |
|
797f5f43c1bd
[gaim-migrate @ 6417]
Mark Doliner <markdoliner@pidgin.im>
parents:
5966
diff
changeset
|
1263 | gtk_widget_destroy(gtkconv->dialogs.font); |
|
797f5f43c1bd
[gaim-migrate @ 6417]
Mark Doliner <markdoliner@pidgin.im>
parents:
5966
diff
changeset
|
1264 | gtkconv->dialogs.font = NULL; |
|
797f5f43c1bd
[gaim-migrate @ 6417]
Mark Doliner <markdoliner@pidgin.im>
parents:
5966
diff
changeset
|
1265 | } |
|
230
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
229
diff
changeset
|
1266 | } |
|
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
229
diff
changeset
|
1267 | |
|
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
229
diff
changeset
|
1268 | void apply_font(GtkWidget *widget, GtkFontSelection *fontsel) |
|
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
229
diff
changeset
|
1269 | { |
|
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
229
diff
changeset
|
1270 | /* this could be expanded to include font size, weight, etc. |
|
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
229
diff
changeset
|
1271 | but for now only works with font face */ |
|
666
0a313fec9a15
[gaim-migrate @ 676]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
657
diff
changeset
|
1272 | char *fontname; |
| 7079 | 1273 | char *space; |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1274 | GaimConversation *c = g_object_get_data(G_OBJECT(fontsel), |
| 4635 | 1275 | "gaim_conversation"); |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1276 | |
| 7079 | 1277 | if(!c) |
| 1278 | return; | |
| 1279 | ||
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1280 | fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(fontsel)); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1281 | |
| 7079 | 1282 | space = strrchr(fontname, ' '); |
| 1283 | if(space && isdigit(*(space+1))) | |
| 1284 | *space = '\0'; | |
| 1285 | ||
| 1286 | gaim_gtk_set_font_face(GAIM_GTK_CONVERSATION(c), fontname); | |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1287 | |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1288 | g_free(fontname); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1289 | |
|
311
971d26b73be6
[gaim-migrate @ 321]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
308
diff
changeset
|
1290 | cancel_font(NULL, c); |
|
230
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
229
diff
changeset
|
1291 | } |
|
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
229
diff
changeset
|
1292 | |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1293 | void destroy_fontsel(GtkWidget *w, gpointer d) |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1294 | { |
|
334
520b6eb5ed7e
[gaim-migrate @ 344]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
311
diff
changeset
|
1295 | gtk_widget_destroy(fontseld); |
|
520b6eb5ed7e
[gaim-migrate @ 344]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
311
diff
changeset
|
1296 | fontseld = NULL; |
|
520b6eb5ed7e
[gaim-migrate @ 344]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
311
diff
changeset
|
1297 | } |
|
520b6eb5ed7e
[gaim-migrate @ 344]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
311
diff
changeset
|
1298 | |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1299 | void show_font_dialog(GaimConversation *c, GtkWidget *font) |
|
230
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
229
diff
changeset
|
1300 | { |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1301 | GaimGtkConversation *gtkconv; |
| 3473 | 1302 | char fonttif[128]; |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1303 | const char *fontface; |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1304 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1305 | gtkconv = GAIM_GTK_CONVERSATION(c); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1306 | |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1307 | if (!font) { /* we came from the prefs dialog */ |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1308 | if (fontseld) |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1309 | return; |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1310 | |
|
350
b02a56431923
[gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
349
diff
changeset
|
1311 | fontseld = gtk_font_selection_dialog_new(_("Select Font")); |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1312 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1313 | fontface = gaim_prefs_get_string("/gaim/gtk/conversations/font_face"); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1314 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1315 | if (fontface != NULL && *fontface != '\0') { |
| 3473 | 1316 | g_snprintf(fonttif, sizeof(fonttif), "%s 12", fontface); |
|
2763
18a8e555039b
[gaim-migrate @ 2776]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2761
diff
changeset
|
1317 | gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(fontseld), |
| 3473 | 1318 | fonttif); |
|
2763
18a8e555039b
[gaim-migrate @ 2776]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2761
diff
changeset
|
1319 | } else { |
|
18a8e555039b
[gaim-migrate @ 2776]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2761
diff
changeset
|
1320 | gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(fontseld), |
| 3473 | 1321 | DEFAULT_FONT_FACE " 12"); |
|
2763
18a8e555039b
[gaim-migrate @ 2776]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2761
diff
changeset
|
1322 | } |
|
334
520b6eb5ed7e
[gaim-migrate @ 344]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
311
diff
changeset
|
1323 | |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1324 | g_signal_connect(G_OBJECT(fontseld), "delete_event", |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1325 | G_CALLBACK(destroy_fontsel), NULL); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1326 | g_signal_connect(G_OBJECT(GTK_FONT_SELECTION_DIALOG(fontseld)->cancel_button), |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1327 | "clicked", G_CALLBACK(destroy_fontsel), NULL); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1328 | g_signal_connect(G_OBJECT(GTK_FONT_SELECTION_DIALOG(fontseld)->ok_button), "clicked", |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1329 | G_CALLBACK(apply_font_dlg), fontseld); |
|
334
520b6eb5ed7e
[gaim-migrate @ 344]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
311
diff
changeset
|
1330 | gtk_widget_realize(fontseld); |
|
520b6eb5ed7e
[gaim-migrate @ 344]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
311
diff
changeset
|
1331 | gtk_widget_show(fontseld); |
|
520b6eb5ed7e
[gaim-migrate @ 344]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
311
diff
changeset
|
1332 | gdk_window_raise(fontseld->window); |
|
520b6eb5ed7e
[gaim-migrate @ 344]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
311
diff
changeset
|
1333 | return; |
|
520b6eb5ed7e
[gaim-migrate @ 344]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
311
diff
changeset
|
1334 | } |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1335 | |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1336 | if (!gtkconv->dialogs.font) { |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1337 | gtkconv->dialogs.font = gtk_font_selection_dialog_new(_("Select Font")); |
|
234
100138758e8d
[gaim-migrate @ 244]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
231
diff
changeset
|
1338 | |
| 4635 | 1339 | g_object_set_data(G_OBJECT(gtkconv->dialogs.font), "gaim_conversation", c); |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1340 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1341 | if (gtkconv->fontface[0]) { |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1342 | g_snprintf(fonttif, sizeof(fonttif), "%s 12", gtkconv->fontface); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1343 | gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(gtkconv->dialogs.font), |
| 3473 | 1344 | fonttif); |
|
2763
18a8e555039b
[gaim-migrate @ 2776]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2761
diff
changeset
|
1345 | } else { |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1346 | gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(gtkconv->dialogs.font), |
| 3473 | 1347 | DEFAULT_FONT_FACE); |
|
2763
18a8e555039b
[gaim-migrate @ 2776]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2761
diff
changeset
|
1348 | } |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1349 | |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1350 | g_signal_connect(G_OBJECT(gtkconv->dialogs.font), "delete_event", |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1351 | G_CALLBACK(delete_event_dialog), c); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1352 | g_signal_connect(G_OBJECT(GTK_FONT_SELECTION_DIALOG(gtkconv->dialogs.font)->ok_button), |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1353 | "clicked", G_CALLBACK(apply_font), gtkconv->dialogs.font); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1354 | g_signal_connect(G_OBJECT(GTK_FONT_SELECTION_DIALOG(gtkconv->dialogs.font)->cancel_button), |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1355 | "clicked", G_CALLBACK(cancel_font), c); |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1356 | |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1357 | gtk_widget_realize(gtkconv->dialogs.font); |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1358 | |
|
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1359 | } |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1360 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1361 | gtk_widget_show(gtkconv->dialogs.font); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1362 | gdk_window_raise(gtkconv->dialogs.font->window); |
|
230
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
229
diff
changeset
|
1363 | } |
|
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
229
diff
changeset
|
1364 | |
|
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
229
diff
changeset
|
1365 | /*------------------------------------------------------------------------*/ |
| 1 | 1366 | /* The dialog for new away messages */ |
| 1367 | /*------------------------------------------------------------------------*/ | |
| 1368 | ||
|
1213
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1369 | static struct away_message *save_away_message(struct create_away *ca) |
|
717
acdd0019f9f8
[gaim-migrate @ 727]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
710
diff
changeset
|
1370 | { |
|
acdd0019f9f8
[gaim-migrate @ 727]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
710
diff
changeset
|
1371 | struct away_message *am; |
|
acdd0019f9f8
[gaim-migrate @ 727]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
710
diff
changeset
|
1372 | gchar *away_message; |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1373 | |
|
832
138962a0d570
[gaim-migrate @ 842]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
825
diff
changeset
|
1374 | if (!ca->mess) |
|
138962a0d570
[gaim-migrate @ 842]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
825
diff
changeset
|
1375 | am = g_new0(struct away_message, 1); |
|
2851
b2bc75288ea1
[gaim-migrate @ 2864]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2827
diff
changeset
|
1376 | else { |
|
832
138962a0d570
[gaim-migrate @ 842]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
825
diff
changeset
|
1377 | am = ca->mess; |
|
2851
b2bc75288ea1
[gaim-migrate @ 2864]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2827
diff
changeset
|
1378 | } |
| 1387 | 1379 | |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
1380 | |
|
717
acdd0019f9f8
[gaim-migrate @ 727]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
710
diff
changeset
|
1381 | g_snprintf(am->name, sizeof(am->name), "%s", gtk_entry_get_text(GTK_ENTRY(ca->entry))); |
| 4119 | 1382 | away_message = gtk_text_view_get_text(GTK_TEXT_VIEW(ca->text), FALSE); |
|
717
acdd0019f9f8
[gaim-migrate @ 727]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
710
diff
changeset
|
1383 | |
|
acdd0019f9f8
[gaim-migrate @ 727]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
710
diff
changeset
|
1384 | g_snprintf(am->message, sizeof(am->message), "%s", away_message); |
|
acdd0019f9f8
[gaim-migrate @ 727]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
710
diff
changeset
|
1385 | g_free(away_message); |
|
acdd0019f9f8
[gaim-migrate @ 727]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
710
diff
changeset
|
1386 | |
|
832
138962a0d570
[gaim-migrate @ 842]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
825
diff
changeset
|
1387 | if (!ca->mess) { |
|
1213
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1388 | away_messages = g_slist_insert_sorted(away_messages, am, sort_awaymsg_list); |
|
832
138962a0d570
[gaim-migrate @ 842]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
825
diff
changeset
|
1389 | } |
|
138962a0d570
[gaim-migrate @ 842]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
825
diff
changeset
|
1390 | |
|
5560
7cd6678f838b
[gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents:
5551
diff
changeset
|
1391 | do_away_menu(NULL); |
| 6065 | 1392 | gaim_status_sync(); |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1393 | |
|
1213
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1394 | return am; |
|
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1395 | } |
|
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1396 | |
| 1387 | 1397 | int check_away_mess(struct create_away *ca, int type) |
| 1398 | { | |
| 4630 | 1399 | char *msg; |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1400 | if ((strlen(gtk_entry_get_text(GTK_ENTRY(ca->entry))) == 0) && (type == 1)) { |
| 1387 | 1401 | /* We shouldn't allow a blank title */ |
|
5436
a0e0bacaa196
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
1402 | gaim_notify_error(NULL, NULL, |
|
a0e0bacaa196
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
1403 | _("You cannot save an away message with a " |
|
a0e0bacaa196
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
1404 | "blank title"), |
|
a0e0bacaa196
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
1405 | _("Please give the message a title, or choose " |
|
a0e0bacaa196
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
1406 | "\"Use\" to use without saving.")); |
| 1387 | 1407 | return 0; |
| 1408 | } | |
| 1409 | ||
| 4630 | 1410 | msg = gtk_text_view_get_text(GTK_TEXT_VIEW(ca->text), FALSE); |
| 1411 | ||
| 1412 | if (!msg && (type <= 1)) { | |
| 1387 | 1413 | /* We shouldn't allow a blank message */ |
|
5436
a0e0bacaa196
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
1414 | gaim_notify_error(NULL, NULL, |
|
a0e0bacaa196
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
1415 | _("You cannot create an empty away message"), NULL); |
| 1387 | 1416 | return 0; |
| 1417 | } | |
| 1418 | ||
| 4630 | 1419 | g_free(msg); |
| 1420 | ||
| 1387 | 1421 | return 1; |
| 1422 | } | |
| 1423 | ||
|
1213
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1424 | void save_away_mess(GtkWidget *widget, struct create_away *ca) |
|
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1425 | { |
| 1387 | 1426 | if (!check_away_mess(ca, 1)) |
| 1427 | return; | |
| 1428 | ||
|
1213
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1429 | save_away_message(ca); |
|
717
acdd0019f9f8
[gaim-migrate @ 727]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
710
diff
changeset
|
1430 | destroy_dialog(NULL, ca->window); |
|
1213
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1431 | g_free(ca); |
|
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1432 | } |
|
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1433 | |
|
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1434 | void use_away_mess(GtkWidget *widget, struct create_away *ca) |
|
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1435 | { |
|
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1436 | static struct away_message am; |
|
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1437 | gchar *away_message; |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1438 | |
| 1387 | 1439 | if (!check_away_mess(ca, 0)) |
| 1440 | return; | |
|
1213
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1441 | |
|
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1442 | g_snprintf(am.name, sizeof(am.name), "%s", gtk_entry_get_text(GTK_ENTRY(ca->entry))); |
| 4119 | 1443 | away_message = gtk_text_view_get_text(GTK_TEXT_VIEW(ca->text), FALSE); |
|
1213
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1444 | |
|
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1445 | g_snprintf(am.message, sizeof(am.message), "%s", away_message); |
|
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1446 | g_free(away_message); |
|
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1447 | |
|
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1448 | do_away_message(NULL, &am); |
|
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1449 | |
|
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1450 | destroy_dialog(NULL, ca->window); |
|
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1451 | g_free(ca); |
|
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1452 | } |
|
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1453 | |
|
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1454 | void su_away_mess(GtkWidget *widget, struct create_away *ca) |
|
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1455 | { |
| 1387 | 1456 | if (!check_away_mess(ca, 1)) |
| 1457 | return; | |
|
1213
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1458 | do_away_message(NULL, save_away_message(ca)); |
|
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1459 | destroy_dialog(NULL, ca->window); |
|
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1460 | g_free(ca); |
|
717
acdd0019f9f8
[gaim-migrate @ 727]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
710
diff
changeset
|
1461 | } |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1462 | |
| 1 | 1463 | void create_away_mess(GtkWidget *widget, void *dummy) |
| 1464 | { | |
| 439 | 1465 | GtkWidget *hbox; |
| 1 | 1466 | GtkWidget *titlebox; |
| 1467 | GtkWidget *tbox; | |
| 1468 | GtkWidget *label; | |
| 439 | 1469 | GtkWidget *frame; |
| 1470 | GtkWidget *fbox; | |
| 441 | 1471 | GtkWidget *button; |
| 1 | 1472 | |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1473 | struct create_away *ca = g_new0(struct create_away, 1); |
|
1185
4e850e2011e4
[gaim-migrate @ 1195]
Decklin Foster <decklin@red-bean.com>
parents:
1174
diff
changeset
|
1474 | |
| 1 | 1475 | /* Set up window */ |
|
2725
a844d0964552
[gaim-migrate @ 2738]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2681
diff
changeset
|
1476 | GAIM_DIALOG(ca->window); |
| 4635 | 1477 | gtk_widget_set_size_request(ca->window, -1, 250); |
| 1478 | gtk_container_set_border_width(GTK_CONTAINER(ca->window), 5); | |
|
4074
c69100a0ede9
[gaim-migrate @ 4289]
Robert McQueen <robot101@debian.org>
parents:
4061
diff
changeset
|
1479 | gtk_window_set_role(GTK_WINDOW(ca->window), "away_mess"); |
| 4703 | 1480 | gtk_window_set_title(GTK_WINDOW(ca->window), _("New away message")); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1481 | g_signal_connect(G_OBJECT(ca->window), "delete_event", |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1482 | G_CALLBACK(destroy_dialog), ca->window); |
|
1213
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1483 | gtk_widget_realize(ca->window); |
|
1185
4e850e2011e4
[gaim-migrate @ 1195]
Decklin Foster <decklin@red-bean.com>
parents:
1174
diff
changeset
|
1484 | |
|
4e850e2011e4
[gaim-migrate @ 1195]
Decklin Foster <decklin@red-bean.com>
parents:
1174
diff
changeset
|
1485 | tbox = gtk_vbox_new(FALSE, 5); |
|
4e850e2011e4
[gaim-migrate @ 1195]
Decklin Foster <decklin@red-bean.com>
parents:
1174
diff
changeset
|
1486 | gtk_container_add(GTK_CONTAINER(ca->window), tbox); |
| 439 | 1487 | |
| 1488 | frame = gtk_frame_new(_("New away message")); | |
|
1185
4e850e2011e4
[gaim-migrate @ 1195]
Decklin Foster <decklin@red-bean.com>
parents:
1174
diff
changeset
|
1489 | gtk_box_pack_start(GTK_BOX(tbox), frame, TRUE, TRUE, 0); |
|
1213
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1490 | |
|
1172
5c0e6410a272
[gaim-migrate @ 1182]
Decklin Foster <decklin@red-bean.com>
parents:
1171
diff
changeset
|
1491 | fbox = gtk_vbox_new(FALSE, 5); |
|
1224
252fad5b9d30
[gaim-migrate @ 1234]
Decklin Foster <decklin@red-bean.com>
parents:
1216
diff
changeset
|
1492 | gtk_container_set_border_width(GTK_CONTAINER(fbox), 5); |
|
1185
4e850e2011e4
[gaim-migrate @ 1195]
Decklin Foster <decklin@red-bean.com>
parents:
1174
diff
changeset
|
1493 | gtk_container_add(GTK_CONTAINER(frame), fbox); |
|
4e850e2011e4
[gaim-migrate @ 1195]
Decklin Foster <decklin@red-bean.com>
parents:
1174
diff
changeset
|
1494 | |
|
4e850e2011e4
[gaim-migrate @ 1195]
Decklin Foster <decklin@red-bean.com>
parents:
1174
diff
changeset
|
1495 | titlebox = gtk_hbox_new(FALSE, 5); |
|
1213
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1496 | gtk_box_pack_start(GTK_BOX(fbox), titlebox, FALSE, FALSE, 0); |
|
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1497 | |
|
350
b02a56431923
[gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
349
diff
changeset
|
1498 | label = gtk_label_new(_("Away title: ")); |
|
1172
5c0e6410a272
[gaim-migrate @ 1182]
Decklin Foster <decklin@red-bean.com>
parents:
1171
diff
changeset
|
1499 | gtk_box_pack_start(GTK_BOX(titlebox), label, FALSE, FALSE, 0); |
|
1185
4e850e2011e4
[gaim-migrate @ 1195]
Decklin Foster <decklin@red-bean.com>
parents:
1174
diff
changeset
|
1500 | |
| 1 | 1501 | ca->entry = gtk_entry_new(); |
|
1172
5c0e6410a272
[gaim-migrate @ 1182]
Decklin Foster <decklin@red-bean.com>
parents:
1171
diff
changeset
|
1502 | gtk_box_pack_start(GTK_BOX(titlebox), ca->entry, TRUE, TRUE, 0); |
|
1213
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1503 | gtk_widget_grab_focus(ca->entry); |
| 1 | 1504 | |
| 4119 | 1505 | frame = gtk_frame_new(NULL); |
| 1506 | gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN); | |
| 1507 | gtk_box_pack_start(GTK_BOX(fbox), frame, TRUE, TRUE, 0); | |
|
5024
3b5412e4b483
[gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents:
4978
diff
changeset
|
1508 | |
| 4119 | 1509 | ca->text = gtk_text_view_new(); |
|
5105
3565a4c4de6a
[gaim-migrate @ 5468]
David J. Brigada <brigada@prism.net>
parents:
5092
diff
changeset
|
1510 | gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(ca->text), GTK_WRAP_WORD_CHAR); |
|
5024
3b5412e4b483
[gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents:
4978
diff
changeset
|
1511 | |
|
7538
b20dbe9222e2
[gaim-migrate @ 8151]
Christian Hammond <chipx86@chipx86.com>
parents:
7431
diff
changeset
|
1512 | if (gaim_prefs_get_bool("/gaim/gtk/conversations/spellcheck")) |
|
b20dbe9222e2
[gaim-migrate @ 8151]
Christian Hammond <chipx86@chipx86.com>
parents:
7431
diff
changeset
|
1513 | gaim_gtk_setup_gtkspell(GTK_TEXT_VIEW(ca->text)); |
| 7002 | 1514 | |
| 4119 | 1515 | gtk_container_add(GTK_CONTAINER(frame), ca->text); |
|
5024
3b5412e4b483
[gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents:
4978
diff
changeset
|
1516 | |
| 3374 | 1517 | if (dummy) { |
| 1518 | struct away_message *amt; | |
| 1519 | GtkTreeIter iter; | |
| 1520 | int pos = 0; | |
| 1521 | GtkListStore *ls = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(dummy))); | |
| 1522 | GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(dummy)); | |
| 1523 | GValue val = { 0, }; | |
| 4119 | 1524 | GtkTextIter start; |
| 1525 | GtkTextBuffer *buffer; | |
| 3374 | 1526 | |
|
3716
172593593072
[gaim-migrate @ 3849]
Herman Bloggs <herman@bluedigits.com>
parents:
3671
diff
changeset
|
1527 | if (! gtk_tree_selection_get_selected (sel, (GtkTreeModel**)&ls, &iter)) |
| 3374 | 1528 | return; |
|
3716
172593593072
[gaim-migrate @ 3849]
Herman Bloggs <herman@bluedigits.com>
parents:
3671
diff
changeset
|
1529 | gtk_tree_model_get_value (GTK_TREE_MODEL(ls), &iter, 1, &val); |
| 3374 | 1530 | amt = g_value_get_pointer (&val); |
| 1531 | gtk_entry_set_text(GTK_ENTRY(ca->entry), amt->name); | |
| 4119 | 1532 | buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(ca->text)); |
| 1533 | gtk_text_buffer_get_iter_at_offset(buffer, &start, pos); | |
| 1534 | gtk_text_buffer_insert(buffer, &start, amt->message, strlen(amt->message)); | |
| 1535 | ||
| 3374 | 1536 | ca->mess = amt; |
| 1537 | } | |
|
832
138962a0d570
[gaim-migrate @ 842]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
825
diff
changeset
|
1538 | |
|
1213
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1539 | hbox = gtk_hbox_new(FALSE, 5); |
|
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1540 | gtk_box_pack_start(GTK_BOX(tbox), hbox, FALSE, FALSE, 0); |
|
5024
3b5412e4b483
[gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents:
4978
diff
changeset
|
1541 | |
|
3b5412e4b483
[gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents:
4978
diff
changeset
|
1542 | button = gaim_pixbuf_button_from_stock(_("Save"), GTK_STOCK_SAVE, GAIM_BUTTON_HORIZONTAL); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1543 | g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(save_away_mess), ca); |
| 4092 | 1544 | gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
| 1545 | ||
|
5024
3b5412e4b483
[gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents:
4978
diff
changeset
|
1546 | button = gaim_pixbuf_button_from_stock(_("Save & Use"), GTK_STOCK_OK, GAIM_BUTTON_HORIZONTAL); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1547 | g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(su_away_mess), ca); |
|
1213
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1548 | gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1549 | |
|
5024
3b5412e4b483
[gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents:
4978
diff
changeset
|
1550 | button = gaim_pixbuf_button_from_stock(_("Use"), GTK_STOCK_EXECUTE, GAIM_BUTTON_HORIZONTAL); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1551 | g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(use_away_mess), ca); |
|
1213
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1552 | gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1553 | |
|
5024
3b5412e4b483
[gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents:
4978
diff
changeset
|
1554 | button = gaim_pixbuf_button_from_stock(_("Cancel"), GTK_STOCK_CANCEL, GAIM_BUTTON_HORIZONTAL); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1555 | g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(destroy_dialog), ca->window); |
|
1213
627f0fe24ea1
[gaim-migrate @ 1223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1210
diff
changeset
|
1556 | gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1557 | |
|
5024
3b5412e4b483
[gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents:
4978
diff
changeset
|
1558 | gtk_widget_show_all(ca->window); |
| 1 | 1559 | } |
|
555
bea0ece30600
[gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
550
diff
changeset
|
1560 | |
|
bea0ece30600
[gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
550
diff
changeset
|
1561 | /* smiley dialog */ |
|
bea0ece30600
[gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
550
diff
changeset
|
1562 | |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1563 | void close_smiley_dialog(GtkWidget *widget, GaimConversation *c) |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1564 | { |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1565 | GaimGtkConversation *gtkconv; |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1566 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1567 | gtkconv = GAIM_GTK_CONVERSATION(c); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1568 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1569 | if (gtkconv->toolbar.smiley) { |
| 4635 | 1570 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.smiley), |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1571 | FALSE); |
|
570
3450eeb314a1
[gaim-migrate @ 580]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
567
diff
changeset
|
1572 | } |
| 5275 | 1573 | if(gtkconv->dialogs.smiley) { |
| 1574 | dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.smiley); | |
| 1575 | gtk_widget_destroy(gtkconv->dialogs.smiley); | |
| 1576 | gtkconv->dialogs.smiley = NULL; | |
| 1577 | } | |
|
555
bea0ece30600
[gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
550
diff
changeset
|
1578 | } |
|
bea0ece30600
[gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
550
diff
changeset
|
1579 | |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1580 | void insert_smiley_text(GtkWidget *widget, GaimConversation *c) |
|
555
bea0ece30600
[gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
550
diff
changeset
|
1581 | { |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1582 | GaimGtkConversation *gtkconv; |
| 4667 | 1583 | char *smiley_text = g_object_get_data(G_OBJECT(widget), "smiley_text"); |
| 5275 | 1584 | GtkTextMark *select_mark, *insert_mark; |
| 1585 | GtkTextIter select_iter, insert_iter; | |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1586 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1587 | gtkconv = GAIM_GTK_CONVERSATION(c); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1588 | |
| 5275 | 1589 | select_mark = gtk_text_buffer_get_selection_bound(gtkconv->entry_buffer); |
| 1590 | insert_mark = gtk_text_buffer_get_insert(gtkconv->entry_buffer); | |
| 1591 | ||
| 1592 | if(insert_mark != select_mark) { /* there is text selected */ | |
| 1593 | gtk_text_buffer_get_iter_at_mark(gtkconv->entry_buffer, &select_iter, select_mark); | |
| 1594 | gtk_text_buffer_get_iter_at_mark(gtkconv->entry_buffer, &insert_iter, insert_mark); | |
| 1595 | gtk_text_buffer_delete(gtkconv->entry_buffer, &select_iter, &insert_iter); | |
| 1596 | } | |
| 1597 | ||
| 4667 | 1598 | gtk_text_buffer_insert_at_cursor(gtkconv->entry_buffer, smiley_text, -1); |
|
555
bea0ece30600
[gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
550
diff
changeset
|
1599 | close_smiley_dialog(NULL, c); |
|
bea0ece30600
[gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
550
diff
changeset
|
1600 | } |
|
579
aed77e39951d
[gaim-migrate @ 589]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
577
diff
changeset
|
1601 | |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1602 | static void add_smiley(GaimConversation *c, GtkWidget *table, int row, int col, char *filename, char *face) |
| 4034 | 1603 | { |
|
4061
0629287b4329
[gaim-migrate @ 4271]
Herman Bloggs <herman@bluedigits.com>
parents:
4060
diff
changeset
|
1604 | GtkWidget *image; |
| 4034 | 1605 | GtkWidget *button; |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1606 | GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(c); |
| 4667 | 1607 | |
| 1608 | image = gtk_image_new_from_file(filename); | |
| 1609 | button = gtk_button_new(); | |
| 1610 | gtk_container_add(GTK_CONTAINER(button), image); | |
| 1611 | g_object_set_data(G_OBJECT(button), "smiley_text", face); | |
| 1612 | g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(insert_smiley_text), c); | |
| 1613 | ||
| 1614 | gtk_tooltips_set_tip(gtkconv->tooltips, button, face, NULL); | |
| 1615 | ||
| 1616 | gtk_table_attach_defaults(GTK_TABLE(table), button, col, col+1, row, row+1); | |
| 4034 | 1617 | |
| 1618 | /* these look really weird with borders */ | |
| 1619 | gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); | |
| 4667 | 1620 | |
| 1621 | gtk_widget_show(button); | |
| 1622 | } | |
| 1623 | ||
| 1624 | static gboolean smiley_is_unique(GSList *list, GtkIMHtmlSmiley *smiley) { | |
| 1625 | while(list) { | |
| 1626 | GtkIMHtmlSmiley *cur = list->data; | |
| 1627 | if(!strcmp(cur->file, smiley->file)) | |
| 1628 | return FALSE; | |
| 1629 | list = list->next; | |
| 1630 | } | |
| 1631 | return TRUE; | |
| 4034 | 1632 | } |
| 1633 | ||
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1634 | void show_smiley_dialog(GaimConversation *c, GtkWidget *widget) |
|
555
bea0ece30600
[gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
550
diff
changeset
|
1635 | { |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1636 | GaimGtkConversation *gtkconv; |
|
555
bea0ece30600
[gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
550
diff
changeset
|
1637 | GtkWidget *dialog; |
| 4667 | 1638 | GtkWidget *smiley_table = NULL; |
| 1639 | GSList *smileys, *unique_smileys = NULL; | |
| 1640 | int width; | |
| 1641 | int row = 0, col = 0; | |
|
555
bea0ece30600
[gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
550
diff
changeset
|
1642 | |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1643 | gtkconv = GAIM_GTK_CONVERSATION(c); |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1644 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1645 | if (gtkconv->dialogs.smiley) |
|
558
479c1b17d9d0
[gaim-migrate @ 568]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
555
diff
changeset
|
1646 | return; |
|
579
aed77e39951d
[gaim-migrate @ 589]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
577
diff
changeset
|
1647 | |
| 4667 | 1648 | if(c->account) |
|
5943
8a052155157a
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5925
diff
changeset
|
1649 | smileys = get_proto_smileys( |
|
8a052155157a
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5925
diff
changeset
|
1650 | gaim_account_get_protocol(gaim_conversation_get_account(c))); |
| 4667 | 1651 | else |
|
5205
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5136
diff
changeset
|
1652 | smileys = get_proto_smileys(GAIM_PROTO_DEFAULT); |
| 4667 | 1653 | |
| 1654 | while(smileys) { | |
| 1655 | GtkIMHtmlSmiley *smiley = smileys->data; | |
| 1656 | if(!smiley->hidden) { | |
| 1657 | if(smiley_is_unique(unique_smileys, smiley)) | |
| 1658 | unique_smileys = g_slist_append(unique_smileys, smiley); | |
| 1659 | } | |
| 1660 | smileys = smileys->next; | |
| 1661 | } | |
| 1662 | ||
| 1663 | ||
| 1664 | width = floor(sqrt(g_slist_length(unique_smileys))); | |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1665 | |
|
2725
a844d0964552
[gaim-migrate @ 2738]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2681
diff
changeset
|
1666 | GAIM_DIALOG(dialog); |
| 4635 | 1667 | gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE); |
|
4074
c69100a0ede9
[gaim-migrate @ 4289]
Robert McQueen <robot101@debian.org>
parents:
4061
diff
changeset
|
1668 | gtk_window_set_role(GTK_WINDOW(dialog), "smiley_dialog"); |
| 934 | 1669 | gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_MOUSE); |
|
579
aed77e39951d
[gaim-migrate @ 589]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
577
diff
changeset
|
1670 | |
| 4667 | 1671 | smiley_table = gtk_table_new(width, width, TRUE); |
|
555
bea0ece30600
[gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
550
diff
changeset
|
1672 | |
|
bea0ece30600
[gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
550
diff
changeset
|
1673 | /* pack buttons */ |
| 4667 | 1674 | |
| 1675 | while(unique_smileys) { | |
| 1676 | GtkIMHtmlSmiley *smiley = unique_smileys->data; | |
| 1677 | if(!smiley->hidden) { | |
| 1678 | add_smiley(c, smiley_table, row, col, smiley->file, smiley->smile); | |
| 1679 | if(++col >= width) { | |
| 1680 | col = 0; | |
| 1681 | row++; | |
| 1682 | } | |
| 1683 | } | |
| 1684 | unique_smileys = unique_smileys->next; | |
| 1685 | } | |
| 1686 | ||
| 1687 | gtk_container_add(GTK_CONTAINER(dialog), smiley_table); | |
| 1688 | ||
| 1689 | gtk_widget_show(smiley_table); | |
| 1690 | ||
|
579
aed77e39951d
[gaim-migrate @ 589]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
577
diff
changeset
|
1691 | gtk_container_set_border_width(GTK_CONTAINER(dialog), 5); |
|
555
bea0ece30600
[gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
550
diff
changeset
|
1692 | |
|
605
3d93a5c09c8f
[gaim-migrate @ 615]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
603
diff
changeset
|
1693 | /* connect signals */ |
| 4635 | 1694 | g_object_set_data(G_OBJECT(dialog), "dialog_type", "smiley dialog"); |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1695 | g_signal_connect(G_OBJECT(dialog), "delete_event", |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1696 | G_CALLBACK(delete_event_dialog), c); |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1697 | |
|
555
bea0ece30600
[gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
550
diff
changeset
|
1698 | /* show everything */ |
|
567
046c1568bad5
[gaim-migrate @ 577]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
558
diff
changeset
|
1699 | gtk_window_set_title(GTK_WINDOW(dialog), _("Smile!")); |
|
584
5fa247775aac
[gaim-migrate @ 594]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
582
diff
changeset
|
1700 | gtk_widget_show_all(dialog); |
|
555
bea0ece30600
[gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
550
diff
changeset
|
1701 | |
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1702 | gtkconv->dialogs.smiley = dialog; |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1703 | |
|
555
bea0ece30600
[gaim-migrate @ 565]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
550
diff
changeset
|
1704 | return; |
|
558
479c1b17d9d0
[gaim-migrate @ 568]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
555
diff
changeset
|
1705 | } |
|
710
55c2137a3d2a
[gaim-migrate @ 720]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
699
diff
changeset
|
1706 | |
|
6329
21037bfe0ee7
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
1707 | static void |
|
7118
280b3b85a28a
[gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents:
7108
diff
changeset
|
1708 | alias_chat_cb(GaimChat *chat, const char *new_alias) |
| 5234 | 1709 | { |
|
6329
21037bfe0ee7
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
1710 | gaim_blist_alias_chat(chat, new_alias); |
|
21037bfe0ee7
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
1711 | gaim_blist_save(); |
| 5234 | 1712 | } |
| 1713 | ||
|
6329
21037bfe0ee7
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
1714 | void |
|
7118
280b3b85a28a
[gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents:
7108
diff
changeset
|
1715 | alias_dialog_blist_chat(GaimChat *chat) |
|
6329
21037bfe0ee7
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
1716 | { |
|
21037bfe0ee7
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
1717 | gaim_request_input(NULL, _("Alias Chat"), _("Alias chat"), |
|
21037bfe0ee7
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
1718 | _("Please enter an aliased name for this chat."), |
|
21037bfe0ee7
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
1719 | chat->alias, FALSE, FALSE, |
|
21037bfe0ee7
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
1720 | _("OK"), G_CALLBACK(alias_chat_cb), |
|
21037bfe0ee7
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
1721 | _("Cancel"), NULL, chat); |
| 5234 | 1722 | } |
| 1723 | ||
|
6327
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1724 | static void |
| 7245 | 1725 | alias_contact_cb(GaimContact *contact, const char *new_alias) |
| 1726 | { | |
| 1727 | gaim_contact_set_alias(contact, new_alias); | |
| 1728 | gaim_blist_save(); | |
| 1729 | } | |
| 1730 | ||
| 1731 | void | |
| 1732 | alias_dialog_contact(GaimContact *contact) | |
| 1733 | { | |
| 1734 | gaim_request_input(NULL, _("Alias Contact"), _("Alias contact"), | |
| 1735 | _("Please enter an aliased name for this contact."), | |
| 1736 | contact->alias, FALSE, FALSE, | |
| 1737 | _("OK"), G_CALLBACK(alias_contact_cb), | |
| 1738 | _("Cancel"), NULL, contact); | |
| 1739 | } | |
| 1740 | ||
| 1741 | static void | |
| 6695 | 1742 | alias_buddy_cb(GaimBuddy *buddy, GaimRequestFields *fields) |
|
6327
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1743 | { |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1744 | const char *alias; |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1745 | |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1746 | alias = gaim_request_fields_get_string(fields, "alias"); |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1747 | |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1748 | gaim_blist_alias_buddy(buddy, |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1749 | (alias != NULL && *alias != '\0') ? alias : NULL); |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1750 | serv_alias_buddy(buddy); |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1751 | gaim_blist_save(); |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1752 | } |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1753 | |
|
5050
241e7595c116
[gaim-migrate @ 5398]
Christian Hammond <chipx86@chipx86.com>
parents:
5024
diff
changeset
|
1754 | void |
| 6695 | 1755 | alias_dialog_bud(GaimBuddy *b) |
|
1397
705a0ba91b76
[gaim-migrate @ 1407]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1396
diff
changeset
|
1756 | { |
|
6327
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1757 | GaimRequestFields *fields; |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1758 | GaimRequestFieldGroup *group; |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1759 | GaimRequestField *field; |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1760 | |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1761 | fields = gaim_request_fields_new(); |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1762 | |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1763 | group = gaim_request_field_group_new(NULL); |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1764 | gaim_request_fields_add_group(fields, group); |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1765 | |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1766 | field = gaim_request_field_string_new("screenname", _("_Screenname"), |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1767 | b->name, FALSE); |
|
7049
7085b21b00bb
[gaim-migrate @ 7612]
Christian Hammond <chipx86@chipx86.com>
parents:
7002
diff
changeset
|
1768 | gaim_request_field_string_set_editable(field, FALSE); |
|
6327
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1769 | gaim_request_field_group_add_field(group, field); |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1770 | |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1771 | field = gaim_request_field_string_new("alias", _("_Alias"), |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1772 | b->alias, FALSE); |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1773 | gaim_request_field_group_add_field(group, field); |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1774 | |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1775 | gaim_request_fields(NULL, _("Alias Buddy"), |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1776 | _("Alias buddy"), |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1777 | _("Please enter an aliased name for the person " |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1778 | "below, or rename this contact in your buddy list."), |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1779 | fields, |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1780 | _("OK"), G_CALLBACK(alias_buddy_cb), |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1781 | _("Cancel"), NULL, |
|
2a17057a2913
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1782 | b); |
|
1397
705a0ba91b76
[gaim-migrate @ 1407]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1396
diff
changeset
|
1783 | } |
|
1477
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
1784 | |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1785 | static gboolean dont_destroy(gpointer a, gpointer b, gpointer c) |
|
1488
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1786 | { |
|
1477
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
1787 | return TRUE; |
|
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
1788 | } |
|
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
1789 | |
|
1488
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1790 | static void do_save_log(GtkWidget *w, GtkWidget *filesel) |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1791 | { |
|
3716
172593593072
[gaim-migrate @ 3849]
Herman Bloggs <herman@bluedigits.com>
parents:
3671
diff
changeset
|
1792 | const char *file; |
|
1488
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1793 | char path[PATHSIZE]; |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1794 | char buf[BUF_LONG]; |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1795 | char error[BUF_LEN]; |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1796 | FILE *fp_old, *fp_new; |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1797 | char filename[PATHSIZE]; |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1798 | char *name; |
|
1722
d64eabfd88e3
[gaim-migrate @ 1732]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1710
diff
changeset
|
1799 | char *tmp; |
|
1488
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1800 | |
| 4635 | 1801 | name = g_object_get_data(G_OBJECT(filesel), "name"); |
|
1722
d64eabfd88e3
[gaim-migrate @ 1732]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1710
diff
changeset
|
1802 | tmp = gaim_user_dir(); |
| 3630 | 1803 | g_snprintf(filename, PATHSIZE, "%s" G_DIR_SEPARATOR_S "logs" G_DIR_SEPARATOR_S "%s%s", tmp, |
| 7261 | 1804 | name ? gaim_normalize(NULL, name) : "system", name ? ".log" : ""); |
|
1488
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1805 | |
|
3716
172593593072
[gaim-migrate @ 3849]
Herman Bloggs <herman@bluedigits.com>
parents:
3671
diff
changeset
|
1806 | file = (const char*)gtk_file_selection_get_filename(GTK_FILE_SELECTION(filesel)); |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1807 | strncpy(path, file, PATHSIZE - 1); |
|
5966
91a208b3e979
[gaim-migrate @ 6413]
Mark Doliner <markdoliner@pidgin.im>
parents:
5959
diff
changeset
|
1808 | if (gaim_gtk_check_if_dir(path, GTK_FILE_SELECTION(filesel))) |
|
1488
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1809 | return; |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1810 | |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1811 | if ((fp_new = fopen(path, "w")) == NULL) { |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1812 | g_snprintf(error, BUF_LONG, |
| 3427 | 1813 | _("Couldn't write to %s."), path); |
|
5436
a0e0bacaa196
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
1814 | gaim_notify_error(NULL, NULL, error, strerror(errno)); |
|
1488
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1815 | return; |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1816 | } |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1817 | |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1818 | if ((fp_old = fopen(filename, "r")) == NULL) { |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1819 | g_snprintf(error, BUF_LONG, |
| 3427 | 1820 | _("Couldn't write to %s."), filename); |
|
5436
a0e0bacaa196
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
1821 | gaim_notify_error(NULL, NULL, error, strerror(errno)); |
|
1488
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1822 | fclose(fp_new); |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1823 | return; |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1824 | } |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1825 | |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1826 | while (fgets(buf, BUF_LONG, fp_old)) |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1827 | fputs(buf, fp_new); |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1828 | fclose(fp_old); |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1829 | fclose(fp_new); |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1830 | |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1831 | gtk_widget_destroy(filesel); |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1832 | |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1833 | return; |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1834 | } |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1835 | |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2370
diff
changeset
|
1836 | static void show_save_log(GtkWidget *w, gchar *name) |
|
1488
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1837 | { |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1838 | GtkWidget *filesel; |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1839 | gchar buf[BUF_LEN]; |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1840 | |
| 3630 | 1841 | g_snprintf(buf, BUF_LEN - 1, "%s" G_DIR_SEPARATOR_S "%s%s", gaim_home_dir(), |
| 7261 | 1842 | name ? gaim_normalize(NULL, name) : "system", name ? ".log" : ""); |
|
1488
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1843 | |
| 4703 | 1844 | filesel = gtk_file_selection_new(_("Save Log File")); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1845 | g_signal_connect(G_OBJECT(filesel), "delete_event", |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1846 | G_CALLBACK(destroy_dialog), filesel); |
|
1488
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1847 | |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1848 | gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(filesel)); |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1849 | gtk_file_selection_set_filename(GTK_FILE_SELECTION(filesel), buf); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1850 | g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(filesel)->ok_button), |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1851 | "clicked", G_CALLBACK(do_save_log), filesel); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1852 | g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(filesel)->cancel_button), |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1853 | "clicked", G_CALLBACK(destroy_dialog), filesel); |
| 4635 | 1854 | g_object_set_data(G_OBJECT(filesel), "name", name); |
|
1488
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1855 | |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1856 | gtk_widget_realize(filesel); |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1857 | gtk_widget_show(filesel); |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1858 | |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1859 | return; |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1860 | } |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1861 | |
|
7330
d9180de05551
[gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents:
7261
diff
changeset
|
1862 | static void do_clear_log_file(struct view_log *view) |
|
1488
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1863 | { |
|
7330
d9180de05551
[gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents:
7261
diff
changeset
|
1864 | gchar *filename, *buf; |
|
1722
d64eabfd88e3
[gaim-migrate @ 1732]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1710
diff
changeset
|
1865 | char *tmp; |
|
d64eabfd88e3
[gaim-migrate @ 1732]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1710
diff
changeset
|
1866 | |
|
d64eabfd88e3
[gaim-migrate @ 1732]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1710
diff
changeset
|
1867 | tmp = gaim_user_dir(); |
|
7330
d9180de05551
[gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents:
7261
diff
changeset
|
1868 | filename = g_strdup_printf("%s" G_DIR_SEPARATOR_S "logs" G_DIR_SEPARATOR_S "%s%s", tmp, |
|
d9180de05551
[gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents:
7261
diff
changeset
|
1869 | view ? gaim_normalize(NULL, view->name) : "system", view ? ".log" : ""); |
|
1488
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1870 | |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1871 | if ((remove(filename)) == -1) { |
|
7330
d9180de05551
[gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents:
7261
diff
changeset
|
1872 | buf = g_strdup_printf(_("Couldn't remove file %s." ), filename); |
|
5436
a0e0bacaa196
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
1873 | gaim_notify_error(NULL, NULL, buf, strerror(errno)); |
|
7330
d9180de05551
[gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents:
7261
diff
changeset
|
1874 | g_free(buf); |
|
1488
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1875 | } |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1876 | |
|
7330
d9180de05551
[gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents:
7261
diff
changeset
|
1877 | g_free(filename); |
|
d9180de05551
[gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents:
7261
diff
changeset
|
1878 | |
| 7378 | 1879 | if(view) |
| 1880 | gtk_widget_destroy(view->window); | |
|
1488
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1881 | } |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1882 | |
|
7330
d9180de05551
[gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents:
7261
diff
changeset
|
1883 | static void show_clear_log(GtkWidget *w, struct view_log *view) |
|
1488
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1884 | { |
|
7330
d9180de05551
[gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents:
7261
diff
changeset
|
1885 | char *text; |
| 7378 | 1886 | void *clear_handle; |
|
7330
d9180de05551
[gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents:
7261
diff
changeset
|
1887 | |
|
7367
08bf68d785e0
[gaim-migrate @ 7962]
Mark Doliner <markdoliner@pidgin.im>
parents:
7330
diff
changeset
|
1888 | if ((view != NULL ) && (view->clear_handle != NULL)) |
|
7330
d9180de05551
[gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents:
7261
diff
changeset
|
1889 | return; |
|
d9180de05551
[gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents:
7261
diff
changeset
|
1890 | |
|
d9180de05551
[gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents:
7261
diff
changeset
|
1891 | text = g_strdup_printf(_("You are about to remove the log file for %s. Do you want to continue?"), |
| 7377 | 1892 | view ? view->name : _("System Log")); |
| 7378 | 1893 | clear_handle = gaim_request_action(NULL, NULL, _("Remove Log"), |
|
7330
d9180de05551
[gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents:
7261
diff
changeset
|
1894 | text, -1, view, 2, |
|
d9180de05551
[gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents:
7261
diff
changeset
|
1895 | _("Remove Log"), |
|
d9180de05551
[gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents:
7261
diff
changeset
|
1896 | G_CALLBACK(do_clear_log_file), |
|
d9180de05551
[gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents:
7261
diff
changeset
|
1897 | _("Cancel"), NULL); |
| 7378 | 1898 | if(view) |
| 1899 | view->clear_handle = clear_handle; | |
|
7330
d9180de05551
[gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents:
7261
diff
changeset
|
1900 | g_free(text); |
|
1488
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1901 | } |
|
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
1902 | |
| 4635 | 1903 | static void log_show_convo(struct view_log *view) |
|
1477
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
1904 | { |
|
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
1905 | gchar buf[BUF_LONG]; |
|
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
1906 | FILE *fp; |
| 2570 | 1907 | char filename[256]; |
| 1908 | int i=0; | |
| 1909 | GString *string; | |
| 2602 | 1910 | guint block; |
| 1911 | ||
|
1477
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
1912 | string = g_string_new(""); |
|
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
1913 | |
|
2621
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
1914 | if (view->name) { |
| 1634 | 1915 | char *tmp = gaim_user_dir(); |
| 7261 | 1916 | g_snprintf(filename, 256, "%s" G_DIR_SEPARATOR_S "logs" G_DIR_SEPARATOR_S "%s.log", tmp, gaim_normalize(NULL, view->name)); |
| 1634 | 1917 | } else { |
| 1918 | char *tmp = gaim_user_dir(); | |
| 3630 | 1919 | g_snprintf(filename, 256, "%s" G_DIR_SEPARATOR_S "logs" G_DIR_SEPARATOR_S "system", tmp); |
| 1634 | 1920 | } |
|
1477
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
1921 | if ((fp = fopen(filename, "r")) == NULL) { |
|
4923
065f507166ca
[gaim-migrate @ 5257]
Herman Bloggs <herman@bluedigits.com>
parents:
4918
diff
changeset
|
1922 | if (view->name) { |
|
065f507166ca
[gaim-migrate @ 5257]
Herman Bloggs <herman@bluedigits.com>
parents:
4918
diff
changeset
|
1923 | g_snprintf(buf, BUF_LONG, _("Couldn't open log file %s."), filename); |
|
5436
a0e0bacaa196
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
1924 | gaim_notify_error(NULL, NULL, buf, strerror(errno)); |
|
4923
065f507166ca
[gaim-migrate @ 5257]
Herman Bloggs <herman@bluedigits.com>
parents:
4918
diff
changeset
|
1925 | } |
|
065f507166ca
[gaim-migrate @ 5257]
Herman Bloggs <herman@bluedigits.com>
parents:
4918
diff
changeset
|
1926 | /* If the system log doesn't exist.. no message just show empty system log window. |
|
065f507166ca
[gaim-migrate @ 5257]
Herman Bloggs <herman@bluedigits.com>
parents:
4918
diff
changeset
|
1927 | That way user knows that the log is empty :) |
|
065f507166ca
[gaim-migrate @ 5257]
Herman Bloggs <herman@bluedigits.com>
parents:
4918
diff
changeset
|
1928 | */ |
|
1477
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
1929 | return; |
|
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
1930 | } |
|
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
1931 | |
|
2621
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
1932 | gtk_widget_set_sensitive(view->bbox, FALSE); |
| 4635 | 1933 | g_signal_handlers_disconnect_by_func(G_OBJECT(view->window), |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1934 | G_CALLBACK(destroy_dialog), view->window); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1935 | block = g_signal_connect(G_OBJECT(view->window), "delete_event", |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1936 | G_CALLBACK(dont_destroy), view->window); |
|
2621
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
1937 | |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
1938 | fseek(fp, view->offset, SEEK_SET); |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
1939 | gtk_imhtml_clear(GTK_IMHTML(view->layout)); |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
1940 | /* |
| 2570 | 1941 | while (gtk_events_pending()) |
| 1942 | gtk_main_iteration(); | |
|
2621
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
1943 | */ |
| 2570 | 1944 | |
| 6431 | 1945 | while (fgets(buf, BUF_LONG, fp) && !strstr(buf, "---- New C")) { |
| 2570 | 1946 | i++; |
| 1947 | if (strlen(buf) >= 5 && (!strncmp(buf + strlen(buf) - 5, "<BR>\n", 5))) | |
| 1948 | /* take off the \n */ | |
| 1949 | buf[strlen(buf) - 1] = '\0'; | |
| 1950 | ||
|
2642
4f404f93e015
[gaim-migrate @ 2655]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2623
diff
changeset
|
1951 | /* don't lose the thirtieth line of conversation. thanks FeRD */ |
|
4f404f93e015
[gaim-migrate @ 2655]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2623
diff
changeset
|
1952 | g_string_append(string, buf); |
|
4f404f93e015
[gaim-migrate @ 2655]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2623
diff
changeset
|
1953 | |
| 2570 | 1954 | if (i == 30) { |
|
6982
12f08de92674
[gaim-migrate @ 7538]
Mark Doliner <markdoliner@pidgin.im>
parents:
6885
diff
changeset
|
1955 | gtk_imhtml_append_text(GTK_IMHTML(view->layout), string->str, view->options); |
| 2570 | 1956 | g_string_free(string, TRUE); |
| 1957 | string = g_string_new(""); | |
|
2621
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
1958 | /* you can't have these anymore. if someone clicks on another item while one is |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
1959 | * drawing, it will try to move to that item, and that causes problems here. |
| 2570 | 1960 | while (gtk_events_pending()) |
| 1961 | gtk_main_iteration(); | |
|
2621
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
1962 | */ |
| 2570 | 1963 | i = 0; |
| 1964 | } | |
| 1965 | ||
| 1966 | } | |
|
6982
12f08de92674
[gaim-migrate @ 7538]
Mark Doliner <markdoliner@pidgin.im>
parents:
6885
diff
changeset
|
1967 | gtk_imhtml_append_text(GTK_IMHTML(view->layout), string->str, view->options); |
|
12f08de92674
[gaim-migrate @ 7538]
Mark Doliner <markdoliner@pidgin.im>
parents:
6885
diff
changeset
|
1968 | gtk_imhtml_append_text(GTK_IMHTML(view->layout), "<BR>", view->options); |
|
2621
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
1969 | |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
1970 | gtk_widget_set_sensitive(view->bbox, TRUE); |
| 4635 | 1971 | g_signal_handler_disconnect(G_OBJECT(view->window), block); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1972 | g_signal_connect(G_OBJECT(view->window), "delete_event", |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1973 | G_CALLBACK(destroy_dialog), view->window); |
| 2570 | 1974 | g_string_free(string, TRUE); |
| 1975 | fclose(fp); | |
| 1976 | } | |
| 1977 | ||
| 4635 | 1978 | static void log_select_convo(GtkTreeSelection *sel, GtkTreeModel *model) |
| 1979 | { | |
| 1980 | GValue val = { 0, }; | |
| 1981 | GtkTreeIter iter; | |
| 1982 | ||
| 1983 | if(!gtk_tree_selection_get_selected(sel, &model, &iter)) | |
| 1984 | return; | |
| 1985 | gtk_tree_model_get_value(model, &iter, 1, &val); | |
| 1986 | log_show_convo(g_value_get_pointer(&val)); | |
| 1987 | } | |
| 1988 | ||
|
2621
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
1989 | static void des_view_item(GtkObject *obj, struct view_log *view) |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
1990 | { |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
1991 | if (view->name) |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
1992 | g_free(view->name); |
|
7330
d9180de05551
[gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents:
7261
diff
changeset
|
1993 | if (view->clear_handle) |
|
d9180de05551
[gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents:
7261
diff
changeset
|
1994 | gaim_request_close(GAIM_REQUEST_ACTION, view->clear_handle); |
|
2621
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
1995 | g_free(view); |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
1996 | } |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
1997 | |
| 4635 | 1998 | static void des_log_win(GObject *win, gpointer data) |
|
2623
a858d1de20b9
[gaim-migrate @ 2636]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2621
diff
changeset
|
1999 | { |
| 4635 | 2000 | char *x = g_object_get_data(win, "log_window"); |
|
2623
a858d1de20b9
[gaim-migrate @ 2636]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2621
diff
changeset
|
2001 | if (x) |
|
a858d1de20b9
[gaim-migrate @ 2636]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2621
diff
changeset
|
2002 | g_free(x); |
| 4874 | 2003 | x = g_object_get_data(win, "name"); |
| 2004 | if (x) | |
| 2005 | g_free(x); | |
|
2623
a858d1de20b9
[gaim-migrate @ 2636]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2621
diff
changeset
|
2006 | } |
|
a858d1de20b9
[gaim-migrate @ 2636]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2621
diff
changeset
|
2007 | |
| 3532 | 2008 | |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
2009 | static void |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
2010 | url_clicked_cb(GtkWidget *widget, const char *uri) |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
2011 | { |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
2012 | gaim_notify_uri(NULL, uri); |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
2013 | } |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
2014 | |
|
2623
a858d1de20b9
[gaim-migrate @ 2636]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2621
diff
changeset
|
2015 | void show_log(char *nm) |
| 2570 | 2016 | { |
| 2017 | gchar filename[256]; | |
| 2018 | gchar buf[BUF_LONG]; | |
| 2019 | FILE *fp; | |
| 2020 | GtkWidget *window; | |
| 2021 | GtkWidget *box; | |
| 2022 | GtkWidget *hbox; | |
| 2602 | 2023 | GtkWidget *bbox; |
| 2570 | 2024 | GtkWidget *sw; |
| 2025 | GtkWidget *layout; | |
| 2026 | GtkWidget *close_button; | |
| 2027 | GtkWidget *clear_button; | |
| 2028 | GtkWidget *save_button; | |
| 4635 | 2029 | GtkListStore *list_store; |
| 2030 | GtkWidget *tree_view; | |
| 2031 | GtkTreeSelection *sel = NULL; | |
| 2032 | GtkTreePath *path; | |
| 2612 | 2033 | GtkWidget *item = NULL; |
| 2034 | GtkWidget *last = NULL; | |
| 2570 | 2035 | GtkWidget *frame; |
|
7330
d9180de05551
[gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents:
7261
diff
changeset
|
2036 | struct view_log *view = NULL; |
|
2623
a858d1de20b9
[gaim-migrate @ 2636]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2621
diff
changeset
|
2037 | char *name = nm ? g_strdup(nm) : NULL; |
| 2570 | 2038 | |
| 2039 | int options; | |
| 2040 | guint block; | |
| 2041 | char convo_start[32]; | |
| 2042 | long offset = 0; | |
| 2043 | ||
|
1477
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
2044 | options = GTK_IMHTML_NO_COMMENTS | GTK_IMHTML_NO_TITLE | GTK_IMHTML_NO_SCROLL; |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2045 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2046 | if (gaim_prefs_get_bool("/gaim/gtk/conversations/ignore_colors")) |
|
1477
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
2047 | options ^= GTK_IMHTML_NO_COLOURS; |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2048 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2049 | if (gaim_prefs_get_bool("/gaim/gtk/conversations/ignore_fonts")) |
|
1477
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
2050 | options ^= GTK_IMHTML_NO_FONTS; |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2051 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
2052 | if (gaim_prefs_get_bool("/gaim/gtk/conversations/ignore_font_sizes")) |
|
1477
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
2053 | options ^= GTK_IMHTML_NO_SIZES; |
|
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
2054 | |
|
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
2055 | window = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
| 4635 | 2056 | g_object_set_data(G_OBJECT(window), "name", name); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2057 | g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(des_log_win), NULL); |
|
4074
c69100a0ede9
[gaim-migrate @ 4289]
Robert McQueen <robot101@debian.org>
parents:
4061
diff
changeset
|
2058 | gtk_window_set_role(GTK_WINDOW(window), "log"); |
|
1648
f33239360f10
[gaim-migrate @ 1658]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1634
diff
changeset
|
2059 | if (name) |
| 4703 | 2060 | g_snprintf(buf, BUF_LONG, _("Conversations with %s"), name); |
|
1648
f33239360f10
[gaim-migrate @ 1658]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1634
diff
changeset
|
2061 | else |
| 4703 | 2062 | g_snprintf(buf, BUF_LONG, _("System Log")); |
|
1477
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
2063 | gtk_window_set_title(GTK_WINDOW(window), buf); |
|
1488
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
2064 | gtk_container_set_border_width(GTK_CONTAINER(window), 10); |
| 4635 | 2065 | gtk_window_set_resizable(GTK_WINDOW(window), TRUE); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2066 | block = g_signal_connect(G_OBJECT(window), "delete_event", |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2067 | G_CALLBACK(dont_destroy), window); |
|
1477
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
2068 | gtk_widget_realize(window); |
|
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
2069 | |
| 2570 | 2070 | layout = gtk_imhtml_new(NULL, NULL); |
| 2602 | 2071 | bbox = gtk_hbox_new(FALSE, 0); |
| 2072 | ||
|
1488
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
2073 | box = gtk_vbox_new(FALSE, 5); |
|
1477
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
2074 | gtk_container_add(GTK_CONTAINER(window), box); |
|
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
2075 | |
| 2570 | 2076 | hbox = gtk_hbox_new(FALSE, 5); |
| 2077 | gtk_box_pack_start(GTK_BOX(box), hbox, TRUE, TRUE, 0); | |
| 2078 | ||
| 2079 | if (name) { | |
| 2080 | char *tmp = gaim_user_dir(); | |
| 7261 | 2081 | g_snprintf(filename, 256, "%s" G_DIR_SEPARATOR_S "logs" G_DIR_SEPARATOR_S "%s.log", tmp, gaim_normalize(NULL, name)); |
| 2570 | 2082 | if ((fp = fopen(filename, "r")) == NULL) { |
|
6623
75ba9eb9d3f8
[gaim-migrate @ 7147]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
6465
diff
changeset
|
2083 | g_snprintf(buf, BUF_LONG, _("Couldn't open log file %s."), filename); |
|
5436
a0e0bacaa196
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
2084 | gaim_notify_error(NULL, NULL, buf, strerror(errno)); |
| 2570 | 2085 | return; |
| 2086 | } | |
| 2087 | ||
| 4635 | 2088 | list_store = gtk_list_store_new(2, |
| 2089 | G_TYPE_STRING, | |
| 2090 | G_TYPE_POINTER); | |
| 2091 | ||
| 2092 | tree_view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(list_store)); | |
| 2093 | ||
| 2094 | gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(tree_view), FALSE); | |
| 2095 | ||
| 2096 | gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(tree_view), | |
| 2097 | -1, "", gtk_cell_renderer_text_new(), "text", 0, NULL); | |
| 2098 | ||
| 2099 | sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_view)); | |
| 2100 | g_signal_connect(G_OBJECT(sel), "changed", | |
| 2101 | G_CALLBACK(log_select_convo), | |
| 2102 | NULL); | |
| 2570 | 2103 | |
| 2104 | frame = gtk_frame_new(_("Date")); | |
| 2105 | gtk_widget_show(frame); | |
| 2106 | ||
| 2107 | sw = gtk_scrolled_window_new(NULL, NULL); | |
| 2108 | gtk_container_set_border_width(GTK_CONTAINER(sw), 5); | |
| 4635 | 2109 | gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), tree_view); |
|
2613
0a766cd74603
[gaim-migrate @ 2626]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2612
diff
changeset
|
2110 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), |
|
0a766cd74603
[gaim-migrate @ 2626]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2612
diff
changeset
|
2111 | GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); |
| 4635 | 2112 | gtk_widget_set_size_request(sw, 220, 220); |
| 2570 | 2113 | gtk_container_add(GTK_CONTAINER(frame), sw); |
| 2114 | gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0); | |
| 2115 | ||
| 2116 | while (fgets(buf, BUF_LONG, fp)) { | |
| 6431 | 2117 | if (strstr(buf, "---- New C")) { |
| 2570 | 2118 | int length; |
| 2119 | char *temp = strchr(buf, '@'); | |
| 4635 | 2120 | GtkTreeIter iter; |
| 2612 | 2121 | |
| 2570 | 2122 | if (temp == NULL || strlen(temp) < 2) |
| 2123 | continue; | |
| 2612 | 2124 | |
| 2570 | 2125 | temp++; |
| 2126 | length = strcspn(temp, "-"); | |
| 2127 | if (length > 31) length = 31; | |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
2128 | |
| 2570 | 2129 | offset = ftell(fp); |
| 2130 | g_snprintf(convo_start, length, "%s", temp); | |
| 4635 | 2131 | gtk_list_store_append(list_store, &iter); |
|
2621
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
2132 | view = g_new0(struct view_log, 1); |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
2133 | view->options = options; |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
2134 | view->offset = offset; |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
2135 | view->name = g_strdup(name); |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
2136 | view->bbox = bbox; |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
2137 | view->window = window; |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
2138 | view->layout = layout; |
| 4635 | 2139 | gtk_list_store_set(list_store, &iter, |
| 2140 | 0, convo_start, | |
| 2141 | 1, view, | |
| 2142 | -1); | |
| 2143 | g_signal_connect(G_OBJECT(window), "destroy", | |
|
4162
7aca7e45e675
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
2144 | G_CALLBACK(des_view_item), view); |
| 2612 | 2145 | last = item; |
| 2570 | 2146 | } |
| 2147 | } | |
| 2148 | fclose(fp); | |
| 4635 | 2149 | |
| 2150 | path = gtk_tree_path_new_first(); | |
| 2151 | gtk_tree_selection_select_path(sel, path); | |
| 2152 | gtk_tree_path_free(path); | |
| 2153 | ||
| 2154 | g_object_unref(G_OBJECT(list_store)); | |
| 2612 | 2155 | } |
| 2156 | ||
| 4635 | 2157 | |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2158 | g_signal_handler_disconnect(G_OBJECT(window), block); |
|
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2159 | g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(destroy_dialog), window); |
| 2602 | 2160 | |
| 5400 | 2161 | frame = gtk_frame_new(_("Log")); |
| 2570 | 2162 | gtk_widget_show(frame); |
| 2163 | ||
|
1477
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
2164 | sw = gtk_scrolled_window_new(NULL, NULL); |
| 2570 | 2165 | gtk_container_set_border_width(GTK_CONTAINER(sw), 5); |
|
1477
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
2166 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); |
|
4333
f4c095774bc2
[gaim-migrate @ 4597]
Mark Doliner <markdoliner@pidgin.im>
parents:
4316
diff
changeset
|
2167 | gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN); |
| 4635 | 2168 | gtk_widget_set_size_request(sw, 390, 220); |
| 2570 | 2169 | gtk_container_add(GTK_CONTAINER(frame), sw); |
| 2170 | gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0); | |
| 2171 | ||
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
2172 | g_signal_connect(G_OBJECT(layout), "url_clicked", |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
2173 | G_CALLBACK(url_clicked_cb), NULL); |
|
1477
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
2174 | gtk_container_add(GTK_CONTAINER(sw), layout); |
|
1815
e2b090284b19
[gaim-migrate @ 1825]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1805
diff
changeset
|
2175 | gaim_setup_imhtml(layout); |
|
1477
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
2176 | |
| 2602 | 2177 | gtk_box_pack_start(GTK_BOX(box), bbox, FALSE, FALSE, 0); |
| 2178 | gtk_widget_set_sensitive(bbox, FALSE); | |
|
1488
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
2179 | |
|
5024
3b5412e4b483
[gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents:
4978
diff
changeset
|
2180 | close_button = gaim_pixbuf_button_from_stock(_("Close"), GTK_STOCK_CLOSE, GAIM_BUTTON_HORIZONTAL); |
| 2602 | 2181 | gtk_box_pack_end(GTK_BOX(bbox), close_button, FALSE, FALSE, 5); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2182 | g_signal_connect(G_OBJECT(close_button), "clicked", G_CALLBACK(destroy_dialog), window); |
|
1488
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
2183 | |
|
5024
3b5412e4b483
[gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents:
4978
diff
changeset
|
2184 | clear_button = gaim_pixbuf_button_from_stock(_("Clear"), GTK_STOCK_CLEAR, GAIM_BUTTON_HORIZONTAL); |
| 4635 | 2185 | g_object_set_data(G_OBJECT(clear_button), "log_window", window); |
| 2602 | 2186 | gtk_box_pack_end(GTK_BOX(bbox), clear_button, FALSE, FALSE, 5); |
|
7330
d9180de05551
[gaim-migrate @ 7918]
Mark Doliner <markdoliner@pidgin.im>
parents:
7261
diff
changeset
|
2187 | g_signal_connect(G_OBJECT(clear_button), "clicked", G_CALLBACK(show_clear_log), view); |
|
1488
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
2188 | |
|
5024
3b5412e4b483
[gaim-migrate @ 5361]
Robert McQueen <robot101@debian.org>
parents:
4978
diff
changeset
|
2189 | save_button = gaim_pixbuf_button_from_stock(_("Save"), GTK_STOCK_SAVE, GAIM_BUTTON_HORIZONTAL); |
| 2602 | 2190 | gtk_box_pack_end(GTK_BOX(bbox), save_button, FALSE, FALSE, 5); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2191 | g_signal_connect(G_OBJECT(save_button), "clicked", G_CALLBACK(show_save_log), name); |
|
1488
15bf9fc09151
[gaim-migrate @ 1498]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1484
diff
changeset
|
2192 | |
| 4635 | 2193 | gtk_widget_show_all(window); |
| 2194 | ||
| 2570 | 2195 | if (!name) { |
|
2621
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
2196 | view = g_new0(struct view_log, 1); |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
2197 | view->options = options; |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
2198 | view->name = NULL; |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
2199 | view->bbox = bbox; |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
2200 | view->window = window; |
|
218962c8389e
[gaim-migrate @ 2634]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2613
diff
changeset
|
2201 | view->layout = layout; |
| 4635 | 2202 | log_show_convo(view); |
|
5314
56ef6a09fb99
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
2203 | g_signal_connect(G_OBJECT(layout), "destroy", G_CALLBACK(des_view_item), view); |
|
1477
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
2204 | } |
| 4635 | 2205 | |
| 2602 | 2206 | gtk_widget_set_sensitive(bbox, TRUE); |
|
1477
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
2207 | |
|
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
2208 | return; |
|
0621949186cb
[gaim-migrate @ 1487]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
2209 | } |
| 1729 | 2210 |