[gnome-music] widgets: Update selection menu when a row changes in ArtistAlbums



commit 45a9014dc5bfd84dd915cb31389f84e930e660d0
Author: Arnel Borja <arnelborja src gnome org>
Date:   Thu May 8 23:12:17 2014 +0800

    widgets: Update selection menu when a row changes in ArtistAlbums

 gnomemusic/widgets.py |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)
---
diff --git a/gnomemusic/widgets.py b/gnomemusic/widgets.py
index 527c7ca..2f28456 100644
--- a/gnomemusic/widgets.py
+++ b/gnomemusic/widgets.py
@@ -342,6 +342,7 @@ class ArtistAlbums(Gtk.VBox):
                                    GObject.TYPE_OBJECT,   # song object
                                    GObject.TYPE_BOOLEAN
                                    )
+        self.model.connect('row-changed', self._model_row_changed)
 
         self._hbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
         self._albumBox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL,
@@ -424,6 +425,22 @@ class ArtistAlbums(Gtk.VBox):
         for widget in self.widgets:
             widget.set_selection_mode(selectionMode)
 
+    @log
+    def _model_row_changed(self, model, path, _iter):
+        if not self.selectionMode:
+            return
+        selected_items = 0
+        for row in model:
+            if row[6]:
+                selected_items += 1
+        self.selection_toolbar\
+            ._add_to_playlist_button.set_sensitive(selected_items > 0)
+        if selected_items > 0:
+            self.header_bar._selection_menu_label.set_text(
+                ngettext("Selected %d item", "Selected %d items", selected_items) % selected_items)
+        else:
+            self.header_bar._selection_menu_label.set_text(_("Click on items to select them"))
+
 
 class AllArtistsAlbums(ArtistAlbums):
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]