From 7b03764a4ae8e35f598049de024540e8263680ab Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Mon, 18 Feb 2013 20:41:08 +0000 Subject: [PATCH] code cleanups --- openlp/core/lib/pluginmanager.py | 18 +++++--- openlp/core/ui/mainwindow.py | 76 ++++++++++++++++---------------- openlp/core/ui/settingsform.py | 14 +++++- 3 files changed, 62 insertions(+), 46 deletions(-) diff --git a/openlp/core/lib/pluginmanager.py b/openlp/core/lib/pluginmanager.py index 06f0e36eb..5d03c2b05 100644 --- a/openlp/core/lib/pluginmanager.py +++ b/openlp/core/lib/pluginmanager.py @@ -120,20 +120,16 @@ class PluginManager(object): if plugin.status is not PluginStatus.Disabled: plugin.createMediaManagerItem() - def hook_settings_tabs(self, settings_form=None): + def hook_settings_tabs(self): """ Loop through all the plugins. If a plugin has a valid settings tab item, add it to the settings tab. Tabs are set for all plugins not just Active ones - ``settings_form`` - Defaults to *None*. The settings form to add tabs to. """ for plugin in self.plugins: if plugin.status is not PluginStatus.Disabled: - plugin.createSettingsTab(settings_form) - if settings_form: - settings_form.plugins = self.plugins + plugin.createSettingsTab(self.settings_form) def hook_import_menu(self, import_menu): """ @@ -213,3 +209,13 @@ class PluginManager(object): if plugin.isActive(): plugin.new_service_created() + #def _get_settings_form(self): + # """ + # Adds the plugin manager to the class dynamically + # """ + # if not hasattr(self, u'_settings_form'): + # self._settings_form = Registry().get(u'settings_form') + # return self._settings_form + + #settings_form = property(_get_settings_form) + diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index 377e9c67a..288a93fb5 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -105,10 +105,10 @@ class Ui_MainWindow(object): self.controlSplitter.setObjectName(u'controlSplitter') self.mainContentLayout.addWidget(self.controlSplitter) # Create slide controllers - self.previewController = SlideController(self) + self.preview_controller = SlideController(self) self.live_controller = SlideController(self, True) previewVisible = Settings().value(u'user interface/preview panel') - self.previewController.panel.setVisible(previewVisible) + self.preview_controller.panel.setVisible(previewVisible) liveVisible = Settings().value(u'user interface/live panel') panelLocked = Settings().value(u'user interface/lock panel') self.live_controller.panel.setVisible(liveVisible) @@ -475,6 +475,12 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): self.playersSettingsSection = u'players' self.displayTagsSection = u'displayTags' self.headerSection = u'SettingsImport' + + self.recentFiles = [] + self.timer_id = 0 + self.timer_version_id = 0 + self.new_data_path = None + self.copy_data = False Settings().set_up_default_values() Settings().remove_obsolete_settings() self.serviceNotSaved = False @@ -483,14 +489,14 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): self.settingsForm = SettingsForm(self) self.formattingTagForm = FormattingTagForm(self) self.shortcutForm = ShortcutListForm(self) - self.recentFiles = [] - self.timer_id = 0 - self.timer_version_id = 0 # Set up the path with plugins self.plugin_manager = PluginManager(AppLocation.get_directory(AppLocation.PluginsDir)) - self.image_manager = ImageManager() # Set up the interface self.setupUi(self) + # Define the media Dock Manager + self.mediaDockManager = MediaDockManager(self.mediaToolBox) + + self.image_manager = ImageManager() # Register the active media players and suffixes self.media_controller.check_available_media_players() # Load settings after setupUi so default UI sizes are overwritten @@ -498,54 +504,48 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): # Once settings are loaded update the menu with the recent files. self.updateRecentFilesMenu() self.pluginForm = PluginForm(self) - self.new_data_path = None - self.copy_data = False + # Set up signals and slots - QtCore.QObject.connect(self.importThemeItem, QtCore.SIGNAL(u'triggered()'), - self.themeManagerContents.on_import_theme) - QtCore.QObject.connect(self.exportThemeItem, QtCore.SIGNAL(u'triggered()'), - self.themeManagerContents.on_export_theme) QtCore.QObject.connect(self.mediaManagerDock, QtCore.SIGNAL(u'visibilityChanged(bool)'), - self.viewMediaManagerItem.setChecked) + self.viewMediaManagerItem.setChecked) QtCore.QObject.connect(self.serviceManagerDock, QtCore.SIGNAL(u'visibilityChanged(bool)'), - self.viewServiceManagerItem.setChecked) + self.viewServiceManagerItem.setChecked) QtCore.QObject.connect(self.themeManagerDock, QtCore.SIGNAL(u'visibilityChanged(bool)'), - self.viewThemeManagerItem.setChecked) - QtCore.QObject.connect(self.webSiteItem, QtCore.SIGNAL(u'triggered()'), self.onHelpWebSiteClicked) - QtCore.QObject.connect(self.toolsOpenDataFolder, QtCore.SIGNAL(u'triggered()'), - self.onToolsOpenDataFolderClicked) - QtCore.QObject.connect(self.toolsFirstTimeWizard, QtCore.SIGNAL(u'triggered()'), self.onFirstTimeWizardClicked) - QtCore.QObject.connect(self.updateThemeImages, QtCore.SIGNAL(u'triggered()'), self.onUpdateThemeImages) - QtCore.QObject.connect(self.formattingTagItem, QtCore.SIGNAL(u'triggered()'), self.onFormattingTagItemClicked) - QtCore.QObject.connect(self.settingsConfigureItem, QtCore.SIGNAL(u'triggered()'), - self.onSettingsConfigureItemClicked) - QtCore.QObject.connect(self.settingsShortcutsItem, QtCore.SIGNAL(u'triggered()'), - self.onSettingsShortcutsItemClicked) - QtCore.QObject.connect(self.settingsImportItem, QtCore.SIGNAL(u'triggered()'), - self.onSettingsImportItemClicked) - QtCore.QObject.connect(self.settingsExportItem, QtCore.SIGNAL(u'triggered()'), self.onSettingsExportItemClicked) + self.viewThemeManagerItem.setChecked) + self.importThemeItem.triggered.connect(self.themeManagerContents.on_import_theme) + self.exportThemeItem.triggered.connect(self.themeManagerContents.on_export_theme) + self.webSiteItem.triggered.connect(self.onHelpWebSiteClicked) + self.toolsOpenDataFolder.triggered.connect(self.onToolsOpenDataFolderClicked) + self.toolsFirstTimeWizard.triggered.connect(self.onFirstTimeWizardClicked) + self.updateThemeImages.triggered.connect(self.onUpdateThemeImages) + self.formattingTagItem.triggered.connect(self.onFormattingTagItemClicked) + self.settingsConfigureItem.triggered.connect(self.onSettingsConfigureItemClicked) + self.settingsShortcutsItem.triggered.connect(self.onSettingsShortcutsItemClicked) + self.settingsImportItem.triggered.connect(self.onSettingsImportItemClicked) + self.settingsExportItem.triggered.connect(self.onSettingsExportItemClicked) # i18n set signals for languages self.languageGroup.triggered.connect(LanguageManager.set_language) - QtCore.QObject.connect(self.modeDefaultItem, QtCore.SIGNAL(u'triggered()'), self.onModeDefaultItemClicked) - QtCore.QObject.connect(self.modeSetupItem, QtCore.SIGNAL(u'triggered()'), self.onModeSetupItemClicked) - QtCore.QObject.connect(self.modeLiveItem, QtCore.SIGNAL(u'triggered()'), self.onModeLiveItemClicked) + self.modeDefaultItem.triggered.connect(self.onModeDefaultItemClicked) + self.modeSetupItem.triggered.connect(self.onModeSetupItemClicked) + self.modeLiveItem.triggered.connect(self.onModeLiveItemClicked) # Media Manager - QtCore.QObject.connect(self.mediaToolBox, QtCore.SIGNAL(u'currentChanged(int)'), self.onMediaToolBoxChanged) + self.mediaToolBox.currentChanged.connect(self.onMediaToolBoxChanged) self.application.set_busy_cursor() + # Simple message boxes Registry().register_function(u'theme_update_global', self.default_theme_changed) Registry().register_function(u'openlp_version_check', self.version_notice) Registry().register_function(u'config_screen_changed', self.screen_changed) + self.renderer = Renderer() - # Define the media Dock Manager - self.mediaDockManager = MediaDockManager(self.mediaToolBox) + log.info(u'Load Plugins') self.plugin_manager.find_plugins() # hook methods have to happen after find_plugins. Find plugins needs # the controllers hence the hooks have moved from setupUI() to here # Find and insert settings tabs log.info(u'hook settings') - self.plugin_manager.hook_settings_tabs(self.settingsForm) + self.plugin_manager.hook_settings_tabs() # Find and insert media manager items log.info(u'hook media') self.plugin_manager.hook_media_manager() @@ -560,7 +560,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): log.info(u'initialise plugins') self.plugin_manager.initialise_plugins() # Create the displays as all necessary components are loaded. - self.previewController.screenSizeChanged() + self.preview_controller.screenSizeChanged() self.live_controller.screenSizeChanged() log.info(u'Load data from Settings') if Settings().value(u'advanced/save current plugin'): @@ -806,7 +806,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): """ We need to make sure, that the SlidePreview's size is correct. """ - self.previewController.previewSizeChanged() + self.preview_controller.previewSizeChanged() self.live_controller.previewSizeChanged() def onSettingsShortcutsItemClicked(self): @@ -1017,7 +1017,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): self.application.set_busy_cursor() self.image_manager.update_display() self.renderer.update_display() - self.previewController.screenSizeChanged() + self.preview_controller.screenSizeChanged() self.live_controller.screenSizeChanged() self.setFocus() self.activateWindow() diff --git a/openlp/core/ui/settingsform.py b/openlp/core/ui/settingsform.py index 1b000f16b..7d38711ef 100644 --- a/openlp/core/ui/settingsform.py +++ b/openlp/core/ui/settingsform.py @@ -75,7 +75,7 @@ class SettingsForm(QtGui.QDialog, Ui_SettingsDialog): self.insertTab(self.advancedTab, 2, PluginStatus.Active) self.insertTab(self.playerTab, 3, PluginStatus.Active) count = 4 - for plugin in self.plugins: + for plugin in self.plugin_manager.plugins: if plugin.settingsTab: self.insertTab(plugin.settingsTab, count, plugin.status) count += 1 @@ -126,7 +126,7 @@ class SettingsForm(QtGui.QDialog, Ui_SettingsDialog): self.themesTab.postSetUp() self.advancedTab.postSetUp() self.playerTab.postSetUp() - for plugin in self.plugins: + for plugin in self.plugin_manager.plugins: if plugin.settingsTab: plugin.settingsTab.postSetUp() @@ -166,3 +166,13 @@ class SettingsForm(QtGui.QDialog, Ui_SettingsDialog): return self._service_manager service_manager = property(_get_service_manager) + + def _get_plugin_manager(self): + """ + Adds the plugin manager to the class dynamically + """ + if not hasattr(self, u'_plugin_manager'): + self._plugin_manager = Registry().get(u'plugin_manager') + return self._plugin_manager + + plugin_manager = property(_get_plugin_manager)