[gnome-music] artistalbumswidget: Cleanup
- From: Marinus Schraal <mschraal src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-music] artistalbumswidget: Cleanup
- Date: Fri, 24 Feb 2017 12:22:08 +0000 (UTC)
commit dd4ba5e8daa18c05c36ef8cedeeaa5f5dc644b76
Author: Marinus Schraal <mschraal src gnome org>
Date: Fri Feb 24 13:04:51 2017 +0100
artistalbumswidget: Cleanup
PEP-8 & PEP-257 fixes.
gnomemusic/widgets/artistalbumswidget.py | 174 +++++++++++++++++-------------
gnomemusic/widgets/artistalbumwidget.py | 2 +-
2 files changed, 101 insertions(+), 75 deletions(-)
---
diff --git a/gnomemusic/widgets/artistalbumswidget.py b/gnomemusic/widgets/artistalbumswidget.py
index abffa5e..cd05bbf 100644
--- a/gnomemusic/widgets/artistalbumswidget.py
+++ b/gnomemusic/widgets/artistalbumswidget.py
@@ -35,57 +35,64 @@ logger = logging.getLogger(__name__)
class ArtistAlbumsWidget(Gtk.Box):
+ """Widget containing all albums by an artist
+
+ A vertical list of ArtistAlbumWidget, containing all the albums
+ by one artist. Contains the model for all the song widgets of
+ the album(s).
+ """
def __repr__(self):
return '<ArtistAlbumsWidget>'
@log
- def __init__(self, artist, albums, player,
- header_bar, selection_toolbar, window, selectionModeAllowed=False):
+ def __init__(self, artist, albums, player, header_bar, selection_toolbar,
+ window, selection_mode_allowed=False):
Gtk.Box.__init__(self, orientation=Gtk.Orientation.VERTICAL)
- self.player = player
+ self._player = player
self.artist = artist
- self.albums = albums
- self.window = window
- self.selectionMode = False
- self.selectionModeAllowed = selectionModeAllowed
- self.selection_toolbar = selection_toolbar
- self.header_bar = header_bar
- self.ui = Gtk.Builder()
- self.ui.add_from_resource('/org/gnome/Music/ArtistAlbumsWidget.ui')
- self.set_border_width(0)
- self.ui.get_object('artist').set_label(self.artist)
- self.widgets = []
+ self._window = window
+ self._selection_mode = False
+ self._selection_mode_allowed = selection_mode_allowed
+ self._selection_toolbar = selection_toolbar
+ self._header_bar = header_bar
+
+ ui = Gtk.Builder()
+ ui.add_from_resource('/org/gnome/Music/ArtistAlbumsWidget.ui')
+ ui.get_object('artist').set_label(self.artist)
+
+ self._widgets = []
self._create_model()
- self.row_changed_source_id = None
-
- self._hbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
- self._albumBox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL,
- spacing=48)
- self._scrolledWindow = Gtk.ScrolledWindow()
- self._scrolledWindow.set_policy(
- Gtk.PolicyType.NEVER,
- Gtk.PolicyType.AUTOMATIC)
- self._scrolledWindow.add(self._hbox)
- self._hbox.pack_start(self.ui.get_object('ArtistAlbumsWidget'),
- False, False, 0)
- self._hbox.pack_start(self._albumBox, False, False, 16)
- self._coverSizeGroup = Gtk.SizeGroup.new(Gtk.SizeGroupMode.HORIZONTAL)
- self._songsGridSizeGroup = Gtk.SizeGroup.new(Gtk.SizeGroupMode.HORIZONTAL)
- self.pack_start(self._scrolledWindow, True, True, 0)
-
- self.hide()
- self.window.push_loading_notification()
+ self._row_changed_source_id = None
+
+ hbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
+ hbox.pack_start(ui.get_object('ArtistAlbumsWidget'), False, False, 0)
+ self._album_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL,
+ spacing=48)
+ hbox.pack_start(self._album_box, False, False, 16)
+
+ self._scrolled_window = Gtk.ScrolledWindow()
+ self._scrolled_window.set_policy(Gtk.PolicyType.NEVER,
+ Gtk.PolicyType.AUTOMATIC)
+ self._scrolled_window.add(hbox)
+ self.pack_start(self._scrolled_window, True, True, 0)
+
+ self._cover_size_group = Gtk.SizeGroup.new(
+ Gtk.SizeGroupMode.HORIZONTAL)
+ self._songs_grid_size_group = Gtk.SizeGroup.new(
+ Gtk.SizeGroupMode.HORIZONTAL)
+
+ self._window.push_loading_notification()
for album in albums:
is_last_album = False
if album == albums[-1]:
is_last_album = True
- self.add_album(album, is_last_album)
+ self._add_album(album, is_last_album)
- self.player.connect('playlist-item-changed', self.update_model)
+ self._player.connect('playlist-item-changed', self._update_model)
@log
def _create_model(self):
@@ -105,48 +112,52 @@ class ArtistAlbumsWidget(Gtk.Box):
GObject.TYPE_INT
)
+ @log
def _on_last_album_displayed(self, data=None):
- self.window.pop_loading_notification()
+ self._window.pop_loading_notification()
self.show_all()
@log
- def add_album(self, album, is_last_album=False):
- widget = ArtistAlbumWidget(album, self.player, self._model,
- self.header_bar, self.selectionModeAllowed,
- self._songsGridSizeGroup,
- self._coverSizeGroup, self.header_bar)
- self._coverSizeGroup.add_widget(widget.cover)
+ def _add_album(self, album, is_last_album=False):
+ widget = ArtistAlbumWidget(album, self._player, self._model,
+ self._header_bar,
+ self._selection_mode_allowed,
+ self._songs_grid_size_group,
+ self._cover_size_group)
+ self._cover_size_group.add_widget(widget.cover)
- self._albumBox.pack_start(widget, False, False, 0)
- self.widgets.append(widget)
+ self._album_box.pack_start(widget, False, False, 0)
+ self._widgets.append(widget)
if is_last_album:
widget.connect('tracks-loaded', self._on_last_album_displayed)
@log
- def update_model(self, player, playlist, currentIter):
+ def _update_model(self, player, playlist, current_iter):
# this is not our playlist, return
if playlist != self._model:
# TODO, only clean once, but that can wait util we have clean
# the code a bit, and until the playlist refactoring.
# the overhead is acceptable for now
- self.clean_model()
+ self._clean_model()
return False
- currentSong = playlist.get_value(currentIter, 5)
+ current_song = playlist[current_iter][5]
song_passed = False
itr = playlist.get_iter_first()
while itr:
- song = playlist.get_value(itr, 5)
+ song = playlist[itr][5]
song_widget = song.song_widget
if not song_widget.can_be_played:
itr = playlist.iter_next(itr)
continue
- escaped_title = GLib.markup_escape_text(utils.get_media_title(song))
- if (song == currentSong):
+ escaped_title = GLib.markup_escape_text(
+ utils.get_media_title(song))
+
+ if (song == current_song):
song_widget.now_playing_sign.show()
song_widget.title.set_markup('<b>%s</b>' % escaped_title)
song_passed = True
@@ -156,63 +167,78 @@ class ArtistAlbumsWidget(Gtk.Box):
else:
song_widget.now_playing_sign.hide()
song_widget.title.set_markup(
- '<span color=\'grey\'>%s</span>' % escaped_title
- )
+ '<span color=\'grey\'>%s</span>' % escaped_title)
itr = playlist.iter_next(itr)
+
return False
@log
- def clean_model(self):
+ def _clean_model(self):
itr = self._model.get_iter_first()
+
while itr:
- song = self._model.get_value(itr, 5)
+ song = self._model[itr][5]
song_widget = song.song_widget
- escaped_title = GLib.markup_escape_text(utils.get_media_title(song))
+ escaped_title = GLib.markup_escape_text(
+ utils.get_media_title(song))
if song_widget.can_be_played:
song_widget.now_playing_sign.hide()
song_widget.title.set_markup('<span>%s</span>' % escaped_title)
itr = self._model.iter_next(itr)
+
return False
@log
- def set_selection_mode(self, selectionMode):
- if self.selectionMode == selectionMode:
+ def set_selection_mode(self, selection_mode):
+ """Set selection mode for the widget
+
+ :param bool selection_mode: Allow selection mode
+ """
+ if self._selection_mode == selection_mode:
return
- self.selectionMode = selectionMode
+
+ self._selection_mode = selection_mode
+
try:
- if self.row_changed_source_id:
- self._model.disconnect(self.row_changed_source_id)
- self.row_changed_source_id = self._model.connect(
- 'row-changed',
- self._model_row_changed)
+ if self._row_changed_source_id:
+ self._model.disconnect(self._row_changed_source_id)
+ self._row_changed_source_id = self._model.connect(
+ 'row-changed', self._model_row_changed)
except Exception as e:
logger.warning("Exception while tracking row-changed: %s", e)
- for widget in self.widgets:
- widget.set_selection_mode(selectionMode)
+ for widget in self._widgets:
+ widget.set_selection_mode(selection_mode)
@log
- def _model_row_changed(self, model, path, _iter):
- if not self.selectionMode:
+ def _model_row_changed(self, model, path, itr):
+ if not self._selection_mode:
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)
+
+ add_button = self._selection_toolbar._add_to_playlist_button
+ add_button.set_sensitive(selected_items > 0)
+
+ menu_label = self._header_bar._selection_menu_label
if selected_items > 0:
- self.header_bar._selection_menu_label.set_text(
- ngettext("Selected %d item", "Selected %d items", selected_items) % selected_items)
+ 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"))
+ menu_label.set_text(_("Click on items to select them"))
@log
def select_all(self):
- for widget in self.widgets:
+ """Select all items"""
+ for widget in self._widgets:
widget._disc_listbox.select_all()
@log
def select_none(self):
- for widget in self.widgets:
+ """Deselect all items"""
+ for widget in self._widgets:
widget._disc_listbox.select_none()
diff --git a/gnomemusic/widgets/artistalbumwidget.py b/gnomemusic/widgets/artistalbumwidget.py
index 48c8658..b6aa4b0 100644
--- a/gnomemusic/widgets/artistalbumwidget.py
+++ b/gnomemusic/widgets/artistalbumwidget.py
@@ -44,7 +44,7 @@ class ArtistAlbumWidget(Gtk.Box):
@log
def __init__(self, media, player, model, header_bar,
selection_mode_allowed, size_group=None,
- cover_size_group=None, selection_toolbar=None):
+ cover_size_group=None):
super().__init__(self, orientation=Gtk.Orientation.HORIZONTAL)
self._size_group = size_group
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]