diff options
Diffstat (limited to 'meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0002-mouse-settings-dialog-add-touchscreen-pointer-option.patch')
-rw-r--r-- | meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0002-mouse-settings-dialog-add-touchscreen-pointer-option.patch | 152 |
1 files changed, 152 insertions, 0 deletions
diff --git a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0002-mouse-settings-dialog-add-touchscreen-pointer-option.patch b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0002-mouse-settings-dialog-add-touchscreen-pointer-option.patch new file mode 100644 index 000000000..cf58f73d8 --- /dev/null +++ b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0002-mouse-settings-dialog-add-touchscreen-pointer-option.patch | |||
@@ -0,0 +1,152 @@ | |||
1 | From 7c87f8f202a7743a18b8d7fdab5c66a3d54badd5 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Thu, 1 Nov 2012 21:01:59 +0100 | ||
4 | Subject: [PATCH 2/5] mouse settings dialog: add touchscreen-pointer option | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | |||
10 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
11 | Upstream-Status: Submitted [1] | ||
12 | [1] https://bugzilla.xfce.org/show_bug.cgi?id=9474 | ||
13 | --- | ||
14 | dialogs/mouse-settings/main.c | 56 +++++++++++++++++++++++++++++ | ||
15 | dialogs/mouse-settings/mouse-dialog.glade | 28 ++++++++++++++- | ||
16 | 3 files changed, 422 insertions(+), 329 deletions(-) | ||
17 | |||
18 | diff --git a/dialogs/mouse-settings/main.c b/dialogs/mouse-settings/main.c | ||
19 | index f4b475b..ff08219 100644 | ||
20 | --- a/dialogs/mouse-settings/main.c | ||
21 | +++ b/dialogs/mouse-settings/main.c | ||
22 | @@ -956,6 +956,50 @@ mouse_settings_device_set_enabled (GtkToggleButton *button, | ||
23 | |||
24 | |||
25 | |||
26 | +#ifdef HAVE_XCURSOR | ||
27 | +static void | ||
28 | +mouse_settings_on_touchscreen_pointer (GtkToggleButton *button, | ||
29 | + GtkBuilder *builder) | ||
30 | +{ | ||
31 | + gchar *name = NULL; | ||
32 | + gchar *prop; | ||
33 | + gboolean enabled; | ||
34 | + | ||
35 | + if (locked > 0) | ||
36 | + return; | ||
37 | + | ||
38 | + if (mouse_settings_device_get_selected (builder, NULL, &name)) | ||
39 | + { | ||
40 | + enabled = gtk_toggle_button_get_active (button); | ||
41 | + prop = g_strconcat ("/", name, "/TouchscreenPointer", NULL); | ||
42 | + xfconf_channel_set_bool (pointers_channel, prop, enabled); | ||
43 | + g_free (prop); | ||
44 | + } | ||
45 | + g_free (name); | ||
46 | +} | ||
47 | + | ||
48 | +static void | ||
49 | +mouse_settings_set_touchscreen_pointer (GtkBuilder *builder) | ||
50 | +{ | ||
51 | + gchar *name = NULL; | ||
52 | + gchar *prop; | ||
53 | + gboolean enabled; | ||
54 | + GtkToggleButton *button; | ||
55 | + | ||
56 | + if (mouse_settings_device_get_selected (builder, NULL, &name)) | ||
57 | + { | ||
58 | + button = GTK_TOGGLE_BUTTON (gtk_builder_get_object (builder, "touchscreen-pointer")); | ||
59 | + prop = g_strconcat ("/", name, "/TouchscreenPointer", NULL); | ||
60 | + enabled = xfconf_channel_get_bool (pointers_channel, prop, FALSE); | ||
61 | + gtk_toggle_button_set_active (button, enabled); | ||
62 | + g_free (prop); | ||
63 | + } | ||
64 | + g_free (name); | ||
65 | +} | ||
66 | +#endif | ||
67 | + | ||
68 | + | ||
69 | + | ||
70 | static void | ||
71 | mouse_settings_device_selection_changed (GtkBuilder *builder) | ||
72 | { | ||
73 | @@ -1007,6 +1051,9 @@ mouse_settings_device_selection_changed (GtkBuilder *builder) | ||
74 | /* get the selected item */ | ||
75 | if (mouse_settings_device_get_selected (builder, &device, NULL)) | ||
76 | { | ||
77 | +#ifdef HAVE_XCURSOR | ||
78 | + mouse_settings_set_touchscreen_pointer (builder); | ||
79 | +#endif | ||
80 | gdk_error_trap_push (); | ||
81 | device_info = XListInputDevices (xdisplay, &ndevices); | ||
82 | if (gdk_error_trap_pop () == 0 && device_info != NULL) | ||
83 | @@ -1735,11 +1782,20 @@ main (gint argc, gchar **argv) | ||
84 | /* populate the themes treeview */ | ||
85 | mouse_settings_themes_populate_store (builder); | ||
86 | |||
87 | + /* connect & fill touchscreen-pointer */ | ||
88 | + object = gtk_builder_get_object (builder, "touchscreen-pointer"); | ||
89 | + g_signal_connect (G_OBJECT (object), "toggled", | ||
90 | + G_CALLBACK (mouse_settings_on_touchscreen_pointer), builder); | ||
91 | + mouse_settings_set_touchscreen_pointer (builder); | ||
92 | + | ||
93 | /* connect the cursor size in the cursor tab */ | ||
94 | object = gtk_builder_get_object (builder, "theme-cursor-size"); | ||
95 | xfconf_g_property_bind (xsettings_channel, "/Gtk/CursorThemeSize", | ||
96 | G_TYPE_INT, G_OBJECT (object), "value"); | ||
97 | #else | ||
98 | + /* hide touchscreen-pointer */ | ||
99 | + object = gtk_builder_get_object (builder, "touchscreen-pointer"); | ||
100 | + gtk_widget_hide (GTK_WIDGET (object)); | ||
101 | /* hide the themes tab */ | ||
102 | object = gtk_builder_get_object (builder, "themes-hbox"); | ||
103 | gtk_widget_hide (GTK_WIDGET (object)); | ||
104 | diff --git a/dialogs/mouse-settings/mouse-dialog.glade b/dialogs/mouse-settings/mouse-dialog.glade | ||
105 | index d3aab0d..573c551 100644 | ||
106 | --- a/dialogs/mouse-settings/mouse-dialog.glade | ||
107 | +++ b/dialogs/mouse-settings/mouse-dialog.glade | ||
108 | @@ -323,7 +323,7 @@ | ||
109 | <property name="visible">True</property> | ||
110 | <property name="can_focus">False</property> | ||
111 | <property name="border_width">6</property> | ||
112 | - <property name="n_rows">3</property> | ||
113 | + <property name="n_rows">4</property> | ||
114 | <property name="n_columns">2</property> | ||
115 | <property name="column_spacing">12</property> | ||
116 | <property name="row_spacing">6</property> | ||
117 | @@ -415,6 +415,32 @@ | ||
118 | <property name="bottom_attach">3</property> | ||
119 | </packing> | ||
120 | </child> | ||
121 | + <child> | ||
122 | + <object class="GtkAlignment" id="alignment9"> | ||
123 | + <property name="visible">True</property> | ||
124 | + <property name="can_focus">False</property> | ||
125 | + <property name="xalign">0</property> | ||
126 | + <property name="xscale">0</property> | ||
127 | + <property name="yscale">0</property> | ||
128 | + <child> | ||
129 | + <object class="GtkCheckButton" id="touchscreen-pointer"> | ||
130 | + <property name="label" translatable="yes">_Touchscreen pointer</property> | ||
131 | + <property name="use_action_appearance">False</property> | ||
132 | + <property name="visible">True</property> | ||
133 | + <property name="can_focus">True</property> | ||
134 | + <property name="receives_default">False</property> | ||
135 | + <property name="tooltip_text" translatable="yes">When selected, no mouse pointer is displayed for this device and gtk TouchscreenMode is activated</property> | ||
136 | + <property name="use_underline">True</property> | ||
137 | + <property name="draw_indicator">True</property> | ||
138 | + </object> | ||
139 | + </child> | ||
140 | + </object> | ||
141 | + <packing> | ||
142 | + <property name="right_attach">2</property> | ||
143 | + <property name="top_attach">3</property> | ||
144 | + <property name="bottom_attach">4</property> | ||
145 | + </packing> | ||
146 | + </child> | ||
147 | </object> | ||
148 | </child> | ||
149 | </object> | ||
150 | -- | ||
151 | 1.7.6.5 | ||
152 | |||