Mercurial > pidgin.yaz
annotate finch/gntdebug.c @ 30018:7ed0ddbdd2a8
Use an inline RC style to get rid of some other padding to make the small
buttons even smaller, as suggested by Paradox on trac, and nicked from
nautilus.
Refs #8727.
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Sat, 20 Mar 2010 06:22:53 +0000 |
parents | 259bbfb423d4 |
children | 6a3aaa4e5e56 |
rev | line source |
---|---|
15818 | 1 /** |
2 * @file gntdebug.c GNT Debug API | |
16194
0f0832c13fcb
Rename the Doxygen group from gntui to finch and define the finch group
Richard Laager <rlaager@wiktel.com>
parents:
16124
diff
changeset
|
3 * @ingroup finch |
20074
6bf32c9e15a7
remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents:
19680
diff
changeset
|
4 */ |
6bf32c9e15a7
remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents:
19680
diff
changeset
|
5 |
6bf32c9e15a7
remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents:
19680
diff
changeset
|
6 /* finch |
15818 | 7 * |
15871
66dff3dfdea6
Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@wiktel.com>
parents:
15823
diff
changeset
|
8 * Finch is the legal property of its developers, whose names are too numerous |
15818 | 9 * to list here. Please refer to the COPYRIGHT file distributed with this |
10 * source distribution. | |
11 * | |
12 * This program is free software; you can redistribute it and/or modify | |
13 * it under the terms of the GNU General Public License as published by | |
14 * the Free Software Foundation; either version 2 of the License, or | |
15 * (at your option) any later version. | |
16 * | |
17 * This program is distributed in the hope that it will be useful, | |
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 * GNU General Public License for more details. | |
21 * | |
22 * You should have received a copy of the GNU General Public License | |
23 * along with this program; if not, write to the Free Software | |
19680
44b4e8bd759b
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
18454
diff
changeset
|
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
15818 | 25 */ |
29152
259bbfb423d4
Fix all the remaining files for which internal.h doesn't end up being the first include.
Paul Aurich <paul@darkrain42.org>
parents:
27663
diff
changeset
|
26 |
259bbfb423d4
Fix all the remaining files for which internal.h doesn't end up being the first include.
Paul Aurich <paul@darkrain42.org>
parents:
27663
diff
changeset
|
27 #include <internal.h> |
259bbfb423d4
Fix all the remaining files for which internal.h doesn't end up being the first include.
Paul Aurich <paul@darkrain42.org>
parents:
27663
diff
changeset
|
28 |
15818 | 29 #include <gnt.h> |
30 #include <gntbox.h> | |
31 #include <gntbutton.h> | |
32 #include <gntcheckbox.h> | |
17011
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
33 #include <gntentry.h> |
20672
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
34 #include <gntfilesel.h> |
17011
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
35 #include <gntlabel.h> |
15818 | 36 #include <gntline.h> |
17011
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
37 #include <gnttextview.h> |
15818 | 38 |
39 #include "gntdebug.h" | |
15823 | 40 #include "finch.h" |
20672
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
41 #include "notify.h" |
26429
1c73d2ef9ddc
Remove some extra edits that snuck into Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26062
diff
changeset
|
42 #include "util.h" |
15818 | 43 |
44 #include <stdio.h> | |
45 #include <string.h> | |
46 | |
16427
4999bbc52881
Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@gmail.com>
parents:
16194
diff
changeset
|
47 #define PREF_ROOT "/finch/debug" |
15818 | 48 |
24851
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
49 static gboolean |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
50 handle_fprintf_stderr_cb(GIOChannel *source, GIOCondition cond, gpointer null) |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
51 { |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
52 gssize size; |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
53 char message[1024]; |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
54 |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
55 size = read(g_io_channel_unix_get_fd(source), message, sizeof(message) - 1); |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
56 if (size <= 0) { |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
57 /* Something bad probably happened elsewhere ... let's ignore */ |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
58 } else { |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
59 message[size] = '\0'; |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
60 g_log("stderr", G_LOG_LEVEL_WARNING, "%s", message); |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
61 } |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
62 |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
63 return TRUE; |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
64 } |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
65 |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
66 static void |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
67 handle_fprintf_stderr(gboolean stop) |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
68 { |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
69 GIOChannel *stderrch; |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
70 static int readhandle = -1; |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
71 int pipes[2]; |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
72 |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
73 if (stop) { |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
74 if (readhandle >= 0) { |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
75 g_source_remove(readhandle); |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
76 readhandle = -1; |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
77 } |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
78 return; |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
79 } |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
80 pipe(pipes); |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
81 dup2(pipes[1], STDERR_FILENO); |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
82 |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
83 stderrch = g_io_channel_unix_new(pipes[0]); |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
84 g_io_channel_set_close_on_unref(stderrch, TRUE); |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
85 readhandle = g_io_add_watch_full(stderrch, G_PRIORITY_HIGH, |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
86 G_IO_IN | G_IO_ERR | G_IO_PRI, |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
87 handle_fprintf_stderr_cb, NULL, NULL); |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
88 g_io_channel_unref(stderrch); |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
89 } |
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
90 |
15818 | 91 static struct |
92 { | |
93 GntWidget *window; | |
94 GntWidget *tview; | |
17011
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
95 GntWidget *search; |
15818 | 96 gboolean paused; |
97 } debug; | |
98 | |
17011
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
99 static gboolean |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
100 match_string(const char *category, const char *args) |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
101 { |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
102 const char *str = gnt_entry_get_text(GNT_ENTRY(debug.search)); |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
103 if (!str || !*str) |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
104 return TRUE; |
17026
47a9ba4f4373
Fix debug filtering.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17011
diff
changeset
|
105 if (g_strrstr(category, str) != NULL) |
17011
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
106 return TRUE; |
17026
47a9ba4f4373
Fix debug filtering.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17011
diff
changeset
|
107 if (g_strrstr(args, str) != NULL) |
17011
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
108 return TRUE; |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
109 return FALSE; |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
110 } |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
111 |
15818 | 112 static void |
15823 | 113 finch_debug_print(PurpleDebugLevel level, const char *category, |
15818 | 114 const char *args) |
115 { | |
17011
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
116 if (debug.window && !debug.paused && match_string(category, args)) |
15818 | 117 { |
118 int pos = gnt_text_view_get_lines_below(GNT_TEXT_VIEW(debug.tview)); | |
119 GntTextFormatFlags flag = GNT_TEXT_FLAG_NORMAL; | |
16999
87748f771638
The timestamp pref has been removed. Update finch accordingly.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16677
diff
changeset
|
120 const char *mdate; |
87748f771638
The timestamp pref has been removed. Update finch accordingly.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16677
diff
changeset
|
121 time_t mtime = time(NULL); |
87748f771638
The timestamp pref has been removed. Update finch accordingly.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16677
diff
changeset
|
122 mdate = purple_utf8_strftime("%H:%M:%S ", localtime(&mtime)); |
87748f771638
The timestamp pref has been removed. Update finch accordingly.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16677
diff
changeset
|
123 gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(debug.tview), |
87748f771638
The timestamp pref has been removed. Update finch accordingly.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16677
diff
changeset
|
124 mdate, flag); |
15818 | 125 |
126 gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(debug.tview), | |
127 category, GNT_TEXT_FLAG_BOLD); | |
128 gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(debug.tview), | |
129 ": ", GNT_TEXT_FLAG_BOLD); | |
130 | |
131 switch (level) | |
132 { | |
15823 | 133 case PURPLE_DEBUG_WARNING: |
15818 | 134 flag |= GNT_TEXT_FLAG_UNDERLINE; |
15823 | 135 case PURPLE_DEBUG_ERROR: |
136 case PURPLE_DEBUG_FATAL: | |
15818 | 137 flag |= GNT_TEXT_FLAG_BOLD; |
138 break; | |
139 default: | |
140 break; | |
141 } | |
142 | |
143 gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(debug.tview), args, flag); | |
144 if (pos <= 1) | |
145 gnt_text_view_scroll(GNT_TEXT_VIEW(debug.tview), 0); | |
146 } | |
147 } | |
148 | |
15985
6dc5dc83a61b
Add a whimpy ui op to the debug API that returns TRUE if debugging
Mark Doliner <mark@kingant.net>
parents:
15871
diff
changeset
|
149 static gboolean |
6dc5dc83a61b
Add a whimpy ui op to the debug API that returns TRUE if debugging
Mark Doliner <mark@kingant.net>
parents:
15871
diff
changeset
|
150 finch_debug_is_enabled(PurpleDebugLevel level, const char *category) |
6dc5dc83a61b
Add a whimpy ui op to the debug API that returns TRUE if debugging
Mark Doliner <mark@kingant.net>
parents:
15871
diff
changeset
|
151 { |
6dc5dc83a61b
Add a whimpy ui op to the debug API that returns TRUE if debugging
Mark Doliner <mark@kingant.net>
parents:
15871
diff
changeset
|
152 return debug.window && !debug.paused; |
6dc5dc83a61b
Add a whimpy ui op to the debug API that returns TRUE if debugging
Mark Doliner <mark@kingant.net>
parents:
15871
diff
changeset
|
153 } |
6dc5dc83a61b
Add a whimpy ui op to the debug API that returns TRUE if debugging
Mark Doliner <mark@kingant.net>
parents:
15871
diff
changeset
|
154 |
15823 | 155 static PurpleDebugUiOps uiops = |
15818 | 156 { |
157 finch_debug_print, | |
16677
30829e806dae
And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents:
16427
diff
changeset
|
158 finch_debug_is_enabled, |
30829e806dae
And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents:
16427
diff
changeset
|
159 |
30829e806dae
And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents:
16427
diff
changeset
|
160 /* padding */ |
30829e806dae
And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents:
16427
diff
changeset
|
161 NULL, |
30829e806dae
And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents:
16427
diff
changeset
|
162 NULL, |
30829e806dae
And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents:
16427
diff
changeset
|
163 NULL, |
30829e806dae
And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents:
16427
diff
changeset
|
164 NULL |
15818 | 165 }; |
166 | |
15823 | 167 PurpleDebugUiOps *finch_debug_get_ui_ops() |
15818 | 168 { |
169 return &uiops; | |
170 } | |
171 | |
172 static void | |
173 reset_debug_win(GntWidget *w, gpointer null) | |
174 { | |
17011
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
175 debug.window = debug.tview = debug.search = NULL; |
15818 | 176 } |
177 | |
178 static void | |
179 clear_debug_win(GntWidget *w, GntTextView *tv) | |
180 { | |
181 gnt_text_view_clear(tv); | |
182 } | |
183 | |
184 static void | |
185 print_stderr(const char *string) | |
186 { | |
187 g_printerr("%s", string); | |
188 } | |
189 | |
190 static void | |
191 toggle_pause(GntWidget *w, gpointer n) | |
192 { | |
193 debug.paused = !debug.paused; | |
194 } | |
195 | |
196 /* Xerox */ | |
197 static void | |
15823 | 198 purple_glib_log_handler(const gchar *domain, GLogLevelFlags flags, |
15818 | 199 const gchar *msg, gpointer user_data) |
200 { | |
15823 | 201 PurpleDebugLevel level; |
15818 | 202 char *new_msg = NULL; |
203 char *new_domain = NULL; | |
204 | |
205 if ((flags & G_LOG_LEVEL_ERROR) == G_LOG_LEVEL_ERROR) | |
15823 | 206 level = PURPLE_DEBUG_ERROR; |
15818 | 207 else if ((flags & G_LOG_LEVEL_CRITICAL) == G_LOG_LEVEL_CRITICAL) |
15823 | 208 level = PURPLE_DEBUG_FATAL; |
15818 | 209 else if ((flags & G_LOG_LEVEL_WARNING) == G_LOG_LEVEL_WARNING) |
15823 | 210 level = PURPLE_DEBUG_WARNING; |
15818 | 211 else if ((flags & G_LOG_LEVEL_MESSAGE) == G_LOG_LEVEL_MESSAGE) |
15823 | 212 level = PURPLE_DEBUG_INFO; |
15818 | 213 else if ((flags & G_LOG_LEVEL_INFO) == G_LOG_LEVEL_INFO) |
15823 | 214 level = PURPLE_DEBUG_INFO; |
15818 | 215 else if ((flags & G_LOG_LEVEL_DEBUG) == G_LOG_LEVEL_DEBUG) |
15823 | 216 level = PURPLE_DEBUG_MISC; |
15818 | 217 else |
218 { | |
15823 | 219 purple_debug_warning("gntdebug", |
15818 | 220 "Unknown glib logging level in %d\n", flags); |
221 | |
15823 | 222 level = PURPLE_DEBUG_MISC; /* This will never happen. */ |
15818 | 223 } |
224 | |
225 if (msg != NULL) | |
15823 | 226 new_msg = purple_utf8_try_convert(msg); |
15818 | 227 |
228 if (domain != NULL) | |
15823 | 229 new_domain = purple_utf8_try_convert(domain); |
15818 | 230 |
231 if (new_msg != NULL) | |
232 { | |
15823 | 233 purple_debug(level, (new_domain != NULL ? new_domain : "g_log"), |
15818 | 234 "%s\n", new_msg); |
235 | |
236 g_free(new_msg); | |
237 } | |
238 | |
239 g_free(new_domain); | |
240 } | |
241 | |
242 static void | |
243 size_changed_cb(GntWidget *widget, int oldw, int oldh) | |
244 { | |
245 int w, h; | |
246 gnt_widget_get_size(widget, &w, &h); | |
15823 | 247 purple_prefs_set_int(PREF_ROOT "/size/width", w); |
248 purple_prefs_set_int(PREF_ROOT "/size/height", h); | |
15818 | 249 } |
250 | |
17011
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
251 static gboolean |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
252 for_real(gpointer entry) |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
253 { |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
254 purple_prefs_set_string(PREF_ROOT "/filter", gnt_entry_get_text(entry)); |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
255 return FALSE; |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
256 } |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
257 |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
258 static void |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
259 update_filter_string(GntEntry *entry, gpointer null) |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
260 { |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
261 int id = g_timeout_add(1000, for_real, entry); |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
262 g_object_set_data_full(G_OBJECT(entry), "update-filter", GINT_TO_POINTER(id), |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
263 (GDestroyNotify)g_source_remove); |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
264 } |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
265 |
20672
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
266 static void |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
267 file_save(GntFileSel *fs, const char *path, const char *file, GntTextView *tv) |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
268 { |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
269 FILE *fp; |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
270 |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
271 if ((fp = g_fopen(path, "w+")) == NULL) { |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
272 purple_notify_error(NULL, NULL, _("Unable to open file."), NULL); |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
273 return; |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
274 } |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
275 |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
276 fprintf(fp, "Finch Debug Log : %s\n", purple_date_format_full(NULL)); |
24398
0320b4a33432
Backport the 'purple_debug_*(msg)' -> 'purple_debug_*("%s", msg);' fixes.
Richard Laager <rlaager@wiktel.com>
parents:
21796
diff
changeset
|
277 fprintf(fp, "%s", tv->string->str); |
20672
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
278 fclose(fp); |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
279 gnt_widget_destroy(GNT_WIDGET(fs)); |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
280 } |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
281 |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
282 static void |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
283 file_cancel(GntWidget *w, GntFileSel *fs) |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
284 { |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
285 gnt_widget_destroy(GNT_WIDGET(fs)); |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
286 } |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
287 |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
288 static void |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
289 save_debug_win(GntWidget *w, GntTextView *tv) |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
290 { |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
291 GntWidget *window = gnt_file_sel_new(); |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
292 GntFileSel *sel = GNT_FILE_SEL(window); |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
293 gnt_file_sel_set_current_location(sel, purple_home_dir()); |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
294 gnt_file_sel_set_suggested_filename(sel, "debug.txt"); |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
295 g_signal_connect(G_OBJECT(sel), "file_selected", G_CALLBACK(file_save), tv); |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
296 g_signal_connect(G_OBJECT(sel->cancel), "activate", G_CALLBACK(file_cancel), sel); |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
297 gnt_widget_show(window); |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
298 } |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
299 |
15818 | 300 void finch_debug_window_show() |
301 { | |
20672
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
302 GntWidget *wid, *box, *label; |
18345
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
303 |
15818 | 304 debug.paused = FALSE; |
18345
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
305 if (debug.window) { |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
306 gnt_window_present(debug.window); |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
307 return; |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
308 } |
15818 | 309 |
18345
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
310 debug.window = gnt_vbox_new(FALSE); |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
311 gnt_box_set_toplevel(GNT_BOX(debug.window), TRUE); |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
312 gnt_box_set_title(GNT_BOX(debug.window), _("Debug Window")); |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
313 gnt_box_set_pad(GNT_BOX(debug.window), 0); |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
314 gnt_box_set_alignment(GNT_BOX(debug.window), GNT_ALIGN_MID); |
15818 | 315 |
18345
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
316 debug.tview = gnt_text_view_new(); |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
317 gnt_box_add_widget(GNT_BOX(debug.window), debug.tview); |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
318 gnt_widget_set_size(debug.tview, |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
319 purple_prefs_get_int(PREF_ROOT "/size/width"), |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
320 purple_prefs_get_int(PREF_ROOT "/size/height")); |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
321 g_signal_connect(G_OBJECT(debug.tview), "size_changed", G_CALLBACK(size_changed_cb), NULL); |
15818 | 322 |
18345
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
323 gnt_box_add_widget(GNT_BOX(debug.window), gnt_line_new(FALSE)); |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
324 |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
325 box = gnt_hbox_new(FALSE); |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
326 gnt_box_set_alignment(GNT_BOX(box), GNT_ALIGN_MID); |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
327 gnt_box_set_fill(GNT_BOX(box), FALSE); |
15818 | 328 |
18345
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
329 /* XXX: Setting the GROW_Y for the following widgets don't make sense. But right now |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
330 * it's necessary to make the width of the debug window resizable ... like I said, |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
331 * it doesn't make sense. The bug is likely in the packing in gntbox.c. |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
332 */ |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
333 wid = gnt_button_new(_("Clear")); |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
334 g_signal_connect(G_OBJECT(wid), "activate", G_CALLBACK(clear_debug_win), debug.tview); |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
335 GNT_WIDGET_SET_FLAGS(wid, GNT_WIDGET_GROW_Y); |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
336 gnt_box_add_widget(GNT_BOX(box), wid); |
17011
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
337 |
20672
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
338 wid = gnt_button_new(_("Save")); |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
339 g_signal_connect(G_OBJECT(wid), "activate", G_CALLBACK(save_debug_win), debug.tview); |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
340 GNT_WIDGET_SET_FLAGS(wid, GNT_WIDGET_GROW_Y); |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
341 gnt_box_add_widget(GNT_BOX(box), wid); |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
342 |
18345
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
343 debug.search = gnt_entry_new(purple_prefs_get_string(PREF_ROOT "/filter")); |
20672
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
344 label = gnt_label_new(_("Filter:")); |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
345 GNT_WIDGET_UNSET_FLAGS(label, GNT_WIDGET_GROW_X); |
c8d4fe2cd0d7
Add save button to the debug window and alter some GROW_X for visual appeal
Richard Nelson <wabz@pidgin.im>
parents:
20074
diff
changeset
|
346 gnt_box_add_widget(GNT_BOX(box), label); |
18345
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
347 gnt_box_add_widget(GNT_BOX(box), debug.search); |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
348 g_signal_connect(G_OBJECT(debug.search), "text_changed", G_CALLBACK(update_filter_string), NULL); |
15818 | 349 |
18345
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
350 wid = gnt_check_box_new(_("Pause")); |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
351 g_signal_connect(G_OBJECT(wid), "toggled", G_CALLBACK(toggle_pause), NULL); |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
352 GNT_WIDGET_SET_FLAGS(wid, GNT_WIDGET_GROW_Y); |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
353 gnt_box_add_widget(GNT_BOX(box), wid); |
15818 | 354 |
18345
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
355 gnt_box_add_widget(GNT_BOX(debug.window), box); |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
356 GNT_WIDGET_SET_FLAGS(box, GNT_WIDGET_GROW_Y); |
15818 | 357 |
18345
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
358 gnt_widget_set_name(debug.window, "debug-window"); |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
359 |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
360 g_signal_connect(G_OBJECT(debug.window), "destroy", G_CALLBACK(reset_debug_win), NULL); |
2d4df5ef0090
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17026
diff
changeset
|
361 gnt_text_view_attach_scroll_widget(GNT_TEXT_VIEW(debug.tview), debug.window); |
18427
be8c4eba38f6
Use the utility function for the conversation and debug windows.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18345
diff
changeset
|
362 gnt_text_view_attach_pager_widget(GNT_TEXT_VIEW(debug.tview), debug.window); |
15818 | 363 |
364 gnt_widget_show(debug.window); | |
365 } | |
366 | |
367 static gboolean | |
368 start_with_debugwin(gpointer null) | |
369 { | |
370 finch_debug_window_show(); | |
371 return FALSE; | |
372 } | |
373 | |
374 void finch_debug_init() | |
375 { | |
376 /* Xerox */ | |
377 #define REGISTER_G_LOG_HANDLER(name) \ | |
378 g_log_set_handler((name), G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL \ | |
379 | G_LOG_FLAG_RECURSION, \ | |
15823 | 380 purple_glib_log_handler, NULL) |
15818 | 381 |
382 /* Register the glib log handlers. */ | |
383 REGISTER_G_LOG_HANDLER(NULL); | |
384 REGISTER_G_LOG_HANDLER("GLib"); | |
385 REGISTER_G_LOG_HANDLER("GModule"); | |
386 REGISTER_G_LOG_HANDLER("GLib-GObject"); | |
387 REGISTER_G_LOG_HANDLER("GThread"); | |
24503
e2e57d3c0578
Use glib log functions to show error messages.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24398
diff
changeset
|
388 REGISTER_G_LOG_HANDLER("Gnt"); |
21796
39e07c9ae0d7
Trap gstreamer error messages with our debug stuff so they don't get spewed
Stu Tomlinson <stu@nosnilmot.com>
parents:
20672
diff
changeset
|
389 #ifdef USE_GSTREAMER |
39e07c9ae0d7
Trap gstreamer error messages with our debug stuff so they don't get spewed
Stu Tomlinson <stu@nosnilmot.com>
parents:
20672
diff
changeset
|
390 REGISTER_G_LOG_HANDLER("GStreamer"); |
39e07c9ae0d7
Trap gstreamer error messages with our debug stuff so they don't get spewed
Stu Tomlinson <stu@nosnilmot.com>
parents:
20672
diff
changeset
|
391 #endif |
24851
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
392 REGISTER_G_LOG_HANDLER("stderr"); |
15818 | 393 |
394 g_set_print_handler(print_stderr); /* Redirect the debug messages to stderr */ | |
18454
6b623a59cec6
If debug is enabled using the -d argument, then do not suppress the outputs
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18427
diff
changeset
|
395 if (!purple_debug_is_enabled()) |
24851
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
396 handle_fprintf_stderr(FALSE); |
15818 | 397 |
15823 | 398 purple_prefs_add_none(PREF_ROOT); |
17011
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16999
diff
changeset
|
399 purple_prefs_add_string(PREF_ROOT "/filter", ""); |
15823 | 400 purple_prefs_add_none(PREF_ROOT "/size"); |
401 purple_prefs_add_int(PREF_ROOT "/size/width", 60); | |
402 purple_prefs_add_int(PREF_ROOT "/size/height", 15); | |
15818 | 403 |
15823 | 404 if (purple_debug_is_enabled()) |
15818 | 405 g_timeout_add(0, start_with_debugwin, NULL); |
406 } | |
407 | |
408 void finch_debug_uninit() | |
409 { | |
24851
bbcdb1786eda
Redirect stderr to the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24503
diff
changeset
|
410 handle_fprintf_stderr(TRUE); |
15818 | 411 } |
412 |