[gnome-control-center/wip/carlosg/issue-315] wacom: Always try to add the stylus page UI on proximity
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center/wip/carlosg/issue-315] wacom: Always try to add the stylus page UI on proximity
- Date: Thu, 20 Dec 2018 13:06:57 +0000 (UTC)
commit 07f1dac6cacb0eec8a2f614e164a088a2a7c36a9
Author: Carlos Garnacho <carlosg gnome org>
Date: Thu Dec 20 13:31:59 2018 +0100
wacom: Always try to add the stylus page UI on proximity
This used to be done only if the stylus was "brand new", because pages for
previously known styli are added when the tablet is detected/plugged. There
are however situations where this may break: eg. the stylus was previously
known through a tablet that is not plugged ATM. The tool is however "not
new" so no UI is added for it.
We should try to add the stylus invariably on proximity, add_stylus_page()
ensures there is only one page per tool anyway.
Closes: https://gitlab.gnome.org/GNOME/gnome-control-center/issues/315
panels/wacom/cc-wacom-panel.c | 33 ++++++++++++++++-----------------
1 file changed, 16 insertions(+), 17 deletions(-)
---
diff --git a/panels/wacom/cc-wacom-panel.c b/panels/wacom/cc-wacom-panel.c
index 34cd11248..72c8c46a0 100644
--- a/panels/wacom/cc-wacom-panel.c
+++ b/panels/wacom/cc-wacom-panel.c
@@ -346,6 +346,7 @@ update_current_tool (CcWacomPanel *panel,
CcWacomTool *stylus;
GsdDevice *gsd_device;
guint64 serial, id;
+ gboolean added;
if (!tool)
return;
@@ -375,8 +376,6 @@ update_current_tool (CcWacomPanel *panel,
wacom_device, serial);
if (!stylus) {
- gboolean added;
-
id = gdk_device_tool_get_hardware_id (tool);
/* The wacom driver sends a hw id of 0x2 for stylus and 0xa
@@ -395,24 +394,24 @@ update_current_tool (CcWacomPanel *panel,
stylus = cc_wacom_tool_new (serial, id, wacom_device);
if (!stylus)
return;
+ }
- added = add_stylus (panel, stylus);
+ added = add_stylus (panel, stylus);
- if (added) {
- if (panel->stylus_notebook ==
- gtk_stack_get_visible_child (GTK_STACK (panel->stack))) {
- GtkWidget *widget;
- gint page;
+ if (added) {
+ if (panel->stylus_notebook ==
+ gtk_stack_get_visible_child (GTK_STACK (panel->stack))) {
+ GtkWidget *widget;
+ gint page;
- widget = g_hash_table_lookup (panel->stylus_pages, stylus);
- page = gtk_notebook_page_num (GTK_NOTEBOOK (panel->stylus_notebook), widget);
- gtk_notebook_set_current_page (GTK_NOTEBOOK (panel->stylus_notebook), page);
- } else {
- gtk_container_child_set (GTK_CONTAINER (panel->stack),
- panel->stylus_notebook,
- "needs-attention", TRUE,
- NULL);
- }
+ widget = g_hash_table_lookup (panel->stylus_pages, stylus);
+ page = gtk_notebook_page_num (GTK_NOTEBOOK (panel->stylus_notebook), widget);
+ gtk_notebook_set_current_page (GTK_NOTEBOOK (panel->stylus_notebook), page);
+ } else {
+ gtk_container_child_set (GTK_CONTAINER (panel->stack),
+ panel->stylus_notebook,
+ "needs-attention", TRUE,
+ NULL);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]