pidgin/gtk3compat.h

Tue, 10 Sep 2013 23:15:56 +0200

author
Tomasz Wasilczyk <twasilczyk@pidgin.im>
date
Tue, 10 Sep 2013 23:15:56 +0200
changeset 34334
f5f3a9945a6d
parent 33892
ef97228bc5f0
child 35451
206524351826
permissions
-rw-r--r--

Request API refactoring: switch purple_request_folder to PurpleRequestCommonParameters

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