[gnome-music/wip/mschraal/toolbar-fixes: 4/4] toolbar: Add selection_mode property



commit 058f9017fed150e0d0b096238d7bc24c0ad67446
Author: Marinus Schraal <mschraal gnome org>
Date:   Sat Feb 24 20:59:21 2018 +0100

    toolbar: Add selection_mode property
    
    - Remove camelcase _selectionMode
    - Make _selection_mode an instance variable
    - Add selection_mode property
    - Replace _selectionMode usage

 gnomemusic/toolbar.py           | 23 ++++++++++++++++-------
 gnomemusic/views/albumsview.py  |  4 ++--
 gnomemusic/views/artistsview.py |  6 +++---
 gnomemusic/views/searchview.py  |  2 +-
 gnomemusic/views/songsview.py   |  4 ++--
 gnomemusic/window.py            | 12 ++++++------
 6 files changed, 30 insertions(+), 21 deletions(-)
---
diff --git a/gnomemusic/toolbar.py b/gnomemusic/toolbar.py
index 9232917..bb7a834 100644
--- a/gnomemusic/toolbar.py
+++ b/gnomemusic/toolbar.py
@@ -46,7 +46,6 @@ class Toolbar(GObject.GObject):
     __gsignals__ = {
         'selection-mode-changed': (GObject.SignalFlags.RUN_FIRST, None, ()),
     }
-    _selectionMode = False
 
     def __repr__(self):
         return '<Toolbar>'
@@ -55,6 +54,8 @@ class Toolbar(GObject.GObject):
     def __init__(self):
         super().__init__()
 
+        self._selection_mode = False
+
         self._stack_switcher = Gtk.StackSwitcher(can_focus=False,
                                                  halign="center")
         self._stack_switcher.show()
@@ -78,6 +79,14 @@ class Toolbar(GObject.GObject):
         self._back_button.connect('clicked', self.on_back_button_clicked)
         self._window = self.header_bar.get_parent()
 
+    @GObject.Property
+    def selection_mode(self):
+        return self._selection_mode
+
+    @selection_mode.setter
+    def selection_mode(self, mode):
+        self.set_selection_mode(mode)
+
     @log
     def reset_header_title(self):
         self.header_bar.set_title(_("Music"))
@@ -100,9 +109,9 @@ class Toolbar(GObject.GObject):
         self._stack_switcher.show()
 
     @log
-    def set_selection_mode(self, selectionMode):
-        self._selectionMode = selectionMode
-        if selectionMode:
+    def set_selection_mode(self, mode):
+        self._selection_mode = mode
+        if mode:
             self._select_button.hide()
             self._cancel_button.show()
             self.header_bar.get_style_context().add_class('selection-mode')
@@ -141,7 +150,7 @@ class Toolbar(GObject.GObject):
 
     @log
     def _update(self):
-        if self._selectionMode:
+        if self._selection_mode:
             self.header_bar.set_custom_title(self._selection_menu_button)
         elif self._state != ToolbarState.MAIN:
             self.header_bar.set_custom_title(None)
@@ -151,5 +160,5 @@ class Toolbar(GObject.GObject):
         self._search_button.set_visible(
             self._state != ToolbarState.SEARCH_VIEW)
         self._back_button.set_visible(
-            not self._selectionMode and self._state != ToolbarState.MAIN)
-        self.header_bar.set_show_close_button(not self._selectionMode)
+            not self._selection_mode and self._state != ToolbarState.MAIN)
+        self.header_bar.set_show_close_button(not self._selection_mode)
diff --git a/gnomemusic/views/albumsview.py b/gnomemusic/views/albumsview.py
index 51b8e2e..d6a9abd 100644
--- a/gnomemusic/views/albumsview.py
+++ b/gnomemusic/views/albumsview.py
@@ -55,7 +55,7 @@ class AlbumsView(BaseView):
 
     @log
     def _on_changes_pending(self, data=None):
-        if (self._init and not self._header_bar._selectionMode):
+        if (self._init and not self._header_bar.selection_mode):
             self._offset = 0
             self._init = True
             GLib.idle_add(self.populate)
@@ -63,7 +63,7 @@ class AlbumsView(BaseView):
 
     @log
     def _on_selection_mode_changed(self, widget, data=None):
-        if (not self._header_bar._selectionMode
+        if (not self._header_bar.selection_mode
                 and grilo.changes_pending['Albums']):
             self._on_changes_pending()
 
diff --git a/gnomemusic/views/artistsview.py b/gnomemusic/views/artistsview.py
index 0b1d269..6c83bfb 100644
--- a/gnomemusic/views/artistsview.py
+++ b/gnomemusic/views/artistsview.py
@@ -82,7 +82,7 @@ class ArtistsView(BaseView):
     @log
     def _on_changes_pending(self, data=None):
         if (self._init
-                and not self._header_bar._selectionMode):
+                and not self._header_bar.selection_mode):
             self.model.clear()
             self._artists.clear()
             self._offset = 0
