From 8647922df933c21fcdeca123c8f4b0f7c86999f7 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 30 Jan 2019 19:56:18 +0100 Subject: [PATCH] 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;