removed base_action, checkable_action, icon_action, and shortcut_action

This commit is contained in:
M2j 2012-02-28 00:44:35 +01:00
parent fe5f3c8874
commit 95c8f8fe5a
9 changed files with 323 additions and 334 deletions

View File

@ -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

View File

@ -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)

View File

@ -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<QKeySequence> (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,

View File

@ -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):

View File

@ -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)

View File

@ -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')

View File

@ -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):
"""

View File

@ -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):
"""

View File

@ -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):