pidgin/gtkdebug.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
child 32912
6f4a4f8ad117
child 36256
a437550a9308
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.

5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 /**
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2 * @file gtkdebug.c GTK+ Debug API
16254
eeb2bba4dc94 Rename the Doxygen group from gtkui to pidgin.
Richard Laager <rlaager@pidgin.im>
parents: 16123
diff changeset
3 * @ingroup pidgin
20147
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
4 */
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
5
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
6 /* pidgin
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
7 *
15931
716b5fac1895 Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
8 * Pidgin is the legal property of its developers, whose names are too numerous
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 8002
diff changeset
9 * to list here. Please refer to the COPYRIGHT file distributed with this
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 8002
diff changeset
10 * source distribution.
7152
112d0e52d04b [gaim-migrate @ 7719]
Christian Hammond <chipx86@chipx86.com>
parents: 7150
diff changeset
11 *
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 * This program is free software; you can redistribute it and/or modify
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 * it under the terms of the GNU General Public License as published by
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 * the Free Software Foundation; either version 2 of the License, or
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 * (at your option) any later version.
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 *
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 * This program is distributed in the hope that it will be useful,
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 * GNU General Public License for more details.
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 *
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22 * You should have received a copy of the GNU General Public License
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
23 * 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: 19065
diff changeset
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
25 */
9791
f5c5bda0b96b [gaim-migrate @ 10659]
Gary Kramlich <grim@pidgin.im>
parents: 9709
diff changeset
26 #include "internal.h"
15577
b8129373f65e More pidgin changes
Sean Egan <seanegan@pidgin.im>
parents: 15571
diff changeset
27 #include "pidgin.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5818
diff changeset
28
9480
b4d46aa1be7d [gaim-migrate @ 10305]
Mark Doliner <markdoliner@pidgin.im>
parents: 8953
diff changeset
29 #include "notify.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5818
diff changeset
30 #include "prefs.h"
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
31 #include "request.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5818
diff changeset
32 #include "util.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5818
diff changeset
33
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
34 #include "gtkdebug.h"
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents: 9504
diff changeset
35 #include "gtkdialogs.h"
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
36 #include "gtkimhtml.h"
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
37 #include "gtkutils.h"
15883
969b74a3e27a According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
38 #include "pidginstock.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5818
diff changeset
39
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
40 #ifdef HAVE_REGEX_H
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
41 # include <regex.h>
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
42 # define USE_REGEX 1
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
43 #else
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
44 #if GLIB_CHECK_VERSION(2,14,0)
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
45 # define USE_REGEX 1
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
46 #endif
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
47 #endif /* HAVE_REGEX_H */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
48
11473
38b35dc600ce [gaim-migrate @ 13714]
Gary Kramlich <grim@reaperworld.com>
parents: 11450
diff changeset
49 #include <gdk/gdkkeysyms.h>
38b35dc600ce [gaim-migrate @ 13714]
Gary Kramlich <grim@reaperworld.com>
parents: 11450
diff changeset
50
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
51 typedef struct
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
52 {
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
53 GtkWidget *window;
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
54 GtkWidget *text;
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
55
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
56 GtkListStore *store;
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
57
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
58 gboolean paused;
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
59
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
60 #ifdef USE_REGEX
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
61 GtkWidget *filter;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
62 GtkWidget *expression;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
63
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
64 gboolean invert;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
65 gboolean highlight;
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13988
diff changeset
66
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
67 guint timer;
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
68 # ifdef HAVE_REGEX_H
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
69 regex_t regex;
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
70 # else
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
71 GRegex *regex;
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
72 # endif /* HAVE_REGEX_H */
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
73 #else
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
74 GtkWidget *find;
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
75 #endif /* USE_REGEX */
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
76 GtkWidget *filterlevel;
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
77 } DebugWindow;
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
78
21091
07fe1a99c47b Patch from Andrew Gaul to constify a bunch of static variables to reduce
Ka-Hing Cheung <khc@pidgin.im>
parents: 20147
diff changeset
79 static const char debug_fg_colors[][8] = {
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
80 "#000000", /**< All debug levels. */
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
81 "#666666", /**< Misc. */
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
82 "#000000", /**< Information. */
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
83 "#660000", /**< Warnings. */
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
84 "#FF0000", /**< Errors. */
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
85 "#FF0000", /**< Fatal errors. */
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
86 };
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
87
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
88 static DebugWindow *debug_win = NULL;
17232
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
89 static guint debug_enabled_timer = 0;
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
90
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
91 #ifdef USE_REGEX
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
92 static void regex_filter_all(DebugWindow *win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
93 static void regex_show_all(DebugWindow *win);
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
94 #endif /* USE_REGEX */
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
95
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
96 static gint
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
97 debug_window_destroy(GtkWidget *w, GdkEvent *event, void *unused)
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
98 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
99 purple_prefs_disconnect_by_handle(pidgin_debug_get_handle());
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 9501
diff changeset
100
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
101 #ifdef USE_REGEX
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
102 if(debug_win->timer != 0) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
103 const gchar *text;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
104
26753
a8dca8faae69 A patch from Arunan Balasubramaniam to use timeouts in seconds instead of
Arunan Balasubramaniam <foss@abala.me>
parents: 26482
diff changeset
105 purple_timeout_remove(debug_win->timer);
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
106
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
107 text = gtk_entry_get_text(GTK_ENTRY(debug_win->expression));
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
108 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/debug/regex", text);
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
109 }
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
110 #ifdef HAVE_REGEX_H
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
111 regfree(&debug_win->regex);
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
112 #else
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
113 g_regex_unref(debug_win->regex);
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
114 #endif /* HAVE_REGEX_H */
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
115 #endif /* USE_REGEX */
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
116
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 9501
diff changeset
117 /* If the "Save Log" dialog is open then close it */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
118 purple_request_close_with_handle(debug_win);
5704
3170b0bd2b40 [gaim-migrate @ 6125]
Christian Hammond <chipx86@chipx86.com>
parents: 5684
diff changeset
119
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
120 g_free(debug_win);
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
121 debug_win = NULL;
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
122
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
123 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/debug/enabled", FALSE);
9480
b4d46aa1be7d [gaim-migrate @ 10305]
Mark Doliner <markdoliner@pidgin.im>
parents: 8953
diff changeset
124
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
125 return FALSE;
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
126 }
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
127
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
128 static gboolean
5794
ebdbb7dc6658 [gaim-migrate @ 6219]
Christian Hammond <chipx86@chipx86.com>
parents: 5738
diff changeset
129 configure_cb(GtkWidget *w, GdkEventConfigure *event, DebugWindow *win)
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
130 {
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
131 if (GTK_WIDGET_VISIBLE(w)) {
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
132 purple_prefs_set_int(PIDGIN_PREFS_ROOT "/debug/width", event->width);
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
133 purple_prefs_set_int(PIDGIN_PREFS_ROOT "/debug/height", event->height);
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
134 }
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
135
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
136 return FALSE;
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
137 }
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
138
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
139 #ifndef USE_REGEX
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
140 struct _find {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
141 DebugWindow *window;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
142 GtkWidget *entry;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
143 };
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
144
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
145 static void
9482
8ade66642b6e [gaim-migrate @ 10307]
Mark Doliner <markdoliner@pidgin.im>
parents: 9480
diff changeset
146 do_find_cb(GtkWidget *widget, gint response, struct _find *f)
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
147 {
9482
8ade66642b6e [gaim-migrate @ 10307]
Mark Doliner <markdoliner@pidgin.im>
parents: 9480
diff changeset
148 switch (response) {
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
149 case GTK_RESPONSE_OK:
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
150 gtk_imhtml_search_find(GTK_IMHTML(f->window->text),
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
151 gtk_entry_get_text(GTK_ENTRY(f->entry)));
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
152 break;
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
153
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
154 case GTK_RESPONSE_DELETE_EVENT:
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
155 case GTK_RESPONSE_CLOSE:
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
156 gtk_imhtml_search_clear(GTK_IMHTML(f->window->text));
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
157 gtk_widget_destroy(f->window->find);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
158 f->window->find = NULL;
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
159 g_free(f);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
160 break;
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
161 }
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
162 }
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
163
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
164 static void
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
165 find_cb(GtkWidget *w, DebugWindow *win)
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
166 {
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
167 GtkWidget *hbox, *img, *label;
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
168 struct _find *f;
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
169
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
170 if(win->find)
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
171 {
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
172 gtk_window_present(GTK_WINDOW(win->find));
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
173 return;
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
174 }
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
175
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
176 f = g_malloc(sizeof(struct _find));
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
177 f->window = win;
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
178 win->find = gtk_dialog_new_with_buttons(_("Find"),
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
179 GTK_WINDOW(win->window), GTK_DIALOG_DESTROY_WITH_PARENT,
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
180 GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
181 GTK_STOCK_FIND, GTK_RESPONSE_OK, NULL);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
182 gtk_dialog_set_default_response(GTK_DIALOG(win->find),
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
183 GTK_RESPONSE_OK);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
184 g_signal_connect(G_OBJECT(win->find), "response",
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
185 G_CALLBACK(do_find_cb), f);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
186
15882
1dbd5756b7bf More Gaim to Pidgin stuff
Sean Egan <seanegan@pidgin.im>
parents: 15880
diff changeset
187 gtk_container_set_border_width(GTK_CONTAINER(win->find), PIDGIN_HIG_BOX_SPACE);
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
188 gtk_window_set_resizable(GTK_WINDOW(win->find), FALSE);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
189 gtk_dialog_set_has_separator(GTK_DIALOG(win->find), FALSE);
15882
1dbd5756b7bf More Gaim to Pidgin stuff
Sean Egan <seanegan@pidgin.im>
parents: 15880
diff changeset
190 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(win->find)->vbox), PIDGIN_HIG_BORDER);
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
191 gtk_container_set_border_width(
15882
1dbd5756b7bf More Gaim to Pidgin stuff
Sean Egan <seanegan@pidgin.im>
parents: 15880
diff changeset
192 GTK_CONTAINER(GTK_DIALOG(win->find)->vbox), PIDGIN_HIG_BOX_SPACE);
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
193
15882
1dbd5756b7bf More Gaim to Pidgin stuff
Sean Egan <seanegan@pidgin.im>
parents: 15880
diff changeset
194 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BORDER);
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
195 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(win->find)->vbox),
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
196 hbox);
15512
ddd9983b74aa more win32 build fixes for build changes
Daniel Atallah <datallah@pidgin.im>
parents: 15499
diff changeset
197 img = gtk_image_new_from_stock(PIDGIN_STOCK_DIALOG_QUESTION,
19065
763421f3cc0d Fix search dialog icon in debug window. Fixes #2375.
Daniel Atallah <datallah@pidgin.im>
parents: 17232
diff changeset
198 gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_HUGE));
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
199 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
200
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
201 gtk_misc_set_alignment(GTK_MISC(img), 0, 0);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
202 gtk_dialog_set_response_sensitive(GTK_DIALOG(win->find),
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
203 GTK_RESPONSE_OK, FALSE);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
204
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
205 label = gtk_label_new(NULL);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
206 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Search for:"));
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
207 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
208
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
209 f->entry = gtk_entry_new();
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
210 gtk_entry_set_activates_default(GTK_ENTRY(f->entry), TRUE);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
211 gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(f->entry));
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
212 g_signal_connect(G_OBJECT(f->entry), "changed",
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15512
diff changeset
213 G_CALLBACK(pidgin_set_sensitive_if_input),
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
214 win->find);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
215 gtk_box_pack_start(GTK_BOX(hbox), f->entry, FALSE, FALSE, 0);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
216
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
217 gtk_widget_show_all(win->find);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
218 gtk_widget_grab_focus(f->entry);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
219 }
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
220 #endif /* USE_REGEX */
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
221
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
222 static void
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 9501
diff changeset
223 save_writefile_cb(void *user_data, const char *filename)
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
224 {
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 9501
diff changeset
225 DebugWindow *win = (DebugWindow *)user_data;
9489
3ee8fdcdbac9 [gaim-migrate @ 10314]
Mark Doliner <markdoliner@pidgin.im>
parents: 9486
diff changeset
226 FILE *fp;
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
227 char *tmp;
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
228
10589
4e10236e06d4 [gaim-migrate @ 11994]
Daniel Atallah <datallah@pidgin.im>
parents: 10448
diff changeset
229 if ((fp = g_fopen(filename, "w+")) == NULL) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
230 purple_notify_error(win, NULL, _("Unable to open file."), NULL);
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
231 return;
9480
b4d46aa1be7d [gaim-migrate @ 10305]
Mark Doliner <markdoliner@pidgin.im>
parents: 8953
diff changeset
232 }
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
233
9489
3ee8fdcdbac9 [gaim-migrate @ 10314]
Mark Doliner <markdoliner@pidgin.im>
parents: 9486
diff changeset
234 tmp = gtk_imhtml_get_text(GTK_IMHTML(win->text), NULL, NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
235 fprintf(fp, "Pidgin Debug Log : %s\n", purple_date_format_full(NULL));
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
236 fprintf(fp, "%s", tmp);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
237 g_free(tmp);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
238
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
239 fclose(fp);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
240 }
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
241
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
242 static void
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
243 save_cb(GtkWidget *w, DebugWindow *win)
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
244 {
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
245 purple_request_file(win, _("Save Debug Log"), "purple-debug.log", TRUE,
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 16478
diff changeset
246 G_CALLBACK(save_writefile_cb), NULL,
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 16478
diff changeset
247 NULL, NULL, NULL,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
248 win);
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
249 }
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
250
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
251 static void
5794
ebdbb7dc6658 [gaim-migrate @ 6219]
Christian Hammond <chipx86@chipx86.com>
parents: 5738
diff changeset
252 clear_cb(GtkWidget *w, DebugWindow *win)
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
253 {
6280
6d78edfe0ef2 [gaim-migrate @ 6779]
Christian Hammond <chipx86@chipx86.com>
parents: 6094
diff changeset
254 gtk_imhtml_clear(GTK_IMHTML(win->text));
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
255
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
256 #ifdef USE_REGEX
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
257 gtk_list_store_clear(win->store);
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
258 #endif /* USE_REGEX */
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
259 }
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
260
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
261 static void
5794
ebdbb7dc6658 [gaim-migrate @ 6219]
Christian Hammond <chipx86@chipx86.com>
parents: 5738
diff changeset
262 pause_cb(GtkWidget *w, DebugWindow *win)
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
263 {
29746
f7a7722bee2f Remove GTK_CHECK_VERSION(2,4,0) checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29745
diff changeset
264 win->paused = gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(w));
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
265
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
266 #ifdef USE_REGEX
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
267 if(!win->paused) {
29746
f7a7722bee2f Remove GTK_CHECK_VERSION(2,4,0) checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29745
diff changeset
268 if(gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(win->filter)))
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
269 regex_filter_all(win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
270 else
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
271 regex_show_all(win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
272 }
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
273 #endif /* USE_REGEX */
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
274 }
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
275
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
276 /******************************************************************************
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
277 * regex stuff
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
278 *****************************************************************************/
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
279 #ifdef USE_REGEX
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
280 static void
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
281 regex_clear_color(GtkWidget *w) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
282 gtk_widget_modify_base(w, GTK_STATE_NORMAL, NULL);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
283 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
284
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
285 static void
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
286 regex_change_color(GtkWidget *w, guint16 r, guint16 g, guint16 b) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
287 GdkColor color;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
288
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
289 color.red = r;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
290 color.green = g;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
291 color.blue = b;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
292
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
293 gtk_widget_modify_base(w, GTK_STATE_NORMAL, &color);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
294 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
295
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
296 static void
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
297 regex_highlight_clear(DebugWindow *win) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
298 GtkIMHtml *imhtml = GTK_IMHTML(win->text);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
299 GtkTextIter s, e;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
300
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
301 gtk_text_buffer_get_start_iter(imhtml->text_buffer, &s);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
302 gtk_text_buffer_get_end_iter(imhtml->text_buffer, &e);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
303 gtk_text_buffer_remove_tag_by_name(imhtml->text_buffer, "regex", &s, &e);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
304 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
305
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
306 static void
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
307 regex_match(DebugWindow *win, const gchar *text) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
308 GtkIMHtml *imhtml = GTK_IMHTML(win->text);
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
309 #ifdef HAVE_REGEX_H
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
310 regmatch_t matches[4]; /* adjust if necessary */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
311 size_t n_matches = sizeof(matches) / sizeof(matches[0]);
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
312 gint inverted;
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
313 #else
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
314 GMatchInfo *match_info;
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
315 #endif /* HAVE_REGEX_H */
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
316 gchar *plaintext;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
317
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
318 if(!text)
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
319 return;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
320
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
321 /* I don't like having to do this, but we need it for highlighting. Plus
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
322 * it makes the ^ and $ operators work :)
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
323 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
324 plaintext = purple_markup_strip_html(text);
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
325
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
326 /* we do a first pass to see if it matches at all. If it does we append
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
327 * it, and work out the offsets to highlight.
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
328 */
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
329 #ifdef HAVE_REGEX_H
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
330 inverted = (win->invert) ? REG_NOMATCH : 0;
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
331 if(regexec(&win->regex, plaintext, n_matches, matches, 0) == inverted) {
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
332 #else
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
333 if(g_regex_match(win->regex, plaintext, 0, &match_info) != win->invert) {
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
334 #endif /* HAVE_REGEX_H */
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
335 gchar *p = plaintext;
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
336 GtkTextIter ins;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
337 gint i, offset = 0;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
338
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
339 gtk_text_buffer_get_iter_at_mark(imhtml->text_buffer, &ins,
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
340 gtk_text_buffer_get_insert(imhtml->text_buffer));
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
341 i = gtk_text_iter_get_offset(&ins);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
342
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
343 gtk_imhtml_append_text(imhtml, text, 0);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
344
11312
73ee18523c44 [gaim-migrate @ 13512]
Gary Kramlich <grim@reaperworld.com>
parents: 11311
diff changeset
345 /* If we're not highlighting or the expression is inverted, we're
11311
0deea6aaea65 [gaim-migrate @ 13511]
Gary Kramlich <grim@reaperworld.com>
parents: 11310
diff changeset
346 * done and move on.
11310
18461cc48950 [gaim-migrate @ 13510]
Gary Kramlich <grim@reaperworld.com>
parents: 11262
diff changeset
347 */
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
348 if(!win->highlight || win->invert) {
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
349 g_free(plaintext);
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
350 #ifndef HAVE_REGEX_H
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
351 g_match_info_free(match_info);
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
352 #endif
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
353 return;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
354 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
355
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
356 /* we use a do-while to highlight the first match, and then continue
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
357 * if necessary...
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
358 */
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
359 #ifdef HAVE_REGEX_H
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
360 do {
12231
0f0dfa2f4d64 [gaim-migrate @ 14533]
Richard Laager <rlaager@pidgin.im>
parents: 11473
diff changeset
361 size_t m;
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
362
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
363 for(m = 0; m < n_matches; m++) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
364 GtkTextIter ms, me;
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13988
diff changeset
365
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13988
diff changeset
366 if(matches[m].rm_eo == -1)
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
367 break;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
368
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
369 i += offset;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
370
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
371 gtk_text_buffer_get_iter_at_offset(imhtml->text_buffer, &ms,
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
372 i + matches[m].rm_so);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
373 gtk_text_buffer_get_iter_at_offset(imhtml->text_buffer, &me,
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
374 i + matches[m].rm_eo);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
375 gtk_text_buffer_apply_tag_by_name(imhtml->text_buffer, "regex",
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
376 &ms, &me);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
377 offset = matches[m].rm_eo;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
378 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
379
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
380 p += offset;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
381 } while(regexec(&win->regex, p, n_matches, matches, REG_NOTBOL) == inverted);
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
382 #else
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
383 do
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
384 {
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
385 gint m;
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
386 gint start_pos, end_pos;
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
387 GtkTextIter ms, me;
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30795
diff changeset
388
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
389 if (!g_match_info_matches(match_info))
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
390 break;
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30795
diff changeset
391
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
392 for (m = 0; m < g_match_info_get_match_count(match_info); m++)
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
393 {
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
394 if (m == 1)
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
395 continue;
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30795
diff changeset
396
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
397 g_match_info_fetch_pos(match_info, m, &start_pos, &end_pos);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30795
diff changeset
398
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
399 if (end_pos == -1)
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
400 break;
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30795
diff changeset
401
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
402 gtk_text_buffer_get_iter_at_offset(imhtml->text_buffer, &ms,
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
403 i + start_pos);
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
404 gtk_text_buffer_get_iter_at_offset(imhtml->text_buffer, &me,
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
405 i + end_pos);
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
406 gtk_text_buffer_apply_tag_by_name(imhtml->text_buffer, "regex",
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
407 &ms, &me);
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
408 offset = end_pos;
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
409 }
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30795
diff changeset
410
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
411 g_match_info_free(match_info);
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
412 p += offset;
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
413 i += offset;
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
414 } while (g_regex_match(win->regex, p, G_REGEX_MATCH_NOTBOL, &match_info) != win->invert);
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
415 g_match_info_free(match_info);
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
416 #endif /* HAVE_REGEX_H */
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
417 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
418
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
419 g_free(plaintext);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
420 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
421
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
422 static gboolean
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
423 regex_filter_all_cb(GtkTreeModel *m, GtkTreePath *p, GtkTreeIter *iter,
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
424 gpointer data)
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
425 {
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
426 DebugWindow *win = (DebugWindow *)data;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
427 gchar *text;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
428 PurpleDebugLevel level;
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
429
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
430 gtk_tree_model_get(m, iter, 0, &text, 1, &level, -1);
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
431
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
432 if (level >= purple_prefs_get_int(PIDGIN_PREFS_ROOT "/debug/filterlevel"))
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
433 regex_match(win, text);
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
434
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
435 g_free(text);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
436
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
437 return FALSE;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
438 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
439
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
440 static void
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
441 regex_filter_all(DebugWindow *win) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
442 gtk_imhtml_clear(GTK_IMHTML(win->text));
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
443
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
444 if(win->highlight)
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
445 regex_highlight_clear(win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
446
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
447 gtk_tree_model_foreach(GTK_TREE_MODEL(win->store), regex_filter_all_cb,
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
448 win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
449 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
450
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
451 static gboolean
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
452 regex_show_all_cb(GtkTreeModel *m, GtkTreePath *p, GtkTreeIter *iter,
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
453 gpointer data)
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
454 {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
455 DebugWindow *win = (DebugWindow *)data;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
456 gchar *text;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
457 PurpleDebugLevel level;
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
458
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
459 gtk_tree_model_get(m, iter, 0, &text, 1, &level, -1);
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
460 if (level >= purple_prefs_get_int(PIDGIN_PREFS_ROOT "/debug/filterlevel"))
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
461 gtk_imhtml_append_text(GTK_IMHTML(win->text), text, 0);
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
462 g_free(text);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
463
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
464 return FALSE;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
465 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
466
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
467 static void
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
468 regex_show_all(DebugWindow *win) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
469 gtk_imhtml_clear(GTK_IMHTML(win->text));
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
470
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
471 if(win->highlight)
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
472 regex_highlight_clear(win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
473
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
474 gtk_tree_model_foreach(GTK_TREE_MODEL(win->store), regex_show_all_cb,
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
475 win);
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
476 }
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
477
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
478 static void
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
479 regex_compile(DebugWindow *win) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
480 const gchar *text;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
481
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
482 text = gtk_entry_get_text(GTK_ENTRY(win->expression));
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
483
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
484 if(text == NULL || *text == '\0') {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
485 regex_clear_color(win->expression);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
486 gtk_widget_set_sensitive(win->filter, FALSE);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
487 return;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
488 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
489
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
490 #ifdef HAVE_REGEX_H
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
491 regfree(&win->regex);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
492 if(regcomp(&win->regex, text, REG_EXTENDED | REG_ICASE) != 0) {
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
493 #else
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
494 if (win->regex)
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
495 g_regex_unref(win->regex);
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
496 win->regex = g_regex_new(text, G_REGEX_EXTENDED | G_REGEX_CASELESS, 0, NULL);
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
497 if(win->regex == NULL) {
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
498 #endif
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
499 /* failed to compile */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
500 regex_change_color(win->expression, 0xFFFF, 0xAFFF, 0xAFFF);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
501 gtk_widget_set_sensitive(win->filter, FALSE);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
502 } else {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
503 /* compiled successfully */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
504 regex_change_color(win->expression, 0xAFFF, 0xFFFF, 0xAFFF);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
505 gtk_widget_set_sensitive(win->filter, TRUE);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
506 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
507
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
508 /* we check if the filter is on in case it was only of the options that
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
509 * got changed, and not the expression.
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
510 */
29746
f7a7722bee2f Remove GTK_CHECK_VERSION(2,4,0) checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29745
diff changeset
511 if(gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(win->filter)))
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
512 regex_filter_all(win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
513 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
514
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
515 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
516 regex_pref_filter_cb(const gchar *name, PurplePrefType type,
12816
5f93e09fa9a6 [gaim-migrate @ 15164]
Mark Doliner <markdoliner@pidgin.im>
parents: 12231
diff changeset
517 gconstpointer val, gpointer data)
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
518 {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
519 DebugWindow *win = (DebugWindow *)data;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
520 gboolean active = GPOINTER_TO_INT(val), current;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
521
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
522 if(!win || !win->window)
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
523 return;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
524
29746
f7a7722bee2f Remove GTK_CHECK_VERSION(2,4,0) checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29745
diff changeset
525 current = gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(win->filter));
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
526 if(active != current)
29746
f7a7722bee2f Remove GTK_CHECK_VERSION(2,4,0) checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29745
diff changeset
527 gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(win->filter), active);
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
528 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
529
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
530 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
531 regex_pref_expression_cb(const gchar *name, PurplePrefType type,
12816
5f93e09fa9a6 [gaim-migrate @ 15164]
Mark Doliner <markdoliner@pidgin.im>
parents: 12231
diff changeset
532 gconstpointer val, gpointer data)
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
533 {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
534 DebugWindow *win = (DebugWindow *)data;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
535 const gchar *exp = (const gchar *)val;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
536
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
537 gtk_entry_set_text(GTK_ENTRY(win->expression), exp);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
538 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
539
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
540 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
541 regex_pref_invert_cb(const gchar *name, PurplePrefType type,
12816
5f93e09fa9a6 [gaim-migrate @ 15164]
Mark Doliner <markdoliner@pidgin.im>
parents: 12231
diff changeset
542 gconstpointer val, gpointer data)
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
543 {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
544 DebugWindow *win = (DebugWindow *)data;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
545 gboolean active = GPOINTER_TO_INT(val);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
546
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
547 win->invert = active;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
548
29746
f7a7722bee2f Remove GTK_CHECK_VERSION(2,4,0) checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29745
diff changeset
549 if(gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(win->filter)))
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
550 regex_filter_all(win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
551 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
552
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
553 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
554 regex_pref_highlight_cb(const gchar *name, PurplePrefType type,
12816
5f93e09fa9a6 [gaim-migrate @ 15164]
Mark Doliner <markdoliner@pidgin.im>
parents: 12231
diff changeset
555 gconstpointer val, gpointer data)
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
556 {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
557 DebugWindow *win = (DebugWindow *)data;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
558 gboolean active = GPOINTER_TO_INT(val);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
559
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
560 win->highlight = active;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
561
29746
f7a7722bee2f Remove GTK_CHECK_VERSION(2,4,0) checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29745
diff changeset
562 if(gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(win->filter)))
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
563 regex_filter_all(win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
564 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
565
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
566 static void
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
567 regex_row_changed_cb(GtkTreeModel *model, GtkTreePath *path,
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
568 GtkTreeIter *iter, DebugWindow *win)
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
569 {
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
570 gchar *text;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
571 PurpleDebugLevel level;
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
572
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
573 if(!win || !win->window)
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
574 return;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
575
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
576 /* If the debug window is paused, we just return since it's in the store.
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
577 * We don't call regex_match because it doesn't make sense to check the
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
578 * string if it's paused. When we unpause we clear the imhtml and
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
579 * reiterate over the store to handle matches that were outputted when
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
580 * we were paused.
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
581 */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
582 if(win->paused)
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
583 return;
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13988
diff changeset
584
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
585 gtk_tree_model_get(model, iter, 0, &text, 1, &level, -1);
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
586
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
587 if (level >= purple_prefs_get_int(PIDGIN_PREFS_ROOT "/debug/filterlevel")) {
29746
f7a7722bee2f Remove GTK_CHECK_VERSION(2,4,0) checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29745
diff changeset
588 if(gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(win->filter))) {
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
589 regex_match(win, text);
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
590 } else {
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
591 gtk_imhtml_append_text(GTK_IMHTML(win->text), text, 0);
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
592 }
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
593 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
594
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
595 g_free(text);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
596 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
597
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
598 static gboolean
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
599 regex_timer_cb(DebugWindow *win) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
600 const gchar *text;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
601
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
602 text = gtk_entry_get_text(GTK_ENTRY(win->expression));
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
603 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/debug/regex", text);
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
604
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
605 win->timer = 0;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
606
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
607 return FALSE;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
608 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
609
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
610 static void
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
611 regex_changed_cb(GtkWidget *w, DebugWindow *win) {
29746
f7a7722bee2f Remove GTK_CHECK_VERSION(2,4,0) checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29745
diff changeset
612 if(gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(win->filter))) {
f7a7722bee2f Remove GTK_CHECK_VERSION(2,4,0) checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29745
diff changeset
613 gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(win->filter),
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
614 FALSE);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
615 }
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
616
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
617 if(win->timer == 0)
26753
a8dca8faae69 A patch from Arunan Balasubramaniam to use timeouts in seconds instead of
Arunan Balasubramaniam <foss@abala.me>
parents: 26482
diff changeset
618 win->timer = purple_timeout_add_seconds(5, (GSourceFunc)regex_timer_cb, win);
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
619
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
620 regex_compile(win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
621 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
622
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
623 static void
11450
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
624 regex_key_release_cb(GtkWidget *w, GdkEventKey *e, DebugWindow *win) {
11473
38b35dc600ce [gaim-migrate @ 13714]
Gary Kramlich <grim@reaperworld.com>
parents: 11450
diff changeset
625 if(e->keyval == GDK_Return &&
11450
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
626 GTK_WIDGET_IS_SENSITIVE(win->filter) &&
29746
f7a7722bee2f Remove GTK_CHECK_VERSION(2,4,0) checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29745
diff changeset
627 !gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(win->filter)))
11450
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
628 {
29746
f7a7722bee2f Remove GTK_CHECK_VERSION(2,4,0) checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29745
diff changeset
629 gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(win->filter), TRUE);
11450
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
630 }
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
631 }
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
632
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
633 static void
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
634 regex_menu_cb(GtkWidget *item, const gchar *pref) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
635 gboolean active;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
636
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
637 active = gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(item));
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
638
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
639 purple_prefs_set_bool(pref, active);
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
640 }
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
641
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
642 static void
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
643 regex_popup_cb(GtkEntry *entry, GtkWidget *menu, DebugWindow *win) {
15568
cd19bb5a51b8 gtkutils changes
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
644 pidgin_separator(menu);
cd19bb5a51b8 gtkutils changes
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
645 pidgin_new_check_item(menu, _("Invert"),
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
646 G_CALLBACK(regex_menu_cb),
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
647 PIDGIN_PREFS_ROOT "/debug/invert", win->invert);
15568
cd19bb5a51b8 gtkutils changes
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
648 pidgin_new_check_item(menu, _("Highlight matches"),
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
649 G_CALLBACK(regex_menu_cb),
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
650 PIDGIN_PREFS_ROOT "/debug/highlight", win->highlight);
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
651 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
652
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
653 static void
29746
f7a7722bee2f Remove GTK_CHECK_VERSION(2,4,0) checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29745
diff changeset
654 regex_filter_toggled_cb(GtkToggleToolButton *button, DebugWindow *win) {
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
655 gboolean active;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
656
29746
f7a7722bee2f Remove GTK_CHECK_VERSION(2,4,0) checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29745
diff changeset
657 active = gtk_toggle_tool_button_get_active(button);
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
658
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
659 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/debug/filter", active);
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
660
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
661 if(!GTK_IS_IMHTML(win->text))
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
662 return;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
663
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
664 if(active)
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
665 regex_filter_all(win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
666 else
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
667 regex_show_all(win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
668 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
669
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
670 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
671 filter_level_pref_changed(const char *name, PurplePrefType type, gconstpointer value, gpointer data)
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
672 {
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
673 DebugWindow *win = data;
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
674
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
675 if (GPOINTER_TO_INT(value) != gtk_combo_box_get_active(GTK_COMBO_BOX(win->filterlevel)))
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
676 gtk_combo_box_set_active(GTK_COMBO_BOX(win->filterlevel), GPOINTER_TO_INT(value));
29746
f7a7722bee2f Remove GTK_CHECK_VERSION(2,4,0) checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29745
diff changeset
677 if(gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(win->filter)))
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
678 regex_filter_all(win);
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
679 else
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
680 regex_show_all(win);
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
681 }
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
682 #endif /* USE_REGEX */
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
683
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
684 static void
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
685 filter_level_changed_cb(GtkWidget *combo, gpointer null)
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
686 {
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
687 purple_prefs_set_int(PIDGIN_PREFS_ROOT "/debug/filterlevel",
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
688 gtk_combo_box_get_active(GTK_COMBO_BOX(combo)));
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
689 }
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
690
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
691 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
692 toolbar_style_pref_changed_cb(const char *name, PurplePrefType type, gconstpointer value, gpointer data)
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
693 {
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
694 gtk_toolbar_set_style(GTK_TOOLBAR(data), GPOINTER_TO_INT(value));
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
695 }
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
696
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
697 static void
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
698 toolbar_icon_pref_changed(GtkWidget *item, GtkWidget *toolbar)
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
699 {
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
700 int style = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(item), "user_data"));
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
701 purple_prefs_set_int(PIDGIN_PREFS_ROOT "/debug/style", style);
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
702 }
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
703
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
704 static gboolean
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
705 toolbar_context(GtkWidget *toolbar, GdkEventButton *event, gpointer null)
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
706 {
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
707 GtkWidget *menu, *item;
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
708 const char *text[3];
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
709 GtkToolbarStyle value[3];
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
710 int i;
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
711
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
712 if (!(event->button == 3 && event->type == GDK_BUTTON_PRESS))
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
713 return FALSE;
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
714
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
715 text[0] = _("_Icon Only"); value[0] = GTK_TOOLBAR_ICONS;
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
716 text[1] = _("_Text Only"); value[1] = GTK_TOOLBAR_TEXT;
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
717 text[2] = _("_Both Icon & Text"); value[2] = GTK_TOOLBAR_BOTH_HORIZ;
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
718
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
719 menu = gtk_menu_new();
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
720
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
721 for (i = 0; i < 3; i++) {
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
722 item = gtk_check_menu_item_new_with_mnemonic(text[i]);
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
723 g_object_set_data(G_OBJECT(item), "user_data", GINT_TO_POINTER(value[i]));
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
724 g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(toolbar_icon_pref_changed), toolbar);
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
725 if (value[i] == purple_prefs_get_int(PIDGIN_PREFS_ROOT "/debug/style"))
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
726 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), TRUE);
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
727 gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
728 }
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
729
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
730 gtk_widget_show_all(menu);
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
731
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
732 gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, 0, gtk_get_current_event_time());
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
733 return FALSE;
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
734 }
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
735
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
736 static DebugWindow *
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
737 debug_window_new(void)
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
738 {
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
739 DebugWindow *win;
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
740 GtkWidget *vbox;
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
741 GtkWidget *toolbar;
10175
2bf5ed145e8a [gaim-migrate @ 11290]
Mark Doliner <markdoliner@pidgin.im>
parents: 10087
diff changeset
742 GtkWidget *frame;
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
743 gint width, height;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
744 void *handle;
29745
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
745 GtkToolItem *item;
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
746 #if !GTK_CHECK_VERSION(2,12,0)
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
747 GtkTooltips *tooltips;
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
748 #endif
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
749
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
750 win = g_new0(DebugWindow, 1);
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
751
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
752 width = purple_prefs_get_int(PIDGIN_PREFS_ROOT "/debug/width");
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
753 height = purple_prefs_get_int(PIDGIN_PREFS_ROOT "/debug/height");
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
754
29321
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29287
diff changeset
755 win->window = pidgin_create_window(_("Debug Window"), 0, "debug", TRUE);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
756 purple_debug_info("gtkdebug", "Setting dimensions to %d, %d\n",
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
757 width, height);
5642
d7b8b62542a3 [gaim-migrate @ 6056]
Christian Hammond <chipx86@chipx86.com>
parents: 5636
diff changeset
758
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
759 gtk_window_set_default_size(GTK_WINDOW(win->window), width, height);
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
760
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
761 g_signal_connect(G_OBJECT(win->window), "delete_event",
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
762 G_CALLBACK(debug_window_destroy), NULL);
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
763 g_signal_connect(G_OBJECT(win->window), "configure_event",
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
764 G_CALLBACK(configure_cb), win);
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
765
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15512
diff changeset
766 handle = pidgin_debug_get_handle();
22099
8e70e3ba6096 Modified patch from Gabriel (Sylar?) Schulof to deprecate PIDGIN_DIALOG. Closes #4535. (PS: I am aware of --author).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 21743
diff changeset
767
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
768 #ifdef USE_REGEX
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
769 /* the list store for all the messages */
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
770 win->store = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_INT);
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
771
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
772 /* row-changed gets called when we do gtk_list_store_set, and row-inserted
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
773 * gets called with gtk_list_store_append, which is a
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
774 * completely empty row. So we just ignore row-inserted, and deal with row
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
775 * changed. -Gary
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
776 */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
777 g_signal_connect(G_OBJECT(win->store), "row-changed",
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
778 G_CALLBACK(regex_row_changed_cb), win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
779
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
780 #endif /* USE_REGEX */
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
781
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
782 /* Setup the vbox */
29321
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29287
diff changeset
783 vbox = gtk_vbox_new(FALSE, 0);
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29287
diff changeset
784 gtk_container_add(GTK_CONTAINER(win->window), vbox);
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
785
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
786 if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/debug/toolbar")) {
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
787 /* Setup our top button bar thingie. */
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
788 toolbar = gtk_toolbar_new();
29746
f7a7722bee2f Remove GTK_CHECK_VERSION(2,4,0) checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29745
diff changeset
789 #if !GTK_CHECK_VERSION(2,12,0)
29745
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
790 tooltips = gtk_tooltips_new();
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
791 #endif
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
792 #if !GTK_CHECK_VERSION(2,14,0)
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
793 gtk_toolbar_set_tooltips(GTK_TOOLBAR(toolbar), TRUE);
29745
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
794 #endif
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
795 gtk_toolbar_set_show_arrow(GTK_TOOLBAR(toolbar), TRUE);
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
796 g_signal_connect(G_OBJECT(toolbar), "button-press-event", G_CALLBACK(toolbar_context), win);
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
797
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
798 gtk_toolbar_set_style(GTK_TOOLBAR(toolbar),
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
799 purple_prefs_get_int(PIDGIN_PREFS_ROOT "/debug/style"));
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
800 purple_prefs_connect_callback(handle, PIDGIN_PREFS_ROOT "/debug/style",
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
801 toolbar_style_pref_changed_cb, toolbar);
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
802 gtk_toolbar_set_icon_size(GTK_TOOLBAR(toolbar),
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
803 GTK_ICON_SIZE_SMALL_TOOLBAR);
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
804
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
805 gtk_box_pack_start(GTK_BOX(vbox), toolbar, FALSE, FALSE, 0);
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
806
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
807 #ifndef USE_REGEX
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
808 /* Find button */
29745
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
809 item = gtk_tool_button_new_from_stock(GTK_STOCK_FIND);
29747
4256b05bd720 Set debug window tool items to be "important" so that they show text when
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29746
diff changeset
810 gtk_tool_item_set_is_important(item, TRUE);
29745
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
811 #if GTK_CHECK_VERSION(2,12,0)
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
812 gtk_tool_item_set_tooltip_text(item, _("Find"));
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
813 #else
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
814 gtk_tool_item_set_tooltip(item, tooltips, _("Find"), NULL);
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
815 #endif
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
816 g_signal_connect(G_OBJECT(item), "clicked", G_CALLBACK(find_cb), win);
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
817 gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(item));
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
818 #endif /* USE_REGEX */
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
819
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
820 /* Save */
29745
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
821 item = gtk_tool_button_new_from_stock(GTK_STOCK_SAVE);
29747
4256b05bd720 Set debug window tool items to be "important" so that they show text when
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29746
diff changeset
822 gtk_tool_item_set_is_important(item, TRUE);
29745
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
823 #if GTK_CHECK_VERSION(2,12,0)
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
824 gtk_tool_item_set_tooltip_text(item, _("Save"));
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
825 #else
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
826 gtk_tool_item_set_tooltip(item, tooltips, _("Save"), NULL);
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
827 #endif
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
828 g_signal_connect(G_OBJECT(item), "clicked", G_CALLBACK(save_cb), win);
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
829 gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(item));
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
830
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
831 /* Clear button */
29745
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
832 item = gtk_tool_button_new_from_stock(GTK_STOCK_CLEAR);
29747
4256b05bd720 Set debug window tool items to be "important" so that they show text when
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29746
diff changeset
833 gtk_tool_item_set_is_important(item, TRUE);
29745
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
834 #if GTK_CHECK_VERSION(2,12,0)
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
835 gtk_tool_item_set_tooltip_text(item, _("Clear"));
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
836 #else
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
837 gtk_tool_item_set_tooltip(item, tooltips, _("Clear"), NULL);
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
838 #endif
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
839 g_signal_connect(G_OBJECT(item), "clicked", G_CALLBACK(clear_cb), win);
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
840 gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(item));
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
841
29745
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
842 item = gtk_separator_tool_item_new();
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
843 gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(item));
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
844
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
845 /* Pause */
29745
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
846 item = gtk_toggle_tool_button_new_from_stock(PIDGIN_STOCK_PAUSE);
29747
4256b05bd720 Set debug window tool items to be "important" so that they show text when
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29746
diff changeset
847 gtk_tool_item_set_is_important(item, TRUE);
29745
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
848 #if GTK_CHECK_VERSION(2,12,0)
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
849 gtk_tool_item_set_tooltip_text(item, _("Pause"));
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
850 #else
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
851 gtk_tool_item_set_tooltip(item, tooltips, _("Pause"), NULL);
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
852 #endif
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
853 g_signal_connect(G_OBJECT(item), "clicked", G_CALLBACK(pause_cb), win);
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
854 gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(item));
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
855
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
856 #ifdef USE_REGEX
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
857 /* regex stuff */
29745
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
858 item = gtk_separator_tool_item_new();
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
859 gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(item));
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
860
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
861 /* regex toggle button */
29747
4256b05bd720 Set debug window tool items to be "important" so that they show text when
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29746
diff changeset
862 item = gtk_toggle_tool_button_new_from_stock(GTK_STOCK_FIND);
4256b05bd720 Set debug window tool items to be "important" so that they show text when
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29746
diff changeset
863 gtk_tool_item_set_is_important(item, TRUE);
4256b05bd720 Set debug window tool items to be "important" so that they show text when
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29746
diff changeset
864 win->filter = GTK_WIDGET(item);
29745
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
865 gtk_tool_button_set_label(GTK_TOOL_BUTTON(win->filter), _("Filter"));
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
866 #if GTK_CHECK_VERSION(2,12,0)
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
867 gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(win->filter), _("Filter"));
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
868 #else
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
869 gtk_tooltips_set_tip(tooltips, win->filter, _("Filter"), NULL);
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
870 #endif
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
871 g_signal_connect(G_OBJECT(win->filter), "clicked", G_CALLBACK(regex_filter_toggled_cb), win);
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
872 gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(win->filter));
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
873
11450
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
874 /* we purposely disable the toggle button here in case
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
875 * /purple/gtk/debug/expression has an empty string. If it does not have
11450
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
876 * an empty string, the change signal will get called and make the
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
877 * toggle button sensitive.
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
878 */
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
879 gtk_widget_set_sensitive(win->filter, FALSE);
29746
f7a7722bee2f Remove GTK_CHECK_VERSION(2,4,0) checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29745
diff changeset
880 gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(win->filter),
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
881 purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/debug/filter"));
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
882 purple_prefs_connect_callback(handle, PIDGIN_PREFS_ROOT "/debug/filter",
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
883 regex_pref_filter_cb, win);
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
884
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
885 /* regex entry */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
886 win->expression = gtk_entry_new();
29745
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
887 item = gtk_tool_item_new();
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
888 #if GTK_CHECK_VERSION(2,12,0)
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
889 gtk_widget_set_tooltip_text(win->expression, _("Right click for more options."));
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
890 #else
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
891 gtk_tooltips_set_tip(tooltips, win->expression, _("Right click for more options."), NULL);
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
892 #endif
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
893 gtk_container_add(GTK_CONTAINER(item), GTK_WIDGET(win->expression));
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
894 gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(item));
29746
f7a7722bee2f Remove GTK_CHECK_VERSION(2,4,0) checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29745
diff changeset
895
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
896 /* this needs to be before the text is set from the pref if we want it
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
897 * to colorize a stored expression.
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
898 */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
899 g_signal_connect(G_OBJECT(win->expression), "changed",
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
900 G_CALLBACK(regex_changed_cb), win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
901 gtk_entry_set_text(GTK_ENTRY(win->expression),
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
902 purple_prefs_get_string(PIDGIN_PREFS_ROOT "/debug/regex"));
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
903 g_signal_connect(G_OBJECT(win->expression), "populate-popup",
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
904 G_CALLBACK(regex_popup_cb), win);
11450
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
905 g_signal_connect(G_OBJECT(win->expression), "key-release-event",
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
906 G_CALLBACK(regex_key_release_cb), win);
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
907 purple_prefs_connect_callback(handle, PIDGIN_PREFS_ROOT "/debug/regex",
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
908 regex_pref_expression_cb, win);
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
909
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
910 /* connect the rest of our pref callbacks */
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
911 win->invert = purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/debug/invert");
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
912 purple_prefs_connect_callback(handle, PIDGIN_PREFS_ROOT "/debug/invert",
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
913 regex_pref_invert_cb, win);
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
914
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
915 win->highlight = purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/debug/highlight");
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
916 purple_prefs_connect_callback(handle, PIDGIN_PREFS_ROOT "/debug/highlight",
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
917 regex_pref_highlight_cb, win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
918
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
919 #endif /* USE_REGEX */
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
920
29745
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
921 item = gtk_separator_tool_item_new();
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
922 gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(item));
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
923
29745
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
924 item = gtk_tool_item_new();
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
925 gtk_container_add(GTK_CONTAINER(item), gtk_label_new(_("Level ")));
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
926 gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(item));
29746
f7a7722bee2f Remove GTK_CHECK_VERSION(2,4,0) checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29745
diff changeset
927
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
928 win->filterlevel = gtk_combo_box_new_text();
29745
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
929 item = gtk_tool_item_new();
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
930 #if GTK_CHECK_VERSION(2,12,0)
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
931 gtk_widget_set_tooltip_text(win->filterlevel, _("Select the debug filter level."));
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
932 #else
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
933 gtk_tooltips_set_tip(tooltips, win->filterlevel, _("Select the debug filter level."), NULL);
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
934 #endif
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
935 gtk_container_add(GTK_CONTAINER(item), win->filterlevel);
ebf70b1934f1 New-fangled toolbar code and all that.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
936 gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(item));
29746
f7a7722bee2f Remove GTK_CHECK_VERSION(2,4,0) checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29745
diff changeset
937
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
938 gtk_combo_box_append_text(GTK_COMBO_BOX(win->filterlevel), _("All"));
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
939 gtk_combo_box_append_text(GTK_COMBO_BOX(win->filterlevel), _("Misc"));
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
940 gtk_combo_box_append_text(GTK_COMBO_BOX(win->filterlevel), _("Info"));
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
941 gtk_combo_box_append_text(GTK_COMBO_BOX(win->filterlevel), _("Warning"));
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
942 gtk_combo_box_append_text(GTK_COMBO_BOX(win->filterlevel), _("Error "));
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
943 gtk_combo_box_append_text(GTK_COMBO_BOX(win->filterlevel), _("Fatal Error"));
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
944 gtk_combo_box_set_active(GTK_COMBO_BOX(win->filterlevel),
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
945 purple_prefs_get_int(PIDGIN_PREFS_ROOT "/debug/filterlevel"));
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
946 #ifdef USE_REGEX
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
947 purple_prefs_connect_callback(handle, PIDGIN_PREFS_ROOT "/debug/filterlevel",
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
948 filter_level_pref_changed, win);
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
949 #endif
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
950 g_signal_connect(G_OBJECT(win->filterlevel), "changed",
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
951 G_CALLBACK(filter_level_changed_cb), NULL);
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
952 }
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
953
10175
2bf5ed145e8a [gaim-migrate @ 11290]
Mark Doliner <markdoliner@pidgin.im>
parents: 10087
diff changeset
954 /* Add the gtkimhtml */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15512
diff changeset
955 frame = pidgin_create_imhtml(FALSE, &win->text, NULL, NULL);
10739
9c7926312a4d [gaim-migrate @ 12341]
Mark Doliner <markdoliner@pidgin.im>
parents: 10589
diff changeset
956 gtk_imhtml_set_format_functions(GTK_IMHTML(win->text),
9c7926312a4d [gaim-migrate @ 12341]
Mark Doliner <markdoliner@pidgin.im>
parents: 10589
diff changeset
957 GTK_IMHTML_ALL ^ GTK_IMHTML_SMILEY ^ GTK_IMHTML_IMAGE);
10175
2bf5ed145e8a [gaim-migrate @ 11290]
Mark Doliner <markdoliner@pidgin.im>
parents: 10087
diff changeset
958 gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0);
2bf5ed145e8a [gaim-migrate @ 11290]
Mark Doliner <markdoliner@pidgin.im>
parents: 10087
diff changeset
959 gtk_widget_show(frame);
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
960
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
961 #ifdef USE_REGEX
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
962 /* add the tag for regex highlighting */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
963 gtk_text_buffer_create_tag(GTK_IMHTML(win->text)->text_buffer, "regex",
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
964 "background", "#FFAFAF",
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
965 "weight", "bold",
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
966 NULL);
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
967 #endif /* USE_REGEX */
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
968
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
969 gtk_widget_show_all(win->window);
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
970
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
971 return win;
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
972 }
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
973
17232
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
974 static gboolean
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
975 debug_enabled_timeout_cb(gpointer data)
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
976 {
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
977 debug_enabled_timer = 0;
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
978
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
979 if (data)
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
980 pidgin_debug_window_show();
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
981 else
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
982 pidgin_debug_window_hide();
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
983
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
984 return FALSE;
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
985 }
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
986
5625
ac8c09def58a [gaim-migrate @ 6032]
Christian Hammond <chipx86@chipx86.com>
parents: 5535
diff changeset
987 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
988 debug_enabled_cb(const char *name, PurplePrefType type,
12816
5f93e09fa9a6 [gaim-migrate @ 15164]
Mark Doliner <markdoliner@pidgin.im>
parents: 12231
diff changeset
989 gconstpointer value, gpointer data)
5625
ac8c09def58a [gaim-migrate @ 6032]
Christian Hammond <chipx86@chipx86.com>
parents: 5535
diff changeset
990 {
17232
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
991 debug_enabled_timer = g_timeout_add(0, debug_enabled_timeout_cb, GINT_TO_POINTER(GPOINTER_TO_INT(value)));
5625
ac8c09def58a [gaim-migrate @ 6032]
Christian Hammond <chipx86@chipx86.com>
parents: 5535
diff changeset
992 }
ac8c09def58a [gaim-migrate @ 6032]
Christian Hammond <chipx86@chipx86.com>
parents: 5535
diff changeset
993
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
994 static void
15880
d275b025481c More Gaim to Pidgin changes
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
995 pidgin_glib_log_handler(const gchar *domain, GLogLevelFlags flags,
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
996 const gchar *msg, gpointer user_data)
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
997 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
998 PurpleDebugLevel level;
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
999 char *new_msg = NULL;
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1000 char *new_domain = NULL;
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1001
7152
112d0e52d04b [gaim-migrate @ 7719]
Christian Hammond <chipx86@chipx86.com>
parents: 7150
diff changeset
1002 if ((flags & G_LOG_LEVEL_ERROR) == G_LOG_LEVEL_ERROR)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1003 level = PURPLE_DEBUG_ERROR;
7152
112d0e52d04b [gaim-migrate @ 7719]
Christian Hammond <chipx86@chipx86.com>
parents: 7150
diff changeset
1004 else if ((flags & G_LOG_LEVEL_CRITICAL) == G_LOG_LEVEL_CRITICAL)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1005 level = PURPLE_DEBUG_FATAL;
7152
112d0e52d04b [gaim-migrate @ 7719]
Christian Hammond <chipx86@chipx86.com>
parents: 7150
diff changeset
1006 else if ((flags & G_LOG_LEVEL_WARNING) == G_LOG_LEVEL_WARNING)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1007 level = PURPLE_DEBUG_WARNING;
7152
112d0e52d04b [gaim-migrate @ 7719]
Christian Hammond <chipx86@chipx86.com>
parents: 7150
diff changeset
1008 else if ((flags & G_LOG_LEVEL_MESSAGE) == G_LOG_LEVEL_MESSAGE)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1009 level = PURPLE_DEBUG_INFO;
7152
112d0e52d04b [gaim-migrate @ 7719]
Christian Hammond <chipx86@chipx86.com>
parents: 7150
diff changeset
1010 else if ((flags & G_LOG_LEVEL_INFO) == G_LOG_LEVEL_INFO)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1011 level = PURPLE_DEBUG_INFO;
7152
112d0e52d04b [gaim-migrate @ 7719]
Christian Hammond <chipx86@chipx86.com>
parents: 7150
diff changeset
1012 else if ((flags & G_LOG_LEVEL_DEBUG) == G_LOG_LEVEL_DEBUG)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1013 level = PURPLE_DEBUG_MISC;
7152
112d0e52d04b [gaim-migrate @ 7719]
Christian Hammond <chipx86@chipx86.com>
parents: 7150
diff changeset
1014 else
112d0e52d04b [gaim-migrate @ 7719]
Christian Hammond <chipx86@chipx86.com>
parents: 7150
diff changeset
1015 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1016 purple_debug_warning("gtkdebug",
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1017 "Unknown glib logging level in %d\n", flags);
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1018
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1019 level = PURPLE_DEBUG_MISC; /* This will never happen. */
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1020 }
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1021
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1022 if (msg != NULL)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1023 new_msg = purple_utf8_try_convert(msg);
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1024
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1025 if (domain != NULL)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1026 new_domain = purple_utf8_try_convert(domain);
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1027
7152
112d0e52d04b [gaim-migrate @ 7719]
Christian Hammond <chipx86@chipx86.com>
parents: 7150
diff changeset
1028 if (new_msg != NULL)
112d0e52d04b [gaim-migrate @ 7719]
Christian Hammond <chipx86@chipx86.com>
parents: 7150
diff changeset
1029 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1030 purple_debug(level, (new_domain != NULL ? new_domain : "g_log"),
7152
112d0e52d04b [gaim-migrate @ 7719]
Christian Hammond <chipx86@chipx86.com>
parents: 7150
diff changeset
1031 "%s\n", new_msg);
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1032
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1033 g_free(new_msg);
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1034 }
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1035
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13988
diff changeset
1036 g_free(new_domain);
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1037 }
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1038
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1039 #ifdef _WIN32
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1040 static void
15880
d275b025481c More Gaim to Pidgin changes
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
1041 pidgin_glib_dummy_print_handler(const gchar *string)
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1042 {
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1043 }
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1044 #endif
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1045
5625
ac8c09def58a [gaim-migrate @ 6032]
Christian Hammond <chipx86@chipx86.com>
parents: 5535
diff changeset
1046 void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15512
diff changeset
1047 pidgin_debug_init(void)
5625
ac8c09def58a [gaim-migrate @ 6032]
Christian Hammond <chipx86@chipx86.com>
parents: 5535
diff changeset
1048 {
5684
10b916deb20c [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5642
diff changeset
1049 /* Debug window preferences. */
10b916deb20c [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5642
diff changeset
1050 /*
10b916deb20c [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5642
diff changeset
1051 * NOTE: This must be set before prefs are loaded, and the callbacks
10b916deb20c [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5642
diff changeset
1052 * set after they are loaded, since prefs sets the enabled
10b916deb20c [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5642
diff changeset
1053 * preference here and that loads the window, which calls the
8735
01248ea222d3 [gaim-migrate @ 9490]
Jonathan Champ <royanee@users.sourceforge.net>
parents: 8046
diff changeset
1054 * configure event, which overrides the width and height! :P
5684
10b916deb20c [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5642
diff changeset
1055 */
10b916deb20c [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5642
diff changeset
1056
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
1057 purple_prefs_add_none(PIDGIN_PREFS_ROOT "/debug");
10307
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1058
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1059 /* Controls printing to the debug window */
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
1060 purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/debug/enabled", FALSE);
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
1061 purple_prefs_add_int(PIDGIN_PREFS_ROOT "/debug/filterlevel", PURPLE_DEBUG_ALL);
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
1062 purple_prefs_add_int(PIDGIN_PREFS_ROOT "/debug/style", GTK_TOOLBAR_BOTH_HORIZ);
10307
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1063
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
1064 purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/debug/toolbar", TRUE);
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
1065 purple_prefs_add_int(PIDGIN_PREFS_ROOT "/debug/width", 450);
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
1066 purple_prefs_add_int(PIDGIN_PREFS_ROOT "/debug/height", 250);
5684
10b916deb20c [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5642
diff changeset
1067
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
1068 #ifdef USE_REGEX
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
1069 purple_prefs_add_string(PIDGIN_PREFS_ROOT "/debug/regex", "");
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
1070 purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/debug/filter", FALSE);
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
1071 purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/debug/invert", FALSE);
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
1072 purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/debug/case_insensitive", FALSE);
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
1073 purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/debug/highlight", FALSE);
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
1074 #endif /* USE_REGEX */
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
1075
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
1076 purple_prefs_connect_callback(NULL, PIDGIN_PREFS_ROOT "/debug/enabled",
5794
ebdbb7dc6658 [gaim-migrate @ 6219]
Christian Hammond <chipx86@chipx86.com>
parents: 5738
diff changeset
1077 debug_enabled_cb, NULL);
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1078
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1079 #define REGISTER_G_LOG_HANDLER(name) \
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1080 g_log_set_handler((name), G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL \
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1081 | G_LOG_FLAG_RECURSION, \
15880
d275b025481c More Gaim to Pidgin changes
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
1082 pidgin_glib_log_handler, NULL)
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1083
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1084 /* Register the glib/gtk log handlers. */
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1085 REGISTER_G_LOG_HANDLER(NULL);
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1086 REGISTER_G_LOG_HANDLER("Gdk");
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1087 REGISTER_G_LOG_HANDLER("Gtk");
7229
0f85b503c030 [gaim-migrate @ 7799]
Herman Bloggs <herman@bluedigits.com>
parents: 7152
diff changeset
1088 REGISTER_G_LOG_HANDLER("GdkPixbuf");
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1089 REGISTER_G_LOG_HANDLER("GLib");
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1090 REGISTER_G_LOG_HANDLER("GModule");
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1091 REGISTER_G_LOG_HANDLER("GLib-GObject");
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1092 REGISTER_G_LOG_HANDLER("GThread");
21743
7a0caaf628ff applied changes from 10f341962a83e2380243c4e44bb685105e3091a2
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21630
diff changeset
1093 #ifdef USE_GSTREAMER
7a0caaf628ff applied changes from 10f341962a83e2380243c4e44bb685105e3091a2
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21630
diff changeset
1094 REGISTER_G_LOG_HANDLER("GStreamer");
7a0caaf628ff applied changes from 10f341962a83e2380243c4e44bb685105e3091a2
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21630
diff changeset
1095 #endif
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1096
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1097 #ifdef _WIN32
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1098 if (!purple_debug_is_enabled())
15880
d275b025481c More Gaim to Pidgin changes
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
1099 g_set_print_handler(pidgin_glib_dummy_print_handler);
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
1100 #endif
5625
ac8c09def58a [gaim-migrate @ 6032]
Christian Hammond <chipx86@chipx86.com>
parents: 5535
diff changeset
1101 }
ac8c09def58a [gaim-migrate @ 6032]
Christian Hammond <chipx86@chipx86.com>
parents: 5535
diff changeset
1102
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1103 void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15512
diff changeset
1104 pidgin_debug_uninit(void)
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
1105 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1106 purple_debug_set_ui_ops(NULL);
17232
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
1107
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
1108 if (debug_enabled_timer != 0)
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
1109 g_source_remove(debug_enabled_timer);
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
1110 }
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
1111
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
1112 void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15512
diff changeset
1113 pidgin_debug_window_show(void)
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1114 {
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1115 if (debug_win == NULL)
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1116 debug_win = debug_window_new();
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1117
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1118 gtk_widget_show(debug_win->window);
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
1119
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
1120 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/debug/enabled", TRUE);
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1121 }
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1122
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1123 void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15512
diff changeset
1124 pidgin_debug_window_hide(void)
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1125 {
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1126 if (debug_win != NULL) {
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1127 gtk_widget_destroy(debug_win->window);
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1128 debug_window_destroy(NULL, NULL, NULL);
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1129 }
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1130 }
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1131
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1132 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1133 pidgin_debug_print(PurpleDebugLevel level, const char *category,
13988
a178d3dcbb7f [gaim-migrate @ 16445]
Mark Doliner <markdoliner@pidgin.im>
parents: 13664
diff changeset
1134 const char *arg_s)
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1135 {
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
1136 #ifdef USE_REGEX
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
1137 GtkTreeIter iter;
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
1138 #endif /* USE_REGEX */
13988
a178d3dcbb7f [gaim-migrate @ 16445]
Mark Doliner <markdoliner@pidgin.im>
parents: 13664
diff changeset
1139 gchar *ts_s;
10307
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1140 gchar *esc_s, *cat_s, *tmp, *s;
17040
cb33027a36e4 Force timestamps always on for debug log and debug window. Making this
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16752
diff changeset
1141 const char *mdate;
cb33027a36e4 Force timestamps always on for debug log and debug window. Making this
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16752
diff changeset
1142 time_t mtime;
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
1143
16045
d9add5eda4cd Check if debug_win is != NULL before checking the preference. This
Mark Doliner <markdoliner@pidgin.im>
parents: 16044
diff changeset
1144 if (debug_win == NULL ||
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
1145 !purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/debug/enabled"))
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
1146 {
10307
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1147 return;
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1148 }
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1149
17040
cb33027a36e4 Force timestamps always on for debug log and debug window. Making this
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16752
diff changeset
1150 mtime = time(NULL);
cb33027a36e4 Force timestamps always on for debug log and debug window. Making this
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16752
diff changeset
1151 mdate = purple_utf8_strftime("%H:%M:%S", localtime(&mtime));
cb33027a36e4 Force timestamps always on for debug log and debug window. Making this
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16752
diff changeset
1152 ts_s = g_strdup_printf("(%s) ", mdate);
10307
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1153 if (category == NULL)
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1154 cat_s = g_strdup("");
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1155 else
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1156 cat_s = g_strdup_printf("<b>%s:</b> ", category);
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1157
10307
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1158 esc_s = g_markup_escape_text(arg_s, -1);
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
1159
10307
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1160 s = g_strdup_printf("<font color=\"%s\">%s%s%s</font>",
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1161 debug_fg_colors[level], ts_s, cat_s, esc_s);
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1162
10307
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1163 g_free(ts_s);
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1164 g_free(cat_s);
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1165 g_free(esc_s);
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1166
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1167 tmp = purple_utf8_try_convert(s);
10307
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1168 g_free(s);
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1169 s = tmp;
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1170
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1171 if (level == PURPLE_DEBUG_FATAL) {
10307
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1172 tmp = g_strdup_printf("<b>%s</b>", s);
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1173 g_free(s);
10307
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1174 s = tmp;
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1175 }
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1176
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
1177 #ifdef USE_REGEX
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
1178 /* add the text to the list store */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
1179 gtk_list_store_append(debug_win->store, &iter);
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
1180 gtk_list_store_set(debug_win->store, &iter, 0, s, 1, level, -1);
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
1181 #else /* USE_REGEX */
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
1182 if(!debug_win->paused && level >= purple_prefs_get_int(PIDGIN_PREFS_ROOT "/debug/filterlevel"))
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
1183 gtk_imhtml_append_text(GTK_IMHTML(debug_win->text), s, 0);
30795
4fc1b7cc2e06 Use GRegex where available. Fixes #12601.
Eion Robb <eion@robbmob.com>
parents: 29747
diff changeset
1184 #endif /* !USE_REGEX */
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1185
10307
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1186 g_free(s);
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1187 }
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1188
16044
257072807aa8 Add a whimpy ui op to the debug API that returns TRUE if debugging
Mark Doliner <markdoliner@pidgin.im>
parents: 15931
diff changeset
1189 static gboolean
257072807aa8 Add a whimpy ui op to the debug API that returns TRUE if debugging
Mark Doliner <markdoliner@pidgin.im>
parents: 15931
diff changeset
1190 pidgin_debug_is_enabled(PurpleDebugLevel level, const char *category)
257072807aa8 Add a whimpy ui op to the debug API that returns TRUE if debugging
Mark Doliner <markdoliner@pidgin.im>
parents: 15931
diff changeset
1191 {
16045
d9add5eda4cd Check if debug_win is != NULL before checking the preference. This
Mark Doliner <markdoliner@pidgin.im>
parents: 16044
diff changeset
1192 return (debug_win != NULL &&
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
1193 purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/debug/enabled"));
16044
257072807aa8 Add a whimpy ui op to the debug API that returns TRUE if debugging
Mark Doliner <markdoliner@pidgin.im>
parents: 15931
diff changeset
1194 }
257072807aa8 Add a whimpy ui op to the debug API that returns TRUE if debugging
Mark Doliner <markdoliner@pidgin.im>
parents: 15931
diff changeset
1195
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1196 static PurpleDebugUiOps ops =
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1197 {
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15512
diff changeset
1198 pidgin_debug_print,
16752
e6bcb1628c57 Patch from John 'rekkanoryo' Bailey to add the padding struct members in pidgin
Gary Kramlich <grim@reaperworld.com>
parents: 16490
diff changeset
1199 pidgin_debug_is_enabled,
e6bcb1628c57 Patch from John 'rekkanoryo' Bailey to add the padding struct members in pidgin
Gary Kramlich <grim@reaperworld.com>
parents: 16490
diff changeset
1200 NULL,
e6bcb1628c57 Patch from John 'rekkanoryo' Bailey to add the padding struct members in pidgin
Gary Kramlich <grim@reaperworld.com>
parents: 16490
diff changeset
1201 NULL,
e6bcb1628c57 Patch from John 'rekkanoryo' Bailey to add the padding struct members in pidgin
Gary Kramlich <grim@reaperworld.com>
parents: 16490
diff changeset
1202 NULL,
e6bcb1628c57 Patch from John 'rekkanoryo' Bailey to add the padding struct members in pidgin
Gary Kramlich <grim@reaperworld.com>
parents: 16490
diff changeset
1203 NULL
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1204 };
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1205
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1206 PurpleDebugUiOps *
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15512
diff changeset
1207 pidgin_debug_get_ui_ops(void)
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1208 {
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1209 return &ops;
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1210 }
10087
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9791
diff changeset
1211
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9791
diff changeset
1212 void *
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15512
diff changeset
1213 pidgin_debug_get_handle() {
10087
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9791
diff changeset
1214 static int handle;
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9791
diff changeset
1215
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9791
diff changeset
1216 return &handle;
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9791
diff changeset
1217 }

mercurial