src/dialogs.c

Thu, 19 Feb 2004 08:36:02 +0000

author
Christian Hammond <chipx86@chipx86.com>
date
Thu, 19 Feb 2004 08:36:02 +0000
changeset 8293
98f0016f4de0
parent 8290
bc7a1d7de7c8
child 8300
663b0388e7af
permissions
-rw-r--r--

[gaim-migrate @ 9017]
Added some type hints to fields.

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

mercurial