generic-poky/openembedded/packages/gtk+/gtk+-2.6.4-1.osso7/gtk+-handhelds.patch

237 lines
7.2 KiB
Diff

--- gtk+-2.4.1/gtk/gtkarrow.c 2004-03-13 09:51:13.000000000 +1100
+++ gtk+-2.4.1/gtk/gtkarrow.c 2004-05-26 14:52:17.000000000 +1000
@@ -29,7 +29,7 @@
#include "gtkarrow.h"
#include "gtkintl.h"
-#define MIN_ARROW_SIZE 15
+#define MIN_ARROW_SIZE 7
enum {
PROP_0,
@@ -53,6 +53,8 @@
guint prop_id,
GValue *value,
GParamSpec *pspec);
+static void gtk_arrow_size_request (GtkWidget *arrow,
+ GtkRequisition *requisition);
GType
gtk_arrow_get_type (void)
@@ -111,6 +113,7 @@
G_PARAM_READABLE | G_PARAM_WRITABLE));
widget_class->expose_event = gtk_arrow_expose;
+ widget_class->size_request = gtk_arrow_size_request;
}
static void
@@ -166,13 +169,18 @@
}
static void
+gtk_arrow_size_request (GtkWidget *arrow,
+ GtkRequisition *requisition)
+{
+ requisition->width = MIN_ARROW_SIZE + GTK_MISC (arrow)->xpad * 2;
+ requisition->height = MIN_ARROW_SIZE + GTK_MISC (arrow)->ypad * 2;
+}
+
+static void
gtk_arrow_init (GtkArrow *arrow)
{
GTK_WIDGET_SET_FLAGS (arrow, GTK_NO_WINDOW);
- GTK_WIDGET (arrow)->requisition.width = MIN_ARROW_SIZE + GTK_MISC (arrow)->xpad * 2;
- GTK_WIDGET (arrow)->requisition.height = MIN_ARROW_SIZE + GTK_MISC (arrow)->ypad * 2;
-
arrow->arrow_type = GTK_ARROW_RIGHT;
arrow->shadow_type = GTK_SHADOW_OUT;
}
--- gtk+-2.4.1/gtk/gtkcalendar.c 2004-03-06 14:37:26.000000000 +1100
+++ gtk+-2.4.1/gtk/gtkcalendar.c 2004-05-26 14:58:57.000000000 +1000
@@ -340,6 +340,9 @@
static void gtk_calendar_select_and_focus_day (GtkCalendar *calendar,
guint day);
+static void gtk_calendar_do_select_day (GtkCalendar *calendar,
+ guint day);
+
static void gtk_calendar_paint_arrow (GtkWidget *widget,
guint arrow);
static void gtk_calendar_paint_day_num (GtkWidget *widget,
@@ -861,13 +864,13 @@
if (month_len < calendar->selected_day)
{
calendar->selected_day = 0;
- gtk_calendar_select_day (calendar, month_len);
+ gtk_calendar_do_select_day (calendar, month_len);
}
else
{
if (calendar->selected_day < 0)
calendar->selected_day = calendar->selected_day + 1 + month_length[leap (calendar->year)][calendar->month + 1];
- gtk_calendar_select_day (calendar, calendar->selected_day);
+ gtk_calendar_do_select_day (calendar, calendar->selected_day);
}
gtk_widget_queue_draw (GTK_WIDGET (calendar));
@@ -908,10 +911,10 @@
if (month_len < calendar->selected_day)
{
calendar->selected_day = 0;
- gtk_calendar_select_day (calendar, month_len);
+ gtk_calendar_do_select_day (calendar, month_len);
}
else
- gtk_calendar_select_day (calendar, calendar->selected_day);
+ gtk_calendar_do_select_day (calendar, calendar->selected_day);
gtk_widget_queue_draw (GTK_WIDGET (calendar));
gtk_calendar_thaw (calendar);
@@ -939,10 +942,10 @@
if (month_len < calendar->selected_day)
{
calendar->selected_day = 0;
- gtk_calendar_select_day (calendar, month_len);
+ gtk_calendar_do_select_day (calendar, month_len);
}
else
- gtk_calendar_select_day (calendar, calendar->selected_day);
+ gtk_calendar_do_select_day (calendar, calendar->selected_day);
gtk_widget_queue_draw (GTK_WIDGET (calendar));
gtk_calendar_thaw (calendar);
@@ -974,10 +977,10 @@
if (month_len < calendar->selected_day)
{
calendar->selected_day = 0;
- gtk_calendar_select_day (calendar, month_len);
+ gtk_calendar_do_select_day (calendar, month_len);
}
else
- gtk_calendar_select_day (calendar, calendar->selected_day);
+ gtk_calendar_do_select_day (calendar, calendar->selected_day);
gtk_widget_queue_draw (GTK_WIDGET (calendar));
gtk_calendar_thaw (calendar);
@@ -2480,9 +2483,9 @@
return TRUE;
}
-void
-gtk_calendar_select_day (GtkCalendar *calendar,
- guint day)
+static void
+gtk_calendar_do_select_day (GtkCalendar *calendar,
+ guint day)
{
g_return_if_fail (GTK_IS_CALENDAR (calendar));
g_return_if_fail (day <= 31);
@@ -2499,6 +2502,13 @@
if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
gtk_calendar_paint_day_num (GTK_WIDGET (calendar), selected_day);
}
+}
+
+void
+gtk_calendar_select_day (GtkCalendar *calendar,
+ guint day)
+{
+ gtk_calendar_do_select_day (calendar, day);
calendar->selected_day = day;
--- gtk+-2.4.1/gtk/gtkentry.c 2004-04-22 08:08:08.000000000 +1000
+++ gtk+-2.4.1/gtk/gtkentry.c 2004-05-26 14:52:17.000000000 +1000
@@ -557,6 +557,15 @@
0.0,
G_PARAM_READABLE | G_PARAM_WRITABLE));
+ gtk_widget_class_install_style_property (widget_class,
+ g_param_spec_int ("min_width",
+ _("Minimum width"),
+ _("Minimum width of the entry field"),
+ 0,
+ G_MAXINT,
+ MIN_ENTRY_WIDTH,
+ G_PARAM_READABLE));
+
signals[POPULATE_POPUP] =
g_signal_new ("populate_popup",
G_OBJECT_CLASS_TYPE (gobject_class),
@@ -1124,7 +1133,7 @@
{
GtkEntry *entry = GTK_ENTRY (widget);
PangoFontMetrics *metrics;
- gint xborder, yborder;
+ gint xborder, yborder, min_width;
PangoContext *context;
gtk_widget_ensure_style (widget);
@@ -1140,9 +1149,11 @@
xborder += INNER_BORDER;
yborder += INNER_BORDER;
-
+
+ gtk_widget_style_get (widget, "min_width", &min_width, NULL);
+
if (entry->width_chars < 0)
- requisition->width = MIN_ENTRY_WIDTH + xborder * 2;
+ requisition->width = min_width + xborder * 2;
else
{
gint char_width = pango_font_metrics_get_approximate_char_width (metrics);
--- gtk+-2.4.1/gtk/gtkrange.c 2004-03-06 14:38:08.000000000 +1100
+++ gtk+-2.4.1/gtk/gtkrange.c 2004-05-26 14:52:17.000000000 +1000
@@ -180,6 +180,7 @@
static GtkWidgetClass *parent_class = NULL;
static guint signals[LAST_SIGNAL];
+static GdkAtom recognize_protocols_atom, atom_atom;
GType
gtk_range_get_type (void)
@@ -220,6 +221,9 @@
object_class = (GtkObjectClass*) class;
widget_class = (GtkWidgetClass*) class;
+ recognize_protocols_atom = gdk_atom_intern ("RECOGNIZE_PROTOCOLS", FALSE);
+ atom_atom = gdk_atom_intern ("ATOM", FALSE);
+
parent_class = g_type_class_peek_parent (class);
gobject_class->set_property = gtk_range_set_property;
@@ -815,6 +819,12 @@
&attributes, attributes_mask);
gdk_window_set_user_data (range->event_window, range);
+ gdk_property_change (range->event_window,
+ recognize_protocols_atom,
+ atom_atom,
+ 32, GDK_PROP_MODE_REPLACE,
+ NULL, 0);
+
widget->style = gtk_style_attach (widget->style, widget->window);
}
@@ -1186,7 +1196,7 @@
/* ignore presses when we're already doing something else. */
if (range->layout->grab_location != MOUSE_OUTSIDE)
- return FALSE;
+ return TRUE;
range->layout->mouse_x = event->x;
range->layout->mouse_y = event->y;
@@ -1364,7 +1374,7 @@
return TRUE;
}
- return FALSE;
+ return TRUE;
}
/**