X-Git-Url: http://git.maemo.org/git/?p=jamaendo;a=blobdiff_plain;f=jamaui%2Fradios.py;h=dc3109c18e7c845ac01250798a349a4ee241781b;hp=4514f2c57deaee704e1a6cb0048975bb881bd308;hb=38cb45f4c0c4231bda9a0466ad29e5804ced0f0a;hpb=99b9e55a7165a70a2e2f8846a214246d49faf9d0 diff --git a/jamaui/radios.py b/jamaui/radios.py index 4514f2c..dc3109c 100644 --- a/jamaui/radios.py +++ b/jamaui/radios.py @@ -25,6 +25,7 @@ import gtk import hildon import jamaendo from playerwindow import open_playerwindow +from albumlist import RadioList class RadiosWindow(hildon.StackableWindow): def __init__(self): @@ -33,39 +34,20 @@ class RadiosWindow(hildon.StackableWindow): # Results list self.panarea = hildon.PannableArea() - self.result_store = gtk.ListStore(str, int) - #self.result_store.append(['red']) - self.result_view = gtk.TreeView(self.result_store) - col = gtk.TreeViewColumn('Name') - self.result_view.append_column(col) - cell = gtk.CellRendererText() - col.pack_start(cell, True) - col.add_attribute(cell, 'text', 0) - self.result_view.set_search_column(0) - col.set_sort_column_id(0) - self.result_view.connect('row-activated', self.row_activated) + self.radiolist = RadioList() + self.radiolist.connect('row-activated', self.row_activated) - self.panarea.add(self.result_view) + self.panarea.add(self.radiolist) self.radios = {} hildon.hildon_gtk_window_set_progress_indicator(self, 1) for item in jamaendo.starred_radios(): self.radios[item.ID] = item - self.result_store.append([self.radio_text(item), item.ID]) + self.radiolist.add_radio(item) hildon.hildon_gtk_window_set_progress_indicator(self, 0) self.add(self.panarea) - def radio_text(self, radio): - if radio.name and radio.idstr: - return "%s (%s)" % (radio.name, radio.idstr) - elif radio.name: - return radio.name - elif radio.idstr: - return radio.idstr - else: - return "Radio #%s" % (radio.ID) - def make_button(self, text, subtext, callback): button = hildon.Button(gtk.HILDON_SIZE_FINGER_HEIGHT, hildon.BUTTON_ARRANGEMENT_VERTICAL) @@ -74,23 +56,9 @@ class RadiosWindow(hildon.StackableWindow): if callback: button.connect('clicked', callback) - #image = gtk.image_new_from_stock(gtk.STOCK_INFO, gtk.ICON_SIZE_BUTTON) - #button.set_image(image) - #button.set_image_position(gtk.POS_RIGHT) - return button def row_activated(self, treeview, path, view_column): - treeiter = self.result_store.get_iter(path) - title, _id = self.result_store.get(treeiter, 0, 1) - item = self.radios[_id] - print _id, item - self.open_item(item) - - def open_item(self, item): - hildon.hildon_gtk_window_set_progress_indicator(self, 1) - tracks = jamaendo.get_radio_tracks(item.ID) - hildon.hildon_gtk_window_set_progress_indicator(self, 0) - if tracks: - wnd = open_playerwindow() - wnd.play_tracks(tracks) + name, _id = self.radiolist.get_radio_id(path) + wnd = open_playerwindow() + wnd.play_radio(name, _id)