265 lines
7.6 KiB
Diff
265 lines
7.6 KiB
Diff
--- gtk+-2.8.6/gtk/gtkrange.c.orig 2005-12-07 21:13:33 +0100
|
|
+++ gtk+-2.8.6/gtk/gtkrange.c 2005-12-07 21:21:12 +0100
|
|
@@ -186,6 +186,7 @@
|
|
static GtkWidgetClass *parent_class = NULL;
|
|
static guint signals[LAST_SIGNAL];
|
|
|
|
+static GdkAtom recognize_protocols_atom, atom_atom;
|
|
|
|
GType
|
|
gtk_range_get_type (void)
|
|
@@ -226,6 +227,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;
|
|
@@ -860,6 +864,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);
|
|
}
|
|
|
|
@@ -1229,7 +1239,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;
|
|
@@ -1429,7 +1439,7 @@
|
|
return TRUE;
|
|
}
|
|
|
|
- return FALSE;
|
|
+ return TRUE;
|
|
}
|
|
|
|
/**
|
|
--- gtk+-2.8.6/gtk/gtkentry.c.orig 2005-09-02 21:51:06 +0200
|
|
+++ gtk+-2.8.6/gtk/gtkentry.c 2005-12-07 21:21:12 +0100
|
|
@@ -597,6 +597,15 @@
|
|
0.0,
|
|
GTK_PARAM_READWRITE));
|
|
|
|
+ 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),
|
|
@@ -1227,7 +1236,7 @@
|
|
{
|
|
GtkEntry *entry = GTK_ENTRY (widget);
|
|
PangoFontMetrics *metrics;
|
|
- gint xborder, yborder;
|
|
+ gint xborder, yborder, min_width;
|
|
PangoContext *context;
|
|
|
|
gtk_widget_ensure_style (widget);
|
|
@@ -1243,9 +1252,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.8.6/gtk/gtkarrow.c.orig 2005-06-21 17:38:39 +0200
|
|
+++ gtk+-2.8.6/gtk/gtkarrow.c 2005-12-07 21:21:12 +0100
|
|
@@ -31,7 +31,7 @@
|
|
#include "gtkintl.h"
|
|
#include "gtkalias.h"
|
|
|
|
-#define MIN_ARROW_SIZE 15
|
|
+#define MIN_ARROW_SIZE 7
|
|
|
|
enum {
|
|
PROP_0,
|
|
@@ -55,6 +55,8 @@
|
|
guint prop_id,
|
|
GValue *value,
|
|
GParamSpec *pspec);
|
|
+static void gtk_arrow_size_request (GtkWidget *arrow,
|
|
+ GtkRequisition *requisition);
|
|
|
|
GType
|
|
gtk_arrow_get_type (void)
|
|
@@ -113,6 +115,7 @@
|
|
GTK_PARAM_READWRITE));
|
|
|
|
widget_class->expose_event = gtk_arrow_expose;
|
|
+ widget_class->size_request = gtk_arrow_size_request;
|
|
}
|
|
|
|
static void
|
|
@@ -168,13 +171,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.8.6/gtk/gtkcalendar.c.orig 2005-12-07 21:36:14 +0100
|
|
+++ gtk+-2.8.6/gtk/gtkcalendar.c 2005-12-07 21:49:21 +0100
|
|
@@ -692,6 +692,35 @@
|
|
****************************************/
|
|
|
|
static void
|
|
+calendar_select_day (GtkCalendar *calendar, guint day)
|
|
+{
|
|
+ g_return_if_fail (GTK_IS_CALENDAR (calendar));
|
|
+ g_return_if_fail (day <= 31);
|
|
+
|
|
+ /* Deselect the old day */
|
|
+ if (calendar->selected_day > 0)
|
|
+ {
|
|
+ gint selected_day;
|
|
+
|
|
+ selected_day = calendar->selected_day;
|
|
+ calendar->selected_day = 0;
|
|
+ if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
|
|
+ calendar_invalidate_day_num (calendar, selected_day);
|
|
+ }
|
|
+
|
|
+ calendar->selected_day = day;
|
|
+
|
|
+ /* Select the new day */
|
|
+ if (day != 0)
|
|
+ {
|
|
+ if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
|
|
+ calendar_invalidate_day_num (calendar, day);
|
|
+ }
|
|
+
|
|
+ g_object_notify (G_OBJECT (calendar), "day");
|
|
+}
|
|
+
|
|
+static void
|
|
calendar_set_month_next (GtkCalendar *calendar)
|
|
{
|
|
gint month_len;
|
|
@@ -723,10 +752,10 @@
|
|
if (month_len < calendar->selected_day)
|
|
{
|
|
calendar->selected_day = 0;
|
|
- gtk_calendar_select_day (calendar, month_len);
|
|
+ calendar_select_day (calendar, month_len);
|
|
}
|
|
else
|
|
- gtk_calendar_select_day (calendar, calendar->selected_day);
|
|
+ calendar_select_day (calendar, calendar->selected_day);
|
|
|
|
gtk_widget_queue_draw (GTK_WIDGET (calendar));
|
|
}
|
|
@@ -752,10 +781,10 @@
|
|
if (month_len < calendar->selected_day)
|
|
{
|
|
calendar->selected_day = 0;
|
|
- gtk_calendar_select_day (calendar, month_len);
|
|
+ calendar_select_day (calendar, month_len);
|
|
}
|
|
else
|
|
- gtk_calendar_select_day (calendar, calendar->selected_day);
|
|
+ calendar_select_day (calendar, calendar->selected_day);
|
|
|
|
gtk_widget_queue_draw (GTK_WIDGET (calendar));
|
|
}
|
|
@@ -784,10 +813,10 @@
|
|
if (month_len < calendar->selected_day)
|
|
{
|
|
calendar->selected_day = 0;
|
|
- gtk_calendar_select_day (calendar, month_len);
|
|
+ calendar_select_day (calendar, month_len);
|
|
}
|
|
else
|
|
- gtk_calendar_select_day (calendar, calendar->selected_day);
|
|
+ calendar_select_day (calendar, calendar->selected_day);
|
|
|
|
gtk_widget_queue_draw (GTK_WIDGET (calendar));
|
|
}
|
|
@@ -1088,13 +1117,13 @@
|
|
if (month_len < calendar->selected_day)
|
|
{
|
|
calendar->selected_day = 0;
|
|
- gtk_calendar_select_day (calendar, month_len);
|
|
+ calendar_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);
|
|
+ calendar_select_day (calendar, calendar->selected_day);
|
|
}
|
|
|
|
gtk_widget_queue_draw (GTK_WIDGET (calendar));
|
|
@@ -3285,27 +3314,7 @@
|
|
g_return_if_fail (GTK_IS_CALENDAR (calendar));
|
|
g_return_if_fail (day <= 31);
|
|
|
|
- /* Deselect the old day */
|
|
- if (calendar->selected_day > 0)
|
|
- {
|
|
- gint selected_day;
|
|
-
|
|
- selected_day = calendar->selected_day;
|
|
- calendar->selected_day = 0;
|
|
- if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
|
|
- calendar_invalidate_day_num (calendar, selected_day);
|
|
- }
|
|
-
|
|
- calendar->selected_day = day;
|
|
-
|
|
- /* Select the new day */
|
|
- if (day != 0)
|
|
- {
|
|
- if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
|
|
- calendar_invalidate_day_num (calendar, day);
|
|
- }
|
|
-
|
|
- g_object_notify (G_OBJECT (calendar), "day");
|
|
+ calendar_select_day (calendar, day);
|
|
|
|
g_signal_emit (calendar,
|
|
gtk_calendar_signals[DAY_SELECTED_SIGNAL],
|