[gnome-music] search: show favorited songs
- From: Vadim Rutkovsky <vrutkovsky src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-music] search: show favorited songs
- Date: Mon, 16 Feb 2015 15:39:35 +0000 (UTC)
commit 39970ff7a597e8dacb1276286c87593e9e760078
Author: Vadim Rutkovsky <vrutkovs redhat com>
Date: Mon Feb 16 16:38:46 2015 +0100
search: show favorited songs
Note, that this will not display a star for non-fav songs
https://bugzilla.gnome.org/show_bug.cgi?id=744005
gnomemusic/view.py | 8 +++++++-
gnomemusic/widgets.py | 8 ++++++--
2 files changed, 13 insertions(+), 3 deletions(-)
---
diff --git a/gnomemusic/view.py b/gnomemusic/view.py
index b7585ce..5a7ce9d 100644
--- a/gnomemusic/view.py
+++ b/gnomemusic/view.py
@@ -1441,7 +1441,7 @@ class Search(ViewContainer):
self.head_iters[group], -1,
[0, 2, 3, 4, 5, 9, 11],
[str(item.get_id()), title, artist,
- self._noAlbumArtIcon, item, False, category])
+ self._noAlbumArtIcon, item, bool(item.get_lyrics()), category])
else:
if not artist.casefold() in self._artists:
_iter = self._model.insert_with_values(
@@ -1476,6 +1476,12 @@ class Search(ViewContainer):
self._on_list_widget_title_render, None)
cols[0].add_attribute(title_renderer, 'text', 2)
+ star_renderer = Widgets.CellRendererClickablePixbuf(self.view, hidden=True)
+ star_renderer.connect("clicked", self._on_star_toggled)
+ list_widget.add_renderer(star_renderer,
+ self._on_list_widget_star_render, None)
+ cols[0].add_attribute(star_renderer, 'show_star', 9)
+
cells = cols[0].get_cells()
cols[0].reorder(cells[0], -1)
cols[0].set_cell_data_func(cells[0], self._on_list_widget_selection_render, None)
diff --git a/gnomemusic/widgets.py b/gnomemusic/widgets.py
index 0a1ccc0..45f7fcc 100644
--- a/gnomemusic/widgets.py
+++ b/gnomemusic/widgets.py
@@ -805,12 +805,13 @@ class CellRendererClickablePixbuf(Gtk.CellRendererPixbuf):
starIcon = 'starred-symbolic'
nonStarIcon = 'non-starred-symbolic'
- def __init__(self, view, *args, **kwargs):
+ def __init__(self, view, hidden=False, *args, **kwargs):
Gtk.CellRendererPixbuf.__init__(self, *args, **kwargs)
self.set_property('mode', Gtk.CellRendererMode.ACTIVATABLE)
self.set_property('xpad', 32)
self.set_property('icon_name', self.nonStarIcon)
self.view = view
+ self.hidden = hidden
self.show_star = False
def do_activate(self, event, widget, path, background_area, cell_area, flags):
@@ -826,5 +827,8 @@ class CellRendererClickablePixbuf(Gtk.CellRendererPixbuf):
if self.show_star:
self.set_property('icon_name', self.starIcon)
else:
- self.set_property('icon_name', self.nonStarIcon)
+ if not self.hidden:
+ self.set_property('icon_name', self.nonStarIcon)
+ else:
+ self.set_property('icon_name', '')
self.show_star = value
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]