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