def __init__(self, radio_id, app): super().__init__() self.app = app self.parent = app.radio self.playlists = self.parent.playlists self.connect('button-press-event', self.on_button_pressed) # radio_info contains: # pic, name, radio_id, offset self.radio_id = radio_id self.expanded = False self.box = Gtk.Box() self.box.props.margin_top = 5 self.box.props.margin_bottom = 5 self.add(self.box) self.img = Gtk.Image() self.img_path = Net.get_image(self.playlists[self.radio_id]['pic']) self.small_pix = GdkPixbuf.Pixbuf.new_from_file_at_size(self.img_path, 50, 50) self.big_pix = GdkPixbuf.Pixbuf.new_from_file_at_size(self.img_path, 75, 75) self.img.set_from_pixbuf(self.small_pix) self.box.pack_start(self.img, False, False, 0) box_right = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) self.box.pack_start(box_right, True, True, 0) radio_name = Gtk.Label( Widgets.short_str(self.playlists[self.radio_id]['name'], 8)) box_right.pack_start(radio_name, True, True, 0) self.label = Gtk.Label(_('song name')) self.label.get_style_context().add_class('info-label') box_right.pack_start(self.label, False, False, 0) self.toolbar = Gtk.Toolbar() self.toolbar.set_style(Gtk.ToolbarStyle.ICONS) self.toolbar.set_show_arrow(False) self.toolbar.set_icon_size(1) box_right.pack_start(self.toolbar, False, False, 0) button_play = Gtk.ToolButton() button_play.set_label(_('Play')) button_play.set_icon_name('media-playback-start-symbolic') button_play.connect('clicked', self.on_button_play_clicked) self.toolbar.insert(button_play, 0) button_delete = Gtk.ToolButton() button_delete.set_label(_('Delete')) button_delete.set_icon_name('user-trash-symbolic') button_delete.connect('clicked', self.on_button_delete_clicked) self.toolbar.insert(button_delete, 1) self.show_all() self.label.hide() self.toolbar.hide() self.init_songs()