import hildon
import gtk, gobject
from tracker_backend import TrackerBackend
-from edit_panel import MussorgskyEditPanel
-
+from album_art_panel import MussorgskyAlbumArtPanel
+from browse_panel import MussorgskyBrowsePanel
+from fancy_button import FancyButton
class MussorgskyMainWindow (hildon.StackableWindow):
def __init__ (self):
hildon.StackableWindow.__init__ (self)
self.tracker = TrackerBackend ()
- self.set_title ("Mussorgsky")
+ self.set_title ("MussOrgsky")
+ self.set_border_width (12)
self.connect ("destroy", gtk.main_quit)
- main_view_box = self.create_main_view ()
- self.add (main_view_box)
- self.update_values (None)
+ self.__create_view ()
self.show_all ()
- def show_edit_panel (self, songs, albums, artists):
- panel = MussorgskyEditPanel (songs, albums, artists)
- panel.connect ("destroy", self.back_to_main_view)
+ def show_browse_panel (self, songs):
+ panel = MussorgskyBrowsePanel (songs)
+ panel.show_all ()
+
+ def broken_files_clicked (self, widget):
+ list_songs = self.tracker.get_all_broken_songs ()
+ self.show_browse_panel (list_songs)
+
+ def browse_clicked (self, widget):
+ list_songs = self.tracker.get_all_songs ()
+ self.show_browse_panel (list_songs)
+
+ def album_art_clicked (self, widget):
+ album_artists = self.tracker.get_all_pairs_album_artist ()
+ panel = MussorgskyAlbumArtPanel (album_artists)
panel.show_all ()
- def back_to_main_view (self, widget):
- print "Waiting to update"
- gobject.timeout_add_seconds (3, self.update_values, None)
-
- def artists_clicked (self, widget):
- list_songs = self.tracker.get_songs_without_artist ()
- 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 titles_clicked (self, widget):
- list_songs = self.tracker.get_songs_without_title ()
- 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 albums_clicked (self, widget):
- list_songs = self.tracker.get_songs_without_album ()
- 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 update_values (self, user_data):
- print "Updating labels"
- self.label_no_artist.set_text ("%s songs without artist" %
- self.tracker.count_songs_wo_artist ())
- self.label_no_title.set_text ("%s songs without title" %
- self.tracker.count_songs_wo_title ())
- self.label_no_album.set_text ("%s songs without album" %
- self.tracker.count_songs_wo_album ())
- return False
-
- def create_main_view (self):
- vbox = gtk.VBox ()
-
- # Artist row
- artist_row = gtk.HBox (homogeneous=True)
- self.label_no_artist = gtk.Label ("")
- artist_row.add (self.label_no_artist)
- button_artists = gtk.Button ("Fix empty artists!")
- button_artists.connect ("clicked", self.artists_clicked)
- artist_row.add (button_artists)
-
- vbox.add (artist_row)
-
- # Title row
- title_row = gtk.HBox (homogeneous=True)
- self.label_no_title = gtk.Label ("")
- title_row.add (self.label_no_title)
- button_titles = gtk.Button ("Fix empty titles!")
- button_titles.connect ("clicked", self.titles_clicked)
- title_row.add (button_titles)
-
- vbox.add (title_row)
-
- # Album row
- album_row = gtk.HBox (homogeneous=True)
- self.label_no_album = gtk.Label ("")
- album_row.add (self.label_no_album)
- button_albums = gtk.Button ("Fix empty albums!")
- button_albums.connect ("clicked", self.albums_clicked)
- album_row.add (button_albums)
-
- vbox.add (album_row)
-
- return vbox
+ def __create_view (self):
+
+ image1 = gtk.Image ()
+ # "app_install_applications" "app_install_browse"
+ image1.set_from_icon_name ("app_install_applications", gtk.ICON_SIZE_MENU)
+ image1.set_pixel_size (164)
+
+ image2 = gtk.Image ()
+ image2.set_from_icon_name ("app_install_browse", gtk.ICON_SIZE_MENU)
+ image2.set_pixel_size (164)
+
+ hbox = gtk.HBox ()
+
+ align1 = gtk.Alignment (xalign=0.5, yalign=0.5)
+ button1 = FancyButton (image1, "Browse metadata")
+ button1.connect ("clicked", self.browse_clicked)
+ align1.add (button1)
+ hbox.pack_start (align1)
+
+ align2 = gtk.Alignment (xalign=0.5, yalign=0.5)
+ button2 = FancyButton(image2, "Album art")
+ button2.connect ("clicked", self.album_art_clicked)
+ align2.add (button2)
+ hbox.pack_start (align2)
+
+ self.add (hbox)
+
if __name__ == "__main__":