def load_plugins(): from puddlestuff.pluginloader import load_plugins plugins = load_plugins() puddlestuff.findfunc.functions.update(plugins[constants.FUNCTIONS]) puddlestuff.tagsources.tagsources.extend(plugins[constants.TAGSOURCE]) puddlestuff.musiclib.extralibs = plugins[constants.MUSICLIBS] return plugins[constants.DIALOGS], plugins[constants.MODULES]
def load_plugins(): from puddlestuff.pluginloader import load_plugins plugins = load_plugins() puddlestuff.findfunc.functions.update(plugins[constants.FUNCTIONS]) puddlestuff.functions.no_preview.extend( plugins[constants.FUNCTIONS_NO_PREVIEW]) puddlestuff.tagsources.tagsources.extend(plugins[constants.TAGSOURCE]) puddlestuff.musiclib.extralibs = plugins[constants.MUSICLIBS] return plugins[constants.DIALOGS], plugins[constants.MODULES]
def __init__(self): QMainWindow.__init__(self) self.__updateDirs = True self.__dirsToUpdate = [] global add_shortcuts global remove_shortcuts add_shortcuts = self.addShortcuts remove_shortcuts = self.removeShortcuts plugins.add_shortcuts = add_shortcuts self.emits = ['loadFiles', 'always', 'dirsmoved', 'libfilesedited', 'enable_preview_mode', 'disable_preview_mode'] self.receives = [('writeselected', self.writeTags), ('filesloaded', self._filesLoaded), ('viewfilled', self._viewFilled), ('filesselected', self._filesSelected), ('renamedirs', self.renameDirs), ('filesloaded', self.updateTotalStats), ('filesselected', self.updateSelectedStats), ('onetomany', self.writeOneToMany), ('dirschanged', self._dirChanged), ('writepreview', self._writePreview), ('clearpreview', self._clearPreview), ('renameselected', self._renameSelected), ('playlistchanged', self._dirChanged), ('adddock', self.addDock), ('writeaction', self.writeAction), ('onetomanypreview', self.writeSinglePreview), ('manypreview', self.writeManyPreview)] self.gensettings = [('&Load last folder at startup', False, 1)] self._playlist = None plugin_dialogs, plugin_modules = load_plugins() self.setWindowTitle("puddletag") self.setDockNestingEnabled(True) self._table = TagTable() self.connect(self._table, SIGNAL('dirsmoved'), self.updateDirs) win = QSplitter() layout = QVBoxLayout() layout.addWidget(self._table) win.setLayout(layout) self.setCentralWidget(win) PuddleDock._controls = { 'table': self._table, 'mainwin': self, 'funcs': mainfuncs.obj,} status['mainwin'] = self status['model'] = self._table.model() status['table'] = self._table ls.create_files() winactions, self._docks = create_tool_windows(self) status['dialogs'] = PuddleDock._controls self.createStatusBar() actions = ls.get_actions(self) menus = ls.get_menus('menu') previewactions = mainwin.previews.create_actions(self) all_actions = actions + winactions + previewactions controls = PuddleDock._controls toolgroup = ls.get_menus('toolbar') toolbar = ls.toolbar(toolgroup, all_actions, controls) toolbar.setObjectName(translate("Menus", 'Toolbar')) self.addToolBar(toolbar) menubar, winmenu, self._menus = ls.menubar(menus, all_actions) temp_winactions = winmenu.actions() [winmenu.addAction(a) for a in winactions if a not in temp_winactions] if winmenu: winmenu.addSeparator() self._winmenu = winmenu else: self._winmenu = QMenu(translate("Settings", '&Windows'), self) menubar.addMenu(self._winmenu) self.setMenuBar(menubar) menubar.addMenu(help_menu(self)) mainfuncs.connect_status(actions) connect_actions(actions, controls) connect_action_shortcuts(all_actions) create_context_menus(controls, all_actions) status['actions'] = all_actions for m in plugin_modules: if hasattr(m, 'init'): try: m.init(parent=self) except: traceback.print_exc() continue for win in plugin_dialogs: try: self.addDock(*win, connect=False) except: print "Error while loading Plugin dialog." traceback.print_exc() self.restoreSettings() self.emit(SIGNAL('always'), True)
def __init__(self): QMainWindow.__init__(self) self.__updateDirs = True self.__dirsToUpdate = [] global add_shortcuts global remove_shortcuts add_shortcuts = self.addShortcuts remove_shortcuts = self.removeShortcuts plugins.add_shortcuts = add_shortcuts self.emits = [ 'loadFiles', 'always', 'dirsmoved', 'libfilesedited', 'enable_preview_mode', 'disable_preview_mode' ] self.receives = [('writeselected', self.writeTags), ('filesloaded', self._filesLoaded), ('viewfilled', self._viewFilled), ('filesselected', self._filesSelected), ('renamedirs', self.renameDirs), ('filesloaded', self.updateTotalStats), ('filesselected', self.updateSelectedStats), ('onetomany', self.writeOneToMany), ('dirschanged', self._dirChanged), ('writepreview', self._writePreview), ('clearpreview', self._clearPreview), ('renameselected', self._renameSelected), ('playlistchanged', self._dirChanged), ('adddock', self.addDock), ('writeaction', self.writeAction), ('onetomanypreview', self.writeSinglePreview), ('manypreview', self.writeManyPreview)] self.gensettings = [('&Load last folder at startup', False, 1)] self._playlist = None plugin_dialogs, plugin_modules = load_plugins() self.setWindowTitle("puddletag") self.setDockNestingEnabled(True) self._table = TagTable() self.connect(self._table, SIGNAL('dirsmoved'), self.updateDirs) win = QSplitter() layout = QVBoxLayout() layout.addWidget(self._table) win.setLayout(layout) self.setCentralWidget(win) PuddleDock._controls = { 'table': self._table, 'mainwin': self, 'funcs': mainfuncs.obj, } status['mainwin'] = self status['model'] = self._table.model() status['table'] = self._table ls.create_files() winactions, self._docks = create_tool_windows(self) status['dialogs'] = PuddleDock._controls self.createStatusBar() actions = ls.get_actions(self) menus = ls.get_menus('menu') previewactions = mainwin.previews.create_actions(self) all_actions = actions + winactions + previewactions controls = PuddleDock._controls toolgroup = ls.get_menus('toolbar') toolbar = ls.toolbar(toolgroup, all_actions, controls) toolbar.setObjectName(translate("Menus", 'Toolbar')) self.addToolBar(toolbar) menubar, winmenu, self._menus = ls.menubar(menus, all_actions) temp_winactions = winmenu.actions() [winmenu.addAction(a) for a in winactions if a not in temp_winactions] if winmenu: winmenu.addSeparator() self._winmenu = winmenu else: self._winmenu = QMenu(translate("Settings", '&Windows'), self) menubar.addMenu(self._winmenu) self.setMenuBar(menubar) menubar.addMenu(help_menu(self)) mainfuncs.connect_status(actions) connect_actions(actions, controls) connect_action_shortcuts(all_actions) create_context_menus(controls, all_actions) status['actions'] = all_actions for m in plugin_modules: if hasattr(m, 'init'): try: m.init(parent=self) except: traceback.print_exc() continue for win in plugin_dialogs: try: self.addDock(*win, connect=False) except: logging.exception("Error while loading Plugin dialog.") self.restoreSettings() self.emit(SIGNAL('always'), True)