[vte] widget: Move retrieving gtk settings to Widget



commit e77a894530128cd0c0fcad58a33c6f2b0b0b120f
Author: Christian Persch <chpe src gnome org>
Date:   Fri May 1 23:08:42 2020 +0200

    widget: Move retrieving gtk settings to Widget

 src/vte.cc    | 10 +++-------
 src/widget.cc | 18 ++++++++++++++----
 src/widget.hh |  1 +
 3 files changed, 18 insertions(+), 11 deletions(-)
---
diff --git a/src/vte.cc b/src/vte.cc
index fd3856b8..5a08b776 100644
--- a/src/vte.cc
+++ b/src/vte.cc
@@ -6912,14 +6912,10 @@ Terminal::widget_mouse_press(MouseEvent const& event)
                 case MouseEvent::Button::eMIDDLE:
                        if ((m_modifiers & GDK_SHIFT_MASK) ||
                            m_mouse_tracking_mode == MouseTrackingMode::eNONE) {
-                                gboolean do_paste;
-
-                                g_object_get (gtk_widget_get_settings(m_widget),
-                                              "gtk-enable-primary-paste",
-                                              &do_paste, nullptr);
-                                if (do_paste)
+                                if (widget()->primary_paste_enabled()) {
                                         widget_paste(GDK_SELECTION_PRIMARY);
-                               handled = do_paste;
+                                        handled = true;
+                                }
                        }
                        break;
                 case MouseEvent::Button::eRIGHT:
diff --git a/src/widget.cc b/src/widget.cc
index 6f095f42..3a22d219 100644
--- a/src/widget.cc
+++ b/src/widget.cc
@@ -372,6 +372,17 @@ Widget::map() noexcept
                 gdk_window_show_unraised(m_event_window);
 }
 
+bool
+Widget::primary_paste_enabled() const noexcept
+{
+        auto primary_paste = gboolean{};
+        g_object_get(gtk_widget_get_settings(gtk()),
+                     "gtk-enable-primary-paste", &primary_paste,
+                     nullptr);
+
+        return primary_paste != false;
+}
+
 void
 Widget::realize() noexcept
 {
@@ -476,10 +487,9 @@ Widget::screen_changed(GdkScreen *previous_screen) noexcept
 void
 Widget::settings_changed() noexcept
 {
-        gboolean blink;
-        int blink_time;
-        int blink_timeout;
-
+        auto blink = gboolean{};
+        auto blink_time = int{};
+        auto blink_timeout = int{};
         g_object_get(gtk_widget_get_settings(m_widget),
                      "gtk-cursor-blink", &blink,
                      "gtk-cursor-blink-time", &blink_time,
diff --git a/src/widget.hh b/src/widget.hh
index 468e545b..19ecef1a 100644
--- a/src/widget.hh
+++ b/src/widget.hh
@@ -85,6 +85,7 @@ public:
 
         void grab_focus() noexcept { gtk_widget_grab_focus(gtk()); }
 
+        bool primary_paste_enabled() const noexcept;
         void paste(GdkAtom board) noexcept { m_terminal->widget_paste(board); }
         void copy(VteSelection sel,
                   VteFormat format) noexcept { m_terminal->widget_copy(sel, format); }


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