[gnome-music/wip/mschraal/core] playlistsview: Select first playlist on start
- From: Marinus Schraal <mschraal src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-music/wip/mschraal/core] playlistsview: Select first playlist on start
- Date: Sat, 13 Jul 2019 22:41:00 +0000 (UTC)
commit 6187d7393a5bc442b53bb671d8c579b962877cf1
Author: Jean Felder <jfelder src gnome org>
Date: Tue Jul 9 16:48:00 2019 +0200
playlistsview: Select first playlist on start
gnomemusic/coremodel.py | 3 ++-
gnomemusic/grilowrappers/grltrackerplaylists.py | 1 +
gnomemusic/views/playlistsview.py | 9 +++++++++
3 files changed, 12 insertions(+), 1 deletion(-)
---
diff --git a/gnomemusic/coremodel.py b/gnomemusic/coremodel.py
index 375faa3a..22b0afa6 100644
--- a/gnomemusic/coremodel.py
+++ b/gnomemusic/coremodel.py
@@ -32,7 +32,8 @@ from gnomemusic.widgets.songwidget import SongWidget
class CoreModel(GObject.GObject):
__gsignals__ = {
- "playlist-loaded": (GObject.SignalFlags.RUN_FIRST, None, ())
+ "playlist-loaded": (GObject.SignalFlags.RUN_FIRST, None, ()),
+ "playlists-loaded": (GObject.SignalFlags.RUN_FIRST, None, ()),
}
@log
diff --git a/gnomemusic/grilowrappers/grltrackerplaylists.py b/gnomemusic/grilowrappers/grltrackerplaylists.py
index 7c5757be..4553f5a7 100644
--- a/gnomemusic/grilowrappers/grltrackerplaylists.py
+++ b/gnomemusic/grilowrappers/grltrackerplaylists.py
@@ -101,6 +101,7 @@ class GrlTrackerPlaylists(GObject.GObject):
print("ERROR", error)
return
if not media:
+ self._coremodel.emit("playlists-loaded")
return
playlist = Playlist(
diff --git a/gnomemusic/views/playlistsview.py b/gnomemusic/views/playlistsview.py
index a493cdae..0d423188 100644
--- a/gnomemusic/views/playlistsview.py
+++ b/gnomemusic/views/playlistsview.py
@@ -124,6 +124,9 @@ class PlaylistsView(BaseView):
self._coremodel.props.playlists_sort,
self._add_playlist_to_sidebar)
+ self._loaded_id = self._coremodel.connect(
+ "playlists-loaded", self._on_playlists_loaded)
+
self.show_all()
@log
@@ -158,6 +161,12 @@ class PlaylistsView(BaseView):
return row
+ def _on_playlists_loaded(self, klass):
+ self._coremodel.disconnect(self._loaded_id)
+ first_row = self._sidebar.get_row_at_index(0)
+ self._sidebar.select_row(first_row)
+ first_row.emit("activate")
+
def _on_playlists_model_changed(self, model, position, removed, added):
if removed == 0:
return
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]