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 PyQt4 import QtCore, QtGui
from openlp.core.lib import build_icon 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__) log = logging.getLogger(__name__)
@ -150,12 +150,9 @@ class SearchEdit(QtGui.QLineEdit):
menu = QtGui.QMenu(self) menu = QtGui.QMenu(self)
first = None first = None
for identifier, icon, title in items: for identifier, icon, title in items:
action = icon_action(menu, u'', icon) action = create_action(menu, u'', text=title, icon=icon,
action.setText(title) data=identifier, triggers=self._onMenuActionTriggered)
action.setData(QtCore.QVariant(identifier))
menu.addAction(action) menu.addAction(action)
QtCore.QObject.connect(action, QtCore.SIGNAL(u'triggered(bool)'),
self._onMenuActionTriggered)
if first is None: if first is None:
first = action first = action
self._currentSearchType = identifier self._currentSearchType = identifier

View File

@ -40,7 +40,7 @@ except ImportError:
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import translate, FormattingTags 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__) log = logging.getLogger(__name__)
@ -90,9 +90,8 @@ class SpellTextEdit(QtGui.QPlainTextEdit):
lang_menu = QtGui.QMenu( lang_menu = QtGui.QMenu(
translate('OpenLP.SpellTextEdit', 'Language:')) translate('OpenLP.SpellTextEdit', 'Language:'))
for lang in enchant.list_languages(): for lang in enchant.list_languages():
action = checkable_action( action = create_action(lang_menu, lang, text=lang,
lang_menu, lang, lang == self.dictionary.tag) checked=lang == self.dictionary.tag)
action.setText(lang)
lang_menu.addAction(action) lang_menu.addAction(action)
popupMenu.insertSeparator(popupMenu.actions()[0]) popupMenu.insertSeparator(popupMenu.actions()[0])
popupMenu.insertMenu(popupMenu.actions()[0], lang_menu) popupMenu.insertMenu(popupMenu.actions()[0], lang_menu)

View File