@@ -203,8 +203,8 @@ class ArtistsView(BaseView):
     @log
     def _on_selection_mode_changed(self, widget, data=None):
         self._artist_albums_stack.set_sensitive(
-            not self._header_bar._selectionMode)
-        if (not self._header_bar._selectionMode
+            not self._header_bar.selection_mode)
+        if (not self._header_bar.selection_mode
                 and grilo.changes_pending['Artists']):
             self._on_changes_pending()
 
diff --git a/gnomemusic/views/searchview.py b/gnomemusic/views/searchview.py
index cc4a5c1..ea6ce36 100644
--- a/gnomemusic/views/searchview.py
+++ b/gnomemusic/views/searchview.py
@@ -156,7 +156,7 @@ class SearchView(BaseView):
         if (self._artist_albums_widget is not None
                 and self.get_visible_child() == self._artist_albums_widget):
             self._artist_albums_widget.set_selection_mode(
-                self._header_bar._selectionMode)
+                self._header_bar.selection_mode)
 
     @log
     def _add_search_item(self, source, param, item, remaining=0, data=None):
diff --git a/gnomemusic/views/songsview.py b/gnomemusic/views/songsview.py
index 8f722ea..c373dd0 100644
--- a/gnomemusic/views/songsview.py
+++ b/gnomemusic/views/songsview.py
@@ -69,7 +69,7 @@ class SongsView(BaseView):
     @log
     def _on_changes_pending(self, data=None):
         if (self._init
-                and not self._header_bar._selectionMode):
+                and not self._header_bar.selection_mode):
             self.model.clear()
             self._offset = 0
             GLib.idle_add(self.populate)
@@ -77,7 +77,7 @@ class SongsView(BaseView):
 
     @log
     def _on_selection_mode_changed(self, widget, data=None):
-        if (not self._header_bar._selectionMode
+        if (not self._header_bar.selection_mode
                 and grilo.changes_pending['Songs']):
             self._on_changes_pending()
 
diff --git a/gnomemusic/window.py b/gnomemusic/window.py
index c572cf2..471cc5e 100644
--- a/gnomemusic/window.py
+++ b/gnomemusic/window.py
@@ -112,7 +112,7 @@ class Window(Gtk.ApplicationWindow):
                     self.toolbar._search_button.set_sensitive(True)
                     self.toolbar._select_button.set_sensitive(True)
                     self.toolbar.show_stack()
-            elif (self.toolbar._selectionMode is False
+            elif (self.toolbar.selection_mode is False
                     and len(self.views) != 1):
                 self._stack.disconnect(self._on_notify_model_id)
                 self.disconnect(self._key_press_event_id)
@@ -296,7 +296,7 @@ class Window(Gtk.ApplicationWindow):
 
     @log
     def _select_all(self):
-        if not self.toolbar._selectionMode:
+        if not self.toolbar.selection_mode:
             return
         if self.toolbar._state == ToolbarState.MAIN:
             view = self._stack.get_visible_child()
@@ -307,7 +307,7 @@ class Window(Gtk.ApplicationWindow):
 
     @log
     def _select_none(self):
-        if not self.toolbar._selectionMode:
+        if not self.toolbar.selection_mode:
             return
         if self.toolbar._state == ToolbarState.MAIN:
             view = self._stack.get_visible_child()
@@ -400,7 +400,7 @@ class Window(Gtk.ApplicationWindow):
             if event.keyval == Gdk.KEY_Escape:
                 self.toolbar.searchbar.reveal(False)
                 # Also disable selection
-                if self.toolbar._selectionMode:
+                if self.toolbar.selection_mode:
                     self.toolbar.set_selection_mode(False)
 
         # Open the search bar when typing printable chars.
@@ -485,12 +485,12 @@ class Window(Gtk.ApplicationWindow):
                     and child != self.curr_view._artist_albums_widget):
                 self._stack.set_visible_child(self.views[View.ALBUM])
 
-            if self.toolbar._selectionMode:
+            if self.toolbar.selection_mode:
                 self.toolbar.set_selection_mode(False)
 
     @log
     def _on_selection_mode_changed(self, widget, data=None):
-        if self.toolbar._selectionMode is False:
+        if self.toolbar.selection_mode is False:
             self._on_changes_pending()
         else:
             child = self._stack.get_visible_child()


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