[gnome-control-center/rhel/8.4.0: 7/32] wacom: Update "Test your settings" button sensitivity on device availability
- From: Ray Strode <halfline src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center/rhel/8.4.0: 7/32] wacom: Update "Test your settings" button sensitivity on device availability
- Date: Tue, 13 Apr 2021 14:34:54 +0000 (UTC)
commit 316f3e47ba802f3db1c1bdd45cc4b25b6ccf14f4
Author: Carlos Garnacho <carlosg gnome org>
Date: Mon Feb 11 20:48:23 2019 +0100
wacom: Update "Test your settings" button sensitivity on device availability
The button/popover are meaningless if there's no device to test with. Set
it inactive (so the popover hides if visible) and set insensitive if no
devices are found.
https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/390
panels/wacom/cc-wacom-panel.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
---
diff --git a/panels/wacom/cc-wacom-panel.c b/panels/wacom/cc-wacom-panel.c
index 77a1e261f..e4f3ca7fc 100644
--- a/panels/wacom/cc-wacom-panel.c
+++ b/panels/wacom/cc-wacom-panel.c
@@ -53,6 +53,7 @@ struct _CcWacomPanelPrivate
GtkWidget *stylus_notebook;
GtkWidget *test_popover;
GtkWidget *test_draw_area;
+ GtkWidget *test_button;
GHashTable *devices; /* key=GsdDevice, value=CcWacomDevice */
GHashTable *pages; /* key=device name, value=GtkWidget */
GHashTable *stylus_pages; /* key=CcWacomTool, value=GtkWidget */
@@ -309,6 +310,22 @@ add_stylus (CcWacomPanel *self,
return TRUE;
}
+static void
+update_test_button (CcWacomPanel *self)
+{
+ CcWacomPanelPrivate *priv = self->priv;;
+
+ if (!priv->test_button)
+ return;
+
+ if (g_hash_table_size (priv->devices) == 0) {
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->test_button), FALSE);
+ gtk_widget_set_sensitive (priv->test_button, FALSE);
+ } else {
+ gtk_widget_set_sensitive (priv->test_button, TRUE);
+ }
+}
+
static void
update_current_tool (CcWacomPanel *panel,
GdkDevice *device,
@@ -422,6 +439,9 @@ cc_wacom_panel_constructed (GObject *object)
g_signal_connect_object (shell, "event",
G_CALLBACK (on_shell_event_cb), self, 0);
+
+ priv->test_button = button;
+ update_test_button (self);
}
static const char *
@@ -561,6 +581,8 @@ update_current_page (CcWacomPanel *self,
if (num_pages > 1)
gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->tablet_notebook), 1);
}
+
+ update_test_button (self);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]