From ba98fd3bcd8c9549fa24c2266f761cfbc8017224 Mon Sep 17 00:00:00 2001 From: Ivan Frade Date: Fri, 26 Jun 2009 01:58:16 +0300 Subject: [PATCH] Browse all music utility Added button in the main screen, and method to retrieve all songs in the tracker backend --- src/mussorgsky.py | 12 ++++++++++++ src/tracker_backend.py | 7 +++++++ 2 files changed, 19 insertions(+) diff --git a/src/mussorgsky.py b/src/mussorgsky.py index e5c88a6..6429a68 100755 --- a/src/mussorgsky.py +++ b/src/mussorgsky.py @@ -54,6 +54,12 @@ class MussorgskyMainWindow (hildon.StackableWindow): self.tracker.count_songs_wo_album ()) return False + def browse_clicked (self, widget): + list_songs = self.tracker.get_all_songs () + list_albums = self.tracker.get_list_of_known_albums () + list_artists = self.tracker.get_list_of_known_artists () + self.show_edit_panel (list_songs, list_albums, list_artists) + def create_main_view (self): vbox = gtk.VBox () @@ -87,6 +93,12 @@ class MussorgskyMainWindow (hildon.StackableWindow): vbox.add (album_row) + # All songs row + all_songs_row = hildon.Button (hildon.BUTTON_STYLE_NORMAL, hildon.BUTTON_ARRANGEMENT_HORIZONTAL) + all_songs_row.set_title ("Browse the music collection") + all_songs_row.connect ("clicked", self.browse_clicked) + vbox.add (all_songs_row) + return vbox if __name__ == "__main__": diff --git a/src/tracker_backend.py b/src/tracker_backend.py index 1a9d6fe..35eabd4 100755 --- a/src/tracker_backend.py +++ b/src/tracker_backend.py @@ -21,6 +21,7 @@ RDF_NO_ARTIST = RDF_NO_PROPX % "Audio:Artist" RDF_NO_ALBUM = RDF_NO_PROPX % "Audio:Album" RDF_NO_TITLE = RDF_NO_PROPX % "Audio:Title" + class TrackerBackend: def __init__ (self): @@ -75,6 +76,10 @@ class TrackerBackend: """ return self.__run_rdf_query (RDF_NO_ALBUM) + def get_all_songs (self): + return self.__run_rdf_query ("") + + def get_list_of_known_albums (self): return self.iface_metadata.GetUniqueValues ("Music", ["Audio:Album"], @@ -105,3 +110,5 @@ if __name__ == "__main__": for a in albums: print a[0] + print "\nAll songs:" + print tracker.get_all_songs () -- 1.7.9.5