diff options
author | Richard Purdie <richard@openedhand.com> | 2005-12-23 00:36:23 +0000 |
---|---|---|
committer | Richard Purdie <richard@openedhand.com> | 2005-12-23 00:36:23 +0000 |
commit | f0ecf5b5eefa0e6489de08ccd747ef007e7ce352 (patch) | |
tree | ce53e4e822fd3721e2b5c7cd1309d0d65ca04e75 /openembedded/packages/gtk+ | |
parent | f2bf93642c1280ac5952ed2373e61818c0d2f969 (diff) | |
download | poky-f0ecf5b5eefa0e6489de08ccd747ef007e7ce352.tar.gz |
add gtk+2.8.9 and eds-feed (galago)
git-svn-id: https://svn.o-hand.com/repos/poky@212 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'openembedded/packages/gtk+')
15 files changed, 1123 insertions, 0 deletions
diff --git a/openembedded/packages/gtk+/gtk+-2.8.9/automake-lossage.patch b/openembedded/packages/gtk+/gtk+-2.8.9/automake-lossage.patch new file mode 100644 index 0000000000..0d423ddbb9 --- /dev/null +++ b/openembedded/packages/gtk+/gtk+-2.8.9/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/openembedded/packages/gtk+/gtk+-2.8.9/disable-tooltips.patch b/openembedded/packages/gtk+/gtk+-2.8.9/disable-tooltips.patch new file mode 100644 index 0000000000..d71d839c3c --- /dev/null +++ b/openembedded/packages/gtk+/gtk+-2.8.9/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/openembedded/packages/gtk+/gtk+-2.8.9/gtk+-handhelds.patch b/openembedded/packages/gtk+/gtk+-2.8.9/gtk+-handhelds.patch new file mode 100644 index 0000000000..4b97373f32 --- /dev/null +++ b/openembedded/packages/gtk+/gtk+-2.8.9/gtk+-handhelds.patch | |||
@@ -0,0 +1,264 @@ | |||
1 | --- gtk+-2.8.6/gtk/gtkrange.c.orig 2005-12-07 21:13:33 +0100 | ||
2 | +++ gtk+-2.8.6/gtk/gtkrange.c 2005-12-07 21:21:12 +0100 | ||
3 | @@ -186,6 +186,7 @@ | ||
4 | static GtkWidgetClass *parent_class = NULL; | ||
5 | static guint signals[LAST_SIGNAL]; | ||
6 | |||
7 | +static GdkAtom recognize_protocols_atom, atom_atom; | ||
8 | |||
9 | GType | ||
10 | gtk_range_get_type (void) | ||
11 | @@ -226,6 +227,9 @@ | ||
12 | object_class = (GtkObjectClass*) class; | ||
13 | widget_class = (GtkWidgetClass*) class; | ||
14 | |||
15 | + recognize_protocols_atom = gdk_atom_intern ("RECOGNIZE_PROTOCOLS", FALSE); | ||
16 | + atom_atom = gdk_atom_intern ("ATOM", FALSE); | ||
17 | + | ||
18 | parent_class = g_type_class_peek_parent (class); | ||
19 | |||
20 | gobject_class->set_property = gtk_range_set_property; | ||
21 | @@ -860,6 +864,12 @@ | ||
22 | &attributes, attributes_mask); | ||
23 | gdk_window_set_user_data (range->event_window, range); | ||
24 | |||
25 | + gdk_property_change (range->event_window, | ||
26 | + recognize_protocols_atom, | ||
27 | + atom_atom, | ||
28 | + 32, GDK_PROP_MODE_REPLACE, | ||
29 | + NULL, 0); | ||
30 | + | ||
31 | widget->style = gtk_style_attach (widget->style, widget->window); | ||
32 | } | ||
33 | |||
34 | @@ -1229,7 +1239,7 @@ | ||
35 | |||
36 | /* ignore presses when we're already doing something else. */ | ||
37 | if (range->layout->grab_location != MOUSE_OUTSIDE) | ||
38 | - return FALSE; | ||
39 | + return TRUE; | ||
40 | |||
41 | range->layout->mouse_x = event->x; | ||
42 | range->layout->mouse_y = event->y; | ||
43 | @@ -1429,7 +1439,7 @@ | ||
44 | return TRUE; | ||
45 | } | ||
46 | |||
47 | - return FALSE; | ||
48 | + return TRUE; | ||
49 | } | ||
50 | |||
51 | /** | ||
52 | --- gtk+-2.8.6/gtk/gtkentry.c.orig 2005-09-02 21:51:06 +0200 | ||
53 | +++ gtk+-2.8.6/gtk/gtkentry.c 2005-12-07 21:21:12 +0100 | ||
54 | @@ -597,6 +597,15 @@ | ||
55 | 0.0, | ||
56 | GTK_PARAM_READWRITE)); | ||
57 | |||
58 | + gtk_widget_class_install_style_property (widget_class, | ||
59 | + g_param_spec_int ("min_width", | ||
60 | + _("Minimum width"), | ||
61 | + _("Minimum width of the entry field"), | ||
62 | + 0, | ||
63 | + G_MAXINT, | ||
64 | + MIN_ENTRY_WIDTH, | ||
65 | + G_PARAM_READABLE)); | ||
66 | + | ||
67 | signals[POPULATE_POPUP] = | ||
68 | g_signal_new ("populate_popup", | ||
69 | G_OBJECT_CLASS_TYPE (gobject_class), | ||
70 | @@ -1227,7 +1236,7 @@ | ||
71 | { | ||
72 | GtkEntry *entry = GTK_ENTRY (widget); | ||
73 | PangoFontMetrics *metrics; | ||
74 | - gint xborder, yborder; | ||
75 | + gint xborder, yborder, min_width; | ||
76 | PangoContext *context; | ||
77 | |||
78 | gtk_widget_ensure_style (widget); | ||
79 | @@ -1243,9 +1252,11 @@ | ||
80 | |||
81 | xborder += INNER_BORDER; | ||
82 | yborder += INNER_BORDER; | ||
83 | - | ||
84 | + | ||
85 | + gtk_widget_style_get (widget, "min_width", &min_width, NULL); | ||
86 | + | ||
87 | if (entry->width_chars < 0) | ||
88 | - requisition->width = MIN_ENTRY_WIDTH + xborder * 2; | ||
89 | + requisition->width = min_width + xborder * 2; | ||
90 | else | ||
91 | { | ||
92 | gint char_width = pango_font_metrics_get_approximate_char_width (metrics); | ||
93 | --- gtk+-2.8.6/gtk/gtkarrow.c.orig 2005-06-21 17:38:39 +0200 | ||
94 | +++ gtk+-2.8.6/gtk/gtkarrow.c 2005-12-07 21:21:12 +0100 | ||
95 | @@ -31,7 +31,7 @@ | ||
96 | #include "gtkintl.h" | ||
97 | #include "gtkalias.h" | ||
98 | |||
99 | -#define MIN_ARROW_SIZE 15 | ||
100 | +#define MIN_ARROW_SIZE 7 | ||
101 | |||
102 | enum { | ||
103 | PROP_0, | ||
104 | @@ -55,6 +55,8 @@ | ||
105 | guint prop_id, | ||
106 | GValue *value, | ||
107 | GParamSpec *pspec); | ||
108 | +static void gtk_arrow_size_request (GtkWidget *arrow, | ||
109 | + GtkRequisition *requisition); | ||
110 | |||
111 | GType | ||
112 | gtk_arrow_get_type (void) | ||
113 | @@ -113,6 +115,7 @@ | ||
114 | GTK_PARAM_READWRITE)); | ||
115 | |||
116 | widget_class->expose_event = gtk_arrow_expose; | ||
117 | + widget_class->size_request = gtk_arrow_size_request; | ||
118 | } | ||
119 | |||
120 | static void | ||
121 | @@ -168,13 +171,18 @@ | ||
122 | } | ||
123 | |||
124 | static void | ||
125 | +gtk_arrow_size_request (GtkWidget *arrow, | ||
126 | + GtkRequisition *requisition) | ||
127 | +{ | ||
128 | + requisition->width = MIN_ARROW_SIZE + GTK_MISC (arrow)->xpad * 2; | ||
129 | + requisition->height = MIN_ARROW_SIZE + GTK_MISC (arrow)->ypad * 2; | ||
130 | +} | ||
131 | + | ||
132 | +static void | ||
133 | gtk_arrow_init (GtkArrow *arrow) | ||
134 | { | ||
135 | GTK_WIDGET_SET_FLAGS (arrow, GTK_NO_WINDOW); | ||
136 | |||
137 | - GTK_WIDGET (arrow)->requisition.width = MIN_ARROW_SIZE + GTK_MISC (arrow)->xpad * 2; | ||
138 | - GTK_WIDGET (arrow)->requisition.height = MIN_ARROW_SIZE + GTK_MISC (arrow)->ypad * 2; | ||
139 | - | ||
140 | arrow->arrow_type = GTK_ARROW_RIGHT; | ||
141 | arrow->shadow_type = GTK_SHADOW_OUT; | ||
142 | } | ||
143 | --- gtk+-2.8.6/gtk/gtkcalendar.c.orig 2005-12-07 21:36:14 +0100 | ||
144 | +++ gtk+-2.8.6/gtk/gtkcalendar.c 2005-12-07 21:49:21 +0100 | ||
145 | @@ -692,6 +692,35 @@ | ||
146 | ****************************************/ | ||
147 | |||
148 | static void | ||
149 | +calendar_select_day (GtkCalendar *calendar, guint day) | ||
150 | +{ | ||
151 | + g_return_if_fail (GTK_IS_CALENDAR (calendar)); | ||
152 | + g_return_if_fail (day <= 31); | ||
153 | + | ||
154 | + /* Deselect the old day */ | ||
155 | + if (calendar->selected_day > 0) | ||
156 | + { | ||
157 | + gint selected_day; | ||
158 | + | ||
159 | + selected_day = calendar->selected_day; | ||
160 | + calendar->selected_day = 0; | ||
161 | + if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar))) | ||
162 | + calendar_invalidate_day_num (calendar, selected_day); | ||
163 | + } | ||
164 | + | ||
165 | + calendar->selected_day = day; | ||
166 | + | ||
167 | + /* Select the new day */ | ||
168 | + if (day != 0) | ||
169 | + { | ||
170 | + if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar))) | ||
171 | + calendar_invalidate_day_num (calendar, day); | ||
172 | + } | ||
173 | + | ||
174 | + g_object_notify (G_OBJECT (calendar), "day"); | ||
175 | +} | ||
176 | + | ||
177 | +static void | ||
178 | calendar_set_month_next (GtkCalendar *calendar) | ||
179 | { | ||
180 | gint month_len; | ||
181 | @@ -723,10 +752,10 @@ | ||
182 | if (month_len < calendar->selected_day) | ||
183 | { | ||
184 | calendar->selected_day = 0; | ||
185 | - gtk_calendar_select_day (calendar, month_len); | ||
186 | + calendar_select_day (calendar, month_len); | ||
187 | } | ||
188 | else | ||
189 | - gtk_calendar_select_day (calendar, calendar->selected_day); | ||
190 | + calendar_select_day (calendar, calendar->selected_day); | ||
191 | |||
192 | gtk_widget_queue_draw (GTK_WIDGET (calendar)); | ||
193 | } | ||
194 | @@ -752,10 +781,10 @@ | ||
195 | if (month_len < calendar->selected_day) | ||
196 | { | ||
197 | calendar->selected_day = 0; | ||
198 | - gtk_calendar_select_day (calendar, month_len); | ||
199 | + calendar_select_day (calendar, month_len); | ||
200 | } | ||
201 | else | ||
202 | - gtk_calendar_select_day (calendar, calendar->selected_day); | ||
203 | + calendar_select_day (calendar, calendar->selected_day); | ||
204 | |||
205 | gtk_widget_queue_draw (GTK_WIDGET (calendar)); | ||
206 | } | ||
207 | @@ -784,10 +813,10 @@ | ||
208 | if (month_len < calendar->selected_day) | ||
209 | { | ||
210 | calendar->selected_day = 0; | ||
211 | - gtk_calendar_select_day (calendar, month_len); | ||
212 | + calendar_select_day (calendar, month_len); | ||
213 | } | ||
214 | else | ||
215 | - gtk_calendar_select_day (calendar, calendar->selected_day); | ||
216 | + calendar_select_day (calendar, calendar->selected_day); | ||
217 | |||
218 | gtk_widget_queue_draw (GTK_WIDGET (calendar)); | ||
219 | } | ||
220 | @@ -1088,13 +1117,13 @@ | ||
221 | if (month_len < calendar->selected_day) | ||
222 | { | ||
223 | calendar->selected_day = 0; | ||
224 | - gtk_calendar_select_day (calendar, month_len); | ||
225 | + calendar_select_day (calendar, month_len); | ||
226 | } | ||
227 | else | ||
228 | { | ||
229 | if (calendar->selected_day < 0) | ||
230 | calendar->selected_day = calendar->selected_day + 1 + month_length[leap (calendar->year)][calendar->month + 1]; | ||
231 | - gtk_calendar_select_day (calendar, calendar->selected_day); | ||
232 | + calendar_select_day (calendar, calendar->selected_day); | ||
233 | } | ||
234 | |||
235 | gtk_widget_queue_draw (GTK_WIDGET (calendar)); | ||
236 | @@ -3285,27 +3314,7 @@ | ||
237 | g_return_if_fail (GTK_IS_CALENDAR (calendar)); | ||
238 | g_return_if_fail (day <= 31); | ||
239 | |||
240 | - /* Deselect the old day */ | ||
241 | - if (calendar->selected_day > 0) | ||
242 | - { | ||
243 | - gint selected_day; | ||
244 | - | ||
245 | - selected_day = calendar->selected_day; | ||
246 | - calendar->selected_day = 0; | ||
247 | - if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar))) | ||
248 | - calendar_invalidate_day_num (calendar, selected_day); | ||
249 | - } | ||
250 | - | ||
251 | - calendar->selected_day = day; | ||
252 | - | ||
253 | - /* Select the new day */ | ||
254 | - if (day != 0) | ||
255 | - { | ||
256 | - if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar))) | ||
257 | - calendar_invalidate_day_num (calendar, day); | ||
258 | - } | ||
259 | - | ||
260 | - g_object_notify (G_OBJECT (calendar), "day"); | ||
261 | + calendar_select_day (calendar, day); | ||
262 | |||
263 | g_signal_emit (calendar, | ||
264 | gtk_calendar_signals[DAY_SELECTED_SIGNAL], | ||
diff --git a/openembedded/packages/gtk+/gtk+-2.8.9/gtklabel-resize-patch b/openembedded/packages/gtk+/gtk+-2.8.9/gtklabel-resize-patch new file mode 100644 index 0000000000..df29656343 --- /dev/null +++ b/openembedded/packages/gtk+/gtk+-2.8.9/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/openembedded/packages/gtk+/gtk+-2.8.9/hardcoded_libtool.patch b/openembedded/packages/gtk+/gtk+-2.8.9/hardcoded_libtool.patch new file mode 100644 index 0000000000..b2afddcc61 --- /dev/null +++ b/openembedded/packages/gtk+/gtk+-2.8.9/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/openembedded/packages/gtk+/gtk+-2.8.9/menu-deactivate.patch b/openembedded/packages/gtk+/gtk+-2.8.9/menu-deactivate.patch new file mode 100644 index 0000000000..29e665fbf3 --- /dev/null +++ b/openembedded/packages/gtk+/gtk+-2.8.9/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/openembedded/packages/gtk+/gtk+-2.8.9/no-demos.patch b/openembedded/packages/gtk+/gtk+-2.8.9/no-demos.patch new file mode 100644 index 0000000000..0145067ad5 --- /dev/null +++ b/openembedded/packages/gtk+/gtk+-2.8.9/no-demos.patch | |||
@@ -0,0 +1,10 @@ | |||
1 | --- gtk+-2.8.6/Makefile.am.orig 2005-12-07 21:30:56 +0100 | ||
2 | +++ gtk+-2.8.6/Makefile.am 2005-12-07 21:31:10 +0100 | ||
3 | @@ -1,6 +1,6 @@ | ||
4 | ## Makefile.am for GTK+ | ||
5 | |||
6 | -SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests perf contrib | ||
7 | +SRC_SUBDIRS = gdk-pixbuf gdk gtk modules tests perf contrib | ||
8 | SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros | ||
9 | |||
10 | # require automake 1.4 | ||
diff --git a/openembedded/packages/gtk+/gtk+-2.8.9/no-xwc.patch b/openembedded/packages/gtk+/gtk+-2.8.9/no-xwc.patch new file mode 100644 index 0000000000..affb4a303e --- /dev/null +++ b/openembedded/packages/gtk+/gtk+-2.8.9/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/openembedded/packages/gtk+/gtk+-2.8.9/scroll-timings.patch b/openembedded/packages/gtk+/gtk+-2.8.9/scroll-timings.patch new file mode 100644 index 0000000000..a38b21dcc2 --- /dev/null +++ b/openembedded/packages/gtk+/gtk+-2.8.9/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/openembedded/packages/gtk+/gtk+-2.8.9/single-click.patch b/openembedded/packages/gtk+/gtk+-2.8.9/single-click.patch new file mode 100644 index 0000000000..1bf0db12a8 --- /dev/null +++ b/openembedded/packages/gtk+/gtk+-2.8.9/single-click.patch | |||
@@ -0,0 +1,36 @@ | |||
1 | --- gtk+-2.8.6/gtk/gtkfilesel.c.orig 2005-12-07 21:13:33 +0100 | ||
2 | +++ gtk+-2.8.6/gtk/gtkfilesel.c 2005-12-07 21:14:56 +0100 | ||
3 | @@ -2461,6 +2461,33 @@ | ||
4 | if (fs->last_selected != NULL) | ||
5 | g_free (fs->last_selected); | ||
6 | |||
7 | + // Single-click directory entry | ||
8 | + if (new_names->len == 1) | ||
9 | + { | ||
10 | + GtkTreeView *tree_view; | ||
11 | + GtkTreeModel *model; | ||
12 | + GtkTreePath *path; | ||
13 | + GtkTreeIter iter; | ||
14 | + gboolean is_file; | ||
15 | + | ||
16 | + tree_view = gtk_tree_selection_get_tree_view (selection); | ||
17 | + | ||
18 | + if (gtk_tree_selection_get_selected (selection, &model, &iter)) | ||
19 | + { | ||
20 | + path = gtk_tree_model_get_path (model, &iter); | ||
21 | + gtk_tree_model_get (model, &iter, ISFILE_COLUMN, &is_file, -1); | ||
22 | + | ||
23 | + if (!is_file) | ||
24 | + { | ||
25 | + gtk_file_selection_dir_activate (tree_view, path, | ||
26 | + gtk_tree_view_get_column (tree_view, DIR_COLUMN), | ||
27 | + user_data); | ||
28 | + } | ||
29 | + | ||
30 | + gtk_tree_path_free (path); | ||
31 | + } | ||
32 | + } | ||
33 | + | ||
34 | fs->last_selected = g_strdup (g_ptr_array_index (new_names, index)); | ||
35 | filename = get_real_filename (fs->last_selected, FALSE); | ||
36 | |||
diff --git a/openembedded/packages/gtk+/gtk+-2.8.9/small-gtkfilesel.patch b/openembedded/packages/gtk+/gtk+-2.8.9/small-gtkfilesel.patch new file mode 100644 index 0000000000..20bf4cf366 --- /dev/null +++ b/openembedded/packages/gtk+/gtk+-2.8.9/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/openembedded/packages/gtk+/gtk+-2.8.9/spinbutton.patch b/openembedded/packages/gtk+/gtk+-2.8.9/spinbutton.patch new file mode 100644 index 0000000000..8ad7507af0 --- /dev/null +++ b/openembedded/packages/gtk+/gtk+-2.8.9/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/openembedded/packages/gtk+/gtk+-2.8.9/treeviewfix.patch b/openembedded/packages/gtk+/gtk+-2.8.9/treeviewfix.patch new file mode 100644 index 0000000000..0608075ed4 --- /dev/null +++ b/openembedded/packages/gtk+/gtk+-2.8.9/treeviewfix.patch | |||
@@ -0,0 +1,29 @@ | |||
1 | Index: gtktreeview.c | ||
2 | =================================================================== | ||
3 | RCS file: /cvs/gnome/gtk+/gtk/gtktreeview.c,v | ||
4 | retrieving revision 1.498 | ||
5 | diff -u -p -r1.498 gtktreeview.c | ||
6 | --- gtk+-2.8.9/gtk/gtktreeview.c.old 22 Oct 2005 21:08:23 -0000 1.498 | ||
7 | +++ gtk+-2.8.9/gtk/gtktreeview.c 24 Oct 2005 22:30:27 -0000 | ||
8 | @@ -2098,6 +2098,9 @@ gtk_tree_view_size_allocate (GtkWidget | ||
9 | /* now the adjustments and window sizes are in sync, we can sync toprow/dy again */ | ||
10 | if (tree_view->priv->height <= tree_view->priv->vadjustment->page_size) | ||
11 | gtk_adjustment_set_value (GTK_ADJUSTMENT (tree_view->priv->vadjustment), 0); | ||
12 | + else if (tree_view->priv->vadjustment->value + tree_view->priv->vadjustment->page_size > tree_view->priv->height) | ||
13 | + gtk_adjustment_set_value (GTK_ADJUSTMENT (tree_view->priv->vadjustment), | ||
14 | + tree_view->priv->height - tree_view->priv->vadjustment->page_size); | ||
15 | else if (gtk_tree_row_reference_valid (tree_view->priv->top_row)) | ||
16 | gtk_tree_view_top_row_to_dy (tree_view); | ||
17 | else | ||
18 | @ -5031,6 +5034,11 @@ validate_visible_area (GtkTreeView *tree | ||
19 | * else than zero. we update top_row to be in sync with dy = 0. | ||
20 | */ | ||
21 | gtk_adjustment_set_value (GTK_ADJUSTMENT (tree_view->priv->vadjustment), 0); | ||
22 | + gtk_tree_view_dy_to_top_row (tree_view); | ||
23 | + } | ||
24 | + else if (tree_view->priv->vadjustment->value + tree_view->priv->vadjustment->page_size > tree_view->priv->height) | ||
25 | + { | ||
26 | + gtk_adjustment_set_value (GTK_ADJUSTMENT (tree_view->priv->vadjustment), tree_view->priv->height - tree_view->priv->vadjustment->page_size); | ||
27 | gtk_tree_view_dy_to_top_row (tree_view); | ||
28 | } | ||
29 | else | ||
diff --git a/openembedded/packages/gtk+/gtk+-2.8.9/xsettings.patch b/openembedded/packages/gtk+/gtk+-2.8.9/xsettings.patch new file mode 100644 index 0000000000..b63e262d34 --- /dev/null +++ b/openembedded/packages/gtk+/gtk+-2.8.9/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/openembedded/packages/gtk+/gtk+_2.8.9.bb b/openembedded/packages/gtk+/gtk+_2.8.9.bb new file mode 100644 index 0000000000..454c0d79d0 --- /dev/null +++ b/openembedded/packages/gtk+/gtk+_2.8.9.bb | |||
@@ -0,0 +1,83 @@ | |||
1 | LICENSE = "LGPL" | ||
2 | DESCRIPTION = "GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \ | ||
3 | set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites." | ||
4 | HOMEPAGE = "http://www.gtk.org" | ||
5 | SECTION = "libs" | ||
6 | PRIORITY = "optional" | ||
7 | MAINTAINER = "Philip Blundell <pb@handhelds.org>" | ||
8 | DEPENDS = "glib-2.0 pango atk jpeg libpng xext libxcursor gtk-doc libgcrypt cairo" | ||
9 | PR = "r0" | ||
10 | |||
11 | SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.8/gtk+-${PV}.tar.bz2 \ | ||
12 | file://no-xwc.patch;patch=1 \ | ||
13 | file://automake-lossage.patch;patch=1 \ | ||
14 | file://spinbutton.patch;patch=1 \ | ||
15 | file://hardcoded_libtool.patch;patch=1 \ | ||
16 | file://disable-tooltips.patch;patch=1 \ | ||
17 | file://gtklabel-resize-patch;patch=1 \ | ||
18 | file://treeviewfix.patch;patch=1" | ||
19 | # file://menu-deactivate.patch;patch=1 \ | ||
20 | # file://xsettings.patch;patch=1 \ | ||
21 | # file://scroll-timings.patch;patch=1 \ | ||
22 | # file://small-gtkfilesel.patch;patch=1 \ | ||
23 | # file://migration.patch;patch=1;pnum=0 \ | ||
24 | # file://no-demos.patch;patch=1 \ | ||
25 | # file://gtk+-handhelds.patch;patch=1 \ | ||
26 | # file://single-click.patch;patch=1" | ||
27 | |||
28 | inherit autotools pkgconfig | ||
29 | |||
30 | FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \ | ||
31 | ${bindir}/gtk-query-immodules-2.0 \ | ||
32 | ${libdir}/lib*.so.* \ | ||
33 | ${datadir}/themes ${sysconfdir} \ | ||
34 | ${libdir}/gtk-2.0/${LIBV}/engines/libpixmap.so" | ||
35 | FILES_${PN}-dev += "${datadir}/gtk-2.0/include ${libdir}/gtk-2.0/include ${bindir}/gdk-pixbuf-csource" | ||
36 | |||
37 | RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1" | ||
38 | |||
39 | EXTRA_OECONF = "--without-libtiff --disable-xkb --disable-glibtest --enable-display-migration" | ||
40 | # --disable-cruft | ||
41 | |||
42 | LIBV = "2.4.0" | ||
43 | |||
44 | do_stage () { | ||
45 | oe_libinstall -so -C gtk libgtk-x11-2.0 ${STAGING_LIBDIR} | ||
46 | oe_libinstall -so -C gdk libgdk-x11-2.0 ${STAGING_LIBDIR} | ||
47 | oe_libinstall -so -C contrib/gdk-pixbuf-xlib libgdk_pixbuf_xlib-2.0 ${STAGING_LIBDIR} | ||
48 | oe_libinstall -so -C gdk-pixbuf libgdk_pixbuf-2.0 ${STAGING_LIBDIR} | ||
49 | |||
50 | autotools_stage_includes | ||
51 | |||
52 | mkdir -p ${STAGING_LIBDIR}/gtk-2.0/include | ||
53 | install -m 0644 gdk/gdkconfig.h ${STAGING_LIBDIR}/gtk-2.0/include/gdkconfig.h | ||
54 | |||
55 | install -m 0644 m4macros/gtk-2.0.m4 ${STAGING_DATADIR}/aclocal/ | ||
56 | } | ||
57 | |||
58 | do_install_append () { | ||
59 | install -d ${D}${sysconfdir}/gtk-2.0 | ||
60 | } | ||
61 | |||
62 | postinst_prologue() { | ||
63 | if [ "x$D" != "x" ]; then | ||
64 | exit 1 | ||
65 | fi | ||
66 | |||
67 | } | ||
68 | |||
69 | python populate_packages_prepend () { | ||
70 | import os.path | ||
71 | |||
72 | prologue = bb.data.getVar("postinst_prologue", d, 1) | ||
73 | |||
74 | gtk_libdir = bb.data.expand('${libdir}/gtk-2.0/${LIBV}', d) | ||
75 | loaders_root = os.path.join(gtk_libdir, 'loaders') | ||
76 | immodules_root = os.path.join(gtk_libdir, 'immodules') | ||
77 | |||
78 | 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') | ||
79 | do_split_packages(d, immodules_root, '^im-(.*)\.so$', 'gtk-immodule-%s', 'GTK input module for %s', prologue + 'gtk-query-immodules > /etc/gtk-2.0/gtk.immodules') | ||
80 | |||
81 | if (bb.data.getVar('DEBIAN_NAMES', d, 1)): | ||
82 | bb.data.setVar('PKG_${PN}', 'libgtk-2.0', d) | ||
83 | } | ||