Mercurial > pidgin
annotate src/dialogs.c @ 8092:697221d5d0ff
[gaim-migrate @ 8791]
Give a nice little warning if you add an AIM or ICQ buddy with an invalid
name. I'm thinking some of those bug reports on SF about "Could not add
buddy with no name" are caused by this. Hopefully. Sometime before the
next release I'll probably actually remove invalid people from the local
list.
Also recognize the WinAIM Video and Camera caps.
committer: Tailor Script <tailor@pidgin.im>
| author | Mark Doliner <mark@kingant.net> |
|---|---|
| date | Tue, 13 Jan 2004 05:44:37 +0000 |
| parents | ea073d234191 |
| children | 4971193f761d |
| rev | line source |
|---|---|
| 1 | 1 /* |
| 2 * gaim | |
| 3 * | |
| 8046 | 4 * Gaim is the legal property of its developers, whose names are too numerous |
| 5 * to list here. Please refer to the COPYRIGHT file distributed with this | |
| 6 * source distribution. | |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
7 * |
| 1 | 8 * This program is free software; you can redistribute it and/or modify |
| 9 * it under the terms of the GNU General Public License as published by | |
| 10 * the Free Software Foundation; either version 2 of the License, or | |
| 11 * (at your option) any later version. | |
| 12 * | |
| 13 * This program is distributed in the hope that it will be useful, | |
| 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 16 * GNU General Public License for more details. | |
| 17 * | |
| 18 * You should have received a copy of the GNU General Public License | |
| 19 * along with this program; if not, write to the Free Software | |
| 20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 21 */ | |
|
6371
8f94cce8faa5
[gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents:
6352
diff
changeset
|
22 #include "gtkinternal.h" |
|
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
23 |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
24 #include "debug.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
25 #include "log.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
26 #include "multi.h" |
|
5436
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
27 #include "notify.h" |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
28 #include "prefs.h" |
|
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
29 #include "prpl.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
30 #include "request.h" |
| 6065 | 31 #include "status.h" |
|
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
32 #include "util.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
33 |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
34 #include "gtkblist.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
35 #include "gtkconv.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
36 #include "gtkimhtml.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
37 #include "gtkprefs.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
38 #include "gtkutils.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
39 #include "stock.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
40 |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
41 #include "ui.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
42 |
|
6646
b89d98f0bf79
[gaim-migrate @ 7171]
Christian Hammond <chipx86@chipx86.com>
parents:
6640
diff
changeset
|
43 /* XXX */ |
|
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
44 #include "gaim.h" |
|
1035
80a47e3b1bca
[gaim-migrate @ 1045]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
45 |
| 1 | 46 static GList *dialogwindows = NULL; |
|
5560
b7319c094153
[gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents:
5551
diff
changeset
|
47 static GtkWidget *fontseld = NULL; |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
48 |
| 2743 | 49 struct confirm_del { |
| 50 GtkWidget *window; | |
| 51 GtkWidget *label; | |
| 52 GtkWidget *ok; | |
| 53 GtkWidget *cancel; | |
| 54 char name[1024]; | |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
55 GaimConnection *gc; |
| 2743 | 56 }; |
| 57 | |
| 1 | 58 struct create_away { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
59 GtkWidget *window; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
60 GtkWidget *entry; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
61 GtkWidget *text; |
|
832
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
62 struct away_message *mess; |
| 1 | 63 }; |
| 64 | |
| 65 struct warning { | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
66 GtkWidget *window; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
67 GtkWidget *anon; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
68 char *who; |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
69 GaimConnection *gc; |
| 1 | 70 }; |
| 71 | |
| 3197 | 72 struct getuserinfo { |
| 73 GtkWidget *window; | |
| 74 GtkWidget *entry; | |
| 75 GtkWidget *account; | |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
76 GaimConnection *gc; |
| 3197 | 77 }; |
| 78 | |
| 1 | 79 struct linkdlg { |
| 80 GtkWidget *ok; | |
| 81 GtkWidget *cancel; | |
| 82 GtkWidget *window; | |
| 83 GtkWidget *url; | |
| 84 GtkWidget *text; | |
| 85 GtkWidget *entry; | |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
86 GaimConversation *c; |
| 1 | 87 }; |
| 88 | |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
89 struct view_log { |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
90 long offset; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
91 int options; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
92 char *name; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
93 GtkWidget *bbox; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
94 GtkWidget *window; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
95 GtkWidget *layout; |
| 7330 | 96 void *clear_handle; |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
97 }; |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
98 |
| 4119 | 99 /* Wrapper to get all the text from a GtkTextView */ |
| 100 gchar* gtk_text_view_get_text(GtkTextView *text, gboolean include_hidden_chars) | |
| 101 { | |
| 102 GtkTextBuffer *buffer; | |
| 103 GtkTextIter start, end; | |
| 104 | |
| 105 buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)); | |
| 106 gtk_text_buffer_get_start_iter(buffer, &start); | |
| 107 gtk_text_buffer_get_end_iter(buffer, &end); | |
| 108 | |
| 109 return gtk_text_buffer_get_text(buffer, &start, &end, include_hidden_chars); | |
| 110 } | |
| 111 | |
| 1 | 112 /*------------------------------------------------------------------------*/ |
| 113 /* Destroys */ | |
| 114 /*------------------------------------------------------------------------*/ | |
| 115 | |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
116 static gint delete_event_dialog(GtkWidget *w, GdkEventAny *e, GaimConversation *c) |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
117 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
118 GaimGtkConversation *gtkconv; |
| 605 | 119 gchar *object_data; |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
120 |
| 4635 | 121 object_data = g_object_get_data(G_OBJECT(w), "dialog_type"); |
| 605 | 122 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
123 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
124 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
125 if (GTK_IS_COLOR_SELECTION_DIALOG(w)) { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
126 if (w == gtkconv->dialogs.fg_color) { |
| 4635 | 127 gtk_toggle_button_set_active( |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
128 GTK_TOGGLE_BUTTON(gtkconv->toolbar.fgcolor), FALSE); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
129 gtkconv->dialogs.fg_color = NULL; |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
130 } else { |
| 4635 | 131 gtk_toggle_button_set_active( |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
132 GTK_TOGGLE_BUTTON(gtkconv->toolbar.bgcolor), FALSE); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
133 gtkconv->dialogs.bg_color = NULL; |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
134 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
135 } else if (GTK_IS_FONT_SELECTION_DIALOG(w)) { |
| 4635 | 136 gtk_toggle_button_set_active( |
| 4685 | 137 GTK_TOGGLE_BUTTON(gtkconv->toolbar.font), FALSE); |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
138 gtkconv->dialogs.font = NULL; |
| 4793 | 139 } else if (!g_ascii_strcasecmp(object_data, "smiley dialog")) { |
| 4635 | 140 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.smiley), |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
141 FALSE); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
142 gtkconv->dialogs.smiley = NULL; |
| 4793 | 143 } else if (!g_ascii_strcasecmp(object_data, "log dialog")) { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
144 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtkconv->toolbar.log), |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
145 FALSE); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
146 gtkconv->dialogs.log = NULL; |
| 608 | 147 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
148 |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
149 dialogwindows = g_list_remove(dialogwindows, w); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
150 gtk_widget_destroy(w); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
151 |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
152 return FALSE; |
|
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
153 } |
| 1 | 154 |
| 155 static void destroy_dialog(GtkWidget *w, GtkWidget *w2) | |
| 156 { | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
157 GtkWidget *dest; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
158 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
159 if (!GTK_IS_WIDGET(w2)) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
160 dest = w; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
161 else |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
162 dest = w2; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
163 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
164 dialogwindows = g_list_remove(dialogwindows, dest); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
165 gtk_widget_destroy(dest); |
| 1 | 166 } |
| 167 | |
| 168 | |
| 169 void destroy_all_dialogs() | |
| 170 { | |
|
2621
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
171 while (dialogwindows) |
|
f8b02cf4af94
[gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
172 destroy_dialog(NULL, dialogwindows->data); |
| 1 | 173 |
|
391
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
350
diff
changeset
|
174 if (awaymessage) |
|
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
350
diff
changeset
|
175 do_im_back(NULL, NULL); |
| 1 | 176 } |
| 177 | |
| 3757 | 178 static void do_warn(GtkWidget *widget, gint resp, struct warning *w) |
| 1 | 179 { |
| 3757 | 180 if (resp == GTK_RESPONSE_OK) |
| 181 serv_warn(w->gc, w->who, (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w->anon))) ? 1 : 0); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
182 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
183 destroy_dialog(NULL, w->window); |
| 7879 | 184 g_free(w->who); |
|
1288
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
185 g_free(w); |
|
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
186 } |
| 1 | 187 |
| 7879 | 188 void show_warn_dialog(GaimConnection *gc, const char *who) |
| 1 | 189 { |
| 3757 | 190 char *labeltext; |
| 191 GtkWidget *hbox, *vbox; | |
| 1 | 192 GtkWidget *label; |
| 5024 | 193 GtkWidget *img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_DIALOG); |
|
6640
314111e7b601
[gaim-migrate @ 7165]
Christian Hammond <chipx86@chipx86.com>
parents:
6623
diff
changeset
|
194 GaimConversation *c = gaim_find_conversation_with_account(who, gc->account); |
| 441 | 195 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
196 struct warning *w = g_new0(struct warning, 1); |
| 7879 | 197 w->who = g_strdup(who); |
|
1288
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
198 w->gc = gc; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
199 |
| 3757 | 200 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); |
| 201 | |
| 6112 | 202 w->window = gtk_dialog_new_with_buttons(_("Warn User"), |
| 203 GTK_WINDOW(GAIM_GTK_WINDOW(c->window)->window), 0, | |
| 204 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, | |
| 205 _("_Warn"), GTK_RESPONSE_OK, NULL); | |
| 4118 | 206 gtk_dialog_set_default_response (GTK_DIALOG(w->window), GTK_RESPONSE_OK); |
| 3757 | 207 g_signal_connect(G_OBJECT(w->window), "response", G_CALLBACK(do_warn), w); |
| 208 | |
| 209 gtk_container_set_border_width (GTK_CONTAINER(w->window), 6); | |
| 210 gtk_window_set_resizable(GTK_WINDOW(w->window), FALSE); | |
| 211 gtk_dialog_set_has_separator(GTK_DIALOG(w->window), FALSE); | |
| 212 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(w->window)->vbox), 12); | |
| 213 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(w->window)->vbox), 6); | |
| 214 | |
| 215 hbox = gtk_hbox_new(FALSE, 12); | |
| 216 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(w->window)->vbox), hbox); | |
| 217 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
218 |
| 3757 | 219 vbox = gtk_vbox_new(FALSE, 0); |
| 220 gtk_container_add(GTK_CONTAINER(hbox), vbox); | |
| 221 labeltext = g_strdup_printf(_("<span weight=\"bold\" size=\"larger\">Warn %s?</span>\n\n" | |
| 222 "This will increase %s's warning level and he or she will be subject to harsher rate limiting.\n"), who, who); | |
| 223 label = gtk_label_new(NULL); | |
| 224 gtk_label_set_markup(GTK_LABEL(label), labeltext); | |
| 225 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | |
| 226 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 227 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); | |
| 228 g_free(labeltext); | |
| 229 | |
| 230 w->anon = gtk_check_button_new_with_mnemonic(_("Warn _anonymously?")); | |
| 231 gtk_box_pack_start(GTK_BOX(vbox), w->anon, FALSE, FALSE, 0); | |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
232 |
| 3757 | 233 hbox = gtk_hbox_new(FALSE, 6); |
| 234 gtk_container_add(GTK_CONTAINER(vbox), hbox); | |
| 235 img = gtk_image_new_from_stock(GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_MENU); | |
| 236 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
| 237 labeltext = _("<b>Anonymous warnings are less severe.</b>"); | |
| 238 label = gtk_label_new(NULL); | |
| 239 gtk_label_set_markup(GTK_LABEL(label), labeltext); | |
| 240 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | |
| 241 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 242 | |
|
1288
d8eaf65ca9c3
[gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1272
diff
changeset
|
243 dialogwindows = g_list_prepend(dialogwindows, w->window); |
| 3757 | 244 gtk_widget_show_all(w->window); |
| 1 | 245 } |
| 246 | |
|
6334
930708df05dd
[gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents:
6331
diff
changeset
|
247 static void |
|
7118
bf630f7dfdcd
[gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents:
7108
diff
changeset
|
248 do_remove_chat(GaimChat *chat) |
| 5234 | 249 { |
| 250 gaim_blist_remove_chat(chat); | |
| 251 gaim_blist_save(); | |
| 252 } | |
| 253 | |
|
6334
930708df05dd
[gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents:
6331
diff
changeset
|
254 static void |
| 6695 | 255 do_remove_buddy(GaimBuddy *b) |
| 2743 | 256 { |
| 6695 | 257 GaimGroup *g; |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
258 GaimConversation *c; |
|
4918
553d96cb9b26
[gaim-migrate @ 5252]
Christian Hammond <chipx86@chipx86.com>
parents:
4916
diff
changeset
|
259 gchar *name; |
|
6640
314111e7b601
[gaim-migrate @ 7165]
Christian Hammond <chipx86@chipx86.com>
parents:
6623
diff
changeset
|
260 GaimAccount *account; |
| 2743 | 261 |
| 262 if (!b) | |
| 263 return; | |
| 264 | |
| 4687 | 265 g = gaim_find_buddys_group(b); |
|
6640
314111e7b601
[gaim-migrate @ 7165]
Christian Hammond <chipx86@chipx86.com>
parents:
6623
diff
changeset
|
266 name = g_strdup(b->name); /* b->name is a crasher after remove_buddy */ |
|
314111e7b601
[gaim-migrate @ 7165]
Christian Hammond <chipx86@chipx86.com>
parents:
6623
diff
changeset
|
267 account = b->account; |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
268 |
|
5213
1cf4eb75e3ee
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
269 gaim_debug(GAIM_DEBUG_INFO, "blist", |
|
1cf4eb75e3ee
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
270 "Removing '%s' from buddy list.\n", b->name); |
| 4491 | 271 serv_remove_buddy(b->account->gc, name, g->name); |
| 4687 | 272 gaim_blist_remove_buddy(b); |
| 4349 | 273 gaim_blist_save(); |
| 2743 | 274 |
|
6640
314111e7b601
[gaim-migrate @ 7165]
Christian Hammond <chipx86@chipx86.com>
parents:
6623
diff
changeset
|
275 c = gaim_find_conversation_with_account(name, account); |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
276 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
277 if (c != NULL) |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
278 gaim_conversation_update(c, GAIM_CONV_UPDATE_REMOVE); |
|
4397
ce3a0eba91ef
[gaim-migrate @ 4666]
Christian Hammond <chipx86@chipx86.com>
parents:
4372
diff
changeset
|
279 |
|
ce3a0eba91ef
[gaim-migrate @ 4666]
Christian Hammond <chipx86@chipx86.com>
parents:
4372
diff
changeset
|
280 g_free(name); |
| 2743 | 281 } |
| 282 | |
| 6742 | 283 static void do_remove_contact(GaimContact *c) |
| 284 { | |
| 285 GaimBlistNode *bnode, *cnode; | |
| 286 GaimGroup *g; | |
| 287 | |
| 288 if(!c) | |
| 289 return; | |
| 290 | |
| 291 cnode = (GaimBlistNode *)c; | |
| 292 g = (GaimGroup*)cnode->parent; | |
| 293 for(bnode = cnode->child; bnode; bnode = bnode->next) { | |
| 294 GaimBuddy *b = (GaimBuddy*)bnode; | |
| 295 if(b->account->gc) | |
| 296 serv_remove_buddy(b->account->gc, b->name, g->name); | |
| 297 } | |
| 298 gaim_blist_remove_contact(c); | |
| 299 } | |
| 300 | |
| 6695 | 301 void do_remove_group(GaimGroup *g) |
| 4916 | 302 { |
| 6695 | 303 GaimBlistNode *cnode, *bnode; |
|
6885
66dd420d3d23
[gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents:
6878
diff
changeset
|
304 |
| 6695 | 305 cnode = ((GaimBlistNode*)g)->child; |
|
6885
66dd420d3d23
[gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents:
6878
diff
changeset
|
306 |
| 6695 | 307 while(cnode) { |
| 308 if(GAIM_BLIST_NODE_IS_CONTACT(cnode)) { | |
| 309 bnode = cnode->child; | |
| 310 cnode = cnode->next; | |
| 311 while(bnode) { | |
| 312 GaimBuddy *b; | |
| 313 if(GAIM_BLIST_NODE_IS_BUDDY(bnode)) { | |
|
6745
57a24492434b
[gaim-migrate @ 7277]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6742
diff
changeset
|
314 GaimConversation *c; |
|
57a24492434b
[gaim-migrate @ 7277]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6742
diff
changeset
|
315 b = (GaimBuddy*)bnode; |
| 6695 | 316 bnode = bnode->next; |
|
6745
57a24492434b
[gaim-migrate @ 7277]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6742
diff
changeset
|
317 c = gaim_find_conversation_with_account(b->name, b->account); |
| 6695 | 318 if(gaim_account_is_connected(b->account)) { |
| 319 serv_remove_buddy(b->account->gc, b->name, g->name); | |
| 320 gaim_blist_remove_buddy(b); | |
| 321 if(c) | |
| 322 gaim_conversation_update(c, | |
| 323 GAIM_CONV_UPDATE_REMOVE); | |
| 324 } | |
| 325 } else { | |
| 326 bnode = bnode->next; | |
| 327 } | |
| 5234 | 328 } |
| 6695 | 329 } else if(GAIM_BLIST_NODE_IS_CHAT(cnode)) { |
|
7118
bf630f7dfdcd
[gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents:
7108
diff
changeset
|
330 GaimChat *chat = (GaimChat *)cnode; |
| 6695 | 331 cnode = cnode->next; |
| 332 if(gaim_account_is_connected(chat->account)) | |
| 6088 | 333 gaim_blist_remove_chat(chat); |
| 6695 | 334 } else { |
| 335 cnode = cnode->next; | |
| 4938 | 336 } |
| 4916 | 337 } |
|
6885
66dd420d3d23
[gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents:
6878
diff
changeset
|
338 |
| 4916 | 339 gaim_blist_remove_group(g); |
| 340 gaim_blist_save(); | |
| 341 } | |
| 342 | |
| 6695 | 343 void show_confirm_del(GaimBuddy *b) |
| 2743 | 344 { |
| 3753 | 345 char *text; |
| 5975 | 346 if (!b) |
| 3753 | 347 return; |
| 348 | |
| 5975 | 349 text = g_strdup_printf(_("You are about to remove %s from your buddy list. Do you want to continue?"), b->name); |
| 350 | |
| 351 gaim_request_action(NULL, NULL, _("Remove Buddy"), text, -1, b, 2, | |
|
5498
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
352 _("Remove Buddy"), G_CALLBACK(do_remove_buddy), |
|
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
353 _("Cancel"), NULL); |
|
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
354 |
| 3753 | 355 g_free(text); |
| 2743 | 356 } |
| 357 | |
|
7118
bf630f7dfdcd
[gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents:
7108
diff
changeset
|
358 void show_confirm_del_blist_chat(GaimChat *chat) |
| 5234 | 359 { |
| 7125 | 360 char *name = gaim_chat_get_display_name(chat); |
| 6034 | 361 char *text = g_strdup_printf(_("You are about to remove the chat %s from your buddy list. Do you want to continue?"), name); |
|
5498
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
362 |
|
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
363 gaim_request_action(NULL, NULL, _("Remove Chat"), text, -1, chat, 2, |
|
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
364 _("Remove Chat"), G_CALLBACK(do_remove_chat), |
|
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
365 _("Cancel"), NULL); |
|
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
366 |
| 6034 | 367 g_free(name); |
| 5234 | 368 g_free(text); |
| 369 } | |
| 370 | |
| 6695 | 371 void show_confirm_del_group(GaimGroup *g) |
| 4916 | 372 { |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
373 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 | 374 g->name); |
|
5498
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
375 |
|
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
376 gaim_request_action(NULL, NULL, _("Remove Group"), text, -1, g, 2, |
|
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
377 _("Remove Group"), G_CALLBACK(do_remove_group), |
|
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
378 _("Cancel"), NULL); |
|
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
379 |
| 4916 | 380 g_free(text); |
| 381 } | |
| 1 | 382 |
| 6742 | 383 void show_confirm_del_contact(GaimContact *c) |
| 384 { | |
| 385 GaimBuddy *b = gaim_contact_get_priority_buddy(c); | |
| 386 | |
| 387 if(!b) | |
| 388 return; | |
| 389 | |
| 390 if(((GaimBlistNode*)c)->child == (GaimBlistNode*)b && | |
| 391 !((GaimBlistNode*)b)->next) { | |
| 392 show_confirm_del(b); | |
| 393 } else { | |
| 394 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?"), | |
| 395 b->name, c->totalsize - 1); | |
| 396 | |
| 397 gaim_request_action(NULL, NULL, _("Remove Contact"), text, -1, c, 2, | |
| 398 _("Remove Contact"), G_CALLBACK(do_remove_contact), | |
| 399 _("Cancel"), NULL); | |
| 400 | |
| 401 g_free(text); | |
| 402 } | |
| 403 } | |
| 404 | |
| 7757 | 405 static gboolean show_ee_dialog(const char *ee) |
| 1 | 406 { |
| 3767 | 407 GtkWidget *window; |
| 408 GtkWidget *hbox; | |
| 1 | 409 GtkWidget *label; |
|
7098
770233dad86c
[gaim-migrate @ 7663]
Christian Hammond <chipx86@chipx86.com>
parents:
7085
diff
changeset
|
410 GaimGtkBuddyList *gtkblist; |
| 5024 | 411 GtkWidget *img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_COOL, GTK_ICON_SIZE_DIALOG); |
| 7757 | 412 gchar *norm = gaim_strreplace(ee, "rocksmyworld", ""); |
|
4695
4bdd9a5fd026
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
413 |
|
4bdd9a5fd026
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
414 gtkblist = GAIM_GTK_BLIST(gaim_get_blist()); |
|
4bdd9a5fd026
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
415 |
| 3767 | 416 label = gtk_label_new(NULL); |
| 7757 | 417 if (!strcmp(norm, "zilding")) |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
418 gtk_label_set_markup(GTK_LABEL(label), |
| 3767 | 419 "<span weight=\"bold\" size=\"large\" foreground=\"purple\">Amazing! Simply Amazing!</span>"); |
| 7757 | 420 else if (!strcmp(norm, "robflynn")) |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
421 gtk_label_set_markup(GTK_LABEL(label), |
| 3767 | 422 "<span weight=\"bold\" size=\"large\" foreground=\"#1f6bad\">Pimpin\' Penguin Style! *Waddle Waddle*</span>"); |
| 7757 | 423 else if (!strcmp(norm, "flynorange")) |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
424 gtk_label_set_markup(GTK_LABEL(label), |
| 3767 | 425 "<span weight=\"bold\" size=\"large\" foreground=\"blue\">You should be me. I'm so cute!</span>"); |
| 7757 | 426 else if (!strcmp(norm, "ewarmenhoven")) |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
427 gtk_label_set_markup(GTK_LABEL(label), |
| 3767 | 428 "<span weight=\"bold\" size=\"large\" foreground=\"orange\">Now that's what I like!</span>"); |
| 7757 | 429 else if (!strcmp(norm, "markster97")) |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
430 gtk_label_set_markup(GTK_LABEL(label), |
| 3767 | 431 "<span weight=\"bold\" size=\"large\" foreground=\"brown\">Ahh, and excellent choice!</span>"); |
| 7757 | 432 else if (!strcmp(norm, "seanegn")) |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
433 gtk_label_set_markup(GTK_LABEL(label), |
| 3767 | 434 "<span weight=\"bold\" size=\"large\" foreground=\"#009900\">Everytime you click my name, an angel gets its wings.</span>"); |
| 7757 | 435 else if (!strcmp(norm, "chipx86")) |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
436 gtk_label_set_markup(GTK_LABEL(label), |
| 3767 | 437 "<span weight=\"bold\" size=\"large\" foreground=\"red\">This sunflower seed taste like pizza.</span>"); |
| 7757 | 438 else if (!strcmp(norm, "markdoliner")) |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
439 gtk_label_set_markup(GTK_LABEL(label), |
| 3767 | 440 "<span weight=\"bold\" size=\"large\" foreground=\"#6364B1\">Hey! I was in that tumbleweed!</span>"); |
| 7757 | 441 else if (!strcmp(norm, "lschiere")) |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
442 gtk_label_set_markup(GTK_LABEL(label), |
| 3767 | 443 "<span weight=\"bold\" size=\"large\" foreground=\"gray\">I'm not anything.</span>"); |
| 7757 | 444 g_free(norm); |
| 445 | |
| 446 if (strlen(gtk_label_get_label(GTK_LABEL(label))) <= 0) | |
| 447 return FALSE; | |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
448 |
| 7678 | 449 window = gtk_dialog_new_with_buttons(GAIM_ALERT_TITLE, GTK_WINDOW(gtkblist->window), 0, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); |
| 3767 | 450 gtk_dialog_set_default_response (GTK_DIALOG(window), GTK_RESPONSE_OK); |
| 451 g_signal_connect(G_OBJECT(window), "response", G_CALLBACK(gtk_widget_destroy), NULL); | |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
452 |
| 3767 | 453 gtk_container_set_border_width (GTK_CONTAINER(window), 6); |
| 454 gtk_window_set_resizable(GTK_WINDOW(window), FALSE); | |
| 455 gtk_dialog_set_has_separator(GTK_DIALOG(window), FALSE); | |
| 456 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(window)->vbox), 12); | |
| 457 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(window)->vbox), 6); | |
| 458 | |
| 459 hbox = gtk_hbox_new(FALSE, 12); | |
| 460 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(window)->vbox), hbox); | |
| 461 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
462 |
| 3767 | 463 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); |
| 464 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 465 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 4635 | 466 |
| 3767 | 467 gtk_widget_show_all(window); |
| 7757 | 468 return TRUE; |
| 469 } | |
| 470 | |
| 471 static void do_im(GtkWidget *dialog, int id, struct getuserinfo *info) | |
| 472 { | |
| 473 const char *who; | |
| 474 GaimConversation *conv; | |
| 475 GaimAccount *account; | |
| 476 | |
| 477 switch(id) { | |
| 478 case GTK_RESPONSE_OK: | |
| 479 who = gtk_entry_get_text(GTK_ENTRY(info->entry)); | |
| 480 | |
| 481 if (who && *who) { | |
| 482 account = (info->gc ? info->gc->account : NULL); | |
| 483 | |
| 484 conv = gaim_find_conversation_with_account(who, account); | |
| 485 | |
| 486 if (conv == NULL) | |
| 487 conv = gaim_conversation_new(GAIM_CONV_IM, account, who); | |
| 488 else | |
| 489 gaim_conv_window_raise(gaim_conversation_get_window(conv)); | |
| 490 } | |
| 491 | |
| 492 break; | |
| 493 } | |
| 494 | |
| 495 gtk_widget_destroy(GTK_WIDGET(dialog)); | |
| 496 g_free(info); | |
| 497 } | |
| 498 | |
| 499 static void do_info(GtkWidget *dialog, int id, struct getuserinfo *info) | |
| 500 { | |
| 501 char *who; | |
| 502 gboolean found = FALSE; | |
| 503 | |
| 504 switch(id) { | |
| 505 case GTK_RESPONSE_OK: | |
| 506 who = g_strdup(gaim_normalize(info->gc->account, gtk_entry_get_text(GTK_ENTRY(info->entry)))); | |
| 507 | |
| 508 if (who && gaim_str_has_suffix(who, "rocksmyworld")) { | |
| 509 found = show_ee_dialog(who); | |
| 510 } | |
| 511 | |
| 512 if (!found && who && *who && info->gc) | |
| 513 serv_get_info(info->gc, who); | |
| 514 | |
| 515 g_free(who); | |
| 516 break; | |
| 517 } | |
| 518 | |
| 519 gtk_widget_destroy(GTK_WIDGET(dialog)); | |
| 520 g_free(info); | |
| 1 | 521 } |
| 522 | |
|
6371
8f94cce8faa5
[gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents:
6352
diff
changeset
|
523 static void |
|
8f94cce8faa5
[gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents:
6352
diff
changeset
|
524 show_info_select_account(GObject *w, GaimAccount *account, |
|
8f94cce8faa5
[gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents:
6352
diff
changeset
|
525 struct getuserinfo *info) |
| 3816 | 526 { |
|
5880
1b85ff65be57
[gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
527 info->gc = gaim_account_get_connection(account); |
| 3816 | 528 } |
| 529 | |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
530 void show_im_dialog() |
| 1 | 531 { |
| 7755 | 532 GtkWidget *window, *hbox, *vbox; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
533 GtkWidget *label; |
|
5880
1b85ff65be57
[gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
534 GtkWidget *table; |
|
7098
770233dad86c
[gaim-migrate @ 7663]
Christian Hammond <chipx86@chipx86.com>
parents:
7085
diff
changeset
|
535 GaimGtkBuddyList *gtkblist; |
| 5024 | 536 GtkWidget *img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG); |
| 7755 | 537 struct getuserinfo *info = g_new0(struct getuserinfo, 1); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
538 |
|
4695
4bdd9a5fd026
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
539 gtkblist = GAIM_GTK_BLIST(gaim_get_blist()); |
|
4bdd9a5fd026
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
540 |
| 7755 | 541 info->gc = gaim_connections_get_all()->data; |
| 4613 | 542 |
| 7853 | 543 window = gtk_dialog_new_with_buttons(_("New Instant Message"), gtkblist ? GTK_WINDOW(gtkblist->window) : NULL, 0, |
| 7755 | 544 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); |
| 545 gtk_dialog_set_default_response (GTK_DIALOG(window), GTK_RESPONSE_OK); | |
| 546 gtk_container_set_border_width (GTK_CONTAINER(window), 6); | |
| 547 gtk_window_set_resizable(GTK_WINDOW(window), FALSE); | |
| 548 gtk_dialog_set_has_separator(GTK_DIALOG(window), FALSE); | |
| 549 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(window)->vbox), 12); | |
| 550 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(window)->vbox), 6); | |
| 551 gtk_dialog_set_response_sensitive(GTK_DIALOG(window), GTK_RESPONSE_OK, FALSE); | |
| 552 | |
| 553 hbox = gtk_hbox_new(FALSE, 12); | |
| 554 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(window)->vbox), hbox); | |
| 555 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
| 556 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); | |
| 557 | |
| 558 vbox = gtk_vbox_new(FALSE, 0); | |
| 559 gtk_container_add(GTK_CONTAINER(hbox), vbox); | |
| 3802 | 560 |
| 7755 | 561 label = gtk_label_new(_("Please enter the screenname of the person you would like to IM.\n")); |
| 562 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | |
| 563 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 564 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); | |
| 4613 | 565 |
| 7755 | 566 table = gtk_table_new(2, 2, FALSE); |
| 567 gtk_table_set_row_spacings(GTK_TABLE(table), 6); | |
| 568 gtk_table_set_col_spacings(GTK_TABLE(table), 6); | |
| 569 gtk_container_set_border_width(GTK_CONTAINER(table), 12); | |
| 570 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); | |
| 4613 | 571 |
| 7755 | 572 label = gtk_label_new(NULL); |
| 573 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Screenname:")); | |
| 574 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 575 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1); | |
| 4613 | 576 |
| 7755 | 577 info->entry = gtk_entry_new(); |
| 578 gtk_table_attach_defaults(GTK_TABLE(table), info->entry, 1, 2, 0, 1); | |
| 579 gtk_entry_set_activates_default (GTK_ENTRY(info->entry), TRUE); | |
| 580 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->entry)); | |
| 581 | |
| 582 g_signal_connect(G_OBJECT(info->entry), "changed", | |
| 583 G_CALLBACK(gaim_gtk_set_sensitive_if_input), window); | |
| 584 | |
| 585 if (gaim_connections_get_all()->next) { | |
| 4613 | 586 |
| 3802 | 587 label = gtk_label_new(NULL); |
| 7755 | 588 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2); |
| 589 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Account:")); | |
| 3823 | 590 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); |
| 3816 | 591 |
| 7755 | 592 info->account = gaim_gtk_account_option_menu_new(NULL, FALSE, |
| 593 G_CALLBACK(show_info_select_account), NULL, info); | |
| 4613 | 594 |
| 7755 | 595 gtk_table_attach_defaults(GTK_TABLE(table), info->account, 1, 2, 1, 2); |
| 596 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->account)); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
597 } |
| 4613 | 598 |
| 7755 | 599 g_signal_connect(G_OBJECT(window), "response", G_CALLBACK(do_im), info); |
| 600 | |
| 601 gtk_widget_show_all(window); | |
| 7757 | 602 gtk_widget_grab_focus(GTK_WIDGET(info->entry)); |
| 3197 | 603 } |
| 604 | |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
605 void show_info_dialog() |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
606 { |
| 3802 | 607 GtkWidget *window, *hbox, *vbox; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
608 GtkWidget *label; |
| 7755 | 609 GtkWidget *table; |
| 610 GaimGtkBuddyList *gtkblist; | |
| 5024 | 611 GtkWidget *img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG); |
| 3197 | 612 struct getuserinfo *info = g_new0(struct getuserinfo, 1); |
| 3802 | 613 |
|
4695
4bdd9a5fd026
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
614 gtkblist = GAIM_GTK_BLIST(gaim_get_blist()); |
|
4bdd9a5fd026
[gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
615 |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
616 info->gc = gaim_connections_get_all()->data; |
| 3197 | 617 |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
618 window = gtk_dialog_new_with_buttons(_("Get User Info"), gtkblist->window ? GTK_WINDOW(gtkblist->window) : NULL, 0, |
| 3802 | 619 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); |
| 620 gtk_dialog_set_default_response (GTK_DIALOG(window), GTK_RESPONSE_OK); | |
| 621 gtk_container_set_border_width (GTK_CONTAINER(window), 6); | |
| 622 gtk_window_set_resizable(GTK_WINDOW(window), FALSE); | |
| 623 gtk_dialog_set_has_separator(GTK_DIALOG(window), FALSE); | |
| 624 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(window)->vbox), 12); | |
| 625 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(window)->vbox), 6); | |
| 7755 | 626 gtk_dialog_set_response_sensitive(GTK_DIALOG(window), GTK_RESPONSE_OK, FALSE); |
| 4614 | 627 |
| 3802 | 628 hbox = gtk_hbox_new(FALSE, 12); |
| 629 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(window)->vbox), hbox); | |
| 630 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
| 631 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); | |
| 4614 | 632 |
| 3802 | 633 vbox = gtk_vbox_new(FALSE, 0); |
| 634 gtk_container_add(GTK_CONTAINER(hbox), vbox); | |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
635 |
| 3802 | 636 label = gtk_label_new(_("Please enter the screenname of the person whose info you would like to view.\n")); |
| 637 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | |
| 638 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 639 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); | |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
640 |
| 3197 | 641 table = gtk_table_new(2, 2, FALSE); |
| 3802 | 642 gtk_table_set_row_spacings(GTK_TABLE(table), 6); |
| 643 gtk_table_set_col_spacings(GTK_TABLE(table), 6); | |
| 644 gtk_container_set_border_width(GTK_CONTAINER(table), 12); | |
| 645 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); | |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
646 |
| 3802 | 647 label = gtk_label_new(NULL); |
| 648 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Screenname:")); | |
| 3822 | 649 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); |
| 3197 | 650 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1); |
| 651 | |
| 652 info->entry = gtk_entry_new(); | |
| 653 gtk_table_attach_defaults(GTK_TABLE(table), info->entry, 1, 2, 0, 1); | |
| 3802 | 654 gtk_entry_set_activates_default (GTK_ENTRY(info->entry), TRUE); |
| 655 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->entry)); | |
| 4614 | 656 |
| 657 g_signal_connect(G_OBJECT(info->entry), "changed", | |
| 7751 | 658 G_CALLBACK(gaim_gtk_set_sensitive_if_input), window); |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
659 |
|
5563
9eb5b13fd412
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
660 if (gaim_connections_get_all()->next) { |
| 3197 | 661 |
| 3802 | 662 label = gtk_label_new(NULL); |
| 3197 | 663 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2); |
| 3802 | 664 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Account:")); |
| 665 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 1225 | 666 |
|
5880
1b85ff65be57
[gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
667 info->account = gaim_gtk_account_option_menu_new(NULL, FALSE, |
|
6646
b89d98f0bf79
[gaim-migrate @ 7171]
Christian Hammond <chipx86@chipx86.com>
parents:
6640
diff
changeset
|
668 G_CALLBACK(show_info_select_account), NULL, info); |
|
5880
1b85ff65be57
[gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
669 |
| 3197 | 670 gtk_table_attach_defaults(GTK_TABLE(table), info->account, 1, 2, 1, 2); |
| 3802 | 671 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(info->account)); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
672 } |
| 3197 | 673 |
| 3802 | 674 g_signal_connect(G_OBJECT(window), "response", G_CALLBACK(do_info), info); |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
675 |
| 3802 | 676 gtk_widget_show_all(window); |
| 7757 | 677 gtk_widget_grab_focus(GTK_WIDGET(info->entry)); |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
678 } |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
934
diff
changeset
|
679 |
| 1 | 680 |
| 681 /*------------------------------------------------------*/ | |
| 682 /* Link Dialog */ | |
| 683 /*------------------------------------------------------*/ | |
| 684 | |
| 7927 | 685 void dialog_link_destroy(GaimConversation *c) |
| 1 | 686 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
687 GaimGtkConversation *gtkconv; |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
688 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
689 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
690 |
| 7927 | 691 gtk_widget_destroy(gtkconv->dialogs.link); |
| 4685 | 692 gtkconv->dialogs.link = NULL; |
| 1 | 693 } |
| 694 | |
| 7927 | 695 static void do_insert_link(GtkWidget *w, int resp, struct linkdlg *a) |
| 1 | 696 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
697 GaimGtkConversation *gtkconv; |
| 3466 | 698 const char *urltext, *showtext; |
| 4262 | 699 |
| 7927 | 700 gtkconv = GAIM_GTK_CONVERSATION(a->c); |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
701 |
| 4262 | 702 if (resp == GTK_RESPONSE_OK) { |
| 7927 | 703 urltext = gtk_entry_get_text(GTK_ENTRY(a->url)); |
| 704 showtext = gtk_entry_get_text(GTK_ENTRY(a->text)); | |
| 4262 | 705 |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
706 if (!strlen(showtext)) |
| 4262 | 707 showtext = urltext; |
| 708 | |
| 8061 | 709 gtk_imhtml_insert_link(GTK_IMHTML(gtkconv->entry), urltext, showtext); |
| 710 gaim_gtk_advance_past(gtkconv, "<A HREF>", "</A>"); | |
| 4262 | 711 } |
| 712 | |
| 7927 | 713 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.link), FALSE); |
| 1 | 714 } |
| 715 | |
| 7927 | 716 static void dialog_link_freedata(GtkWidget *w, gpointer user_data) |
| 717 { | |
| 718 struct linkdlg *a = user_data; | |
| 719 | |
| 720 g_free(a); | |
| 721 } | |
| 722 | |
| 723 void dialog_link_show(GaimConversation *c) | |
| 1 | 724 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
725 GaimGtkConversation *gtkconv; |
|
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
726 GaimGtkWindow *gtkwin; |
| 4262 | 727 GtkWidget *table; |
| 728 GtkWidget *label; | |
| 729 GtkWidget *hbox; | |
| 1 | 730 GtkWidget *vbox; |
| 7927 | 731 struct linkdlg *a; |
| 732 GtkWidget *img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG); | |
| 1 | 733 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
734 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
735 gtkwin = GAIM_GTK_WINDOW(gaim_conversation_get_window(c)); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
736 |
| 7927 | 737 a = g_new0(struct linkdlg, 1); |
| 4262 | 738 |
| 7927 | 739 a->c = c; |
| 740 a->window = gtk_dialog_new_with_buttons(_("Insert Link"), | |
| 741 GTK_WINDOW(gtkwin->window), 0, GTK_STOCK_CANCEL, | |
| 742 GTK_RESPONSE_CANCEL, _("_Insert"), GTK_RESPONSE_OK, NULL); | |
| 743 gtk_dialog_set_default_response(GTK_DIALOG(a->window), GTK_RESPONSE_OK); | |
| 744 g_signal_connect(G_OBJECT(a->window), "response", | |
| 745 G_CALLBACK(do_insert_link), a); | |
| 746 g_signal_connect(G_OBJECT(a->window), "destroy", | |
| 747 G_CALLBACK(dialog_link_freedata), a); | |
| 4262 | 748 |
| 7927 | 749 gtk_dialog_set_default_response(GTK_DIALOG(a->window), GTK_RESPONSE_OK); |
| 750 gtk_container_set_border_width(GTK_CONTAINER(a->window), 6); | |
| 751 gtk_window_set_resizable(GTK_WINDOW(a->window), FALSE); | |
| 752 gtk_dialog_set_has_separator(GTK_DIALOG(a->window), FALSE); | |
| 753 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(a->window)->vbox), 12); | |
| 754 gtk_container_set_border_width( | |
| 755 GTK_CONTAINER(GTK_DIALOG(a->window)->vbox), 6); | |
| 756 gtk_window_set_role(GTK_WINDOW(a->window), "insert_link"); | |
| 757 gtk_dialog_set_response_sensitive(GTK_DIALOG(a->window), GTK_RESPONSE_OK, FALSE); | |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
758 |
| 7927 | 759 hbox = gtk_hbox_new(FALSE, 12); |
| 760 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(a->window)->vbox), hbox); | |
| 761 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); | |
| 762 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); | |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
763 |
| 7927 | 764 vbox = gtk_vbox_new(FALSE, 0); |
| 765 gtk_container_add(GTK_CONTAINER(hbox), vbox); | |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
766 |
| 7927 | 767 label = gtk_label_new(_("Please enter the URL and description of " |
| 768 "the link that you want to insert. The " | |
| 769 "description is optional.\n")); | |
| 770 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | |
| 771 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 772 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); | |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
773 |
| 7927 | 774 table = gtk_table_new(2, 2, FALSE); |
| 775 gtk_table_set_row_spacings(GTK_TABLE(table), 6); | |
| 776 gtk_table_set_col_spacings(GTK_TABLE(table), 6); | |
| 777 gtk_container_set_border_width(GTK_CONTAINER(table), 0); | |
| 778 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); | |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
779 |
| 7927 | 780 label = gtk_label_new_with_mnemonic(_("_URL:")); |
| 781 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
| 782 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1); | |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
783 |
| 7927 | 784 a->url = gtk_entry_new(); |
| 785 gtk_table_attach_defaults(GTK_TABLE(table), a->url, 1, 2, 0, 1); | |
| 786 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(a->url)); | |
| 787 gtk_widget_grab_focus(a->url); | |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
788 |
| 7927 | 789 gtk_entry_set_activates_default (GTK_ENTRY(a->url), TRUE); |
| 790 g_signal_connect(G_OBJECT(a->url), "changed", | |
| 791 G_CALLBACK(gaim_gtk_set_sensitive_if_input), a->window); | |
|
6465
fb64cc87bc96
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6431
diff
changeset
|
792 |
| 7927 | 793 label = gtk_label_new_with_mnemonic(_("_Description:")); |
| 794 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
| 795 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2); | |
| 4262 | 796 |
| 7927 | 797 a->text = gtk_entry_new(); |
| 798 gtk_table_attach_defaults(GTK_TABLE(table), a->text, 1, 2, 1, 2); | |
| 799 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(a->text)); | |
| 800 gtk_entry_set_activates_default (GTK_ENTRY(a->text), TRUE); | |
| 4262 | 801 |
| 7927 | 802 gtkconv->dialogs.link = a->window; |
| 1 | 803 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
804 gtk_widget_show_all(gtkconv->dialogs.link); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
805 gdk_window_raise(gtkconv->dialogs.link->window); |
| 1 | 806 } |
| 807 | |
| 808 /*------------------------------------------------------*/ | |
| 809 /* Color Selection Dialog */ | |
| 810 /*------------------------------------------------------*/ | |
| 811 | |
| 3367 | 812 GtkWidget *fgcseld = NULL; |
| 813 GtkWidget *bgcseld = NULL; | |
|
657
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
814 |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
815 void cancel_fgcolor(GtkWidget *widget, GaimConversation *c) |
| 1 | 816 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
817 GaimGtkConversation *gtkconv; |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
818 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
819 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
820 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
821 if (gtkconv->toolbar.fgcolor && widget) { |
| 4635 | 822 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.fgcolor), |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
823 FALSE); |
| 61 | 824 } |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
825 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
826 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.fg_color); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
827 gtk_widget_destroy(gtkconv->dialogs.fg_color); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
828 gtkconv->dialogs.fg_color = NULL; |
| 1 | 829 } |
| 830 | |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
831 void cancel_bgcolor(GtkWidget *widget, GaimConversation *c) |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
832 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
833 GaimGtkConversation *gtkconv; |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
834 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
835 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
836 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
837 if (gtkconv->toolbar.bgcolor && widget) { |
| 4635 | 838 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.bgcolor), |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
839 FALSE); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
840 } |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
841 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
842 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.bg_color); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
843 gtk_widget_destroy(gtkconv->dialogs.bg_color); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
844 gtkconv->dialogs.bg_color = NULL; |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
845 } |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
846 |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
847 void do_fgcolor(GtkWidget *widget, GtkColorSelection *colorsel) |
| 1 | 848 { |
| 849 GdkColor text_color; | |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
850 GaimConversation *c; |
|
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
851 GaimGtkConversation *gtkconv; |
| 1 | 852 char *open_tag; |
| 853 | |
| 854 open_tag = g_malloc(30); | |
| 855 | |
| 3557 | 856 gtk_color_selection_get_current_color(colorsel, &text_color); |
| 1 | 857 |
| 4635 | 858 c = g_object_get_data(G_OBJECT(colorsel), "gaim_conversation"); |
|
411
a330017b3aa4
[gaim-migrate @ 421]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
401
diff
changeset
|
859 /* GTK_IS_EDITABLE(c->entry); huh? */ |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
860 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
861 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
862 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
863 gtkconv->fg_color = text_color; |
| 8061 | 864 g_snprintf(open_tag, 23, "#%02X%02X%02X", |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
865 text_color.red / 256, |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
866 text_color.green / 256, |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
867 text_color.blue / 256); |
| 8061 | 868 gtk_imhtml_toggle_forecolor(GTK_IMHTML(gtkconv->entry), open_tag); |
|
5213
1cf4eb75e3ee
[gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
869 |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
870 g_free(open_tag); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
871 cancel_fgcolor(NULL, c); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
872 } |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
873 |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
874 void do_bgcolor(GtkWidget *widget, GtkColorSelection *colorsel) |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
875 { |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
876 GdkColor text_color; |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
877 GaimConversation *c; |
|
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
878 GaimGtkConversation *gtkconv; |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
879 char *open_tag; |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
880 |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
881 open_tag = g_malloc(30); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
882 |
| 3557 | 883 gtk_color_selection_get_current_color(colorsel, &text_color); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
884 |
| 4635 | 885 c = g_object_get_data(G_OBJECT(colorsel), "gaim_conversation"); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
886 /* GTK_IS_EDITABLE(c->entry); huh? */ |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
887 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
888 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
889 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
890 gtkconv->bg_color = text_color; |
| 8061 | 891 g_snprintf(open_tag, 25, "#%02X%02X%02X", |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
892 text_color.red / 256, |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
893 text_color.green / 256, |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
894 text_color.blue / 256); |
| 8061 | 895 gtk_imhtml_toggle_backcolor(GTK_IMHTML(gtkconv->entry), open_tag); |
| 896 | |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
897 g_free(open_tag); |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
898 cancel_bgcolor(NULL, c); |
| 1 | 899 } |
| 900 | |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
901 void show_fgcolor_dialog(GaimConversation *c, GtkWidget *color) |
| 1 | 902 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
903 GaimGtkConversation *gtkconv; |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
904 GtkWidget *colorsel; |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
905 GdkColor fgcolor; |
| 1 | 906 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
907 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
908 |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
909 gdk_color_parse(gaim_prefs_get_string("/gaim/gtk/conversations/fgcolor"), |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
910 &fgcolor); |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
911 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
912 if (color == NULL) { /* we came from the prefs */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
913 if (fgcseld) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
914 return; |
|
2209
9b8b32ae3b41
[gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2143
diff
changeset
|
915 |
|
657
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
916 fgcseld = gtk_color_selection_dialog_new(_("Select Text Color")); |
| 4198 | 917 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION |
| 918 (GTK_COLOR_SELECTION_DIALOG(fgcseld)->colorsel), &fgcolor); | |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
919 g_signal_connect(G_OBJECT(fgcseld), "delete_event", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
920 G_CALLBACK(destroy_colorsel), (void *)1); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
921 g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(fgcseld)->cancel_button), |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
922 "clicked", G_CALLBACK(destroy_colorsel), (void *)1); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
923 g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(fgcseld)->ok_button), "clicked", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
924 G_CALLBACK(apply_color_dlg), (void *)1); |
|
657
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
925 gtk_widget_realize(fgcseld); |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
926 gtk_widget_show(fgcseld); |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
927 gdk_window_raise(fgcseld->window); |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
928 return; |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
929 } |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
930 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
931 if (!gtkconv->dialogs.fg_color) { |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
932 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
933 gtkconv->dialogs.fg_color = gtk_color_selection_dialog_new(_("Select Text Color")); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
934 colorsel = GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.fg_color)->colorsel; |
| 4198 | 935 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(colorsel), &fgcolor); |
| 4635 | 936 g_object_set_data(G_OBJECT(colorsel), "gaim_conversation", c); |
|
2209
9b8b32ae3b41
[gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2143
diff
changeset
|
937 |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
938 g_signal_connect(G_OBJECT(gtkconv->dialogs.fg_color), "delete_event", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
939 G_CALLBACK(delete_event_dialog), c); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
940 g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.fg_color)->ok_button), |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
941 "clicked", G_CALLBACK(do_fgcolor), colorsel); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
942 g_signal_connect(G_OBJECT |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
943 (GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.fg_color)->cancel_button), |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
944 "clicked", G_CALLBACK(cancel_fgcolor), c); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
945 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
946 gtk_widget_realize(gtkconv->dialogs.fg_color); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
947 } |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
948 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
949 gtk_widget_show(gtkconv->dialogs.fg_color); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
950 gdk_window_raise(gtkconv->dialogs.fg_color->window); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
951 } |
|
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
952 |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
953 void show_bgcolor_dialog(GaimConversation *c, GtkWidget *color) |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
954 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
955 GaimGtkConversation *gtkconv; |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
956 GtkWidget *colorsel; |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
957 GdkColor bgcolor; |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
958 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
959 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
960 |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
961 gdk_color_parse(gaim_prefs_get_string("/gaim/gtk/conversations/bgcolor"), |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
962 &bgcolor); |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
963 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
964 if (color == NULL) { /* we came from the prefs */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
965 if (bgcseld) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
966 return; |
|
2209
9b8b32ae3b41
[gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2143
diff
changeset
|
967 |
|
657
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
968 bgcseld = gtk_color_selection_dialog_new(_("Select Background Color")); |
| 4198 | 969 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION |
| 970 (GTK_COLOR_SELECTION_DIALOG(bgcseld)->colorsel), &bgcolor); | |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
971 g_signal_connect(G_OBJECT(bgcseld), "delete_event", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
972 G_CALLBACK(destroy_colorsel), NULL); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
973 g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(bgcseld)->cancel_button), |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
974 "clicked", G_CALLBACK(destroy_colorsel), NULL); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
975 g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(bgcseld)->ok_button), "clicked", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
976 G_CALLBACK(apply_color_dlg), (void *)2); |
|
657
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
977 gtk_widget_realize(bgcseld); |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
978 gtk_widget_show(bgcseld); |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
979 gdk_window_raise(bgcseld->window); |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
980 return; |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
981 } |
|
4bbc103a3294
[gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
654
diff
changeset
|
982 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
983 if (!gtkconv->dialogs.bg_color) { |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
984 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
985 gtkconv->dialogs.bg_color = gtk_color_selection_dialog_new(_("Select Background Color")); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
986 colorsel = GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.bg_color)->colorsel; |
| 4198 | 987 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(colorsel), &bgcolor); |
| 4635 | 988 g_object_set_data(G_OBJECT(colorsel), "gaim_conversation", c); |
|
2209
9b8b32ae3b41
[gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2143
diff
changeset
|
989 |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
990 g_signal_connect(G_OBJECT(gtkconv->dialogs.bg_color), "delete_event", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
991 G_CALLBACK(delete_event_dialog), c); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
992 g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.bg_color)->ok_button), |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
993 "clicked", G_CALLBACK(do_bgcolor), colorsel); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
994 g_signal_connect(G_OBJECT |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
995 (GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.bg_color)->cancel_button), |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
996 "clicked", G_CALLBACK(cancel_bgcolor), c); |
|
858
3de6e98e8898
[gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
854
diff
changeset
|
997 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
998 gtk_widget_realize(gtkconv->dialogs.bg_color); |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
999 } |
| 1 | 1000 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1001 gtk_widget_show(gtkconv->dialogs.bg_color); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1002 gdk_window_raise(gtkconv->dialogs.bg_color->window); |
| 1 | 1003 } |
| 1004 | |
| 1005 /*------------------------------------------------------------------------*/ | |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
1006 /* Font Selection Dialog */ |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
1007 /*------------------------------------------------------------------------*/ |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
1008 |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1009 void cancel_font(GtkWidget *widget, GaimConversation *c) |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1010 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1011 GaimGtkConversation *gtkconv; |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1012 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1013 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1014 |
| 4685 | 1015 if (gtkconv->toolbar.font && widget) { |
| 4635 | 1016 gtk_toggle_button_set_active( |
| 4685 | 1017 GTK_TOGGLE_BUTTON(gtkconv->toolbar.font), FALSE); |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
1018 } |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1019 |
| 5970 | 1020 if (gtkconv->dialogs.font) { |
| 1021 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.font); | |
| 1022 gtk_widget_destroy(gtkconv->dialogs.font); | |
| 1023 gtkconv->dialogs.font = NULL; | |
| 1024 } | |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
1025 } |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
1026 |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
1027 void apply_font(GtkWidget *widget, GtkFontSelection *fontsel) |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
1028 { |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
1029 /* this could be expanded to include font size, weight, etc. |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
1030 but for now only works with font face */ |
|
666
71ea550c22ac
[gaim-migrate @ 676]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
657
diff
changeset
|
1031 char *fontname; |
| 7079 | 1032 char *space; |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1033 GaimConversation *c = g_object_get_data(G_OBJECT(fontsel), |
| 4635 | 1034 "gaim_conversation"); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1035 |
| 7079 | 1036 if(!c) |
| 1037 return; | |
| 1038 | |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1039 fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(fontsel)); |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1040 |
| 7079 | 1041 space = strrchr(fontname, ' '); |
| 1042 if(space && isdigit(*(space+1))) | |
| 1043 *space = '\0'; | |
| 1044 | |
| 1045 gaim_gtk_set_font_face(GAIM_GTK_CONVERSATION(c), fontname); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1046 |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1047 g_free(fontname); |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1048 |
|
311
0a8b4edc4732
[gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
308
diff
changeset
|
1049 cancel_font(NULL, c); |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
1050 } |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
1051 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1052 void destroy_fontsel(GtkWidget *w, gpointer d) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1053 { |
|
334
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
1054 gtk_widget_destroy(fontseld); |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
1055 fontseld = NULL; |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
1056 } |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
1057 |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1058 void show_font_dialog(GaimConversation *c, GtkWidget *font) |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
1059 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1060 GaimGtkConversation *gtkconv; |
| 3473 | 1061 char fonttif[128]; |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1062 const char *fontface; |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1063 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1064 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1065 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1066 if (!font) { /* we came from the prefs dialog */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1067 if (fontseld) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1068 return; |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1069 |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
1070 fontseld = gtk_font_selection_dialog_new(_("Select Font")); |
|
5545
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1071 |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1072 fontface = gaim_prefs_get_string("/gaim/gtk/conversations/font_face"); |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1073 |
|
7a64114641c3
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
1074 if (fontface != NULL && *fontface != '\0') { |
| 3473 | 1075 g_snprintf(fonttif, sizeof(fonttif), "%s 12", fontface); |
|
2763
477a035d81e5
[gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2761
diff
changeset
|
1076 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(fontseld), |
| 3473 | 1077 fonttif); |
|
2763
477a035d81e5
[gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2761
diff
changeset
|
1078 } else { |
|
477a035d81e5
[gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2761
diff
changeset
|
1079 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(fontseld), |
| 3473 | 1080 DEFAULT_FONT_FACE " 12"); |
|
2763
477a035d81e5
[gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2761
diff
changeset
|
1081 } |
|
334
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
1082 |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1083 g_signal_connect(G_OBJECT(fontseld), "delete_event", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1084 G_CALLBACK(destroy_fontsel), NULL); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1085 g_signal_connect(G_OBJECT(GTK_FONT_SELECTION_DIALOG(fontseld)->cancel_button), |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1086 "clicked", G_CALLBACK(destroy_fontsel), NULL); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1087 g_signal_connect(G_OBJECT(GTK_FONT_SELECTION_DIALOG(fontseld)->ok_button), "clicked", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1088 G_CALLBACK(apply_font_dlg), fontseld); |
|
334
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
1089 gtk_widget_realize(fontseld); |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
1090 gtk_widget_show(fontseld); |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
1091 gdk_window_raise(fontseld->window); |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
1092 return; |
|
0fa651368776
[gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
311
diff
changeset
|
1093 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1094 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1095 if (!gtkconv->dialogs.font) { |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1096 gtkconv->dialogs.font = gtk_font_selection_dialog_new(_("Select Font")); |
|
234
985635758c33
[gaim-migrate @ 244]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
231
diff
changeset
|
1097 |
| 4635 | 1098 g_object_set_data(G_OBJECT(gtkconv->dialogs.font), "gaim_conversation", c); |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1099 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1100 if (gtkconv->fontface[0]) { |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1101 g_snprintf(fonttif, sizeof(fonttif), "%s 12", gtkconv->fontface); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1102 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(gtkconv->dialogs.font), |
| 3473 | 1103 fonttif); |
|
2763
477a035d81e5
[gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2761
diff
changeset
|
1104 } else { |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1105 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(gtkconv->dialogs.font), |
| 3473 | 1106 DEFAULT_FONT_FACE); |
|
2763
477a035d81e5
[gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2761
diff
changeset
|
1107 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1108 |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1109 g_signal_connect(G_OBJECT(gtkconv->dialogs.font), "delete_event", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1110 G_CALLBACK(delete_event_dialog), c); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1111 g_signal_connect(G_OBJECT(GTK_FONT_SELECTION_DIALOG(gtkconv->dialogs.font)->ok_button), |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1112 "clicked", G_CALLBACK(apply_font), gtkconv->dialogs.font); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1113 g_signal_connect(G_OBJECT(GTK_FONT_SELECTION_DIALOG(gtkconv->dialogs.font)->cancel_button), |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1114 "clicked", G_CALLBACK(cancel_font), c); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1115 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1116 gtk_widget_realize(gtkconv->dialogs.font); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1117 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1118 } |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1119 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1120 gtk_widget_show(gtkconv->dialogs.font); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1121 gdk_window_raise(gtkconv->dialogs.font->window); |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
1122 } |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
1123 |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
229
diff
changeset
|
1124 /*------------------------------------------------------------------------*/ |
| 1 | 1125 /* The dialog for new away messages */ |
| 1126 /*------------------------------------------------------------------------*/ | |
| 1127 | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1128 static struct away_message *save_away_message(struct create_away *ca) |
| 717 | 1129 { |
| 1130 struct away_message *am; | |
| 1131 gchar *away_message; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1132 |
|
832
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
1133 if (!ca->mess) |
|
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
1134 am = g_new0(struct away_message, 1); |
|
2851
6eb5bf5089f0
[gaim-migrate @ 2864]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2827
diff
changeset
|
1135 else { |
|
832
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
1136 am = ca->mess; |
|
2851
6eb5bf5089f0
[gaim-migrate @ 2864]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2827
diff
changeset
|
1137 } |
| 1387 | 1138 |
| 717 | 1139 g_snprintf(am->name, sizeof(am->name), "%s", gtk_entry_get_text(GTK_ENTRY(ca->entry))); |
| 4119 | 1140 away_message = gtk_text_view_get_text(GTK_TEXT_VIEW(ca->text), FALSE); |
| 717 | 1141 |
| 1142 g_snprintf(am->message, sizeof(am->message), "%s", away_message); | |
| 1143 g_free(away_message); | |
| 1144 | |
| 7942 | 1145 if (!ca->mess) |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1146 away_messages = g_slist_insert_sorted(away_messages, am, sort_awaymsg_list); |
|
832
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
1147 |
|
5560
b7319c094153
[gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents:
5551
diff
changeset
|
1148 do_away_menu(NULL); |
| 6065 | 1149 gaim_status_sync(); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1150 |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1151 return am; |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1152 } |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1153 |
| 1387 | 1154 int check_away_mess(struct create_away *ca, int type) |
| 1155 { | |
| 4630 | 1156 char *msg; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1157 if ((strlen(gtk_entry_get_text(GTK_ENTRY(ca->entry))) == 0) && (type == 1)) { |
| 1387 | 1158 /* We shouldn't allow a blank title */ |
|
5436
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
1159 gaim_notify_error(NULL, NULL, |
|
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
1160 _("You cannot save an away message with a " |
|
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
1161 "blank title"), |
|
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
1162 _("Please give the message a title, or choose " |
|
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
1163 "\"Use\" to use without saving.")); |
| 1387 | 1164 return 0; |
| 1165 } | |
| 1166 | |
| 4630 | 1167 msg = gtk_text_view_get_text(GTK_TEXT_VIEW(ca->text), FALSE); |
| 1168 | |
| 1169 if (!msg && (type <= 1)) { | |
| 1387 | 1170 /* We shouldn't allow a blank message */ |
|
5436
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
1171 gaim_notify_error(NULL, NULL, |
|
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5411
diff
changeset
|
1172 _("You cannot create an empty away message"), NULL); |
| 1387 | 1173 return 0; |
| 1174 } | |
| 1175 | |
| 4630 | 1176 g_free(msg); |
| 1177 | |
| 1387 | 1178 return 1; |
| 1179 } | |
| 1180 | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1181 void save_away_mess(GtkWidget *widget, struct create_away *ca) |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1182 { |
| 1387 | 1183 if (!check_away_mess(ca, 1)) |
| 1184 return; | |
| 1185 | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1186 save_away_message(ca); |
| 717 | 1187 destroy_dialog(NULL, ca->window); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1188 g_free(ca); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1189 } |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1190 |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1191 void use_away_mess(GtkWidget *widget, struct create_away *ca) |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1192 { |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1193 static struct away_message am; |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1194 gchar *away_message; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1195 |
| 1387 | 1196 if (!check_away_mess(ca, 0)) |
| 1197 return; | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1198 |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1199 g_snprintf(am.name, sizeof(am.name), "%s", gtk_entry_get_text(GTK_ENTRY(ca->entry))); |
| 4119 | 1200 away_message = gtk_text_view_get_text(GTK_TEXT_VIEW(ca->text), FALSE); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1201 |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1202 g_snprintf(am.message, sizeof(am.message), "%s", away_message); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1203 g_free(away_message); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1204 |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1205 do_away_message(NULL, &am); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1206 |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1207 destroy_dialog(NULL, ca->window); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1208 g_free(ca); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1209 } |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1210 |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1211 void su_away_mess(GtkWidget *widget, struct create_away *ca) |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1212 { |
| 1387 | 1213 if (!check_away_mess(ca, 1)) |
| 1214 return; | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1215 do_away_message(NULL, save_away_message(ca)); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1216 destroy_dialog(NULL, ca->window); |
|
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1217 g_free(ca); |
| 717 | 1218 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1219 |
| 1 | 1220 void create_away_mess(GtkWidget *widget, void *dummy) |
| 1221 { | |
| 7949 | 1222 GtkWidget *vbox, *hbox; |
| 1 | 1223 GtkWidget *label; |
| 7949 | 1224 GtkWidget *sw; |
| 441 | 1225 GtkWidget *button; |
| 1 | 1226 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1227 struct create_away *ca = g_new0(struct create_away, 1); |
| 1185 | 1228 |
| 1 | 1229 /* Set up window */ |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
1230 GAIM_DIALOG(ca->window); |
| 4635 | 1231 gtk_widget_set_size_request(ca->window, -1, 250); |
| 7949 | 1232 gtk_container_set_border_width(GTK_CONTAINER(ca->window), 6); |
| 4074 | 1233 gtk_window_set_role(GTK_WINDOW(ca->window), "away_mess"); |
| 4703 | 1234 gtk_window_set_title(GTK_WINDOW(ca->window), _("New away message")); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1235 g_signal_connect(G_OBJECT(ca->window), "delete_event", |
|
4162
d3c8d2b40494
[gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents:
4142
diff
changeset
|
1236 G_CALLBACK(destroy_dialog), ca->window); |
| 1185 | 1237 |
| 7949 | 1238 /* |
| 1239 * This would be higgy... but I think it's pretty ugly --Mark | |
| 1240 * If you want to use this, make sure you add the vbox to the hbox below | |
| 1241 */ | |
| 1242 /* | |
| 1243 hbox = gtk_hbox_new(FALSE, 12); | |
| 1244 gtk_container_set_border_width(GTK_CONTAINER(hbox), 12); | |
| 1245 gtk_container_add(GTK_CONTAINER(ca->window), hbox); | |
| 1246 */ | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1247 |
| 7949 | 1248 vbox = gtk_vbox_new(FALSE, 12); |
| 1249 gtk_container_add(GTK_CONTAINER(ca->window), vbox); | |
| 1185 | 1250 |
| 7949 | 1251 /* Away message title */ |
| 1252 hbox = gtk_hbox_new(FALSE, 0); | |
| 1253 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1254 |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
1255 label = gtk_label_new(_("Away title: ")); |
| 7949 | 1256 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 1185 | 1257 |
| 1 | 1258 ca->entry = gtk_entry_new(); |
| 7949 | 1259 gtk_box_pack_start(GTK_BOX(hbox), ca->entry, TRUE, TRUE, 0); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1260 gtk_widget_grab_focus(ca->entry); |
| 1 | 1261 |
| 7949 | 1262 /* Away message text */ |
| 1263 sw = gtk_scrolled_window_new(NULL, NULL); | |
| 1264 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), | |
| 1265 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | |
| 1266 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN); | |
| 1267 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0); | |
| 5024 | 1268 |
| 4119 | 1269 ca->text = gtk_text_view_new(); |
| 5105 | 1270 gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(ca->text), GTK_WRAP_WORD_CHAR); |
| 5024 | 1271 |
|
7538
357eb1c39b72
[gaim-migrate @ 8151]
Christian Hammond <chipx86@chipx86.com>
parents:
7431
diff
changeset
|
1272 if (gaim_prefs_get_bool("/gaim/gtk/conversations/spellcheck")) |
|
357eb1c39b72
[gaim-migrate @ 8151]
Christian Hammond <chipx86@chipx86.com>
parents:
7431
diff
changeset
|
1273 gaim_gtk_setup_gtkspell(GTK_TEXT_VIEW(ca->text)); |
| 7002 | 1274 |
| 7949 | 1275 gtk_container_add(GTK_CONTAINER(sw), ca->text); |
| 5024 | 1276 |
| 3374 | 1277 if (dummy) { |
| 1278 struct away_message *amt; | |
| 1279 GtkTreeIter iter; | |
| 1280 int pos = 0; | |
| 1281 GtkListStore *ls = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(dummy))); | |
| 1282 GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(dummy)); | |
| 1283 GValue val = { 0, }; | |
| 4119 | 1284 GtkTextIter start; |
| 1285 GtkTextBuffer *buffer; | |
| 3374 | 1286 |
|
3716
d7e83b4db191
[gaim-migrate @ 3849]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3671
diff
changeset
|
1287 if (! gtk_tree_selection_get_selected (sel, (GtkTreeModel**)&ls, &iter)) |
| 3374 | 1288 return; |
|
3716
d7e83b4db191
[gaim-migrate @ 3849]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3671
diff
changeset
|
1289 gtk_tree_model_get_value (GTK_TREE_MODEL(ls), &iter, 1, &val); |
| 3374 | 1290 amt = g_value_get_pointer (&val); |
| 1291 gtk_entry_set_text(GTK_ENTRY(ca->entry), amt->name); | |
| 4119 | 1292 buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(ca->text)); |
| 1293 gtk_text_buffer_get_iter_at_offset(buffer, &start, pos); | |
| 1294 gtk_text_buffer_insert(buffer, &start, amt->message, strlen(amt->message)); | |
| 1295 | |
| 3374 | 1296 ca->mess = amt; |
| 1297 } | |
|
832
0142b4c66394
[gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
825
diff
changeset
|
1298 |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1299 hbox = gtk_hbox_new(FALSE, 5); |
| 7949 | 1300 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 5024 | 1301 |
| 1302 button = gaim_pixbuf_button_from_stock(_("Save"), GTK_STOCK_SAVE, GAIM_BUTTON_HORIZONTAL); | |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1303 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(save_away_mess), ca); |
| 4092 | 1304 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
| 1305 | |
| 5024 | 1306 button = gaim_pixbuf_button_from_stock(_("Save & Use"), GTK_STOCK_OK, GAIM_BUTTON_HORIZONTAL); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1307 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(su_away_mess), ca); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1308 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1309 |
| 5024 | 1310 button = gaim_pixbuf_button_from_stock(_("Use"), GTK_STOCK_EXECUTE, GAIM_BUTTON_HORIZONTAL); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1311 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(use_away_mess), ca); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1312 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1313 |
| 5024 | 1314 button = gaim_pixbuf_button_from_stock(_("Cancel"), GTK_STOCK_CANCEL, GAIM_BUTTON_HORIZONTAL); |
|
5314
1f901484599d
[gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents:
5294
diff
changeset
|
1315 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(destroy_dialog), ca->window); |
|
1213
1bdb08cc5d59
[gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1210
diff
changeset
|
1316 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1317 |
| 5024 | 1318 gtk_widget_show_all(ca->window); |
| 1 | 1319 } |
| 555 | 1320 |
| 1321 /* smiley dialog */ | |
| 1322 | |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1323 void close_smiley_dialog(GtkWidget *widget, GaimConversation *c) |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1324 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1325 GaimGtkConversation *gtkconv; |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1326 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1327 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1328 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1329 if (gtkconv->toolbar.smiley) { |
| 4635 | 1330 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkconv->toolbar.smiley), |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1331 FALSE); |
| 570 | 1332 } |
| 5275 | 1333 if(gtkconv->dialogs.smiley) { |
| 1334 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.smiley); | |
| 1335 gtk_widget_destroy(gtkconv->dialogs.smiley); | |
| 1336 gtkconv->dialogs.smiley = NULL; | |
| 1337 } | |
| 555 | 1338 } |
| 1339 | |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1340 void insert_smiley_text(GtkWidget *widget, GaimConversation *c) |
| 555 | 1341 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1342 GaimGtkConversation *gtkconv; |
| 4667 | 1343 char *smiley_text = g_object_get_data(G_OBJECT(widget), "smiley_text"); |
| 8061 | 1344 GaimPlugin *proto = gaim_find_prpl(gaim_account_get_protocol_id(gaim_conversation_get_account(c))); |
| 7956 | 1345 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1346 gtkconv = GAIM_GTK_CONVERSATION(c); |
| 7956 | 1347 |
| 8061 | 1348 gtk_imhtml_insert_smiley(GTK_IMHTML(gtkconv->entry), proto->info->name, smiley_text); |
| 7956 | 1349 |
| 555 | 1350 close_smiley_dialog(NULL, c); |
| 1351 } | |
|
579
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
1352 |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1353 static void add_smiley(GaimConversation *c, GtkWidget *table, int row, int col, char *filename, char *face) |
| 4034 | 1354 { |
|
4061
890b4f1318df
[gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4060
diff
changeset
|
1355 GtkWidget *image; |
| 4034 | 1356 GtkWidget *button; |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1357 GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(c); |
| 4667 | 1358 |
| 1359 image = gtk_image_new_from_file(filename); | |
| 1360 button = gtk_button_new(); | |
| 1361 gtk_container_add(GTK_CONTAINER(button), image); | |
| 1362 g_object_set_data(G_OBJECT(button), "smiley_text", face); | |
| 1363 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(insert_smiley_text), c); | |
| 1364 | |
| 1365 gtk_tooltips_set_tip(gtkconv->tooltips, button, face, NULL); | |
| 1366 | |
| 1367 gtk_table_attach_defaults(GTK_TABLE(table), button, col, col+1, row, row+1); | |
| 4034 | 1368 |
| 1369 /* these look really weird with borders */ | |
| 1370 gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); | |
| 4667 | 1371 |
| 1372 gtk_widget_show(button); | |
| 1373 } | |
| 1374 | |
| 1375 static gboolean smiley_is_unique(GSList *list, GtkIMHtmlSmiley *smiley) { | |
| 1376 while(list) { | |
| 1377 GtkIMHtmlSmiley *cur = list->data; | |
| 1378 if(!strcmp(cur->file, smiley->file)) | |
| 1379 return FALSE; | |
| 1380 list = list->next; | |
| 1381 } | |
| 1382 return TRUE; | |
| 4034 | 1383 } |
| 1384 | |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1385 void show_smiley_dialog(GaimConversation *c, GtkWidget *widget) |
| 555 | 1386 { |
|
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5593
diff
changeset
|
1387 GaimGtkConversation *gtkconv; |
| 555 | 1388 GtkWidget *dialog; |
| 4667 | 1389 GtkWidget *smiley_table = NULL; |
| 1390 GSList *smileys, *unique_smileys = NULL; | |
| 1391 int width; | |
| 1392 int row = 0, col = 0; | |
| 555 | 1393 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1394 gtkconv = GAIM_GTK_CONVERSATION(c); |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1395 |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1396 if (gtkconv->dialogs.smiley) |
|
558
f1b8f03db83f
[gaim-migrate @ 568]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
555
diff
changeset
|
1397 return; |
|
579
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
1398 |
| 4667 | 1399 if(c->account) |
|
5943
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5925
diff
changeset
|
1400 smileys = get_proto_smileys( |
| 7956 | 1401 gaim_account_get_protocol_id(gaim_conversation_get_account(c))); |
| 4667 | 1402 else |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5136
diff
changeset
|
1403 smileys = get_proto_smileys(GAIM_PROTO_DEFAULT); |
| 4667 | 1404 |
| 1405 while(smileys) { | |
| 1406 GtkIMHtmlSmiley *smiley = smileys->data; | |
| 1407 if(!smiley->hidden) { | |
| 1408 if(smiley_is_unique(unique_smileys, smiley)) | |
| 1409 unique_smileys = g_slist_append(unique_smileys, smiley); | |
| 1410 } | |
| 1411 smileys = smileys->next; | |
| 1412 } | |
| 1413 | |
| 1414 | |
| 1415 width = floor(sqrt(g_slist_length(unique_smileys))); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1416 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
1417 GAIM_DIALOG(dialog); |
| 4635 | 1418 gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE); |
| 4074 | 1419 gtk_window_set_role(GTK_WINDOW(dialog), "smiley_dialog"); |
| 934 | 1420 gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_MOUSE); |
|
579
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
1421 |
| 4667 | 1422 smiley_table = gtk_table_new(width, width, TRUE); |
| 555 | 1423 |
| 1424 /* pack buttons */ | |
| 4667 | 1425 |
| 1426 while(unique_smileys) { | |
| 1427 GtkIMHtmlSmiley *smiley = unique_smileys->data; | |
| 1428 if(!smiley->hidden) { | |
| 1429 add_smiley(c, smiley_table, row, col, smiley->file, smiley->smile); | |
| 1430 if(++col >= width) { | |
| 1431 col = 0; | |
| 1432 row++; | |
| 1433 } | |
| 1434 } | |
| 1435 unique_smileys = unique_smileys->next; | |
| 1436 } | |
| 1437 | |
| 1438 gtk_container_add(GTK_CONTAINER(dialog), smiley_table); | |
| 1439 | |
| 1440 gtk_widget_show(smiley_table); | |
| 1441 | |
|
579
7b501c39a6ee
[gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
577
diff
changeset
|
1442 gtk_container_set_border_width(GTK_CONTAINER(dialog), 5); |
| 555 | 1443 |
| 605 | 1444 /* connect signals */ |
| 4635 | 1445 g_object_set_data(G_OBJECT(dialog), "dialog_type", "smiley dialog"); |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1446 g_signal_connect(G_OBJECT(dialog), "delete_event", |
|
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1447 G_CALLBACK(delete_event_dialog), c); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1448 |
| 555 | 1449 /* show everything */ |
|
567
102afb84ce45
[gaim-migrate @ 577]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
558
diff
changeset
|
1450 gtk_window_set_title(GTK_WINDOW(dialog), _("Smile!")); |
| 584 | 1451 gtk_widget_show_all(dialog); |
| 555 | 1452 |
|
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4350
diff
changeset
|
1453 gtkconv->dialogs.smiley = dialog; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2370
diff
changeset
|
1454 |
| 555 | 1455 return; |
|
558
f1b8f03db83f
[gaim-migrate @ 568]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
555
diff
changeset
|
1456 } |
|
710
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
699
diff
changeset
|
1457 |
|
6329
418cc72136d1
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
1458 static void |
|
7118
bf630f7dfdcd
[gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents:
7108
diff
changeset
|
1459 alias_chat_cb(GaimChat *chat, const char *new_alias) |
| 5234 | 1460 { |
|
6329
418cc72136d1
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
1461 gaim_blist_alias_chat(chat, new_alias); |
|
418cc72136d1
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
1462 gaim_blist_save(); |
| 5234 | 1463 } |
| 1464 | |
|
6329
418cc72136d1
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
1465 void |
|
7118
bf630f7dfdcd
[gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents:
7108
diff
changeset
|
1466 alias_dialog_blist_chat(GaimChat *chat) |
|
6329
418cc72136d1
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
1467 { |
| 7843 | 1468 gaim_request_input(NULL, _("Alias Chat"), NULL, |
| 1469 _("Enter an alias for this chat."), | |
|
6329
418cc72136d1
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
1470 chat->alias, FALSE, FALSE, |
|
418cc72136d1
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
1471 _("OK"), G_CALLBACK(alias_chat_cb), |
|
418cc72136d1
[gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents:
6328
diff
changeset
|
1472 _("Cancel"), NULL, chat); |
| 5234 | 1473 } |
| 1474 | |
|
6327
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1475 static void |
| 7245 | 1476 alias_contact_cb(GaimContact *contact, const char *new_alias) |
| 1477 { | |
| 1478 gaim_contact_set_alias(contact, new_alias); | |
| 1479 gaim_blist_save(); | |
| 1480 } | |
| 1481 | |
| 1482 void | |
| 1483 alias_dialog_contact(GaimContact *contact) | |
| 1484 { | |
| 7843 | 1485 gaim_request_input(NULL, _("Alias Contact"), NULL, |
| 1486 _("Enter an alias for this contact."), | |
| 1487 contact->alias, FALSE, FALSE, | |
| 1488 _("OK"), G_CALLBACK(alias_contact_cb), | |
| 1489 _("Cancel"), NULL, contact); | |
| 7245 | 1490 } |
| 1491 | |
| 1492 static void | |
| 7843 | 1493 alias_buddy_cb(GaimBuddy *buddy, const char *alias) |
|
6327
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1494 { |
| 7843 | 1495 gaim_blist_alias_buddy(buddy, (alias != NULL && *alias != '\0') ? alias : NULL); |
|
6327
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1496 serv_alias_buddy(buddy); |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1497 gaim_blist_save(); |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1498 } |
|
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1499 |
|
5050
dfec167391a5
[gaim-migrate @ 5398]
Christian Hammond <chipx86@chipx86.com>
parents:
5024
diff
changeset
|
1500 void |
| 6695 | 1501 alias_dialog_bud(GaimBuddy *b) |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
1502 { |
| 7843 | 1503 char *secondary = g_strdup_printf(_("Enter an alias for %s."), b->name); |
|
6327
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1504 |
| 7843 | 1505 gaim_request_input(NULL, _("Alias Buddy"), NULL, |
| 1506 secondary, b->alias, FALSE, FALSE, | |
| 1507 _("OK"), G_CALLBACK(alias_buddy_cb), | |
| 1508 _("Cancel"), NULL, b); | |
|
6327
493eed80869c
[gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents:
6322
diff
changeset
|
1509 |
| 7843 | 1510 g_free(secondary); |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
1511 } |
