def do_activate(self): ''' Called by Rhythmbox when the plugin is activated. It creates the plugin's source and connects signals to manage the plugin's preferences. ''' # define .plugin text strings used for translation plugin = _('CoverArt Browser') desc = _('Browse and play your albums through their covers') print "CoverArtBrowser DEBUG - do_activate" self.shell = self.object self.db = self.shell.props.db try: entry_type = CoverArtBrowserEntryType() self.db.register_entry_type(entry_type) except NotImplementedError: entry_type = self.db.entry_register_type( 'CoverArtBrowserEntryType') cl = CoverLocale() cl.switch_locale(cl.Locale.LOCALE_DOMAIN) entry_type.category = RB.RhythmDBEntryCategory.NORMAL # load plugin icon theme = Gtk.IconTheme.get_default() rb.append_plugin_source_path(theme, '/icons') what, width, height = Gtk.icon_size_lookup(Gtk.IconSize.LARGE_TOOLBAR) pxbf = GdkPixbuf.Pixbuf.new_from_file_at_size( rb.find_plugin_file(self, 'img/' + Theme(self).current\ + '/covermgr.png'), width, height) group = RB.DisplayPageGroup.get_by_id('library') self.source = CoverArtBrowserSource( shell=self.shell, name=_("CoverArt"), entry_type=entry_type, plugin=self, pixbuf=pxbf, query_model=self.shell.props.library_source.props.base_query_model) self.shell.register_entry_type_for_source(self.source, entry_type) self.shell.append_display_page(self.source, group) self.source.props.query_model.connect('complete', self.load_complete) print "CoverArtBrowser DEBUG - end do_activate"
def do_activate(self): ''' Called by Rhythmbox when the plugin is activated. It creates the plugin's source and connects signals to manage the plugin's preferences. ''' print("CoverArtBrowser DEBUG - do_activate") self.shell = self.object self.db = self.shell.props.db self.entry_type = CoverArtBrowserEntryType() self.db.register_entry_type(self.entry_type) # we do some specific functionality when working with alternative toolbar # variables defined by the externalpluginmenu self.using_alternative_toolbar = False self.using_headerbar = False cl = CoverLocale() cl.switch_locale(cl.Locale.LOCALE_DOMAIN) self.entry_type.category = RB.RhythmDBEntryCategory.NORMAL group = RB.DisplayPageGroup.get_by_id('library') theme = Gtk.IconTheme.get_default() theme.append_search_path(rb.find_plugin_file(self, 'img')) iconfile = Gio.ThemedIcon(name='coverart-icon-symbolic') # our plugin model shared between sources self.source_query_model = RB.RhythmDBQueryModel.new_empty( self.shell.props.db) self.source = CoverArtBrowserSource( shell=self.shell, name=_("CoverArt"), entry_type=self.entry_type, plugin=self, icon=iconfile, query_model=self.shell.props.library_source.props.base_query_model) self.shell.register_entry_type_for_source(self.source, self.entry_type) self.source.props.visibility = False self.shell.append_display_page(self.source, group) self.playlist_source = GObject.new(CoverArtPlaySource, name=_("CoverArt Playlist"), shell=self.shell, plugin=self, entry_type=self.entry_type) self.shell.append_display_page(self.playlist_source, self.source) self.shell.props.db.connect('load-complete', self.load_complete) # GLib.timeout_add_seconds(3, self.load_complete) # kludge - if plugin activated after RB has loaded then do stuff def delayed(*args): if self.shell.props.selected_page: self._externalmenu = ExternalPluginMenu(self) return False else: return True GLib.timeout_add(100, delayed) cl.switch_locale(cl.Locale.RB) print("CoverArtBrowser DEBUG - end do_activate")
def do_activate(self): ''' Called by Rhythmbox when the plugin is activated. It creates the plugin's source and connects signals to manage the plugin's preferences. ''' print("CoverArtBrowser DEBUG - do_activate") self.shell = self.object self.db = self.shell.props.db try: entry_type = CoverArtBrowserEntryType() self.db.register_entry_type(entry_type) except NotImplementedError: entry_type = self.db.entry_register_type( 'CoverArtBrowserEntryType') cl = CoverLocale() cl.switch_locale(cl.Locale.LOCALE_DOMAIN) entry_type.category = RB.RhythmDBEntryCategory.NORMAL group = RB.DisplayPageGroup.get_by_id('library') # load plugin icon theme = Gtk.IconTheme.get_default() rb.append_plugin_source_path(theme, '/icons') # lets assume that python3 versions of RB only has the new icon attribute in the source if rb3compat.PYVER >=3: iconfile = Gio.File.new_for_path( rb.find_plugin_file(self, 'img/covermgr_rb3.png')) self.source = CoverArtBrowserSource( shell=self.shell, name=_("CoverArt"), entry_type=entry_type, plugin=self, icon=Gio.FileIcon.new(iconfile), query_model=self.shell.props.library_source.props.base_query_model) else: what, width, height = Gtk.icon_size_lookup(Gtk.IconSize.LARGE_TOOLBAR) pxbf = GdkPixbuf.Pixbuf.new_from_file_at_size( rb.find_plugin_file(self, 'img/covermgr.png'), width, height) self.source = CoverArtBrowserSource( shell=self.shell, name=_("CoverArt"), entry_type=entry_type, plugin=self, pixbuf=pxbf, query_model=self.shell.props.library_source.props.base_query_model) self.shell.register_entry_type_for_source(self.source, entry_type) self.shell.append_display_page(self.source, group) self.source.props.query_model.connect('complete', self.load_complete) if rb3compat.PYVER >=3: self._externalmenu = ExternalPluginMenu(self) else: self._externalmenu = None cl.switch_locale(cl.Locale.RB) print("CoverArtBrowser DEBUG - end do_activate")