diff --git a/openlp/core/lib/searchedit.py b/openlp/core/lib/searchedit.py index c212dcc24..5d117e3d1 100644 --- a/openlp/core/lib/searchedit.py +++ b/openlp/core/lib/searchedit.py @@ -30,7 +30,7 @@ import logging from PyQt4 import QtCore, QtGui from openlp.core.lib import build_icon -from openlp.core.lib.ui import icon_action +from openlp.core.lib.ui import create_action log = logging.getLogger(__name__) @@ -150,12 +150,9 @@ class SearchEdit(QtGui.QLineEdit): menu = QtGui.QMenu(self) first = None for identifier, icon, title in items: - action = icon_action(menu, u'', icon) - action.setText(title) - action.setData(QtCore.QVariant(identifier)) + action = create_action(menu, u'', text=title, icon=icon, + data=identifier, triggers=self._onMenuActionTriggered) menu.addAction(action) - QtCore.QObject.connect(action, QtCore.SIGNAL(u'triggered(bool)'), - self._onMenuActionTriggered) if first is None: first = action self._currentSearchType = identifier diff --git a/openlp/core/lib/spelltextedit.py b/openlp/core/lib/spelltextedit.py index 38077a590..310c219b5 100644 --- a/openlp/core/lib/spelltextedit.py +++ b/openlp/core/lib/spelltextedit.py @@ -40,7 +40,7 @@ except ImportError: from PyQt4 import QtCore, QtGui from openlp.core.lib import translate, FormattingTags -from openlp.core.lib.ui import checkable_action +from openlp.core.lib.ui import create_action log = logging.getLogger(__name__) @@ -90,9 +90,8 @@ class SpellTextEdit(QtGui.QPlainTextEdit): lang_menu = QtGui.QMenu( translate('OpenLP.SpellTextEdit', 'Language:')) for lang in enchant.list_languages(): - action = checkable_action( - lang_menu, lang, lang == self.dictionary.tag) - action.setText(lang) + action = create_action(lang_menu, lang, text=lang, + checked=lang == self.dictionary.tag) lang_menu.addAction(action) popupMenu.insertSeparator(popupMenu.actions()[0]) popupMenu.insertMenu(popupMenu.actions()[0], lang_menu) diff --git a/openlp/core/lib/ui.py b/openlp/core/lib/ui.py index 7cbacf030..58527b102 100644 --- a/openlp/core/lib/ui.py +++ b/openlp/core/lib/ui.py @@ -312,6 +312,9 @@ def create_action(parent, name, **kwargs): ``visible`` False in case the action should be hidden. + ``data`` + Data which is set as QVariant type. + ``shortcuts`` A QList (or a list of strings) which are set as shortcuts. @@ -328,49 +331,38 @@ def create_action(parent, name, **kwargs): action = QtGui.QAction(parent) action.setObjectName(name) if kwargs.get(u'text'): - action.setText(kwargs[u'text']) + action.setText(kwargs.pop(u'text')) if kwargs.get(u'icon'): - action.setIcon(build_icon(kwargs[u'icon'])) - if kwargs.get('tooltip'): - action.setToolTip(kwargs['tooltip']) - if kwargs.get('statustip'): - action.setStatusTip(kwargs['statustip']) - if kwargs.get('checked') is not None: + action.setIcon(build_icon(kwargs.pop(u'icon'))) + if kwargs.get(u'tooltip'): + action.setToolTip(kwargs.pop(u'tooltip')) + if kwargs.get(u'statustip'): + action.setStatusTip(kwargs.pop(u'statustip')) + if kwargs.get(u'checked') is not None: action.setCheckable(True) - action.setChecked(kwargs['checked']) - if not kwargs.get('enabled'): + action.setChecked(kwargs.pop(u'checked')) + if not kwargs.pop(u'enabled', True): action.setEnabled(False) - if not kwargs.get('visible'): + if not kwargs.pop(u'visible', True): action.setVisible(False) - if kwargs.get('shortcuts'): - action.setShortcuts(kwargs['shortcuts']) - action.setShortcutContext(kwargs.get('context', + if u'data' in kwargs: + action.setData(QtCore.QVariant(kwargs.pop(u'data'))) + if kwargs.get(u'shortcuts'): + action.setShortcuts(kwargs.pop(u'shortcuts')) + action.setShortcutContext(kwargs.pop(u'context', QtCore.Qt.WindowShortcut)) - if kwargs.get('category'): + if kwargs.get(u'category'): action_list = ActionList.get_instance() - action_list.add_action(action, kwargs['category']) - if kwargs.get('triggers'): + action_list.add_action(action, kwargs.pop(u'category')) + if kwargs.get(u'triggers'): QtCore.QObject.connect(action, QtCore.SIGNAL(u'triggered(bool)'), - kwargs['triggers']) + kwargs.pop(u'triggers')) + for key in kwargs.keys(): + if key not in [u'text', u'icon', u'tooltip', u'statustip', u'checked', + u'shortcuts', u'context', u'category', u'triggers']: + log.warn(u'Parameter %s was not consumed in create_action().', key) return action -def base_action(parent, name, category=None, **kwargs): - return create_action(parent, name, category=None, **kwargs) - -def checkable_action(parent, name, checked=None, category=None, **kwargs): - return create_action(parent, name, checked=bool(checked), category=category, - **kwargs) - -def icon_action(parent, name, icon, checked=None, category=None, **kwargs): - return create_action(parent, name, icon=icon, checked=checked, - category=category, **kwargs) - -def shortcut_action(parent, name, shortcuts, function, icon=None, checked=None, - category=None, context=QtCore.Qt.WindowShortcut, **kwargs): - return create_action(parent, name, icon=icon, checked=checked, - shortcuts=shortcuts, context=context, category=category, - triggers=function, **kwargs) - def context_menu_action(base, icon, text, slot, shortcuts=None, category=None, context=QtCore.Qt.WidgetShortcut, **kwargs): return create_action(parent=base, name=u'', icon=icon, text=text, diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index 6b3cf81fb..1f28beee5 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -36,8 +36,7 @@ from PyQt4 import QtCore, QtGui from openlp.core.lib import Renderer, build_icon, OpenLPDockWidget, \ PluginManager, Receiver, translate, ImageManager, PluginStatus -from openlp.core.lib.ui import UiStrings, base_action, checkable_action, \ - icon_action, shortcut_action +from openlp.core.lib.ui import UiStrings, create_action from openlp.core.lib import SlideLimits from openlp.core.ui import AboutForm, SettingsForm, ServiceManager, \ ThemeManager, SlideController, PluginForm, MediaDockManager, \ @@ -179,75 +178,84 @@ class Ui_MainWindow(object): action_list = ActionList.get_instance() action_list.add_category(unicode(UiStrings().File), CategoryOrder.standardMenu) - self.fileNewItem = shortcut_action(mainWindow, u'fileNewItem', - [QtGui.QKeySequence(u'Ctrl+N')], - self.serviceManagerContents.onNewServiceClicked, - u':/general/general_new.png', category=unicode(UiStrings().File)) - self.fileOpenItem = shortcut_action(mainWindow, u'fileOpenItem', - [QtGui.QKeySequence(u'Ctrl+O')], - self.serviceManagerContents.onLoadServiceClicked, - u':/general/general_open.png', category=unicode(UiStrings().File)) - self.fileSaveItem = shortcut_action(mainWindow, u'fileSaveItem', - [QtGui.QKeySequence(u'Ctrl+S')], - self.serviceManagerContents.saveFile, - u':/general/general_save.png', category=unicode(UiStrings().File)) - self.fileSaveAsItem = shortcut_action(mainWindow, u'fileSaveAsItem', - [QtGui.QKeySequence(u'Ctrl+Shift+S')], - self.serviceManagerContents.saveFileAs, - category=unicode(UiStrings().File)) - self.printServiceOrderItem = shortcut_action(mainWindow, - u'printServiceItem', [QtGui.QKeySequence(u'Ctrl+P')], - self.serviceManagerContents.printServiceOrder, - category=unicode(UiStrings().File)) - self.fileExitItem = shortcut_action(mainWindow, u'fileExitItem', - [QtGui.QKeySequence(u'Alt+F4')], mainWindow.close, - u':/system/system_exit.png', category=unicode(UiStrings().File)) + self.fileNewItem = create_action(mainWindow, u'fileNewItem', + icon=u':/general/general_new.png', + shortcuts=[QtGui.QKeySequence(u'Ctrl+N')], + category=unicode(UiStrings().File), + triggers=self.serviceManagerContents.onNewServiceClicked) + self.fileOpenItem = create_action(mainWindow, u'fileOpenItem', + icon=u':/general/general_open.png', + shortcuts=[QtGui.QKeySequence(u'Ctrl+O')], + category=unicode(UiStrings().File), + triggers=self.serviceManagerContents.onLoadServiceClicked) + self.fileSaveItem = create_action(mainWindow, u'fileSaveItem', + icon=u':/general/general_save.png', + shortcuts=[QtGui.QKeySequence(u'Ctrl+S')], + category=unicode(UiStrings().File), + triggers=self.serviceManagerContents.saveFile) + self.fileSaveAsItem = create_action(mainWindow, u'fileSaveAsItem', + shortcuts=[QtGui.QKeySequence(u'Ctrl+Shift+S')], + category=unicode(UiStrings().File), + triggers=self.serviceManagerContents.saveFileAs) + self.printServiceOrderItem = create_action(mainWindow, + u'printServiceItem', shortcuts=[QtGui.QKeySequence(u'Ctrl+P')], + category=unicode(UiStrings().File), + triggers=self.serviceManagerContents.printServiceOrder) + self.fileExitItem = create_action(mainWindow, u'fileExitItem', + icon=u':/system/system_exit.png', + shortcuts=[QtGui.QKeySequence(u'Alt+F4')], + category=unicode(UiStrings().File), + triggers=mainWindow.close) action_list.add_category(unicode(UiStrings().Import), CategoryOrder.standardMenu) - self.importThemeItem = base_action( - mainWindow, u'importThemeItem', unicode(UiStrings().Import)) - self.importLanguageItem = base_action( - mainWindow, u'importLanguageItem')#, unicode(UiStrings().Import)) + self.importThemeItem = create_action(mainWindow, + u'importThemeItem', category=unicode(UiStrings().Import)) + self.importLanguageItem = create_action(mainWindow, + u'importLanguageItem')#, category=unicode(UiStrings().Import)) action_list.add_category(unicode(UiStrings().Export), CategoryOrder.standardMenu) - self.exportThemeItem = base_action( - mainWindow, u'exportThemeItem', unicode(UiStrings().Export)) - self.exportLanguageItem = base_action( - mainWindow, u'exportLanguageItem')#, unicode(UiStrings().Export)) + self.exportThemeItem = create_action(mainWindow, + u'exportThemeItem', category=unicode(UiStrings().Export)) + self.exportLanguageItem = create_action(mainWindow, + u'exportLanguageItem')#, category=unicode(UiStrings().Export)) action_list.add_category(unicode(UiStrings().View), CategoryOrder.standardMenu) - self.viewMediaManagerItem = shortcut_action(mainWindow, - u'viewMediaManagerItem', [QtGui.QKeySequence(u'F8')], - self.toggleMediaManager, u':/system/system_mediamanager.png', - self.mediaManagerDock.isVisible(), unicode(UiStrings().View)) - self.viewThemeManagerItem = shortcut_action(mainWindow, - u'viewThemeManagerItem', [QtGui.QKeySequence(u'F10')], - self.toggleThemeManager, u':/system/system_thememanager.png', - self.themeManagerDock.isVisible(), unicode(UiStrings().View)) - self.viewServiceManagerItem = shortcut_action(mainWindow, - u'viewServiceManagerItem', [QtGui.QKeySequence(u'F9')], - self.toggleServiceManager, u':/system/system_servicemanager.png', - self.serviceManagerDock.isVisible(), unicode(UiStrings().View)) - self.viewPreviewPanel = shortcut_action(mainWindow, - u'viewPreviewPanel', [QtGui.QKeySequence(u'F11')], - self.setPreviewPanelVisibility, checked=previewVisible, - category=unicode(UiStrings().View)) - self.viewLivePanel = shortcut_action(mainWindow, u'viewLivePanel', - [QtGui.QKeySequence(u'F12')], self.setLivePanelVisibility, - checked=liveVisible, category=unicode(UiStrings().View)) - self.lockPanel = shortcut_action(mainWindow, u'lockPanel', - None, self.setLockPanel, - checked=panelLocked, category=None) + self.viewMediaManagerItem = create_action(mainWindow, + u'viewMediaManagerItem', shortcuts=[QtGui.QKeySequence(u'F8')], + icon=u':/system/system_mediamanager.png', + checked=self.mediaManagerDock.isVisible(), + category=unicode(UiStrings().View), + triggers=self.toggleMediaManager) + self.viewThemeManagerItem = create_action(mainWindow, + u'viewThemeManagerItem', shortcuts=[QtGui.QKeySequence(u'F10')], + icon=u':/system/system_thememanager.png', + checked=self.themeManagerDock.isVisible(), + category=unicode(UiStrings().View), + triggers=self.toggleThemeManager) + self.viewServiceManagerItem = create_action(mainWindow, + u'viewServiceManagerItem', shortcuts=[QtGui.QKeySequence(u'F9')], + icon=u':/system/system_servicemanager.png', + checked=self.serviceManagerDock.isVisible(), + category=unicode(UiStrings().View), + triggers=self.toggleServiceManager) + self.viewPreviewPanel = create_action(mainWindow, u'viewPreviewPanel', + shortcuts=[QtGui.QKeySequence(u'F11')], checked=previewVisible, + category=unicode(UiStrings().View), + triggers=self.setPreviewPanelVisibility) + self.viewLivePanel = create_action(mainWindow, u'viewLivePanel', + shortcuts=[QtGui.QKeySequence(u'F12')], checked=liveVisible, + category=unicode(UiStrings().View), + triggers=self.setLivePanelVisibility) + self.lockPanel = create_action(mainWindow, u'lockPanel', + checked=panelLocked, triggers=self.setLockPanel) action_list.add_category(unicode(UiStrings().ViewMode), CategoryOrder.standardMenu) - self.modeDefaultItem = checkable_action( - mainWindow, u'modeDefaultItem', - category=unicode(UiStrings().ViewMode)) - self.modeSetupItem = checkable_action( - mainWindow, u'modeSetupItem', - category=unicode(UiStrings().ViewMode)) - self.modeLiveItem = checkable_action( - mainWindow, u'modeLiveItem', True, unicode(UiStrings().ViewMode)) + self.modeDefaultItem = create_action(mainWindow, u'modeDefaultItem', + checked=False, category=unicode(UiStrings().ViewMode)) + self.modeSetupItem = create_action(mainWindow, u'modeSetupItem', + checked=False, category=unicode(UiStrings().ViewMode)) + self.modeLiveItem = create_action(mainWindow, u'modeLiveItem', + checked=True, category=unicode(UiStrings().ViewMode)) self.modeGroup = QtGui.QActionGroup(mainWindow) self.modeGroup.addAction(self.modeDefaultItem) self.modeGroup.addAction(self.modeSetupItem) @@ -255,25 +263,28 @@ class Ui_MainWindow(object): self.modeDefaultItem.setChecked(True) action_list.add_category(unicode(UiStrings().Tools), CategoryOrder.standardMenu) - self.toolsAddToolItem = icon_action(mainWindow, u'toolsAddToolItem', - u':/tools/tools_add.png', category=unicode(UiStrings().Tools)) - self.toolsOpenDataFolder = icon_action(mainWindow, - u'toolsOpenDataFolder', u':/general/general_open.png', + self.toolsAddToolItem = create_action(mainWindow, + u'toolsAddToolItem', icon=u':/tools/tools_add.png', category=unicode(UiStrings().Tools)) - self.toolsFirstTimeWizard = icon_action(mainWindow, - u'toolsFirstTimeWizard', u':/general/general_revert.png', + self.toolsOpenDataFolder = create_action(mainWindow, + u'toolsOpenDataFolder', icon=u':/general/general_open.png', category=unicode(UiStrings().Tools)) - self.updateThemeImages = base_action(mainWindow, + self.toolsFirstTimeWizard = create_action(mainWindow, + u'toolsFirstTimeWizard', icon=u':/general/general_revert.png', + category=unicode(UiStrings().Tools)) + self.updateThemeImages = create_action(mainWindow, u'updateThemeImages', category=unicode(UiStrings().Tools)) action_list.add_category(unicode(UiStrings().Settings), CategoryOrder.standardMenu) - self.settingsPluginListItem = shortcut_action(mainWindow, - u'settingsPluginListItem', [QtGui.QKeySequence(u'Alt+F7')], - self.onPluginItemClicked, u':/system/settings_plugin_list.png', - category=unicode(UiStrings().Settings)) + self.settingsPluginListItem = create_action(mainWindow, + u'settingsPluginListItem', + icon=u':/system/settings_plugin_list.png', + shortcuts=[QtGui.QKeySequence(u'Alt+F7')], + category=unicode(UiStrings().Settings), + triggers=self.onPluginItemClicked) # i18n Language Items - self.autoLanguageItem = checkable_action(mainWindow, - u'autoLanguageItem', LanguageManager.auto_language) + self.autoLanguageItem = create_action(mainWindow, u'autoLanguageItem', + checked=LanguageManager.auto_language) self.languageGroup = QtGui.QActionGroup(mainWindow) self.languageGroup.setExclusive(True) self.languageGroup.setObjectName(u'languageGroup') @@ -281,44 +292,46 @@ class Ui_MainWindow(object): qmList = LanguageManager.get_qm_list() savedLanguage = LanguageManager.get_language() for key in sorted(qmList.keys()): - languageItem = checkable_action( - mainWindow, key, qmList[key] == savedLanguage) + languageItem = create_action(mainWindow, key, + checked=qmList[key] == savedLanguage) add_actions(self.languageGroup, [languageItem]) - self.settingsShortcutsItem = icon_action(mainWindow, + self.settingsShortcutsItem = create_action(mainWindow, u'settingsShortcutsItem', - u':/system/system_configure_shortcuts.png', + icon=u':/system/system_configure_shortcuts.png', category=unicode(UiStrings().Settings)) # Formatting Tags were also known as display tags. - self.formattingTagItem = icon_action(mainWindow, - u'displayTagItem', u':/system/tag_editor.png', + self.formattingTagItem = create_action(mainWindow, + u'displayTagItem', icon=u':/system/tag_editor.png', category=unicode(UiStrings().Settings)) - self.settingsConfigureItem = icon_action(mainWindow, - u'settingsConfigureItem', u':/system/system_settings.png', + self.settingsConfigureItem = create_action(mainWindow, + u'settingsConfigureItem', icon=u':/system/system_settings.png', category=unicode(UiStrings().Settings)) - self.settingsImportItem = base_action(mainWindow, + self.settingsImportItem = create_action(mainWindow, u'settingsImportItem', category=unicode(UiStrings().Settings)) - self.settingsExportItem = base_action(mainWindow, + self.settingsExportItem = create_action(mainWindow, u'settingsExportItem', category=unicode(UiStrings().Settings)) action_list.add_category(unicode(UiStrings().Help), CategoryOrder.standardMenu) - self.aboutItem = shortcut_action(mainWindow, u'aboutItem', - [QtGui.QKeySequence(u'Ctrl+F1')], self.onAboutItemClicked, - u':/system/system_about.png', category=unicode(UiStrings().Help)) + self.aboutItem = create_action(mainWindow, u'aboutItem', + icon=u':/system/system_about.png', + shortcuts=[QtGui.QKeySequence(u'Ctrl+F1')], + category=unicode(UiStrings().Help), + triggers=self.onAboutItemClicked) if os.name == u'nt': self.localHelpFile = os.path.join( AppLocation.get_directory(AppLocation.AppDir), 'OpenLP.chm') - self.offlineHelpItem = shortcut_action( - mainWindow, u'offlineHelpItem', [QtGui.QKeySequence(u'F1')], - self.onOfflineHelpClicked, - u':/system/system_help_contents.png', - category=unicode(UiStrings().Help)) - self.onlineHelpItem = shortcut_action( - mainWindow, u'onlineHelpItem', - [QtGui.QKeySequence(u'Alt+F1')], self.onOnlineHelpClicked, - u':/system/system_online_help.png', - category=unicode(UiStrings().Help)) - self.webSiteItem = base_action( - mainWindow, u'webSiteItem', category=unicode(UiStrings().Help)) + self.offlineHelpItem = create_action(mainWindow, u'offlineHelpItem', + icon=u':/system/system_help_contents.png', + shortcuts=[QtGui.QKeySequence(u'F1')], + category=unicode(UiStrings().Help), + triggers=self.onOfflineHelpClicked) + self.onlineHelpItem = create_action(mainWindow, u'onlineHelpItem', + icon=u':/system/system_online_help.png', + shortcuts=[QtGui.QKeySequence(u'Alt+F1')], + category=unicode(UiStrings().Help), + triggers=self.onOnlineHelpClicked) + self.webSiteItem = create_action(mainWindow, + u'webSiteItem', category=unicode(UiStrings().Help)) add_actions(self.fileImportMenu, (self.settingsImportItem, None, self.importThemeItem, self.importLanguageItem)) add_actions(self.fileExportMenu, (self.settingsExportItem, None, @@ -1383,22 +1396,19 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): self.recentFilesMenu.clear() for fileId, filename in enumerate(recentFilesToDisplay): log.debug('Recent file name: %s', filename) - action = base_action(self, u'') - action.setText(u'&%d %s' % (fileId + 1, - os.path.splitext(os.path.basename(unicode(filename)))[0])) - action.setData(QtCore.QVariant(filename)) - self.connect(action, QtCore.SIGNAL(u'triggered()'), - self.serviceManagerContents.onRecentServiceClicked) + action = create_action(self, u'', + text=u'&%d %s' % (fileId + 1, os.path.splitext(os.path.basename( + unicode(filename)))[0]), data=filename, + triggers=self.serviceManagerContents.onRecentServiceClicked) self.recentFilesMenu.addAction(action) - clearRecentFilesAction = base_action(self, u'') - clearRecentFilesAction.setText( - translate('OpenLP.MainWindow', 'Clear List', - 'Clear List of recent files')) - clearRecentFilesAction.setStatusTip( - translate('OpenLP.MainWindow', 'Clear the list of recent files.')) + clearRecentFilesAction = create_action(self, u'', + text=translate('OpenLP.MainWindow', 'Clear List', + 'Clear List of recent files'), + statustip=translate('OpenLP.MainWindow', + 'Clear the list of recent files.'), + enabled=not self.recentFiles.isEmpty(), + triggers=self.recentFiles.clear) add_actions(self.recentFilesMenu, (None, clearRecentFilesAction)) - self.connect(clearRecentFilesAction, QtCore.SIGNAL(u'triggered()'), - self.recentFiles.clear) clearRecentFilesAction.setEnabled(not self.recentFiles.isEmpty()) def addRecentFile(self, filename): diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 0275f4d11..62e79b1c1 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -34,7 +34,7 @@ from PyQt4 import QtCore, QtGui from openlp.core.lib import OpenLPToolbar, Receiver, ItemCapabilities, \ translate, build_icon, ServiceItem, build_html, PluginManager, ServiceItem -from openlp.core.lib.ui import UiStrings, shortcut_action +from openlp.core.lib.ui import UiStrings, create_action from openlp.core.lib import SlideLimits, ServiceItemAction from openlp.core.ui import HideMode, MainDisplay, Display, ScreenList from openlp.core.utils.actions import ActionList, CategoryOrder @@ -191,24 +191,24 @@ class SlideController(Controller): self.toolbar.addToolbarWidget(u'Hide Menu', self.hideMenu) self.hideMenu.setMenu(QtGui.QMenu( translate('OpenLP.SlideController', 'Hide'), self.toolbar)) - self.blankScreen = shortcut_action(self.hideMenu, u'blankScreen', - [QtCore.Qt.Key_Period], self.onBlankDisplay, - u':/slides/slide_blank.png', False, - unicode(UiStrings().LiveToolbar)) - self.blankScreen.setText( - translate('OpenLP.SlideController', 'Blank Screen')) - self.themeScreen = shortcut_action(self.hideMenu, u'themeScreen', - [QtGui.QKeySequence(u'T')], self.onThemeDisplay, - u':/slides/slide_theme.png', False, - unicode(UiStrings().LiveToolbar)) - self.themeScreen.setText( - translate('OpenLP.SlideController', 'Blank to Theme')) - self.desktopScreen = shortcut_action(self.hideMenu, - u'desktopScreen', [QtGui.QKeySequence(u'D')], - self.onHideDisplay, u':/slides/slide_desktop.png', False, - unicode(UiStrings().LiveToolbar)) - self.desktopScreen.setText( - translate('OpenLP.SlideController', 'Show Desktop')) + self.blankScreen = create_action(self.hideMenu, u'blankScreen', + text=translate('OpenLP.SlideController', 'Blank Screen'), + icon=u':/slides/slide_blank.png', checked=False, + shortcuts=[QtCore.Qt.Key_Period], + category=unicode(UiStrings().LiveToolbar), + triggers=self.onBlankDisplay) + self.themeScreen = create_action(self.hideMenu, u'themeScreen', + text=translate('OpenLP.SlideController', 'Blank to Theme'), + icon=u':/slides/slide_theme.png', checked=False, + shortcuts=[QtGui.QKeySequence(u'T')], + category=unicode(UiStrings().LiveToolbar), + triggers=self.onThemeDisplay) + self.desktopScreen = create_action(self.hideMenu, u'desktopScreen', + text=translate('OpenLP.SlideController', 'Show Desktop'), + icon=u':/slides/slide_desktop.png', checked=False, + shortcuts=[QtGui.QKeySequence(u'D')], + category=unicode(UiStrings().LiveToolbar), + triggers=self.onHideDisplay) self.hideMenu.setDefaultAction(self.blankScreen) self.hideMenu.menu().addAction(self.blankScreen) self.hideMenu.menu().addAction(self.themeScreen) @@ -224,16 +224,16 @@ class SlideController(Controller): self.playSlidesMenu.setMenu(QtGui.QMenu( translate('OpenLP.SlideController', 'Play Slides'), self.toolbar)) - self.playSlidesLoop = shortcut_action(self.playSlidesMenu, - u'playSlidesLoop', [], self.onPlaySlidesLoop, - u':/media/media_time.png', False, - unicode(UiStrings().LiveToolbar)) - self.playSlidesLoop.setText(UiStrings().PlaySlidesInLoop) - self.playSlidesOnce = shortcut_action(self.playSlidesMenu, - u'playSlidesOnce', [], self.onPlaySlidesOnce, - u':/media/media_time.png', False, - unicode(UiStrings().LiveToolbar)) - self.playSlidesOnce.setText(UiStrings().PlaySlidesToEnd) + self.playSlidesLoop = create_action(self.playSlidesMenu, + u'playSlidesLoop', text=UiStrings().PlaySlidesInLoop, + icon=u':/media/media_time.png', checked=False, shortcuts=[], + category=unicode(UiStrings().LiveToolbar), + triggers=self.onPlaySlidesLoop) + self.playSlidesOnce = create_action(self.playSlidesMenu, + u'playSlidesOnce', text=UiStrings().PlaySlidesToEnd, + icon=u':/media/media_time.png', checked=False, shortcuts=[], + category=unicode(UiStrings().LiveToolbar), + triggers=self.onPlaySlidesOnce) if QtCore.QSettings().value(self.parent().generalSettingsSection + u'/enable slide loop', QtCore.QVariant(True)).toBool(): self.playSlidesMenu.setDefaultAction(self.playSlidesLoop) @@ -328,78 +328,88 @@ class SlideController(Controller): self.shortcutTimer = QtCore.QTimer() self.shortcutTimer.setObjectName(u'shortcutTimer') self.shortcutTimer.setSingleShot(True) - self.verseShortcut = shortcut_action(self, u'verseShortcut', - [QtGui.QKeySequence(u'V')], self.slideShortcutActivated, + self.verseShortcut = create_action(self, u'verseShortcut', + text=translate('OpenLP.SlideController', 'Go to "Verse"'), + shortcuts=[QtGui.QKeySequence(u'V')], + context=QtCore.Qt.WidgetWithChildrenShortcut, category=unicode(UiStrings().LiveToolbar), - context=QtCore.Qt.WidgetWithChildrenShortcut) - self.verseShortcut.setText(translate( - 'OpenLP.SlideController', 'Go to "Verse"')) - self.shortcut0 = shortcut_action(self, u'0', - [QtGui.QKeySequence(u'0')], self.slideShortcutActivated, - context=QtCore.Qt.WidgetWithChildrenShortcut) - self.shortcut1 = shortcut_action(self, u'1', - [QtGui.QKeySequence(u'1')], self.slideShortcutActivated, - context=QtCore.Qt.WidgetWithChildrenShortcut) - self.shortcut2 = shortcut_action(self, u'2', - [QtGui.QKeySequence(u'2')], self.slideShortcutActivated, - context=QtCore.Qt.WidgetWithChildrenShortcut) - self.shortcut3 = shortcut_action(self, u'3', - [QtGui.QKeySequence(u'3')], self.slideShortcutActivated, - context=QtCore.Qt.WidgetWithChildrenShortcut) - self.shortcut4 = shortcut_action(self, u'4', - [QtGui.QKeySequence(u'4')], self.slideShortcutActivated, - context=QtCore.Qt.WidgetWithChildrenShortcut) - self.shortcut5 = shortcut_action(self, u'5', - [QtGui.QKeySequence(u'5')], self.slideShortcutActivated, - context=QtCore.Qt.WidgetWithChildrenShortcut) - self.shortcut6 = shortcut_action(self, u'6', - [QtGui.QKeySequence(u'6')], self.slideShortcutActivated, - context=QtCore.Qt.WidgetWithChildrenShortcut) - self.shortcut7 = shortcut_action(self, u'7', - [QtGui.QKeySequence(u'7')], self.slideShortcutActivated, - context=QtCore.Qt.WidgetWithChildrenShortcut) - self.shortcut8 = shortcut_action(self, u'8', - [QtGui.QKeySequence(u'8')], self.slideShortcutActivated, - context=QtCore.Qt.WidgetWithChildrenShortcut) - self.shortcut9 = shortcut_action(self, u'9', - [QtGui.QKeySequence(u'9')], self.slideShortcutActivated, - context=QtCore.Qt.WidgetWithChildrenShortcut) - self.chorusShortcut = shortcut_action(self, u'chorusShortcut', - [QtGui.QKeySequence(u'C')], self.slideShortcutActivated, + triggers=self.slideShortcutActivated) + self.shortcut0 = create_action(self, u'0', + shortcuts=[QtGui.QKeySequence(u'0')], + context=QtCore.Qt.WidgetWithChildrenShortcut, + triggers=self.slideShortcutActivated) + self.shortcut1 = create_action(self, u'1', + shortcuts=[QtGui.QKeySequence(u'1')], + context=QtCore.Qt.WidgetWithChildrenShortcut, + triggers=self.slideShortcutActivated) + self.shortcut2 = create_action(self, u'2', + shortcuts=[QtGui.QKeySequence(u'2')], + context=QtCore.Qt.WidgetWithChildrenShortcut, + triggers=self.slideShortcutActivated) + self.shortcut3 = create_action(self, u'3', + shortcuts=[QtGui.QKeySequence(u'3')], + context=QtCore.Qt.WidgetWithChildrenShortcut, + triggers=self.slideShortcutActivated) + self.shortcut4 = create_action(self, u'4', + shortcuts=[QtGui.QKeySequence(u'4')], + context=QtCore.Qt.WidgetWithChildrenShortcut, + triggers=self.slideShortcutActivated) + self.shortcut5 = create_action(self, u'5', + shortcuts=[QtGui.QKeySequence(u'5')], + context=QtCore.Qt.WidgetWithChildrenShortcut, + triggers=self.slideShortcutActivated) + self.shortcut6 = create_action(self, u'6', + shortcuts=[QtGui.QKeySequence(u'6')], + context=QtCore.Qt.WidgetWithChildrenShortcut, + triggers=self.slideShortcutActivated) + self.shortcut7 = create_action(self, u'7', + shortcuts=[QtGui.QKeySequence(u'7')], + context=QtCore.Qt.WidgetWithChildrenShortcut, + triggers=self.slideShortcutActivated) + self.shortcut8 = create_action(self, u'8', + shortcuts=[QtGui.QKeySequence(u'8')], + context=QtCore.Qt.WidgetWithChildrenShortcut, + triggers=self.slideShortcutActivated) + self.shortcut9 = create_action(self, u'9', + shortcuts=[QtGui.QKeySequence(u'9')], + context=QtCore.Qt.WidgetWithChildrenShortcut, + triggers=self.slideShortcutActivated) + self.chorusShortcut = create_action(self, u'chorusShortcut', + text=translate('OpenLP.SlideController', 'Go to "Chorus"'), + shortcuts=[QtGui.QKeySequence(u'C')], + context=QtCore.Qt.WidgetWithChildrenShortcut, category=unicode(UiStrings().LiveToolbar), - context=QtCore.Qt.WidgetWithChildrenShortcut) - self.chorusShortcut.setText(translate( - 'OpenLP.SlideController', 'Go to "Chorus"')) - self.bridgeShortcut = shortcut_action(self, u'bridgeShortcut', - [QtGui.QKeySequence(u'B')], self.slideShortcutActivated, + triggers=self.slideShortcutActivated) + self.bridgeShortcut = create_action(self, u'bridgeShortcut', + text=translate('OpenLP.SlideController', 'Go to "Bridge"'), + shortcuts=[QtGui.QKeySequence(u'B')], + context=QtCore.Qt.WidgetWithChildrenShortcut, category=unicode(UiStrings().LiveToolbar), - context=QtCore.Qt.WidgetWithChildrenShortcut) - self.bridgeShortcut.setText(translate( - 'OpenLP.SlideController', 'Go to "Bridge"')) - self.preChorusShortcut = shortcut_action(self, u'preChorusShortcut', - [QtGui.QKeySequence(u'P')], self.slideShortcutActivated, + triggers=self.slideShortcutActivated) + self.preChorusShortcut = create_action(self, u'preChorusShortcut', + text=translate('OpenLP.SlideController', 'Go to "Pre-Chorus"'), + shortcuts=[QtGui.QKeySequence(u'P')], + context=QtCore.Qt.WidgetWithChildrenShortcut, category=unicode(UiStrings().LiveToolbar), - context=QtCore.Qt.WidgetWithChildrenShortcut) - self.preChorusShortcut.setText(translate( - 'OpenLP.SlideController', 'Go to "Pre-Chorus"')) - self.introShortcut = shortcut_action(self, u'introShortcut', - [QtGui.QKeySequence(u'I')], self.slideShortcutActivated, + triggers=self.slideShortcutActivated) + self.introShortcut = create_action(self, u'introShortcut', + text=translate('OpenLP.SlideController', 'Go to "Intro"'), + shortcuts=[QtGui.QKeySequence(u'I')], + context=QtCore.Qt.WidgetWithChildrenShortcut, category=unicode(UiStrings().LiveToolbar), - context=QtCore.Qt.WidgetWithChildrenShortcut) - self.introShortcut.setText(translate( - 'OpenLP.SlideController', 'Go to "Intro"')) - self.endingShortcut = shortcut_action(self, u'endingShortcut', - [QtGui.QKeySequence(u'E')], self.slideShortcutActivated, + triggers=self.slideShortcutActivated) + self.endingShortcut = create_action(self, u'endingShortcut', + text=translate('OpenLP.SlideController', 'Go to "Ending"'), + shortcuts=[QtGui.QKeySequence(u'E')], + context=QtCore.Qt.WidgetWithChildrenShortcut, category=unicode(UiStrings().LiveToolbar), - context=QtCore.Qt.WidgetWithChildrenShortcut) - self.endingShortcut.setText(translate( - 'OpenLP.SlideController', 'Go to "Ending"')) - self.otherShortcut = shortcut_action(self, u'otherShortcut', - [QtGui.QKeySequence(u'O')], self.slideShortcutActivated, + triggers=self.slideShortcutActivated) + self.otherShortcut = create_action(self, u'otherShortcut', + text=translate('OpenLP.SlideController', 'Go to "Other"'), + shortcuts=[QtGui.QKeySequence(u'O')], + context=QtCore.Qt.WidgetWithChildrenShortcut, category=unicode(UiStrings().LiveToolbar), - context=QtCore.Qt.WidgetWithChildrenShortcut) - self.otherShortcut.setText(translate( - 'OpenLP.SlideController', 'Go to "Other"')) + triggers=self.slideShortcutActivated) self.previewListWidget.addActions([ self.shortcut0, self.shortcut1, self.shortcut2, self.shortcut3, self.shortcut4, self.shortcut5, self.shortcut6, self.shortcut7, @@ -559,24 +569,24 @@ class SlideController(Controller): unicode(UiStrings().LiveToolbar), CategoryOrder.standardToolbar) action_list.add_action(self.previousItem) action_list.add_action(self.nextItem) - self.previousService = shortcut_action(parent, u'previousService', - [QtCore.Qt.Key_Left], self.servicePrevious, + self.previousService = create_action(parent, u'previousService', + text=translate('OpenLP.SlideController', 'Previous Service'), + shortcuts=[QtCore.Qt.Key_Left], + context=QtCore.Qt.WidgetWithChildrenShortcut, category=unicode(UiStrings().LiveToolbar), - context=QtCore.Qt.WidgetWithChildrenShortcut) - self.previousService.setText( - translate('OpenLP.SlideController', 'Previous Service')) - self.nextService = shortcut_action(parent, 'nextService', - [QtCore.Qt.Key_Right], self.serviceNext, + triggers=self.servicePrevious) + self.nextService = create_action(parent, 'nextService', + text=translate('OpenLP.SlideController', 'Next Service'), + shortcuts=[QtCore.Qt.Key_Right], + context=QtCore.Qt.WidgetWithChildrenShortcut, category=unicode(UiStrings().LiveToolbar), - context=QtCore.Qt.WidgetWithChildrenShortcut) - self.nextService.setText( - translate('OpenLP.SlideController', 'Next Service')) - self.escapeItem = shortcut_action(parent, 'escapeItem', - [QtCore.Qt.Key_Escape], self.liveEscape, + triggers=self.serviceNext) + self.escapeItem = create_action(parent, 'escapeItem', + text=translate('OpenLP.SlideController', 'Escape Item'), + shortcuts=[QtCore.Qt.Key_Escape], + context=QtCore.Qt.WidgetWithChildrenShortcut, category=unicode(UiStrings().LiveToolbar), - context=QtCore.Qt.WidgetWithChildrenShortcut) - self.escapeItem.setText( - translate('OpenLP.SlideController', 'Escape Item')) + triggers=self.liveEscape) def liveEscape(self): self.display.setVisible(False) diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py index e67ef0686..d680ef713 100644 --- a/openlp/plugins/alerts/alertsplugin.py +++ b/openlp/plugins/alerts/alertsplugin.py @@ -31,7 +31,7 @@ from PyQt4 import QtCore from openlp.core.lib import Plugin, StringContent, build_icon, translate from openlp.core.lib.db import Manager -from openlp.core.lib.ui import icon_action, UiStrings +from openlp.core.lib.ui import create_action, UiStrings from openlp.core.lib.theme import VerticalType from openlp.core.utils.actions import ActionList from openlp.plugins.alerts.lib import AlertsManager, AlertsTab @@ -133,16 +133,12 @@ class AlertsPlugin(Plugin): use it as their parent. """ log.info(u'add tools menu') - self.toolsAlertItem = icon_action(tools_menu, u'toolsAlertItem', - u':/plugins/plugin_alerts.png') - self.toolsAlertItem.setText(translate('AlertsPlugin', '&Alert')) - self.toolsAlertItem.setStatusTip( - translate('AlertsPlugin', 'Show an alert message.')) - self.toolsAlertItem.setShortcut(u'F7') + self.toolsAlertItem = create_action(tools_menu, u'toolsAlertItem', + text=translate('AlertsPlugin', '&Alert'), + icon=u':/plugins/plugin_alerts.png', + statustip=translate('AlertsPlugin', 'Show an alert message.'), + visible=False, shortcuts=u'F7', triggers=self.onAlertsTrigger) self.serviceManager.mainwindow.toolsMenu.addAction(self.toolsAlertItem) - QtCore.QObject.connect(self.toolsAlertItem, - QtCore.SIGNAL(u'triggered()'), self.onAlertsTrigger) - self.toolsAlertItem.setVisible(False) def initialise(self): log.info(u'Alerts Initialising') diff --git a/openlp/plugins/bibles/bibleplugin.py b/openlp/plugins/bibles/bibleplugin.py index 2f9a4fd6d..97b3b9a5a 100644 --- a/openlp/plugins/bibles/bibleplugin.py +++ b/openlp/plugins/bibles/bibleplugin.py @@ -30,7 +30,7 @@ import logging from PyQt4 import QtCore, QtGui from openlp.core.lib import Plugin, StringContent, build_icon, translate -from openlp.core.lib.ui import base_action, UiStrings +from openlp.core.lib.ui import create_action, UiStrings from openlp.core.utils.actions import ActionList from openlp.plugins.bibles.lib import BibleManager, BiblesTab, BibleMediaItem from openlp.plugins.bibles.forms import BibleUpgradeForm @@ -93,19 +93,16 @@ class BiblePlugin(Plugin): self.onToolsUpgradeItemTriggered() def addImportMenuItem(self, import_menu): - self.importBibleItem = base_action(import_menu, u'importBibleItem') - self.importBibleItem.setText(translate('BiblesPlugin', '&Bible')) + self.importBibleItem = create_action(import_menu, u'importBibleItem', + text=translate('BiblesPlugin', '&Bible'), visible=False, + triggers=self.onBibleImportClick) import_menu.addAction(self.importBibleItem) - # signals and slots - QtCore.QObject.connect(self.importBibleItem, - QtCore.SIGNAL(u'triggered()'), self.onBibleImportClick) - self.importBibleItem.setVisible(False) def addExportMenuItem(self, export_menu): - self.exportBibleItem = base_action(export_menu, u'exportBibleItem') - self.exportBibleItem.setText(translate('BiblesPlugin', '&Bible')) + self.exportBibleItem = create_action(export_menu, u'exportBibleItem', + text=translate('BiblesPlugin', '&Bible'), + visible=False) export_menu.addAction(self.exportBibleItem) - self.exportBibleItem.setVisible(False) def addToolsMenuItem(self, tools_menu): """ diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index 59fc2920b..890db1b4e 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -34,7 +34,7 @@ from PyQt4 import QtCore, QtGui from openlp.core.lib import Plugin, StringContent, build_icon, translate, \ Receiver from openlp.core.lib.db import Manager -from openlp.core.lib.ui import UiStrings, base_action, icon_action +from openlp.core.lib.ui import UiStrings, create_action from openlp.core.utils.actions import ActionList from openlp.plugins.songs.lib import clean_song, upgrade, SongMediaItem, \ SongsTab @@ -93,14 +93,12 @@ class SongsPlugin(Plugin): use it as their parent. """ # Main song import menu item - will eventually be the only one - self.songImportItem = base_action(import_menu, u'songImportItem') - self.songImportItem.setText(translate('SongsPlugin', '&Song')) - self.songImportItem.setToolTip(translate('SongsPlugin', - 'Import songs using the import wizard.')) + self.songImportItem = create_action(import_menu, u'songImportItem', + text=translate('SongsPlugin', '&Song'), + tooltip=translate('SongsPlugin', + 'Import songs using the import wizard.'), + triggers=self.onSongImportItemClicked) import_menu.addAction(self.songImportItem) - # Signals and slots - QtCore.QObject.connect(self.songImportItem, - QtCore.SIGNAL(u'triggered()'), self.onSongImportItemClicked) def addExportMenuItem(self, export_menu): """ @@ -112,14 +110,12 @@ class SongsPlugin(Plugin): use it as their parent. """ # Main song import menu item - will eventually be the only one - self.songExportItem = base_action(export_menu, u'songExportItem') - self.songExportItem.setText(translate('SongsPlugin', '&Song')) - self.songExportItem.setToolTip(translate('SongsPlugin', - 'Exports songs using the export wizard.')) + self.songExportItem = create_action(export_menu, u'songExportItem', + text=translate('SongsPlugin', '&Song'), + tooltip=translate('SongsPlugin', + 'Exports songs using the export wizard.'), + triggers=self.onSongExportItemClicked) export_menu.addAction(self.songExportItem) - # Signals and slots - QtCore.QObject.connect(self.songExportItem, - QtCore.SIGNAL(u'triggered()'), self.onSongExportItemClicked) def addToolsMenuItem(self, tools_menu): """ @@ -131,17 +127,13 @@ class SongsPlugin(Plugin): use it as their parent. """ log.info(u'add tools menu') - self.toolsReindexItem = icon_action(tools_menu, u'toolsReindexItem', - u':/plugins/plugin_songs.png') - self.toolsReindexItem.setText( - translate('SongsPlugin', '&Re-index Songs')) - self.toolsReindexItem.setStatusTip( - translate('SongsPlugin', 'Re-index the songs database to improve ' - 'searching and ordering.')) + self.toolsReindexItem = create_action(tools_menu, u'toolsReindexItem', + text=translate('SongsPlugin', '&Re-index Songs'), + icon=u':/plugins/plugin_songs.png', + statustip=translate('SongsPlugin', + 'Re-index the songs database to improve searching and ordering.'), + visible=False, triggers=self.onToolsReindexItemTriggered) tools_menu.addAction(self.toolsReindexItem) - QtCore.QObject.connect(self.toolsReindexItem, - QtCore.SIGNAL(u'triggered()'), self.onToolsReindexItemTriggered) - self.toolsReindexItem.setVisible(False) def onToolsReindexItemTriggered(self): """ diff --git a/openlp/plugins/songusage/songusageplugin.py b/openlp/plugins/songusage/songusageplugin.py index ec6187b0f..157929f2f 100644 --- a/openlp/plugins/songusage/songusageplugin.py +++ b/openlp/plugins/songusage/songusageplugin.py @@ -33,7 +33,7 @@ from PyQt4 import QtCore, QtGui from openlp.core.lib import Plugin, StringContent, Receiver, build_icon, \ translate from openlp.core.lib.db import Manager -from openlp.core.lib.ui import base_action, shortcut_action +from openlp.core.lib.ui import create_action from openlp.core.utils.actions import ActionList from openlp.plugins.songusage.forms import SongUsageDetailForm, \ SongUsageDeleteForm @@ -73,24 +73,24 @@ class SongUsagePlugin(Plugin): self.songUsageMenu.setTitle(translate( 'SongUsagePlugin', '&Song Usage Tracking')) # SongUsage Delete - self.songUsageDelete = base_action(tools_menu, u'songUsageDelete') - self.songUsageDelete.setText(translate('SongUsagePlugin', - '&Delete Tracking Data')) - self.songUsageDelete.setStatusTip(translate('SongUsagePlugin', - 'Delete song usage data up to a specified date.')) + self.songUsageDelete = create_action(tools_menu, u'songUsageDelete', + text=translate('SongUsagePlugin', '&Delete Tracking Data'), + statustip=translate('SongUsagePlugin', + 'Delete song usage data up to a specified date.'), + triggers=self.onSongUsageDelete) # SongUsage Report - self.songUsageReport = base_action(tools_menu, u'songUsageReport') - self.songUsageReport.setText( - translate('SongUsagePlugin', '&Extract Tracking Data')) - self.songUsageReport.setStatusTip( - translate('SongUsagePlugin', 'Generate a report on song usage.')) + self.songUsageReport = create_action(tools_menu, u'songUsageReport', + text=translate('SongUsagePlugin', '&Extract Tracking Data'), + statustip=translate('SongUsagePlugin', + 'Generate a report on song usage.'), + triggers=self.onSongUsageReport) # SongUsage activation - self.songUsageStatus = shortcut_action(tools_menu, u'songUsageStatus', - [QtCore.Qt.Key_F4], self.toggleSongUsageState, checked=False) - self.songUsageStatus.setText(translate( - 'SongUsagePlugin', 'Toggle Tracking')) - self.songUsageStatus.setStatusTip(translate('SongUsagePlugin', - 'Toggle the tracking of song usage.')) + self.songUsageStatus = create_action(tools_menu, u'songUsageStatus', + text=translate('SongUsagePlugin', 'Toggle Tracking'), + statustip=translate('SongUsagePlugin', + 'Toggle the tracking of song usage.'), checked=False, + shortcuts=[QtCore.Qt.Key_F4], + triggers=self.toggleSongUsageState) # Add Menus together self.toolsMenu.addAction(self.songUsageMenu.menuAction()) self.songUsageMenu.addAction(self.songUsageStatus) @@ -114,10 +114,6 @@ class SongUsagePlugin(Plugin): QtCore.QObject.connect(self.songUsageActiveButton, QtCore.SIGNAL(u'toggled(bool)'), self.toggleSongUsageState) - QtCore.QObject.connect(self.songUsageDelete, - QtCore.SIGNAL(u'triggered()'), self.onSongUsageDelete) - QtCore.QObject.connect(self.songUsageReport, - QtCore.SIGNAL(u'triggered()'), self.onSongUsageReport) self.songUsageMenu.menuAction().setVisible(False) def initialise(self):