def __init__(self, pylast, settings): super().__init__(use_header_bar=1) self.set_title('Last.fm') self.set_default_size(300, -1) self.set_resizable(False) self.connect('delete-event', self.on_close) self.worker = GObjectWorker() self.settings = settings self.pylast = pylast self.auth_url = '' if self.settings['data']: self.auth_state = self.AuthState.AUTHORIZED else: self.auth_state = self.AuthState.NOT_AUTHORIZED self.label = Gtk.Label.new(None) self.label.set_halign(Gtk.Align.CENTER) self.button = Gtk.Button() self.button.set_halign(Gtk.Align.CENTER) self.set_widget_text() self.button.connect('clicked', self.on_clicked) content_area = self.get_content_area() content_area.add(self.label) content_area.add(self.button) content_area.show_all()
def on_prepare(self): try: import pylast except ImportError: logging.warning('pylast not found.') return _('pylast not found') self.pylast = pylast self.worker = GObjectWorker() self.preferences_dialog = LastFmAuth(self.pylast, self.settings) self.preferences_dialog.connect('lastfm-authorized', self.on_lastfm_authorized) self.window.prefs_dlg.connect('login-changed', self._show_dialog)
def get_worker(): # so it can be shared between the plugin and the authorizer global _worker if not _worker: _worker = GObjectWorker() return _worker