pidgin/gtk3compat.h

Tue, 07 May 2013 05:04:46 -0400

author
Elliott Sales de Andrade <qulogic@pidgin.im>
date
Tue, 07 May 2013 05:04:46 -0400
changeset 33923
0fcc5635daba
parent 33892
ef97228bc5f0
child 35451
206524351826
permissions
-rw-r--r--

Rewrite debug window filter in JS.

Note, this does cause a couple regressions, but they are probably not
that big a deal. First, the JS regular expression syntax is slightly
different. Second, the JS regex API lacks a way to reliably determine
the location of matched groups, so we can't highlight just the groups
and must highlight the entire expression.

I suspect that none of our users ever had to use any fancy regex in the
debug window, and that most of our developers didn't even know it could
be done. So I doubt these regressions will cause much pain.

33170
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1 /* pidgin
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
2 *
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
3 * Pidgin is the legal property of its developers, whose names are too numerous
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
4 * to list here. Please refer to the COPYRIGHT file distributed with this
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
5 * source distribution.
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
6 *
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
10 * (at your option) any later version.
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
11 *
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
15 * GNU General Public License for more details.
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
16 *
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
18 * along with this program; if not, write to the Free Software
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
20 */
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
21 #ifndef _PIDGINGTK3COMPAT_H_
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
22 #define _PIDGINGTK3COMPAT_H_
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
23
33185
6e5188b4f928 Remove some sneaky trailing whitespace.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33180
diff changeset
24 /* This file is internal to Pidgin. Do not use!
33170
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
25 * Also, any public API should not depend on this file.
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
26 */
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
27
33275
8da9d2ec671d Use new GtkFontChooser where available.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33268
diff changeset
28 #if !GTK_CHECK_VERSION(3,2,0)
8da9d2ec671d Use new GtkFontChooser where available.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33268
diff changeset
29
8da9d2ec671d Use new GtkFontChooser where available.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33268
diff changeset
30 #define GTK_FONT_CHOOSER GTK_FONT_SELECTION_DIALOG
8da9d2ec671d Use new GtkFontChooser where available.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33268
diff changeset
31 #define gtk_font_chooser_get_font gtk_font_selection_dialog_get_font_name
8da9d2ec671d Use new GtkFontChooser where available.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33268
diff changeset
32 #define gtk_font_chooser_set_font gtk_font_selection_dialog_set_font_name
8da9d2ec671d Use new GtkFontChooser where available.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33268
diff changeset
33
33892
ef97228bc5f0 Fix most of warnings for gtk2 and linux
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33683
diff changeset
34 static inline GtkWidget * gtk_font_chooser_dialog_new(const gchar *title,
ef97228bc5f0 Fix most of warnings for gtk2 and linux
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33683
diff changeset
35 GtkWindow *parent)
ef97228bc5f0 Fix most of warnings for gtk2 and linux
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33683
diff changeset
36 {
ef97228bc5f0 Fix most of warnings for gtk2 and linux
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33683
diff changeset
37 return gtk_font_selection_dialog_new(title);
ef97228bc5f0 Fix most of warnings for gtk2 and linux
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33683
diff changeset
38 }
ef97228bc5f0 Fix most of warnings for gtk2 and linux
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33683
diff changeset
39
33170
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
40 #if !GTK_CHECK_VERSION(3,0,0)
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
41
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
42 #define gdk_x11_window_get_xid GDK_WINDOW_XWINDOW
33277
d6229108ce71 Remove deprecated gtk_widget_size_request calls.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33275
diff changeset
43 #define gtk_widget_get_preferred_size(x,y,z) gtk_widget_size_request(x,z)
33170
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
44
33523
fce9167b25c2 Fix compilation on GTK2
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33277
diff changeset
45 #ifdef GDK_WINDOWING_X11
fce9167b25c2 Fix compilation on GTK2
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33277
diff changeset
46 #define GDK_IS_X11_WINDOW(window) TRUE
fce9167b25c2 Fix compilation on GTK2
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33277
diff changeset
47 #endif
fce9167b25c2 Fix compilation on GTK2
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33277
diff changeset
48 #ifdef GDK_WINDOWING_WIN32
fce9167b25c2 Fix compilation on GTK2
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33277
diff changeset
49 #define GDK_IS_WIN32_WINDOW(window) TRUE
fce9167b25c2 Fix compilation on GTK2
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33277
diff changeset
50 #endif
fce9167b25c2 Fix compilation on GTK2
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33277
diff changeset
51 #ifdef GDK_WINDOWING_QUARTZ
fce9167b25c2 Fix compilation on GTK2
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33277
diff changeset
52 #define GDK_IS_QUARTZ_WINDOW(window) TRUE
fce9167b25c2 Fix compilation on GTK2
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33277
diff changeset
53 #endif
fce9167b25c2 Fix compilation on GTK2
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33277
diff changeset
54
33170
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
55 #if !GTK_CHECK_VERSION(2,24,0)
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
56
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
57 #define gdk_x11_set_sm_client_id gdk_set_sm_client_id
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
58 #define gdk_window_get_display gdk_drawable_get_display
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
59 #define GtkComboBoxText GtkComboBox
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
60 #define GTK_COMBO_BOX_TEXT GTK_COMBO_BOX
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
61 #define gtk_combo_box_text_new gtk_combo_box_new_text
33268
a24713d9bbb3 Fix GTK+3 compile.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33185
diff changeset
62 #define gtk_combo_box_text_new_with_entry gtk_combo_box_entry_new_text
33170
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
63 #define gtk_combo_box_text_append_text gtk_combo_box_append_text
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
64 #define gtk_combo_box_text_get_active_text gtk_combo_box_get_active_text
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
65 #define gtk_combo_box_text_remove gtk_combo_box_remove_text
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
66
33179
49992d98f392 Fix fallback function inlining.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33170
diff changeset
67 static inline gint gdk_window_get_width(GdkWindow *x)
33170
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
68 {
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
69 gint w;
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
70 gdk_drawable_get_size(GDK_DRAWABLE(x), &w, NULL);
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
71 return w;
33185
6e5188b4f928 Remove some sneaky trailing whitespace.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33180
diff changeset
72 }
33170
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
73
33179
49992d98f392 Fix fallback function inlining.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33170
diff changeset
74 static inline gint gdk_window_get_height(GdkWindow *x)
33170
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
75 {
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
76 gint h;
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
77 gdk_drawable_get_size(GDK_DRAWABLE(x), NULL, &h);
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
78 return h;
33185
6e5188b4f928 Remove some sneaky trailing whitespace.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33180
diff changeset
79 }
33170
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
80
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
81 #if !GTK_CHECK_VERSION(2,22,0)
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
82
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
83 #define gdk_drag_context_get_actions(x) (x)->action
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
84 #define gdk_drag_context_get_suggested_action(x) (x)->suggested_action
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
85 #define gtk_text_view_get_vadjustment(x) (x)->vadjustment
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
86 #define gtk_font_selection_dialog_get_font_selection(x) (x)->fontsel
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
87
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
88 #if !GTK_CHECK_VERSION(2,20,0)
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
89
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
90 #define gtk_widget_get_mapped GTK_WIDGET_MAPPED
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
91 #define gtk_widget_set_mapped(x,y) do { \
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
92 if (y) \
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
93 GTK_WIDGET_SET_FLAGS(x, GTK_MAPPED); \
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
94 else \
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
95 GTK_WIDGET_UNSET_FLAGS(x, GTK_MAPPED); \
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
96 } while(0)
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
97 #define gtk_widget_get_realized GTK_WIDGET_REALIZED
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
98 #define gtk_widget_set_realized(x,y) do { \
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
99 if (y) \
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
100 GTK_WIDGET_SET_FLAGS(x, GTK_REALIZED); \
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
101 else \
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
102 GTK_WIDGET_UNSET_FLAGS(x, GTK_REALIZED); \
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
103 } while(0)
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
104
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
105 #endif /* 2.20.0 */
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
106
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
107 #endif /* 2.22.0 */
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
108
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
109 #endif /* 2.24.0 */
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
110
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
111 #endif /* 3.0.0 */
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
112
33275
8da9d2ec671d Use new GtkFontChooser where available.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33268
diff changeset
113 #endif /* 3.2.0 */
8da9d2ec671d Use new GtkFontChooser where available.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33268
diff changeset
114
33170
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
115 #endif /* _PIDGINGTK3COMPAT_H_ */
ce4447562d64 Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
116

mercurial