[gnome-music/wip/mschraal/core] artistalbumwidget: Hide disc_label if there is only one disc
- From: Marinus Schraal <mschraal src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-music/wip/mschraal/core] artistalbumwidget: Hide disc_label if there is only one disc
- Date: Sat, 13 Jul 2019 22:41:50 +0000 (UTC)
commit 434bd31171339f7d0b899d54ec17671a2e7f5c88
Author: Jean Felder <jfelder src gnome org>
Date: Wed Jul 10 19:23:11 2019 +0200
artistalbumwidget: Hide disc_label if there is only one disc
gnomemusic/widgets/artistalbumwidget.py | 21 ++++++++++++++++-----
1 file changed, 16 insertions(+), 5 deletions(-)
---
diff --git a/gnomemusic/widgets/artistalbumwidget.py b/gnomemusic/widgets/artistalbumwidget.py
index db03de44..e49f839f 100644
--- a/gnomemusic/widgets/artistalbumwidget.py
+++ b/gnomemusic/widgets/artistalbumwidget.py
@@ -85,14 +85,11 @@ class ArtistAlbumWidget(Gtk.Box):
if self._cover_size_group:
self._cover_size_group.add_widget(self._cover_stack)
+ corealbum.props.model.connect_after(
+ "items-changed", self._on_model_items_changed)
self._disc_list_box.bind_model(
corealbum.props.model, self._create_widget)
- def non_selectable(child):
- child.props.selectable = False
-
- self._disc_list_box.forall(non_selectable)
-
def _create_widget(self, disc):
disc_box = self._create_disc_box(disc.props.disc_nr, disc.model)
@@ -108,6 +105,20 @@ class ArtistAlbumWidget(Gtk.Box):
return disc_box
+ def _on_model_items_changed(self, model, position, removed, added):
+ n_items = model.get_n_items()
+ if n_items == 1:
+ row = self._disc_list_box.get_row_at_index(0)
+ row.props.selectable = False
+ discbox = row.get_child()
+ discbox.props.show_disc_label = False
+ else:
+ for i in range(n_items):
+ row = self._disc_list_box.get_row_at_index(i)
+ row.props.selectable = False
+ discbox = row.get_child()
+ discbox.props.show_disc_label = True
+
def _song_activated(self, widget, song_widget):
if self.props.selection_mode:
return
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]