[gnome-music] Implement playlist ordering in views



commit 547416a7af289b714ca0ece9e16857b6447e0fbb
Author: Kainaat Singh <kainaat singh gmail com>
Date:   Sat Nov 4 11:38:14 2017 +0530

    Implement playlist ordering in views
    
    Playlists are now displayed in order of creation (newest first) in the
    playlist dialog and (oldest first) in the playlist view, where
    applicable, following the design document.
    
    Co-Authored-By:  Sambhav Kothari <sambhavs email gmail com>
    
    https://bugzilla.gnome.org/show_bug.cgi?id=772090

 gnomemusic/query.py              |    2 +-
 gnomemusic/views/playlistview.py |    6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)
---
diff --git a/gnomemusic/query.py b/gnomemusic/query.py
index 2c92721..67c6257 100644
--- a/gnomemusic/query.py
+++ b/gnomemusic/query.py
@@ -237,7 +237,7 @@ class Query():
                       || !BOUND(nfo:belongsToContainer(?playlist)) )
             OPTIONAL { ?playlist nao:hasTag ?tag }
         }
-    ORDER BY !BOUND(?tag) LCASE(?title)
+    ORDER BY DESC(tracker:added(?playlist)) !BOUND(?tag) LCASE(?title)
     """.replace('\n', ' ').strip() % {
             'where_clause': where_clause.replace('\n', ' ').strip(),
             'music_dir': Query.MUSIC_URI
diff --git a/gnomemusic/views/playlistview.py b/gnomemusic/views/playlistview.py
index 9e270d1..36c270c 100644
--- a/gnomemusic/views/playlistview.py
+++ b/gnomemusic/views/playlistview.py
@@ -268,12 +268,14 @@ class PlaylistView(BaseView):
 
     @log
     def _add_playlist_item_to_model(self, item, index=None):
-        if index is None:
-            index = -1
         if not item:
             self._window.pop_loading_notification()
             self.emit('playlists-loaded')
             return
+        if index is None:
+            index = -1
+        if playlists.is_static_playlist(item):
+            index = 0
         _iter = self._playlists_model.insert_with_valuesv(
             index, [2, 5], [utils.get_media_title(item), item])
         if self._playlists_model.iter_n_children(None) == 1:


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