Sun, 03 Nov 2024 00:05:44 -0500
remove purple3-url-handler.desktop.in.in
The application that did the launching was removed long ago. Also this should
be implemented by the user interfaces and they might provide separate files to
groups schemas as well.
Testing Done:
Called in the turtles.
Reviewed at https://reviews.imfreedom.org/r/3640/
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
1 | /* pidgin |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
2 | * |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
3 | * Pidgin is the legal property of its developers, whose names are too numerous |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
4 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
5 | * source distribution. |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
6 | * |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
7 | * This program is free software; you can redistribute it and/or modify |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
8 | * it under the terms of the GNU General Public License as published by |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
9 | * the Free Software Foundation; either version 2 of the License, or |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
10 | * (at your option) any later version. |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
11 | * |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
12 | * This program is distributed in the hope that it will be useful, |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
15 | * GNU General Public License for more details. |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
16 | * |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
17 | * You should have received a copy of the GNU General Public License |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
18 | * along with this program; if not, write to the Free Software |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
20 | */ |
|
40439
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
21 | |
|
42410
563e7a17c220
Fix possible clash of config headers
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42358
diff
changeset
|
22 | #include <purpleconfig.h> |
|
40439
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
23 | |
|
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
24 | #include <glib/gi18n-lib.h> |
|
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
25 | #include <glib/gstdio.h> |
|
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40360
diff
changeset
|
26 | |
|
40496
6941fece679b
phase2 of pidgin.h: move existing file to pidgincore.h
Gary Kramlich <grim@reaperworld.com>
parents:
40439
diff
changeset
|
27 | #include <gtk/gtk.h> |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
28 | |
|
40360
e21f3bbcc2a5
Update all of the pidgin code to include purple.h
Gary Kramlich <grim@reaperworld.com>
parents:
40197
diff
changeset
|
29 | #include <purple.h> |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
30 | |
|
41748
fb13b6986266
Make the debug window transient for whatever window created it.
Gary Kramlich <grim@reaperworld.com>
parents:
41642
diff
changeset
|
31 | #include "pidginapplication.h" |
|
40496
6941fece679b
phase2 of pidgin.h: move existing file to pidgincore.h
Gary Kramlich <grim@reaperworld.com>
parents:
40439
diff
changeset
|
32 | #include "pidgincore.h" |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
33 | #include "pidgindebug.h" |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
34 | |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
35 | #include <gdk/gdkkeysyms.h> |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
36 | |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
37 | |
|
39156
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
38 | struct _PidginDebugWindow { |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
39 | GtkWindow parent; |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
40 | |
|
39157
5f00c06934cc
Re-add autoscroll to debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39156
diff
changeset
|
41 | GtkWidget *textview; |
|
39154
ac28e667a064
Convert debug window to GtkTextView.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39153
diff
changeset
|
42 | GtkTextBuffer *buffer; |
|
39160
709de61bd2d3
debugwin: Also filter new messages as they come in.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39159
diff
changeset
|
43 | GtkTextMark *start_mark; |
|
39157
5f00c06934cc
Re-add autoscroll to debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39156
diff
changeset
|
44 | GtkTextMark *end_mark; |
|
39154
ac28e667a064
Convert debug window to GtkTextView.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39153
diff
changeset
|
45 | struct { |
|
ac28e667a064
Convert debug window to GtkTextView.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39153
diff
changeset
|
46 | GtkTextTag *level[PURPLE_DEBUG_FATAL + 1]; |
|
ac28e667a064
Convert debug window to GtkTextView.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39153
diff
changeset
|
47 | GtkTextTag *category; |
|
39159
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
48 | GtkTextTag *filtered_invisible; |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
49 | GtkTextTag *filtered_visible; |
|
39154
ac28e667a064
Convert debug window to GtkTextView.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39153
diff
changeset
|
50 | GtkTextTag *match; |
|
39159
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
51 | GtkTextTag *paused; |
|
39154
ac28e667a064
Convert debug window to GtkTextView.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39153
diff
changeset
|
52 | } tags; |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
53 | GtkWidget *filter; |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
54 | GtkWidget *expression; |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
55 | GtkWidget *filterlevel; |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
56 | |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
57 | gboolean paused; |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
58 | |
|
39163
c38b26076992
debugwin: Make filter options into popover when available.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39162
diff
changeset
|
59 | GtkWidget *popover; |
|
39674
166671cecb8c
Merge debug window Glade files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39673
diff
changeset
|
60 | GtkWidget *popover_invert; |
|
166671cecb8c
Merge debug window Glade files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39673
diff
changeset
|
61 | GtkWidget *popover_highlight; |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
62 | GRegex *regex; |
|
39156
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
63 | }; |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
64 | |
|
41267
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
65 | typedef struct { |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
66 | GDateTime *timestamp; |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
67 | PurpleDebugLevel level; |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
68 | gchar *domain; |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
69 | gchar *message; |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
70 | } PidginDebugMessage; |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
71 | |
|
41127
cd297cfc56f3
Move debug command-line option to the UIs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41120
diff
changeset
|
72 | static gboolean debug_print_enabled = FALSE; |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
73 | static GSettings *settings = NULL; |
|
39156
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
74 | static PidginDebugWindow *debug_win = NULL; |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
75 | static gulong pref_callback_id = 0; |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
76 | |
|
42575
580339aa47cc
Make sure all of the final types in pidgin are defined as such
Gary Kramlich <grim@reaperworld.com>
parents:
42410
diff
changeset
|
77 | G_DEFINE_FINAL_TYPE(PidginDebugWindow, pidgin_debug_window, GTK_TYPE_WINDOW) |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
78 | |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
79 | static gboolean |
|
39157
5f00c06934cc
Re-add autoscroll to debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39156
diff
changeset
|
80 | view_near_bottom(PidginDebugWindow *win) |
|
5f00c06934cc
Re-add autoscroll to debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39156
diff
changeset
|
81 | { |
|
5f00c06934cc
Re-add autoscroll to debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39156
diff
changeset
|
82 | GtkAdjustment *adj = gtk_scrollable_get_vadjustment( |
|
5f00c06934cc
Re-add autoscroll to debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39156
diff
changeset
|
83 | GTK_SCROLLABLE(win->textview)); |
|
5f00c06934cc
Re-add autoscroll to debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39156
diff
changeset
|
84 | return (gtk_adjustment_get_value(adj) >= |
|
5f00c06934cc
Re-add autoscroll to debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39156
diff
changeset
|
85 | (gtk_adjustment_get_upper(adj) - |
|
5f00c06934cc
Re-add autoscroll to debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39156
diff
changeset
|
86 | gtk_adjustment_get_page_size(adj) * 1.5)); |
|
5f00c06934cc
Re-add autoscroll to debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39156
diff
changeset
|
87 | } |
|
5f00c06934cc
Re-add autoscroll to debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39156
diff
changeset
|
88 | |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
89 | static void |
|
42352
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
90 | save_response_cb(GObject *obj, GAsyncResult *result, gpointer data) |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
91 | { |
|
41604
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
92 | PidginDebugWindow *win = (PidginDebugWindow *)data; |
|
42352
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
93 | GFile *file = NULL; |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
94 | GFileOutputStream *output = NULL; |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
95 | GtkTextIter start, end; |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
96 | GDateTime *date = NULL; |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
97 | char *date_str = NULL; |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
98 | char *tmp = NULL; |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
99 | GError *error = NULL; |
|
41763
4a51008d3f64
Remove purple_date_format_full
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41748
diff
changeset
|
100 | |
|
42352
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
101 | file = gtk_file_dialog_save_finish(GTK_FILE_DIALOG(obj), result, NULL); |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
102 | if(file == NULL) { |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
103 | return; |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
104 | } |
|
41604
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
105 | |
|
42352
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
106 | output = g_file_replace(file, NULL, FALSE, G_FILE_CREATE_NONE, NULL, |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
107 | &error); |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
108 | g_clear_object(&file); |
|
41604
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
109 | |
|
42352
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
110 | if(output == NULL) { |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
111 | purple_debug_error("debug", |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
112 | "Unable to open file to save debug log: %s", |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
113 | error->message); |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
114 | g_error_free(error); |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
115 | return; |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
116 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
117 | |
|
42352
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
118 | date = g_date_time_new_now_local(); |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
119 | date_str = g_date_time_format(date, "%c"); |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
120 | g_date_time_unref(date); |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
121 | |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
122 | tmp = g_strdup_printf("Pidgin Debug Log : %s\n", date_str); |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
123 | g_output_stream_write_all(G_OUTPUT_STREAM(output), tmp, strlen(tmp), |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
124 | NULL, NULL, &error); |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
125 | g_free(tmp); |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
126 | g_free(date_str); |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
127 | |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
128 | if(error != NULL) { |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
129 | purple_debug_error("debug", "Unable to save debug log: %s", |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
130 | error->message); |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
131 | g_error_free(error); |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
132 | g_object_unref(output); |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
133 | return; |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
134 | } |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
135 | |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
136 | gtk_text_buffer_get_bounds(win->buffer, &start, &end); |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
137 | tmp = gtk_text_buffer_get_text(win->buffer, &start, &end, TRUE); |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
138 | g_output_stream_write_all(G_OUTPUT_STREAM(output), tmp, strlen(tmp), |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
139 | NULL, NULL, &error); |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
140 | g_free(tmp); |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
141 | |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
142 | if(error != NULL) { |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
143 | purple_debug_error("debug", "Unable to save debug log: %s", |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
144 | error->message); |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
145 | g_error_free(error); |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
146 | g_object_unref(output); |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
147 | return; |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
148 | } |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
149 | |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
150 | g_object_unref(output); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
151 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
152 | |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
153 | static void |
|
41947
7b3312d0760c
Bump C standard to C99 for Pidgin files and fix warnings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41840
diff
changeset
|
154 | save_cb(G_GNUC_UNUSED GtkWidget *w, PidginDebugWindow *win) |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
155 | { |
|
42352
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
156 | GtkFileDialog *dialog; |
|
41604
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
157 | |
|
42352
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
158 | dialog = gtk_file_dialog_new(); |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
159 | gtk_file_dialog_set_title(dialog, _("Save Debug Log")); |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
160 | gtk_file_dialog_set_modal(dialog, TRUE); |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
161 | gtk_file_dialog_set_initial_name(dialog, "purple-debug.log"); |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
162 | gtk_file_dialog_save(dialog, GTK_WINDOW(win), NULL, |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
163 | save_response_cb, win); |
|
1c53950f9052
Migrate from GtkFileChooserNative to GtkFileDialog
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42182
diff
changeset
|
164 | g_clear_object(&dialog); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
165 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
166 | |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
167 | static void |
|
41947
7b3312d0760c
Bump C standard to C99 for Pidgin files and fix warnings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41840
diff
changeset
|
168 | clear_cb(G_GNUC_UNUSED GtkWidget *w, PidginDebugWindow *win) |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
169 | { |
|
39154
ac28e667a064
Convert debug window to GtkTextView.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39153
diff
changeset
|
170 | gtk_text_buffer_set_text(win->buffer, "", 0); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
171 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
172 | |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
173 | static void |
|
39156
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
174 | pause_cb(GtkWidget *w, PidginDebugWindow *win) |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
175 | { |
|
41540
cb35b9603c41
Convert debug window to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41531
diff
changeset
|
176 | win->paused = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w)); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
177 | |
|
39154
ac28e667a064
Convert debug window to GtkTextView.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39153
diff
changeset
|
178 | if (!win->paused) { |
|
ac28e667a064
Convert debug window to GtkTextView.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39153
diff
changeset
|
179 | GtkTextIter start, end; |
|
ac28e667a064
Convert debug window to GtkTextView.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39153
diff
changeset
|
180 | gtk_text_buffer_get_bounds(win->buffer, &start, &end); |
|
39159
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
181 | gtk_text_buffer_remove_tag(win->buffer, win->tags.paused, |
|
39154
ac28e667a064
Convert debug window to GtkTextView.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39153
diff
changeset
|
182 | &start, &end); |
|
39157
5f00c06934cc
Re-add autoscroll to debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39156
diff
changeset
|
183 | gtk_text_view_scroll_to_mark(GTK_TEXT_VIEW(win->textview), |
|
5f00c06934cc
Re-add autoscroll to debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39156
diff
changeset
|
184 | win->end_mark, 0, TRUE, 0, 1); |
|
39154
ac28e667a064
Convert debug window to GtkTextView.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39153
diff
changeset
|
185 | } |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
186 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
187 | |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
188 | /****************************************************************************** |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
189 | * regex stuff |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
190 | *****************************************************************************/ |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
191 | static void |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
192 | regex_clear_color(GtkWidget *w) { |
|
41618
7e9ad20d503a
Use success/error CSS for Public IP entry
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41617
diff
changeset
|
193 | gtk_widget_remove_css_class(w, "error"); |
|
7e9ad20d503a
Use success/error CSS for Public IP entry
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41617
diff
changeset
|
194 | gtk_widget_remove_css_class(w, "success"); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
195 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
196 | |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
197 | static void |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
198 | regex_change_color(GtkWidget *w, gboolean success) { |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
199 | if (success) { |
|
41618
7e9ad20d503a
Use success/error CSS for Public IP entry
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41617
diff
changeset
|
200 | gtk_widget_remove_css_class(w, "error"); |
|
7e9ad20d503a
Use success/error CSS for Public IP entry
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41617
diff
changeset
|
201 | gtk_widget_add_css_class(w, "success"); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
202 | } else { |
|
41618
7e9ad20d503a
Use success/error CSS for Public IP entry
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41617
diff
changeset
|
203 | gtk_widget_remove_css_class(w, "success"); |
|
7e9ad20d503a
Use success/error CSS for Public IP entry
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41617
diff
changeset
|
204 | gtk_widget_add_css_class(w, "error"); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
205 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
206 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
207 | |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
208 | static void |
|
39159
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
209 | do_regex(PidginDebugWindow *win, GtkTextIter *start, GtkTextIter *end) |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
210 | { |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
211 | gboolean highlight, invert; |
|
39159
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
212 | GMatchInfo *match; |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
213 | gint initial_position; |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
214 | gint start_pos, end_pos; |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
215 | GtkTextIter match_start, match_end; |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
216 | gchar *text; |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
217 | |
|
41642
eaf836c5f87b
Modernize debug window a little
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41618
diff
changeset
|
218 | if (!win->regex) { |
|
39162
e84a120599f7
debugwin: Don't crash if no regex during message load.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39161
diff
changeset
|
219 | return; |
|
41642
eaf836c5f87b
Modernize debug window a little
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41618
diff
changeset
|
220 | } |
|
39162
e84a120599f7
debugwin: Don't crash if no regex during message load.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39161
diff
changeset
|
221 | |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
222 | highlight = g_settings_get_boolean(settings, "highlight"); |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
223 | invert = g_settings_get_boolean(settings, "invert"); |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
224 | |
|
39159
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
225 | initial_position = gtk_text_iter_get_offset(start); |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
226 | |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
227 | if(!invert) { |
|
39159
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
228 | /* First hide everything. */ |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
229 | gtk_text_buffer_apply_tag(win->buffer, |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
230 | win->tags.filtered_invisible, start, end); |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
231 | } |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
232 | |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
233 | text = gtk_text_buffer_get_text(win->buffer, start, end, TRUE); |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
234 | g_regex_match(win->regex, text, 0, &match); |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
235 | while (g_match_info_matches(match)) { |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
236 | g_match_info_fetch_pos(match, 0, &start_pos, &end_pos); |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
237 | start_pos += initial_position; |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
238 | end_pos += initial_position; |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
239 | |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
240 | /* Expand match to full line of message. */ |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
241 | gtk_text_buffer_get_iter_at_offset(win->buffer, |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
242 | &match_start, start_pos); |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
243 | gtk_text_iter_set_line_index(&match_start, 0); |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
244 | gtk_text_buffer_get_iter_at_offset(win->buffer, |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
245 | &match_end, end_pos); |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
246 | gtk_text_iter_forward_line(&match_end); |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
247 | |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
248 | if(invert) { |
|
39159
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
249 | /* Make invisible. */ |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
250 | gtk_text_buffer_apply_tag(win->buffer, |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
251 | win->tags.filtered_invisible, |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
252 | &match_start, &match_end); |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
253 | } else { |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
254 | /* Make visible again (with higher priority.) */ |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
255 | gtk_text_buffer_apply_tag(win->buffer, |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
256 | win->tags.filtered_visible, |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
257 | &match_start, &match_end); |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
258 | |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
259 | if(highlight) { |
|
39159
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
260 | gtk_text_buffer_get_iter_at_offset( |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
261 | win->buffer, |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
262 | &match_start, |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
263 | start_pos); |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
264 | gtk_text_buffer_get_iter_at_offset( |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
265 | win->buffer, |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
266 | &match_end, |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
267 | end_pos); |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
268 | gtk_text_buffer_apply_tag(win->buffer, |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
269 | win->tags.match, |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
270 | &match_start, |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
271 | &match_end); |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
272 | } |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
273 | } |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
274 | |
|
42182
3fc2d2b7b7a8
Fix leaked errors
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42175
diff
changeset
|
275 | g_match_info_next(match, NULL); |
|
39159
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
276 | } |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
277 | |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
278 | g_match_info_free(match); |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
279 | g_free(text); |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
280 | } |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
281 | |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
282 | static void |
|
39156
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
283 | regex_toggle_filter(PidginDebugWindow *win, gboolean filter) |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
284 | { |
|
39154
ac28e667a064
Convert debug window to GtkTextView.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39153
diff
changeset
|
285 | GtkTextIter start, end; |
|
ac28e667a064
Convert debug window to GtkTextView.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39153
diff
changeset
|
286 | |
|
ac28e667a064
Convert debug window to GtkTextView.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39153
diff
changeset
|
287 | gtk_text_buffer_get_bounds(win->buffer, &start, &end); |
|
ac28e667a064
Convert debug window to GtkTextView.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39153
diff
changeset
|
288 | gtk_text_buffer_remove_tag(win->buffer, win->tags.match, &start, &end); |
|
39159
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
289 | gtk_text_buffer_remove_tag(win->buffer, win->tags.filtered_invisible, |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
290 | &start, &end); |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
291 | gtk_text_buffer_remove_tag(win->buffer, win->tags.filtered_visible, |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
292 | &start, &end); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
293 | |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
294 | if (filter) { |
|
39159
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
295 | do_regex(win, &start, &end); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
296 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
297 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
298 | |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
299 | static void |
|
41947
7b3312d0760c
Bump C standard to C99 for Pidgin files and fix warnings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41840
diff
changeset
|
300 | regex_changed_cb(G_GNUC_UNUSED GtkWidget *w, PidginDebugWindow *win) { |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
301 | const gchar *text; |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
302 | |
|
41540
cb35b9603c41
Convert debug window to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41531
diff
changeset
|
303 | if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(win->filter))) { |
|
cb35b9603c41
Convert debug window to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41531
diff
changeset
|
304 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(win->filter), FALSE); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
305 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
306 | |
|
41531
2b86501d13fe
Replace gtk_entry_[gs]et_text with gtk_editable_[gs]et_text
Gary Kramlich <grim@reaperworld.com>
parents:
41275
diff
changeset
|
307 | text = gtk_editable_get_text(GTK_EDITABLE(win->expression)); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
308 | |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
309 | if(purple_strempty(text)) { |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
310 | regex_clear_color(win->expression); |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
311 | gtk_widget_set_sensitive(win->filter, FALSE); |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
312 | return; |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
313 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
314 | |
|
41642
eaf836c5f87b
Modernize debug window a little
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41618
diff
changeset
|
315 | g_clear_pointer(&win->regex, g_regex_unref); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
316 | |
|
42358
5cde734cf63d
Remove the deprecated G_REGEX_JAVASCRIPT_COMPAT
Gary Kramlich <grim@reaperworld.com>
parents:
42352
diff
changeset
|
317 | win->regex = g_regex_new(text, G_REGEX_CASELESS, 0, NULL); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
318 | |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
319 | if (win->regex == NULL) { |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
320 | /* failed to compile */ |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
321 | regex_change_color(win->expression, FALSE); |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
322 | gtk_widget_set_sensitive(win->filter, FALSE); |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
323 | } else { |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
324 | /* compiled successfully */ |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
325 | regex_change_color(win->expression, TRUE); |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
326 | gtk_widget_set_sensitive(win->filter, TRUE); |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
327 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
328 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
329 | |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
330 | static void |
|
41540
cb35b9603c41
Convert debug window to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41531
diff
changeset
|
331 | regex_key_released_cb(G_GNUC_UNUSED GtkEventControllerKey *controller, |
|
cb35b9603c41
Convert debug window to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41531
diff
changeset
|
332 | guint keyval, G_GNUC_UNUSED guint keycode, |
|
cb35b9603c41
Convert debug window to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41531
diff
changeset
|
333 | G_GNUC_UNUSED GdkModifierType state, gpointer data) |
|
cb35b9603c41
Convert debug window to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41531
diff
changeset
|
334 | { |
|
cb35b9603c41
Convert debug window to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41531
diff
changeset
|
335 | PidginDebugWindow *win = data; |
|
cb35b9603c41
Convert debug window to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41531
diff
changeset
|
336 | |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
337 | if (gtk_widget_is_sensitive(win->filter)) { |
|
41540
cb35b9603c41
Convert debug window to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41531
diff
changeset
|
338 | GtkToggleButton *tb = GTK_TOGGLE_BUTTON(win->filter); |
|
cb35b9603c41
Convert debug window to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41531
diff
changeset
|
339 | if ((keyval == GDK_KEY_Return || keyval == GDK_KEY_KP_Enter) && |
|
cb35b9603c41
Convert debug window to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41531
diff
changeset
|
340 | !gtk_toggle_button_get_active(tb)) |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
341 | { |
|
41540
cb35b9603c41
Convert debug window to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41531
diff
changeset
|
342 | gtk_toggle_button_set_active(tb, TRUE); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
343 | } |
|
41540
cb35b9603c41
Convert debug window to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41531
diff
changeset
|
344 | if (keyval == GDK_KEY_Escape && gtk_toggle_button_get_active(tb)) { |
|
cb35b9603c41
Convert debug window to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41531
diff
changeset
|
345 | gtk_toggle_button_set_active(tb, FALSE); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
346 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
347 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
348 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
349 | |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
350 | static void |
|
41604
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
351 | regex_popup_cb(G_GNUC_UNUSED GtkGestureClick* self, G_GNUC_UNUSED gint n_press, |
|
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
352 | gdouble x, gdouble y, gpointer data) |
|
39155
f5359b7fab5f
Move debug regex option menu to search entry icon.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39154
diff
changeset
|
353 | { |
|
41604
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
354 | PidginDebugWindow *win = data; |
|
39674
166671cecb8c
Merge debug window Glade files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39673
diff
changeset
|
355 | |
|
41604
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
356 | gtk_popover_set_pointing_to(GTK_POPOVER(win->popover), |
|
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
357 | &(const GdkRectangle){(int)x, (int)y, 0, 0}); |
|
39163
c38b26076992
debugwin: Make filter options into popover when available.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39162
diff
changeset
|
358 | gtk_popover_popup(GTK_POPOVER(win->popover)); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
359 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
360 | |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
361 | static void |
|
39156
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
362 | debug_window_set_filter_level(PidginDebugWindow *win, int level) |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
363 | { |
|
39157
5f00c06934cc
Re-add autoscroll to debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39156
diff
changeset
|
364 | gboolean scroll; |
|
39154
ac28e667a064
Convert debug window to GtkTextView.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39153
diff
changeset
|
365 | int i; |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
366 | |
|
41947
7b3312d0760c
Bump C standard to C99 for Pidgin files and fix warnings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41840
diff
changeset
|
367 | if (level != (int)gtk_drop_down_get_selected(GTK_DROP_DOWN(win->filterlevel))) { |
|
41642
eaf836c5f87b
Modernize debug window a little
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41618
diff
changeset
|
368 | gtk_drop_down_set_selected(GTK_DROP_DOWN(win->filterlevel), level); |
|
eaf836c5f87b
Modernize debug window a little
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41618
diff
changeset
|
369 | } |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
370 | |
|
39157
5f00c06934cc
Re-add autoscroll to debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39156
diff
changeset
|
371 | scroll = view_near_bottom(win); |
|
39154
ac28e667a064
Convert debug window to GtkTextView.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39153
diff
changeset
|
372 | for (i = 0; i <= PURPLE_DEBUG_FATAL; i++) { |
|
42592
6b65c0e4ba15
Remove unnecessary casts for GObject methods
Gary Kramlich <grim@reaperworld.com>
parents:
42575
diff
changeset
|
373 | g_object_set(win->tags.level[i], "invisible", i < level, NULL); |
|
39154
ac28e667a064
Convert debug window to GtkTextView.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39153
diff
changeset
|
374 | } |
|
39157
5f00c06934cc
Re-add autoscroll to debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39156
diff
changeset
|
375 | if (scroll) { |
|
5f00c06934cc
Re-add autoscroll to debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39156
diff
changeset
|
376 | gtk_text_view_scroll_to_mark(GTK_TEXT_VIEW(win->textview), |
|
5f00c06934cc
Re-add autoscroll to debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39156
diff
changeset
|
377 | win->end_mark, 0, TRUE, 0, 1); |
|
5f00c06934cc
Re-add autoscroll to debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39156
diff
changeset
|
378 | } |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
379 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
380 | |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
381 | static void |
|
41642
eaf836c5f87b
Modernize debug window a little
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41618
diff
changeset
|
382 | filter_level_changed_cb(GObject *obj, G_GNUC_UNUSED GParamSpec *pspec) |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
383 | { |
|
41642
eaf836c5f87b
Modernize debug window a little
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41618
diff
changeset
|
384 | GtkDropDown *dropdown = GTK_DROP_DOWN(obj); |
|
eaf836c5f87b
Modernize debug window a little
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41618
diff
changeset
|
385 | |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
386 | g_settings_set_enum(settings, "filterlevel", |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
387 | gtk_drop_down_get_selected(dropdown)); |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
388 | } |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
389 | |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
390 | static void |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
391 | pidgin_debug_settings_changed_cb(GSettings *settings, char *key, gpointer data) |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
392 | { |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
393 | PidginDebugWindow *win = data; |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
394 | |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
395 | if(purple_strequal(key, "active")) { |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
396 | gboolean active = g_settings_get_boolean(settings, key); |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
397 | |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
398 | regex_toggle_filter(win, active); |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
399 | |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
400 | } else if(purple_strequal(key, "highlight") || |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
401 | purple_strequal(key, "invert")) { |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
402 | if(g_settings_get_boolean(settings, "active")) { |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
403 | regex_toggle_filter(win, TRUE); |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
404 | } |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
405 | |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
406 | } else if(purple_strequal(key, "filterlevel")) { |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
407 | int level = g_settings_get_enum(settings, key); |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
408 | |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
409 | debug_window_set_filter_level(win, level); |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
410 | } |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
411 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
412 | |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
413 | static void |
|
41604
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
414 | pidgin_debug_window_dispose(GObject *object) |
|
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
415 | { |
|
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
416 | PidginDebugWindow *win = PIDGIN_DEBUG_WINDOW(object); |
|
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
417 | |
|
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
418 | gtk_widget_unparent(win->popover); |
|
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
419 | |
|
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
420 | G_OBJECT_CLASS(pidgin_debug_window_parent_class)->dispose(object); |
|
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
421 | } |
|
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
422 | |
|
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
423 | static void |
|
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
424 | pidgin_debug_window_finalize(GObject *object) |
|
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
425 | { |
|
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
426 | PidginDebugWindow *win = PIDGIN_DEBUG_WINDOW(object); |
|
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
427 | |
|
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
428 | g_clear_pointer(&win->regex, g_regex_unref); |
|
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
429 | |
|
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
430 | debug_win = NULL; |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
431 | g_settings_set_boolean(settings, "visible", FALSE); |
|
41604
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
432 | |
|
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
433 | G_OBJECT_CLASS(pidgin_debug_window_parent_class)->finalize(object); |
|
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
434 | } |
|
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
435 | |
|
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
436 | static void |
|
39156
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
437 | pidgin_debug_window_class_init(PidginDebugWindowClass *klass) { |
|
41604
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
438 | GObjectClass *obj_class = G_OBJECT_CLASS(klass); |
|
39156
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
439 | GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass); |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
440 | |
|
41604
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
441 | obj_class->dispose = pidgin_debug_window_dispose; |
|
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
442 | obj_class->finalize = pidgin_debug_window_finalize; |
|
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
443 | |
|
39156
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
444 | gtk_widget_class_set_template_from_resource( |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
445 | widget_class, |
|
41030
ec8b76f3bf0a
Fix the resource path so we can use the automatic stuff that GtkApplication supports
Gary Kramlich <grim@reaperworld.com>
parents:
41012
diff
changeset
|
446 | "/im/pidgin/Pidgin3/Debug/debug.ui" |
|
39156
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
447 | ); |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
448 | |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
449 | gtk_widget_class_bind_template_child( |
|
39157
5f00c06934cc
Re-add autoscroll to debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39156
diff
changeset
|
450 | widget_class, PidginDebugWindow, textview); |
|
5f00c06934cc
Re-add autoscroll to debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39156
diff
changeset
|
451 | gtk_widget_class_bind_template_child( |
|
39156
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
452 | widget_class, PidginDebugWindow, buffer); |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
453 | gtk_widget_class_bind_template_child( |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
454 | widget_class, PidginDebugWindow, tags.category); |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
455 | gtk_widget_class_bind_template_child( |
|
39159
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
456 | widget_class, PidginDebugWindow, tags.filtered_invisible); |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
457 | gtk_widget_class_bind_template_child( |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
458 | widget_class, PidginDebugWindow, tags.filtered_visible); |
|
39156
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
459 | gtk_widget_class_bind_template_child( |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
460 | widget_class, PidginDebugWindow, tags.level[0]); |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
461 | gtk_widget_class_bind_template_child( |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
462 | widget_class, PidginDebugWindow, tags.level[1]); |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
463 | gtk_widget_class_bind_template_child( |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
464 | widget_class, PidginDebugWindow, tags.level[2]); |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
465 | gtk_widget_class_bind_template_child( |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
466 | widget_class, PidginDebugWindow, tags.level[3]); |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
467 | gtk_widget_class_bind_template_child( |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
468 | widget_class, PidginDebugWindow, tags.level[4]); |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
469 | gtk_widget_class_bind_template_child( |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
470 | widget_class, PidginDebugWindow, tags.level[5]); |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
471 | gtk_widget_class_bind_template_child( |
|
39159
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
472 | widget_class, PidginDebugWindow, tags.paused); |
|
75af993b9ccb
debugwin: Apply filtering from regex.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39158
diff
changeset
|
473 | gtk_widget_class_bind_template_child( |
|
39156
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
474 | widget_class, PidginDebugWindow, filter); |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
475 | gtk_widget_class_bind_template_child( |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
476 | widget_class, PidginDebugWindow, filterlevel); |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
477 | gtk_widget_class_bind_template_child( |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
478 | widget_class, PidginDebugWindow, expression); |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
479 | gtk_widget_class_bind_template_child( |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
480 | widget_class, PidginDebugWindow, tags.match); |
|
39674
166671cecb8c
Merge debug window Glade files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39673
diff
changeset
|
481 | gtk_widget_class_bind_template_child( |
|
166671cecb8c
Merge debug window Glade files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39673
diff
changeset
|
482 | widget_class, PidginDebugWindow, popover); |
|
166671cecb8c
Merge debug window Glade files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39673
diff
changeset
|
483 | gtk_widget_class_bind_template_child( |
|
166671cecb8c
Merge debug window Glade files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39673
diff
changeset
|
484 | widget_class, PidginDebugWindow, popover_invert); |
|
166671cecb8c
Merge debug window Glade files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39673
diff
changeset
|
485 | gtk_widget_class_bind_template_child( |
|
166671cecb8c
Merge debug window Glade files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39673
diff
changeset
|
486 | widget_class, PidginDebugWindow, popover_highlight); |
|
39156
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
487 | gtk_widget_class_bind_template_callback(widget_class, save_cb); |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
488 | gtk_widget_class_bind_template_callback(widget_class, clear_cb); |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
489 | gtk_widget_class_bind_template_callback(widget_class, pause_cb); |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
490 | gtk_widget_class_bind_template_callback(widget_class, |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
491 | regex_changed_cb); |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
492 | gtk_widget_class_bind_template_callback(widget_class, regex_popup_cb); |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
493 | gtk_widget_class_bind_template_callback(widget_class, |
|
41540
cb35b9603c41
Convert debug window to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41531
diff
changeset
|
494 | regex_key_released_cb); |
|
39156
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
495 | gtk_widget_class_bind_template_callback(widget_class, |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
496 | filter_level_changed_cb); |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
497 | } |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
498 | |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
499 | static void |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
500 | pidgin_debug_window_init(PidginDebugWindow *win) |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
501 | { |
|
39157
5f00c06934cc
Re-add autoscroll to debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39156
diff
changeset
|
502 | GtkTextIter end; |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
503 | |
|
39156
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
504 | gtk_widget_init_template(GTK_WIDGET(win)); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
505 | |
|
41604
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
506 | gtk_widget_set_parent(win->popover, win->filter); |
|
ca2d6ea565a6
Fix debug window on GTK4, plus other issues.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41540
diff
changeset
|
507 | |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
508 | g_settings_bind(settings, "width", win, "default-width", |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
509 | G_SETTINGS_BIND_DEFAULT); |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
510 | g_settings_bind(settings, "height", win, "default-height", |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
511 | G_SETTINGS_BIND_DEFAULT); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
512 | |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
513 | /* We purposely disable the toggle button here in case the regex setting |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
514 | * has an empty string. If it does not have an empty string, the change |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
515 | * signal will get called and make the toggle button sensitive. |
|
41642
eaf836c5f87b
Modernize debug window a little
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41618
diff
changeset
|
516 | */ |
|
eaf836c5f87b
Modernize debug window a little
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41618
diff
changeset
|
517 | gtk_widget_set_sensitive(win->filter, FALSE); |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
518 | g_settings_bind(settings, "active", win->filter, "active", |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
519 | G_SETTINGS_BIND_DEFAULT); |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
520 | g_settings_bind(settings, "regex", win->expression, "text", |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
521 | G_SETTINGS_BIND_DEFAULT); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
522 | |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
523 | /* This setting doesn't use binding because the uint-typed "selected" |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
524 | * property, and the enum-typed setting don't have a mapping. Since we have |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
525 | * to do some processing in these cases, just use manual setting instead. |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
526 | */ |
|
41642
eaf836c5f87b
Modernize debug window a little
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41618
diff
changeset
|
527 | gtk_drop_down_set_selected(GTK_DROP_DOWN(win->filterlevel), |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
528 | g_settings_get_enum(settings, "filterlevel")); |
|
39163
c38b26076992
debugwin: Make filter options into popover when available.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39162
diff
changeset
|
529 | |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
530 | g_settings_bind(settings, "invert", win->popover_invert, "active", |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
531 | G_SETTINGS_BIND_DEFAULT); |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
532 | g_settings_bind(settings, "highlight", win->popover_highlight, "active", |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
533 | G_SETTINGS_BIND_DEFAULT); |
|
41642
eaf836c5f87b
Modernize debug window a little
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41618
diff
changeset
|
534 | |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
535 | g_signal_connect(settings, "changed", |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
536 | G_CALLBACK(pidgin_debug_settings_changed_cb), win); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
537 | |
|
39160
709de61bd2d3
debugwin: Also filter new messages as they come in.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39159
diff
changeset
|
538 | /* The *start* and *end* marks bound the beginning and end of an |
|
709de61bd2d3
debugwin: Also filter new messages as they come in.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39159
diff
changeset
|
539 | insertion, used for filtering. The *end* mark is also used for |
|
709de61bd2d3
debugwin: Also filter new messages as they come in.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39159
diff
changeset
|
540 | auto-scrolling. */ |
|
39157
5f00c06934cc
Re-add autoscroll to debug window.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39156
diff
changeset
|
541 | gtk_text_buffer_get_end_iter(win->buffer, &end); |
|
39160
709de61bd2d3
debugwin: Also filter new messages as they come in.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39159
diff
changeset
|
542 | win->start_mark = gtk_text_buffer_create_mark(win->buffer, |
|
709de61bd2d3
debugwin: Also filter new messages as they come in.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39159
diff
changeset
|
543 | "start", &end, TRUE); |
|
709de61bd2d3
debugwin: Also filter new messages as they come in.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39159
diff
changeset
|
544 | win->end_mark = gtk_text_buffer_create_mark(win->buffer, |
|
709de61bd2d3
debugwin: Also filter new messages as they come in.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39159
diff
changeset
|
545 | "end", &end, FALSE); |
|
709de61bd2d3
debugwin: Also filter new messages as they come in.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39159
diff
changeset
|
546 | |
|
39154
ac28e667a064
Convert debug window to GtkTextView.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39153
diff
changeset
|
547 | /* Set active filter level in textview */ |
|
ac28e667a064
Convert debug window to GtkTextView.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39153
diff
changeset
|
548 | debug_window_set_filter_level(win, |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
549 | g_settings_get_enum(settings, "filterlevel")); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
550 | |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
551 | clear_cb(NULL, win); |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
552 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
553 | |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
554 | static void |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
555 | debug_visible_cb(GSettings *settings, char *key, G_GNUC_UNUSED gpointer data) |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
556 | { |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
557 | gboolean visible = g_settings_get_boolean(settings, key); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
558 | |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
559 | g_signal_handler_block(settings, pref_callback_id); |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
560 | if(visible) { |
|
41117
6dc7e403f8f2
Initialize Pidgin GLib logging handler earlier
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41110
diff
changeset
|
561 | pidgin_debug_window_show(); |
|
6dc7e403f8f2
Initialize Pidgin GLib logging handler earlier
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41110
diff
changeset
|
562 | } else { |
|
6dc7e403f8f2
Initialize Pidgin GLib logging handler earlier
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41110
diff
changeset
|
563 | pidgin_debug_window_hide(); |
|
6dc7e403f8f2
Initialize Pidgin GLib logging handler earlier
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41110
diff
changeset
|
564 | } |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
565 | g_signal_handler_unblock(settings, pref_callback_id); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
566 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
567 | |
|
41267
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
568 | static gboolean |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
569 | pidgin_debug_g_log_handler_cb(gpointer data) |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
570 | { |
|
41267
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
571 | PidginDebugMessage *message = data; |
|
41110
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
572 | GtkTextTag *level_tag = NULL; |
|
41250
e82d07ed6862
Remove purple_utf8_strftime
Gary Kramlich <grim@reaperworld.com>
parents:
41127
diff
changeset
|
573 | gchar *local_time = NULL; |
|
41110
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
574 | GtkTextIter end; |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
575 | gboolean scroll; |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
576 | |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
577 | if(debug_win == NULL || !g_settings_get_boolean(settings, "visible")) { |
|
41267
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
578 | /* The Debug Window may have been closed/disabled after the thread that |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
579 | * sent this message. */ |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
580 | g_date_time_unref(message->timestamp); |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
581 | g_free(message->domain); |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
582 | g_free(message->message); |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
583 | g_free(message); |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
584 | return FALSE; |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
585 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
586 | |
|
41110
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
587 | scroll = view_near_bottom(debug_win); |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
588 | gtk_text_buffer_get_end_iter(debug_win->buffer, &end); |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
589 | gtk_text_buffer_move_mark(debug_win->buffer, debug_win->start_mark, &end); |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
590 | |
|
41267
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
591 | level_tag = debug_win->tags.level[message->level]; |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
592 | local_time = g_date_time_format(message->timestamp, "(%H:%M:%S) "); |
|
41250
e82d07ed6862
Remove purple_utf8_strftime
Gary Kramlich <grim@reaperworld.com>
parents:
41127
diff
changeset
|
593 | |
|
41110
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
594 | gtk_text_buffer_insert_with_tags( |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
595 | debug_win->buffer, |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
596 | &end, |
|
41250
e82d07ed6862
Remove purple_utf8_strftime
Gary Kramlich <grim@reaperworld.com>
parents:
41127
diff
changeset
|
597 | local_time, |
|
41110
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
598 | -1, |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
599 | level_tag, |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
600 | debug_win->paused ? debug_win->tags.paused : NULL, |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
601 | NULL); |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
602 | |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
603 | if(!purple_strempty(message->domain)) { |
|
41110
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
604 | gtk_text_buffer_insert_with_tags( |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
605 | debug_win->buffer, |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
606 | &end, |
|
41267
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
607 | message->domain, |
|
41110
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
608 | -1, |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
609 | level_tag, |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
610 | debug_win->tags.category, |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
611 | debug_win->paused ? debug_win->tags.paused : NULL, |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
612 | NULL); |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
613 | gtk_text_buffer_insert_with_tags( |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
614 | debug_win->buffer, |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
615 | &end, |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
616 | ": ", |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
617 | 2, |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
618 | level_tag, |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
619 | debug_win->tags.category, |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
620 | debug_win->paused ? debug_win->tags.paused : NULL, |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
621 | NULL); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
622 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
623 | |
|
41110
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
624 | gtk_text_buffer_insert_with_tags( |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
625 | debug_win->buffer, |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
626 | &end, |
|
41267
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
627 | message->message, |
|
41110
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
628 | -1, |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
629 | level_tag, |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
630 | debug_win->paused ? debug_win->tags.paused : NULL, |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
631 | NULL); |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
632 | gtk_text_buffer_insert_with_tags( |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
633 | debug_win->buffer, |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
634 | &end, |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
635 | "\n", |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
636 | 1, |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
637 | level_tag, |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
638 | debug_win->paused ? debug_win->tags.paused : NULL, |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
639 | NULL); |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
640 | |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
641 | if(g_settings_get_boolean(settings, "active") && debug_win->regex) { |
|
41110
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
642 | /* Filter out any new messages. */ |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
643 | GtkTextIter start; |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
644 | |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
645 | gtk_text_buffer_get_iter_at_mark(debug_win->buffer, &start, |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
646 | debug_win->start_mark); |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
647 | gtk_text_buffer_get_iter_at_mark(debug_win->buffer, &end, |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
648 | debug_win->end_mark); |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
649 | |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
650 | do_regex(debug_win, &start, &end); |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
651 | } |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
652 | |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
653 | if (scroll) { |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
654 | gtk_text_view_scroll_to_mark( |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
655 | GTK_TEXT_VIEW(debug_win->textview), |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
656 | debug_win->end_mark, 0, TRUE, 0, 1); |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
657 | } |
|
cbfcefb3a34d
Route GLib logging directly to the Pidgin debug window
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
41030
diff
changeset
|
658 | |
|
41267
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
659 | g_free(local_time); |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
660 | g_date_time_unref(message->timestamp); |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
661 | g_free(message->domain); |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
662 | g_free(message->message); |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
663 | g_free(message); |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
664 | |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
665 | return FALSE; |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
666 | } |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
667 | |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
668 | static GLogWriterOutput |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
669 | pidgin_debug_g_log_handler(GLogLevelFlags log_level, const GLogField *fields, |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
670 | gsize n_fields, G_GNUC_UNUSED gpointer user_data) |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
671 | { |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
672 | PidginDebugMessage *message = NULL; |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
673 | gsize i; |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
674 | |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
675 | if (debug_win == NULL) { |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
676 | if (debug_print_enabled) { |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
677 | return g_log_writer_default(log_level, fields, n_fields, user_data); |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
678 | } else { |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
679 | return G_LOG_WRITER_UNHANDLED; |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
680 | } |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
681 | } |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
682 | |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
683 | message = g_new0(PidginDebugMessage, 1); |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
684 | message->timestamp = g_date_time_new_now_local(); |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
685 | |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
686 | for (i = 0; i < n_fields; i++) { |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
687 | if (purple_strequal(fields[i].key, "GLIB_DOMAIN")) { |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
688 | message->domain = g_strdup(fields[i].value); |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
689 | } else if (purple_strequal(fields[i].key, "MESSAGE")) { |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
690 | message->message = g_strdup(fields[i].value); |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
691 | } |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
692 | } |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
693 | |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
694 | if((log_level & G_LOG_LEVEL_ERROR) != 0) { |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
695 | message->level = PURPLE_DEBUG_ERROR; |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
696 | } else if((log_level & G_LOG_LEVEL_CRITICAL) != 0) { |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
697 | message->level = PURPLE_DEBUG_FATAL; |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
698 | } else if((log_level & G_LOG_LEVEL_WARNING) != 0) { |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
699 | message->level = PURPLE_DEBUG_WARNING; |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
700 | } else if((log_level & G_LOG_LEVEL_MESSAGE) != 0) { |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
701 | message->level = PURPLE_DEBUG_INFO; |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
702 | } else if((log_level & G_LOG_LEVEL_INFO) != 0) { |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
703 | message->level = PURPLE_DEBUG_INFO; |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
704 | } else if((log_level & G_LOG_LEVEL_DEBUG) != 0) { |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
705 | message->level = PURPLE_DEBUG_MISC; |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
706 | } else { |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
707 | message->level = PURPLE_DEBUG_MISC; |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
708 | } |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
709 | |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
710 | g_timeout_add(0, pidgin_debug_g_log_handler_cb, message); |
|
330cfcc1404d
Fix Pidgin debug window with threaded logging
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41250
diff
changeset
|
711 | |
|
41127
cd297cfc56f3
Move debug command-line option to the UIs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41120
diff
changeset
|
712 | if (debug_print_enabled) { |
|
cd297cfc56f3
Move debug command-line option to the UIs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41120
diff
changeset
|
713 | return g_log_writer_default(log_level, fields, n_fields, user_data); |
|
cd297cfc56f3
Move debug command-line option to the UIs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41120
diff
changeset
|
714 | } else { |
|
cd297cfc56f3
Move debug command-line option to the UIs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41120
diff
changeset
|
715 | return G_LOG_WRITER_HANDLED; |
|
cd297cfc56f3
Move debug command-line option to the UIs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41120
diff
changeset
|
716 | } |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
717 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
718 | |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
719 | void |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
720 | pidgin_debug_window_show(void) |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
721 | { |
|
39156
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
722 | if (debug_win == NULL) { |
|
41748
fb13b6986266
Make the debug window transient for whatever window created it.
Gary Kramlich <grim@reaperworld.com>
parents:
41642
diff
changeset
|
723 | GApplication *application = NULL; |
|
fb13b6986266
Make the debug window transient for whatever window created it.
Gary Kramlich <grim@reaperworld.com>
parents:
41642
diff
changeset
|
724 | PidginApplication *pidgin_application = NULL; |
|
fb13b6986266
Make the debug window transient for whatever window created it.
Gary Kramlich <grim@reaperworld.com>
parents:
41642
diff
changeset
|
725 | GtkWindow *parent = NULL; |
|
fb13b6986266
Make the debug window transient for whatever window created it.
Gary Kramlich <grim@reaperworld.com>
parents:
41642
diff
changeset
|
726 | |
|
fb13b6986266
Make the debug window transient for whatever window created it.
Gary Kramlich <grim@reaperworld.com>
parents:
41642
diff
changeset
|
727 | application = g_application_get_default(); |
|
fb13b6986266
Make the debug window transient for whatever window created it.
Gary Kramlich <grim@reaperworld.com>
parents:
41642
diff
changeset
|
728 | pidgin_application = PIDGIN_APPLICATION(application); |
|
fb13b6986266
Make the debug window transient for whatever window created it.
Gary Kramlich <grim@reaperworld.com>
parents:
41642
diff
changeset
|
729 | parent = pidgin_application_get_active_window(pidgin_application); |
|
fb13b6986266
Make the debug window transient for whatever window created it.
Gary Kramlich <grim@reaperworld.com>
parents:
41642
diff
changeset
|
730 | |
|
39156
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
731 | debug_win = PIDGIN_DEBUG_WINDOW( |
|
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
732 | g_object_new(PIDGIN_TYPE_DEBUG_WINDOW, NULL)); |
|
41748
fb13b6986266
Make the debug window transient for whatever window created it.
Gary Kramlich <grim@reaperworld.com>
parents:
41642
diff
changeset
|
733 | |
|
fb13b6986266
Make the debug window transient for whatever window created it.
Gary Kramlich <grim@reaperworld.com>
parents:
41642
diff
changeset
|
734 | gtk_window_set_transient_for(GTK_WINDOW(debug_win), parent); |
|
39156
b081408dc69d
Convert debug window to glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39155
diff
changeset
|
735 | } |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
736 | |
|
42858
a227c1f6c299
Use gtk_window_present instead of gtk_window_present_with_time
Gary Kramlich <grim@reaperworld.com>
parents:
42836
diff
changeset
|
737 | gtk_window_present(GTK_WINDOW(debug_win)); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
738 | |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
739 | g_settings_set_boolean(settings, "visible", TRUE); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
740 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
741 | |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
742 | void |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
743 | pidgin_debug_window_hide(void) |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
744 | { |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
745 | if (debug_win != NULL) { |
|
41540
cb35b9603c41
Convert debug window to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41531
diff
changeset
|
746 | gtk_window_destroy(GTK_WINDOW(debug_win)); |
|
39152
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
747 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
748 | } |
|
37144ff35a91
Rename gtkdebug -> pidgindebug.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
749 | |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
750 | GSettings * |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
751 | pidgin_debug_get_settings(void) |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
752 | { |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
753 | return settings; |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
754 | } |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
755 | |
|
41117
6dc7e403f8f2
Initialize Pidgin GLib logging handler earlier
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41110
diff
changeset
|
756 | void |
|
6dc7e403f8f2
Initialize Pidgin GLib logging handler earlier
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41110
diff
changeset
|
757 | pidgin_debug_init_handler(void) |
|
6dc7e403f8f2
Initialize Pidgin GLib logging handler earlier
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41110
diff
changeset
|
758 | { |
|
6dc7e403f8f2
Initialize Pidgin GLib logging handler earlier
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41110
diff
changeset
|
759 | g_log_set_writer_func(pidgin_debug_g_log_handler, NULL, NULL); |
|
6dc7e403f8f2
Initialize Pidgin GLib logging handler earlier
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41110
diff
changeset
|
760 | } |
|
6dc7e403f8f2
Initialize Pidgin GLib logging handler earlier
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41110
diff
changeset
|
761 | |
|
6dc7e403f8f2
Initialize Pidgin GLib logging handler earlier
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41110
diff
changeset
|
762 | void |
|
41127
cd297cfc56f3
Move debug command-line option to the UIs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41120
diff
changeset
|
763 | pidgin_debug_set_print_enabled(gboolean enable) |
|
cd297cfc56f3
Move debug command-line option to the UIs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41120
diff
changeset
|
764 | { |
|
cd297cfc56f3
Move debug command-line option to the UIs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41120
diff
changeset
|
765 | debug_print_enabled = enable; |
|
cd297cfc56f3
Move debug command-line option to the UIs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41120
diff
changeset
|
766 | } |
|
cd297cfc56f3
Move debug command-line option to the UIs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41120
diff
changeset
|
767 | |
|
cd297cfc56f3
Move debug command-line option to the UIs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41120
diff
changeset
|
768 | void |
|
41117
6dc7e403f8f2
Initialize Pidgin GLib logging handler earlier
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41110
diff
changeset
|
769 | pidgin_debug_init(void) |
|
6dc7e403f8f2
Initialize Pidgin GLib logging handler earlier
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41110
diff
changeset
|
770 | { |
|
6dc7e403f8f2
Initialize Pidgin GLib logging handler earlier
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41110
diff
changeset
|
771 | /* Debug window preferences. */ |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
772 | GSettingsBackend *backend = purple_core_get_settings_backend(); |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
773 | settings = g_settings_new_with_backend("im.pidgin.Pidgin3.Debug", backend); |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
774 | pref_callback_id = g_signal_connect(settings, "changed::visible", |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
775 | G_CALLBACK(debug_visible_cb), NULL); |
|
41117
6dc7e403f8f2
Initialize Pidgin GLib logging handler earlier
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41110
diff
changeset
|
776 | } |
|
6dc7e403f8f2
Initialize Pidgin GLib logging handler earlier
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41110
diff
changeset
|
777 | |
|
6dc7e403f8f2
Initialize Pidgin GLib logging handler earlier
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41110
diff
changeset
|
778 | void |
|
6dc7e403f8f2
Initialize Pidgin GLib logging handler earlier
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41110
diff
changeset
|
779 | pidgin_debug_uninit(void) |
|
6dc7e403f8f2
Initialize Pidgin GLib logging handler earlier
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41110
diff
changeset
|
780 | { |
|
43009
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
781 | g_clear_signal_handler(&pref_callback_id, settings); |
|
df1a36761198
Port Debug Window to GSettings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42858
diff
changeset
|
782 | g_clear_object(&settings); |
|
41117
6dc7e403f8f2
Initialize Pidgin GLib logging handler earlier
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41110
diff
changeset
|
783 | } |