annotate src/dialogs.c @ 8303:4eb4b2a6c604

[gaim-migrate @ 9027] buddy_chat.c was nothing more than the Join Chat dialog now, and has been since everything else was moved to gtkconv.c. So, move it to the only file calling the functions and delete the file. committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Fri, 20 Feb 2004 23:29:04 +0000
parents 462ead6fc1a0
children 6f549c1d0829
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1 /*
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2 * gaim
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3 *
8046
fa6395637e2c [gaim-migrate @ 8730]
Sean Egan <seanegan@gmail.com>
parents: 7988
diff changeset
4 * Gaim is the legal property of its developers, whose names are too numerous
fa6395637e2c [gaim-migrate @ 8730]
Sean Egan <seanegan@gmail.com>
parents: 7988
diff changeset
5 * to list here. Please refer to the COPYRIGHT file distributed with this
fa6395637e2c [gaim-migrate @ 8730]
Sean Egan <seanegan@gmail.com>
parents: 7988
diff changeset
6 * source distribution.
6465
fb64cc87bc96 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
7 *
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
8 * This program is free software; you can redistribute it and/or modify
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
9 * it under the terms of the GNU General Public License as published by
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
11 * (at your option) any later version.
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
12 *
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
13 * This program is distributed in the hope that it will be useful,
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
16 * GNU General Public License for more details.
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
17 *
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
18 * You should have received a copy of the GNU General Public License
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
19 * along with this program; if not, write to the Free Software
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
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
3a40666c08b4 [gaim-migrate @ 6515]
Sean Egan <seanegan@gmail.com>
parents: 6059
diff changeset
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
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
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
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
49 struct confirm_del {
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
50 GtkWidget *window;
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
51 GtkWidget *label;
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
52 GtkWidget *ok;
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
53 GtkWidget *cancel;
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
54 char name[1024];
5563
9eb5b13fd412 [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
55 GaimConnection *gc;
2743
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
56 };
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
57
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
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
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
63 };
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
64
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
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
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
70 };
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
71
3197
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
72 struct getuserinfo {
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
73 GtkWidget *window;
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
74 GtkWidget *entry;
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
75 GtkWidget *account;
6465
fb64cc87bc96 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
76 GaimConnection *gc;
3197
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
77 };
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
78
2621
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
79 struct view_log {
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
80 long offset;
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
81 int options;
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
82 char *name;
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
83 GtkWidget *bbox;
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
84 GtkWidget *window;
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
85 GtkWidget *layout;
7330
5500f20a4331 [gaim-migrate @ 7918]
Mark Doliner <mark@kingant.net>
parents: 7261
diff changeset
86 void *clear_handle;
2621
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
87 };
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
88
4119
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
89 /* Wrapper to get all the text from a GtkTextView */
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
90 gchar* gtk_text_view_get_text(GtkTextView *text, gboolean include_hidden_chars)
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
91 {
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
92 GtkTextBuffer *buffer;
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
93 GtkTextIter start, end;
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
94
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
95 buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text));
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
96 gtk_text_buffer_get_start_iter(buffer, &start);
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
97 gtk_text_buffer_get_end_iter(buffer, &end);
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
98
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
99 return gtk_text_buffer_get_text(buffer, &start, &end, include_hidden_chars);
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
100 }
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
101
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
102 /*------------------------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
103 /* Destroys */
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
104 /*------------------------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
105
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
106 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
107 {
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
108 GaimGtkConversation *gtkconv;
605
1dbc72baf900 [gaim-migrate @ 615]
Todd Kulesza <fflewddur>
parents: 603
diff changeset
109 gchar *object_data;
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
110
4635
42d53c416bb9 [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
111 object_data = g_object_get_data(G_OBJECT(w), "dialog_type");
605
1dbc72baf900 [gaim-migrate @ 615]
Todd Kulesza <fflewddur>
parents: 603
diff changeset
112
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
113 gtkconv = GAIM_GTK_CONVERSATION(c);
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
114
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
115 if (GTK_IS_COLOR_SELECTION_DIALOG(w)) {
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
116 if (w == gtkconv->dialogs.fg_color) {
4635
42d53c416bb9 [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
117 gtk_toggle_button_set_active(
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
118 GTK_TOGGLE_BUTTON(gtkconv->toolbar.fgcolor), FALSE);
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
119 gtkconv->dialogs.fg_color = NULL;
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
120 } else {
4635
42d53c416bb9 [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
121 gtk_toggle_button_set_active(
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
122 GTK_TOGGLE_BUTTON(gtkconv->toolbar.bgcolor), FALSE);
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
123 gtkconv->dialogs.bg_color = NULL;
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
124 }
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
125 } else if (GTK_IS_FONT_SELECTION_DIALOG(w)) {
4635
42d53c416bb9 [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
126 gtk_toggle_button_set_active(
4685
794cc8ec1166 [gaim-migrate @ 4996]
Nathan Walp <nwalp@pidgin.im>
parents: 4667
diff changeset
127 GTK_TOGGLE_BUTTON(gtkconv->toolbar.font), FALSE);
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
128 gtkconv->dialogs.font = NULL;
4793
677d3cb193a1 [gaim-migrate @ 5113]
Nathan Walp <nwalp@pidgin.im>
parents: 4787
diff changeset
129 } else if (!g_ascii_strcasecmp(object_data, "smiley dialog")) {
4635
42d53c416bb9 [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
130 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
131 FALSE);
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
132 gtkconv->dialogs.smiley = NULL;
4793
677d3cb193a1 [gaim-migrate @ 5113]
Nathan Walp <nwalp@pidgin.im>
parents: 4787
diff changeset
133 } else if (!g_ascii_strcasecmp(object_data, "log dialog")) {
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
134 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
135 FALSE);
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
136 gtkconv->dialogs.log = NULL;
608
e33dfed611c9 [gaim-migrate @ 618]
Todd Kulesza <fflewddur>
parents: 607
diff changeset
137 }
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
138
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
139 dialogwindows = g_list_remove(dialogwindows, w);
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
140 gtk_widget_destroy(w);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
141
311
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
142 return FALSE;
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
143 }
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
144
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
145 static void destroy_dialog(GtkWidget *w, GtkWidget *w2)
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
146 {
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
147 GtkWidget *dest;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
148
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
149 if (!GTK_IS_WIDGET(w2))
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
150 dest = w;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
151 else
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
152 dest = w2;
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
153
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
154 dialogwindows = g_list_remove(dialogwindows, dest);
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
155 gtk_widget_destroy(dest);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
156 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
157
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
158
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
159 void destroy_all_dialogs()
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
160 {
2621
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
161 while (dialogwindows)
f8b02cf4af94 [gaim-migrate @ 2634]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2613
diff changeset
162 destroy_dialog(NULL, dialogwindows->data);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
163
391
be408b41c172 [gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 350
diff changeset
164 if (awaymessage)
be408b41c172 [gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 350
diff changeset
165 do_im_back(NULL, NULL);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
166 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
167
3757
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
168 static void do_warn(GtkWidget *widget, gint resp, struct warning *w)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
169 {
3757
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
170 if (resp == GTK_RESPONSE_OK)
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
171 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
172
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
173 destroy_dialog(NULL, w->window);
7879
f9df510460d7 [gaim-migrate @ 8533]
Mark Doliner <mark@kingant.net>
parents: 7853
diff changeset
174 g_free(w->who);
1288
d8eaf65ca9c3 [gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1272
diff changeset
175 g_free(w);
d8eaf65ca9c3 [gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1272
diff changeset
176 }
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
177
7879
f9df510460d7 [gaim-migrate @ 8533]
Mark Doliner <mark@kingant.net>
parents: 7853
diff changeset
178 void show_warn_dialog(GaimConnection *gc, const char *who)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
179 {
3757
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
180 char *labeltext;
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
181 GtkWidget *hbox, *vbox;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
182 GtkWidget *label;
5024
8e55a4d362a3 [gaim-migrate @ 5361]
Sean Egan <seanegan@gmail.com>
parents: 4978
diff changeset
183 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
184 GaimConversation *c = gaim_find_conversation_with_account(who, gc->account);
441
995b0fc981a3 [gaim-migrate @ 451]
Rob Flynn <gaim@robflynn.com>
parents: 440
diff changeset
185
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
186 struct warning *w = g_new0(struct warning, 1);
7879
f9df510460d7 [gaim-migrate @ 8533]
Mark Doliner <mark@kingant.net>
parents: 7853
diff changeset
187 w->who = g_strdup(who);
1288
d8eaf65ca9c3 [gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1272
diff changeset
188 w->gc = gc;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
189
3757
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
190 gtk_misc_set_alignment(GTK_MISC(img), 0, 0);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
191
6112
a22c151463e1 [gaim-migrate @ 6574]
Nathan Walp <nwalp@pidgin.im>
parents: 6105
diff changeset
192 w->window = gtk_dialog_new_with_buttons(_("Warn User"),
a22c151463e1 [gaim-migrate @ 6574]
Nathan Walp <nwalp@pidgin.im>
parents: 6105
diff changeset
193 GTK_WINDOW(GAIM_GTK_WINDOW(c->window)->window), 0,
a22c151463e1 [gaim-migrate @ 6574]
Nathan Walp <nwalp@pidgin.im>
parents: 6105
diff changeset
194 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
8300
0f5cb0d93b11 [gaim-migrate @ 9024]
Christian Hammond <chipx86@chipx86.com>
parents: 8293
diff changeset
195 GAIM_STOCK_WARN, GTK_RESPONSE_OK, NULL);
4118
02b415cbba3a [gaim-migrate @ 4335]
Luke Schierer <lschiere@pidgin.im>
parents: 4117
diff changeset
196 gtk_dialog_set_default_response (GTK_DIALOG(w->window), GTK_RESPONSE_OK);
3757
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
197 g_signal_connect(G_OBJECT(w->window), "response", G_CALLBACK(do_warn), w);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
198
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
199 gtk_container_set_border_width (GTK_CONTAINER(w->window), 6);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
200 gtk_window_set_resizable(GTK_WINDOW(w->window), FALSE);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
201 gtk_dialog_set_has_separator(GTK_DIALOG(w->window), FALSE);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
202 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(w->window)->vbox), 12);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
203 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(w->window)->vbox), 6);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
204
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
205 hbox = gtk_hbox_new(FALSE, 12);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
206 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(w->window)->vbox), hbox);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
207 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
208
3757
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
209 vbox = gtk_vbox_new(FALSE, 0);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
210 gtk_container_add(GTK_CONTAINER(hbox), vbox);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
211 labeltext = g_strdup_printf(_("<span weight=\"bold\" size=\"larger\">Warn %s?</span>\n\n"
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
212 "This will increase %s's warning level and he or she will be subject to harsher rate limiting.\n"), who, who);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
213 label = gtk_label_new(NULL);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
214 gtk_label_set_markup(GTK_LABEL(label), labeltext);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
215 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
216 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
217 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
218 g_free(labeltext);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
219
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
220 w->anon = gtk_check_button_new_with_mnemonic(_("Warn _anonymously?"));
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
221 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
222
3757
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
223 hbox = gtk_hbox_new(FALSE, 6);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
224 gtk_container_add(GTK_CONTAINER(vbox), hbox);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
225 img = gtk_image_new_from_stock(GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_MENU);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
226 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
227 labeltext = _("<b>Anonymous warnings are less severe.</b>");
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
228 label = gtk_label_new(NULL);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
229 gtk_label_set_markup(GTK_LABEL(label), labeltext);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
230 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
231 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
232
1288
d8eaf65ca9c3 [gaim-migrate @ 1298]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1272
diff changeset
233 dialogwindows = g_list_prepend(dialogwindows, w->window);
3757
262ce45f5ae8 [gaim-migrate @ 3896]
Sean Egan <seanegan@gmail.com>
parents: 3753
diff changeset
234 gtk_widget_show_all(w->window);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
235 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
236
6334
930708df05dd [gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents: 6331
diff changeset
237 static void
7118
bf630f7dfdcd [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7108
diff changeset
238 do_remove_chat(GaimChat *chat)
5234
890b29f00b68 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
239 {
890b29f00b68 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
240 gaim_blist_remove_chat(chat);
890b29f00b68 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
241 gaim_blist_save();
890b29f00b68 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
242 }
890b29f00b68 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
243
6334
930708df05dd [gaim-migrate @ 6833]
Christian Hammond <chipx86@chipx86.com>
parents: 6331
diff changeset
244 static void
6695
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
245 do_remove_buddy(GaimBuddy *b)
2743
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
246 {
6695
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
247 GaimGroup *g;
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
248 GaimConversation *c;
4918
553d96cb9b26 [gaim-migrate @ 5252]
Christian Hammond <chipx86@chipx86.com>
parents: 4916
diff changeset
249 gchar *name;
6640
314111e7b601 [gaim-migrate @ 7165]
Christian Hammond <chipx86@chipx86.com>
parents: 6623
diff changeset
250 GaimAccount *account;
2743
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
251
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
252 if (!b)
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
253 return;
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
254
4687
283fb289c510 [gaim-migrate @ 4998]
Sean Egan <seanegan@gmail.com>
parents: 4685
diff changeset
255 g = gaim_find_buddys_group(b);
6640
314111e7b601 [gaim-migrate @ 7165]
Christian Hammond <chipx86@chipx86.com>
parents: 6623
diff changeset
256 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
257 account = b->account;
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
258
5213
1cf4eb75e3ee [gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
259 gaim_debug(GAIM_DEBUG_INFO, "blist",
1cf4eb75e3ee [gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
260 "Removing '%s' from buddy list.\n", b->name);
4491
3196d9044a45 [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4476
diff changeset
261 serv_remove_buddy(b->account->gc, name, g->name);
4687
283fb289c510 [gaim-migrate @ 4998]
Sean Egan <seanegan@gmail.com>
parents: 4685
diff changeset
262 gaim_blist_remove_buddy(b);
4349
0c68d402f59f [gaim-migrate @ 4614]
Nathan Walp <nwalp@pidgin.im>
parents: 4333
diff changeset
263 gaim_blist_save();
2743
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
264
6640
314111e7b601 [gaim-migrate @ 7165]
Christian Hammond <chipx86@chipx86.com>
parents: 6623
diff changeset
265 c = gaim_find_conversation_with_account(name, account);
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
266
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
267 if (c != NULL)
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
268 gaim_conversation_update(c, GAIM_CONV_UPDATE_REMOVE);
4397
ce3a0eba91ef [gaim-migrate @ 4666]
Christian Hammond <chipx86@chipx86.com>
parents: 4372
diff changeset
269
ce3a0eba91ef [gaim-migrate @ 4666]
Christian Hammond <chipx86@chipx86.com>
parents: 4372
diff changeset
270 g_free(name);
2743
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
271 }
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
272
6742
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
273 static void do_remove_contact(GaimContact *c)
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
274 {
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
275 GaimBlistNode *bnode, *cnode;
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
276 GaimGroup *g;
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
277
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
278 if(!c)
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
279 return;
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
280
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
281 cnode = (GaimBlistNode *)c;
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
282 g = (GaimGroup*)cnode->parent;
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
283 for(bnode = cnode->child; bnode; bnode = bnode->next) {
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
284 GaimBuddy *b = (GaimBuddy*)bnode;
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
285 if(b->account->gc)
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
286 serv_remove_buddy(b->account->gc, b->name, g->name);
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
287 }
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
288 gaim_blist_remove_contact(c);
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
289 }
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
290
6695
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
291 void do_remove_group(GaimGroup *g)
4916
d9b6b5ae34e4 [gaim-migrate @ 5250]
Sean Egan <seanegan@gmail.com>
parents: 4874
diff changeset
292 {
6695
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
293 GaimBlistNode *cnode, *bnode;
6885
66dd420d3d23 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6878
diff changeset
294
6695
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
295 cnode = ((GaimBlistNode*)g)->child;
6885
66dd420d3d23 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6878
diff changeset
296
6695
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
297 while(cnode) {
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
298 if(GAIM_BLIST_NODE_IS_CONTACT(cnode)) {
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
299 bnode = cnode->child;
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
300 cnode = cnode->next;
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
301 while(bnode) {
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
302 GaimBuddy *b;
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
303 if(GAIM_BLIST_NODE_IS_BUDDY(bnode)) {
6745
57a24492434b [gaim-migrate @ 7277]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6742
diff changeset
304 GaimConversation *c;
57a24492434b [gaim-migrate @ 7277]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6742
diff changeset
305 b = (GaimBuddy*)bnode;
6695
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
306 bnode = bnode->next;
6745
57a24492434b [gaim-migrate @ 7277]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6742
diff changeset
307 c = gaim_find_conversation_with_account(b->name, b->account);
6695
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
308 if(gaim_account_is_connected(b->account)) {
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
309 serv_remove_buddy(b->account->gc, b->name, g->name);
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
310 gaim_blist_remove_buddy(b);
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
311 if(c)
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
312 gaim_conversation_update(c,
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
313 GAIM_CONV_UPDATE_REMOVE);
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
314 }
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
315 } else {
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
316 bnode = bnode->next;
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
317 }
5234
890b29f00b68 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
318 }
6695
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
319 } else if(GAIM_BLIST_NODE_IS_CHAT(cnode)) {
7118
bf630f7dfdcd [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7108
diff changeset
320 GaimChat *chat = (GaimChat *)cnode;
6695
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
321 cnode = cnode->next;
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
322 if(gaim_account_is_connected(chat->account))
6088
4314e6be74c4 [gaim-migrate @ 6547]
Mark Doliner <mark@kingant.net>
parents: 6065
diff changeset
323 gaim_blist_remove_chat(chat);
6695
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
324 } else {
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
325 cnode = cnode->next;
4938
461e8c89514f [gaim-migrate @ 5272]
Nathan Walp <nwalp@pidgin.im>
parents: 4936
diff changeset
326 }
4916
d9b6b5ae34e4 [gaim-migrate @ 5250]
Sean Egan <seanegan@gmail.com>
parents: 4874
diff changeset
327 }
6885
66dd420d3d23 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6878
diff changeset
328
4916
d9b6b5ae34e4 [gaim-migrate @ 5250]
Sean Egan <seanegan@gmail.com>
parents: 4874
diff changeset
329 gaim_blist_remove_group(g);
d9b6b5ae34e4 [gaim-migrate @ 5250]
Sean Egan <seanegan@gmail.com>
parents: 4874
diff changeset
330 gaim_blist_save();
d9b6b5ae34e4 [gaim-migrate @ 5250]
Sean Egan <seanegan@gmail.com>
parents: 4874
diff changeset
331 }
d9b6b5ae34e4 [gaim-migrate @ 5250]
Sean Egan <seanegan@gmail.com>
parents: 4874
diff changeset
332
6695
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
333 void show_confirm_del(GaimBuddy *b)
2743
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
334 {
3753
764ecb5f984b [gaim-migrate @ 3892]
Sean Egan <seanegan@gmail.com>
parents: 3749
diff changeset
335 char *text;
5975
80e5258226f3 [gaim-migrate @ 6422]
Mark Doliner <mark@kingant.net>
parents: 5970
diff changeset
336 if (!b)
3753
764ecb5f984b [gaim-migrate @ 3892]
Sean Egan <seanegan@gmail.com>
parents: 3749
diff changeset
337 return;
764ecb5f984b [gaim-migrate @ 3892]
Sean Egan <seanegan@gmail.com>
parents: 3749
diff changeset
338
5975
80e5258226f3 [gaim-migrate @ 6422]
Mark Doliner <mark@kingant.net>
parents: 5970
diff changeset
339 text = g_strdup_printf(_("You are about to remove %s from your buddy list. Do you want to continue?"), b->name);
80e5258226f3 [gaim-migrate @ 6422]
Mark Doliner <mark@kingant.net>
parents: 5970
diff changeset
340
80e5258226f3 [gaim-migrate @ 6422]
Mark Doliner <mark@kingant.net>
parents: 5970
diff changeset
341 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
342 _("Remove Buddy"), G_CALLBACK(do_remove_buddy),
cce2d7868c78 [gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
343 _("Cancel"), NULL);
cce2d7868c78 [gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
344
3753
764ecb5f984b [gaim-migrate @ 3892]
Sean Egan <seanegan@gmail.com>
parents: 3749
diff changeset
345 g_free(text);
2743
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
346 }
9f71beb77c60 [gaim-migrate @ 2756]
Rob Flynn <gaim@robflynn.com>
parents: 2725
diff changeset
347
7118
bf630f7dfdcd [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7108
diff changeset
348 void show_confirm_del_blist_chat(GaimChat *chat)
5234
890b29f00b68 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
349 {
7125
208cb260d7a7 [gaim-migrate @ 7692]
Nathan Walp <nwalp@pidgin.im>
parents: 7118
diff changeset
350 char *name = gaim_chat_get_display_name(chat);
6034
5a0060191a77 [gaim-migrate @ 6484]
Luke Schierer <lschiere@pidgin.im>
parents: 6021
diff changeset
351 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
352
cce2d7868c78 [gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
353 gaim_request_action(NULL, NULL, _("Remove Chat"), text, -1, chat, 2,
cce2d7868c78 [gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
354 _("Remove Chat"), G_CALLBACK(do_remove_chat),
cce2d7868c78 [gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
355 _("Cancel"), NULL);
cce2d7868c78 [gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
356
6034
5a0060191a77 [gaim-migrate @ 6484]
Luke Schierer <lschiere@pidgin.im>
parents: 6021
diff changeset
357 g_free(name);
5234
890b29f00b68 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
358 g_free(text);
890b29f00b68 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
359 }
890b29f00b68 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
360
6695
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
361 void show_confirm_del_group(GaimGroup *g)
4916
d9b6b5ae34e4 [gaim-migrate @ 5250]
Sean Egan <seanegan@gmail.com>
parents: 4874
diff changeset
362 {
6465
fb64cc87bc96 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
363 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
d9b6b5ae34e4 [gaim-migrate @ 5250]
Sean Egan <seanegan@gmail.com>
parents: 4874
diff changeset
364 g->name);
5498
cce2d7868c78 [gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
365
cce2d7868c78 [gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
366 gaim_request_action(NULL, NULL, _("Remove Group"), text, -1, g, 2,
cce2d7868c78 [gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
367 _("Remove Group"), G_CALLBACK(do_remove_group),
cce2d7868c78 [gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
368 _("Cancel"), NULL);
cce2d7868c78 [gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
369
4916
d9b6b5ae34e4 [gaim-migrate @ 5250]
Sean Egan <seanegan@gmail.com>
parents: 4874
diff changeset
370 g_free(text);
d9b6b5ae34e4 [gaim-migrate @ 5250]
Sean Egan <seanegan@gmail.com>
parents: 4874
diff changeset
371 }
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
372
6742
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
373 void show_confirm_del_contact(GaimContact *c)
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
374 {
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
375 GaimBuddy *b = gaim_contact_get_priority_buddy(c);
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
376
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
377 if(!b)
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
378 return;
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
379
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
380 if(((GaimBlistNode*)c)->child == (GaimBlistNode*)b &&
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
381 !((GaimBlistNode*)b)->next) {
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
382 show_confirm_del(b);
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
383 } else {
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
384 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?"),
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
385 b->name, c->totalsize - 1);
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
386
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
387 gaim_request_action(NULL, NULL, _("Remove Contact"), text, -1, c, 2,
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
388 _("Remove Contact"), G_CALLBACK(do_remove_contact),
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
389 _("Cancel"), NULL);
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
390
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
391 g_free(text);
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
392 }
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
393 }
d93c6a1fadf2 [gaim-migrate @ 7274]
Nathan Walp <nwalp@pidgin.im>
parents: 6695
diff changeset
394
7757
72727edb37ef [gaim-migrate @ 8402]
Mark Doliner <mark@kingant.net>
parents: 7756
diff changeset
395 static gboolean show_ee_dialog(const char *ee)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
396 {
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
397 GtkWidget *window;
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
398 GtkWidget *hbox;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
399 GtkWidget *label;
7098
770233dad86c [gaim-migrate @ 7663]
Christian Hammond <chipx86@chipx86.com>
parents: 7085
diff changeset
400 GaimGtkBuddyList *gtkblist;
5024
8e55a4d362a3 [gaim-migrate @ 5361]
Sean Egan <seanegan@gmail.com>
parents: 4978
diff changeset
401 GtkWidget *img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_COOL, GTK_ICON_SIZE_DIALOG);
7757
72727edb37ef [gaim-migrate @ 8402]
Mark Doliner <mark@kingant.net>
parents: 7756
diff changeset
402 gchar *norm = gaim_strreplace(ee, "rocksmyworld", "");
4695
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
403
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
404 gtkblist = GAIM_GTK_BLIST(gaim_get_blist());
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
405
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
406 label = gtk_label_new(NULL);
7757
72727edb37ef [gaim-migrate @ 8402]
Mark Doliner <mark@kingant.net>
parents: 7756
diff changeset
407 if (!strcmp(norm, "zilding"))
6465
fb64cc87bc96 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
408 gtk_label_set_markup(GTK_LABEL(label),
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
409 "<span weight=\"bold\" size=\"large\" foreground=\"purple\">Amazing! Simply Amazing!</span>");
7757
72727edb37ef [gaim-migrate @ 8402]
Mark Doliner <mark@kingant.net>
parents: 7756
diff changeset
410 else if (!strcmp(norm, "robflynn"))
6465
fb64cc87bc96 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
411 gtk_label_set_markup(GTK_LABEL(label),
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
412 "<span weight=\"bold\" size=\"large\" foreground=\"#1f6bad\">Pimpin\' Penguin Style! *Waddle Waddle*</span>");
7757
72727edb37ef [gaim-migrate @ 8402]
Mark Doliner <mark@kingant.net>
parents: 7756
diff changeset
413 else if (!strcmp(norm, "flynorange"))
6465
fb64cc87bc96 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
414 gtk_label_set_markup(GTK_LABEL(label),
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
415 "<span weight=\"bold\" size=\"large\" foreground=\"blue\">You should be me. I'm so cute!</span>");
7757
72727edb37ef [gaim-migrate @ 8402]
Mark Doliner <mark@kingant.net>
parents: 7756
diff changeset
416 else if (!strcmp(norm, "ewarmenhoven"))
6465
fb64cc87bc96 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
417 gtk_label_set_markup(GTK_LABEL(label),
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
418 "<span weight=\"bold\" size=\"large\" foreground=\"orange\">Now that's what I like!</span>");
7757
72727edb37ef [gaim-migrate @ 8402]
Mark Doliner <mark@kingant.net>
parents: 7756
diff changeset
419 else if (!strcmp(norm, "markster97"))
6465
fb64cc87bc96 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
420 gtk_label_set_markup(GTK_LABEL(label),
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
421 "<span weight=\"bold\" size=\"large\" foreground=\"brown\">Ahh, and excellent choice!</span>");
7757
72727edb37ef [gaim-migrate @ 8402]
Mark Doliner <mark@kingant.net>
parents: 7756
diff changeset
422 else if (!strcmp(norm, "seanegn"))
6465
fb64cc87bc96 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
423 gtk_label_set_markup(GTK_LABEL(label),
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
424 "<span weight=\"bold\" size=\"large\" foreground=\"#009900\">Everytime you click my name, an angel gets its wings.</span>");
7757
72727edb37ef [gaim-migrate @ 8402]
Mark Doliner <mark@kingant.net>
parents: 7756
diff changeset
425 else if (!strcmp(norm, "chipx86"))
6465
fb64cc87bc96 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
426 gtk_label_set_markup(GTK_LABEL(label),
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
427 "<span weight=\"bold\" size=\"large\" foreground=\"red\">This sunflower seed taste like pizza.</span>");
7757
72727edb37ef [gaim-migrate @ 8402]
Mark Doliner <mark@kingant.net>
parents: 7756
diff changeset
428 else if (!strcmp(norm, "markdoliner"))
6465
fb64cc87bc96 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
429 gtk_label_set_markup(GTK_LABEL(label),
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
430 "<span weight=\"bold\" size=\"large\" foreground=\"#6364B1\">Hey! I was in that tumbleweed!</span>");
7757
72727edb37ef [gaim-migrate @ 8402]
Mark Doliner <mark@kingant.net>
parents: 7756
diff changeset
431 else if (!strcmp(norm, "lschiere"))
6465
fb64cc87bc96 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
432 gtk_label_set_markup(GTK_LABEL(label),
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
433 "<span weight=\"bold\" size=\"large\" foreground=\"gray\">I'm not anything.</span>");
7757
72727edb37ef [gaim-migrate @ 8402]
Mark Doliner <mark@kingant.net>
parents: 7756
diff changeset
434 g_free(norm);
72727edb37ef [gaim-migrate @ 8402]
Mark Doliner <mark@kingant.net>
parents: 7756
diff changeset
435
72727edb37ef [gaim-migrate @ 8402]
Mark Doliner <mark@kingant.net>
parents: 7756
diff changeset
436 if (strlen(gtk_label_get_label(GTK_LABEL(label))) <= 0)
72727edb37ef [gaim-migrate @ 8402]
Mark Doliner <mark@kingant.net>
parents: 7756
diff changeset
437 return FALSE;
6465
fb64cc87bc96 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
438
7678
cf6a7939af78 [gaim-migrate @ 8322]
Sean Egan <seanegan@gmail.com>
parents: 7538
diff changeset
439 window = gtk_dialog_new_with_buttons(GAIM_ALERT_TITLE, GTK_WINDOW(gtkblist->window), 0, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL);
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
440 gtk_dialog_set_default_response (GTK_DIALOG(window), GTK_RESPONSE_OK);
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
441 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
442
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
443 gtk_container_set_border_width (GTK_CONTAINER(window), 6);
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
444 gtk_window_set_resizable(GTK_WINDOW(window), FALSE);
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
445 gtk_dialog_set_has_separator(GTK_DIALOG(window), FALSE);
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
446 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(window)->vbox), 12);
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
447 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(window)->vbox), 6);
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
448
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
449 hbox = gtk_hbox_new(FALSE, 12);
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
450 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(window)->vbox), hbox);
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
451 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
452
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
453 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
454 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
455 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
4635
42d53c416bb9 [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
456
3767
65e9ea5934c8 [gaim-migrate @ 3906]
Sean Egan <seanegan@gmail.com>
parents: 3757
diff changeset
457 gtk_widget_show_all(window);
7757
72727edb37ef [gaim-migrate @ 8402]
Mark Doliner <mark@kingant.net>
parents: 7756
diff changeset
458 return TRUE;
72727edb37ef [gaim-migrate @ 8402]
Mark Doliner <mark@kingant.net>
parents: 7756
diff changeset
459 }
72727edb37ef [gaim-migrate @ 8402]
Mark Doliner <mark@kingant.net>
parents: 7756
diff changeset
460
8286
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
461 static void
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
462 new_im_cb(gpointer data, GaimRequestFields *fields)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
463 {
8286
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
464 const char *username;
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
465 GaimAccount *account;
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
466 GaimConversation *conv;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
467
8286
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
468 username = gaim_request_fields_get_string(fields, "screenname");
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
469 account = gaim_request_fields_get_account(fields, "account");
4695
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4687
diff changeset
470
8286
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
471 conv = gaim_find_conversation_with_account(username, account);
4613
5385b3625a72 [gaim-migrate @ 4902]
Nathan Walp <nwalp@pidgin.im>
parents: 4609
diff changeset
472
8286
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
473 if (conv == NULL)
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
474 conv = gaim_conversation_new(GAIM_CONV_IM, account, username);
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
475 else
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
476 gaim_conv_window_raise(gaim_conversation_get_window(conv));
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
477 }
7755
8ebd9038ef62 [gaim-migrate @ 8400]
Mark Doliner <mark@kingant.net>
parents: 7751
diff changeset
478
8286
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
479 void
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
480 show_im_dialog(void)
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
481 {
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
482 GaimRequestFields *fields;
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
483 GaimRequestFieldGroup *group;
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
484 GaimRequestField *field;
4613
5385b3625a72 [gaim-migrate @ 4902]
Nathan Walp <nwalp@pidgin.im>
parents: 4609
diff changeset
485
8286
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
486 fields = gaim_request_fields_new();
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
487
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
488 group = gaim_request_field_group_new(NULL);
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
489 gaim_request_fields_add_group(fields, group);
4613
5385b3625a72 [gaim-migrate @ 4902]
Nathan Walp <nwalp@pidgin.im>
parents: 4609
diff changeset
490
8286
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
491 field = gaim_request_field_string_new("screenname", _("_Screen name"),
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
492 NULL, FALSE);
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
493 gaim_request_field_set_required(field, TRUE);
8293
a1b7c7f3d9a7 [gaim-migrate @ 9017]
Christian Hammond <chipx86@chipx86.com>
parents: 8290
diff changeset
494 gaim_request_field_set_type_hint(field, "screenname");
8286
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
495 gaim_request_field_group_add_field(group, field);
7755
8ebd9038ef62 [gaim-migrate @ 8400]
Mark Doliner <mark@kingant.net>
parents: 7751
diff changeset
496
8286
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
497 field = gaim_request_field_account_new("account", _("_Account"), NULL);
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
498 gaim_request_field_set_visible(field,
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
499 (gaim_connections_get_all() != NULL &&
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
500 gaim_connections_get_all()->next != NULL));
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
501 gaim_request_field_set_required(field, TRUE);
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
502 gaim_request_field_group_add_field(group, field);
4613
5385b3625a72 [gaim-migrate @ 4902]
Nathan Walp <nwalp@pidgin.im>
parents: 4609
diff changeset
503
8286
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
504 gaim_request_fields(gaim_get_blist(), _("New Instant Message"),
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
505 NULL,
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
506 _("Please enter the screen name of the person you "
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
507 "would like to IM."),
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
508 fields,
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
509 _("OK"), G_CALLBACK(new_im_cb),
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
510 _("Cancel"), NULL,
89d9d004e3f3 [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8152
diff changeset
511 NULL);
3197
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
512 }
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
513
8290
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
514 static void
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
515 get_info_cb(gpointer data, GaimRequestFields *fields)
935
5e6ca3dd4d02 [gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 934
diff changeset
516 {
8290
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
517 char *username;
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
518 gboolean found = FALSE;
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
519 GaimAccount *account;
3197
389ed797f396 [gaim-migrate @ 3214]
Sean Egan <seanegan@gmail.com>
parents: 3159
diff changeset
520
8290
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
521 account = gaim_request_fields_get_account(fields, "account");
6465
fb64cc87bc96 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
522
8290
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
523 username = g_strdup(gaim_normalize(account,
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
524 gaim_request_fields_get_string(fields, "screenname")));
5880
1b85ff65be57 [gaim-migrate @ 6312]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
525
8290
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
526 if (username != NULL && gaim_str_has_suffix(username, "rocksmyworld"))
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
527 found = show_ee_dialog(username);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
528
8290
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
529 if (!found && username != NULL && *username != '\0' && account != NULL)
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
530 serv_get_info(gaim_account_get_connection(account), username);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
531
8290
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
532 g_free(username);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
533 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
534
8290
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
535 void
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
536 show_info_dialog(void)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
537 {
8290
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
538 GaimRequestFields *fields;
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
539 GaimRequestFieldGroup *group;
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
540 GaimRequestField *field;
7927
1441648fe974 [gaim-migrate @ 8598]
Mark Doliner <mark@kingant.net>
parents: 7925
diff changeset
541
8290
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
542 fields = gaim_request_fields_new();
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
543
8290
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
544 group = gaim_request_field_group_new(NULL);
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
545 gaim_request_fields_add_group(fields, group);
4262
7103653dd34e [gaim-migrate @ 4513]
Rob Flynn <gaim@robflynn.com>
parents: 4249
diff changeset
546
8290
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
547 field = gaim_request_field_string_new("screenname", _("_Screen name"),
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
548 NULL, FALSE);
8293
a1b7c7f3d9a7 [gaim-migrate @ 9017]
Christian Hammond <chipx86@chipx86.com>
parents: 8290
diff changeset
549 gaim_request_field_set_type_hint(field, "screenname");
8290
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
550 gaim_request_field_set_required(field, TRUE);
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
551 gaim_request_field_group_add_field(group, field);
6465
fb64cc87bc96 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
552
8290
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
553 field = gaim_request_field_account_new("account", _("_Account"), NULL);
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
554 gaim_request_field_set_visible(field,
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
555 (gaim_connections_get_all() != NULL &&
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
556 gaim_connections_get_all()->next != NULL));
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
557 gaim_request_field_set_required(field, TRUE);
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
558 gaim_request_field_group_add_field(group, field);
6465
fb64cc87bc96 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6431
diff changeset
559
8290
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
560 gaim_request_fields(gaim_get_blist(), _("Get User Info"),
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
561 NULL,
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
562 _("Please enter the screen name of the person whose "
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
563 "info you would like to view."),
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
564 fields,
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
565 _("OK"), G_CALLBACK(get_info_cb),
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
566 _("Cancel"), NULL,
84ec38c3efcc [gaim-migrate @ 9014]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
567 NULL);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
568 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
569
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
570 /*------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
571 /* Color Selection Dialog */
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
572 /*------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
573
3367
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
574 GtkWidget *fgcseld = NULL;
3b00d97d59aa [gaim-migrate @ 3386]
Sean Egan <seanegan@gmail.com>
parents: 3348
diff changeset
575 GtkWidget *bgcseld = NULL;
657
4bbc103a3294 [gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 654
diff changeset
576
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
577 void cancel_fgcolor(GtkWidget *widget, GaimConversation *c)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
578 {
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
579 GaimGtkConversation *gtkconv;
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
580
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
581 gtkconv = GAIM_GTK_CONVERSATION(c);
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
582
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
583 if (gtkconv->toolbar.fgcolor && widget) {
4635
42d53c416bb9 [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
584 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
585 FALSE);
61
72e6a6eb1852 [gaim-migrate @ 71]
Rob Flynn <gaim@robflynn.com>
parents: 38
diff changeset
586 }
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
587
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
588 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.fg_color);
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
589 gtk_widget_destroy(gtkconv->dialogs.fg_color);
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
590 gtkconv->dialogs.fg_color = NULL;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
591 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
592
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
593 void cancel_bgcolor(GtkWidget *widget, GaimConversation *c)
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
594 {
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
595 GaimGtkConversation *gtkconv;
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
596
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
597 gtkconv = GAIM_GTK_CONVERSATION(c);
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
598
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
599 if (gtkconv->toolbar.bgcolor && widget) {
4635
42d53c416bb9 [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
600 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
601 FALSE);
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
602 }
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
603
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
604 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.bg_color);
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
605 gtk_widget_destroy(gtkconv->dialogs.bg_color);
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
606 gtkconv->dialogs.bg_color = NULL;
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
607 }
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
608
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
609 void do_fgcolor(GtkWidget *widget, GtkColorSelection *colorsel)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
610 {
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
611 GdkColor text_color;
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
612 GaimConversation *c;
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
613 GaimGtkConversation *gtkconv;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
614 char *open_tag;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
615
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
616 open_tag = g_malloc(30);
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
617
3557
1f026237d819 [gaim-migrate @ 3649]
Sean Egan <seanegan@gmail.com>
parents: 3554
diff changeset
618 gtk_color_selection_get_current_color(colorsel, &text_color);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
619
4635
42d53c416bb9 [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
620 c = g_object_get_data(G_OBJECT(colorsel), "gaim_conversation");
411
a330017b3aa4 [gaim-migrate @ 421]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 401
diff changeset
621 /* GTK_IS_EDITABLE(c->entry); huh? */
311
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
622
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
623 gtkconv = GAIM_GTK_CONVERSATION(c);
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
624
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
625 gtkconv->fg_color = text_color;
8061
ea073d234191 [gaim-migrate @ 8749]
Nathan Walp <nwalp@pidgin.im>
parents: 8046
diff changeset
626 g_snprintf(open_tag, 23, "#%02X%02X%02X",
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
627 text_color.red / 256,
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
628 text_color.green / 256,
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
629 text_color.blue / 256);
8061
ea073d234191 [gaim-migrate @ 8749]
Nathan Walp <nwalp@pidgin.im>
parents: 8046
diff changeset
630 gtk_imhtml_toggle_forecolor(GTK_IMHTML(gtkconv->entry), open_tag);
5213
1cf4eb75e3ee [gaim-migrate @ 5583]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
631
311
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
632 g_free(open_tag);
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
633 cancel_fgcolor(NULL, c);
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
634 }
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
635
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
636 void do_bgcolor(GtkWidget *widget, GtkColorSelection *colorsel)
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
637 {
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
638 GdkColor text_color;
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
639 GaimConversation *c;
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
640 GaimGtkConversation *gtkconv;
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
641 char *open_tag;
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
642
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
643 open_tag = g_malloc(30);
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
644
3557
1f026237d819 [gaim-migrate @ 3649]
Sean Egan <seanegan@gmail.com>
parents: 3554
diff changeset
645 gtk_color_selection_get_current_color(colorsel, &text_color);
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
646
4635
42d53c416bb9 [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
647 c = g_object_get_data(G_OBJECT(colorsel), "gaim_conversation");
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
648 /* GTK_IS_EDITABLE(c->entry); huh? */
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
649
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
650 gtkconv = GAIM_GTK_CONVERSATION(c);
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
651
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
652 gtkconv->bg_color = text_color;
8061
ea073d234191 [gaim-migrate @ 8749]
Nathan Walp <nwalp@pidgin.im>
parents: 8046
diff changeset
653 g_snprintf(open_tag, 25, "#%02X%02X%02X",
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
654 text_color.red / 256,
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
655 text_color.green / 256,
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
656 text_color.blue / 256);
8061
ea073d234191 [gaim-migrate @ 8749]
Nathan Walp <nwalp@pidgin.im>
parents: 8046
diff changeset
657 gtk_imhtml_toggle_backcolor(GTK_IMHTML(gtkconv->entry), open_tag);
ea073d234191 [gaim-migrate @ 8749]
Nathan Walp <nwalp@pidgin.im>
parents: 8046
diff changeset
658
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
659 g_free(open_tag);
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
660 cancel_bgcolor(NULL, c);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
661 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
662
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
663 void show_fgcolor_dialog(GaimConversation *c, GtkWidget *color)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
664 {
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
665 GaimGtkConversation *gtkconv;
311
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
666 GtkWidget *colorsel;
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
667 GdkColor fgcolor;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
668
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
669 gtkconv = GAIM_GTK_CONVERSATION(c);
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
670
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
671 gdk_color_parse(gaim_prefs_get_string("/gaim/gtk/conversations/fgcolor"),
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
672 &fgcolor);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
673
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
674 if (color == NULL) { /* we came from the prefs */
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
675 if (fgcseld)
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
676 return;
2209
9b8b32ae3b41 [gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2143
diff changeset
677
657
4bbc103a3294 [gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 654
diff changeset
678 fgcseld = gtk_color_selection_dialog_new(_("Select Text Color"));
4198
c46c977cfc9e [gaim-migrate @ 4429]
Luke Schierer <lschiere@pidgin.im>
parents: 4183
diff changeset
679 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION
c46c977cfc9e [gaim-migrate @ 4429]
Luke Schierer <lschiere@pidgin.im>
parents: 4183
diff changeset
680 (GTK_COLOR_SELECTION_DIALOG(fgcseld)->colorsel), &fgcolor);
5314
1f901484599d [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
681 g_signal_connect(G_OBJECT(fgcseld), "delete_event",
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
682 G_CALLBACK(destroy_colorsel), (void *)1);
5314
1f901484599d [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
683 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
684 "clicked", G_CALLBACK(destroy_colorsel), (void *)1);
5314
1f901484599d [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
685 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
686 G_CALLBACK(apply_color_dlg), (void *)1);
657
4bbc103a3294 [gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 654
diff changeset
687 gtk_widget_realize(fgcseld);
4bbc103a3294 [gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 654
diff changeset
688 gtk_widget_show(fgcseld);
4bbc103a3294 [gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 654
diff changeset
689 gdk_window_raise(fgcseld->window);
4bbc103a3294 [gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 654
diff changeset
690 return;
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
691 }
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
692
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
693 if (!gtkconv->dialogs.fg_color) {
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
694
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
695 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
696 colorsel = GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.fg_color)->colorsel;
4198
c46c977cfc9e [gaim-migrate @ 4429]
Luke Schierer <lschiere@pidgin.im>
parents: 4183
diff changeset
697 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(colorsel), &fgcolor);
4635
42d53c416bb9 [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
698 g_object_set_data(G_OBJECT(colorsel), "gaim_conversation", c);
2209
9b8b32ae3b41 [gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2143
diff changeset
699
5314
1f901484599d [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
700 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
701 G_CALLBACK(delete_event_dialog), c);
5314
1f901484599d [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
702 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
703 "clicked", G_CALLBACK(do_fgcolor), colorsel);
5314
1f901484599d [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
704 g_signal_connect(G_OBJECT
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
705 (GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.fg_color)->cancel_button),
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
706 "clicked", G_CALLBACK(cancel_fgcolor), c);
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
707
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
708 gtk_widget_realize(gtkconv->dialogs.fg_color);
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
709 }
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
710
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
711 gtk_widget_show(gtkconv->dialogs.fg_color);
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
712 gdk_window_raise(gtkconv->dialogs.fg_color->window);
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
713 }
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
714
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
715 void show_bgcolor_dialog(GaimConversation *c, GtkWidget *color)
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
716 {
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
717 GaimGtkConversation *gtkconv;
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
718 GtkWidget *colorsel;
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
719 GdkColor bgcolor;
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
720
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
721 gtkconv = GAIM_GTK_CONVERSATION(c);
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
722
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
723 gdk_color_parse(gaim_prefs_get_string("/gaim/gtk/conversations/bgcolor"),
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
724 &bgcolor);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
725
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
726 if (color == NULL) { /* we came from the prefs */
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
727 if (bgcseld)
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
728 return;
2209
9b8b32ae3b41 [gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2143
diff changeset
729
657
4bbc103a3294 [gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 654
diff changeset
730 bgcseld = gtk_color_selection_dialog_new(_("Select Background Color"));
4198
c46c977cfc9e [gaim-migrate @ 4429]
Luke Schierer <lschiere@pidgin.im>
parents: 4183
diff changeset
731 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION
c46c977cfc9e [gaim-migrate @ 4429]
Luke Schierer <lschiere@pidgin.im>
parents: 4183
diff changeset
732 (GTK_COLOR_SELECTION_DIALOG(bgcseld)->colorsel), &bgcolor);
5314
1f901484599d [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
733 g_signal_connect(G_OBJECT(bgcseld), "delete_event",
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
734 G_CALLBACK(destroy_colorsel), NULL);
5314
1f901484599d [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
735 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
736 "clicked", G_CALLBACK(destroy_colorsel), NULL);
5314
1f901484599d [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
737 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
738 G_CALLBACK(apply_color_dlg), (void *)2);
657
4bbc103a3294 [gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 654
diff changeset
739 gtk_widget_realize(bgcseld);
4bbc103a3294 [gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 654
diff changeset
740 gtk_widget_show(bgcseld);
4bbc103a3294 [gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 654
diff changeset
741 gdk_window_raise(bgcseld->window);
4bbc103a3294 [gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 654
diff changeset
742 return;
4bbc103a3294 [gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 654
diff changeset
743 }
4bbc103a3294 [gaim-migrate @ 667]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 654
diff changeset
744
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
745 if (!gtkconv->dialogs.bg_color) {
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
746
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
747 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
748 colorsel = GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.bg_color)->colorsel;
4198
c46c977cfc9e [gaim-migrate @ 4429]
Luke Schierer <lschiere@pidgin.im>
parents: 4183
diff changeset
749 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(colorsel), &bgcolor);
4635
42d53c416bb9 [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
750 g_object_set_data(G_OBJECT(colorsel), "gaim_conversation", c);
2209
9b8b32ae3b41 [gaim-migrate @ 2219]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2143
diff changeset
751
5314
1f901484599d [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
752 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
753 G_CALLBACK(delete_event_dialog), c);
5314
1f901484599d [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
754 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
755 "clicked", G_CALLBACK(do_bgcolor), colorsel);
5314
1f901484599d [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
756 g_signal_connect(G_OBJECT
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
757 (GTK_COLOR_SELECTION_DIALOG(gtkconv->dialogs.bg_color)->cancel_button),
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
758 "clicked", G_CALLBACK(cancel_bgcolor), c);
858
3de6e98e8898 [gaim-migrate @ 868]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 854
diff changeset
759
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
760 gtk_widget_realize(gtkconv->dialogs.bg_color);
311
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
761 }
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
762
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
763 gtk_widget_show(gtkconv->dialogs.bg_color);
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
764 gdk_window_raise(gtkconv->dialogs.bg_color->window);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
765 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
766
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
767 /*------------------------------------------------------------------------*/
230
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
768 /* Font Selection Dialog */
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
769 /*------------------------------------------------------------------------*/
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
770
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
771 void cancel_font(GtkWidget *widget, GaimConversation *c)
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
772 {
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
773 GaimGtkConversation *gtkconv;
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
774
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
775 gtkconv = GAIM_GTK_CONVERSATION(c);
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
776
4685
794cc8ec1166 [gaim-migrate @ 4996]
Nathan Walp <nwalp@pidgin.im>
parents: 4667
diff changeset
777 if (gtkconv->toolbar.font && widget) {
4635
42d53c416bb9 [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
778 gtk_toggle_button_set_active(
4685
794cc8ec1166 [gaim-migrate @ 4996]
Nathan Walp <nwalp@pidgin.im>
parents: 4667
diff changeset
779 GTK_TOGGLE_BUTTON(gtkconv->toolbar.font), FALSE);
311
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
780 }
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
781
5970
730015652f4d [gaim-migrate @ 6417]
Mark Doliner <mark@kingant.net>
parents: 5966
diff changeset
782 if (gtkconv->dialogs.font) {
730015652f4d [gaim-migrate @ 6417]
Mark Doliner <mark@kingant.net>
parents: 5966
diff changeset
783 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.font);
730015652f4d [gaim-migrate @ 6417]
Mark Doliner <mark@kingant.net>
parents: 5966
diff changeset
784 gtk_widget_destroy(gtkconv->dialogs.font);
730015652f4d [gaim-migrate @ 6417]
Mark Doliner <mark@kingant.net>
parents: 5966
diff changeset
785 gtkconv->dialogs.font = NULL;
730015652f4d [gaim-migrate @ 6417]
Mark Doliner <mark@kingant.net>
parents: 5966
diff changeset
786 }
230
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
787 }
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
788
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
789 void apply_font(GtkWidget *widget, GtkFontSelection *fontsel)
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
790 {
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
791 /* this could be expanded to include font size, weight, etc.
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
792 but for now only works with font face */
666
71ea550c22ac [gaim-migrate @ 676]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 657
diff changeset
793 char *fontname;
7079
5a45833dd253 [gaim-migrate @ 7644]
Nathan Walp <nwalp@pidgin.im>
parents: 7063
diff changeset
794 char *space;
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
795 GaimConversation *c = g_object_get_data(G_OBJECT(fontsel),
4635
42d53c416bb9 [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
796 "gaim_conversation");
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
797
7079
5a45833dd253 [gaim-migrate @ 7644]
Nathan Walp <nwalp@pidgin.im>
parents: 7063
diff changeset
798 if(!c)
5a45833dd253 [gaim-migrate @ 7644]
Nathan Walp <nwalp@pidgin.im>
parents: 7063
diff changeset
799 return;
5a45833dd253 [gaim-migrate @ 7644]
Nathan Walp <nwalp@pidgin.im>
parents: 7063
diff changeset
800
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
801 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
802
7079
5a45833dd253 [gaim-migrate @ 7644]
Nathan Walp <nwalp@pidgin.im>
parents: 7063
diff changeset
803 space = strrchr(fontname, ' ');
5a45833dd253 [gaim-migrate @ 7644]
Nathan Walp <nwalp@pidgin.im>
parents: 7063
diff changeset
804 if(space && isdigit(*(space+1)))
5a45833dd253 [gaim-migrate @ 7644]
Nathan Walp <nwalp@pidgin.im>
parents: 7063
diff changeset
805 *space = '\0';
5a45833dd253 [gaim-migrate @ 7644]
Nathan Walp <nwalp@pidgin.im>
parents: 7063
diff changeset
806
5a45833dd253 [gaim-migrate @ 7644]
Nathan Walp <nwalp@pidgin.im>
parents: 7063
diff changeset
807 gaim_gtk_set_font_face(GAIM_GTK_CONVERSATION(c), fontname);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
808
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
809 g_free(fontname);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
810
311
0a8b4edc4732 [gaim-migrate @ 321]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 308
diff changeset
811 cancel_font(NULL, c);
230
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
812 }
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
813
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
814 void destroy_fontsel(GtkWidget *w, gpointer d)
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
815 {
334
0fa651368776 [gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 311
diff changeset
816 gtk_widget_destroy(fontseld);
0fa651368776 [gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 311
diff changeset
817 fontseld = NULL;
0fa651368776 [gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 311
diff changeset
818 }
0fa651368776 [gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 311
diff changeset
819
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
820 void show_font_dialog(GaimConversation *c, GtkWidget *font)
230
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
821 {
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
822 GaimGtkConversation *gtkconv;
3473
0073a014e55b [gaim-migrate @ 3524]
Sean Egan <seanegan@gmail.com>
parents: 3472
diff changeset
823 char fonttif[128];
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
824 const char *fontface;
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 gtkconv = GAIM_GTK_CONVERSATION(c);
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
827
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
828 if (!font) { /* we came from the prefs dialog */
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
829 if (fontseld)
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
830 return;
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
831
350
fd3cc0a28d5d [gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 349
diff changeset
832 fontseld = gtk_font_selection_dialog_new(_("Select Font"));
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
833
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
834 fontface = gaim_prefs_get_string("/gaim/gtk/conversations/font_face");
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
835
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
836 if (fontface != NULL && *fontface != '\0') {
3473
0073a014e55b [gaim-migrate @ 3524]
Sean Egan <seanegan@gmail.com>
parents: 3472
diff changeset
837 g_snprintf(fonttif, sizeof(fonttif), "%s 12", fontface);
2763
477a035d81e5 [gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2761
diff changeset
838 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(fontseld),
3473
0073a014e55b [gaim-migrate @ 3524]
Sean Egan <seanegan@gmail.com>
parents: 3472
diff changeset
839 fonttif);
2763
477a035d81e5 [gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2761
diff changeset
840 } else {
477a035d81e5 [gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2761
diff changeset
841 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(fontseld),
3473
0073a014e55b [gaim-migrate @ 3524]
Sean Egan <seanegan@gmail.com>
parents: 3472
diff changeset
842 DEFAULT_FONT_FACE " 12");
2763
477a035d81e5 [gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2761
diff changeset
843 }
334
0fa651368776 [gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 311
diff changeset
844
5314
1f901484599d [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
845 g_signal_connect(G_OBJECT(fontseld), "delete_event",
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
846 G_CALLBACK(destroy_fontsel), NULL);
5314
1f901484599d [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
847 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
848 "clicked", G_CALLBACK(destroy_fontsel), NULL);
5314
1f901484599d [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
849 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
850 G_CALLBACK(apply_font_dlg), fontseld);
334
0fa651368776 [gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 311
diff changeset
851 gtk_widget_realize(fontseld);
0fa651368776 [gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 311
diff changeset
852 gtk_widget_show(fontseld);
0fa651368776 [gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 311
diff changeset
853 gdk_window_raise(fontseld->window);
0fa651368776 [gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 311
diff changeset
854 return;
0fa651368776 [gaim-migrate @ 344]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 311
diff changeset
855 }
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
856
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
857 if (!gtkconv->dialogs.font) {
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
858 gtkconv->dialogs.font = gtk_font_selection_dialog_new(_("Select Font"));
234
985635758c33 [gaim-migrate @ 244]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 231
diff changeset
859
4635
42d53c416bb9 [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
860 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
861
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
862 if (gtkconv->fontface[0]) {
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
863 g_snprintf(fonttif, sizeof(fonttif), "%s 12", gtkconv->fontface);
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
864 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(gtkconv->dialogs.font),
3473
0073a014e55b [gaim-migrate @ 3524]
Sean Egan <seanegan@gmail.com>
parents: 3472
diff changeset
865 fonttif);
2763
477a035d81e5 [gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2761
diff changeset
866 } else {
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
867 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(gtkconv->dialogs.font),
3473
0073a014e55b [gaim-migrate @ 3524]
Sean Egan <seanegan@gmail.com>
parents: 3472
diff changeset
868 DEFAULT_FONT_FACE);
2763
477a035d81e5 [gaim-migrate @ 2776]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2761
diff changeset
869 }
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
870
5314
1f901484599d [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
871 g_signal_connect(G_OBJECT(gtkconv->dialogs.font), "delete_event",
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
872 G_CALLBACK(delete_event_dialog), c);
5314
1f901484599d [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
873 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
874 "clicked", G_CALLBACK(apply_font), gtkconv->dialogs.font);
5314
1f901484599d [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5294
diff changeset
875 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
876 "clicked", G_CALLBACK(cancel_font), c);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
877
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
878 gtk_widget_realize(gtkconv->dialogs.font);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
879
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
880 }
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
881
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
882 gtk_widget_show(gtkconv->dialogs.font);
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
883 gdk_window_raise(gtkconv->dialogs.font->window);
230
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
884 }
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
885
83dd297aa363 [gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 229
diff changeset
886 /*------------------------------------------------------------------------*/
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
887 /* The dialog for new away messages */
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
888 /*------------------------------------------------------------------------*/
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
889
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
890 static struct away_message *save_away_message(struct create_away *ca)
717
d7c39f12eb89 [gaim-migrate @ 727]
Todd Kulesza <fflewddur>
parents: 710
diff changeset
891 {
d7c39f12eb89 [gaim-migrate @ 727]
Todd Kulesza <fflewddur>
parents: 710
diff changeset
892 struct away_message *am;
d7c39f12eb89 [gaim-migrate @ 727]
Todd Kulesza <fflewddur>
parents: 710
diff changeset
893 gchar *away_message;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
894
832
0142b4c66394 [gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 825
diff changeset
895 if (!ca->mess)
0142b4c66394 [gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 825
diff changeset
896 am = g_new0(struct away_message, 1);
2851
6eb5bf5089f0 [gaim-migrate @ 2864]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2827
diff changeset
897 else {
832
0142b4c66394 [gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 825
diff changeset
898 am = ca->mess;
2851
6eb5bf5089f0 [gaim-migrate @ 2864]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2827
diff changeset
899 }
1387
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
900
717
d7c39f12eb89 [gaim-migrate @ 727]
Todd Kulesza <fflewddur>
parents: 710
diff changeset
901 g_snprintf(am->name, sizeof(am->name), "%s", gtk_entry_get_text(GTK_ENTRY(ca->entry)));
4119
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
902 away_message = gtk_text_view_get_text(GTK_TEXT_VIEW(ca->text), FALSE);
717
d7c39f12eb89 [gaim-migrate @ 727]
Todd Kulesza <fflewddur>
parents: 710
diff changeset
903
d7c39f12eb89 [gaim-migrate @ 727]
Todd Kulesza <fflewddur>
parents: 710
diff changeset
904 g_snprintf(am->message, sizeof(am->message), "%s", away_message);
d7c39f12eb89 [gaim-migrate @ 727]
Todd Kulesza <fflewddur>
parents: 710
diff changeset
905 g_free(away_message);
d7c39f12eb89 [gaim-migrate @ 727]
Todd Kulesza <fflewddur>
parents: 710
diff changeset
906
7942
3e268e113bf1 [gaim-migrate @ 8613]
Mark Doliner <mark@kingant.net>
parents: 7939
diff changeset
907 if (!ca->mess)
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
908 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
909
5560
b7319c094153 [gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents: 5551
diff changeset
910 do_away_menu(NULL);
6065
3a40666c08b4 [gaim-migrate @ 6515]
Sean Egan <seanegan@gmail.com>
parents: 6059
diff changeset
911 gaim_status_sync();
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
912
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
913 return am;
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
914 }
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
915
1387
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
916 int check_away_mess(struct create_away *ca, int type)
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
917 {
4630
5cdfd20daa07 [gaim-migrate @ 4921]
Sean Egan <seanegan@gmail.com>
parents: 4614
diff changeset
918 char *msg;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
919 if ((strlen(gtk_entry_get_text(GTK_ENTRY(ca->entry))) == 0) && (type == 1)) {
1387
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
920 /* We shouldn't allow a blank title */
5436
ad445074d239 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5411
diff changeset
921 gaim_notify_error(NULL, NULL,
ad445074d239 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5411
diff changeset
922 _("You cannot save an away message with a "
ad445074d239 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5411
diff changeset
923 "blank title"),
ad445074d239 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5411
diff changeset
924 _("Please give the message a title, or choose "
ad445074d239 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5411
diff changeset
925 "\"Use\" to use without saving."));
1387
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
926 return 0;
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
927 }
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
928
4630
5cdfd20daa07 [gaim-migrate @ 4921]
Sean Egan <seanegan@gmail.com>
parents: 4614
diff changeset
929 msg = gtk_text_view_get_text(GTK_TEXT_VIEW(ca->text), FALSE);
5cdfd20daa07 [gaim-migrate @ 4921]
Sean Egan <seanegan@gmail.com>
parents: 4614
diff changeset
930
5cdfd20daa07 [gaim-migrate @ 4921]
Sean Egan <seanegan@gmail.com>
parents: 4614
diff changeset
931 if (!msg && (type <= 1)) {
1387
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
932 /* We shouldn't allow a blank message */
5436
ad445074d239 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5411
diff changeset
933 gaim_notify_error(NULL, NULL,
ad445074d239 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5411
diff changeset
934 _("You cannot create an empty away message"), NULL);
1387
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
935 return 0;
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
936 }
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
937
4630
5cdfd20daa07 [gaim-migrate @ 4921]
Sean Egan <seanegan@gmail.com>
parents: 4614
diff changeset
938 g_free(msg);
5cdfd20daa07 [gaim-migrate @ 4921]
Sean Egan <seanegan@gmail.com>
parents: 4614
diff changeset
939
1387
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
940 return 1;
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
941 }
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
942
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
943 void save_away_mess(GtkWidget *widget, struct create_away *ca)
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
944 {
1387
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
945 if (!check_away_mess(ca, 1))
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
946 return;
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
947
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
948 save_away_message(ca);
717
d7c39f12eb89 [gaim-migrate @ 727]
Todd Kulesza <fflewddur>
parents: 710
diff changeset
949 destroy_dialog(NULL, ca->window);
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
950 g_free(ca);
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
951 }
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
952
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
953 void use_away_mess(GtkWidget *widget, struct create_away *ca)
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
954 {
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
955 static struct away_message am;
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
956 gchar *away_message;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
957
1387
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
958 if (!check_away_mess(ca, 0))
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
959 return;
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
960
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
961 g_snprintf(am.name, sizeof(am.name), "%s", gtk_entry_get_text(GTK_ENTRY(ca->entry)));
4119
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
962 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
963
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
964 g_snprintf(am.message, sizeof(am.message), "%s", away_message);
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
965 g_free(away_message);
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
966
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
967 do_away_message(NULL, &am);
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
968
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
969 destroy_dialog(NULL, ca->window);
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
970 g_free(ca);
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
971 }
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
972
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
973 void su_away_mess(GtkWidget *widget, struct create_away *ca)
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
974 {
1387
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
975 if (!check_away_mess(ca, 1))
595a844dbe0b [gaim-migrate @ 1397]
Rob Flynn <gaim@robflynn.com>
parents: 1369
diff changeset
976 return;
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
977 do_away_message(NULL, save_away_message(ca));
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
978 destroy_dialog(NULL, ca->window);
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
979 g_free(ca);
717
d7c39f12eb89 [gaim-migrate @ 727]
Todd Kulesza <fflewddur>
parents: 710
diff changeset
980 }
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
981
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
982 void create_away_mess(GtkWidget *widget, void *dummy)
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
983 {
7949
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
984 GtkWidget *vbox, *hbox;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
985 GtkWidget *label;
7949
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
986 GtkWidget *sw;
441
995b0fc981a3 [gaim-migrate @ 451]
Rob Flynn <gaim@robflynn.com>
parents: 440
diff changeset
987 GtkWidget *button;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
988
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
989 struct create_away *ca = g_new0(struct create_away, 1);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
990
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
991 /* Set up window */
2725
f3c094e78609 [gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2681
diff changeset
992 GAIM_DIALOG(ca->window);
4635
42d53c416bb9 [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
993 gtk_widget_set_size_request(ca->window, -1, 250);
7949
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
994 gtk_container_set_border_width(GTK_CONTAINER(ca->window), 6);
4074
3ccbdf8e7f8d [gaim-migrate @ 4289]
Sean Egan <seanegan@gmail.com>
parents: 4061
diff changeset
995 gtk_window_set_role(GTK_WINDOW(ca->window), "away_mess");
4703
e4dda06a3143 [gaim-migrate @ 5014]
Sean Egan <seanegan@gmail.com>
parents: 4695
diff changeset
996 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
997 g_signal_connect(G_OBJECT(ca->window), "delete_event",
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4142
diff changeset
998 G_CALLBACK(destroy_dialog), ca->window);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
999
7949
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
1000 /*
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
1001 * This would be higgy... but I think it's pretty ugly --Mark
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
1002 * If you want to use this, make sure you add the vbox to the hbox below
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
1003 */
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
1004 /*
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
1005 hbox = gtk_hbox_new(FALSE, 12);
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
1006 gtk_container_set_border_width(GTK_CONTAINER(hbox), 12);
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
1007 gtk_container_add(GTK_CONTAINER(ca->window), hbox);
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
1008 */
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
1009
7949
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
1010 vbox = gtk_vbox_new(FALSE, 12);
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
1011 gtk_container_add(GTK_CONTAINER(ca->window), vbox);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
1012
7949
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
1013 /* Away message title */
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
1014 hbox = gtk_hbox_new(FALSE, 0);
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
1015 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
1016
350
fd3cc0a28d5d [gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 349
diff changeset
1017 label = gtk_label_new(_("Away title: "));
7949
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
1018 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1174
diff changeset
1019
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1020 ca->entry = gtk_entry_new();
7949
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
1021 gtk_box_pack_start(GTK_BOX(hbox), ca->entry, TRUE, TRUE, 0);
8137
4971193f761d [gaim-migrate @ 8842]
Mark Doliner <mark@kingant.net>
parents: 8061
diff changeset
1022 gaim_set_accessible_label (ca->entry, label);
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
1023 gtk_widget_grab_focus(ca->entry);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1024
7949
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
1025 /* Away message text */
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
1026 sw = gtk_scrolled_window_new(NULL, NULL);
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
1027 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw),
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
1028 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
1029 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN);
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
1030 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0);
5024
8e55a4d362a3 [gaim-migrate @ 5361]
Sean Egan <seanegan@gmail.com>
parents: 4978
diff changeset
1031
4119
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
1032 ca->text = gtk_text_view_new();
5105
4cfc49e31c2e [gaim-migrate @ 5468]
Luke Schierer <lschiere@pidgin.im>
parents: 5092
diff changeset
1033 gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(ca->text), GTK_WRAP_WORD_CHAR);
5024
8e55a4d362a3 [gaim-migrate @ 5361]
Sean Egan <seanegan@gmail.com>
parents: 4978
diff changeset
1034
7538
357eb1c39b72 [gaim-migrate @ 8151]
Christian Hammond <chipx86@chipx86.com>
parents: 7431
diff changeset
1035 if (gaim_prefs_get_bool("/gaim/gtk/conversations/spellcheck"))
357eb1c39b72 [gaim-migrate @ 8151]
Christian Hammond <chipx86@chipx86.com>
parents: 7431
diff changeset
1036 gaim_gtk_setup_gtkspell(GTK_TEXT_VIEW(ca->text));
7002
57ea8be4ff4a [gaim-migrate @ 7558]
Sean Egan <seanegan@gmail.com>
parents: 6982
diff changeset
1037
7949
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
1038 gtk_container_add(GTK_CONTAINER(sw), ca->text);
5024
8e55a4d362a3 [gaim-migrate @ 5361]
Sean Egan <seanegan@gmail.com>
parents: 4978
diff changeset
1039
3374
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
1040 if (dummy) {
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
1041 struct away_message *amt;
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
1042 GtkTreeIter iter;
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
1043 int pos = 0;
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
1044 GtkListStore *ls = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(dummy)));
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
1045 GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(dummy));
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
1046 GValue val = { 0, };
4119
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
1047 GtkTextIter start;
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
1048 GtkTextBuffer *buffer;
3374
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
1049
3716
d7e83b4db191 [gaim-migrate @ 3849]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3671
diff changeset
1050 if (! gtk_tree_selection_get_selected (sel, (GtkTreeModel**)&ls, &iter))
3374
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
1051 return;
3716
d7e83b4db191 [gaim-migrate @ 3849]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3671
diff changeset
1052 gtk_tree_model_get_value (GTK_TREE_MODEL(ls), &iter, 1, &val);
3374
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
1053 amt = g_value_get_pointer (&val);
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
1054 gtk_entry_set_text(GTK_ENTRY(ca->entry), amt->name);
4119
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
1055 buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(ca->text));
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
1056 gtk_text_buffer_get_iter_at_offset(buffer, &start, pos);
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
1057 gtk_text_buffer_insert(buffer, &start, amt->message, strlen(amt->message));
a6825994ab3a [gaim-migrate @ 4336]
Luke Schierer <lschiere@pidgin.im>
parents: 4118
diff changeset
1058
3374
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
1059 ca->mess = amt;
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3367
diff changeset
1060 }
832
0142b4c66394 [gaim-migrate @ 842]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 825
diff changeset
1061
1213
1bdb08cc5d59 [gaim-migrate @ 1223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1210
diff changeset
1062 hbox = gtk_hbox_new(FALSE, 5);
7949
b356e2a9d7fc [gaim-migrate @ 8623]
Mark Doliner <mark@kingant.net>
parents: 7942
diff changeset
1063 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
5024
8e55a4d362a3 [gaim-migrate @ 5361]
Sean Egan <seanegan@gmail.com>
parents: 4978
diff changeset
1064
8e55a4d362a3 [gaim-migrate @ 5361]
Sean Egan <seanegan@gmail.com>
parents: 4978
diff changeset
1065 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
1066 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(save_away_mess), ca);
4092
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
1067 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0);
7edd02612086 [gaim-migrate @ 4307]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
1068
5024
8e55a4d362a3 [gaim-migrate @ 5361]
Sean Egan <seanegan@gmail.com>
parents: 4978
diff changeset
1069 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
1070 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
1071 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
1072
5024
8e55a4d362a3 [gaim-migrate @ 5361]
Sean Egan <seanegan@gmail.com>
parents: 4978
diff changeset
1073 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
1074 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
1075 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
1076
5024
8e55a4d362a3 [gaim-migrate @ 5361]
Sean Egan <seanegan@gmail.com>
parents: 4978
diff changeset
1077 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
1078 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
1079 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
1080
5024
8e55a4d362a3 [gaim-migrate @ 5361]
Sean Egan <seanegan@gmail.com>
parents: 4978
diff changeset
1081 gtk_widget_show_all(ca->window);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1082 }
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
1083
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
1084 /* smiley dialog */
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
1085
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1086 void close_smiley_dialog(GtkWidget *widget, GaimConversation *c)
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1087 {
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1088 GaimGtkConversation *gtkconv;
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1089
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1090 gtkconv = GAIM_GTK_CONVERSATION(c);
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1091
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1092 if (gtkconv->toolbar.smiley) {
4635
42d53c416bb9 [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1093 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
1094 FALSE);
570
93c65fbaa622 [gaim-migrate @ 580]
Todd Kulesza <fflewddur>
parents: 567
diff changeset
1095 }
5275
8bd4f777489f [gaim-migrate @ 5647]
Nathan Walp <nwalp@pidgin.im>
parents: 5258
diff changeset
1096 if(gtkconv->dialogs.smiley) {
8bd4f777489f [gaim-migrate @ 5647]
Nathan Walp <nwalp@pidgin.im>
parents: 5258
diff changeset
1097 dialogwindows = g_list_remove(dialogwindows, gtkconv->dialogs.smiley);
8bd4f777489f [gaim-migrate @ 5647]
Nathan Walp <nwalp@pidgin.im>
parents: 5258
diff changeset
1098 gtk_widget_destroy(gtkconv->dialogs.smiley);
8bd4f777489f [gaim-migrate @ 5647]
Nathan Walp <nwalp@pidgin.im>
parents: 5258
diff changeset
1099 gtkconv->dialogs.smiley = NULL;
8bd4f777489f [gaim-migrate @ 5647]
Nathan Walp <nwalp@pidgin.im>
parents: 5258
diff changeset
1100 }
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
1101 }
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
1102
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1103 void insert_smiley_text(GtkWidget *widget, GaimConversation *c)
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
1104 {
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1105 GaimGtkConversation *gtkconv;
4667
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1106 char *smiley_text = g_object_get_data(G_OBJECT(widget), "smiley_text");
8061
ea073d234191 [gaim-migrate @ 8749]
Nathan Walp <nwalp@pidgin.im>
parents: 8046
diff changeset
1107 GaimPlugin *proto = gaim_find_prpl(gaim_account_get_protocol_id(gaim_conversation_get_account(c)));
7956
1b8261f374ea [gaim-migrate @ 8631]
Nathan Walp <nwalp@pidgin.im>
parents: 7949
diff changeset
1108
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1109 gtkconv = GAIM_GTK_CONVERSATION(c);
7956
1b8261f374ea [gaim-migrate @ 8631]
Nathan Walp <nwalp@pidgin.im>
parents: 7949
diff changeset
1110
8061
ea073d234191 [gaim-migrate @ 8749]
Nathan Walp <nwalp@pidgin.im>
parents: 8046
diff changeset
1111 gtk_imhtml_insert_smiley(GTK_IMHTML(gtkconv->entry), proto->info->name, smiley_text);
7956
1b8261f374ea [gaim-migrate @ 8631]
Nathan Walp <nwalp@pidgin.im>
parents: 7949
diff changeset
1112
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
1113 close_smiley_dialog(NULL, c);
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
1114 }
579
7b501c39a6ee [gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 577
diff changeset
1115
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1116 static void add_smiley(GaimConversation *c, GtkWidget *table, int row, int col, char *filename, char *face)
4034
c14b687f4601 [gaim-migrate @ 4240]
Sean Egan <seanegan@gmail.com>
parents: 4011
diff changeset
1117 {
4061
890b4f1318df [gaim-migrate @ 4271]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4060
diff changeset
1118 GtkWidget *image;
4034
c14b687f4601 [gaim-migrate @ 4240]
Sean Egan <seanegan@gmail.com>
parents: 4011
diff changeset
1119 GtkWidget *button;
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1120 GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(c);
4667
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1121
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1122 image = gtk_image_new_from_file(filename);
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1123 button = gtk_button_new();
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1124 gtk_container_add(GTK_CONTAINER(button), image);
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1125 g_object_set_data(G_OBJECT(button), "smiley_text", face);
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1126 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(insert_smiley_text), c);
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1127
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1128 gtk_tooltips_set_tip(gtkconv->tooltips, button, face, NULL);
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1129
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1130 gtk_table_attach_defaults(GTK_TABLE(table), button, col, col+1, row, row+1);
4034
c14b687f4601 [gaim-migrate @ 4240]
Sean Egan <seanegan@gmail.com>
parents: 4011
diff changeset
1131
c14b687f4601 [gaim-migrate @ 4240]
Sean Egan <seanegan@gmail.com>
parents: 4011
diff changeset
1132 /* these look really weird with borders */
c14b687f4601 [gaim-migrate @ 4240]
Sean Egan <seanegan@gmail.com>
parents: 4011
diff changeset
1133 gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE);
4667
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1134
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1135 gtk_widget_show(button);
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1136 }
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1137
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1138 static gboolean smiley_is_unique(GSList *list, GtkIMHtmlSmiley *smiley) {
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1139 while(list) {
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1140 GtkIMHtmlSmiley *cur = list->data;
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1141 if(!strcmp(cur->file, smiley->file))
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1142 return FALSE;
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1143 list = list->next;
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1144 }
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1145 return TRUE;
4034
c14b687f4601 [gaim-migrate @ 4240]
Sean Egan <seanegan@gmail.com>
parents: 4011
diff changeset
1146 }
c14b687f4601 [gaim-migrate @ 4240]
Sean Egan <seanegan@gmail.com>
parents: 4011
diff changeset
1147
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1148 void show_smiley_dialog(GaimConversation *c, GtkWidget *widget)
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
1149 {
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5593
diff changeset
1150 GaimGtkConversation *gtkconv;
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
1151 GtkWidget *dialog;
4667
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1152 GtkWidget *smiley_table = NULL;
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1153 GSList *smileys, *unique_smileys = NULL;
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1154 int width;
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1155 int row = 0, col = 0;
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
1156
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1157 gtkconv = GAIM_GTK_CONVERSATION(c);
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1158
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1159 if (gtkconv->dialogs.smiley)
558
f1b8f03db83f [gaim-migrate @ 568]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 555
diff changeset
1160 return;
579
7b501c39a6ee [gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 577
diff changeset
1161
4667
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1162 if(c->account)
5943
a4f2aba0848d [gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents: 5925
diff changeset
1163 smileys = get_proto_smileys(
7956
1b8261f374ea [gaim-migrate @ 8631]
Nathan Walp <nwalp@pidgin.im>
parents: 7949
diff changeset
1164 gaim_account_get_protocol_id(gaim_conversation_get_account(c)));
4667
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1165 else
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5136
diff changeset
1166 smileys = get_proto_smileys(GAIM_PROTO_DEFAULT);
4667
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1167
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1168 while(smileys) {
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1169 GtkIMHtmlSmiley *smiley = smileys->data;
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1170 if(!smiley->hidden) {
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1171 if(smiley_is_unique(unique_smileys, smiley))
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1172 unique_smileys = g_slist_append(unique_smileys, smiley);
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1173 }
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1174 smileys = smileys->next;
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1175 }
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1176
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1177
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1178 width = floor(sqrt(g_slist_length(unique_smileys)));
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1179
2725
f3c094e78609 [gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2681
diff changeset
1180 GAIM_DIALOG(dialog);
4635
42d53c416bb9 [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1181 gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE);
4074
3ccbdf8e7f8d [gaim-migrate @ 4289]
Sean Egan <seanegan@gmail.com>
parents: 4061
diff changeset
1182 gtk_window_set_role(GTK_WINDOW(dialog), "smiley_dialog");
934
e5da96def4bd [gaim-migrate @ 944]
Rob Flynn <gaim@robflynn.com>
parents: 928
diff changeset
1183 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
1184
4667
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1185 smiley_table = gtk_table_new(width, width, TRUE);
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
1186
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
1187 /* pack buttons */
4667
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1188
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1189 while(unique_smileys) {
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1190 GtkIMHtmlSmiley *smiley = unique_smileys->data;
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1191 if(!smiley->hidden) {
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1192 add_smiley(c, smiley_table, row, col, smiley->file, smiley->smile);
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1193 if(++col >= width) {
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1194 col = 0;
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1195 row++;
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1196 }
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1197 }
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1198 unique_smileys = unique_smileys->next;
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1199 }
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1200
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1201 gtk_container_add(GTK_CONTAINER(dialog), smiley_table);
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1202
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1203 gtk_widget_show(smiley_table);
4bf9c6e8e432 [gaim-migrate @ 4978]
Nathan Walp <nwalp@pidgin.im>
parents: 4637
diff changeset
1204
579
7b501c39a6ee [gaim-migrate @ 589]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 577
diff changeset
1205 gtk_container_set_border_width(GTK_CONTAINER(dialog), 5);
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
1206
605
1dbc72baf900 [gaim-migrate @ 615]
Todd Kulesza <fflewddur>
parents: 603
diff changeset
1207 /* connect signals */
4635
42d53c416bb9 [gaim-migrate @ 4942]
Nathan Walp <nwalp@pidgin.im>
parents: 4630
diff changeset
1208 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
1209 g_signal_connect(G_OBJECT(dialog), "delete_event",
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1210 G_CALLBACK(delete_event_dialog), c);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1211
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
1212 /* show everything */
567
102afb84ce45 [gaim-migrate @ 577]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 558
diff changeset
1213 gtk_window_set_title(GTK_WINDOW(dialog), _("Smile!"));
584
56f7cb624e9e [gaim-migrate @ 594]
Todd Kulesza <fflewddur>
parents: 582
diff changeset
1214 gtk_widget_show_all(dialog);
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
1215
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4350
diff changeset
1216 gtkconv->dialogs.smiley = dialog;
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2370
diff changeset
1217
555
66fe9f2c26ad [gaim-migrate @ 565]
Todd Kulesza <fflewddur>
parents: 550
diff changeset
1218 return;
558
f1b8f03db83f [gaim-migrate @ 568]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 555
diff changeset
1219 }
710
efd72a117875 [gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 699
diff changeset
1220
6329
418cc72136d1 [gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents: 6328
diff changeset
1221 static void
7118
bf630f7dfdcd [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7108
diff changeset
1222 alias_chat_cb(GaimChat *chat, const char *new_alias)
5234
890b29f00b68 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
1223 {
6329
418cc72136d1 [gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents: 6328
diff changeset
1224 gaim_blist_alias_chat(chat, new_alias);
418cc72136d1 [gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents: 6328
diff changeset
1225 gaim_blist_save();
5234
890b29f00b68 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
1226 }
890b29f00b68 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
1227
6329
418cc72136d1 [gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents: 6328
diff changeset
1228 void
7118
bf630f7dfdcd [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7108
diff changeset
1229 alias_dialog_blist_chat(GaimChat *chat)
6329
418cc72136d1 [gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents: 6328
diff changeset
1230 {
7843
9408c12b4a61 [gaim-migrate @ 8497]
Mark Doliner <mark@kingant.net>
parents: 7797
diff changeset
1231 gaim_request_input(NULL, _("Alias Chat"), NULL,
9408c12b4a61 [gaim-migrate @ 8497]
Mark Doliner <mark@kingant.net>
parents: 7797
diff changeset
1232 _("Enter an alias for this chat."),
6329
418cc72136d1 [gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents: 6328
diff changeset
1233 chat->alias, FALSE, FALSE,
8302
462ead6fc1a0 [gaim-migrate @ 9026]
Christian Hammond <chipx86@chipx86.com>
parents: 8301
diff changeset
1234 _("Alias"), G_CALLBACK(alias_chat_cb),
6329
418cc72136d1 [gaim-migrate @ 6828]
Christian Hammond <chipx86@chipx86.com>
parents: 6328
diff changeset
1235 _("Cancel"), NULL, chat);
5234
890b29f00b68 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
1236 }
890b29f00b68 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
1237
6327
493eed80869c [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1238 static void
7245
747b9e00ef60 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1239 alias_contact_cb(GaimContact *contact, const char *new_alias)
747b9e00ef60 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1240 {
747b9e00ef60 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1241 gaim_contact_set_alias(contact, new_alias);
747b9e00ef60 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1242 gaim_blist_save();
747b9e00ef60 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1243 }
747b9e00ef60 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1244
747b9e00ef60 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1245 void
747b9e00ef60 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1246 alias_dialog_contact(GaimContact *contact)
747b9e00ef60 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1247 {
7843
9408c12b4a61 [gaim-migrate @ 8497]
Mark Doliner <mark@kingant.net>
parents: 7797
diff changeset
1248 gaim_request_input(NULL, _("Alias Contact"), NULL,
9408c12b4a61 [gaim-migrate @ 8497]
Mark Doliner <mark@kingant.net>
parents: 7797
diff changeset
1249 _("Enter an alias for this contact."),
9408c12b4a61 [gaim-migrate @ 8497]
Mark Doliner <mark@kingant.net>
parents: 7797
diff changeset
1250 contact->alias, FALSE, FALSE,
8302
462ead6fc1a0 [gaim-migrate @ 9026]
Christian Hammond <chipx86@chipx86.com>
parents: 8301
diff changeset
1251 _("Alias"), G_CALLBACK(alias_contact_cb),
7843
9408c12b4a61 [gaim-migrate @ 8497]
Mark Doliner <mark@kingant.net>
parents: 7797
diff changeset
1252 _("Cancel"), NULL, contact);
7245
747b9e00ef60 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1253 }
747b9e00ef60 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1254
747b9e00ef60 [gaim-migrate @ 7822]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
1255 static void
7843
9408c12b4a61 [gaim-migrate @ 8497]
Mark Doliner <mark@kingant.net>
parents: 7797
diff changeset
1256 alias_buddy_cb(GaimBuddy *buddy, const char *alias)
6327
493eed80869c [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1257 {
7843
9408c12b4a61 [gaim-migrate @ 8497]
Mark Doliner <mark@kingant.net>
parents: 7797
diff changeset
1258 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
1259 serv_alias_buddy(buddy);
493eed80869c [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1260 gaim_blist_save();
493eed80869c [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1261 }
493eed80869c [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1262
5050
dfec167391a5 [gaim-migrate @ 5398]
Christian Hammond <chipx86@chipx86.com>
parents: 5024
diff changeset
1263 void
6695
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6646
diff changeset
1264 alias_dialog_bud(GaimBuddy *b)
1397
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
1265 {
7843
9408c12b4a61 [gaim-migrate @ 8497]
Mark Doliner <mark@kingant.net>
parents: 7797
diff changeset
1266 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
1267
7843
9408c12b4a61 [gaim-migrate @ 8497]
Mark Doliner <mark@kingant.net>
parents: 7797
diff changeset
1268 gaim_request_input(NULL, _("Alias Buddy"), NULL,
9408c12b4a61 [gaim-migrate @ 8497]
Mark Doliner <mark@kingant.net>
parents: 7797
diff changeset
1269 secondary, b->alias, FALSE, FALSE,
8302
462ead6fc1a0 [gaim-migrate @ 9026]
Christian Hammond <chipx86@chipx86.com>
parents: 8301
diff changeset
1270 _("Alias"), G_CALLBACK(alias_buddy_cb),
7843
9408c12b4a61 [gaim-migrate @ 8497]
Mark Doliner <mark@kingant.net>
parents: 7797
diff changeset
1271 _("Cancel"), NULL, b);
6327
493eed80869c [gaim-migrate @ 6826]
Christian Hammond <chipx86@chipx86.com>
parents: 6322
diff changeset
1272
7843
9408c12b4a61 [gaim-migrate @ 8497]
Mark Doliner <mark@kingant.net>
parents: 7797
diff changeset
1273 g_free(secondary);
1397
d2799e0672ee [gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1396
diff changeset
1274 }