summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean Felder <jfelder@src.gnome.org>2020-08-21 13:32:41 +0200
committerJean Felder <jfelder@src.gnome.org>2020-09-05 23:26:44 +0200
commit49f9538f781e46d6294ee8cfb09e4e52340e5163 (patch)
tree4134cf4bfdd06b7f049de4850ab144537e4ce5f8
parent79d3955e9543ccf034e597c4acde74c848ab56fd (diff)
searchview: Correctly select a song
This allows to select a song by clicking on its widget. Closes: #407
-rw-r--r--gnomemusic/views/searchview.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/gnomemusic/views/searchview.py b/gnomemusic/views/searchview.py
index 81ffb432..8473c78f 100644
--- a/gnomemusic/views/searchview.py
+++ b/gnomemusic/views/searchview.py
@@ -238,12 +238,22 @@ class SearchView(Gtk.Stack):
self.props.search_state = Search.State.NO_RESULT
def _song_activated(self, widget, event):
+ if widget.props.select_click:
+ widget.props.select_click = False
+ return
+
mod_mask = Gtk.accelerator_get_default_mod_mask()
if ((event.get_state() & mod_mask) == Gdk.ModifierType.CONTROL_MASK
and not self.props.selection_mode):
self.props.selection_mode = True
return
+ if self.props.selection_mode:
+ widget.props.select_click = True
+ widget.props.selected = not widget.props.selected
+ widget.props.coresong.props.selected = widget.props.selected
+ return
+
(_, button) = event.get_button()
if (button == Gdk.BUTTON_PRIMARY
and not self.props.selection_mode):
@@ -253,10 +263,6 @@ class SearchView(Gtk.Stack):
PlayerPlaylist.Type.SEARCH_RESULT, self._model)
self._player.play(widget.props.coresong)
- # FIXME: Need to ignore the event from the checkbox.
- # if self.props.selection_mode:
- # widget.props.selected = not widget.props.selected
-
return True
def _on_album_flowbox_size_allocate(self, widget, allocation, data=None):