diff options
author | Richard Purdie <richard@openedhand.com> | 2007-01-26 15:48:20 +0000 |
---|---|---|
committer | Richard Purdie <richard@openedhand.com> | 2007-01-26 15:48:20 +0000 |
commit | 9055091c986a735c1c862653a0d92d807fea57a5 (patch) | |
tree | 4f60418349a642ab6ae21e820d0cb7c472f3eb08 /meta/packages/gtk+ | |
parent | 650a05a5dc9ff308fabc629dcae881b2df794009 (diff) | |
download | poky-9055091c986a735c1c862653a0d92d807fea57a5.tar.gz |
gtk+: Add 2.6.10 from OE.dev
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1208 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/gtk+')
-rw-r--r-- | meta/packages/gtk+/gtk+-2.6.10/automake-lossage.patch | 24 | ||||
-rw-r--r-- | meta/packages/gtk+/gtk+-2.6.10/disable-tooltips.patch | 11 | ||||
-rw-r--r-- | meta/packages/gtk+/gtk+-2.6.10/gtk+-handhelds.patch | 236 | ||||
-rw-r--r-- | meta/packages/gtk+/gtk+-2.6.10/gtklabel-resize-patch | 10 | ||||
-rw-r--r-- | meta/packages/gtk+/gtk+-2.6.10/hardcoded_libtool.patch | 29 | ||||
-rw-r--r-- | meta/packages/gtk+/gtk+-2.6.10/help.patch | 158 | ||||
-rw-r--r-- | meta/packages/gtk+/gtk+-2.6.10/menu-deactivate.patch | 50 | ||||
-rw-r--r-- | meta/packages/gtk+/gtk+-2.6.10/menu-styling.patch | 22 | ||||
-rw-r--r-- | meta/packages/gtk+/gtk+-2.6.10/no-demos.patch | 10 | ||||
-rw-r--r-- | meta/packages/gtk+/gtk+-2.6.10/no-xwc.patch | 151 | ||||
-rw-r--r-- | meta/packages/gtk+/gtk+-2.6.10/scroll-timings.patch | 15 | ||||
-rw-r--r-- | meta/packages/gtk+/gtk+-2.6.10/single-click.patch | 54 | ||||
-rw-r--r-- | meta/packages/gtk+/gtk+-2.6.10/small-gtkfilesel.patch | 267 | ||||
-rw-r--r-- | meta/packages/gtk+/gtk+-2.6.10/spinbutton.patch | 128 | ||||
-rw-r--r-- | meta/packages/gtk+/gtk+-2.6.10/xsettings.patch | 16 | ||||
-rw-r--r-- | meta/packages/gtk+/gtk+_2.6.10.bb | 104 |
16 files changed, 1285 insertions, 0 deletions
diff --git a/meta/packages/gtk+/gtk+-2.6.10/automake-lossage.patch b/meta/packages/gtk+/gtk+-2.6.10/automake-lossage.patch new file mode 100644 index 0000000000..0d423ddbb9 --- /dev/null +++ b/meta/packages/gtk+/gtk+-2.6.10/automake-lossage.patch | |||
@@ -0,0 +1,24 @@ | |||
1 | --- gtk+-2.4.1/docs/tutorial/Makefile.am~ 2003-05-06 22:54:20.000000000 +0100 | ||
2 | +++ gtk+-2.4.1/docs/tutorial/Makefile.am 2004-05-08 12:31:41.000000000 +0100 | ||
3 | @@ -52,21 +52,5 @@ | ||
4 | |||
5 | dist-hook: html | ||
6 | cp -Rp $(srcdir)/html $(distdir) | ||
7 | -else | ||
8 | -html: | ||
9 | - echo "***" | ||
10 | - echo "*** Warning: Tutorial not built" | ||
11 | - echo "***" | ||
12 | - | ||
13 | -pdf: | ||
14 | - echo "***" | ||
15 | - echo "*** Warning: Tutorial not built" | ||
16 | - echo "***" | ||
17 | - | ||
18 | -dist-hook: | ||
19 | - echo "***" | ||
20 | - echo "*** Warning: Tutorial not built" | ||
21 | - echo "*** DISTRIBUTION IS INCOMPLETE" | ||
22 | - echo "***" | ||
23 | endif | ||
24 | |||
diff --git a/meta/packages/gtk+/gtk+-2.6.10/disable-tooltips.patch b/meta/packages/gtk+/gtk+-2.6.10/disable-tooltips.patch new file mode 100644 index 0000000000..d71d839c3c --- /dev/null +++ b/meta/packages/gtk+/gtk+-2.6.10/disable-tooltips.patch | |||
@@ -0,0 +1,11 @@ | |||
1 | --- gtk+-2.4.3/gtk/gtktooltips.c.old 2004-07-04 18:52:04.000000000 +0100 | ||
2 | +++ gtk+-2.4.3/gtk/gtktooltips.c 2004-07-04 18:52:08.000000000 +0100 | ||
3 | @@ -118,7 +118,7 @@ | ||
4 | tooltips->tips_data_list = NULL; | ||
5 | |||
6 | tooltips->delay = DEFAULT_DELAY; | ||
7 | - tooltips->enabled = TRUE; | ||
8 | + tooltips->enabled = FALSE; | ||
9 | tooltips->timer_tag = 0; | ||
10 | tooltips->use_sticky_delay = FALSE; | ||
11 | tooltips->last_popdown.tv_sec = -1; | ||
diff --git a/meta/packages/gtk+/gtk+-2.6.10/gtk+-handhelds.patch b/meta/packages/gtk+/gtk+-2.6.10/gtk+-handhelds.patch new file mode 100644 index 0000000000..20481f059b --- /dev/null +++ b/meta/packages/gtk+/gtk+-2.6.10/gtk+-handhelds.patch | |||
@@ -0,0 +1,236 @@ | |||
1 | --- gtk+-2.4.1/gtk/gtkarrow.c 2004-03-13 09:51:13.000000000 +1100 | ||
2 | +++ gtk+-2.4.1/gtk/gtkarrow.c 2004-05-26 14:52:17.000000000 +1000 | ||
3 | @@ -29,7 +29,7 @@ | ||
4 | #include "gtkarrow.h" | ||
5 | #include "gtkintl.h" | ||
6 | |||
7 | -#define MIN_ARROW_SIZE 15 | ||
8 | +#define MIN_ARROW_SIZE 7 | ||
9 | |||
10 | enum { | ||
11 | PROP_0, | ||
12 | @@ -53,6 +53,8 @@ | ||
13 | guint prop_id, | ||
14 | GValue *value, | ||
15 | GParamSpec *pspec); | ||
16 | +static void gtk_arrow_size_request (GtkWidget *arrow, | ||
17 | + GtkRequisition *requisition); | ||
18 | |||
19 | GType | ||
20 | gtk_arrow_get_type (void) | ||
21 | @@ -111,6 +113,7 @@ | ||
22 | G_PARAM_READABLE | G_PARAM_WRITABLE)); | ||
23 | |||
24 | widget_class->expose_event = gtk_arrow_expose; | ||
25 | + widget_class->size_request = gtk_arrow_size_request; | ||
26 | } | ||
27 | |||
28 | static void | ||
29 | @@ -166,13 +169,18 @@ | ||
30 | } | ||
31 | |||
32 | static void | ||
33 | +gtk_arrow_size_request (GtkWidget *arrow, | ||
34 | + GtkRequisition *requisition) | ||
35 | +{ | ||
36 | + requisition->width = MIN_ARROW_SIZE + GTK_MISC (arrow)->xpad * 2; | ||
37 | + requisition->height = MIN_ARROW_SIZE + GTK_MISC (arrow)->ypad * 2; | ||
38 | +} | ||
39 | + | ||
40 | +static void | ||
41 | gtk_arrow_init (GtkArrow *arrow) | ||
42 | { | ||
43 | GTK_WIDGET_SET_FLAGS (arrow, GTK_NO_WINDOW); | ||
44 | |||
45 | - GTK_WIDGET (arrow)->requisition.width = MIN_ARROW_SIZE + GTK_MISC (arrow)->xpad * 2; | ||
46 | - GTK_WIDGET (arrow)->requisition.height = MIN_ARROW_SIZE + GTK_MISC (arrow)->ypad * 2; | ||
47 | - | ||
48 | arrow->arrow_type = GTK_ARROW_RIGHT; | ||
49 | arrow->shadow_type = GTK_SHADOW_OUT; | ||
50 | } | ||
51 | --- gtk+-2.4.1/gtk/gtkcalendar.c 2004-03-06 14:37:26.000000000 +1100 | ||
52 | +++ gtk+-2.4.1/gtk/gtkcalendar.c 2004-05-26 14:58:57.000000000 +1000 | ||
53 | @@ -340,6 +340,9 @@ | ||
54 | static void gtk_calendar_select_and_focus_day (GtkCalendar *calendar, | ||
55 | guint day); | ||
56 | |||
57 | +static void gtk_calendar_do_select_day (GtkCalendar *calendar, | ||
58 | + guint day); | ||
59 | + | ||
60 | static void gtk_calendar_paint_arrow (GtkWidget *widget, | ||
61 | guint arrow); | ||
62 | static void gtk_calendar_paint_day_num (GtkWidget *widget, | ||
63 | @@ -861,13 +864,13 @@ | ||
64 | if (month_len < calendar->selected_day) | ||
65 | { | ||
66 | calendar->selected_day = 0; | ||
67 | - gtk_calendar_select_day (calendar, month_len); | ||
68 | + gtk_calendar_do_select_day (calendar, month_len); | ||
69 | } | ||
70 | else | ||
71 | { | ||
72 | if (calendar->selected_day < 0) | ||
73 | calendar->selected_day = calendar->selected_day + 1 + month_length[leap (calendar->year)][calendar->month + 1]; | ||
74 | - gtk_calendar_select_day (calendar, calendar->selected_day); | ||
75 | + gtk_calendar_do_select_day (calendar, calendar->selected_day); | ||
76 | } | ||
77 | |||
78 | gtk_widget_queue_draw (GTK_WIDGET (calendar)); | ||
79 | @@ -908,10 +911,10 @@ | ||
80 | if (month_len < calendar->selected_day) | ||
81 | { | ||
82 | calendar->selected_day = 0; | ||
83 | - gtk_calendar_select_day (calendar, month_len); | ||
84 | + gtk_calendar_do_select_day (calendar, month_len); | ||
85 | } | ||
86 | else | ||
87 | - gtk_calendar_select_day (calendar, calendar->selected_day); | ||
88 | + gtk_calendar_do_select_day (calendar, calendar->selected_day); | ||
89 | |||
90 | gtk_widget_queue_draw (GTK_WIDGET (calendar)); | ||
91 | gtk_calendar_thaw (calendar); | ||
92 | @@ -939,10 +942,10 @@ | ||
93 | if (month_len < calendar->selected_day) | ||
94 | { | ||
95 | calendar->selected_day = 0; | ||
96 | - gtk_calendar_select_day (calendar, month_len); | ||
97 | + gtk_calendar_do_select_day (calendar, month_len); | ||
98 | } | ||
99 | else | ||
100 | - gtk_calendar_select_day (calendar, calendar->selected_day); | ||
101 | + gtk_calendar_do_select_day (calendar, calendar->selected_day); | ||
102 | |||
103 | gtk_widget_queue_draw (GTK_WIDGET (calendar)); | ||
104 | gtk_calendar_thaw (calendar); | ||
105 | @@ -974,10 +977,10 @@ | ||
106 | if (month_len < calendar->selected_day) | ||
107 | { | ||
108 | calendar->selected_day = 0; | ||
109 | - gtk_calendar_select_day (calendar, month_len); | ||
110 | + gtk_calendar_do_select_day (calendar, month_len); | ||
111 | } | ||
112 | else | ||
113 | - gtk_calendar_select_day (calendar, calendar->selected_day); | ||
114 | + gtk_calendar_do_select_day (calendar, calendar->selected_day); | ||
115 | |||
116 | gtk_widget_queue_draw (GTK_WIDGET (calendar)); | ||
117 | gtk_calendar_thaw (calendar); | ||
118 | @@ -2480,9 +2483,9 @@ | ||
119 | return TRUE; | ||
120 | } | ||
121 | |||
122 | -void | ||
123 | -gtk_calendar_select_day (GtkCalendar *calendar, | ||
124 | - guint day) | ||
125 | +static void | ||
126 | +gtk_calendar_do_select_day (GtkCalendar *calendar, | ||
127 | + guint day) | ||
128 | { | ||
129 | g_return_if_fail (GTK_IS_CALENDAR (calendar)); | ||
130 | g_return_if_fail (day <= 31); | ||
131 | @@ -2499,6 +2502,13 @@ | ||
132 | if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar))) | ||
133 | gtk_calendar_paint_day_num (GTK_WIDGET (calendar), selected_day); | ||
134 | } | ||
135 | +} | ||
136 | + | ||
137 | +void | ||
138 | +gtk_calendar_select_day (GtkCalendar *calendar, | ||
139 | + guint day) | ||
140 | +{ | ||
141 | + gtk_calendar_do_select_day (calendar, day); | ||
142 | |||
143 | calendar->selected_day = day; | ||
144 | |||
145 | --- gtk+-2.4.1/gtk/gtkentry.c 2004-04-22 08:08:08.000000000 +1000 | ||
146 | +++ gtk+-2.4.1/gtk/gtkentry.c 2004-05-26 14:52:17.000000000 +1000 | ||
147 | @@ -557,6 +557,15 @@ | ||
148 | 0.0, | ||
149 | G_PARAM_READABLE | G_PARAM_WRITABLE)); | ||
150 | |||
151 | + gtk_widget_class_install_style_property (widget_class, | ||
152 | + g_param_spec_int ("min_width", | ||
153 | + _("Minimum width"), | ||
154 | + _("Minimum width of the entry field"), | ||
155 | + 0, | ||
156 | + G_MAXINT, | ||
157 | + MIN_ENTRY_WIDTH, | ||
158 | + G_PARAM_READABLE)); | ||
159 | + | ||
160 | signals[POPULATE_POPUP] = | ||
161 | g_signal_new ("populate_popup", | ||
162 | G_OBJECT_CLASS_TYPE (gobject_class), | ||
163 | @@ -1124,7 +1133,7 @@ | ||
164 | { | ||
165 | GtkEntry *entry = GTK_ENTRY (widget); | ||
166 | PangoFontMetrics *metrics; | ||
167 | - gint xborder, yborder; | ||
168 | + gint xborder, yborder, min_width; | ||
169 | PangoContext *context; | ||
170 | |||
171 | gtk_widget_ensure_style (widget); | ||
172 | @@ -1140,9 +1149,11 @@ | ||
173 | |||
174 | xborder += INNER_BORDER; | ||
175 | yborder += INNER_BORDER; | ||
176 | - | ||
177 | + | ||
178 | + gtk_widget_style_get (widget, "min_width", &min_width, NULL); | ||
179 | + | ||
180 | if (entry->width_chars < 0) | ||
181 | - requisition->width = MIN_ENTRY_WIDTH + xborder * 2; | ||
182 | + requisition->width = min_width + xborder * 2; | ||
183 | else | ||
184 | { | ||
185 | gint char_width = pango_font_metrics_get_approximate_char_width (metrics); | ||
186 | --- gtk+-2.4.1/gtk/gtkrange.c 2004-03-06 14:38:08.000000000 +1100 | ||
187 | +++ gtk+-2.4.1/gtk/gtkrange.c 2004-05-26 14:52:17.000000000 +1000 | ||
188 | @@ -180,6 +180,7 @@ | ||
189 | static GtkWidgetClass *parent_class = NULL; | ||
190 | static guint signals[LAST_SIGNAL]; | ||
191 | |||
192 | +static GdkAtom recognize_protocols_atom, atom_atom; | ||
193 | |||
194 | GType | ||
195 | gtk_range_get_type (void) | ||
196 | @@ -220,6 +221,9 @@ | ||
197 | object_class = (GtkObjectClass*) class; | ||
198 | widget_class = (GtkWidgetClass*) class; | ||
199 | |||
200 | + recognize_protocols_atom = gdk_atom_intern ("RECOGNIZE_PROTOCOLS", FALSE); | ||
201 | + atom_atom = gdk_atom_intern ("ATOM", FALSE); | ||
202 | + | ||
203 | parent_class = g_type_class_peek_parent (class); | ||
204 | |||
205 | gobject_class->set_property = gtk_range_set_property; | ||
206 | @@ -815,6 +819,12 @@ | ||
207 | &attributes, attributes_mask); | ||
208 | gdk_window_set_user_data (range->event_window, range); | ||
209 | |||
210 | + gdk_property_change (range->event_window, | ||
211 | + recognize_protocols_atom, | ||
212 | + atom_atom, | ||
213 | + 32, GDK_PROP_MODE_REPLACE, | ||
214 | + NULL, 0); | ||
215 | + | ||
216 | widget->style = gtk_style_attach (widget->style, widget->window); | ||
217 | } | ||
218 | |||
219 | @@ -1186,7 +1196,7 @@ | ||
220 | |||
221 | /* ignore presses when we're already doing something else. */ | ||
222 | if (range->layout->grab_location != MOUSE_OUTSIDE) | ||
223 | - return FALSE; | ||
224 | + return TRUE; | ||
225 | |||
226 | range->layout->mouse_x = event->x; | ||
227 | range->layout->mouse_y = event->y; | ||
228 | @@ -1364,7 +1374,7 @@ | ||
229 | return TRUE; | ||
230 | } | ||
231 | |||
232 | - return FALSE; | ||
233 | + return TRUE; | ||
234 | } | ||
235 | |||
236 | /** | ||
diff --git a/meta/packages/gtk+/gtk+-2.6.10/gtklabel-resize-patch b/meta/packages/gtk+/gtk+-2.6.10/gtklabel-resize-patch new file mode 100644 index 0000000000..df29656343 --- /dev/null +++ b/meta/packages/gtk+/gtk+-2.6.10/gtklabel-resize-patch | |||
@@ -0,0 +1,10 @@ | |||
1 | --- gtk+-2.4.3/gtk/gtklabel.c~ 2004-06-11 13:50:34.000000000 +0100 | ||
2 | +++ gtk+-2.4.3/gtk/gtklabel.c 2004-07-05 13:33:57.000000000 +0100 | ||
3 | @@ -1623,6 +1623,7 @@ | ||
4 | |||
5 | /* We have to clear the layout, fonts etc. may have changed */ | ||
6 | gtk_label_clear_layout (label); | ||
7 | + gtk_widget_queue_resize (GTK_WIDGET (label)); | ||
8 | } | ||
9 | |||
10 | static void | ||
diff --git a/meta/packages/gtk+/gtk+-2.6.10/hardcoded_libtool.patch b/meta/packages/gtk+/gtk+-2.6.10/hardcoded_libtool.patch new file mode 100644 index 0000000000..b2afddcc61 --- /dev/null +++ b/meta/packages/gtk+/gtk+-2.6.10/hardcoded_libtool.patch | |||
@@ -0,0 +1,29 @@ | |||
1 | --- gtk+-2.6.0/configure.in.old 2005-01-01 16:23:45.000000000 +0000 | ||
2 | +++ gtk+-2.6.0/configure.in 2005-01-01 16:24:03.000000000 +0000 | ||
3 | @@ -360,7 +360,7 @@ | ||
4 | AC_MSG_CHECKING([Whether to write dependencies into .pc files]) | ||
5 | case $enable_explicit_deps in | ||
6 | auto) | ||
7 | - deplib_check_method=`(./libtool --config; echo eval echo \\$deplib_check_method) | sh` | ||
8 | + deplib_check_method=`($host_alias-libtool --config; echo eval echo \\$deplib_check_method) | sh` | ||
9 | if test "X$deplib_check_method" = Xnone || test "x$enable_static" = xyes ; then | ||
10 | enable_explicit_deps=yes | ||
11 | else | ||
12 | @@ -688,7 +688,7 @@ | ||
13 | dnl Now we check to see if our libtool supports shared lib deps | ||
14 | dnl (in a rather ugly way even) | ||
15 | if $dynworks; then | ||
16 | - pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config" | ||
17 | + pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} $host_alias-libtool --config" | ||
18 | pixbuf_deplibs_check=`$pixbuf_libtool_config | \ | ||
19 | grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \ | ||
20 | sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'` | ||
21 | @@ -1512,7 +1512,7 @@ | ||
22 | # | ||
23 | # We are using gmodule-no-export now, but I'm leaving the stripping | ||
24 | # code in place for now, since pango and atk still require gmodule. | ||
25 | -export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` | ||
26 | +export_dynamic=`($host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` | ||
27 | if test -n "$export_dynamic"; then | ||
28 | GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"` | ||
29 | GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"` | ||
diff --git a/meta/packages/gtk+/gtk+-2.6.10/help.patch b/meta/packages/gtk+/gtk+-2.6.10/help.patch new file mode 100644 index 0000000000..268b3dd9e2 --- /dev/null +++ b/meta/packages/gtk+/gtk+-2.6.10/help.patch | |||
@@ -0,0 +1,158 @@ | |||
1 | diff -NaurBb gtk+-2.6.10.old/gtk/Makefile.am gtk+-2.6.10/gtk/Makefile.am | ||
2 | --- gtk+-2.6.10.old/gtk/Makefile.am 2005-08-18 16:10:56.000000000 +0200 | ||
3 | +++ gtk+-2.6.10/gtk/Makefile.am 2005-12-29 01:23:52.000000000 +0100 | ||
4 | @@ -520,6 +520,7 @@ | ||
5 | gtkwidget.c \ | ||
6 | gtkwindow-decorate.c \ | ||
7 | gtkwindow.c \ | ||
8 | + gpe-what.c \ | ||
9 | xembed.h | ||
10 | |||
11 | if OS_UNIX | ||
12 | diff -NaurBb gtk+-2.6.10.old/gtk/gpe-what.c gtk+-2.6.10/gtk/gpe-what.c | ||
13 | --- gtk+-2.6.10.old/gtk/gpe-what.c 1970-01-01 01:00:00.000000000 +0100 | ||
14 | +++ gtk+-2.6.10/gtk/gpe-what.c 2005-12-29 00:59:26.000000000 +0100 | ||
15 | @@ -0,0 +1,130 @@ | ||
16 | +/* | ||
17 | + * Copyright (C) 2002, 2003 Philip Blundell <philb@gnu.org> | ||
18 | + * | ||
19 | + * This library is free software; you can redistribute it and/or | ||
20 | + * modify it under the terms of the GNU Lesser General Public | ||
21 | + * License as published by the Free Software Foundation; either | ||
22 | + * version 2 of the License, or (at your option) any later version. | ||
23 | + * | ||
24 | + * This library is distributed in the hope that it will be useful, | ||
25 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
26 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
27 | + * Lesser General Public License for more details. | ||
28 | + * | ||
29 | + * You should have received a copy of the GNU Lesser General Public | ||
30 | + * License along with this library; if not, write to the | ||
31 | + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
32 | + * Boston, MA 02111-1307, USA. | ||
33 | + */ | ||
34 | + | ||
35 | +#include <stdio.h> | ||
36 | +#include <string.h> | ||
37 | +#include <stdlib.h> | ||
38 | + | ||
39 | +#include <X11/Xlib.h> | ||
40 | +#include <X11/Xatom.h> | ||
41 | + | ||
42 | +#ifdef GDK_WINDOWING_X11 | ||
43 | +#error X11 required | ||
44 | +#endif | ||
45 | + | ||
46 | +#include "gtkwidget.h" | ||
47 | +#include "gtktooltips.h" | ||
48 | +#include "x11/gdkx.h" | ||
49 | +#include "config.h" | ||
50 | + | ||
51 | +#include <libintl.h> | ||
52 | + | ||
53 | +#define _(x) dgettext(GETTEXT_PACKAGE, x) | ||
54 | + | ||
55 | +static GdkAtom help_atom; | ||
56 | +static gboolean gpe_what_initialised; | ||
57 | + | ||
58 | +static GSList *widgets; | ||
59 | + | ||
60 | +static void | ||
61 | +send_text (Display *dpy, Window w, char *text) | ||
62 | +{ | ||
63 | + Atom help_xatom = gdk_x11_atom_to_xatom (help_atom); | ||
64 | + | ||
65 | + gdk_error_trap_push (); | ||
66 | + | ||
67 | + XChangeProperty (dpy, w, help_xatom, XA_STRING, 8, PropModeReplace, text, strlen (text)); | ||
68 | + | ||
69 | + XFlush (dpy); | ||
70 | + | ||
71 | + gdk_error_trap_pop (); | ||
72 | +} | ||
73 | + | ||
74 | +static GdkFilterReturn | ||
75 | +filter_func (GdkXEvent *xev, GdkEvent *ev, gpointer p) | ||
76 | +{ | ||
77 | + XClientMessageEvent *xc = (XClientMessageEvent *)xev; | ||
78 | + GSList *list; | ||
79 | + Window sender = xc->data.l[0]; | ||
80 | + | ||
81 | + for (list = widgets; list; list = list->next) | ||
82 | + { | ||
83 | + GtkWidget *widget = GTK_WIDGET (list->data); | ||
84 | + int x = xc->data.l[1], y = xc->data.l[2]; | ||
85 | + int ax, ay; | ||
86 | + | ||
87 | + if (!GTK_WIDGET_DRAWABLE (widget)) continue; | ||
88 | + | ||
89 | + if (GTK_WIDGET_NO_WINDOW (widget)) | ||
90 | + { | ||
91 | + ax = widget->allocation.x; | ||
92 | + ay = widget->allocation.y; | ||
93 | + } | ||
94 | + else | ||
95 | + { | ||
96 | + ax = 0; | ||
97 | + ay = 0; | ||
98 | + } | ||
99 | + | ||
100 | + if (widget->window == ev->any.window | ||
101 | + && x >= ax && x < ax + widget->allocation.width | ||
102 | + && y >= ay && y < ay + widget->allocation.height) | ||
103 | + { | ||
104 | + GtkTooltipsData *data = gtk_tooltips_data_get (widget); | ||
105 | + if (data) | ||
106 | + { | ||
107 | + send_text (GDK_WINDOW_XDISPLAY (widget->window), sender, | ||
108 | + data->tip_private ? data->tip_private : data->tip_text); | ||
109 | + return GDK_FILTER_CONTINUE; | ||
110 | + } | ||
111 | + } | ||
112 | + } | ||
113 | + | ||
114 | + send_text (GDK_WINDOW_XDISPLAY (ev->any.window), sender, _("No help available.")); | ||
115 | + | ||
116 | + return GDK_FILTER_CONTINUE; | ||
117 | +} | ||
118 | + | ||
119 | +void | ||
120 | +gpe_what_mark_widget (GtkWidget *widget) | ||
121 | +{ | ||
122 | + if (!gpe_what_initialised) | ||
123 | + { | ||
124 | + help_atom = gdk_atom_intern ("_GPE_INTERACTIVE_HELP", FALSE); | ||
125 | + | ||
126 | + gdk_add_client_message_filter (help_atom, filter_func, NULL); | ||
127 | + | ||
128 | + gpe_what_initialised = TRUE; | ||
129 | + } | ||
130 | + | ||
131 | + if (widget->window) | ||
132 | + { | ||
133 | + widgets = g_slist_prepend (widgets, widget); | ||
134 | + | ||
135 | + gdk_property_change (widget->window, | ||
136 | + help_atom, | ||
137 | + help_atom, | ||
138 | + 8, | ||
139 | + GDK_PROP_MODE_REPLACE, | ||
140 | + NULL, | ||
141 | + 0); | ||
142 | + } | ||
143 | + else | ||
144 | + abort (); | ||
145 | +} | ||
146 | diff -NaurBb gtk+-2.6.10.old/gtk/gtkwidget.c gtk+-2.6.10/gtk/gtkwidget.c | ||
147 | --- gtk+-2.6.10.old/gtk/gtkwidget.c 2005-08-18 16:10:59.000000000 +0200 | ||
148 | +++ gtk+-2.6.10/gtk/gtkwidget.c 2005-12-29 00:59:26.000000000 +0100 | ||
149 | @@ -2285,6 +2285,9 @@ | ||
150 | |||
151 | g_signal_emit (widget, widget_signals[REALIZE], 0); | ||
152 | |||
153 | + extern void gpe_what_mark_widget (GtkWidget *widget); | ||
154 | + gpe_what_mark_widget (widget); | ||
155 | + | ||
156 | if (GTK_WIDGET_HAS_SHAPE_MASK (widget)) | ||
157 | { | ||
158 | shape_info = g_object_get_qdata (G_OBJECT (widget), quark_shape_info); | ||
diff --git a/meta/packages/gtk+/gtk+-2.6.10/menu-deactivate.patch b/meta/packages/gtk+/gtk+-2.6.10/menu-deactivate.patch new file mode 100644 index 0000000000..29e665fbf3 --- /dev/null +++ b/meta/packages/gtk+/gtk+-2.6.10/menu-deactivate.patch | |||
@@ -0,0 +1,50 @@ | |||
1 | --- gtk+-2.4.4/gtk/gtkmenushell.c.old Thu Aug 26 23:45:28 2004 | ||
2 | +++ gtk+-2.4.4/gtk/gtkmenushell.c Fri Aug 27 00:13:33 2004 | ||
3 | @@ -37,7 +37,7 @@ | ||
4 | #include "gtktearoffmenuitem.h" | ||
5 | #include "gtkwindow.h" | ||
6 | |||
7 | -#define MENU_SHELL_TIMEOUT 500 | ||
8 | +#define MENU_SHELL_TIMEOUT 2000 | ||
9 | |||
10 | enum { | ||
11 | DEACTIVATE, | ||
12 | @@ -156,6 +156,7 @@ | ||
13 | static GtkContainerClass *parent_class = NULL; | ||
14 | static guint menu_shell_signals[LAST_SIGNAL] = { 0 }; | ||
15 | |||
16 | +static int last_crossing_time; | ||
17 | |||
18 | GType | ||
19 | gtk_menu_shell_get_type (void) | ||
20 | @@ -418,6 +419,7 @@ | ||
21 | gtk_grab_add (GTK_WIDGET (menu_shell)); | ||
22 | menu_shell->have_grab = TRUE; | ||
23 | menu_shell->active = TRUE; | ||
24 | + last_crossing_time = 0; | ||
25 | } | ||
26 | } | ||
27 | |||
28 | @@ -545,6 +547,13 @@ | ||
29 | menu_shell->activate_time = 0; | ||
30 | deactivate = FALSE; | ||
31 | } | ||
32 | + | ||
33 | + if (last_crossing_time != 0 | ||
34 | + && ((event->time - last_crossing_time) < 500)) | ||
35 | + { | ||
36 | + last_crossing_time = 0; | ||
37 | + deactivate = FALSE; | ||
38 | + } | ||
39 | |||
40 | if (deactivate) | ||
41 | { | ||
42 | @@ -597,6 +606,8 @@ | ||
43 | if (menu_shell->active) | ||
44 | { | ||
45 | menu_item = gtk_get_event_widget ((GdkEvent*) event); | ||
46 | + | ||
47 | + last_crossing_time = event->time; | ||
48 | |||
49 | if (!menu_item || | ||
50 | (GTK_IS_MENU_ITEM (menu_item) && | ||
diff --git a/meta/packages/gtk+/gtk+-2.6.10/menu-styling.patch b/meta/packages/gtk+/gtk+-2.6.10/menu-styling.patch new file mode 100644 index 0000000000..8f792df190 --- /dev/null +++ b/meta/packages/gtk+/gtk+-2.6.10/menu-styling.patch | |||
@@ -0,0 +1,22 @@ | |||
1 | # | ||
2 | # This patch improves menu styling (based on version in 2.7.0 | ||
3 | # which features a background pixmap for the menu). ---Mickey. | ||
4 | # | ||
5 | --- gtk+-2.6.10/gtk/gtkmenu.c 2005-08-18 16:10:58.000000000 +0200 | ||
6 | +++ gtk+-2.7.0/gtk/gtkmenu.c 2005-04-07 21:56:57.000000000 +0200 | ||
7 | @@ -2490,6 +2495,15 @@ | ||
8 | arrow_size, arrow_size); | ||
9 | } | ||
10 | } | ||
11 | + else if (event->window == menu->bin_window) | ||
12 | + { | ||
13 | + gtk_paint_box (widget->style, | ||
14 | + menu->bin_window, | ||
15 | + GTK_STATE_NORMAL, | ||
16 | + GTK_SHADOW_OUT, | ||
17 | + NULL, widget, "menu", | ||
18 | + -border_x, -border_y, width, height); | ||
19 | + } | ||
20 | } | ||
21 | |||
22 | static gboolean | ||
diff --git a/meta/packages/gtk+/gtk+-2.6.10/no-demos.patch b/meta/packages/gtk+/gtk+-2.6.10/no-demos.patch new file mode 100644 index 0000000000..2f10a30dda --- /dev/null +++ b/meta/packages/gtk+/gtk+-2.6.10/no-demos.patch | |||
@@ -0,0 +1,10 @@ | |||
1 | --- gtk+-2.4.1/Makefile.am~ 2004-01-17 22:15:56.000000000 +0000 | ||
2 | +++ gtk+-2.4.1/Makefile.am 2004-05-08 12:25:32.000000000 +0100 | ||
3 | @@ -1,6 +1,6 @@ | ||
4 | ## Makefile.am for GTK+ | ||
5 | |||
6 | -SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests contrib | ||
7 | +SRC_SUBDIRS = gdk-pixbuf gdk gtk modules tests contrib | ||
8 | SUBDIRS = po po-properties $(SRC_SUBDIRS) docs build m4macros | ||
9 | |||
10 | # require automake 1.4 | ||
diff --git a/meta/packages/gtk+/gtk+-2.6.10/no-xwc.patch b/meta/packages/gtk+/gtk+-2.6.10/no-xwc.patch new file mode 100644 index 0000000000..affb4a303e --- /dev/null +++ b/meta/packages/gtk+/gtk+-2.6.10/no-xwc.patch | |||
@@ -0,0 +1,151 @@ | |||
1 | diff -urNd ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkdrawable-x11.c gtk+-2.6.0/gdk/x11/gdkdrawable-x11.c | ||
2 | --- ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkdrawable-x11.c 2004-11-30 14:57:14 +00:00 | ||
3 | +++ gtk+-2.6.0/gdk/x11/gdkdrawable-x11.c 2005-01-02 15:38:06 +00:00 | ||
4 | @@ -576,12 +576,14 @@ | ||
5 | GDK_GC_GET_XGC (gc), x, y, (XChar2b *) text, text_length / 2); | ||
6 | } | ||
7 | } | ||
8 | +#ifdef HAVE_XWC | ||
9 | else if (font->type == GDK_FONT_FONTSET) | ||
10 | { | ||
11 | XFontSet fontset = (XFontSet) GDK_FONT_XFONT (font); | ||
12 | XmbDrawString (xdisplay, impl->xid, | ||
13 | fontset, GDK_GC_GET_XGC (gc), x, y, text, text_length); | ||
14 | } | ||
15 | +#endif | ||
16 | else | ||
17 | g_error("undefined font type\n"); | ||
18 | } | ||
19 | @@ -613,6 +615,7 @@ | ||
20 | GDK_GC_GET_XGC (gc), x, y, text_8bit, text_length); | ||
21 | g_free (text_8bit); | ||
22 | } | ||
23 | +#ifdef HAVE_XWC | ||
24 | else if (font->type == GDK_FONT_FONTSET) | ||
25 | { | ||
26 | if (sizeof(GdkWChar) == sizeof(wchar_t)) | ||
27 | @@ -633,6 +636,7 @@ | ||
28 | g_free (text_wchar); | ||
29 | } | ||
30 | } | ||
31 | +#endif | ||
32 | else | ||
33 | g_error("undefined font type\n"); | ||
34 | } | ||
35 | diff -urNd ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkfont-x11.c gtk+-2.6.0/gdk/x11/gdkfont-x11.c | ||
36 | --- ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkfont-x11.c 2004-08-26 01:23:46 +01:00 | ||
37 | +++ gtk+-2.6.0/gdk/x11/gdkfont-x11.c 2005-01-02 15:45:39 +00:00 | ||
38 | @@ -525,10 +525,12 @@ | ||
39 | width = XTextWidth16 (xfont, (XChar2b *) text, text_length / 2); | ||
40 | } | ||
41 | break; | ||
42 | +#ifdef HAVE_XWC | ||
43 | case GDK_FONT_FONTSET: | ||
44 | fontset = (XFontSet) private->xfont; | ||
45 | width = XmbTextEscapement (fontset, text, text_length); | ||
46 | break; | ||
47 | +#endif | ||
48 | default: | ||
49 | width = 0; | ||
50 | } | ||
51 | @@ -578,6 +580,7 @@ | ||
52 | width = 0; | ||
53 | } | ||
54 | break; | ||
55 | +#ifdef HAVE_XWC | ||
56 | case GDK_FONT_FONTSET: | ||
57 | if (sizeof(GdkWChar) == sizeof(wchar_t)) | ||
58 | { | ||
59 | @@ -595,6 +598,7 @@ | ||
60 | g_free (text_wchar); | ||
61 | } | ||
62 | break; | ||
63 | +#endif | ||
64 | default: | ||
65 | width = 0; | ||
66 | } | ||
67 | @@ -667,6 +671,7 @@ | ||
68 | if (descent) | ||
69 | *descent = overall.descent; | ||
70 | break; | ||
71 | +#ifdef HAVE_XWC | ||
72 | case GDK_FONT_FONTSET: | ||
73 | fontset = (XFontSet) private->xfont; | ||
74 | XmbTextExtents (fontset, text, text_length, &ink, &logical); | ||
75 | @@ -681,6 +686,7 @@ | ||
76 | if (descent) | ||
77 | *descent = ink.y + ink.height; | ||
78 | break; | ||
79 | +#endif | ||
80 | } | ||
81 | |||
82 | } | ||
83 | @@ -753,6 +759,7 @@ | ||
84 | *descent = overall.descent; | ||
85 | break; | ||
86 | } | ||
87 | +#ifdef HAVE_XWC | ||
88 | case GDK_FONT_FONTSET: | ||
89 | fontset = (XFontSet) private->xfont; | ||
90 | |||
91 | @@ -780,6 +787,7 @@ | ||
92 | if (descent) | ||
93 | *descent = ink.y + ink.height; | ||
94 | break; | ||
95 | +#endif | ||
96 | } | ||
97 | |||
98 | } | ||
99 | diff -urNd ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkim-x11.c gtk+-2.6.0/gdk/x11/gdkim-x11.c | ||
100 | --- ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkim-x11.c 2004-11-17 00:55:10 +00:00 | ||
101 | +++ gtk+-2.6.0/gdk/x11/gdkim-x11.c 2005-01-02 15:42:04 +00:00 | ||
102 | @@ -48,6 +48,7 @@ | ||
103 | void | ||
104 | _gdk_x11_initialize_locale (void) | ||
105 | { | ||
106 | +#ifdef HAVE_XWC | ||
107 | wchar_t result; | ||
108 | gchar *current_locale; | ||
109 | static char *last_locale = NULL; | ||
110 | @@ -93,7 +94,8 @@ | ||
111 | GDK_NOTE (XIM, | ||
112 | g_message ("%s multi-byte string functions.", | ||
113 | gdk_use_mb ? "Using" : "Not using")); | ||
114 | - | ||
115 | +#endif | ||
116 | + | ||
117 | return; | ||
118 | } | ||
119 | |||
120 | @@ -136,6 +138,7 @@ | ||
121 | { | ||
122 | gchar *mbstr; | ||
123 | |||
124 | +#ifdef HAVE_XWC | ||
125 | if (gdk_use_mb) | ||
126 | { | ||
127 | GdkDisplay *display = find_a_display (); | ||
128 | @@ -178,6 +181,7 @@ | ||
129 | XFree (tpr.value); | ||
130 | } | ||
131 | else | ||
132 | +#endif | ||
133 | { | ||
134 | gint length = 0; | ||
135 | gint i; | ||
136 | @@ -210,6 +214,7 @@ | ||
137 | gint | ||
138 | gdk_mbstowcs (GdkWChar *dest, const gchar *src, gint dest_max) | ||
139 | { | ||
140 | +#ifdef HAVE_XWC | ||
141 | if (gdk_use_mb) | ||
142 | { | ||
143 | GdkDisplay *display = find_a_display (); | ||
144 | @@ -242,6 +247,7 @@ | ||
145 | return len_cpy; | ||
146 | } | ||
147 | else | ||
148 | +#endif | ||
149 | { | ||
150 | gint i; | ||
151 | |||
diff --git a/meta/packages/gtk+/gtk+-2.6.10/scroll-timings.patch b/meta/packages/gtk+/gtk+-2.6.10/scroll-timings.patch new file mode 100644 index 0000000000..a38b21dcc2 --- /dev/null +++ b/meta/packages/gtk+/gtk+-2.6.10/scroll-timings.patch | |||
@@ -0,0 +1,15 @@ | |||
1 | --- gtk+-2.4.4/gtk/gtkrange.c~ 2004-08-23 01:50:22.000000000 +0100 | ||
2 | +++ gtk+-2.4.4/gtk/gtkrange.c 2004-08-27 15:48:49.000000000 +0100 | ||
3 | @@ -35,9 +35,9 @@ | ||
4 | #include "gtkintl.h" | ||
5 | #include "gtkscrollbar.h" | ||
6 | |||
7 | -#define SCROLL_INITIAL_DELAY 250 /* must hold button this long before ... */ | ||
8 | -#define SCROLL_LATER_DELAY 100 /* ... it starts repeating at this rate */ | ||
9 | -#define UPDATE_DELAY 300 /* Delay for queued update */ | ||
10 | +#define SCROLL_INITIAL_DELAY 500 /* must hold button this long before ... */ | ||
11 | +#define SCROLL_LATER_DELAY 200 /* ... it starts repeating at this rate */ | ||
12 | +#define UPDATE_DELAY 1000 /* Delay for queued update */ | ||
13 | |||
14 | enum { | ||
15 | PROP_0, | ||
diff --git a/meta/packages/gtk+/gtk+-2.6.10/single-click.patch b/meta/packages/gtk+/gtk+-2.6.10/single-click.patch new file mode 100644 index 0000000000..3bb208d4d6 --- /dev/null +++ b/meta/packages/gtk+/gtk+-2.6.10/single-click.patch | |||
@@ -0,0 +1,54 @@ | |||
1 | diff -urNd ../gtk+-2.6.3-r0.old/gtk+-2.6.3/gtk/gtkcalendar.c gtk+-2.6.3/gtk/gtkcalendar.c | ||
2 | --- ../gtk+-2.6.3-r0.old/gtk+-2.6.3/gtk/gtkcalendar.c 2005-04-06 16:57:04 +01:00 | ||
3 | +++ gtk+-2.6.3/gtk/gtkcalendar.c 2005-04-06 20:05:18 +01:00 | ||
4 | @@ -1023,9 +1023,11 @@ | ||
5 | } | ||
6 | |||
7 | gtk_calendar_select_and_focus_day (calendar, day); | ||
8 | - } | ||
9 | + | ||
10 | + // This change causes the calendar to disappear after choosing a day | ||
11 | +/* } | ||
12 | else if (event->type == GDK_2BUTTON_PRESS) | ||
13 | - { | ||
14 | + {*/ | ||
15 | private_data->in_drag = 0; | ||
16 | if (day_month == MONTH_CURRENT) | ||
17 | g_signal_emit (calendar, | ||
18 | diff -urNd ../gtk+-2.6.3-r0.old/gtk+-2.6.3/gtk/gtkfilesel.c gtk+-2.6.3/gtk/gtkfilesel.c | ||
19 | --- ../gtk+-2.6.3-r0.old/gtk+-2.6.3/gtk/gtkfilesel.c 2005-04-06 16:57:07 +01:00 | ||
20 | +++ gtk+-2.6.3/gtk/gtkfilesel.c 2005-04-07 13:40:32 +01:00 | ||
21 | @@ -2468,6 +2468,33 @@ | ||
22 | if (fs->last_selected != NULL) | ||
23 | g_free (fs->last_selected); | ||
24 | |||
25 | + // Single-click directory entry | ||
26 | + if (new_names->len == 1) | ||
27 | + { | ||
28 | + GtkTreeView *tree_view; | ||
29 | + GtkTreeModel *model; | ||
30 | + GtkTreePath *path; | ||
31 | + GtkTreeIter iter; | ||
32 | + gboolean is_file; | ||
33 | + | ||
34 | + tree_view = gtk_tree_selection_get_tree_view (selection); | ||
35 | + | ||
36 | + if (gtk_tree_selection_get_selected (selection, &model, &iter)) | ||
37 | + { | ||
38 | + path = gtk_tree_model_get_path (model, &iter); | ||
39 | + gtk_tree_model_get (model, &iter, ISFILE_COLUMN, &is_file, -1); | ||
40 | + | ||
41 | + if (!is_file) | ||
42 | + { | ||
43 | + gtk_file_selection_dir_activate (tree_view, path, | ||
44 | + gtk_tree_view_get_column (tree_view, DIR_COLUMN), | ||
45 | + user_data); | ||
46 | + } | ||
47 | + | ||
48 | + gtk_tree_path_free (path); | ||
49 | + } | ||
50 | + } | ||
51 | + | ||
52 | fs->last_selected = g_strdup (g_ptr_array_index (new_names, index)); | ||
53 | filename = get_real_filename (fs->last_selected, FALSE); | ||
54 | |||
diff --git a/meta/packages/gtk+/gtk+-2.6.10/small-gtkfilesel.patch b/meta/packages/gtk+/gtk+-2.6.10/small-gtkfilesel.patch new file mode 100644 index 0000000000..20bf4cf366 --- /dev/null +++ b/meta/packages/gtk+/gtk+-2.6.10/small-gtkfilesel.patch | |||
@@ -0,0 +1,267 @@ | |||
1 | diff -urNd ../gtk+-2.4.4-r5/gtk+-2.4.4/gtk/gtkfilesel.c gtk+-2.4.4/gtk/gtkfilesel.c | ||
2 | --- ../gtk+-2.4.4-r5/gtk+-2.4.4/gtk/gtkfilesel.c 2004-07-10 05:02:10.000000000 +0100 | ||
3 | +++ gtk+-2.4.4/gtk/gtkfilesel.c 2004-09-13 13:40:09.000000000 +0100 | ||
4 | @@ -68,6 +68,7 @@ | ||
5 | #include "gtkprivate.h" | ||
6 | #include "gtkscrolledwindow.h" | ||
7 | #include "gtkstock.h" | ||
8 | +#include "gtksignal.h" | ||
9 | #include "gtktreeselection.h" | ||
10 | #include "gtktreeview.h" | ||
11 | #include "gtkvbox.h" | ||
12 | @@ -77,6 +78,7 @@ | ||
13 | #include "gtkmessagedialog.h" | ||
14 | #include "gtkdnd.h" | ||
15 | #include "gtkeventbox.h" | ||
16 | +#include "gtkimage.h" | ||
17 | |||
18 | #undef GTK_DISABLE_DEPRECATED | ||
19 | #include "gtkoptionmenu.h" | ||
20 | @@ -245,7 +247,8 @@ | ||
21 | }; | ||
22 | |||
23 | enum { | ||
24 | - DIR_COLUMN | ||
25 | + DIR_COLUMN, | ||
26 | + ISFILE_COLUMN | ||
27 | }; | ||
28 | |||
29 | enum { | ||
30 | @@ -400,6 +403,12 @@ | ||
31 | GtkTreePath *path, | ||
32 | GtkTreeViewColumn *column, | ||
33 | gpointer user_data); | ||
34 | + | ||
35 | +static void gtk_file_selection_activate (GtkTreeView *tree_view, | ||
36 | + GtkTreePath *path, | ||
37 | + GtkTreeViewColumn *column, | ||
38 | + gpointer user_data); | ||
39 | + | ||
40 | static void gtk_file_selection_file_changed (GtkTreeSelection *selection, | ||
41 | gpointer user_data); | ||
42 | static void gtk_file_selection_dir_activate (GtkTreeView *tree_view, | ||
43 | @@ -419,6 +428,7 @@ | ||
44 | static void gtk_file_selection_create_dir (GtkWidget *widget, gpointer data); | ||
45 | static void gtk_file_selection_delete_file (GtkWidget *widget, gpointer data); | ||
46 | static void gtk_file_selection_rename_file (GtkWidget *widget, gpointer data); | ||
47 | +static void gtk_file_selection_style_set (GtkWidget *widget, GtkStyle *prev_style); | ||
48 | |||
49 | static void free_selected_names (GPtrArray *names); | ||
50 | |||
51 | @@ -578,6 +588,23 @@ | ||
52 | G_PARAM_WRITABLE)); | ||
53 | object_class->destroy = gtk_file_selection_destroy; | ||
54 | widget_class->map = gtk_file_selection_map; | ||
55 | + widget_class->style_set = gtk_file_selection_style_set; | ||
56 | + | ||
57 | + gtk_widget_class_install_style_property (widget_class, | ||
58 | + g_param_spec_boolean ("show_fileops_default", | ||
59 | + _("Show fileop buttons by default"), | ||
60 | + _("Whether file operation buttons are shown by default"), | ||
61 | + TRUE, | ||
62 | + G_PARAM_READABLE)); | ||
63 | + | ||
64 | + gtk_widget_class_install_style_property (widget_class, | ||
65 | + g_param_spec_int ("border_width", | ||
66 | + _("Border width"), | ||
67 | + _("Width of border around the main dialog area"), | ||
68 | + 0, | ||
69 | + G_MAXINT, | ||
70 | + 10, | ||
71 | + G_PARAM_READABLE)); | ||
72 | } | ||
73 | |||
74 | static void gtk_file_selection_set_property (GObject *object, | ||
75 | @@ -649,7 +676,29 @@ | ||
76 | gtk_widget_grab_default (widget); | ||
77 | return FALSE; | ||
78 | } | ||
79 | - | ||
80 | + | ||
81 | +static void | ||
82 | +gtk_file_selection_style_set (GtkWidget *filesel, | ||
83 | + GtkStyle *prev_style) | ||
84 | +{ | ||
85 | + gboolean show_fileops; | ||
86 | + gint border_width; | ||
87 | + | ||
88 | + gtk_widget_style_get (filesel, | ||
89 | + "show_fileops_default", | ||
90 | + &show_fileops, | ||
91 | + "border_width", | ||
92 | + &border_width, | ||
93 | + NULL); | ||
94 | + | ||
95 | + gtk_container_set_border_width (GTK_CONTAINER (filesel), border_width); | ||
96 | + | ||
97 | + if (show_fileops) | ||
98 | + gtk_file_selection_show_fileop_buttons (GTK_FILE_SELECTION (filesel)); | ||
99 | + else | ||
100 | + gtk_file_selection_hide_fileop_buttons (GTK_FILE_SELECTION (filesel)); | ||
101 | +} | ||
102 | + | ||
103 | static void | ||
104 | gtk_file_selection_init (GtkFileSelection *filesel) | ||
105 | { | ||
106 | @@ -674,17 +723,15 @@ | ||
107 | |||
108 | /* The dialog-sized vertical box */ | ||
109 | filesel->main_vbox = dialog->vbox; | ||
110 | - gtk_container_set_border_width (GTK_CONTAINER (filesel), 10); | ||
111 | |||
112 | /* The horizontal box containing create, rename etc. buttons */ | ||
113 | filesel->button_area = gtk_hbutton_box_new (); | ||
114 | gtk_button_box_set_layout (GTK_BUTTON_BOX (filesel->button_area), GTK_BUTTONBOX_START); | ||
115 | - gtk_box_set_spacing (GTK_BOX (filesel->button_area), 0); | ||
116 | gtk_box_pack_start (GTK_BOX (filesel->main_vbox), filesel->button_area, | ||
117 | FALSE, FALSE, 0); | ||
118 | gtk_widget_show (filesel->button_area); | ||
119 | |||
120 | - gtk_file_selection_show_fileop_buttons (filesel); | ||
121 | + gtk_file_selection_style_set (GTK_WIDGET (filesel), NULL); | ||
122 | |||
123 | /* hbox for pulldown menu */ | ||
124 | pulldown_hbox = gtk_hbox_new (TRUE, 5); | ||
125 | @@ -723,25 +770,32 @@ | ||
126 | |||
127 | /* The directories list */ | ||
128 | |||
129 | - model = gtk_list_store_new (1, G_TYPE_STRING); | ||
130 | + model = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_BOOLEAN); /* MA */ | ||
131 | filesel->dir_list = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model)); | ||
132 | g_object_unref (model); | ||
133 | |||
134 | - column = gtk_tree_view_column_new_with_attributes (_("Folders"), | ||
135 | + column = gtk_tree_view_column_new_with_attributes (/*_("Folders")*/ NULL, | ||
136 | gtk_cell_renderer_text_new (), | ||
137 | "text", DIR_COLUMN, | ||
138 | NULL); | ||
139 | label = gtk_label_new_with_mnemonic (_("Fol_ders")); | ||
140 | gtk_label_set_mnemonic_widget (GTK_LABEL (label), filesel->dir_list); | ||
141 | gtk_widget_show (label); | ||
142 | - gtk_tree_view_column_set_widget (column, label); | ||
143 | + | ||
144 | + /* gtk_tree_view_column_set_widget (column, label); */ | ||
145 | + gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (filesel->dir_list), FALSE); | ||
146 | + | ||
147 | gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); | ||
148 | gtk_tree_view_append_column (GTK_TREE_VIEW (filesel->dir_list), column); | ||
149 | |||
150 | gtk_widget_set_size_request (filesel->dir_list, | ||
151 | DIR_LIST_WIDTH, DIR_LIST_HEIGHT); | ||
152 | g_signal_connect (filesel->dir_list, "row_activated", | ||
153 | - G_CALLBACK (gtk_file_selection_dir_activate), filesel); | ||
154 | + G_CALLBACK (gtk_file_selection_activate), filesel); | ||
155 | + | ||
156 | + g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (filesel->dir_list)), "changed", | ||
157 | + G_CALLBACK (gtk_file_selection_file_changed), filesel); | ||
158 | + | ||
159 | |||
160 | /* gtk_clist_column_titles_passive (GTK_CLIST (filesel->dir_list)); */ | ||
161 | |||
162 | @@ -758,41 +812,6 @@ | ||
163 | gtk_widget_show (filesel->dir_list); | ||
164 | gtk_widget_show (scrolled_win); | ||
165 | |||
166 | - /* The files list */ | ||
167 | - model = gtk_list_store_new (1, G_TYPE_STRING); | ||
168 | - filesel->file_list = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model)); | ||
169 | - g_object_unref (model); | ||
170 | - | ||
171 | - column = gtk_tree_view_column_new_with_attributes (_("Files"), | ||
172 | - gtk_cell_renderer_text_new (), | ||
173 | - "text", FILE_COLUMN, | ||
174 | - NULL); | ||
175 | - label = gtk_label_new_with_mnemonic (_("_Files")); | ||
176 | - gtk_label_set_mnemonic_widget (GTK_LABEL (label), filesel->file_list); | ||
177 | - gtk_widget_show (label); | ||
178 | - gtk_tree_view_column_set_widget (column, label); | ||
179 | - gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); | ||
180 | - gtk_tree_view_append_column (GTK_TREE_VIEW (filesel->file_list), column); | ||
181 | - | ||
182 | - gtk_widget_set_size_request (filesel->file_list, | ||
183 | - FILE_LIST_WIDTH, FILE_LIST_HEIGHT); | ||
184 | - g_signal_connect (filesel->file_list, "row_activated", | ||
185 | - G_CALLBACK (gtk_file_selection_file_activate), filesel); | ||
186 | - g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (filesel->file_list)), "changed", | ||
187 | - G_CALLBACK (gtk_file_selection_file_changed), filesel); | ||
188 | - | ||
189 | - /* gtk_clist_column_titles_passive (GTK_CLIST (filesel->file_list)); */ | ||
190 | - | ||
191 | - scrolled_win = gtk_scrolled_window_new (NULL, NULL); | ||
192 | - gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_win), GTK_SHADOW_IN); | ||
193 | - gtk_container_add (GTK_CONTAINER (scrolled_win), filesel->file_list); | ||
194 | - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win), | ||
195 | - GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); | ||
196 | - gtk_container_set_border_width (GTK_CONTAINER (scrolled_win), 0); | ||
197 | - gtk_container_add (GTK_CONTAINER (list_container), scrolled_win); | ||
198 | - gtk_widget_show (filesel->file_list); | ||
199 | - gtk_widget_show (scrolled_win); | ||
200 | - | ||
201 | /* action area for packing buttons into. */ | ||
202 | filesel->action_area = gtk_hbox_new (TRUE, 0); | ||
203 | gtk_box_pack_start (GTK_BOX (filesel->main_vbox), filesel->action_area, | ||
204 | @@ -2008,6 +2027,23 @@ | ||
205 | } | ||
206 | |||
207 | static void | ||
208 | +gtk_file_selection_activate (GtkTreeView *tree_view, | ||
209 | + GtkTreePath *path, | ||
210 | + GtkTreeViewColumn *column, | ||
211 | + gpointer user_data) | ||
212 | +{ | ||
213 | + GtkTreeModel *model = gtk_tree_view_get_model (tree_view); | ||
214 | + GtkTreeIter iter; | ||
215 | + gboolean is_file; | ||
216 | + | ||
217 | + gtk_tree_model_get_iter (model, &iter, path); | ||
218 | + gtk_tree_model_get (model, &iter, ISFILE_COLUMN, &is_file, -1); | ||
219 | + | ||
220 | + if (! is_file) | ||
221 | + gtk_file_selection_dir_activate (tree_view, path, column, user_data); | ||
222 | +} | ||
223 | + | ||
224 | +static void | ||
225 | gtk_file_selection_file_activate (GtkTreeView *tree_view, | ||
226 | GtkTreePath *path, | ||
227 | GtkTreeViewColumn *column, | ||
228 | @@ -2103,7 +2139,6 @@ | ||
229 | PossibleCompletion* poss; | ||
230 | GtkTreeIter iter; | ||
231 | GtkListStore *dir_model; | ||
232 | - GtkListStore *file_model; | ||
233 | gchar* filename; | ||
234 | gchar* rem_path = rel_path; | ||
235 | gchar* sel_text; | ||
236 | @@ -2125,10 +2160,8 @@ | ||
237 | g_assert (cmpl_state->reference_dir); | ||
238 | |||
239 | dir_model = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (fs->dir_list))); | ||
240 | - file_model = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (fs->file_list))); | ||
241 | |||
242 | gtk_list_store_clear (dir_model); | ||
243 | - gtk_list_store_clear (file_model); | ||
244 | |||
245 | /* Set the dir list to include ./ and ../ */ | ||
246 | gtk_list_store_append (dir_model, &iter); | ||
247 | @@ -2150,13 +2183,17 @@ | ||
248 | strcmp (filename, ".." G_DIR_SEPARATOR_S) != 0) | ||
249 | { | ||
250 | gtk_list_store_append (dir_model, &iter); | ||
251 | - gtk_list_store_set (dir_model, &iter, DIR_COLUMN, filename, -1); | ||
252 | + gtk_list_store_set (dir_model, &iter, | ||
253 | + DIR_COLUMN, filename, | ||
254 | + ISFILE_COLUMN, FALSE, -1); | ||
255 | } | ||
256 | } | ||
257 | else | ||
258 | { | ||
259 | - gtk_list_store_append (file_model, &iter); | ||
260 | - gtk_list_store_set (file_model, &iter, DIR_COLUMN, filename, -1); | ||
261 | + gtk_list_store_append (dir_model, &iter); | ||
262 | + gtk_list_store_set (dir_model, &iter, | ||
263 | + DIR_COLUMN, filename, | ||
264 | + ISFILE_COLUMN, TRUE, -1); | ||
265 | } | ||
266 | } | ||
267 | |||
diff --git a/meta/packages/gtk+/gtk+-2.6.10/spinbutton.patch b/meta/packages/gtk+/gtk+-2.6.10/spinbutton.patch new file mode 100644 index 0000000000..8ad7507af0 --- /dev/null +++ b/meta/packages/gtk+/gtk+-2.6.10/spinbutton.patch | |||
@@ -0,0 +1,128 @@ | |||
1 | --- gtk+-2.4.3/gtk/gtkspinbutton.c.old 2004-04-22 14:49:27.000000000 +0100 | ||
2 | +++ gtk+-2.4.3/gtk/gtkspinbutton.c 2004-06-30 21:48:18.000000000 +0100 | ||
3 | @@ -733,7 +733,7 @@ | ||
4 | |||
5 | spin = GTK_SPIN_BUTTON (widget); | ||
6 | arrow_size = spin_button_get_arrow_size (spin); | ||
7 | - panel_width = arrow_size + 2 * widget->style->xthickness; | ||
8 | + panel_width = (2 * arrow_size) + 4 * widget->style->xthickness; | ||
9 | |||
10 | widget->allocation = *allocation; | ||
11 | |||
12 | @@ -866,19 +866,16 @@ | ||
13 | { | ||
14 | width = spin_button_get_arrow_size (spin_button) + 2 * widget->style->xthickness; | ||
15 | |||
16 | + y = widget->style->ythickness; | ||
17 | + height = widget->requisition.height - (2 * y); | ||
18 | + | ||
19 | if (arrow_type == GTK_ARROW_UP) | ||
20 | { | ||
21 | x = 0; | ||
22 | - y = 0; | ||
23 | - | ||
24 | - height = widget->requisition.height / 2; | ||
25 | } | ||
26 | else | ||
27 | { | ||
28 | - x = 0; | ||
29 | - y = widget->requisition.height / 2; | ||
30 | - | ||
31 | - height = (widget->requisition.height + 1) / 2; | ||
32 | + x = width; | ||
33 | } | ||
34 | |||
35 | if (spin_button_at_limit (spin_button, arrow_type)) | ||
36 | @@ -908,32 +905,17 @@ | ||
37 | shadow_type = GTK_SHADOW_OUT; | ||
38 | } | ||
39 | } | ||
40 | - | ||
41 | + | ||
42 | gtk_paint_box (widget->style, spin_button->panel, | ||
43 | state_type, shadow_type, | ||
44 | NULL, widget, | ||
45 | - (arrow_type == GTK_ARROW_UP)? "spinbutton_up" : "spinbutton_down", | ||
46 | + NULL, | ||
47 | x, y, width, height); | ||
48 | |||
49 | height = widget->requisition.height; | ||
50 | |||
51 | - if (arrow_type == GTK_ARROW_DOWN) | ||
52 | - { | ||
53 | - y = height / 2; | ||
54 | - height = height - y - 2; | ||
55 | - } | ||
56 | - else | ||
57 | - { | ||
58 | - y = 2; | ||
59 | - height = height / 2 - 2; | ||
60 | - } | ||
61 | - | ||
62 | width -= 3; | ||
63 | - | ||
64 | - if (widget && gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) | ||
65 | - x = 2; | ||
66 | - else | ||
67 | - x = 1; | ||
68 | + height -= 3; | ||
69 | |||
70 | w = width / 2; | ||
71 | w -= w % 2 - 1; /* force odd */ | ||
72 | @@ -1108,7 +1090,7 @@ | ||
73 | if (GTK_ENTRY (widget)->editable) | ||
74 | gtk_spin_button_update (spin); | ||
75 | |||
76 | - if (event->y <= widget->requisition.height / 2) | ||
77 | + if (event->x <= (spin_button_get_arrow_size (spin) + widget->style->xthickness)) | ||
78 | { | ||
79 | if (event->button == 1) | ||
80 | start_spinning (spin, GTK_ARROW_UP, spin->adjustment->step_increment); | ||
81 | @@ -1143,44 +1125,11 @@ | ||
82 | |||
83 | arrow_size = spin_button_get_arrow_size (spin); | ||
84 | |||
85 | - if (event->button == spin->button) | ||
86 | - { | ||
87 | - int click_child = spin->click_child; | ||
88 | + gtk_spin_button_stop_spinning (spin); | ||
89 | |||
90 | - gtk_spin_button_stop_spinning (spin); | ||
91 | - | ||
92 | - if (event->button == 3) | ||
93 | - { | ||
94 | - if (event->y >= 0 && event->x >= 0 && | ||
95 | - event->y <= widget->requisition.height && | ||
96 | - event->x <= arrow_size + 2 * widget->style->xthickness) | ||
97 | - { | ||
98 | - if (click_child == GTK_ARROW_UP && | ||
99 | - event->y <= widget->requisition.height / 2) | ||
100 | - { | ||
101 | - gdouble diff; | ||
102 | - | ||
103 | - diff = spin->adjustment->upper - spin->adjustment->value; | ||
104 | - if (diff > EPSILON) | ||
105 | - gtk_spin_button_real_spin (spin, diff); | ||
106 | - } | ||
107 | - else if (click_child == GTK_ARROW_DOWN && | ||
108 | - event->y > widget->requisition.height / 2) | ||
109 | - { | ||
110 | - gdouble diff; | ||
111 | - | ||
112 | - diff = spin->adjustment->value - spin->adjustment->lower; | ||
113 | - if (diff > EPSILON) | ||
114 | - gtk_spin_button_real_spin (spin, -diff); | ||
115 | - } | ||
116 | - } | ||
117 | - } | ||
118 | - spin_button_redraw (spin); | ||
119 | + spin_button_redraw (spin); | ||
120 | |||
121 | - return TRUE; | ||
122 | - } | ||
123 | - else | ||
124 | - return GTK_WIDGET_CLASS (parent_class)->button_release_event (widget, event); | ||
125 | + return TRUE; | ||
126 | } | ||
127 | |||
128 | static gint | ||
diff --git a/meta/packages/gtk+/gtk+-2.6.10/xsettings.patch b/meta/packages/gtk+/gtk+-2.6.10/xsettings.patch new file mode 100644 index 0000000000..b63e262d34 --- /dev/null +++ b/meta/packages/gtk+/gtk+-2.6.10/xsettings.patch | |||
@@ -0,0 +1,16 @@ | |||
1 | --- gtk+-2.4.4/gdk/x11/gdkevents-x11.c.old Sun Aug 22 17:14:00 2004 | ||
2 | +++ gtk+-2.4.4/gdk/x11/gdkevents-x11.c Sun Aug 22 17:14:00 2004 | ||
3 | @@ -2827,10 +2827,9 @@ | ||
4 | { | ||
5 | GdkScreenX11 *screen = data; | ||
6 | |||
7 | - if (xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent)) | ||
8 | - return GDK_FILTER_REMOVE; | ||
9 | - else | ||
10 | - return GDK_FILTER_CONTINUE; | ||
11 | + xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent); | ||
12 | + | ||
13 | + return GDK_FILTER_CONTINUE; | ||
14 | } | ||
15 | |||
16 | static void | ||
diff --git a/meta/packages/gtk+/gtk+_2.6.10.bb b/meta/packages/gtk+/gtk+_2.6.10.bb new file mode 100644 index 0000000000..8230515f3b --- /dev/null +++ b/meta/packages/gtk+/gtk+_2.6.10.bb | |||
@@ -0,0 +1,104 @@ | |||
1 | DESCRIPTION = "GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \ | ||
2 | set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites." | ||
3 | HOMEPAGE = "http://www.gtk.org" | ||
4 | SECTION = "libs" | ||
5 | LICENSE = "LGPL" | ||
6 | PRIORITY = "optional" | ||
7 | DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor gtk-doc libgcrypt" | ||
8 | PR = "r5" | ||
9 | |||
10 | SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.6/gtk+-${PV}.tar.bz2 \ | ||
11 | file://help.patch;patch=1 \ | ||
12 | file://no-demos.patch;patch=1 \ | ||
13 | file://no-xwc.patch;patch=1 \ | ||
14 | file://automake-lossage.patch;patch=1 \ | ||
15 | file://gtk+-handhelds.patch;patch=1 \ | ||
16 | file://spinbutton.patch;patch=1 \ | ||
17 | file://hardcoded_libtool.patch;patch=1 \ | ||
18 | file://disable-tooltips.patch;patch=1 \ | ||
19 | file://gtklabel-resize-patch;patch=1 \ | ||
20 | file://menu-deactivate.patch;patch=1 \ | ||
21 | file://xsettings.patch;patch=1 \ | ||
22 | file://scroll-timings.patch;patch=1 \ | ||
23 | file://small-gtkfilesel.patch;patch=1 \ | ||
24 | file://migration.patch;patch=1;pnum=0 \ | ||
25 | file://single-click.patch;patch=1 \ | ||
26 | file://menu-styling.patch;patch=1" | ||
27 | |||
28 | inherit autotools pkgconfig | ||
29 | |||
30 | FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \ | ||
31 | ${bindir}/gtk-update-icon-cache \ | ||
32 | ${bindir}/gtk-query-immodules-2.0 \ | ||
33 | ${libdir}/lib*.so.* \ | ||
34 | ${datadir}/themes ${sysconfdir} \ | ||
35 | ${libdir}/gtk-2.0/${LIBV}/engines/libpixmap.so" | ||
36 | FILES_${PN}-dev += " \ | ||
37 | ${datadir}/gtk-2.0/include \ | ||
38 | ${libdir}/gtk-2.0/include \ | ||
39 | ${libdir}/gtk-2.0/${LIBV}/loaders/*.la \ | ||
40 | ${libdir}/gtk-2.0/${LIBV}/immodules/*.la \ | ||
41 | ${libdir}/gtk-2.0/${LIBV}/engines/*.la \ | ||
42 | ${bindir}/gdk-pixbuf-csource" | ||
43 | FILES_${PN}-dbg += " \ | ||
44 | ${libdir}/gtk-2.0/${LIBV}/loaders/.debug/* \ | ||
45 | ${libdir}/gtk-2.0/${LIBV}/immodules/.debug/* \ | ||
46 | ${libdir}/gtk-2.0/${LIBV}/engines/.debug/*" | ||
47 | |||
48 | |||
49 | RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1 ttf-dejavu-sans" | ||
50 | |||
51 | EXTRA_OECONF = "--without-libtiff --disable-xkb --disable-glibtest --enable-display-migration" | ||
52 | # --disable-cruft | ||
53 | |||
54 | LIBV = "2.4.0" | ||
55 | |||
56 | do_configure_prepend() { | ||
57 | for i in `find . -name "Makefile.am"` | ||
58 | do | ||
59 | sed -e -i s,-DG_DISABLE_DEPRECATED,-DSED_ROCKS_DUDES, $i | ||
60 | done | ||
61 | } | ||
62 | |||
63 | do_stage () { | ||
64 | oe_libinstall -so -C gtk libgtk-x11-2.0 ${STAGING_LIBDIR} | ||
65 | oe_libinstall -so -C gdk libgdk-x11-2.0 ${STAGING_LIBDIR} | ||
66 | oe_libinstall -so -C contrib/gdk-pixbuf-xlib libgdk_pixbuf_xlib-2.0 ${STAGING_LIBDIR} | ||
67 | oe_libinstall -so -C gdk-pixbuf libgdk_pixbuf-2.0 ${STAGING_LIBDIR} | ||
68 | |||
69 | autotools_stage_includes | ||
70 | |||
71 | mkdir -p ${STAGING_LIBDIR}/gtk-2.0/include | ||
72 | install -m 0644 gdk/gdkconfig.h ${STAGING_LIBDIR}/gtk-2.0/include/gdkconfig.h | ||
73 | |||
74 | install -m 0644 m4macros/gtk-2.0.m4 ${STAGING_DATADIR}/aclocal/ | ||
75 | } | ||
76 | |||
77 | do_install_append () { | ||
78 | install -d ${D}${sysconfdir}/gtk-2.0 | ||
79 | } | ||
80 | |||
81 | postinst_prologue() { | ||
82 | if [ "x$D" != "x" ]; then | ||
83 | exit 1 | ||
84 | fi | ||
85 | |||
86 | } | ||
87 | |||
88 | PACKAGES_DYNAMIC = "gdk-pixbuf-loader-* gtk-immodule-*" | ||
89 | |||
90 | python populate_packages_prepend () { | ||
91 | import os.path | ||
92 | |||
93 | prologue = bb.data.getVar("postinst_prologue", d, 1) | ||
94 | |||
95 | gtk_libdir = bb.data.expand('${libdir}/gtk-2.0/${LIBV}', d) | ||
96 | loaders_root = os.path.join(gtk_libdir, 'loaders') | ||
97 | immodules_root = os.path.join(gtk_libdir, 'immodules') | ||
98 | |||
99 | do_split_packages(d, loaders_root, '^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s', prologue + 'gdk-pixbuf-query-loaders > /etc/gtk-2.0/gdk-pixbuf.loaders') | ||
100 | do_split_packages(d, immodules_root, '^im-(.*)\.so$', 'gtk-immodule-%s', 'GTK input module for %s', prologue + 'gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules') | ||
101 | |||
102 | if (bb.data.getVar('DEBIAN_NAMES', d, 1)): | ||
103 | bb.data.setVar('PKG_${PN}', 'libgtk-2.0', d) | ||
104 | } | ||