pidgin/gtkdebug.c

Fri, 13 Mar 2009 03:04:07 +0000

author
Paul Aurich <darkrain42@pidgin.im>
date
Fri, 13 Mar 2009 03:04:07 +0000
changeset 26396
7045f27f0a72
parent 25888
d0fdd378a635
child 26337
ec2fc1bc9024
permissions
-rw-r--r--

Move 'Minutes before becoming idle' above 'Change status when idle'

Minutes before becoming idle has an effect even when we're not doing autoaway,
so it should not be disabled then.

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>
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
42 #endif /* HAVE_REGEX_H */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
43
11473
38b35dc600ce [gaim-migrate @ 13714]
Gary Kramlich <grim@reaperworld.com>
parents: 11450
diff changeset
44 #include <gdk/gdkkeysyms.h>
38b35dc600ce [gaim-migrate @ 13714]
Gary Kramlich <grim@reaperworld.com>
parents: 11450
diff changeset
45
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
46 typedef struct
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
47 {
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
48 GtkWidget *window;
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
49 GtkWidget *text;
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
50
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
51 GtkListStore *store;
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
52
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
53 gboolean paused;
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
54
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
55 #ifdef HAVE_REGEX_H
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
56 GtkWidget *filter;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
57 GtkWidget *expression;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
58
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
59 gboolean invert;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
60 gboolean highlight;
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13988
diff changeset
61
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
62 guint timer;
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13988
diff changeset
63
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
64 regex_t regex;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
65 #else
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
66 GtkWidget *find;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
67 #endif /* HAVE_REGEX_H */
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
68 GtkWidget *filterlevel;
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
69 } DebugWindow;
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
70
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
71 static const char debug_fg_colors[][8] = {
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
72 "#000000", /**< All debug levels. */
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
73 "#666666", /**< Misc. */
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
74 "#000000", /**< Information. */
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
75 "#660000", /**< Warnings. */
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
76 "#FF0000", /**< Errors. */
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
77 "#FF0000", /**< Fatal errors. */
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
78 };
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
79
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
80 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
81 static guint debug_enabled_timer = 0;
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
82
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
83 #ifdef HAVE_REGEX_H
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
84 static void regex_filter_all(DebugWindow *win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
85 static void regex_show_all(DebugWindow *win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
86 #endif /* HAVE_REGEX_H */
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
87
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
88 static gint
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
89 debug_window_destroy(GtkWidget *w, GdkEvent *event, void *unused)
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
90 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
91 purple_prefs_disconnect_by_handle(pidgin_debug_get_handle());
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 9501
diff changeset
92
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
93 #ifdef HAVE_REGEX_H
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
94 if(debug_win->timer != 0) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
95 const gchar *text;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
96
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
97 g_source_remove(debug_win->timer);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
98
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
99 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
100 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/debug/regex", text);
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
101 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
102
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
103 regfree(&debug_win->regex);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
104 #endif
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
105
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 9501
diff changeset
106 /* 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
107 purple_request_close_with_handle(debug_win);
5704
3170b0bd2b40 [gaim-migrate @ 6125]
Christian Hammond <chipx86@chipx86.com>
parents: 5684
diff changeset
108
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
109 g_free(debug_win);
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
110 debug_win = NULL;
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
111
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
112 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/debug/enabled", FALSE);
9480
b4d46aa1be7d [gaim-migrate @ 10305]
Mark Doliner <markdoliner@pidgin.im>
parents: 8953
diff changeset
113
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
114 return FALSE;
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
115 }
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
116
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
117 static gboolean
5794
ebdbb7dc6658 [gaim-migrate @ 6219]
Christian Hammond <chipx86@chipx86.com>
parents: 5738
diff changeset
118 configure_cb(GtkWidget *w, GdkEventConfigure *event, DebugWindow *win)
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
119 {
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
120 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
121 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
122 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
123 }
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
124
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
125 return FALSE;
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
126 }
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
127
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
128 #ifndef HAVE_REGEX_H
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
129 struct _find {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
130 DebugWindow *window;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
131 GtkWidget *entry;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
132 };
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
133
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
134 static void
9482
8ade66642b6e [gaim-migrate @ 10307]
Mark Doliner <markdoliner@pidgin.im>
parents: 9480
diff changeset
135 do_find_cb(GtkWidget *widget, gint response, struct _find *f)
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
136 {
9482
8ade66642b6e [gaim-migrate @ 10307]
Mark Doliner <markdoliner@pidgin.im>
parents: 9480
diff changeset
137 switch (response) {
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
138 case GTK_RESPONSE_OK:
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
139 gtk_imhtml_search_find(GTK_IMHTML(f->window->text),
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
140 gtk_entry_get_text(GTK_ENTRY(f->entry)));
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
141 break;
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
142
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
143 case GTK_RESPONSE_DELETE_EVENT:
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
144 case GTK_RESPONSE_CLOSE:
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
145 gtk_imhtml_search_clear(GTK_IMHTML(f->window->text));
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
146 gtk_widget_destroy(f->window->find);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
147 f->window->find = NULL;
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
148 g_free(f);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
149 break;
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
150 }
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
151 }
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
152
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
153 static void
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
154 find_cb(GtkWidget *w, DebugWindow *win)
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
155 {
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
156 GtkWidget *hbox, *img, *label;
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
157 struct _find *f;
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
158
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
159 if(win->find)
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
160 {
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
161 gtk_window_present(GTK_WINDOW(win->find));
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
162 return;
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
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
165 f = g_malloc(sizeof(struct _find));
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
166 f->window = win;
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
167 win->find = gtk_dialog_new_with_buttons(_("Find"),
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
168 GTK_WINDOW(win->window), GTK_DIALOG_DESTROY_WITH_PARENT,
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
169 GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
170 GTK_STOCK_FIND, GTK_RESPONSE_OK, NULL);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
171 gtk_dialog_set_default_response(GTK_DIALOG(win->find),
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
172 GTK_RESPONSE_OK);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
173 g_signal_connect(G_OBJECT(win->find), "response",
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
174 G_CALLBACK(do_find_cb), f);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
175
15882
1dbd5756b7bf More Gaim to Pidgin stuff
Sean Egan <seanegan@pidgin.im>
parents: 15880
diff changeset
176 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
177 gtk_window_set_resizable(GTK_WINDOW(win->find), FALSE);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
178 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
179 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
180 gtk_container_set_border_width(
15882
1dbd5756b7bf More Gaim to Pidgin stuff
Sean Egan <seanegan@pidgin.im>
parents: 15880
diff changeset
181 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
182
15882
1dbd5756b7bf More Gaim to Pidgin stuff
Sean Egan <seanegan@pidgin.im>
parents: 15880
diff changeset
183 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BORDER);
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
184 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(win->find)->vbox),
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
185 hbox);
15512
ddd9983b74aa more win32 build fixes for build changes
Daniel Atallah <datallah@pidgin.im>
parents: 15499
diff changeset
186 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
187 gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_HUGE));
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
188 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
189
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
190 gtk_misc_set_alignment(GTK_MISC(img), 0, 0);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
191 gtk_dialog_set_response_sensitive(GTK_DIALOG(win->find),
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
192 GTK_RESPONSE_OK, FALSE);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
193
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
194 label = gtk_label_new(NULL);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
195 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Search for:"));
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
196 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
197
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
198 f->entry = gtk_entry_new();
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
199 gtk_entry_set_activates_default(GTK_ENTRY(f->entry), TRUE);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
200 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
201 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
202 G_CALLBACK(pidgin_set_sensitive_if_input),
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
203 win->find);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
204 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
205
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
206 gtk_widget_show_all(win->find);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
207 gtk_widget_grab_focus(f->entry);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
208 }
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
209 #endif /* HAVE_REGEX_H */
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
210
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
211 static void
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 9501
diff changeset
212 save_writefile_cb(void *user_data, const char *filename)
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
213 {
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 9501
diff changeset
214 DebugWindow *win = (DebugWindow *)user_data;
9489
3ee8fdcdbac9 [gaim-migrate @ 10314]
Mark Doliner <markdoliner@pidgin.im>
parents: 9486
diff changeset
215 FILE *fp;
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
216 char *tmp;
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
217
10589
4e10236e06d4 [gaim-migrate @ 11994]
Daniel Atallah <datallah@pidgin.im>
parents: 10448
diff changeset
218 if ((fp = g_fopen(filename, "w+")) == NULL) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
219 purple_notify_error(win, NULL, _("Unable to open file."), NULL);
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
220 return;
9480
b4d46aa1be7d [gaim-migrate @ 10305]
Mark Doliner <markdoliner@pidgin.im>
parents: 8953
diff changeset
221 }
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
222
9489
3ee8fdcdbac9 [gaim-migrate @ 10314]
Mark Doliner <markdoliner@pidgin.im>
parents: 9486
diff changeset
223 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
224 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
225 fprintf(fp, "%s", tmp);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
226 g_free(tmp);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
227
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
228 fclose(fp);
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
229 }
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
230
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
231 static void
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
232 save_cb(GtkWidget *w, DebugWindow *win)
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
233 {
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
234 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
235 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
236 NULL, NULL, NULL,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
237 win);
8953
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
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
240 static void
5794
ebdbb7dc6658 [gaim-migrate @ 6219]
Christian Hammond <chipx86@chipx86.com>
parents: 5738
diff changeset
241 clear_cb(GtkWidget *w, DebugWindow *win)
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
242 {
6280
6d78edfe0ef2 [gaim-migrate @ 6779]
Christian Hammond <chipx86@chipx86.com>
parents: 6094
diff changeset
243 gtk_imhtml_clear(GTK_IMHTML(win->text));
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
244
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
245 #ifdef HAVE_REGEX_H
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
246 gtk_list_store_clear(win->store);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
247 #endif /* HAVE_REGEX_H */
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
248 }
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
249
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
250 static void
5794
ebdbb7dc6658 [gaim-migrate @ 6219]
Christian Hammond <chipx86@chipx86.com>
parents: 5738
diff changeset
251 pause_cb(GtkWidget *w, DebugWindow *win)
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
252 {
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
253 win->paused = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w));
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
254
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
255 #ifdef HAVE_REGEX_H
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
256 if(!win->paused) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
257 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(win->filter)))
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
258 regex_filter_all(win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
259 else
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
260 regex_show_all(win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
261 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
262 #endif /* HAVE_REGEX_H */
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
263 }
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
264
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
265 /******************************************************************************
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
266 * regex stuff
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
267 *****************************************************************************/
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
268 #ifdef HAVE_REGEX_H
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
269 static void
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
270 regex_clear_color(GtkWidget *w) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
271 gtk_widget_modify_base(w, GTK_STATE_NORMAL, NULL);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
272 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
273
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
274 static void
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
275 regex_change_color(GtkWidget *w, guint16 r, guint16 g, guint16 b) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
276 GdkColor color;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
277
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
278 color.red = r;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
279 color.green = g;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
280 color.blue = b;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
281
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
282 gtk_widget_modify_base(w, GTK_STATE_NORMAL, &color);
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_highlight_clear(DebugWindow *win) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
287 GtkIMHtml *imhtml = GTK_IMHTML(win->text);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
288 GtkTextIter s, e;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
289
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
290 gtk_text_buffer_get_start_iter(imhtml->text_buffer, &s);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
291 gtk_text_buffer_get_end_iter(imhtml->text_buffer, &e);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
292 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
293 }
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 static void
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
296 regex_match(DebugWindow *win, const gchar *text) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
297 GtkIMHtml *imhtml = GTK_IMHTML(win->text);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
298 regmatch_t matches[4]; /* adjust if necessary */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
299 size_t n_matches = sizeof(matches) / sizeof(matches[0]);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
300 gchar *plaintext;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
301 gint inverted;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
302
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
303 if(!text)
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
304 return;
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 inverted = (win->invert) ? REG_NOMATCH : 0;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
307
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
308 /* 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
309 * it makes the ^ and $ operators work :)
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
310 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
311 plaintext = purple_markup_strip_html(text);
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
312
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
313 /* 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
314 * it, and work out the offsets to highlight.
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
315 */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
316 if(regexec(&win->regex, plaintext, n_matches, matches, 0) == inverted) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
317 GtkTextIter ins;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
318 gchar *p = plaintext;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
319 gint i, offset = 0;
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 gtk_text_buffer_get_iter_at_mark(imhtml->text_buffer, &ins,
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
322 gtk_text_buffer_get_insert(imhtml->text_buffer));
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
323 i = gtk_text_iter_get_offset(&ins);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
324
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
325 gtk_imhtml_append_text(imhtml, text, 0);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
326
11312
73ee18523c44 [gaim-migrate @ 13512]
Gary Kramlich <grim@reaperworld.com>
parents: 11311
diff changeset
327 /* 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
328 * done and move on.
11310
18461cc48950 [gaim-migrate @ 13510]
Gary Kramlich <grim@reaperworld.com>
parents: 11262
diff changeset
329 */
18461cc48950 [gaim-migrate @ 13510]
Gary Kramlich <grim@reaperworld.com>
parents: 11262
diff changeset
330 if(!win->highlight || inverted == REG_NOMATCH) {
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
331 g_free(plaintext);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
332 return;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
333 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
334
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
335 /* 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
336 * if necessary...
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
337 */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
338 do {
12231
0f0dfa2f4d64 [gaim-migrate @ 14533]
Richard Laager <rlaager@pidgin.im>
parents: 11473
diff changeset
339 size_t m;
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
340
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
341 for(m = 0; m < n_matches; m++) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
342 GtkTextIter ms, me;
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13988
diff changeset
343
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13988
diff changeset
344 if(matches[m].rm_eo == -1)
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
345 break;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
346
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
347 i += offset;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
348
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
349 gtk_text_buffer_get_iter_at_offset(imhtml->text_buffer, &ms,
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
350 i + matches[m].rm_so);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
351 gtk_text_buffer_get_iter_at_offset(imhtml->text_buffer, &me,
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
352 i + matches[m].rm_eo);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
353 gtk_text_buffer_apply_tag_by_name(imhtml->text_buffer, "regex",
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
354 &ms, &me);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
355 offset = matches[m].rm_eo;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
356 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
357
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
358 p += offset;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
359 } while(regexec(&win->regex, p, n_matches, matches, REG_NOTBOL) == inverted);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
360 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
361
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
362 g_free(plaintext);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
363 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
364
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
365 static gboolean
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
366 regex_filter_all_cb(GtkTreeModel *m, GtkTreePath *p, GtkTreeIter *iter,
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
367 gpointer data)
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
368 {
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
369 DebugWindow *win = (DebugWindow *)data;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
370 gchar *text;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
371 PurpleDebugLevel level;
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
372
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
373 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
374
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
375 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
376 regex_match(win, text);
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
377
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
378 g_free(text);
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 return FALSE;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
381 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
382
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
383 static void
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
384 regex_filter_all(DebugWindow *win) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
385 gtk_imhtml_clear(GTK_IMHTML(win->text));
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
386
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
387 if(win->highlight)
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
388 regex_highlight_clear(win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
389
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
390 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
391 win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
392 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
393
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
394 static gboolean
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
395 regex_show_all_cb(GtkTreeModel *m, GtkTreePath *p, GtkTreeIter *iter,
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
396 gpointer data)
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
397 {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
398 DebugWindow *win = (DebugWindow *)data;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
399 gchar *text;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
400 PurpleDebugLevel level;
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
401
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
402 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
403 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
404 gtk_imhtml_append_text(GTK_IMHTML(win->text), text, 0);
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
405 g_free(text);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
406
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
407 return FALSE;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
408 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
409
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
410 static void
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
411 regex_show_all(DebugWindow *win) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
412 gtk_imhtml_clear(GTK_IMHTML(win->text));
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
413
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
414 if(win->highlight)
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
415 regex_highlight_clear(win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
416
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
417 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
418 win);
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
419 }
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
420
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
421 static void
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
422 regex_compile(DebugWindow *win) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
423 const gchar *text;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
424
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
425 text = gtk_entry_get_text(GTK_ENTRY(win->expression));
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
426
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
427 if(text == NULL || *text == '\0') {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
428 regex_clear_color(win->expression);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
429 gtk_widget_set_sensitive(win->filter, FALSE);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
430 return;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
431 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
432
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
433 regfree(&win->regex);
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 if(regcomp(&win->regex, text, REG_EXTENDED | REG_ICASE) != 0) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
436 /* failed to compile */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
437 regex_change_color(win->expression, 0xFFFF, 0xAFFF, 0xAFFF);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
438 gtk_widget_set_sensitive(win->filter, FALSE);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
439 } else {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
440 /* compiled successfully */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
441 regex_change_color(win->expression, 0xAFFF, 0xFFFF, 0xAFFF);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
442 gtk_widget_set_sensitive(win->filter, TRUE);
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
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
445 /* 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
446 * got changed, and not the expression.
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
447 */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
448 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(win->filter)))
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
449 regex_filter_all(win);
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
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
452 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
453 regex_pref_filter_cb(const gchar *name, PurplePrefType type,
12816
5f93e09fa9a6 [gaim-migrate @ 15164]
Mark Doliner <markdoliner@pidgin.im>
parents: 12231
diff changeset
454 gconstpointer val, gpointer data)
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
455 {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
456 DebugWindow *win = (DebugWindow *)data;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
457 gboolean active = GPOINTER_TO_INT(val), current;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
458
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
459 if(!win || !win->window)
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
460 return;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
461
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
462 current = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(win->filter));
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
463 if(active != current)
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
464 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(win->filter), active);
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
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
468 regex_pref_expression_cb(const gchar *name, PurplePrefType type,
12816
5f93e09fa9a6 [gaim-migrate @ 15164]
Mark Doliner <markdoliner@pidgin.im>
parents: 12231
diff changeset
469 gconstpointer val, gpointer data)
11256
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 DebugWindow *win = (DebugWindow *)data;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
472 const gchar *exp = (const gchar *)val;
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_entry_set_text(GTK_ENTRY(win->expression), exp);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
475 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
476
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
477 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
478 regex_pref_invert_cb(const gchar *name, PurplePrefType type,
12816
5f93e09fa9a6 [gaim-migrate @ 15164]
Mark Doliner <markdoliner@pidgin.im>
parents: 12231
diff changeset
479 gconstpointer val, gpointer data)
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
480 {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
481 DebugWindow *win = (DebugWindow *)data;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
482 gboolean active = GPOINTER_TO_INT(val);
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 win->invert = active;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
485
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
486 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(win->filter)))
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
487 regex_filter_all(win);
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
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
490 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
491 regex_pref_highlight_cb(const gchar *name, PurplePrefType type,
12816
5f93e09fa9a6 [gaim-migrate @ 15164]
Mark Doliner <markdoliner@pidgin.im>
parents: 12231
diff changeset
492 gconstpointer val, gpointer data)
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
493 {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
494 DebugWindow *win = (DebugWindow *)data;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
495 gboolean active = GPOINTER_TO_INT(val);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
496
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
497 win->highlight = active;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
498
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
499 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(win->filter)))
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
500 regex_filter_all(win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
501 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
502
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
503 static void
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
504 regex_row_changed_cb(GtkTreeModel *model, GtkTreePath *path,
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
505 GtkTreeIter *iter, DebugWindow *win)
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
506 {
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
507 gchar *text;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
508 PurpleDebugLevel level;
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
509
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
510 if(!win || !win->window)
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
511 return;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
512
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
513 /* 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
514 * 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
515 * 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
516 * reiterate over the store to handle matches that were outputted when
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
517 * we were paused.
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 if(win->paused)
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
520 return;
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13988
diff changeset
521
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
522 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
523
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
524 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
525 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(win->filter))) {
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
526 regex_match(win, text);
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
527 } else {
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
528 gtk_imhtml_append_text(GTK_IMHTML(win->text), text, 0);
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
529 }
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
530 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
531
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
532 g_free(text);
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
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
535 static gboolean
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
536 regex_timer_cb(DebugWindow *win) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
537 const gchar *text;
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 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
540 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/debug/regex", text);
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
541
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
542 win->timer = 0;
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 return FALSE;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
545 }
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 static void
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
548 regex_changed_cb(GtkWidget *w, DebugWindow *win) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
549 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(win->filter))) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
550 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(win->filter),
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
551 FALSE);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
552 }
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
553
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
554 if(win->timer == 0)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
555 win->timer = purple_timeout_add(5000, (GSourceFunc)regex_timer_cb, win);
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 regex_compile(win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
558 }
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 static void
11450
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
561 regex_key_release_cb(GtkWidget *w, GdkEventKey *e, DebugWindow *win) {
11473
38b35dc600ce [gaim-migrate @ 13714]
Gary Kramlich <grim@reaperworld.com>
parents: 11450
diff changeset
562 if(e->keyval == GDK_Return &&
11450
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
563 GTK_WIDGET_IS_SENSITIVE(win->filter) &&
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
564 !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(win->filter)))
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
565 {
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
566 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(win->filter), TRUE);
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
567 }
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
568 }
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
569
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
570 static void
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
571 regex_menu_cb(GtkWidget *item, const gchar *pref) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
572 gboolean active;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
573
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
574 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
575
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
576 purple_prefs_set_bool(pref, active);
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
577 }
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
578
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
579 static void
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
580 regex_popup_cb(GtkEntry *entry, GtkWidget *menu, DebugWindow *win) {
15568
cd19bb5a51b8 gtkutils changes
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
581 pidgin_separator(menu);
cd19bb5a51b8 gtkutils changes
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
582 pidgin_new_check_item(menu, _("Invert"),
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
583 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
584 PIDGIN_PREFS_ROOT "/debug/invert", win->invert);
15568
cd19bb5a51b8 gtkutils changes
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
585 pidgin_new_check_item(menu, _("Highlight matches"),
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
586 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
587 PIDGIN_PREFS_ROOT "/debug/highlight", win->highlight);
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
588 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
589
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
590 static void
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
591 regex_filter_toggled_cb(GtkToggleButton *button, DebugWindow *win) {
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
592 gboolean active;
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 active = gtk_toggle_button_get_active(button);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
595
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
596 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/debug/filter", active);
11256
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 if(!GTK_IS_IMHTML(win->text))
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
599 return;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
600
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
601 if(active)
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
602 regex_filter_all(win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
603 else
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
604 regex_show_all(win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
605 }
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
606
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
607 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
608 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
609 {
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
610 DebugWindow *win = data;
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
611
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
612 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
613 gtk_combo_box_set_active(GTK_COMBO_BOX(win->filterlevel), GPOINTER_TO_INT(value));
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
614 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(win->filter)))
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
615 regex_filter_all(win);
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
616 else
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
617 regex_show_all(win);
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
618 }
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
619 #endif /* HAVE_REGEX_H */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
620
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
621 static void
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
622 filter_level_changed_cb(GtkWidget *combo, gpointer null)
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
623 {
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
624 purple_prefs_set_int(PIDGIN_PREFS_ROOT "/debug/filterlevel",
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
625 gtk_combo_box_get_active(GTK_COMBO_BOX(combo)));
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
626 }
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
627
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
628 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
629 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
630 {
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
631 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
632 }
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
633
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
634 static void
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
635 toolbar_icon_pref_changed(GtkWidget *item, GtkWidget *toolbar)
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
636 {
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
637 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
638 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
639 }
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
640
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
641 static gboolean
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
642 toolbar_context(GtkWidget *toolbar, GdkEventButton *event, gpointer null)
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
643 {
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
644 GtkWidget *menu, *item;
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
645 const char *text[3];
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
646 GtkToolbarStyle value[3];
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
647 int i;
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
648
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
649 if (!(event->button == 3 && event->type == GDK_BUTTON_PRESS))
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
650 return FALSE;
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
651
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
652 text[0] = _("_Icon Only"); value[0] = GTK_TOOLBAR_ICONS;
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
653 text[1] = _("_Text Only"); value[1] = GTK_TOOLBAR_TEXT;
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
654 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
655
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
656 menu = gtk_menu_new();
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
657
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
658 for (i = 0; i < 3; i++) {
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
659 item = gtk_check_menu_item_new_with_mnemonic(text[i]);
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
660 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
661 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
662 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
663 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
664 gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
665 }
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
666
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
667 gtk_widget_show_all(menu);
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
668
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
669 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
670 return FALSE;
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
671 }
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
672
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
673 static DebugWindow *
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
674 debug_window_new(void)
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
675 {
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
676 DebugWindow *win;
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
677 GtkWidget *vbox;
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
678 GtkWidget *toolbar;
10175
2bf5ed145e8a [gaim-migrate @ 11290]
Mark Doliner <markdoliner@pidgin.im>
parents: 10087
diff changeset
679 GtkWidget *frame;
6094
e30f0bb2cde9 [gaim-migrate @ 6553]
Christian Hammond <chipx86@chipx86.com>
parents: 6009
diff changeset
680 GtkWidget *image;
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
681 gint width, height;
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
682 void *handle;
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
683
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
684 win = g_new0(DebugWindow, 1);
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
685
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
686 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
687 height = purple_prefs_get_int(PIDGIN_PREFS_ROOT "/debug/height");
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
688
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
689 win->window = pidgin_create_dialog(_("Debug Window"), 0, "debug", TRUE);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
690 purple_debug_info("gtkdebug", "Setting dimensions to %d, %d\n",
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
691 width, height);
5642
d7b8b62542a3 [gaim-migrate @ 6056]
Christian Hammond <chipx86@chipx86.com>
parents: 5636
diff changeset
692
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
693 gtk_window_set_default_size(GTK_WINDOW(win->window), width, height);
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
694
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
695 g_signal_connect(G_OBJECT(win->window), "delete_event",
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
696 G_CALLBACK(debug_window_destroy), NULL);
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
697 g_signal_connect(G_OBJECT(win->window), "configure_event",
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
698 G_CALLBACK(configure_cb), win);
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
699
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15512
diff changeset
700 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
701
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
702 #ifdef HAVE_REGEX_H
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
703 /* the list store for all the messages */
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
704 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
705
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
706 /* 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
707 * gets called with gtk_list_store_append, which is a
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
708 * 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
709 * changed. -Gary
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
710 */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
711 g_signal_connect(G_OBJECT(win->store), "row-changed",
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
712 G_CALLBACK(regex_row_changed_cb), win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
713
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
714 #endif /* HAVE_REGEX_H */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
715
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
716 /* Setup the vbox */
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
717 vbox = pidgin_dialog_get_vbox(GTK_DIALOG(win->window));
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
718
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
719 if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/debug/toolbar")) {
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
720 /* Setup our top button bar thingie. */
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
721 toolbar = gtk_toolbar_new();
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
722 gtk_toolbar_set_tooltips(GTK_TOOLBAR(toolbar), TRUE);
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
723 #if GTK_CHECK_VERSION(2,4,0)
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
724 gtk_toolbar_set_show_arrow(GTK_TOOLBAR(toolbar), TRUE);
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
725 #endif
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
726 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
727
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
728 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
729 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
730 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
731 toolbar_style_pref_changed_cb, toolbar);
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
732 gtk_toolbar_set_icon_size(GTK_TOOLBAR(toolbar),
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
733 GTK_ICON_SIZE_SMALL_TOOLBAR);
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
734
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
735 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
736
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
737 #ifndef HAVE_REGEX_H
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
738 /* Find button */
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
739 gtk_toolbar_insert_stock(GTK_TOOLBAR(toolbar), GTK_STOCK_FIND,
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
740 _("Find"), NULL, G_CALLBACK(find_cb),
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
741 win, -1);
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
742 #endif /* HAVE_REGEX_H */
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
743
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
744 /* Save */
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
745 gtk_toolbar_insert_stock(GTK_TOOLBAR(toolbar), GTK_STOCK_SAVE,
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
746 _("Save"), NULL, G_CALLBACK(save_cb),
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
747 win, -1);
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
748
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
749 /* Clear button */
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
750 gtk_toolbar_insert_stock(GTK_TOOLBAR(toolbar), GTK_STOCK_CLEAR,
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
751 _("Clear"), NULL, G_CALLBACK(clear_cb),
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
752 win, -1);
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
753
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
754 gtk_toolbar_insert_space(GTK_TOOLBAR(toolbar), -1);
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
755
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
756 /* Pause */
15570
81e9b7d13875 stock to pidgin
Sean Egan <seanegan@pidgin.im>
parents: 15568
diff changeset
757 image = gtk_image_new_from_stock(PIDGIN_STOCK_PAUSE, GTK_ICON_SIZE_MENU);
13664
fdc3b588f248 [gaim-migrate @ 16065]
Richard Laager <rlaager@pidgin.im>
parents: 13281
diff changeset
758 gtk_toolbar_append_element(GTK_TOOLBAR(toolbar),
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
759 GTK_TOOLBAR_CHILD_TOGGLEBUTTON,
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
760 NULL, _("Pause"), _("Pause"),
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
761 NULL, image,
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
762 G_CALLBACK(pause_cb), win);
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
763
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
764 #ifdef HAVE_REGEX_H
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
765 /* regex stuff */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
766 gtk_toolbar_insert_space(GTK_TOOLBAR(toolbar), -1);
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
767
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
768 /* regex toggle button */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
769 win->filter =
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
770 gtk_toolbar_append_element(GTK_TOOLBAR(toolbar),
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
771 GTK_TOOLBAR_CHILD_TOGGLEBUTTON,
25888
d0fdd378a635 Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 22099
diff changeset
772 NULL, _("Filter"), _("Filter"),
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
773 NULL, NULL,
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
774 G_CALLBACK(regex_filter_toggled_cb),
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
775 win);
11450
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
776 /* 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
777 * /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
778 * 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
779 * toggle button sensitive.
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
780 */
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
781 gtk_widget_set_sensitive(win->filter, FALSE);
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
782 gtk_toggle_button_set_active(GTK_TOGGLE_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
783 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
784 purple_prefs_connect_callback(handle, PIDGIN_PREFS_ROOT "/debug/filter",
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
785 regex_pref_filter_cb, win);
8953
6705ad4595b0 [gaim-migrate @ 9726]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 8735
diff changeset
786
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
787 /* regex entry */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
788 win->expression = gtk_entry_new();
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
789 gtk_toolbar_append_element(GTK_TOOLBAR(toolbar),
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
790 GTK_TOOLBAR_CHILD_WIDGET, win->expression,
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
791 NULL, _("Right click for more options."),
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
792 NULL, NULL, NULL, NULL);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
793 /* 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
794 * to colorize a stored expression.
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
795 */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
796 g_signal_connect(G_OBJECT(win->expression), "changed",
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
797 G_CALLBACK(regex_changed_cb), win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
798 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
799 purple_prefs_get_string(PIDGIN_PREFS_ROOT "/debug/regex"));
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
800 g_signal_connect(G_OBJECT(win->expression), "populate-popup",
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
801 G_CALLBACK(regex_popup_cb), win);
11450
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
802 g_signal_connect(G_OBJECT(win->expression), "key-release-event",
52e566659430 [gaim-migrate @ 13689]
Gary Kramlich <grim@reaperworld.com>
parents: 11312
diff changeset
803 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
804 purple_prefs_connect_callback(handle, PIDGIN_PREFS_ROOT "/debug/regex",
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
805 regex_pref_expression_cb, win);
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
806
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
807 /* 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
808 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
809 purple_prefs_connect_callback(handle, PIDGIN_PREFS_ROOT "/debug/invert",
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
810 regex_pref_invert_cb, win);
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
811
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
812 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
813 purple_prefs_connect_callback(handle, PIDGIN_PREFS_ROOT "/debug/highlight",
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
814 regex_pref_highlight_cb, win);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
815
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
816 #endif /* HAVE_REGEX_H */
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
817
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
818 gtk_toolbar_insert_space(GTK_TOOLBAR(toolbar), -1);
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
819
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
820 gtk_toolbar_append_element(GTK_TOOLBAR(toolbar),
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
821 GTK_TOOLBAR_CHILD_WIDGET, gtk_label_new(_("Level ")),
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
822 NULL, _("Select the debug filter level."),
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
823 NULL, NULL, NULL, NULL);
25888
d0fdd378a635 Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 22099
diff changeset
824
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
825 win->filterlevel = gtk_combo_box_new_text();
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
826 gtk_toolbar_append_element(GTK_TOOLBAR(toolbar),
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
827 GTK_TOOLBAR_CHILD_WIDGET, win->filterlevel,
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
828 NULL, _("Select the debug filter level."),
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
829 NULL, NULL, NULL, NULL);
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
830 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
831 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
832 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
833 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
834 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
835 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
836 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
837 purple_prefs_get_int(PIDGIN_PREFS_ROOT "/debug/filterlevel"));
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
838 #ifdef HAVE_REGEX_H
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
839 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
840 filter_level_pref_changed, win);
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
841 #endif
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
842 g_signal_connect(G_OBJECT(win->filterlevel), "changed",
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
843 G_CALLBACK(filter_level_changed_cb), NULL);
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
844 }
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
845
10175
2bf5ed145e8a [gaim-migrate @ 11290]
Mark Doliner <markdoliner@pidgin.im>
parents: 10087
diff changeset
846 /* Add the gtkimhtml */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15512
diff changeset
847 frame = pidgin_create_imhtml(FALSE, &win->text, NULL, NULL);
10739
9c7926312a4d [gaim-migrate @ 12341]
Mark Doliner <markdoliner@pidgin.im>
parents: 10589
diff changeset
848 gtk_imhtml_set_format_functions(GTK_IMHTML(win->text),
9c7926312a4d [gaim-migrate @ 12341]
Mark Doliner <markdoliner@pidgin.im>
parents: 10589
diff changeset
849 GTK_IMHTML_ALL ^ GTK_IMHTML_SMILEY ^ GTK_IMHTML_IMAGE);
10175
2bf5ed145e8a [gaim-migrate @ 11290]
Mark Doliner <markdoliner@pidgin.im>
parents: 10087
diff changeset
850 gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0);
2bf5ed145e8a [gaim-migrate @ 11290]
Mark Doliner <markdoliner@pidgin.im>
parents: 10087
diff changeset
851 gtk_widget_show(frame);
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
852
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
853 #ifdef HAVE_REGEX_H
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
854 /* add the tag for regex highlighting */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
855 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
856 "background", "#FFAFAF",
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
857 "weight", "bold",
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
858 NULL);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
859 #endif /* HAVE_REGEX_H */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
860
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
861 gtk_widget_show_all(win->window);
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
862
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
863 return win;
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
864 }
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
865
17232
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
866 static gboolean
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
867 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
868 {
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
869 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
870
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
871 if (data)
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
872 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
873 else
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
874 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
875
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
876 return FALSE;
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
877 }
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
878
5625
ac8c09def58a [gaim-migrate @ 6032]
Christian Hammond <chipx86@chipx86.com>
parents: 5535
diff changeset
879 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
880 debug_enabled_cb(const char *name, PurplePrefType type,
12816
5f93e09fa9a6 [gaim-migrate @ 15164]
Mark Doliner <markdoliner@pidgin.im>
parents: 12231
diff changeset
881 gconstpointer value, gpointer data)
5625
ac8c09def58a [gaim-migrate @ 6032]
Christian Hammond <chipx86@chipx86.com>
parents: 5535
diff changeset
882 {
17232
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
883 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
884 }
ac8c09def58a [gaim-migrate @ 6032]
Christian Hammond <chipx86@chipx86.com>
parents: 5535
diff changeset
885
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
886 static void
15880
d275b025481c More Gaim to Pidgin changes
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
887 pidgin_glib_log_handler(const gchar *domain, GLogLevelFlags flags,
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
888 const gchar *msg, gpointer user_data)
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
889 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
890 PurpleDebugLevel level;
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
891 char *new_msg = NULL;
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
892 char *new_domain = NULL;
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
893
7152
112d0e52d04b [gaim-migrate @ 7719]
Christian Hammond <chipx86@chipx86.com>
parents: 7150
diff changeset
894 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
895 level = PURPLE_DEBUG_ERROR;
7152
112d0e52d04b [gaim-migrate @ 7719]
Christian Hammond <chipx86@chipx86.com>
parents: 7150
diff changeset
896 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
897 level = PURPLE_DEBUG_FATAL;
7152
112d0e52d04b [gaim-migrate @ 7719]
Christian Hammond <chipx86@chipx86.com>
parents: 7150
diff changeset
898 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
899 level = PURPLE_DEBUG_WARNING;
7152
112d0e52d04b [gaim-migrate @ 7719]
Christian Hammond <chipx86@chipx86.com>
parents: 7150
diff changeset
900 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
901 level = PURPLE_DEBUG_INFO;
7152
112d0e52d04b [gaim-migrate @ 7719]
Christian Hammond <chipx86@chipx86.com>
parents: 7150
diff changeset
902 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
903 level = PURPLE_DEBUG_INFO;
7152
112d0e52d04b [gaim-migrate @ 7719]
Christian Hammond <chipx86@chipx86.com>
parents: 7150
diff changeset
904 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
905 level = PURPLE_DEBUG_MISC;
7152
112d0e52d04b [gaim-migrate @ 7719]
Christian Hammond <chipx86@chipx86.com>
parents: 7150
diff changeset
906 else
112d0e52d04b [gaim-migrate @ 7719]
Christian Hammond <chipx86@chipx86.com>
parents: 7150
diff changeset
907 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
908 purple_debug_warning("gtkdebug",
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
909 "Unknown glib logging level in %d\n", flags);
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
910
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
911 level = PURPLE_DEBUG_MISC; /* This will never happen. */
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
912 }
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
913
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
914 if (msg != NULL)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
915 new_msg = purple_utf8_try_convert(msg);
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
916
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
917 if (domain != NULL)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
918 new_domain = purple_utf8_try_convert(domain);
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
919
7152
112d0e52d04b [gaim-migrate @ 7719]
Christian Hammond <chipx86@chipx86.com>
parents: 7150
diff changeset
920 if (new_msg != NULL)
112d0e52d04b [gaim-migrate @ 7719]
Christian Hammond <chipx86@chipx86.com>
parents: 7150
diff changeset
921 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
922 purple_debug(level, (new_domain != NULL ? new_domain : "g_log"),
7152
112d0e52d04b [gaim-migrate @ 7719]
Christian Hammond <chipx86@chipx86.com>
parents: 7150
diff changeset
923 "%s\n", new_msg);
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
924
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
925 g_free(new_msg);
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
926 }
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
927
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13988
diff changeset
928 g_free(new_domain);
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
929 }
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
930
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
931 #ifdef _WIN32
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
932 static void
15880
d275b025481c More Gaim to Pidgin changes
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
933 pidgin_glib_dummy_print_handler(const gchar *string)
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
934 {
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
935 }
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
936 #endif
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
937
5625
ac8c09def58a [gaim-migrate @ 6032]
Christian Hammond <chipx86@chipx86.com>
parents: 5535
diff changeset
938 void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15512
diff changeset
939 pidgin_debug_init(void)
5625
ac8c09def58a [gaim-migrate @ 6032]
Christian Hammond <chipx86@chipx86.com>
parents: 5535
diff changeset
940 {
5684
10b916deb20c [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5642
diff changeset
941 /* Debug window preferences. */
10b916deb20c [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5642
diff changeset
942 /*
10b916deb20c [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5642
diff changeset
943 * 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
944 * set after they are loaded, since prefs sets the enabled
10b916deb20c [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5642
diff changeset
945 * 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
946 * configure event, which overrides the width and height! :P
5684
10b916deb20c [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5642
diff changeset
947 */
10b916deb20c [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5642
diff changeset
948
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
949 purple_prefs_add_none(PIDGIN_PREFS_ROOT "/debug");
10307
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
950
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
951 /* 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
952 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
953 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
954 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
955
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
956 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
957 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
958 purple_prefs_add_int(PIDGIN_PREFS_ROOT "/debug/height", 250);
5684
10b916deb20c [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5642
diff changeset
959
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
960 #ifdef HAVE_REGEX_H
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
961 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
962 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
963 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
964 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
965 purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/debug/highlight", FALSE);
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
966 #endif /* HAVE_REGEX_H */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
967
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
968 purple_prefs_connect_callback(NULL, PIDGIN_PREFS_ROOT "/debug/enabled",
5794
ebdbb7dc6658 [gaim-migrate @ 6219]
Christian Hammond <chipx86@chipx86.com>
parents: 5738
diff changeset
969 debug_enabled_cb, NULL);
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
970
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
971 #define REGISTER_G_LOG_HANDLER(name) \
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
972 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
973 | G_LOG_FLAG_RECURSION, \
15880
d275b025481c More Gaim to Pidgin changes
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
974 pidgin_glib_log_handler, NULL)
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
975
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
976 /* Register the glib/gtk log handlers. */
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
977 REGISTER_G_LOG_HANDLER(NULL);
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
978 REGISTER_G_LOG_HANDLER("Gdk");
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
979 REGISTER_G_LOG_HANDLER("Gtk");
7229
0f85b503c030 [gaim-migrate @ 7799]
Herman Bloggs <herman@bluedigits.com>
parents: 7152
diff changeset
980 REGISTER_G_LOG_HANDLER("GdkPixbuf");
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
981 REGISTER_G_LOG_HANDLER("GLib");
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
982 REGISTER_G_LOG_HANDLER("GModule");
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
983 REGISTER_G_LOG_HANDLER("GLib-GObject");
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
984 REGISTER_G_LOG_HANDLER("GThread");
21743
7a0caaf628ff applied changes from 10f341962a83e2380243c4e44bb685105e3091a2
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21630
diff changeset
985 #ifdef USE_GSTREAMER
7a0caaf628ff applied changes from 10f341962a83e2380243c4e44bb685105e3091a2
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21630
diff changeset
986 REGISTER_G_LOG_HANDLER("GStreamer");
7a0caaf628ff applied changes from 10f341962a83e2380243c4e44bb685105e3091a2
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21630
diff changeset
987 #endif
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
988
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
989 #ifdef _WIN32
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
990 if (!purple_debug_is_enabled())
15880
d275b025481c More Gaim to Pidgin changes
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
991 g_set_print_handler(pidgin_glib_dummy_print_handler);
7150
25deb3b41da3 [gaim-migrate @ 7717]
Sean Egan <seanegan@pidgin.im>
parents: 7108
diff changeset
992 #endif
5625
ac8c09def58a [gaim-migrate @ 6032]
Christian Hammond <chipx86@chipx86.com>
parents: 5535
diff changeset
993 }
ac8c09def58a [gaim-migrate @ 6032]
Christian Hammond <chipx86@chipx86.com>
parents: 5535
diff changeset
994
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
995 void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15512
diff changeset
996 pidgin_debug_uninit(void)
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
997 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
998 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
999
8593d66c708b When the /pidgin/debug/enabled pref is toggled, wait until the next
Mark Doliner <markdoliner@pidgin.im>
parents: 17040
diff changeset
1000 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
1001 g_source_remove(debug_enabled_timer);
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
1002 }
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
1003
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10739
diff changeset
1004 void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15512
diff changeset
1005 pidgin_debug_window_show(void)
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1006 {
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1007 if (debug_win == NULL)
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1008 debug_win = debug_window_new();
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1009
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1010 gtk_widget_show(debug_win->window);
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
1011
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
1012 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/debug/enabled", TRUE);
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1013 }
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1014
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1015 void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15512
diff changeset
1016 pidgin_debug_window_hide(void)
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1017 {
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1018 if (debug_win != NULL) {
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1019 gtk_widget_destroy(debug_win->window);
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1020 debug_window_destroy(NULL, NULL, NULL);
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1021 }
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1022 }
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1023
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1024 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1025 pidgin_debug_print(PurpleDebugLevel level, const char *category,
13988
a178d3dcbb7f [gaim-migrate @ 16445]
Mark Doliner <markdoliner@pidgin.im>
parents: 13664
diff changeset
1026 const char *arg_s)
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1027 {
11262
561da6ec5c26 [gaim-migrate @ 13440]
Mark Doliner <markdoliner@pidgin.im>
parents: 11256
diff changeset
1028 #ifdef HAVE_REGEX_H
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
1029 GtkTreeIter iter;
11262
561da6ec5c26 [gaim-migrate @ 13440]
Mark Doliner <markdoliner@pidgin.im>
parents: 11256
diff changeset
1030 #endif /* HAVE_REGEX_H */
13988
a178d3dcbb7f [gaim-migrate @ 16445]
Mark Doliner <markdoliner@pidgin.im>
parents: 13664
diff changeset
1031 gchar *ts_s;
10307
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1032 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
1033 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
1034 time_t mtime;
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5430
diff changeset
1035
16045
d9add5eda4cd Check if debug_win is != NULL before checking the preference. This
Mark Doliner <markdoliner@pidgin.im>
parents: 16044
diff changeset
1036 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
1037 !purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/debug/enabled"))
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
1038 {
10307
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1039 return;
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1040 }
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1041
17040
cb33027a36e4 Force timestamps always on for debug log and debug window. Making this
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16752
diff changeset
1042 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
1043 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
1044 ts_s = g_strdup_printf("(%s) ", mdate);
10307
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1045 if (category == NULL)
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1046 cat_s = g_strdup("");
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1047 else
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1048 cat_s = g_strdup_printf("<b>%s:</b> ", category);
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1049
10307
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1050 esc_s = g_markup_escape_text(arg_s, -1);
5428
5788d3bc050a [gaim-migrate @ 5808]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
1051
10307
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1052 s = g_strdup_printf("<font color=\"%s\">%s%s%s</font>",
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1053 debug_fg_colors[level], ts_s, cat_s, esc_s);
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1054
10307
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1055 g_free(ts_s);
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1056 g_free(cat_s);
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1057 g_free(esc_s);
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1058
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1059 tmp = purple_utf8_try_convert(s);
10307
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1060 g_free(s);
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1061 s = tmp;
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1062
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1063 if (level == PURPLE_DEBUG_FATAL) {
10307
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1064 tmp = g_strdup_printf("<b>%s</b>", s);
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1065 g_free(s);
10307
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1066 s = tmp;
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1067 }
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1068
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
1069 #ifdef HAVE_REGEX_H
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
1070 /* add the text to the list store */
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
1071 gtk_list_store_append(debug_win->store, &iter);
14541
b4b96a041230 [gaim-migrate @ 17198]
Peter McCurdy <cpirate@users.sourceforge.net>
parents: 14253
diff changeset
1072 gtk_list_store_set(debug_win->store, &iter, 0, s, 1, level, -1);
11256
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
1073 #else /* HAVE_REGEX_H */
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16045
diff changeset
1074 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
1075 gtk_imhtml_append_text(GTK_IMHTML(debug_win->text), s, 0);
fe82a0c5e5ec [gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents: 11243
diff changeset
1076 #endif /* !HAVE_REGEX_H */
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1077
10307
f3ba80364053 [gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents: 10297
diff changeset
1078 g_free(s);
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1079 }
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1080
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
1081 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
1082 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
1083 {
16045
d9add5eda4cd Check if debug_win is != NULL before checking the preference. This
Mark Doliner <markdoliner@pidgin.im>
parents: 16044
diff changeset
1084 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
1085 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
1086 }
257072807aa8 Add a whimpy ui op to the debug API that returns TRUE if debugging
Mark Doliner <markdoliner@pidgin.im>
parents: 15931
diff changeset
1087
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1088 static PurpleDebugUiOps ops =
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1089 {
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15512
diff changeset
1090 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
1091 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
1092 NULL,
e6bcb1628c57 Patch from John 'rekkanoryo' Bailey to add the padding struct members in pidgin
Gary Kramlich <grim@reaperworld.com>
parents: 16490
diff changeset
1093 NULL,
e6bcb1628c57 Patch from John 'rekkanoryo' Bailey to add the padding struct members in pidgin
Gary Kramlich <grim@reaperworld.com>
parents: 16490
diff changeset
1094 NULL,
e6bcb1628c57 Patch from John 'rekkanoryo' Bailey to add the padding struct members in pidgin
Gary Kramlich <grim@reaperworld.com>
parents: 16490
diff changeset
1095 NULL
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1096 };
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1097
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1098 PurpleDebugUiOps *
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15512
diff changeset
1099 pidgin_debug_get_ui_ops(void)
5212
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1100 {
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1101 return &ops;
ad90ea13028b [gaim-migrate @ 5582]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1102 }
10087
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9791
diff changeset
1103
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9791
diff changeset
1104 void *
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15512
diff changeset
1105 pidgin_debug_get_handle() {
10087
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9791
diff changeset
1106 static int handle;
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9791
diff changeset
1107
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9791
diff changeset
1108 return &handle;
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9791
diff changeset
1109 }

mercurial