[gnome-music] Fixing favorite star rendering in searches
- From: Vadim Rutkovsky <vrutkovsky src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-music] Fixing favorite star rendering in searches
- Date: Mon, 7 Sep 2015 11:46:33 +0000 (UTC)
commit a1477b88f342379df749b68584b9c547ec83c60c
Author: Hapoofesgeli <Hapoofesgeli openmailbox org>
Date: Sat Sep 5 18:23:44 2015 +0430
Fixing favorite star rendering in searches
https://bugzilla.gnome.org/show_bug.cgi?id=744827
gnomemusic/view.py | 22 +++++++++++-----------
gnomemusic/widgets.py | 25 +++++++++++++++----------
2 files changed, 26 insertions(+), 21 deletions(-)
---
diff --git a/gnomemusic/view.py b/gnomemusic/view.py
index 22c6c06..106861c 100644
--- a/gnomemusic/view.py
+++ b/gnomemusic/view.py
@@ -84,7 +84,7 @@ class ViewContainer(Gtk.Stack):
GObject.TYPE_BOOLEAN,
GObject.TYPE_INT,
GObject.TYPE_STRING,
- GObject.TYPE_BOOLEAN,
+ GObject.TYPE_INT,
GObject.TYPE_BOOLEAN,
GObject.TYPE_INT
)
@@ -850,7 +850,7 @@ class Playlist(ViewContainer):
GObject.TYPE_BOOLEAN,
GObject.TYPE_INT,
GObject.TYPE_STRING,
- GObject.TYPE_BOOLEAN,
+ GObject.TYPE_INT,
GObject.TYPE_BOOLEAN,
GObject.TYPE_INT
)
@@ -1516,7 +1516,7 @@ class Search(ViewContainer):
self.head_iters[group], -1,
[0, 2, 3, 4, 5, 9, 11],
[str(item.get_id()), title, artist,
- self._loadingIcon, item, False, category])
+ self._loadingIcon, item, 2, category])
self.cache.lookup(item, self._iconWidth, self._iconHeight, self._on_lookup_ready,
_iter, artist, title)
elif category == 'song':
@@ -1524,14 +1524,14 @@ class Search(ViewContainer):
self.head_iters[group], -1,
[0, 2, 3, 4, 5, 9, 11],
[str(item.get_id()), title, artist,
- self._noAlbumArtIcon, item, bool(item.get_lyrics()), category])
+ self._noAlbumArtIcon, item, 2 if source.get_id() != 'grl-tracker-source' else
bool(item.get_lyrics()), category])
else:
if not artist.casefold() in self._artists:
_iter = self.model.insert_with_values(
self.head_iters[group], -1,
[0, 2, 4, 5, 9, 11],
[str(item.get_id()), artist,
- self._loadingIcon, item, False, category])
+ self._loadingIcon, item, 2, category])
self.cache.lookup(item, self._iconWidth, self._iconHeight, self._on_lookup_ready,
_iter, artist, title)
self._artists[artist.casefold()] = {'iter': _iter, 'albums': []}
@@ -1559,7 +1559,7 @@ class Search(ViewContainer):
self._on_list_widget_title_render, None)
cols[0].add_attribute(title_renderer, 'text', 2)
- self.star_handler._add_star_renderers(list_widget, cols, hidden=True)
+ self.star_handler._add_star_renderers(list_widget, cols, hidden=False)
cells = cols[0].get_cells()
cols[0].reorder(cells[0], -1)
@@ -1711,7 +1711,7 @@ class Search(ViewContainer):
GObject.TYPE_BOOLEAN,
GObject.TYPE_INT,
GObject.TYPE_STRING,
- GObject.TYPE_BOOLEAN,
+ GObject.TYPE_INT,
GObject.TYPE_BOOLEAN,
GObject.TYPE_STRING, # type
GObject.TYPE_INT
@@ -1726,10 +1726,10 @@ class Search(ViewContainer):
if search_term == "":
return
- albums_iter = self.model.insert_with_values(None, -1, [2], [_("Albums")])
- artists_iter = self.model.insert_with_values(None, -1, [2], [_("Artists")])
- songs_iter = self.model.insert_with_values(None, -1, [2], [_("Songs")])
- playlists_iter = self.model.insert_with_values(None, -1, [2], [_("Playlists")])
+ albums_iter = self.model.insert_with_values(None, -1, [2, 9], [_("Albums"), 2])
+ artists_iter = self.model.insert_with_values(None, -1, [2, 9], [_("Artists"), 2])
+ songs_iter = self.model.insert_with_values(None, -1, [2, 9], [_("Songs"), 2])
+ playlists_iter = self.model.insert_with_values(None, -1, [2, 9], [_("Playlists"), 2])
self.head_iters = [albums_iter, artists_iter, songs_iter, playlists_iter]
self.songs_model = self.model.filter_new(self.model.get_path(songs_iter))
diff --git a/gnomemusic/widgets.py b/gnomemusic/widgets.py
index 63db254..3bb3d4f 100644
--- a/gnomemusic/widgets.py
+++ b/gnomemusic/widgets.py
@@ -82,6 +82,12 @@ class StarHandler():
except TypeError:
return
+ try:
+ if self.parent.model.get_value(_iter, 9) == 2:
+ return
+ except AttributeError:
+ return
+
new_value = not self.parent.model.get_value(_iter, self.star_index)
self.parent.model.set_value(_iter, self.star_index, new_value)
song_item = self.parent.model.get_value(_iter, 5)
@@ -227,7 +233,7 @@ class AlbumWidget(Gtk.EventBox):
GObject.TYPE_BOOLEAN, # item selected
GObject.TYPE_STRING,
GObject.TYPE_BOOLEAN,
- GObject.TYPE_BOOLEAN, # icon shown
+ GObject.TYPE_INT, # icon shown
GObject.TYPE_BOOLEAN,
GObject.TYPE_INT
)
@@ -848,7 +854,7 @@ class CellRendererClickablePixbuf(Gtk.CellRendererPixbuf):
__gsignals__ = {'clicked': (GObject.SignalFlags.RUN_LAST, GObject.TYPE_NONE,
(GObject.TYPE_STRING,))}
__gproperties__ = {
- 'show_star': (GObject.TYPE_BOOLEAN, 'Show star', 'show star', False, GObject.PARAM_READWRITE)}
+ 'show_star': (GObject.TYPE_INT, 'Show star', 'show star',0 ,2 ,1 , GObject.PARAM_READWRITE)}
starIcon = 'starred-symbolic'
nonStarIcon = 'non-starred-symbolic'
@@ -860,13 +866,13 @@ class CellRendererClickablePixbuf(Gtk.CellRendererPixbuf):
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.set_property('icon_name', '')
self.view = view
self.hidden = hidden
- self.show_star = False
+ self.show_star = 0
def do_activate(self, event, widget, path, background_area, cell_area, flags):
- self.show_star = False
+ self.show_star = 0
self.emit('clicked', path)
def do_get_property(self, property):
@@ -875,11 +881,10 @@ class CellRendererClickablePixbuf(Gtk.CellRendererPixbuf):
def do_set_property(self, property, value):
if property.name == 'show-star':
- if self.show_star:
+ if self.show_star == 1:
self.set_property('icon_name', self.starIcon)
+ elif self.show_star == 0:
+ self.set_property('icon_name', self.nonStarIcon)
else:
- if not self.hidden:
- self.set_property('icon_name', self.nonStarIcon)
- else:
- self.set_property('icon_name', '')
+ self.set_property('icon_name', '')
self.show_star = value
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]