[gnome-shell/wip/carlosg/cleanup-gtk-usage: 7/7] st: Use StSettings for primary-paste setting



commit 8647922df933c21fcdeca123c8f4b0f7c86999f7
Author: Carlos Garnacho <carlosg gnome org>
Date:   Wed Jan 30 19:56:18 2019 +0100

    st: Use StSettings for primary-paste setting
    
    If middle-click happens, check whether the setting is enabled
    and paste primary selection if so.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/317

 src/st/st-entry.c | 42 +++++++++++++++++++++++-------------------
 1 file changed, 23 insertions(+), 19 deletions(-)
---
diff --git a/src/st/st-entry.c b/src/st/st-entry.c
index 4fdfda0e3..2d1de36ef 100644
--- a/src/st/st-entry.c
+++ b/src/st/st-entry.c
@@ -56,6 +56,7 @@
 
 #include "st-icon.h"
 #include "st-label.h"
+#include "st-settings.h"
 #include "st-widget.h"
 #include "st-texture-cache.h"
 #include "st-clipboard.h"
@@ -644,29 +645,32 @@ clutter_text_button_press_event (ClutterActor       *actor,
                                  gpointer            user_data)
 {
   StEntryPrivate *priv = ST_ENTRY_PRIV (user_data);
-  GtkSettings *settings = gtk_settings_get_default ();
-  gboolean primary_paste_enabled;
 
-  g_object_get (settings,
-                "gtk-enable-primary-paste", &primary_paste_enabled,
-                NULL);
-
-  if (primary_paste_enabled && event->button == 2
-      && clutter_text_get_editable (CLUTTER_TEXT (priv->entry)))
+  if (event->button == 2 &&
+      clutter_text_get_editable (CLUTTER_TEXT (priv->entry)))
     {
-      StClipboard *clipboard;
+      StSettings *settings;
+      gboolean primary_paste_enabled;
 
-      clipboard = st_clipboard_get_default ();
+      settings = st_settings_get ();
+      g_object_get (settings, "primary-paste", &primary_paste_enabled, NULL);
 
-      /* By the time the clipboard callback is called,
-       * the rest of the signal handlers will have
-       * run, making the text cursor to be in the correct
-       * place.
-       */
-      st_clipboard_get_text (clipboard,
-                             ST_CLIPBOARD_TYPE_PRIMARY,
-                             st_entry_clipboard_callback,
-                             user_data);
+      if (primary_paste_enabled)
+        {
+          StClipboard *clipboard;
+
+          clipboard = st_clipboard_get_default ();
+
+          /* By the time the clipboard callback is called,
+           * the rest of the signal handlers will have
+           * run, making the text cursor to be in the correct
+           * place.
+           */
+          st_clipboard_get_text (clipboard,
+                                 ST_CLIPBOARD_TYPE_PRIMARY,
+                                 st_entry_clipboard_callback,
+                                 user_data);
+        }
     }
 
   return FALSE;


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