Thu, 12 Oct 2006 03:30:25 +0000
[gaim-migrate @ 17467]
Yet another patch from Richard Nelson (wabz). This makes the checkboxes in the
debug window vertically centered.
committer: Sadrul Habib Chowdhury <sadrul@pidgin.im>
|
14620
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14336
diff
changeset
|
1 | /** |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14336
diff
changeset
|
2 | * @file gntdebug.c GNT Debug API |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14336
diff
changeset
|
3 | * @ingroup gntui |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14336
diff
changeset
|
4 | * |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14336
diff
changeset
|
5 | * gaim |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14336
diff
changeset
|
6 | * |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14336
diff
changeset
|
7 | * Gaim is the legal property of its developers, whose names are too numerous |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14336
diff
changeset
|
8 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14336
diff
changeset
|
9 | * source distribution. |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14336
diff
changeset
|
10 | * |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14336
diff
changeset
|
11 | * This program is free software; you can redistribute it and/or modify |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14336
diff
changeset
|
12 | * it under the terms of the GNU General Public License as published by |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14336
diff
changeset
|
13 | * the Free Software Foundation; either version 2 of the License, or |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14336
diff
changeset
|
14 | * (at your option) any later version. |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14336
diff
changeset
|
15 | * |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14336
diff
changeset
|
16 | * This program is distributed in the hope that it will be useful, |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14336
diff
changeset
|
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14336
diff
changeset
|
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14336
diff
changeset
|
19 | * GNU General Public License for more details. |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14336
diff
changeset
|
20 | * |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14336
diff
changeset
|
21 | * You should have received a copy of the GNU General Public License |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14336
diff
changeset
|
22 | * along with this program; if not, write to the Free Software |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14336
diff
changeset
|
23 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14336
diff
changeset
|
24 | */ |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
25 | #include <gnt.h> |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
26 | #include <gntbox.h> |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
27 | #include <gnttextview.h> |
| 14755 | 28 | #include <gntbutton.h> |
| 29 | #include <gntcheckbox.h> | |
| 30 | #include <gntline.h> | |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
31 | |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
32 | #include "gntdebug.h" |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
33 | #include "gntgaim.h" |
| 14755 | 34 | #include "util.h" |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
35 | |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
36 | #include <stdio.h> |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
37 | #include <string.h> |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
38 | |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
39 | static struct |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
40 | { |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
41 | GntWidget *window; |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
42 | GntWidget *tview; |
| 14755 | 43 | gboolean paused; |
| 44 | gboolean timestamps; | |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
45 | } debug; |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
46 | |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
47 | static gboolean |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
48 | debug_window_kpress_cb(GntWidget *wid, const char *key, GntTextView *view) |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
49 | { |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
50 | if (key[0] == 27) |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
51 | { |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
52 | if (strcmp(key+1, GNT_KEY_DOWN) == 0) |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
53 | gnt_text_view_scroll(view, 1); |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
54 | else if (strcmp(key+1, GNT_KEY_UP) == 0) |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
55 | gnt_text_view_scroll(view, -1); |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
56 | else if (strcmp(key+1, GNT_KEY_PGDOWN) == 0) |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
57 | gnt_text_view_scroll(view, wid->priv.height - 2); |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
58 | else if (strcmp(key+1, GNT_KEY_PGUP) == 0) |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
59 | gnt_text_view_scroll(view, -(wid->priv.height - 2)); |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
60 | else |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
61 | return FALSE; |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
62 | return TRUE; |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
63 | } |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
64 | return FALSE; |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
65 | } |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
66 | |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
67 | static void |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
68 | gg_debug_print(GaimDebugLevel level, const char *category, |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
69 | const char *args) |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
70 | { |
| 14755 | 71 | if (debug.window && !debug.paused) |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
72 | { |
| 14755 | 73 | int pos = gnt_text_view_get_lines_below(GNT_TEXT_VIEW(debug.tview)); |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
74 | GntTextFormatFlags flag = GNT_TEXT_FLAG_NORMAL; |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
75 | |
| 14755 | 76 | if (debug.timestamps) { |
| 77 | const char *mdate; | |
| 78 | time_t mtime = time(NULL); | |
| 79 | mdate = gaim_utf8_strftime("%H:%M:%S ", localtime(&mtime)); | |
| 80 | gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(debug.tview), | |
| 81 | mdate, flag); | |
| 82 | } | |
| 83 | ||
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
84 | gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(debug.tview), |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
85 | category, GNT_TEXT_FLAG_BOLD); |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
86 | gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(debug.tview), |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
87 | ": ", GNT_TEXT_FLAG_BOLD); |
| 14755 | 88 | |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
89 | switch (level) |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
90 | { |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
91 | case GAIM_DEBUG_WARNING: |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
92 | flag |= GNT_TEXT_FLAG_UNDERLINE; |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
93 | case GAIM_DEBUG_ERROR: |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
94 | case GAIM_DEBUG_FATAL: |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
95 | flag |= GNT_TEXT_FLAG_BOLD; |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
96 | break; |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
97 | default: |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
98 | break; |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
99 | } |
| 14755 | 100 | |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
101 | gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(debug.tview), args, flag); |
| 14755 | 102 | if (pos <= 1) |
| 103 | gnt_text_view_scroll(GNT_TEXT_VIEW(debug.tview), 0); | |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
104 | } |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
105 | } |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
106 | |
| 14755 | 107 | static GaimDebugUiOps uiops = |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
108 | { |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
109 | gg_debug_print, |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
110 | }; |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
111 | |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
112 | GaimDebugUiOps *gg_debug_get_ui_ops() |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
113 | { |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
114 | return &uiops; |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
115 | } |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
116 | |
|
14047
764a70ebfdc5
[gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14045
diff
changeset
|
117 | static void |
|
764a70ebfdc5
[gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14045
diff
changeset
|
118 | reset_debug_win(GntWidget *w, gpointer null) |
|
764a70ebfdc5
[gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14045
diff
changeset
|
119 | { |
|
764a70ebfdc5
[gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14045
diff
changeset
|
120 | debug.window = debug.tview = NULL; |
|
764a70ebfdc5
[gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14045
diff
changeset
|
121 | } |
|
764a70ebfdc5
[gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14045
diff
changeset
|
122 | |
|
14187
881ec8710386
[gaim-migrate @ 16763]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
123 | static void |
| 14755 | 124 | clear_debug_win(GntWidget *w, GntTextView *tv) |
| 125 | { | |
| 126 | gnt_text_view_clear(tv); | |
| 127 | } | |
| 128 | ||
| 129 | static void | |
|
14187
881ec8710386
[gaim-migrate @ 16763]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
130 | print_stderr(const char *string) |
|
881ec8710386
[gaim-migrate @ 16763]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
131 | { |
|
881ec8710386
[gaim-migrate @ 16763]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
132 | g_printerr("%s", string); |
|
881ec8710386
[gaim-migrate @ 16763]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
133 | } |
|
881ec8710386
[gaim-migrate @ 16763]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
134 | |
| 14755 | 135 | static void |
| 136 | toggle_pause(GntWidget *w, gpointer n) | |
| 137 | { | |
| 138 | debug.paused = !debug.paused; | |
| 139 | } | |
| 140 | ||
| 141 | static void | |
| 142 | toggle_timestamps(GntWidget *w, gpointer n) | |
| 143 | { | |
| 144 | debug.timestamps = !debug.timestamps; | |
| 145 | gaim_prefs_set_bool("/core/debug/timestamps", debug.timestamps); | |
| 146 | } | |
| 147 | ||
|
14771
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
148 | /* Xerox */ |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
149 | static void |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
150 | gaim_glib_log_handler(const gchar *domain, GLogLevelFlags flags, |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
151 | const gchar *msg, gpointer user_data) |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
152 | { |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
153 | GaimDebugLevel level; |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
154 | char *new_msg = NULL; |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
155 | char *new_domain = NULL; |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
156 | |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
157 | if ((flags & G_LOG_LEVEL_ERROR) == G_LOG_LEVEL_ERROR) |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
158 | level = GAIM_DEBUG_ERROR; |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
159 | else if ((flags & G_LOG_LEVEL_CRITICAL) == G_LOG_LEVEL_CRITICAL) |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
160 | level = GAIM_DEBUG_FATAL; |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
161 | else if ((flags & G_LOG_LEVEL_WARNING) == G_LOG_LEVEL_WARNING) |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
162 | level = GAIM_DEBUG_WARNING; |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
163 | else if ((flags & G_LOG_LEVEL_MESSAGE) == G_LOG_LEVEL_MESSAGE) |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
164 | level = GAIM_DEBUG_INFO; |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
165 | else if ((flags & G_LOG_LEVEL_INFO) == G_LOG_LEVEL_INFO) |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
166 | level = GAIM_DEBUG_INFO; |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
167 | else if ((flags & G_LOG_LEVEL_DEBUG) == G_LOG_LEVEL_DEBUG) |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
168 | level = GAIM_DEBUG_MISC; |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
169 | else |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
170 | { |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
171 | gaim_debug_warning("gntdebug", |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
172 | "Unknown glib logging level in %d\n", flags); |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
173 | |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
174 | level = GAIM_DEBUG_MISC; /* This will never happen. */ |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
175 | } |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
176 | |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
177 | if (msg != NULL) |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
178 | new_msg = gaim_utf8_try_convert(msg); |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
179 | |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
180 | if (domain != NULL) |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
181 | new_domain = gaim_utf8_try_convert(domain); |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
182 | |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
183 | if (new_msg != NULL) |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
184 | { |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
185 | gaim_debug(level, (new_domain != NULL ? new_domain : "g_log"), |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
186 | "%s\n", new_msg); |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
187 | |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
188 | g_free(new_msg); |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
189 | } |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
190 | |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
191 | g_free(new_domain); |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
192 | } |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
193 | |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
194 | void gg_debug_window_show() |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
195 | { |
| 14755 | 196 | debug.paused = false; |
| 197 | debug.timestamps = gaim_prefs_get_bool("/core/debug/timestamps"); | |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
198 | if (debug.window == NULL) |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
199 | { |
| 14755 | 200 | GntWidget *wid, *box; |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
201 | debug.window = gnt_vbox_new(FALSE); |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
202 | gnt_box_set_toplevel(GNT_BOX(debug.window), TRUE); |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
203 | gnt_box_set_title(GNT_BOX(debug.window), _("Debug Window")); |
| 14755 | 204 | gnt_box_set_pad(GNT_BOX(debug.window), 0); |
| 205 | gnt_box_set_alignment(GNT_BOX(debug.window), GNT_ALIGN_MID); | |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
206 | |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
207 | debug.tview = gnt_text_view_new(); |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
208 | gnt_box_add_widget(GNT_BOX(debug.window), debug.tview); |
|
14047
764a70ebfdc5
[gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14045
diff
changeset
|
209 | |
| 14755 | 210 | gnt_box_add_widget(GNT_BOX(debug.window), gnt_line_new(FALSE)); |
| 211 | ||
| 212 | box = gnt_hbox_new(FALSE); | |
| 213 | gnt_box_set_alignment(GNT_BOX(box), GNT_ALIGN_MID); | |
| 14775 | 214 | gnt_box_set_fill(GNT_BOX(box), FALSE); |
| 14755 | 215 | |
| 216 | /* XXX: Setting the GROW_Y for the following widgets don't make sense. But right now | |
| 217 | * it's necessary to make the width of the debug window resizable ... like I said, | |
| 218 | * it doesn't make sense. The bug is likely in the packing in gntbox.c. | |
| 219 | */ | |
| 220 | wid = gnt_button_new(_("Clear")); | |
| 221 | g_signal_connect(G_OBJECT(wid), "activate", G_CALLBACK(clear_debug_win), debug.tview); | |
| 222 | GNT_WIDGET_SET_FLAGS(wid, GNT_WIDGET_GROW_Y); | |
| 223 | gnt_box_add_widget(GNT_BOX(box), wid); | |
| 224 | ||
| 225 | wid = gnt_check_box_new(_("Pause")); | |
| 226 | g_signal_connect(G_OBJECT(wid), "toggled", G_CALLBACK(toggle_pause), NULL); | |
| 227 | GNT_WIDGET_SET_FLAGS(wid, GNT_WIDGET_GROW_Y); | |
| 228 | gnt_box_add_widget(GNT_BOX(box), wid); | |
| 229 | ||
| 230 | wid = gnt_check_box_new(_("Timestamps")); | |
| 231 | gnt_check_box_set_checked(GNT_CHECK_BOX(wid), debug.timestamps); | |
| 232 | g_signal_connect(G_OBJECT(wid), "toggled", G_CALLBACK(toggle_timestamps), NULL); | |
| 233 | GNT_WIDGET_SET_FLAGS(wid, GNT_WIDGET_GROW_Y); | |
| 234 | gnt_box_add_widget(GNT_BOX(box), wid); | |
| 235 | ||
| 236 | gnt_box_add_widget(GNT_BOX(debug.window), box); | |
| 237 | GNT_WIDGET_SET_FLAGS(box, GNT_WIDGET_GROW_Y); | |
| 238 | ||
| 239 | gnt_widget_set_name(debug.window, "debug-window"); | |
|
14121
3d8804b82150
[gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
240 | |
|
14047
764a70ebfdc5
[gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14045
diff
changeset
|
241 | g_signal_connect(G_OBJECT(debug.window), "destroy", G_CALLBACK(reset_debug_win), NULL); |
|
14121
3d8804b82150
[gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
242 | g_signal_connect(G_OBJECT(debug.window), "key_pressed", G_CALLBACK(debug_window_kpress_cb), debug.tview); |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
243 | } |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
244 | |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
245 | gnt_widget_show(debug.window); |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
246 | } |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
247 | |
|
14336
f6d0cb054557
[gaim-migrate @ 16959]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14187
diff
changeset
|
248 | static gboolean |
|
f6d0cb054557
[gaim-migrate @ 16959]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14187
diff
changeset
|
249 | start_with_debugwin(gpointer null) |
|
f6d0cb054557
[gaim-migrate @ 16959]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14187
diff
changeset
|
250 | { |
|
f6d0cb054557
[gaim-migrate @ 16959]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14187
diff
changeset
|
251 | gg_debug_window_show(); |
|
f6d0cb054557
[gaim-migrate @ 16959]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14187
diff
changeset
|
252 | return FALSE; |
|
f6d0cb054557
[gaim-migrate @ 16959]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14187
diff
changeset
|
253 | } |
|
f6d0cb054557
[gaim-migrate @ 16959]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14187
diff
changeset
|
254 | |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
255 | void gg_debug_init() |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
256 | { |
|
14771
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
257 | /* Xerox */ |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
258 | #define REGISTER_G_LOG_HANDLER(name) \ |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
259 | g_log_set_handler((name), G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL \ |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
260 | | G_LOG_FLAG_RECURSION, \ |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
261 | gaim_glib_log_handler, NULL) |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
262 | |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
263 | /* Register the glib log handlers. */ |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
264 | REGISTER_G_LOG_HANDLER(NULL); |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
265 | REGISTER_G_LOG_HANDLER("GLib"); |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
266 | REGISTER_G_LOG_HANDLER("GModule"); |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
267 | REGISTER_G_LOG_HANDLER("GLib-GObject"); |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
268 | REGISTER_G_LOG_HANDLER("GThread"); |
|
c9740405d914
[gaim-migrate @ 17463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14755
diff
changeset
|
269 | |
|
14187
881ec8710386
[gaim-migrate @ 16763]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
270 | g_set_print_handler(print_stderr); /* Redirect the debug messages to stderr */ |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14047
diff
changeset
|
271 | if (gaim_debug_is_enabled()) |
|
14336
f6d0cb054557
[gaim-migrate @ 16959]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14187
diff
changeset
|
272 | g_timeout_add(0, start_with_debugwin, NULL); |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
273 | } |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
274 | |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
275 | void gg_debug_uninit() |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
276 | { |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
277 | } |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
278 |