pidgin/plugins/convcolors.c

Wed, 21 Sep 2011 06:45:26 +0000

author
Elliott Sales de Andrade <qulogic@pidgin.im>
date
Wed, 21 Sep 2011 06:45:26 +0000
changeset 32575
eb4fc932fae9
parent 31294
73607ab89c6f
child 32414
8c5d1edf9da2
permissions
-rw-r--r--

Apply conversation theme when opening the GTK conversation. All the
parsing stuff was moved out of the theme code and into the conversation
code.

Someone (not me!) needs to check the code I commented out and see if
we really need that stuff (and then port it to WebKit/styling).

We also need to determine where to place Template.html and the rest
of our (not-yet-written) default theme.

15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
1 /*
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
2 * Conversation Colors
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
3 * Copyright (C) 2006
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
4 *
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
5 * This program is free software; you can redistribute it and/or
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
6 * modify it under the terms of the GNU General Public License as
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
7 * published by the Free Software Foundation; either version 2 of the
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
8 * License, or (at your option) any later version.
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
9 *
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
10 * This program is distributed in the hope that it will be useful, but
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
13 * General Public License for more details.
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
14 *
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
16 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16749
diff changeset
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16749
diff changeset
18 * 02111-1301, USA.
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
19 */
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
20 #include "internal.h"
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
21
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
22 #define PLUGIN_ID "gtk-plugin_pack-convcolors"
15418
bf287f742a5a [gaim-migrate @ 18149]
Luke Schierer <lschiere@pidgin.im>
parents: 15231
diff changeset
23 #define PLUGIN_NAME N_("Conversation Colors")
25633
feee0c7e503f Fix some more mis-identified plugins, like 3b3526a0...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 22178
diff changeset
24 #define PLUGIN_STATIC_NAME ConversationColors
15418
bf287f742a5a [gaim-migrate @ 18149]
Luke Schierer <lschiere@pidgin.im>
parents: 15231
diff changeset
25 #define PLUGIN_SUMMARY N_("Customize colors in the conversation window")
bf287f742a5a [gaim-migrate @ 18149]
Luke Schierer <lschiere@pidgin.im>
parents: 15231
diff changeset
26 #define PLUGIN_DESCRIPTION N_("Customize colors in the conversation window")
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
27 #define PLUGIN_AUTHOR "Sadrul H Chowdhury <sadrul@users.sourceforge.net>"
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
28
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
29 /* System headers */
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
30 #include <gdk/gdk.h>
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
31 #include <glib.h>
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
32 #include <gtk/gtk.h>
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
33
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
34 /* Purple headers */
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
35 #include <gtkplugin.h>
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
36 #include <version.h>
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
37
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
38 #include <conversation.h>
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
39 #include <gtkconv.h>
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
40 #include <gtkprefs.h>
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
41 #include <gtkutils.h>
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
42
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
43 #define PREF_PREFIX "/plugins/gtk/" PLUGIN_ID
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
44 #define PREF_IGNORE PREF_PREFIX "/ignore_incoming"
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
45 #define PREF_CHATS PREF_PREFIX "/chats"
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
46 #define PREF_IMS PREF_PREFIX "/ims"
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
47
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
48 #define PREF_SEND PREF_PREFIX "/send"
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
49 #define PREF_SEND_C PREF_SEND "/color"
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
50 #define PREF_SEND_F PREF_SEND "/format"
21789
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
51 #define PREF_SEND_E PREF_SEND "/enabled"
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
52
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
53 #define PREF_RECV PREF_PREFIX "/recv"
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
54 #define PREF_RECV_C PREF_RECV "/color"
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
55 #define PREF_RECV_F PREF_RECV "/format"
21789
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
56 #define PREF_RECV_E PREF_RECV "/enabled"
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
57
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
58 #define PREF_SYSTEM PREF_PREFIX "/system"
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
59 #define PREF_SYSTEM_C PREF_SYSTEM "/color"
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
60 #define PREF_SYSTEM_F PREF_SYSTEM "/format"
21789
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
61 #define PREF_SYSTEM_E PREF_SYSTEM "/enabled"
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
62
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
63 #define PREF_ERROR PREF_PREFIX "/error"
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
64 #define PREF_ERROR_C PREF_ERROR "/color"
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
65 #define PREF_ERROR_F PREF_ERROR "/format"
21789
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
66 #define PREF_ERROR_E PREF_ERROR "/enabled"
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
67
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
68 #define PREF_NICK PREF_PREFIX "/nick"
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
69 #define PREF_NICK_C PREF_NICK "/color"
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
70 #define PREF_NICK_F PREF_NICK "/format"
21789
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
71 #define PREF_NICK_E PREF_NICK "/enabled"
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
72
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
73 enum
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
74 {
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
75 FONT_BOLD = 1 << 0,
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
76 FONT_ITALIC = 1 << 1,
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
77 FONT_UNDERLINE = 1 << 2
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
78 };
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
79
22178
02521e1b838e Prpls seem to be sending '\n' (or '\r\n') for newlines, instead of '<br>' to the core. Fixes #4545.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 21789
diff changeset
80 static struct
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
81 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
82 PurpleMessageFlags flag;
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
83 char *prefix;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
84 const char *text;
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30010
diff changeset
85 } formats[] =
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
86 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
87 {PURPLE_MESSAGE_ERROR, PREF_ERROR, N_("Error Messages")},
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
88 {PURPLE_MESSAGE_NICK, PREF_NICK, N_("Highlighted Messages")},
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
89 {PURPLE_MESSAGE_SYSTEM, PREF_SYSTEM, N_("System Messages")},
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
90 {PURPLE_MESSAGE_SEND, PREF_SEND, N_("Sent Messages")},
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
91 {PURPLE_MESSAGE_RECV, PREF_RECV, N_("Received Messages")},
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
92 {0, NULL, NULL}
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
93 };
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
94
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
95 static gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
96 displaying_msg(PurpleAccount *account, const char *who, char **displaying,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
97 PurpleConversation *conv, PurpleMessageFlags flags)
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
98 {
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
99 int i;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
100 char tmp[128], *t;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
101 gboolean bold, italic, underline;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
102 int f;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
103 const char *color;
27234
82035475de62 Add a utlity function purple_markup_is_rtl
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 25633
diff changeset
104 gboolean rtl = FALSE;
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
105
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
106 for (i = 0; formats[i].prefix; i++)
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
107 if (flags & formats[i].flag)
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
108 break;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
109
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
110 if (!formats[i].prefix)
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
111 return FALSE;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
112
21789
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
113 g_snprintf(tmp, sizeof(tmp), "%s/enabled", formats[i].prefix);
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
114
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
115 if (!purple_prefs_get_bool(tmp) ||
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
116 (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM &&
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
117 !purple_prefs_get_bool(PREF_IMS)) ||
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
118 (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_CHAT &&
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
119 !purple_prefs_get_bool(PREF_CHATS)))
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
120 return FALSE;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
121
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
122 g_snprintf(tmp, sizeof(tmp), "%s/color", formats[i].prefix);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
123 color = purple_prefs_get_string(tmp);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
124
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
125 g_snprintf(tmp, sizeof(tmp), "%s/format", formats[i].prefix);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
126 f = purple_prefs_get_int(tmp);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
127 bold = (f & FONT_BOLD);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
128 italic = (f & FONT_ITALIC);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
129 underline = (f & FONT_UNDERLINE);
27234
82035475de62 Add a utlity function purple_markup_is_rtl
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 25633
diff changeset
130 rtl = purple_markup_is_rtl(*displaying);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
131
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
132 if (purple_prefs_get_bool(PREF_IGNORE))
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
133 {
22178
02521e1b838e Prpls seem to be sending '\n' (or '\r\n') for newlines, instead of '<br>' to the core. Fixes #4545.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 21789
diff changeset
134 /* This seems to be necessary, especially for received messages. */
02521e1b838e Prpls seem to be sending '\n' (or '\r\n') for newlines, instead of '<br>' to the core. Fixes #4545.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 21789
diff changeset
135 t = *displaying;
02521e1b838e Prpls seem to be sending '\n' (or '\r\n') for newlines, instead of '<br>' to the core. Fixes #4545.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 21789
diff changeset
136 *displaying = purple_strreplace(t, "\n", "<br>");
02521e1b838e Prpls seem to be sending '\n' (or '\r\n') for newlines, instead of '<br>' to the core. Fixes #4545.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 21789
diff changeset
137 g_free(t);
02521e1b838e Prpls seem to be sending '\n' (or '\r\n') for newlines, instead of '<br>' to the core. Fixes #4545.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 21789
diff changeset
138
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
139 t = *displaying;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
140 *displaying = purple_markup_strip_html(t);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
141 g_free(t);
15488
d3de0d1f569d Fix bug #1645435. Thanks to Dennis Ristuccia (more commonly known as EvilDennisR) for helping me find the bug.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15481
diff changeset
142
d3de0d1f569d Fix bug #1645435. Thanks to Dennis Ristuccia (more commonly known as EvilDennisR) for helping me find the bug.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15481
diff changeset
143 t = *displaying;
d3de0d1f569d Fix bug #1645435. Thanks to Dennis Ristuccia (more commonly known as EvilDennisR) for helping me find the bug.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15481
diff changeset
144 *displaying = g_markup_escape_text(t, -1);
d3de0d1f569d Fix bug #1645435. Thanks to Dennis Ristuccia (more commonly known as EvilDennisR) for helping me find the bug.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15481
diff changeset
145 g_free(t);
d3de0d1f569d Fix bug #1645435. Thanks to Dennis Ristuccia (more commonly known as EvilDennisR) for helping me find the bug.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15481
diff changeset
146
15481
6e9da7b5bd5c Fix convcolors to not unlinkify the links.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15435
diff changeset
147 /* Restore the links */
6e9da7b5bd5c Fix convcolors to not unlinkify the links.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15435
diff changeset
148 t = *displaying;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
149 *displaying = purple_markup_linkify(t);
15481
6e9da7b5bd5c Fix convcolors to not unlinkify the links.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15435
diff changeset
150 g_free(t);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
151 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
152
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
153 if (color && *color)
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
154 {
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
155 t = *displaying;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
156 *displaying = g_strdup_printf("<FONT COLOR=\"%s\">%s</FONT>", color, t);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
157 g_free(t);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
158 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
159
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
160 t = *displaying;
27234
82035475de62 Add a utlity function purple_markup_is_rtl
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 25633
diff changeset
161 *displaying = g_strdup_printf("%s%s%s%s%s%s%s%s%s",
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
162 bold ? "<B>" : "</B>",
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
163 italic ? "<I>" : "</I>",
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
164 underline ? "<U>" : "</U>",
27234
82035475de62 Add a utlity function purple_markup_is_rtl
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 25633
diff changeset
165 rtl ? "<SPAN style=\"direction:rtl;text-align:right;\">" : "",
82035475de62 Add a utlity function purple_markup_is_rtl
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 25633
diff changeset
166 t,
82035475de62 Add a utlity function purple_markup_is_rtl
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 25633
diff changeset
167 rtl ? "</SPAN>" : "",
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
168 bold ? "</B>" : "<B>",
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
169 italic ? "</I>" : "<I>",
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
170 underline ? "</U>" : "<U>"
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
171 );
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
172 g_free(t);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
173
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
174 return FALSE;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
175 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
176
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
177 static gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
178 plugin_load(PurplePlugin *plugin)
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
179 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
180 purple_signal_connect(pidgin_conversations_get_handle(),
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
181 "displaying-im-msg", plugin,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
182 PURPLE_CALLBACK(displaying_msg), NULL);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
183 purple_signal_connect(pidgin_conversations_get_handle(),
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
184 "displaying-chat-msg", plugin,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
185 PURPLE_CALLBACK(displaying_msg), NULL);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
186 return TRUE;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
187 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
188
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
189 static gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
190 plugin_unload(PurplePlugin *plugin)
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
191 {
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
192 return TRUE;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
193 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
194
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
195 /* Ripped from PurpleRC */
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
196 static void
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
197 color_response(GtkDialog *color_dialog, gint response, const char *data)
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
198 {
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
199 if (response == GTK_RESPONSE_OK)
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
200 {
30010
2b3e5bbd0492 Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27234
diff changeset
201 #if GTK_CHECK_VERSION(2,14,0)
2b3e5bbd0492 Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27234
diff changeset
202 GtkWidget *colorsel =
2b3e5bbd0492 Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27234
diff changeset
203 gtk_color_selection_dialog_get_color_selection(GTK_COLOR_SELECTION_DIALOG(color_dialog));
2b3e5bbd0492 Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27234
diff changeset
204 #else
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
205 GtkWidget *colorsel = GTK_COLOR_SELECTION_DIALOG(color_dialog)->colorsel;
30010
2b3e5bbd0492 Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27234
diff changeset
206 #endif
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
207 GdkColor color;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
208 char colorstr[8];
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
209 char tmp[128];
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
210
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
211 gtk_color_selection_get_current_color(GTK_COLOR_SELECTION(colorsel), &color);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
212
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
213 g_snprintf(colorstr, sizeof(colorstr), "#%02X%02X%02X",
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
214 color.red/256, color.green/256, color.blue/256);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
215
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
216 g_snprintf(tmp, sizeof(tmp), "%s/color", data);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
217
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
218 purple_prefs_set_string(tmp, colorstr);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
219 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
220
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
221 gtk_widget_destroy(GTK_WIDGET(color_dialog));
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
222 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
223
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
224 static void
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
225 set_color(GtkWidget *widget, const char *data)
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
226 {
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
227 GtkWidget *color_dialog = NULL;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
228 GdkColor color;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
229 char title[128];
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
230 char tmp[128];
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
232 g_snprintf(title, sizeof(title), _("Select Color for %s"), _(data));
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
233 color_dialog = gtk_color_selection_dialog_new(title);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
234 g_signal_connect(G_OBJECT(color_dialog), "response",
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
235 G_CALLBACK(color_response), (gpointer)data);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
236
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
237 g_snprintf(tmp, sizeof(tmp), "%s/color", data);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
238 if (gdk_color_parse(purple_prefs_get_string(tmp), &color))
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
239 {
30010
2b3e5bbd0492 Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27234
diff changeset
240 #if GTK_CHECK_VERSION(2,14,0)
2b3e5bbd0492 Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27234
diff changeset
241 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(
2b3e5bbd0492 Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27234
diff changeset
242 gtk_color_selection_dialog_get_color_selection(GTK_COLOR_SELECTION_DIALOG(color_dialog))),
2b3e5bbd0492 Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27234
diff changeset
243 &color);
2b3e5bbd0492 Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27234
diff changeset
244 #else
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
245 gtk_color_selection_set_current_color(
30010
2b3e5bbd0492 Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27234
diff changeset
246 GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(color_dialog)->colorsel),
2b3e5bbd0492 Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27234
diff changeset
247 &color);
2b3e5bbd0492 Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27234
diff changeset
248 #endif
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
249 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
250
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
251 gtk_window_present(GTK_WINDOW(color_dialog));
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
252 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
253
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
254 static void
21789
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
255 toggle_enabled(GtkWidget *widget, gpointer data)
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
256 {
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
257 const char *prefix = (char *)data;
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
258 gboolean e;
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
259 char tmp[128];
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
260
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
261 g_snprintf(tmp, sizeof(tmp), "%s/enabled", prefix);
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
262 e = purple_prefs_get_bool(tmp);
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
263 purple_prefs_set_bool(tmp, !e);
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
264 }
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
265
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
266 static void
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
267 toggle_something(const char *prefix, int format)
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
268 {
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
269 int f;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
270 char tmp[128];
21789
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
271
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
272 g_snprintf(tmp, sizeof(tmp), "%s/format", prefix);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
273 f = purple_prefs_get_int(tmp);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
274 f ^= format;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
275 purple_prefs_set_int(tmp, f);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
276 }
21789
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
277
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
278 static void
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
279 toggle_bold(GtkWidget *widget, gpointer data)
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
280 {
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
281 toggle_something(data, FONT_BOLD);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
282 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
283
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
284 static void
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
285 toggle_italic(GtkWidget *widget, gpointer data)
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
286 {
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
287 toggle_something(data, FONT_ITALIC);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
288 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
289
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
290 static void
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
291 toggle_underline(GtkWidget *widget, gpointer data)
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
292 {
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
293 toggle_something(data, FONT_UNDERLINE);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
294 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
295
21789
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
296 static void
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
297 enable_toggled(const char *name, PurplePrefType type, gconstpointer val, gpointer data)
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
298 {
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
299 GtkWidget *widget = (GtkWidget *)data;
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
300
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
301 gtk_widget_set_sensitive(widget, GPOINTER_TO_INT(val));
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
302 }
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
303
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
304 static void
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
305 disconnect_prefs_callbacks(GtkObject *object, gpointer data)
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
306 {
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
307 PurplePlugin *plugin = (PurplePlugin *)data;
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
308
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
309 purple_prefs_disconnect_by_handle(plugin);
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
310 }
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
311
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
312 static GtkWidget *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
313 get_config_frame(PurplePlugin *plugin)
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
314 {
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
315 GtkWidget *ret;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
316 GtkWidget *frame;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
317 int i;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
318
15882
1dbd5756b7bf More Gaim to Pidgin stuff
Sean Egan <seanegan@pidgin.im>
parents: 15568
diff changeset
319 ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE);
1dbd5756b7bf More Gaim to Pidgin stuff
Sean Egan <seanegan@pidgin.im>
parents: 15568
diff changeset
320 gtk_container_set_border_width(GTK_CONTAINER(ret), PIDGIN_HIG_BORDER);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
321
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
322 for (i = 0; formats[i].prefix; i++)
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
323 {
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
324 char tmp[128];
21789
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
325 char tmp2[128];
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
326 int f;
21789
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
327 gboolean e;
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
328 GtkWidget *vbox, *hbox, *button;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
329
21789
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
330 g_snprintf(tmp2, sizeof(tmp2), "%s/enabled", formats[i].prefix);
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
331 e = purple_prefs_get_bool(tmp2);
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
332
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
333 g_snprintf(tmp, sizeof(tmp), "%s/format", formats[i].prefix);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
334 f = purple_prefs_get_int(tmp);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
335
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15488
diff changeset
336 frame = pidgin_make_frame(ret, _(formats[i].text));
15882
1dbd5756b7bf More Gaim to Pidgin stuff
Sean Egan <seanegan@pidgin.im>
parents: 15568
diff changeset
337 vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
338 gtk_box_pack_start(GTK_BOX(frame), vbox, FALSE, FALSE, 0);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
339
15882
1dbd5756b7bf More Gaim to Pidgin stuff
Sean Egan <seanegan@pidgin.im>
parents: 15568
diff changeset
340 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
341 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
342
21789
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
343 button = gtk_check_button_new_with_label(_("Enabled"));
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
344 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
345 if (e)
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
346 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), TRUE);
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
347 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(toggle_enabled),
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
348 formats[i].prefix);
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
349
15568
cd19bb5a51b8 gtkutils changes
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
350 button = pidgin_pixbuf_button_from_stock(" Color", GTK_STOCK_SELECT_COLOR,
cd19bb5a51b8 gtkutils changes
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
351 PIDGIN_BUTTON_HORIZONTAL);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
352 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
353 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(set_color),
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
354 formats[i].prefix);
21789
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
355 gtk_widget_set_sensitive(button, e);
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
356 purple_prefs_connect_callback(plugin, tmp2, enable_toggled, button);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
357
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
358 button = gtk_check_button_new_with_label(_("Bold"));
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
359 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
360 if (f & FONT_BOLD)
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
361 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), TRUE);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
362 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(toggle_bold),
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
363 formats[i].prefix);
21789
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
364 gtk_widget_set_sensitive(button, e);
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
365 purple_prefs_connect_callback(plugin, tmp2, enable_toggled, button);
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
366
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
367 button = gtk_check_button_new_with_label(_("Italic"));
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
368 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
369 if (f & FONT_ITALIC)
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
370 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), TRUE);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
371 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(toggle_italic),
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
372 formats[i].prefix);
21789
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
373 gtk_widget_set_sensitive(button, e);
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
374 purple_prefs_connect_callback(plugin, tmp2, enable_toggled, button);
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
375
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
376 button = gtk_check_button_new_with_label(_("Underline"));
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
377 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
378 if (f & FONT_UNDERLINE)
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
379 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), TRUE);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
380 g_signal_connect(G_OBJECT(button), "clicked",
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
381 G_CALLBACK(toggle_underline), formats[i].prefix);
21789
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
382 gtk_widget_set_sensitive(button, e);
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
383 purple_prefs_connect_callback(plugin, tmp2, enable_toggled, button);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
384 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
385
21789
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
386 g_signal_connect(GTK_OBJECT(ret), "destroy", G_CALLBACK(disconnect_prefs_callbacks), plugin);
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15488
diff changeset
387 frame = pidgin_make_frame(ret, _("General"));
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15488
diff changeset
388 pidgin_prefs_checkbox(_("Ignore incoming format"), PREF_IGNORE, frame);
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15488
diff changeset
389 pidgin_prefs_checkbox(_("Apply in Chats"), PREF_CHATS, frame);
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15488
diff changeset
390 pidgin_prefs_checkbox(_("Apply in IMs"), PREF_IMS, frame);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
391
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
392 gtk_widget_show_all(ret);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
393 return ret;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
394 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
395
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30010
diff changeset
396 static PidginPluginUiInfo ui_info =
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
397 {
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
398 get_config_frame,
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
399 0,
16749
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
400
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
401 /* padding */
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
402 NULL,
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
403 NULL,
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
404 NULL,
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
405 NULL
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
406 };
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
407
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
408 static PurplePluginInfo info =
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
409 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
410 PURPLE_PLUGIN_MAGIC, /* Magic */
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
411 PURPLE_MAJOR_VERSION, /* Purple Major Version */
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
412 PURPLE_MINOR_VERSION, /* Purple Minor Version */
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
413 PURPLE_PLUGIN_STANDARD, /* plugin type */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15488
diff changeset
414 PIDGIN_PLUGIN_TYPE, /* ui requirement */
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
415 0, /* flags */
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
416 NULL, /* dependencies */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
417 PURPLE_PRIORITY_DEFAULT, /* priority */
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
418
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
419 PLUGIN_ID, /* plugin id */
15418
bf287f742a5a [gaim-migrate @ 18149]
Luke Schierer <lschiere@pidgin.im>
parents: 15231
diff changeset
420 PLUGIN_NAME, /* name */
20288
5ca925a094e2 applied changes from 03b709ec2a153e7e82719df0ba4635108bb1d3c6
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 19859
diff changeset
421 DISPLAY_VERSION, /* version */
15418
bf287f742a5a [gaim-migrate @ 18149]
Luke Schierer <lschiere@pidgin.im>
parents: 15231
diff changeset
422 PLUGIN_SUMMARY, /* summary */
bf287f742a5a [gaim-migrate @ 18149]
Luke Schierer <lschiere@pidgin.im>
parents: 15231
diff changeset
423 PLUGIN_DESCRIPTION, /* description */
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
424 PLUGIN_AUTHOR, /* author */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
425 PURPLE_WEBSITE, /* website */
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
426
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
427 plugin_load, /* load */
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
428 plugin_unload, /* unload */
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
429 NULL, /* destroy */
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
430
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
431 &ui_info, /* ui_info */
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
432 NULL, /* extra_info */
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
433 NULL, /* prefs_info */
16749
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
434 NULL, /* actions */
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
435
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
436 /* padding */
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
437 NULL,
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
438 NULL,
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
439 NULL,
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
440 NULL
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
441 };
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
442
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
443 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
444 init_plugin(PurplePlugin *plugin)
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
445 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
446 purple_prefs_add_none(PREF_PREFIX);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
447
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
448 purple_prefs_add_bool(PREF_IGNORE, TRUE);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
449 purple_prefs_add_bool(PREF_CHATS, TRUE);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
450 purple_prefs_add_bool(PREF_IMS, TRUE);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
451
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
452 purple_prefs_add_none(PREF_SEND);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
453 purple_prefs_add_none(PREF_RECV);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
454 purple_prefs_add_none(PREF_SYSTEM);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
455 purple_prefs_add_none(PREF_ERROR);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
456 purple_prefs_add_none(PREF_NICK);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
457
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
458 purple_prefs_add_string(PREF_SEND_C, "#909090");
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
459 purple_prefs_add_string(PREF_RECV_C, "#000000");
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
460 purple_prefs_add_string(PREF_SYSTEM_C, "#50a050");
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
461 purple_prefs_add_string(PREF_ERROR_C, "#ff0000");
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
462 purple_prefs_add_string(PREF_NICK_C, "#0000dd");
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
463
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
464 purple_prefs_add_int(PREF_SEND_F, 0);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
465 purple_prefs_add_int(PREF_RECV_F, 0);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
466 purple_prefs_add_int(PREF_SYSTEM_F, FONT_ITALIC);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
467 purple_prefs_add_int(PREF_ERROR_F, FONT_BOLD | FONT_UNDERLINE);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
468 purple_prefs_add_int(PREF_NICK_F, FONT_BOLD);
21789
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
469
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
470 purple_prefs_add_bool(PREF_SEND_E, TRUE);
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
471 purple_prefs_add_bool(PREF_RECV_E, TRUE);
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
472 purple_prefs_add_bool(PREF_SYSTEM_E, TRUE);
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
473 purple_prefs_add_bool(PREF_ERROR_E, TRUE);
1ba3811fdba4 Add an option per message type to enable (/disable) the overriding of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20288
diff changeset
474 purple_prefs_add_bool(PREF_NICK_E, TRUE);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
475 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
476
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
477 PURPLE_INIT_PLUGIN(PLUGIN_STATIC_NAME, init_plugin, info)

mercurial