diff options
Diffstat (limited to 'meta/recipes-gnome/gtk+/gtk+-2.12.7/combo-arrow-size.patch')
-rw-r--r-- | meta/recipes-gnome/gtk+/gtk+-2.12.7/combo-arrow-size.patch | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.12.7/combo-arrow-size.patch b/meta/recipes-gnome/gtk+/gtk+-2.12.7/combo-arrow-size.patch new file mode 100644 index 0000000000..d44c454ce3 --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+-2.12.7/combo-arrow-size.patch | |||
@@ -0,0 +1,67 @@ | |||
1 | Index: gtk/gtkcombobox.c | ||
2 | =================================================================== | ||
3 | RCS file: /cvs/gnome/gtk+/gtk/gtkcombobox.c,v | ||
4 | retrieving revision 1.185 | ||
5 | diff -u -p -r1.185 gtkcombobox.c | ||
6 | --- gtk/gtkcombobox.c 12 Oct 2006 13:48:07 -0000 1.185 | ||
7 | +++ gtk/gtkcombobox.c 1 Nov 2006 19:01:09 -0000 | ||
8 | @@ -756,6 +756,25 @@ gtk_combo_box_class_init (GtkComboBoxCla | ||
9 | FALSE, | ||
10 | GTK_PARAM_READABLE)); | ||
11 | |||
12 | + /** | ||
13 | + * GtkComboBox:arrow-size: | ||
14 | + * | ||
15 | + * Sets the minimum size of the arrow in the combo box. Note | ||
16 | + * that the arrow size is coupled to the font size, so in case | ||
17 | + * a larger font is used, the arrow will be larger than set | ||
18 | + * by arrow size. | ||
19 | + * | ||
20 | + * Since: 2.12 | ||
21 | + */ | ||
22 | + gtk_widget_class_install_style_property (widget_class, | ||
23 | + g_param_spec_int ("arrow-size", | ||
24 | + P_("Arrow Size"), | ||
25 | + P_("The minimum size of the arrow in the combo box"), | ||
26 | + 0, | ||
27 | + G_MAXINT, | ||
28 | + 15, | ||
29 | + GTK_PARAM_READABLE)); | ||
30 | + | ||
31 | g_type_class_add_private (object_class, sizeof (GtkComboBoxPrivate)); | ||
32 | } | ||
33 | |||
34 | @@ -1897,7 +1916,12 @@ gtk_combo_box_size_request (GtkWidget | ||
35 | { | ||
36 | gint width, height; | ||
37 | gint focus_width, focus_pad; | ||
38 | + gint font_size; | ||
39 | + gint arrow_size; | ||
40 | GtkRequisition bin_req; | ||
41 | + PangoContext *context; | ||
42 | + PangoFontMetrics *metrics; | ||
43 | + PangoFontDescription *font_desc; | ||
44 | |||
45 | GtkComboBox *combo_box = GTK_COMBO_BOX (widget); | ||
46 | |||
47 | @@ -1910,7 +1934,20 @@ gtk_combo_box_size_request (GtkWidget | ||
48 | gtk_widget_style_get (GTK_WIDGET (widget), | ||
49 | "focus-line-width", &focus_width, | ||
50 | "focus-padding", &focus_pad, | ||
51 | + "arrow-size", &arrow_size, | ||
52 | NULL); | ||
53 | + | ||
54 | + font_desc = GTK_BIN (widget)->child->style->font_desc; | ||
55 | + context = gtk_widget_get_pango_context (widget); | ||
56 | + metrics = pango_context_get_metrics (context, font_desc, | ||
57 | + pango_context_get_language (context)); | ||
58 | + font_size = PANGO_PIXELS (pango_font_metrics_get_ascent (metrics) + | ||
59 | + pango_font_metrics_get_descent (metrics)); | ||
60 | + pango_font_metrics_unref (metrics); | ||
61 | + | ||
62 | + arrow_size = MAX (arrow_size, font_size); | ||
63 | + | ||
64 | + gtk_widget_set_size_request (combo_box->priv->arrow, arrow_size, arrow_size); | ||
65 | |||
66 | if (!combo_box->priv->tree_view) | ||
67 | { | ||