diff options
author | Jean Felder <jfelder@src.gnome.org> | 2020-08-21 13:32:41 +0200 |
---|---|---|
committer | Jean Felder <jfelder@src.gnome.org> | 2020-09-05 23:26:44 +0200 |
commit | 49f9538f781e46d6294ee8cfb09e4e52340e5163 (patch) | |
tree | 4134cf4bfdd06b7f049de4850ab144537e4ce5f8 | |
parent | 79d3955e9543ccf034e597c4acde74c848ab56fd (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.py | 14 |
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): |