@ -312,6 +312,9 @@ def create_action(parent, name, **kwargs):
``visible`` ``visible``
False in case the action should be hidden. False in case the action should be hidden.
``data``
Data which is set as QVariant type.
``shortcuts`` ``shortcuts``
A QList<QKeySequence> (or a list of strings) which are set as 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 = QtGui.QAction(parent)
action.setObjectName(name) action.setObjectName(name)
if kwargs.get(u'text'): if kwargs.get(u'text'):
action.setText(kwargs[u'text']) action.setText(kwargs.pop(u'text'))
if kwargs.get(u'icon'): if kwargs.get(u'icon'):
action.setIcon(build_icon(kwargs[u'icon'])) action.setIcon(build_icon(kwargs.pop(u'icon')))
if kwargs.get('tooltip'): if kwargs.get(u'tooltip'):
action.setToolTip(kwargs['tooltip']) action.setToolTip(kwargs.pop(u'tooltip'))
if kwargs.get('statustip'): if kwargs.get(u'statustip'):
action.setStatusTip(kwargs['statustip']) action.setStatusTip(kwargs.pop(u'statustip'))
if kwargs.get('checked') is not None: if kwargs.get(u'checked') is not None:
action.setCheckable(True) action.setCheckable(True)
action.setChecked(kwargs['checked']) action.setChecked(kwargs.pop(u'checked'))
if not kwargs.get('enabled'): if not kwargs.pop(u'enabled', True):
action.setEnabled(False) action.setEnabled(False)
if not kwargs.get('visible'): if not kwargs.pop(u'visible', True):
action.setVisible(False) action.setVisible(False)
if kwargs.get('shortcuts'): if u'data' in kwargs:
action.setShortcuts(kwargs['shortcuts']) action.setData(QtCore.QVariant(kwargs.pop(u'data')))
action.setShortcutContext(kwargs.get('context', if kwargs.get(u'shortcuts'):
action.setShortcuts(kwargs.pop(u'shortcuts'))
action.setShortcutContext(kwargs.pop(u'context',
QtCore.Qt.WindowShortcut)) QtCore.Qt.WindowShortcut))
if kwargs.get('category'): if kwargs.get(u'category'):
action_list = ActionList.get_instance() action_list = ActionList.get_instance()
action_list.add_action(action, kwargs['category']) action_list.add_action(action, kwargs.pop(u'category'))
if kwargs.get('triggers'): if kwargs.get(u'triggers'):
QtCore.QObject.connect(action, QtCore.SIGNAL(u'triggered(bool)'), 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 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, def context_menu_action(base, icon, text, slot, shortcuts=None, category=None,
context=QtCore.Qt.WidgetShortcut, **kwargs): context=QtCore.Qt.WidgetShortcut, **kwargs):
return create_action(parent=base, name=u'', icon=icon, text=text, 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, \ from openlp.core.lib import Renderer, build_icon, OpenLPDockWidget, \
PluginManager, Receiver, translate, ImageManager, PluginStatus PluginManager, Receiver, translate, ImageManager, PluginStatus
from openlp.core.lib.ui import UiStrings, base_action, checkable_action, \ from openlp.core.lib.ui import UiStrings, create_action
icon_action, shortcut_action
from openlp.core.lib import SlideLimits from openlp.core.lib import SlideLimits
from openlp.core.ui import AboutForm, SettingsForm, ServiceManager, \ from openlp.core.ui import AboutForm, SettingsForm, ServiceManager, \
ThemeManager, SlideController, PluginForm, MediaDockManager, \ ThemeManager, SlideController, PluginForm, MediaDockManager, \
@ -179,75 +178,84 @@ class Ui_MainWindow(object):
action_list = ActionList.get_instance() action_list = ActionList.get_instance()
action_list.add_category(unicode(UiStrings().File), action_list.add_category(unicode(UiStrings().File),
CategoryOrder.standardMenu) CategoryOrder.standardMenu)
self.fileNewItem = shortcut_action(mainWindow, u'fileNewItem', self.fileNewItem = create_action(mainWindow, u'fileNewItem',
[QtGui.QKeySequence(u'Ctrl+N')], icon=u':/general/general_new.png',
self.serviceManagerContents.onNewServiceClicked, shortcuts=[QtGui.QKeySequence(u'Ctrl+N')],
u':/general/general_new.png', category=unicode(UiStrings().File)) category=unicode(UiStrings().File),
self.fileOpenItem = shortcut_action(mainWindow, u'fileOpenItem', triggers=self.serviceManagerContents.onNewServiceClicked)
[QtGui.QKeySequence(u'Ctrl+O')], self.fileOpenItem = create_action(mainWindow, u'fileOpenItem',
self.serviceManagerContents.onLoadServiceClicked, icon=u':/general/general_open.png',
u':/general/general_open.png', category=unicode(UiStrings().File)) shortcuts=[QtGui.QKeySequence(u'Ctrl+O')],
self.fileSaveItem = shortcut_action(mainWindow, u'fileSaveItem', category=unicode(UiStrings().File),
[QtGui.QKeySequence(u'Ctrl+S')], triggers=self.serviceManagerContents.onLoadServiceClicked)
self.serviceManagerContents.saveFile, self.fileSaveItem = create_action(mainWindow, u'fileSaveItem',
u':/general/general_save.png', category=unicode(UiStrings().File)) icon=u':/general/general_save.png',
self.fileSaveAsItem = shortcut_action(mainWindow, u'fileSaveAsItem', shortcuts=[QtGui.QKeySequence(u'Ctrl+S')],
[QtGui.QKeySequence(u'Ctrl+Shift+S')], category=unicode(UiStrings().File),
self.serviceManagerContents.saveFileAs, triggers=self.serviceManagerContents.saveFile)
category=unicode(UiStrings().File)) self.fileSaveAsItem = create_action(mainWindow, u'fileSaveAsItem',
self.printServiceOrderItem = shortcut_action(mainWindow, shortcuts=[QtGui.QKeySequence(u'Ctrl+Shift+S')],
u'printServiceItem', [QtGui.QKeySequence(u'Ctrl+P')], category=unicode(UiStrings().File),
self.serviceManagerContents.printServiceOrder, triggers=self.serviceManagerContents.saveFileAs)
category=unicode(UiStrings().File)) self.printServiceOrderItem = create_action(mainWindow,
self.fileExitItem = shortcut_action(mainWindow, u'fileExitItem', u'printServiceItem', shortcuts=[QtGui.QKeySequence(u'Ctrl+P')],
[QtGui.QKeySequence(u'Alt+F4')], mainWindow.close, category=unicode(UiStrings().File),
u':/system/system_exit.png', 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), action_list.add_category(unicode(UiStrings().Import),
CategoryOrder.standardMenu) CategoryOrder.standardMenu)
self.importThemeItem = base_action( self.importThemeItem = create_action(mainWindow,
mainWindow, u'importThemeItem', unicode(UiStrings().Import)) u'importThemeItem', category=unicode(UiStrings().Import))
self.importLanguageItem = base_action( self.importLanguageItem = create_action(mainWindow,
mainWindow, u'importLanguageItem')#, unicode(UiStrings().Import)) u'importLanguageItem')#, category=unicode(UiStrings().Import))
action_list.add_category(unicode(UiStrings().Export), action_list.add_category(unicode(UiStrings().Export),
CategoryOrder.standardMenu) CategoryOrder.standardMenu)
self.exportThemeItem = base_action( self.exportThemeItem = create_action(mainWindow,
mainWindow, u'exportThemeItem', unicode(UiStrings().Export)) u'exportThemeItem', category=unicode(UiStrings().Export))
self.exportLanguageItem = base_action( self.exportLanguageItem = create_action(mainWindow,
mainWindow, u'exportLanguageItem')#, unicode(UiStrings().Export)) u'exportLanguageItem')#, category=unicode(UiStrings().Export))
action_list.add_category(unicode(UiStrings().View), action_list.add_category(unicode(UiStrings().View),
CategoryOrder.standardMenu) CategoryOrder.standardMenu)
self.viewMediaManagerItem = shortcut_action(mainWindow, self.viewMediaManagerItem = create_action(mainWindow,
u'viewMediaManagerItem', [QtGui.QKeySequence(u'F8')], u'viewMediaManagerItem', shortcuts=[QtGui.QKeySequence(u'F8')],
self.toggleMediaManager, u':/system/system_mediamanager.png', icon=u':/system/system_mediamanager.png',
self.mediaManagerDock.isVisible(), unicode(UiStrings().View)) checked=self.mediaManagerDock.isVisible(),
self.viewThemeManagerItem = shortcut_action(mainWindow, category=unicode(UiStrings().View),
u'viewThemeManagerItem', [QtGui.QKeySequence(u'F10')], triggers=self.toggleMediaManager)
self.toggleThemeManager, u':/system/system_thememanager.png', self.viewThemeManagerItem = create_action(mainWindow,
self.themeManagerDock.isVisible(), unicode(UiStrings().View)) u'viewThemeManagerItem', shortcuts=[QtGui.QKeySequence(u'F10')],
self.viewServiceManagerItem = shortcut_action(mainWindow, icon=u':/system/system_thememanager.png',
u'viewServiceManagerItem', [QtGui.QKeySequence(u'F9')], checked=self.themeManagerDock.isVisible(),
self.toggleServiceManager, u':/system/system_servicemanager.png', category=unicode(UiStrings().View),
self.serviceManagerDock.isVisible(), unicode(UiStrings().View)) triggers=self.toggleThemeManager)
self.viewPreviewPanel = shortcut_action(mainWindow, self.viewServiceManagerItem = create_action(mainWindow,
u'viewPreviewPanel', [QtGui.QKeySequence(u'F11')], u'viewServiceManagerItem', shortcuts=[QtGui.QKeySequence(u'F9')],
self.setPreviewPanelVisibility, checked=previewVisible, icon=u':/system/system_servicemanager.png',
category=unicode(UiStrings().View)) checked=self.serviceManagerDock.isVisible(),
self.viewLivePanel = shortcut_action(mainWindow, u'viewLivePanel', category=unicode(UiStrings().View),
[QtGui.QKeySequence(u'F12')], self.setLivePanelVisibility, triggers=self.toggleServiceManager)
checked=liveVisible, category=unicode(UiStrings().View)) self.viewPreviewPanel = create_action(mainWindow, u'viewPreviewPanel',
self.lockPanel = shortcut_action(mainWindow, u'lockPanel', shortcuts=[QtGui.QKeySequence(u'F11')], checked=previewVisible,
None, self.setLockPanel, category=unicode(UiStrings().View),
checked=panelLocked, category=None) 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), action_list.add_category(unicode(UiStrings().ViewMode),
CategoryOrder.standardMenu) CategoryOrder.standardMenu)
self.modeDefaultItem = checkable_action( self.modeDefaultItem = create_action(mainWindow, u'modeDefaultItem',
mainWindow, u'modeDefaultItem', checked=False, category=unicode(UiStrings().ViewMode))
category=unicode(UiStrings().ViewMode)) self.modeSetupItem = create_action(mainWindow, u'modeSetupItem',
self.modeSetupItem = checkable_action( checked=False, category=unicode(UiStrings().ViewMode))
mainWindow, u'modeSetupItem', self.modeLiveItem = create_action(mainWindow, u'modeLiveItem',
category=unicode(UiStrings().ViewMode)) checked=True, category=unicode(UiStrings().ViewMode))
self.modeLiveItem = checkable_action(
mainWindow, u'modeLiveItem', True, unicode(UiStrings().ViewMode))
self.modeGroup = QtGui.QActionGroup(mainWindow) self.modeGroup = QtGui.QActionGroup(mainWindow)
self.modeGroup.addAction(self.modeDefaultItem) self.modeGroup.addAction(self.modeDefaultItem)
self.modeGroup.addAction(self.modeSetupItem) self.modeGroup.addAction(self.modeSetupItem)
@ -255,25 +263,28 @@ class Ui_MainWindow(object):
self.modeDefaultItem.setChecked(True) self.modeDefaultItem.setChecked(True)
action_list.add_category(unicode(UiStrings().Tools), action_list.add_category(unicode(UiStrings().Tools),
CategoryOrder.standardMenu) CategoryOrder.standardMenu)
self.toolsAddToolItem = icon_action(mainWindow, u'toolsAddToolItem', self.toolsAddToolItem = create_action(mainWindow,
u':/tools/tools_add.png', category=unicode(UiStrings().Tools)) u'toolsAddToolItem', icon=u':/tools/tools_add.png',
self.toolsOpenDataFolder = icon_action(mainWindow,
u'toolsOpenDataFolder', u':/general/general_open.png',
category=unicode(UiStrings().Tools)) category=unicode(UiStrings().Tools))
self.toolsFirstTimeWizard = icon_action(mainWindow, self.toolsOpenDataFolder = create_action(mainWindow,
u'toolsFirstTimeWizard', u':/general/general_revert.png', u'toolsOpenDataFolder', icon=u':/general/general_open.png',
category=unicode(UiStrings().Tools)) 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)) u'updateThemeImages', category=unicode(UiStrings().Tools))
action_list.add_category(unicode(UiStrings().Settings), action_list.add_category(unicode(UiStrings().Settings),
CategoryOrder.standardMenu) CategoryOrder.standardMenu)
self.settingsPluginListItem = shortcut_action(mainWindow, self.settingsPluginListItem = create_action(mainWindow,
u'settingsPluginListItem', [QtGui.QKeySequence(u'Alt+F7')], u'settingsPluginListItem',
self.onPluginItemClicked, u':/system/settings_plugin_list.png', icon=u':/system/settings_plugin_list.png',
category=unicode(UiStrings().Settings)) shortcuts=[QtGui.QKeySequence(u'Alt+F7')],
category=unicode(UiStrings().Settings),
triggers=self.onPluginItemClicked)
# i18n Language Items # i18n Language Items
self.autoLanguageItem = checkable_action(mainWindow, self.autoLanguageItem = create_action(mainWindow, u'autoLanguageItem',
u'autoLanguageItem', LanguageManager.auto_language) checked=LanguageManager.auto_language)
self.languageGroup = QtGui.QActionGroup(mainWindow) self.languageGroup = QtGui.QActionGroup(mainWindow)
self.languageGroup.setExclusive(True) self.languageGroup.setExclusive(True)
self.languageGroup.setObjectName(u'languageGroup') self.languageGroup.setObjectName(u'languageGroup')
@ -281,44 +292,46 @@ class Ui_MainWindow(object):
qmList = LanguageManager.get_qm_list() qmList = LanguageManager.get_qm_list()
savedLanguage = LanguageManager.get_language() savedLanguage = LanguageManager.get_language()
for key in sorted(qmList.keys()): for key in sorted(qmList.keys()):
languageItem = checkable_action( languageItem = create_action(mainWindow, key,
mainWindow, key, qmList[key] == savedLanguage) checked=qmList[key] == savedLanguage)
add_actions(self.languageGroup, [languageItem]) add_actions(self.languageGroup, [languageItem])
self.settingsShortcutsItem = icon_action(mainWindow, self.settingsShortcutsItem = create_action(mainWindow,
u'settingsShortcutsItem', u'settingsShortcutsItem',
u':/system/system_configure_shortcuts.png', icon=u':/system/system_configure_shortcuts.png',
category=unicode(UiStrings().Settings)) category=unicode(UiStrings().Settings))
# Formatting Tags were also known as display tags. # Formatting Tags were also known as display tags.
self.formattingTagItem = icon_action(mainWindow, self.formattingTagItem = create_action(mainWindow,
u'displayTagItem', u':/system/tag_editor.png', u'displayTagItem', icon=u':/system/tag_editor.png',
category=unicode(UiStrings().Settings)) category=unicode(UiStrings().Settings))
self.settingsConfigureItem = icon_action(mainWindow, self.settingsConfigureItem = create_action(mainWindow,
u'settingsConfigureItem', u':/system/system_settings.png', u'settingsConfigureItem', icon=u':/system/system_settings.png',
category=unicode(UiStrings().Settings)) category=unicode(UiStrings().Settings))
self.settingsImportItem = base_action(mainWindow, self.settingsImportItem = create_action(mainWindow,
u'settingsImportItem', category=unicode(UiStrings().Settings)) u'settingsImportItem', category=unicode(UiStrings().Settings))
self.settingsExportItem = base_action(mainWindow, self.settingsExportItem = create_action(mainWindow,
u'settingsExportItem', category=unicode(UiStrings().Settings)) u'settingsExportItem', category=unicode(UiStrings().Settings))
action_list.add_category(unicode(UiStrings().Help), action_list.add_category(unicode(UiStrings().Help),
CategoryOrder.standardMenu) CategoryOrder.standardMenu)
self.aboutItem = shortcut_action(mainWindow, u'aboutItem', self.aboutItem = create_action(mainWindow, u'aboutItem',
[QtGui.QKeySequence(u'Ctrl+F1')], self.onAboutItemClicked, icon=u':/system/system_about.png',
u':/system/system_about.png', category=unicode(UiStrings().Help)) shortcuts=[QtGui.QKeySequence(u'Ctrl+F1')],
category=unicode(UiStrings().Help),
triggers=self.onAboutItemClicked)
if os.name == u'nt': if os.name == u'nt':
self.localHelpFile = os.path.join( self.localHelpFile = os.path.join(
AppLocation.get_directory(AppLocation.AppDir), 'OpenLP.chm') AppLocation.get_directory(AppLocation.AppDir), 'OpenLP.chm')
self.offlineHelpItem = shortcut_action( self.offlineHelpItem = create_action(mainWindow, u'offlineHelpItem',
mainWindow, u'offlineHelpItem', [QtGui.QKeySequence(u'F1')], icon=u':/system/system_help_contents.png',
self.onOfflineHelpClicked, shortcuts=[QtGui.QKeySequence(u'F1')],
u':/system/system_help_contents.png', category=unicode(UiStrings().Help),
category=unicode(UiStrings().Help)) triggers=self.onOfflineHelpClicked)
self.onlineHelpItem = shortcut_action( self.onlineHelpItem = create_action(mainWindow, u'onlineHelpItem',
mainWindow, u'onlineHelpItem', icon=u':/system/system_online_help.png',
[QtGui.QKeySequence(u'Alt+F1')], self.onOnlineHelpClicked, shortcuts=[QtGui.QKeySequence(u'Alt+F1')],
u':/system/system_online_help.png', category=unicode(UiStrings().Help),
category=unicode(UiStrings().Help)) triggers=self.onOnlineHelpClicked)
self.webSiteItem = base_action( self.webSiteItem = create_action(mainWindow,
mainWindow, u'webSiteItem', category=unicode(UiStrings().Help)) u'webSiteItem', category=unicode(UiStrings().Help))
add_actions(self.fileImportMenu, (self.settingsImportItem, None, add_actions(self.fileImportMenu, (self.settingsImportItem, None,
self.importThemeItem, self.importLanguageItem)) self.importThemeItem, self.importLanguageItem))
add_actions(self.fileExportMenu, (self.settingsExportItem, None, add_actions(self.fileExportMenu, (self.settingsExportItem, None,
@ -1383,22 +1396,19 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
self.recentFilesMenu.clear() self.recentFilesMenu.clear()
for fileId, filename in enumerate(recentFilesToDisplay): for fileId, filename in enumerate(recentFilesToDisplay):
log.debug('Recent file name: %s', filename) log.debug('Recent file name: %s', filename)
action = base_action(self, u'') action = create_action(self, u'',
action.setText(u'&%d %s' % (fileId + 1, text=u'&%d %s' % (fileId + 1, os.path.splitext(os.path.basename(
os.path.splitext(os.path.basename(unicode(filename)))[0])) unicode(filename)))[0]), data=filename,
action.setData(QtCore.QVariant(filename)) triggers=self.serviceManagerContents.onRecentServiceClicked)
self.connect(action, QtCore.SIGNAL(u'triggered()'),
self.serviceManagerContents.onRecentServiceClicked)
self.recentFilesMenu.addAction(action) self.recentFilesMenu.addAction(action)
clearRecentFilesAction = base_action(self, u'') clearRecentFilesAction = create_action(self, u'',
clearRecentFilesAction.setText( text=translate('OpenLP.MainWindow', 'Clear List',
translate('OpenLP.MainWindow', 'Clear List', 'Clear List of recent files'),
'Clear List of recent files')) statustip=translate('OpenLP.MainWindow',
clearRecentFilesAction.setStatusTip( 'Clear the list of recent files.'),
translate('OpenLP.MainWindow', 'Clear the list of recent files.')) enabled=not self.recentFiles.isEmpty(),
triggers=self.recentFiles.clear)
add_actions(self.recentFilesMenu, (None, clearRecentFilesAction)) add_actions(self.recentFilesMenu, (None, clearRecentFilesAction))
self.connect(clearRecentFilesAction, QtCore.SIGNAL(u'triggered()'),
self.recentFiles.clear)
clearRecentFilesAction.setEnabled(not self.recentFiles.isEmpty()) clearRecentFilesAction.setEnabled(not self.recentFiles.isEmpty())
def addRecentFile(self, filename): def addRecentFile(self, filename):

View File

@ -34,7 +34,7 @@ from PyQt4 import QtCore, QtGui
from openlp.core.lib import OpenLPToolbar, Receiver, ItemCapabilities, \ from openlp.core.lib import OpenLPToolbar, Receiver, ItemCapabilities, \
translate, build_icon, ServiceItem, build_html, PluginManager, ServiceItem 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.lib import SlideLimits, ServiceItemAction
from openlp.core.ui import HideMode, MainDisplay, Display, ScreenList from openlp.core.ui import HideMode, MainDisplay, Display, ScreenList
from openlp.core.utils.actions import ActionList, CategoryOrder from openlp.core.utils.actions import ActionList, CategoryOrder
@ -191,24 +191,24 @@ class SlideController(Controller):
self.toolbar.addToolbarWidget(u'Hide Menu', self.hideMenu) self.toolbar.addToolbarWidget(u'Hide Menu', self.hideMenu)
self.hideMenu.setMenu(QtGui.QMenu( self.hideMenu.setMenu(QtGui.QMenu(
translate('OpenLP.SlideController', 'Hide'), self.toolbar)) translate('OpenLP.SlideController', 'Hide'), self.toolbar))
self.blankScreen = shortcut_action(self.hideMenu, u'blankScreen', self.blankScreen = create_action(self.hideMenu, u'blankScreen',
[QtCore.Qt.Key_Period], self.onBlankDisplay, text=translate('OpenLP.SlideController', 'Blank Screen'),
u':/slides/slide_blank.png', False, icon=u':/slides/slide_blank.png', checked=False,
unicode(UiStrings().LiveToolbar)) shortcuts=[QtCore.Qt.Key_Period],
self.blankScreen.setText( category=unicode(UiStrings().LiveToolbar),
translate('OpenLP.SlideController', 'Blank Screen')) triggers=self.onBlankDisplay)
self.themeScreen = shortcut_action(self.hideMenu, u'themeScreen', self.themeScreen = create_action(self.hideMenu, u'themeScreen',
[QtGui.QKeySequence(u'T')], self.onThemeDisplay, text=translate('OpenLP.SlideController', 'Blank to Theme'),
u':/slides/slide_theme.png', False, icon=u':/slides/slide_theme.png', checked=False,
unicode(UiStrings().LiveToolbar)) shortcuts=[QtGui.QKeySequence(u'T')],
self.themeScreen.setText( category=unicode(UiStrings().LiveToolbar),
translate('OpenLP.SlideController', 'Blank to Theme')) triggers=self.onThemeDisplay)
self.desktopScreen = shortcut_action(self.hideMenu, self.desktopScreen = create_action(self.hideMenu, u'desktopScreen',
u'desktopScreen', [QtGui.QKeySequence(u'D')], text=translate('OpenLP.SlideController', 'Show Desktop'),
self.onHideDisplay, u':/slides/slide_desktop.png', False, icon=u':/slides/slide_desktop.png', checked=False,
unicode(UiStrings().LiveToolbar)) shortcuts=[QtGui.QKeySequence(u'D')],
self.desktopScreen.setText( category=unicode(UiStrings().LiveToolbar),
translate('OpenLP.SlideController', 'Show Desktop')) triggers=self.onHideDisplay)
self.hideMenu.setDefaultAction(self.blankScreen) self.hideMenu.setDefaultAction(self.blankScreen)
self.hideMenu.menu().addAction(self.blankScreen) self.hideMenu.menu().addAction(self.blankScreen)
self.hideMenu.menu().addAction(self.themeScreen) self.hideMenu.menu().addAction(self.themeScreen)
@ -224,16 +224,16 @@ class SlideController(Controller):
self.playSlidesMenu.setMenu(QtGui.QMenu( self.playSlidesMenu.setMenu(QtGui.QMenu(
translate('OpenLP.SlideController', 'Play Slides'), translate('OpenLP.SlideController', 'Play Slides'),
self.toolbar)) self.toolbar))
self.playSlidesLoop = shortcut_action(self.playSlidesMenu, self.playSlidesLoop = create_action(self.playSlidesMenu,
u'playSlidesLoop', [], self.onPlaySlidesLoop, u'playSlidesLoop', text=UiStrings().PlaySlidesInLoop,
u':/media/media_time.png', False, icon=u':/media/media_time.png', checked=False, shortcuts=[],
unicode(UiStrings().LiveToolbar)) category=unicode(UiStrings().LiveToolbar),
self.playSlidesLoop.setText(UiStrings().PlaySlidesInLoop) triggers=self.onPlaySlidesLoop)
self.playSlidesOnce = shortcut_action(self.playSlidesMenu, self.playSlidesOnce = create_action(self.playSlidesMenu,
u'playSlidesOnce', [], self.onPlaySlidesOnce, u'playSlidesOnce', text=UiStrings().PlaySlidesToEnd,
u':/media/media_time.png', False, icon=u':/media/media_time.png', checked=False, shortcuts=[],
unicode(UiStrings().LiveToolbar)) category=unicode(UiStrings().LiveToolbar),
self.playSlidesOnce.setText(UiStrings().PlaySlidesToEnd) triggers=self.onPlaySlidesOnce)
if QtCore.QSettings().value(self.parent().generalSettingsSection + if QtCore.QSettings().value(self.parent().generalSettingsSection +
u'/enable slide loop', QtCore.QVariant(True)).toBool(): u'/enable slide loop', QtCore.QVariant(True)).toBool():
self.playSlidesMenu.setDefaultAction(self.playSlidesLoop) self.playSlidesMenu.setDefaultAction(self.playSlidesLoop)
@ -328,78 +328,88 @@ class SlideController(Controller):
self.shortcutTimer = QtCore.QTimer() self.shortcutTimer = QtCore.QTimer()
self.shortcutTimer.setObjectName(u'shortcutTimer') self.shortcutTimer.setObjectName(u'shortcutTimer')
self.shortcutTimer.setSingleShot(True) self.shortcutTimer.setSingleShot(True)
self.verseShortcut = shortcut_action(self, u'verseShortcut', self.verseShortcut = create_action(self, u'verseShortcut',
[QtGui.QKeySequence(u'V')], self.slideShortcutActivated, text=translate('OpenLP.SlideController', 'Go to "Verse"'),
shortcuts=[QtGui.QKeySequence(u'V')],
context=QtCore.Qt.WidgetWithChildrenShortcut,
category=unicode(UiStrings().LiveToolbar), category=unicode(UiStrings().LiveToolbar),
context=QtCore.Qt.WidgetWithChildrenShortcut) triggers=self.slideShortcutActivated)
self.verseShortcut.setText(translate( self.shortcut0 = create_action(self, u'0',
'OpenLP.SlideController', 'Go to "Verse"')) shortcuts=[QtGui.QKeySequence(u'0')],
self.shortcut0 = shortcut_action(self, u'0', context=QtCore.Qt.WidgetWithChildrenShortcut,
[QtGui.QKeySequence(u'0')], self.slideShortcutActivated, triggers=self.slideShortcutActivated)
context=QtCore.Qt.WidgetWithChildrenShortcut) self.shortcut1 = create_action(self, u'1',
self.shortcut1 = shortcut_action(self, u'1', shortcuts=[QtGui.QKeySequence(u'1')],
[QtGui.QKeySequence(u'1')], self.slideShortcutActivated, context=QtCore.Qt.WidgetWithChildrenShortcut,
context=QtCore.Qt.WidgetWithChildrenShortcut) triggers=self.slideShortcutActivated)
self.shortcut2 = shortcut_action(self, u'2', self.shortcut2 = create_action(self, u'2',
[QtGui.QKeySequence(u'2')], self.slideShortcutActivated, shortcuts=[QtGui.QKeySequence(u'2')],
context=QtCore.Qt.WidgetWithChildrenShortcut) context=QtCore.Qt.WidgetWithChildrenShortcut,
self.shortcut3 = shortcut_action(self, u'3', triggers=self.slideShortcutActivated)
[QtGui.QKeySequence(u'3')], self.slideShortcutActivated, self.shortcut3 = create_action(self, u'3',
context=QtCore.Qt.WidgetWithChildrenShortcut) shortcuts=[QtGui.QKeySequence(u'3')],
self.shortcut4 = shortcut_action(self, u'4', context=QtCore.Qt.WidgetWithChildrenShortcut,
[QtGui.QKeySequence(u'4')], self.slideShortcutActivated, triggers=self.slideShortcutActivated)
context=QtCore.Qt.WidgetWithChildrenShortcut) self.shortcut4 = create_action(self, u'4',
self.shortcut5 = shortcut_action(self, u'5', shortcuts=[QtGui.QKeySequence(u'4')],
[QtGui.QKeySequence(u'5')], self.slideShortcutActivated, context=QtCore.Qt.WidgetWithChildrenShortcut,
context=QtCore.Qt.WidgetWithChildrenShortcut) triggers=self.slideShortcutActivated)
self.shortcut6 = shortcut_action(self, u'6', self.shortcut5 = create_action(self, u'5',
[QtGui.QKeySequence(u'6')], self.slideShortcutActivated, shortcuts=[QtGui.QKeySequence(u'5')],
context=QtCore.Qt.WidgetWithChildrenShortcut) context=QtCore.Qt.WidgetWithChildrenShortcut,
self.shortcut7 = shortcut_action(self, u'7', triggers=self.slideShortcutActivated)
[QtGui.QKeySequence(u'7')], self.slideShortcutActivated, self.shortcut6 = create_action(self, u'6',
context=QtCore.Qt.WidgetWithChildrenShortcut) shortcuts=[QtGui.QKeySequence(u'6')],
self.shortcut8 = shortcut_action(self, u'8', context=QtCore.Qt.WidgetWithChildrenShortcut,
[QtGui.QKeySequence(u'8')], self.slideShortcutActivated, triggers=self.slideShortcutActivated)
context=QtCore.Qt.WidgetWithChildrenShortcut) self.shortcut7 = create_action(self, u'7',
self.shortcut9 = shortcut_action(self, u'9', shortcuts=[QtGui.QKeySequence(u'7')],
[QtGui.QKeySequence(u'9')], self.slideShortcutActivated, context=QtCore.Qt.WidgetWithChildrenShortcut,
context=QtCore.Qt.WidgetWithChildrenShortcut) triggers=self.slideShortcutActivated)
self.chorusShortcut = shortcut_action(self, u'chorusShortcut', self.shortcut8 = create_action(self, u'8',
[QtGui.QKeySequence(u'C')], self.slideShortcutActivated, 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), category=unicode(UiStrings().LiveToolbar),
context=QtCore.Qt.WidgetWithChildrenShortcut) triggers=self.slideShortcutActivated)
self.chorusShortcut.setText(translate( self.bridgeShortcut = create_action(self, u'bridgeShortcut',
'OpenLP.SlideController', 'Go to "Chorus"')) text=translate('OpenLP.SlideController', 'Go to "Bridge"'),
self.bridgeShortcut = shortcut_action(self, u'bridgeShortcut', shortcuts=[QtGui.QKeySequence(u'B')],
[QtGui.QKeySequence(u'B')], self.slideShortcutActivated, context=QtCore.Qt.WidgetWithChildrenShortcut,
category=unicode(UiStrings().LiveToolbar), category=unicode(UiStrings().LiveToolbar),
context=QtCore.Qt.WidgetWithChildrenShortcut) triggers=self.slideShortcutActivated)
self.bridgeShortcut.setText(translate( self.preChorusShortcut = create_action(self, u'preChorusShortcut',
'OpenLP.SlideController', 'Go to "Bridge"')) text=translate('OpenLP.SlideController', 'Go to "Pre-Chorus"'),
self.preChorusShortcut = shortcut_action(self, u'preChorusShortcut', shortcuts=[QtGui.QKeySequence(u'P')],
[QtGui.QKeySequence(u'P')], self.slideShortcutActivated, context=QtCore.Qt.WidgetWithChildrenShortcut,
category=unicode(UiStrings().LiveToolbar), category=unicode(UiStrings().LiveToolbar),
context=QtCore.Qt.WidgetWithChildrenShortcut) triggers=self.slideShortcutActivated)
self.preChorusShortcut.setText(translate( self.introShortcut = create_action(self, u'introShortcut',
'OpenLP.SlideController', 'Go to "Pre-Chorus"')) text=translate('OpenLP.SlideController', 'Go to "Intro"'),
self.introShortcut = shortcut_action(self, u'introShortcut', shortcuts=[QtGui.QKeySequence(u'I')],
[QtGui.QKeySequence(u'I')], self.slideShortcutActivated, context=QtCore.Qt.WidgetWithChildrenShortcut,
category=unicode(UiStrings().LiveToolbar), category=unicode(UiStrings().LiveToolbar),
context=QtCore.Qt.WidgetWithChildrenShortcut) triggers=self.slideShortcutActivated)
self.introShortcut.setText(translate( self.endingShortcut = create_action(self, u'endingShortcut',
'OpenLP.SlideController', 'Go to "Intro"')) text=translate('OpenLP.SlideController', 'Go to "Ending"'),
self.endingShortcut = shortcut_action(self, u'endingShortcut', shortcuts=[QtGui.QKeySequence(u'E')],
[QtGui.QKeySequence(u'E')], self.slideShortcutActivated, context=QtCore.Qt.WidgetWithChildrenShortcut,
category=unicode(UiStrings().LiveToolbar), category=unicode(UiStrings().LiveToolbar),
context=QtCore.Qt.WidgetWithChildrenShortcut) triggers=self.slideShortcutActivated)
self.endingShortcut.setText(translate( self.otherShortcut = create_action(self, u'otherShortcut',
'OpenLP.SlideController', 'Go to "Ending"')) text=translate('OpenLP.SlideController', 'Go to "Other"'),
self.otherShortcut = shortcut_action(self, u'otherShortcut', shortcuts=[QtGui.QKeySequence(u'O')],
[QtGui.QKeySequence(u'O')], self.slideShortcutActivated, context=QtCore.Qt.WidgetWithChildrenShortcut,
category=unicode(UiStrings().LiveToolbar), category=unicode(UiStrings().LiveToolbar),
context=QtCore.Qt.WidgetWithChildrenShortcut) triggers=self.slideShortcutActivated)
self.otherShortcut.setText(translate(
'OpenLP.SlideController', 'Go to "Other"'))
self.previewListWidget.addActions([ self.previewListWidget.addActions([
self.shortcut0, self.shortcut1, self.shortcut2, self.shortcut3, self.shortcut0, self.shortcut1, self.shortcut2, self.shortcut3,
self.shortcut4, self.shortcut5, self.shortcut6, self.shortcut7, self.shortcut4, self.shortcut5, self.shortcut6, self.shortcut7,
@ -559,24 +569,24 @@ class SlideController(Controller):
unicode(UiStrings().LiveToolbar), CategoryOrder.standardToolbar) unicode(UiStrings().LiveToolbar), CategoryOrder.standardToolbar)
action_list.add_action(self.previousItem) action_list.add_action(self.previousItem)
action_list.add_action(self.nextItem) action_list.add_action(self.nextItem)
self.previousService = shortcut_action(parent, u'previousService', self.previousService = create_action(parent, u'previousService',
[QtCore.Qt.Key_Left], self.servicePrevious, text=translate('OpenLP.SlideController', 'Previous Service'),
shortcuts=[QtCore.Qt.Key_Left],
context=QtCore.Qt.WidgetWithChildrenShortcut,
category=unicode(UiStrings().LiveToolbar), category=unicode(UiStrings().LiveToolbar),
context=QtCore.Qt.WidgetWithChildrenShortcut) triggers=self.servicePrevious)
self.previousService.setText( self.nextService = create_action(parent, 'nextService',
translate('OpenLP.SlideController', 'Previous Service')) text=translate('OpenLP.SlideController', 'Next Service'),
self.nextService = shortcut_action(parent, 'nextService', shortcuts=[QtCore.Qt.Key_Right],
[QtCore.Qt.Key_Right], self.serviceNext, context=QtCore.Qt.WidgetWithChildrenShortcut,
category=unicode(UiStrings().LiveToolbar), category=unicode(UiStrings().LiveToolbar),
context=QtCore.Qt.WidgetWithChildrenShortcut) triggers=self.serviceNext)
self.nextService.setText( self.escapeItem = create_action(parent, 'escapeItem',
translate('OpenLP.SlideController', 'Next Service')) text=translate('OpenLP.SlideController', 'Escape Item'),
self.escapeItem = shortcut_action(parent, 'escapeItem', shortcuts=[QtCore.Qt.Key_Escape],
[QtCore.Qt.Key_Escape], self.liveEscape, context=QtCore.Qt.WidgetWithChildrenShortcut,
category=unicode(UiStrings().LiveToolbar), category=unicode(UiStrings().LiveToolbar),
context=QtCore.Qt.WidgetWithChildrenShortcut) triggers=self.liveEscape)
self.escapeItem.setText(
translate('OpenLP.SlideController', 'Escape Item'))
def liveEscape(self): def liveEscape(self):
self.display.setVisible(False) 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 import Plugin, StringContent, build_icon, translate
from openlp.core.lib.db import Manager 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.lib.theme import VerticalType
from openlp.core.utils.actions import ActionList from openlp.core.utils.actions import ActionList
from openlp.plugins.alerts.lib import AlertsManager, AlertsTab from openlp.plugins.alerts.lib import AlertsManager, AlertsTab
@ -133,16 +133,12 @@ class AlertsPlugin(Plugin):
use it as their parent. use it as their parent.
""" """
log.info(u'add tools menu') log.info(u'add tools menu')
self.toolsAlertItem = icon_action(tools_menu, u'toolsAlertItem', self.toolsAlertItem = create_action(tools_menu, u'toolsAlertItem',
u':/plugins/plugin_alerts.png') text=translate('AlertsPlugin', '&Alert'),
self.toolsAlertItem.setText(translate('AlertsPlugin', '&Alert')) icon=u':/plugins/plugin_alerts.png',
self.toolsAlertItem.setStatusTip( statustip=translate('AlertsPlugin', 'Show an alert message.'),
translate('AlertsPlugin', 'Show an alert message.')) visible=False, shortcuts=u'F7', triggers=self.onAlertsTrigger)
self.toolsAlertItem.setShortcut(u'F7')
self.serviceManager.mainwindow.toolsMenu.addAction(self.toolsAlertItem) 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): def initialise(self):
log.info(u'Alerts Initialising') log.info(u'Alerts Initialising')

View File

@ -30,7 +30,7 @@ import logging
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import Plugin, StringContent, build_icon, translate 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.core.utils.actions import ActionList
from openlp.plugins.bibles.lib import BibleManager, BiblesTab, BibleMediaItem from openlp.plugins.bibles.lib import BibleManager, BiblesTab, BibleMediaItem
from openlp.plugins.bibles.forms import BibleUpgradeForm from openlp.plugins.bibles.forms import BibleUpgradeForm
@ -93,19 +93,16 @@ class BiblePlugin(Plugin):
self.onToolsUpgradeItemTriggered() self.onToolsUpgradeItemTriggered()
def addImportMenuItem(self, import_menu): def addImportMenuItem(self, import_menu):
self.importBibleItem = base_action(import_menu, u'importBibleItem') self.importBibleItem = create_action(import_menu, u'importBibleItem',
self.importBibleItem.setText(translate('BiblesPlugin', '&Bible')) text=translate('BiblesPlugin', '&Bible'), visible=False,
triggers=self.onBibleImportClick)
import_menu.addAction(self.importBibleItem) 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): def addExportMenuItem(self, export_menu):
self.exportBibleItem = base_action(export_menu, u'exportBibleItem') self.exportBibleItem = create_action(export_menu, u'exportBibleItem',
self.exportBibleItem.setText(translate('BiblesPlugin', '&Bible')) text=translate('BiblesPlugin', '&Bible'),
visible=False)
export_menu.addAction(self.exportBibleItem) export_menu.addAction(self.exportBibleItem)
self.exportBibleItem.setVisible(False)
def addToolsMenuItem(self, tools_menu): 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, \ from openlp.core.lib import Plugin, StringContent, build_icon, translate, \
Receiver Receiver
from openlp.core.lib.db import Manager 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.core.utils.actions import ActionList
from openlp.plugins.songs.lib import clean_song, upgrade, SongMediaItem, \ from openlp.plugins.songs.lib import clean_song, upgrade, SongMediaItem, \
SongsTab SongsTab
@ -93,14 +93,12 @@ class SongsPlugin(Plugin):
use it as their parent. use it as their parent.
""" """
# Main song import menu item - will eventually be the only one # Main song import menu item - will eventually be the only one
self.songImportItem = base_action(import_menu, u'songImportItem') self.songImportItem = create_action(import_menu, u'songImportItem',
self.songImportItem.setText(translate('SongsPlugin', '&Song')) text=translate('SongsPlugin', '&Song'),
self.songImportItem.setToolTip(translate('SongsPlugin', tooltip=translate('SongsPlugin',
'Import songs using the import wizard.')) 'Import songs using the import wizard.'),
triggers=self.onSongImportItemClicked)
import_menu.addAction(self.songImportItem) import_menu.addAction(self.songImportItem)
# Signals and slots
QtCore.QObject.connect(self.songImportItem,
QtCore.SIGNAL(u'triggered()'), self.onSongImportItemClicked)
def addExportMenuItem(self, export_menu): def addExportMenuItem(self, export_menu):
""" """
@ -112,14 +110,12 @@ class SongsPlugin(Plugin):
use it as their parent. use it as their parent.
""" """
# Main song import menu item - will eventually be the only one # Main song import menu item - will eventually be the only one
self.songExportItem = base_action(export_menu, u'songExportItem') self.songExportItem = create_action(export_menu, u'songExportItem',
self.songExportItem.setText(translate('SongsPlugin', '&Song')) text=translate('SongsPlugin', '&Song'),
self.songExportItem.setToolTip(translate('SongsPlugin', tooltip=translate('SongsPlugin',
'Exports songs using the export wizard.')) 'Exports songs using the export wizard.'),
triggers=self.onSongExportItemClicked)
export_menu.addAction(self.songExportItem) export_menu.addAction(self.songExportItem)
# Signals and slots
QtCore.QObject.connect(self.songExportItem,
QtCore.SIGNAL(u'triggered()'), self.onSongExportItemClicked)
def addToolsMenuItem(self, tools_menu): def addToolsMenuItem(self, tools_menu):
""" """
@ -131,17 +127,13 @@ class SongsPlugin(Plugin):
use it as their parent. use it as their parent.
""" """
log.info(u'add tools menu') log.info(u'add tools menu')
self.toolsReindexItem = icon_action(tools_menu, u'toolsReindexItem', self.toolsReindexItem = create_action(tools_menu, u'toolsReindexItem',
u':/plugins/plugin_songs.png') text=translate('SongsPlugin', '&Re-index Songs'),
self.toolsReindexItem.setText( icon=u':/plugins/plugin_songs.png',
translate('SongsPlugin', '&Re-index Songs')) statustip=translate('SongsPlugin',
self.toolsReindexItem.setStatusTip( 'Re-index the songs database to improve searching and ordering.'),
translate('SongsPlugin', 'Re-index the songs database to improve ' visible=False, triggers=self.onToolsReindexItemTriggered)
'searching and ordering.'))
tools_menu.addAction(self.toolsReindexItem) tools_menu.addAction(self.toolsReindexItem)
QtCore.QObject.connect(self.toolsReindexItem,
QtCore.SIGNAL(u'triggered()'), self.onToolsReindexItemTriggered)
self.toolsReindexItem.setVisible(False)
def onToolsReindexItemTriggered(self): def onToolsReindexItemTriggered(self):
""" """

View File

@ -33,7 +33,7 @@ from PyQt4 import QtCore, QtGui
from openlp.core.lib import Plugin, StringContent, Receiver, build_icon, \ from openlp.core.lib import Plugin, StringContent, Receiver, build_icon, \
translate translate
from openlp.core.lib.db import Manager 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.core.utils.actions import ActionList
from openlp.plugins.songusage.forms import SongUsageDetailForm, \ from openlp.plugins.songusage.forms import SongUsageDetailForm, \
SongUsageDeleteForm SongUsageDeleteForm
@ -73,24 +73,24 @@ class SongUsagePlugin(Plugin):
self.songUsageMenu.setTitle(translate( self.songUsageMenu.setTitle(translate(
'SongUsagePlugin', '&Song Usage Tracking')) 'SongUsagePlugin', '&Song Usage Tracking'))
# SongUsage Delete # SongUsage Delete
self.songUsageDelete = base_action(tools_menu, u'songUsageDelete') self.songUsageDelete = create_action(tools_menu, u'songUsageDelete',
self.songUsageDelete.setText(translate('SongUsagePlugin', text=translate('SongUsagePlugin', '&Delete Tracking Data'),
'&Delete Tracking Data')) statustip=translate('SongUsagePlugin',
self.songUsageDelete.setStatusTip(translate('SongUsagePlugin', 'Delete song usage data up to a specified date.'),
'Delete song usage data up to a specified date.')) triggers=self.onSongUsageDelete)
# SongUsage Report # SongUsage Report
self.songUsageReport = base_action(tools_menu, u'songUsageReport') self.songUsageReport = create_action(tools_menu, u'songUsageReport',
self.songUsageReport.setText( text=translate('SongUsagePlugin', '&Extract Tracking Data'),
translate('SongUsagePlugin', '&Extract Tracking Data')) statustip=translate('SongUsagePlugin',
self.songUsageReport.setStatusTip( 'Generate a report on song usage.'),
translate('SongUsagePlugin', 'Generate a report on song usage.')) triggers=self.onSongUsageReport)
# SongUsage activation # SongUsage activation
self.songUsageStatus = shortcut_action(tools_menu, u'songUsageStatus', self.songUsageStatus = create_action(tools_menu, u'songUsageStatus',
[QtCore.Qt.Key_F4], self.toggleSongUsageState, checked=False) text=translate('SongUsagePlugin', 'Toggle Tracking'),
self.songUsageStatus.setText(translate( statustip=translate('SongUsagePlugin',
'SongUsagePlugin', 'Toggle Tracking')) 'Toggle the tracking of song usage.'), checked=False,
self.songUsageStatus.setStatusTip(translate('SongUsagePlugin', shortcuts=[QtCore.Qt.Key_F4],
'Toggle the tracking of song usage.')) triggers=self.toggleSongUsageState)
# Add Menus together # Add Menus together
self.toolsMenu.addAction(self.songUsageMenu.menuAction()) self.toolsMenu.addAction(self.songUsageMenu.menuAction())
self.songUsageMenu.addAction(self.songUsageStatus) self.songUsageMenu.addAction(self.songUsageStatus)
@ -114,10 +114,6 @@ class SongUsagePlugin(Plugin):
QtCore.QObject.connect(self.songUsageActiveButton, QtCore.QObject.connect(self.songUsageActiveButton,
QtCore.SIGNAL(u'toggled(bool)'), QtCore.SIGNAL(u'toggled(bool)'),
self.toggleSongUsageState) 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) self.songUsageMenu.menuAction().setVisible(False)
def initialise(self): def initialise(self):