class AlbumInfoTab (GObject.GObject): __gsignals__ = { 'switch-tab' : (GObject.SIGNAL_RUN_LAST, GObject.TYPE_NONE, (GObject.TYPE_STRING,)) } def __init__ (self, plugin, shell, buttons, ds, view): GObject.GObject.__init__ (self) self.shell = shell self.sp = shell.props.shell_player self.db = shell.props.db self.buttons = buttons #self.button = Gtk.ToggleButton (label=_("Albums")) self.button = PixbufButton() self.button.set_image(create_button_image(plugin, "covermgr.png")) self.ds = ds self.view = view self.album_title= None self.artist = None self.active = False self.button.show() self.button.set_relief (Gtk.ReliefStyle.NONE) self.button.set_focus_on_click(False) self.button.connect ('clicked', lambda button: self.emit ('switch-tab', 'album')) buttons.pack_start (self.button, False, True, 0) def activate (self, artist, album_title): self.button.set_active(True) self.active = True self.reload (artist, album_title) def deactivate (self): self.button.set_active(False) self.active = False def reload (self, artist, album_title): if not artist: return if self.active and artist_exceptions(artist): print ("blank") self.view.blank_view() return if self.active and (not self.artist or artist != self.artist): self.view.loading(artist, album_title) self.ds.fetch_album_list (artist) else: self.view.load_view() self.album_title = album_title self.artist = artist
class ArtistInfoTab (GObject.GObject): __gsignals__ = { 'switch-tab' : (GObject.SIGNAL_RUN_LAST, GObject.TYPE_NONE, (GObject.TYPE_STRING,)) } button_image = "microphone.png" button_name = "artist" def __init__ (self, plugin, shell, buttons, ds, view): GObject.GObject.__init__ (self) self.shell = shell self.sp = shell.props.shell_player self.db = shell.props.db self.buttons = buttons self.button = PixbufButton() self.button.set_image(create_button_image(plugin, self.button_image)) self.ds = ds self.view = view self.album_title= None self.artist = None self.active = False self.button.show() self.button.set_relief (Gtk.ReliefStyle.NONE) self.button.set_focus_on_click(False) self.button.connect ('clicked', lambda button : self.emit('switch-tab', self.button_name)) buttons.pack_start (self.button, False, True, 0) def activate (self, artist=None, album_title=None): print("activating Artist Tab") self.button.set_active(True) self.active = True self.reload (artist, album_title) def deactivate (self): print("deactivating Artist Tab") self.button.set_active(False) self.active = False def reload (self, artist, album_title): if not artist: return if self.active and artist_exceptions(artist): print ("blank") self.view.blank_view() return if self.active and ( (not self.artist or self.artist != artist) or (not self.album_title or self.album_title != album_title) ): print ("now loading") self.view.loading (artist, album_title) print ("active") self.ds.fetch_artist_data (artist) else: print ("load_view") self.view.load_view() self.album_title = album_title self.artist = artist
class ArtistInfoTab(GObject.GObject): __gsignals__ = { 'switch-tab': (GObject.SIGNAL_RUN_LAST, GObject.TYPE_NONE, (GObject.TYPE_STRING, )) } button_image = "microphone.png" button_name = "artist" def __init__(self, plugin, shell, buttons, ds, view): GObject.GObject.__init__(self) self.shell = shell self.sp = shell.props.shell_player self.db = shell.props.db self.buttons = buttons self.button = PixbufButton() self.button.set_image(create_button_image(plugin, self.button_image)) self.ds = ds self.view = view self.album_title = None self.artist = None self.active = False self.button.show() self.button.set_relief(Gtk.ReliefStyle.NONE) self.button.set_focus_on_click(False) self.button.connect( 'clicked', lambda button: self.emit('switch-tab', self.button_name)) buttons.pack_start(self.button, False, True, 0) def activate(self, artist=None, album_title=None): print("activating Artist Tab") self.button.set_active(True) self.active = True self.reload(artist, album_title) def deactivate(self): print("deactivating Artist Tab") self.button.set_active(False) self.active = False def reload(self, artist, album_title): if not artist: return if self.active and artist_exceptions(artist): print("blank") self.view.blank_view() return if self.active and ( (not self.artist or self.artist != artist) or (not self.album_title or self.album_title != album_title)): print("now loading") self.view.loading(artist, album_title) print("active") self.ds.fetch_artist_data(artist) else: print("load_view") self.view.load_view() self.album_title = album_title self.artist = artist