diff options
author | Ross Burton <ross.burton@intel.com> | 2019-07-05 17:20:17 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-07-11 09:32:50 +0100 |
commit | c9f400d639f9ed48f69b9b99883825fd8cc3b82c (patch) | |
tree | c8980fd5c6d10d313a50c6a1274e9b69007343ad /meta/recipes-gnome/gtk+/gtk+/toggle-font.diff | |
parent | 696cf580a57de6a0602b51d4a191d54bac901bdd (diff) | |
download | poky-c9f400d639f9ed48f69b9b99883825fd8cc3b82c.tar.gz |
gtk+: remove GTK+ 2
GTK+ 2 is ancient, and shouldn't be used. It will be moved to meta-oe for
people who do need it, but it shouldn't in oe-core.
[ YOCTO #12673 ]
(From OE-Core rev: 3c692e0d77e68908ab0ec421356bd4738c5327db)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-gnome/gtk+/gtk+/toggle-font.diff')
-rw-r--r-- | meta/recipes-gnome/gtk+/gtk+/toggle-font.diff | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/meta/recipes-gnome/gtk+/gtk+/toggle-font.diff b/meta/recipes-gnome/gtk+/gtk+/toggle-font.diff deleted file mode 100644 index 340d12008b..0000000000 --- a/meta/recipes-gnome/gtk+/gtk+/toggle-font.diff +++ /dev/null | |||
@@ -1,102 +0,0 @@ | |||
1 | Upstream-Status: Pending | ||
2 | |||
3 | Index: gtk/gtkcellrenderertoggle.c | ||
4 | =================================================================== | ||
5 | --- gtk/gtkcellrenderertoggle.c.orig 2010-06-22 18:11:33.000000000 +0800 | ||
6 | +++ gtk/gtkcellrenderertoggle.c 2010-06-22 18:11:43.000000000 +0800 | ||
7 | @@ -71,6 +71,8 @@ | ||
8 | PROP_INDICATOR_SIZE | ||
9 | }; | ||
10 | |||
11 | +/* This is a hard-coded default which promptly gets overridden by a size | ||
12 | + calculated from the font size. */ | ||
13 | #define TOGGLE_WIDTH 13 | ||
14 | |||
15 | static guint toggle_cell_signals[LAST_SIGNAL] = { 0 }; | ||
16 | @@ -80,8 +82,9 @@ | ||
17 | typedef struct _GtkCellRendererTogglePrivate GtkCellRendererTogglePrivate; | ||
18 | struct _GtkCellRendererTogglePrivate | ||
19 | { | ||
20 | - gint indicator_size; | ||
21 | - | ||
22 | + gint indicator_size; /* This is the real size */ | ||
23 | + gint override_size; /* This is the size set from the indicator-size property */ | ||
24 | + GtkWidget *cached_widget; | ||
25 | guint inconsistent : 1; | ||
26 | }; | ||
27 | |||
28 | @@ -104,6 +107,7 @@ | ||
29 | GTK_CELL_RENDERER (celltoggle)->ypad = 2; | ||
30 | |||
31 | priv->indicator_size = TOGGLE_WIDTH; | ||
32 | + priv->override_size = 0; | ||
33 | priv->inconsistent = FALSE; | ||
34 | } | ||
35 | |||
36 | @@ -210,7 +214,7 @@ | ||
37 | g_value_set_boolean (value, celltoggle->radio); | ||
38 | break; | ||
39 | case PROP_INDICATOR_SIZE: | ||
40 | - g_value_set_int (value, priv->indicator_size); | ||
41 | + g_value_set_int (value, priv->override_size ? priv->override_size : priv->indicator_size); | ||
42 | break; | ||
43 | default: | ||
44 | G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); | ||
45 | @@ -245,7 +249,7 @@ | ||
46 | celltoggle->radio = g_value_get_boolean (value); | ||
47 | break; | ||
48 | case PROP_INDICATOR_SIZE: | ||
49 | - priv->indicator_size = g_value_get_int (value); | ||
50 | + priv->override_size = g_value_get_int (value); | ||
51 | break; | ||
52 | default: | ||
53 | G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); | ||
54 | @@ -273,6 +277,27 @@ | ||
55 | } | ||
56 | |||
57 | static void | ||
58 | +on_widget_style_set (GtkWidget *widget, GtkStyle *previous, gpointer user_data) | ||
59 | +{ | ||
60 | + GtkCellRendererTogglePrivate *priv = user_data; | ||
61 | + PangoContext *context; | ||
62 | + PangoFontMetrics *metrics; | ||
63 | + int height; | ||
64 | + | ||
65 | + context = gtk_widget_get_pango_context (widget); | ||
66 | + metrics = pango_context_get_metrics (context, | ||
67 | + widget->style->font_desc, | ||
68 | + pango_context_get_language (context)); | ||
69 | + | ||
70 | + height = pango_font_metrics_get_ascent (metrics) + | ||
71 | + pango_font_metrics_get_descent (metrics); | ||
72 | + | ||
73 | + pango_font_metrics_unref (metrics); | ||
74 | + | ||
75 | + priv->indicator_size = PANGO_PIXELS (height * 0.85); | ||
76 | +} | ||
77 | + | ||
78 | +static void | ||
79 | gtk_cell_renderer_toggle_get_size (GtkCellRenderer *cell, | ||
80 | GtkWidget *widget, | ||
81 | GdkRectangle *cell_area, | ||
82 | @@ -287,6 +312,20 @@ | ||
83 | |||
84 | priv = GTK_CELL_RENDERER_TOGGLE_GET_PRIVATE (cell); | ||
85 | |||
86 | + if (priv->override_size) { | ||
87 | + priv->indicator_size = priv->override_size; | ||
88 | + } else if (priv->cached_widget != widget) { | ||
89 | + if (priv->cached_widget) { | ||
90 | + g_object_remove_weak_pointer (widget, &priv->cached_widget); | ||
91 | + g_signal_handlers_disconnect_by_func (priv->cached_widget, on_widget_style_set, priv); | ||
92 | + } | ||
93 | + priv->cached_widget = widget; | ||
94 | + g_object_add_weak_pointer (widget, &priv->cached_widget); | ||
95 | + g_signal_connect (widget, "style-set", on_widget_style_set, priv); | ||
96 | + | ||
97 | + on_widget_style_set (widget, NULL, priv); | ||
98 | + } | ||
99 | + | ||
100 | calc_width = (gint) cell->xpad * 2 + priv->indicator_size; | ||
101 | calc_height = (gint) cell->ypad * 2 + priv->indicator_size; | ||
102 | |||