[mutter/wip/tablet-protocol-v2: 65/70] backends: Add function to retrieve the label for a pad button action



commit d7431d2158351a5f03ae9ae90967c73117961f7e
Author: Carlos Garnacho <carlosg gnome org>
Date:   Wed Jun 22 19:06:54 2016 +0200

    backends: Add function to retrieve the label for a pad button action
    
    As those are specified by settings.

 src/backends/meta-input-settings-private.h |    3 ++
 src/backends/meta-input-settings.c         |   38 ++++++++++++++++++++++++++++
 2 files changed, 41 insertions(+), 0 deletions(-)
---
diff --git a/src/backends/meta-input-settings-private.h b/src/backends/meta-input-settings-private.h
index fe3e2f5..40c681c 100644
--- a/src/backends/meta-input-settings-private.h
+++ b/src/backends/meta-input-settings-private.h
@@ -123,6 +123,9 @@ gboolean                   meta_input_settings_handle_pad_button         (MetaIn
                                                                           ClutterInputDevice *pad,
                                                                           gboolean            is_press,
                                                                           guint               button);
+gchar *                    meta_input_settings_get_pad_button_action_label (MetaInputSettings 
*input_settings,
+                                                                            ClutterInputDevice *pad,
+                                                                            guint               button);
 
 #ifdef HAVE_LIBWACOM
 WacomDevice * meta_input_settings_get_tablet_wacom_device (MetaInputSettings *settings,
diff --git a/src/backends/meta-input-settings.c b/src/backends/meta-input-settings.c
index 95ce0e2..4357459 100644
--- a/src/backends/meta-input-settings.c
+++ b/src/backends/meta-input-settings.c
@@ -38,6 +38,7 @@
 #include "native/meta-input-settings-native.h"
 #endif
 
+#include <glib/gi18n-lib.h>
 #include <meta/util.h>
 
 static GQuark quark_tool_settings = 0;
@@ -1391,3 +1392,40 @@ meta_input_settings_handle_pad_button (MetaInputSettings  *input_settings,
       return FALSE;
     }
 }
+
+gchar *
+meta_input_settings_get_pad_button_action_label (MetaInputSettings *input_settings,
+                                                 ClutterInputDevice *pad,
+                                                 guint               button)
+{
+  GDesktopPadButtonAction action;
+
+  g_return_val_if_fail (META_IS_INPUT_SETTINGS (input_settings), NULL);
+  g_return_val_if_fail (CLUTTER_IS_INPUT_DEVICE (pad), NULL);
+  g_return_val_if_fail (clutter_input_device_get_device_type (pad) ==
+                        CLUTTER_PAD_DEVICE, NULL);
+
+  action = meta_input_settings_get_pad_button_action (input_settings, pad, button);
+
+  switch (action)
+    {
+    case G_DESKTOP_PAD_BUTTON_ACTION_KEYBINDING:
+      {
+        GSettings *settings;
+        gchar *accel;
+
+        settings = lookup_pad_button_settings (pad, button);
+        accel = g_settings_get_string (settings, "keybinding");
+        g_object_unref (settings);
+
+        return accel;
+      }
+    case G_DESKTOP_PAD_BUTTON_ACTION_SWITCH_MONITOR:
+      return g_strdup (_("Switch monitor"));
+    case G_DESKTOP_PAD_BUTTON_ACTION_HELP:
+      return g_strdup (_("Show on-screen help"));
+    case G_DESKTOP_PAD_BUTTON_ACTION_NONE:
+    default:
+      return NULL;
+    }
+}


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]