diff options
Diffstat (limited to 'meta/packages/gtk+/gtk+-2.6.8/gtk+-handhelds.patch')
-rw-r--r-- | meta/packages/gtk+/gtk+-2.6.8/gtk+-handhelds.patch | 186 |
1 files changed, 186 insertions, 0 deletions
diff --git a/meta/packages/gtk+/gtk+-2.6.8/gtk+-handhelds.patch b/meta/packages/gtk+/gtk+-2.6.8/gtk+-handhelds.patch new file mode 100644 index 0000000000..2c5fc39d23 --- /dev/null +++ b/meta/packages/gtk+/gtk+-2.6.8/gtk+-handhelds.patch | |||
@@ -0,0 +1,186 @@ | |||
1 | --- gtk+-2.4.1/gtk/gtkcalendar.c 2004-03-06 14:37:26.000000000 +1100 | ||
2 | +++ gtk+-2.4.1/gtk/gtkcalendar.c 2004-05-26 14:58:57.000000000 +1000 | ||
3 | @@ -340,6 +340,9 @@ | ||
4 | static void gtk_calendar_select_and_focus_day (GtkCalendar *calendar, | ||
5 | guint day); | ||
6 | |||
7 | +static void gtk_calendar_do_select_day (GtkCalendar *calendar, | ||
8 | + guint day); | ||
9 | + | ||
10 | static void gtk_calendar_paint_arrow (GtkWidget *widget, | ||
11 | guint arrow); | ||
12 | static void gtk_calendar_paint_day_num (GtkWidget *widget, | ||
13 | @@ -861,13 +864,13 @@ | ||
14 | if (month_len < calendar->selected_day) | ||
15 | { | ||
16 | calendar->selected_day = 0; | ||
17 | - gtk_calendar_select_day (calendar, month_len); | ||
18 | + gtk_calendar_do_select_day (calendar, month_len); | ||
19 | } | ||
20 | else | ||
21 | { | ||
22 | if (calendar->selected_day < 0) | ||
23 | calendar->selected_day = calendar->selected_day + 1 + month_length[leap (calendar->year)][calendar->month + 1]; | ||
24 | - gtk_calendar_select_day (calendar, calendar->selected_day); | ||
25 | + gtk_calendar_do_select_day (calendar, calendar->selected_day); | ||
26 | } | ||
27 | |||
28 | gtk_widget_queue_draw (GTK_WIDGET (calendar)); | ||
29 | @@ -908,10 +911,10 @@ | ||
30 | if (month_len < calendar->selected_day) | ||
31 | { | ||
32 | calendar->selected_day = 0; | ||
33 | - gtk_calendar_select_day (calendar, month_len); | ||
34 | + gtk_calendar_do_select_day (calendar, month_len); | ||
35 | } | ||
36 | else | ||
37 | - gtk_calendar_select_day (calendar, calendar->selected_day); | ||
38 | + gtk_calendar_do_select_day (calendar, calendar->selected_day); | ||
39 | |||
40 | gtk_widget_queue_draw (GTK_WIDGET (calendar)); | ||
41 | gtk_calendar_thaw (calendar); | ||
42 | @@ -939,10 +942,10 @@ | ||
43 | if (month_len < calendar->selected_day) | ||
44 | { | ||
45 | calendar->selected_day = 0; | ||
46 | - gtk_calendar_select_day (calendar, month_len); | ||
47 | + gtk_calendar_do_select_day (calendar, month_len); | ||
48 | } | ||
49 | else | ||
50 | - gtk_calendar_select_day (calendar, calendar->selected_day); | ||
51 | + gtk_calendar_do_select_day (calendar, calendar->selected_day); | ||
52 | |||
53 | gtk_widget_queue_draw (GTK_WIDGET (calendar)); | ||
54 | gtk_calendar_thaw (calendar); | ||
55 | @@ -974,10 +977,10 @@ | ||
56 | if (month_len < calendar->selected_day) | ||
57 | { | ||
58 | calendar->selected_day = 0; | ||
59 | - gtk_calendar_select_day (calendar, month_len); | ||
60 | + gtk_calendar_do_select_day (calendar, month_len); | ||
61 | } | ||
62 | else | ||
63 | - gtk_calendar_select_day (calendar, calendar->selected_day); | ||
64 | + gtk_calendar_do_select_day (calendar, calendar->selected_day); | ||
65 | |||
66 | gtk_widget_queue_draw (GTK_WIDGET (calendar)); | ||
67 | gtk_calendar_thaw (calendar); | ||
68 | @@ -2480,9 +2483,9 @@ | ||
69 | return TRUE; | ||
70 | } | ||
71 | |||
72 | -void | ||
73 | -gtk_calendar_select_day (GtkCalendar *calendar, | ||
74 | - guint day) | ||
75 | +static void | ||
76 | +gtk_calendar_do_select_day (GtkCalendar *calendar, | ||
77 | + guint day) | ||
78 | { | ||
79 | g_return_if_fail (GTK_IS_CALENDAR (calendar)); | ||
80 | g_return_if_fail (day <= 31); | ||
81 | @@ -2499,6 +2502,13 @@ | ||
82 | if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar))) | ||
83 | gtk_calendar_paint_day_num (GTK_WIDGET (calendar), selected_day); | ||
84 | } | ||
85 | +} | ||
86 | + | ||
87 | +void | ||
88 | +gtk_calendar_select_day (GtkCalendar *calendar, | ||
89 | + guint day) | ||
90 | +{ | ||
91 | + gtk_calendar_do_select_day (calendar, day); | ||
92 | |||
93 | calendar->selected_day = day; | ||
94 | |||
95 | --- gtk+-2.4.1/gtk/gtkentry.c 2004-04-22 08:08:08.000000000 +1000 | ||
96 | +++ gtk+-2.4.1/gtk/gtkentry.c 2004-05-26 14:52:17.000000000 +1000 | ||
97 | @@ -557,6 +557,15 @@ | ||
98 | 0.0, | ||
99 | G_PARAM_READABLE | G_PARAM_WRITABLE)); | ||
100 | |||
101 | + gtk_widget_class_install_style_property (widget_class, | ||
102 | + g_param_spec_int ("min_width", | ||
103 | + _("Minimum width"), | ||
104 | + _("Minimum width of the entry field"), | ||
105 | + 0, | ||
106 | + G_MAXINT, | ||
107 | + MIN_ENTRY_WIDTH, | ||
108 | + G_PARAM_READABLE)); | ||
109 | + | ||
110 | signals[POPULATE_POPUP] = | ||
111 | g_signal_new ("populate_popup", | ||
112 | G_OBJECT_CLASS_TYPE (gobject_class), | ||
113 | @@ -1124,7 +1133,7 @@ | ||
114 | { | ||
115 | GtkEntry *entry = GTK_ENTRY (widget); | ||
116 | PangoFontMetrics *metrics; | ||
117 | - gint xborder, yborder; | ||
118 | + gint xborder, yborder, min_width; | ||
119 | PangoContext *context; | ||
120 | |||
121 | gtk_widget_ensure_style (widget); | ||
122 | @@ -1140,9 +1149,11 @@ | ||
123 | |||
124 | xborder += INNER_BORDER; | ||
125 | yborder += INNER_BORDER; | ||
126 | - | ||
127 | + | ||
128 | + gtk_widget_style_get (widget, "min_width", &min_width, NULL); | ||
129 | + | ||
130 | if (entry->width_chars < 0) | ||
131 | - requisition->width = MIN_ENTRY_WIDTH + xborder * 2; | ||
132 | + requisition->width = min_width + xborder * 2; | ||
133 | else | ||
134 | { | ||
135 | gint char_width = pango_font_metrics_get_approximate_char_width (metrics); | ||
136 | --- gtk+-2.4.1/gtk/gtkrange.c 2004-03-06 14:38:08.000000000 +1100 | ||
137 | +++ gtk+-2.4.1/gtk/gtkrange.c 2004-05-26 14:52:17.000000000 +1000 | ||
138 | @@ -180,6 +180,7 @@ | ||
139 | static GtkWidgetClass *parent_class = NULL; | ||
140 | static guint signals[LAST_SIGNAL]; | ||
141 | |||
142 | +static GdkAtom recognize_protocols_atom, atom_atom; | ||
143 | |||
144 | GType | ||
145 | gtk_range_get_type (void) | ||
146 | @@ -220,6 +221,9 @@ | ||
147 | object_class = (GtkObjectClass*) class; | ||
148 | widget_class = (GtkWidgetClass*) class; | ||
149 | |||
150 | + recognize_protocols_atom = gdk_atom_intern ("RECOGNIZE_PROTOCOLS", FALSE); | ||
151 | + atom_atom = gdk_atom_intern ("ATOM", FALSE); | ||
152 | + | ||
153 | parent_class = g_type_class_peek_parent (class); | ||
154 | |||
155 | gobject_class->set_property = gtk_range_set_property; | ||
156 | @@ -815,6 +819,12 @@ | ||
157 | &attributes, attributes_mask); | ||
158 | gdk_window_set_user_data (range->event_window, range); | ||
159 | |||
160 | + gdk_property_change (range->event_window, | ||
161 | + recognize_protocols_atom, | ||
162 | + atom_atom, | ||
163 | + 32, GDK_PROP_MODE_REPLACE, | ||
164 | + NULL, 0); | ||
165 | + | ||
166 | widget->style = gtk_style_attach (widget->style, widget->window); | ||
167 | } | ||
168 | |||
169 | @@ -1186,7 +1196,7 @@ | ||
170 | |||
171 | /* ignore presses when we're already doing something else. */ | ||
172 | if (range->layout->grab_location != MOUSE_OUTSIDE) | ||
173 | - return FALSE; | ||
174 | + return TRUE; | ||
175 | |||
176 | range->layout->mouse_x = event->x; | ||
177 | range->layout->mouse_y = event->y; | ||
178 | @@ -1364,7 +1374,7 @@ | ||
179 | return TRUE; | ||
180 | } | ||
181 | |||
182 | - return FALSE; | ||
183 | + return TRUE; | ||
184 | } | ||
185 | |||
186 | /** | ||