4 from settings import settings
5 from postoffice import postoffice
8 log = logging.getLogger(__name__)
10 class AlbumList(gtk.TreeView):
12 gtk.TreeView.__init__(self)
13 self.__store = gtk.ListStore(str, int)
14 self.set_model(self.__store)
16 col = gtk.TreeViewColumn('Name')
17 self.append_column(col)
18 cell = gtk.CellRendererText()
19 col.pack_start(cell, True)
20 col.add_attribute(cell, 'text', 0)
21 self.set_search_column(0)
22 col.set_sort_column_id(0)
24 self.__show_artist = True
26 def add_album(self, album):
27 if self.__show_artist:
28 txt = "%s - %s" % (album.artist_name, album.name)
31 self.__store.append([txt, album.ID])
33 def get_album_id(self, path):
34 treeiter = self.__store.get_iter(path)
35 _, _id = self.__store.get(treeiter, 0, 1)
38 def show_artist(self, show):
39 self.__show_artist = show
41 class TrackList(gtk.TreeView):
42 def __init__(self, numbers = True):
43 gtk.TreeView.__init__(self)
44 self.track_numbers = numbers
45 self.__store = gtk.ListStore(int, str, int)
46 self.set_model(self.__store)
49 col0 = gtk.TreeViewColumn('Num')
50 self.append_column(col0)
51 cell0 = gtk.CellRendererText()
52 col0.pack_start(cell0, True)
53 col0.add_attribute(cell0, 'text', 0)
55 col = gtk.TreeViewColumn('Name')
56 self.append_column(col)
57 cell = gtk.CellRendererText()
58 col.pack_start(cell, True)
59 col.add_attribute(cell, 'text', 1)
61 self.set_search_column(1 if numbers else 0)
62 col.set_sort_column_id(0)
64 def add_track(self, track):
65 self.__store.append([track.numalbum, track.name, track.ID])
67 def get_track_id(self, path):
68 treeiter = self.__store.get_iter(path)
69 _, _id = self.__store.get(treeiter, 0, 1)