[gnome-music/wip/mschraal/gtk4: 121/132] disclistboxwidget: Make song_widget click controller somewhat work



commit 2fe7f891882fdb269dce3feaffd44113670aa289
Author: Marinus Schraal <mschraal gnome org>
Date:   Thu Oct 31 22:14:56 2019 +0100

    disclistboxwidget: Make song_widget click controller somewhat work

 gnomemusic/widgets/disclistboxwidget.py | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)
---
diff --git a/gnomemusic/widgets/disclistboxwidget.py b/gnomemusic/widgets/disclistboxwidget.py
index 58505bd1..96c7df3d 100644
--- a/gnomemusic/widgets/disclistboxwidget.py
+++ b/gnomemusic/widgets/disclistboxwidget.py
@@ -108,7 +108,9 @@ class DiscBox(Gtk.ListBoxRow):
             "show-song-numbers", song_widget, "show-song-number",
             GObject.BindingFlags.SYNC_CREATE)
 
-        # song_widget.connect('button-release-event', self._song_activated)
+        ctrl = Gtk.GestureClick()
+        song_widget.add_controller(ctrl)
+        ctrl.connect("released", self._song_activated)
 
         row = Gtk.ListBoxRow()
         row.props.activatable = False
@@ -117,7 +119,9 @@ class DiscBox(Gtk.ListBoxRow):
 
         return row
 
-    def _song_activated(self, widget, event):
+    def _song_activated(self, controller, n_click, x, y):
+        widget = controller.get_widget()
+
         if widget.props.select_click:
             widget.props.select_click = False
             return
@@ -130,7 +134,7 @@ class DiscBox(Gtk.ListBoxRow):
             widget.props.coresong.props.selected = True
             return
 
-        (_, button) = event.get_button()
+        button = controller.get_current_button()
         if (button == Gdk.BUTTON_PRIMARY
                 and not self.props.selection_mode):
             self.emit('song-activated', widget)


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