From 26f144e1eca47cf3ddcad1cedb015d87c3ebfe10 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Sun, 27 Mar 2011 20:28:03 +0200 Subject: [PATCH 01/71] fix for ticket #142 --- openlp/core/lib/serviceitem.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/openlp/core/lib/serviceitem.py b/openlp/core/lib/serviceitem.py index 48a277633..2305f1102 100644 --- a/openlp/core/lib/serviceitem.py +++ b/openlp/core/lib/serviceitem.py @@ -406,24 +406,28 @@ class ServiceItem(object): def get_rendered_frame(self, row): """ - Returns the correct frame for a given list and - renders it if required. + Returns the correct frame for a given list and renders it if required. """ - if self.service_item_type == ServiceItemType.Text: - return self._display_frames[row][u'html'].split(u'\n')[0] - elif self.service_item_type == ServiceItemType.Image: - return self._raw_frames[row][u'title'] - else: - return self._raw_frames[row][u'image'] + try: + if self.service_item_type == ServiceItemType.Text: + frame = self._display_frames[row][u'html'].split(u'\n')[0] + elif self.service_item_type == ServiceItemType.Image: + frame = self._raw_frames[row][u'title'] + else: + frame = self._raw_frames[row][u'image'] + except IndexError: + frame = u'' + return frame def get_frame_title(self, row=0): """ Returns the title of the raw frame """ try: - return self._raw_frames[row][u'title'] + title = self._raw_frames[row][u'title'] except IndexError: - return u'' + title = u'' + return title def get_frame_path(self, row=0): """ From 19138cd9e5b42652473e331cd866252cd3e4150b Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Tue, 29 Mar 2011 15:56:49 +0200 Subject: [PATCH 02/71] started reworking shortcuts --- openlp/core/lib/ui.py | 2 + openlp/core/ui/mainwindow.py | 63 ++++++++---------- openlp/core/ui/servicemanager.py | 2 +- openlp/core/ui/shortcutlistform.py | 95 +++++++++++++++++++-------- openlp/core/ui/slidecontroller.py | 3 +- openlp/core/utils/actions.py | 11 ++++ openlp/plugins/alerts/alertsplugin.py | 8 ++- 7 files changed, 116 insertions(+), 68 deletions(-) diff --git a/openlp/core/lib/ui.py b/openlp/core/lib/ui.py index c1a9f8b35..6aa06bfcc 100644 --- a/openlp/core/lib/ui.py +++ b/openlp/core/lib/ui.py @@ -31,6 +31,7 @@ import logging from PyQt4 import QtCore, QtGui from openlp.core.lib import build_icon, Receiver, translate +from openlp.core.utils.actions import actionList log = logging.getLogger(__name__) @@ -265,6 +266,7 @@ def icon_action(parent, name, icon, checked=None): else: action = base_action(parent, name) action.setIcon(build_icon(icon)) + #actionList.add_action(action, name) return action def shortcut_action(parent, text, shortcuts, function): diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index 594c6cc91..98144bfa3 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -38,7 +38,8 @@ from openlp.core.ui import AboutForm, SettingsForm, ServiceManager, \ ThemeManager, SlideController, PluginForm, MediaDockManager, \ ShortcutListForm, DisplayTagForm from openlp.core.utils import AppLocation, add_actions, LanguageManager, \ - ActionList, get_application_version + get_application_version +from openlp.core.utils.actions import actionList log = logging.getLogger(__name__) @@ -163,53 +164,52 @@ class Ui_MainWindow(object): # Create the menu items self.FileNewItem = icon_action(mainWindow, u'FileNewItem', u':/general/general_new.png') - mainWindow.actionList.add_action(self.FileNewItem, u'File') + actionList.add_action(self.FileNewItem, u'File') self.FileOpenItem = icon_action(mainWindow, u'FileOpenItem', u':/general/general_open.png') - mainWindow.actionList.add_action(self.FileOpenItem, u'File') + actionList.add_action(self.FileOpenItem, u'File') self.FileSaveItem = icon_action(mainWindow, u'FileSaveItem', u':/general/general_save.png') - mainWindow.actionList.add_action(self.FileSaveItem, u'File') + actionList.add_action(self.FileSaveItem, u'File') self.FileSaveAsItem = base_action(mainWindow, u'FileSaveAsItem') - mainWindow.actionList.add_action(self.FileSaveAsItem, u'File') + actionList.add_action(self.FileSaveAsItem, u'File') self.printServiceOrderItem = base_action( mainWindow, u'printServiceItem') - mainWindow.actionList.add_action( - self.printServiceOrderItem, u'Print Service Order') + actionList.add_action(self.printServiceOrderItem, u'File') self.FileExitItem = icon_action(mainWindow, u'FileExitItem', u':/system/system_exit.png') - mainWindow.actionList.add_action(self.FileExitItem, u'File') + actionList.add_action(self.FileExitItem, u'File') self.ImportThemeItem = base_action(mainWindow, u'ImportThemeItem') - mainWindow.actionList.add_action(self.ImportThemeItem, u'Import') + actionList.add_action(self.ImportThemeItem, u'Import') self.ImportLanguageItem = base_action(mainWindow, u'ImportLanguageItem') - mainWindow.actionList.add_action(self.ImportLanguageItem, u'Import') + actionList.add_action(self.ImportLanguageItem, u'Import') self.ExportThemeItem = base_action(mainWindow, u'ExportThemeItem') - mainWindow.actionList.add_action(self.ExportThemeItem, u'Export') + actionList.add_action(self.ExportThemeItem, u'Export') self.ExportLanguageItem = base_action(mainWindow, u'ExportLanguageItem') - mainWindow.actionList.add_action(self.ExportLanguageItem, u'Export') + actionList.add_action(self.ExportLanguageItem, u'Export') self.ViewMediaManagerItem = icon_action(mainWindow, u'ViewMediaManagerItem', u':/system/system_mediamanager.png', self.mediaManagerDock.isVisible()) self.ViewThemeManagerItem = icon_action(mainWindow, u'ViewThemeManagerItem', u':/system/system_thememanager.png', self.themeManagerDock.isVisible()) - mainWindow.actionList.add_action(self.ViewMediaManagerItem, u'View') + actionList.add_action(self.ViewMediaManagerItem, u'View') self.ViewServiceManagerItem = icon_action(mainWindow, u'ViewServiceManagerItem', u':/system/system_servicemanager.png', self.serviceManagerDock.isVisible()) - mainWindow.actionList.add_action(self.ViewServiceManagerItem, u'View') + actionList.add_action(self.ViewServiceManagerItem, u'View') self.ViewPreviewPanel = checkable_action(mainWindow, u'ViewPreviewPanel', previewVisible) - mainWindow.actionList.add_action(self.ViewPreviewPanel, u'View') + actionList.add_action(self.ViewPreviewPanel, u'View') self.ViewLivePanel = checkable_action(mainWindow, u'ViewLivePanel', liveVisible) - mainWindow.actionList.add_action(self.ViewLivePanel, u'View') + actionList.add_action(self.ViewLivePanel, u'View') self.ModeDefaultItem = checkable_action(mainWindow, u'ModeDefaultItem') - mainWindow.actionList.add_action(self.ModeDefaultItem, u'View Mode') + actionList.add_action(self.ModeDefaultItem, u'View Mode') self.ModeSetupItem = checkable_action(mainWindow, u'ModeLiveItem') - mainWindow.actionList.add_action(self.ModeSetupItem, u'View Mode') + actionList.add_action(self.ModeSetupItem, u'View Mode') self.ModeLiveItem = checkable_action(mainWindow, u'ModeLiveItem', True) - mainWindow.actionList.add_action(self.ModeLiveItem, u'View Mode') + actionList.add_action(self.ModeLiveItem, u'View Mode') self.ModeGroup = QtGui.QActionGroup(mainWindow) self.ModeGroup.addAction(self.ModeDefaultItem) self.ModeGroup.addAction(self.ModeSetupItem) @@ -217,18 +217,18 @@ class Ui_MainWindow(object): self.ModeDefaultItem.setChecked(True) self.ToolsAddToolItem = icon_action(mainWindow, u'ToolsAddToolItem', u':/tools/tools_add.png') - mainWindow.actionList.add_action(self.ToolsAddToolItem, u'Tools') + actionList.add_action(self.ToolsAddToolItem, u'Tools') self.ToolsOpenDataFolder = icon_action(mainWindow, u'ToolsOpenDataFolder', u':/general/general_open.png') - mainWindow.actionList.add_action(self.ToolsOpenDataFolder, u'Tools') + actionList.add_action(self.ToolsOpenDataFolder, u'Tools') self.settingsPluginListItem = icon_action(mainWindow, u'settingsPluginListItem', u':/system/settings_plugin_list.png') - mainWindow.actionList.add_action(self.settingsPluginListItem, + actionList.add_action(self.settingsPluginListItem, u'Settings') # i18n Language Items self.AutoLanguageItem = checkable_action(mainWindow, u'AutoLanguageItem', LanguageManager.auto_language) - mainWindow.actionList.add_action(self.AutoLanguageItem, u'Settings') + actionList.add_action(self.AutoLanguageItem, u'Settings') self.LanguageGroup = QtGui.QActionGroup(mainWindow) self.LanguageGroup.setExclusive(True) self.LanguageGroup.setObjectName(u'LanguageGroup') @@ -246,19 +246,19 @@ class Ui_MainWindow(object): u'DisplayTagItem', u':/system/tag_editor.png') self.SettingsConfigureItem = icon_action(mainWindow, u'SettingsConfigureItem', u':/system/system_settings.png') - mainWindow.actionList.add_action(self.SettingsShortcutsItem, + actionList.add_action(self.SettingsShortcutsItem, u'Settings') self.HelpDocumentationItem = icon_action(mainWindow, u'HelpDocumentationItem', u':/system/system_help_contents.png') self.HelpDocumentationItem.setEnabled(False) - mainWindow.actionList.add_action(self.HelpDocumentationItem, u'Help') + actionList.add_action(self.HelpDocumentationItem, u'Help') self.HelpAboutItem = icon_action(mainWindow, u'HelpAboutItem', u':/system/system_about.png') - mainWindow.actionList.add_action(self.HelpAboutItem, u'Help') + actionList.add_action(self.HelpAboutItem, u'Help') self.HelpOnlineHelpItem = base_action(mainWindow, u'HelpOnlineHelpItem') - mainWindow.actionList.add_action(self.HelpOnlineHelpItem, u'Help') + actionList.add_action(self.HelpOnlineHelpItem, u'Help') self.helpWebSiteItem = base_action(mainWindow, u'helpWebSiteItem') - mainWindow.actionList.add_action(self.helpWebSiteItem, u'Help') + actionList.add_action(self.helpWebSiteItem, u'Help') add_actions(self.FileImportMenu, (self.ImportThemeItem, self.ImportLanguageItem)) add_actions(self.FileExportMenu, @@ -301,7 +301,6 @@ class Ui_MainWindow(object): self.ToolsAddToolItem.setVisible(False) self.ImportLanguageItem.setVisible(False) self.ExportLanguageItem.setVisible(False) - self.SettingsShortcutsItem.setVisible(False) self.HelpDocumentationItem.setVisible(False) def retranslateUi(self, mainWindow): @@ -467,8 +466,6 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): """ log.info(u'MainWindow loaded') - actionList = ActionList() - def __init__(self, screens, application): """ This constructor sets up the interface, the various managers, and the @@ -476,7 +473,6 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): """ QtGui.QMainWindow.__init__(self) self.screens = screens - self.application = application # Set up settings sections for the main application # (not for use by plugins) @@ -485,7 +481,6 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): self.serviceSettingsSection = u'servicemanager' self.songsSettingsSection = u'songs' self.serviceNotSaved = False - self.actionList = ActionList() self.settingsmanager = SettingsManager(screens) self.aboutForm = AboutForm(self) self.settingsForm = SettingsForm(self.screens, self, self) @@ -777,7 +772,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): """ Show the shortcuts dialog """ - self.shortcutForm.exec_(self.actionList) + self.shortcutForm.exec_() def onModeDefaultItemClicked(self): """ diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index 168ad8a8c..1d5321e01 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -40,6 +40,7 @@ from openlp.core.ui import ServiceNoteForm, ServiceItemEditForm, StartTimeForm from openlp.core.ui.printserviceform import PrintServiceForm from openlp.core.utils import AppLocation, delete_file, file_is_unicode, \ split_filename +from openlp.core.utils.actions import actionList class ServiceManagerList(QtGui.QTreeWidget): """ @@ -315,7 +316,6 @@ class ServiceManager(QtGui.QWidget): self.configUpdated() def setServiceHotkeys(self): - actionList = self.mainwindow.actionList actionList.add_action(self.serviceManagerList.moveDown, u'Service') actionList.add_action(self.serviceManagerList.moveUp, u'Service') actionList.add_action(self.serviceManagerList.moveTop, u'Service') diff --git a/openlp/core/ui/shortcutlistform.py b/openlp/core/ui/shortcutlistform.py index e87ba3ada..a61dd41ed 100644 --- a/openlp/core/ui/shortcutlistform.py +++ b/openlp/core/ui/shortcutlistform.py @@ -30,6 +30,7 @@ import re from PyQt4 import QtCore, QtGui from openlp.core.utils import translate +from openlp.core.utils.actions import actionList from shortcutlistdialog import Ui_ShortcutListDialog REMOVE_AMPERSAND = re.compile(r'&{1}') @@ -40,21 +41,24 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): """ The shortcut list dialog """ - - def __init__(self, parent): - """ - Do some initialisation stuff - """ +#TODO: do not close on ESC +#TODO: ability to remove actions +#TODO: Save shortcuts +#TODO: doc + def __init__(self, parent=None): QtGui.QDialog.__init__(self, parent) self.setupUi(self) - self.actionList = None - self.captureShortcut = False + self.assingedShortcuts = [] + self.shortcutButton.setText(u'') QtCore.QObject.connect(self.shortcutButton, QtCore.SIGNAL(u'toggled(bool)'), self.onShortcutButtonClicked) + QtCore.QObject.connect(self.treeWidget, + QtCore.SIGNAL(u'itemPressed(QTreeWidgetItem*, int)'), + self.onItemPressed) def keyReleaseEvent(self, event): Qt = QtCore.Qt - if not self.captureShortcut: + if not self.shortcutButton.isChecked(): return key = event.key() if key == Qt.Key_Shift or key == Qt.Key_Control or \ @@ -68,45 +72,80 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): if event.modifiers() & Qt.ShiftModifier == Qt.ShiftModifier: key_string = u'Shift+' + key_string key_sequence = QtGui.QKeySequence(key_string) - existing_key = QtGui.QKeySequence(u'Ctrl+Shift+F8') - if key_sequence == existing_key: - QtGui.QMessageBox.warning( - self, + if key_sequence in self.assingedShortcuts: + QtGui.QMessageBox.warning(self, translate('OpenLP.ShortcutListDialog', 'Duplicate Shortcut'), unicode(translate('OpenLP.ShortcutListDialog', 'The shortcut ' - '"%s" is already assigned to another action, please ' - 'use a different shortcut.')) % key_sequence.toString(), + '"%s" is already assigned to another action, please ' + 'use a different shortcut.')) % key_sequence.toString(), QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok), QtGui.QMessageBox.Ok ) else: self.shortcutButton.setText(key_sequence.toString()) - self.shortcutButton.setChecked(False) - self.captureShortcut = False + self.shortcutButton.setChecked(False) - def exec_(self, actionList): - self.actionList = actionList - self.refreshActions() + def exec_(self): + # The dialog is opened the first time + if self.treeWidget.topLevelItemCount() == 0: + QtCore.QObject.connect(actionList.signal, + QtCore.SIGNAL(u'addedAction()'), self.initialiseActionList) + self.initialiseActionList() + self.refreshActionList() return QtGui.QDialog.exec_(self) - def refreshActions(self): - self.treeWidget.clear() - for category in self.actionList.categories: - item = QtGui.QTreeWidgetItem([category.name]) - for action in category.actions: + def refreshActionList(self): + self.assingedShortcuts = [] + iterator = QtGui.QTreeWidgetItemIterator(self.treeWidget) + while iterator.value(): + treewidgetItem = iterator.value() + action = treewidgetItem.data(0, QtCore.Qt.UserRole).toPyObject() + if action is not None: actionText = REMOVE_AMPERSAND.sub('', unicode(action.text())) - if (len(action.shortcuts()) == 2): + if len(action.shortcuts()) == 2: shortcutText = action.shortcuts()[0].toString() alternateText = action.shortcuts()[1].toString() else: shortcutText = action.shortcut().toString() alternateText = u'' - actionItem = QtGui.QTreeWidgetItem( - [actionText, shortcutText, alternateText]) + self.assingedShortcuts.extend(action.shortcuts()) + treewidgetItem.setText(0, actionText) + treewidgetItem.setText(1, shortcutText) + treewidgetItem.setText(2, alternateText) + iterator += 1 + + def initialiseActionList(self): + for category in actionList.categories: + item = QtGui.QTreeWidgetItem([category.name]) + for action in category.actions: + actionItem = QtGui.QTreeWidgetItem() actionItem.setIcon(0, action.icon()) + actionItem.setData(0, QtCore.Qt.UserRole, QtCore.QVariant(action)) item.addChild(actionItem) item.setExpanded(True) self.treeWidget.addTopLevelItem(item) def onShortcutButtonClicked(self, toggled): - self.captureShortcut = toggled + if toggled: + return + item = self.treeWidget.currentItem() + action = item.data(0, QtCore.Qt.UserRole).toPyObject() + if action is None: + return + # TODO: Sort out which shortcuts should be kept. + action.setShortcuts(QtGui.QKeySequence(self.shortcutButton.text())) + self.refreshActionList() + + def onItemPressed(self, item, column): + item = self.treeWidget.currentItem() + action = item.data(0, QtCore.Qt.UserRole).toPyObject() + if action is None: + text = u'' + else: + if len(action.shortcuts()) == 0: + text = u'' + elif len(action.shortcuts()) == 2 and column == 2: + text = action.shortcuts()[1].toString() + else: + text = action.shortcuts()[0].toString() + self.shortcutButton.setText(text) diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 232653326..1ae84e950 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -34,6 +34,7 @@ from openlp.core.lib import OpenLPToolbar, Receiver, resize_image, \ ItemCapabilities, translate from openlp.core.lib.ui import icon_action, UiStrings, shortcut_action from openlp.core.ui import HideMode, MainDisplay +from openlp.core.utils.actions import actionList log = logging.getLogger(__name__) @@ -362,14 +363,12 @@ class SlideController(QtGui.QWidget): QtCore.SIGNAL(u'config_screen_changed'), self.screenSizeChanged) def setPreviewHotkeys(self, parent=None): - actionList = self.parent.actionList self.previousItem.setShortcuts([QtCore.Qt.Key_Up, 0]) actionList.add_action(self.previousItem, u'Preview') self.nextItem.setShortcuts([QtCore.Qt.Key_Down, 0]) actionList.add_action(self.nextItem, u'Preview') def setLiveHotkeys(self, parent=None): - actionList = self.parent.actionList self.previousItem.setShortcuts([QtCore.Qt.Key_Up, QtCore.Qt.Key_PageUp]) self.previousItem.setShortcutContext( QtCore.Qt.WidgetWithChildrenShortcut) diff --git a/openlp/core/utils/actions.py b/openlp/core/utils/actions.py index 41ae41f4b..ba4a7b40d 100644 --- a/openlp/core/utils/actions.py +++ b/openlp/core/utils/actions.py @@ -27,6 +27,8 @@ The :mod:`~openlp.core.utils.actions` module provides action list classes used by the shortcuts system. """ +from PyQt4 import QtCore + class ActionCategory(object): """ The :class:`~openlp.core.utils.ActionCategory` class encapsulates a @@ -173,6 +175,7 @@ class ActionList(object): """ def __init__(self): self.categories = CategoryList() + self.signal = Emit() def add_action(self, action, category=u'Default', weight=None): if category not in self.categories: @@ -181,3 +184,11 @@ class ActionList(object): self.categories[category].actions.append(action) else: self.categories[category].actions.add(action, weight) + self.signal.emit(QtCore.SIGNAL(u'addedAction()')) + + +class Emit(QtCore.QObject): + def __init__(self): + QtCore.QObject.__init__(self) + +actionList = ActionList() diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py index db0ba3b7e..2d22d2d5a 100644 --- a/openlp/plugins/alerts/alertsplugin.py +++ b/openlp/plugins/alerts/alertsplugin.py @@ -30,6 +30,8 @@ from PyQt4 import QtCore, QtGui 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 +from openlp.core.utils.actions import actionList from openlp.plugins.alerts.lib import AlertsManager, AlertsTab from openlp.plugins.alerts.lib.db import init_schema from openlp.plugins.alerts.forms import AlertForm @@ -58,9 +60,9 @@ class AlertsPlugin(Plugin): use it as their parent. """ log.info(u'add tools menu') - self.toolsAlertItem = QtGui.QAction(tools_menu) - self.toolsAlertItem.setIcon(build_icon(u':/plugins/plugin_alerts.png')) - self.toolsAlertItem.setObjectName(u'toolsAlertItem') + self.toolsAlertItem = icon_action(tools_menu, u'toolsAlertItem', + u':/plugins/plugin_alerts.png') + actionList.add_action(self.toolsAlertItem, u'Extra') self.toolsAlertItem.setText(translate('AlertsPlugin', '&Alert')) self.toolsAlertItem.setStatusTip( translate('AlertsPlugin', 'Show an alert message.')) From d9c2d92c8c4265975c7860bfc7fd5aba26c1bac1 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Tue, 29 Mar 2011 18:44:36 +0200 Subject: [PATCH 03/71] --- openlp/core/lib/ui.py | 24 +++--- openlp/core/ui/mainwindow.py | 104 +++++++++++--------------- openlp/core/ui/shortcutlistform.py | 15 +++- openlp/core/ui/slidecontroller.py | 23 +++--- openlp/core/utils/__init__.py | 6 +- openlp/core/utils/actions.py | 2 +- openlp/plugins/alerts/alertsplugin.py | 3 +- 7 files changed, 90 insertions(+), 87 deletions(-) diff --git a/openlp/core/lib/ui.py b/openlp/core/lib/ui.py index 6aa06bfcc..86def01d8 100644 --- a/openlp/core/lib/ui.py +++ b/openlp/core/lib/ui.py @@ -239,41 +239,47 @@ def create_up_down_push_button_set(parent): QtCore.SIGNAL(u'clicked()'), parent.onDownButtonClicked) return up_button, down_button -def base_action(parent, name): +def base_action(parent, name, category=None): """ Return the most basic action with the object name set. """ action = QtGui.QAction(parent) action.setObjectName(name) + if category is not None: + actionList.add_action(action, category) return action -def checkable_action(parent, name, checked=None): +def checkable_action(parent, name, checked=None, category=None): """ Return a standard action with the checkable attribute set. """ - action = base_action(parent, name) + action = base_action(parent, name, category) action.setCheckable(True) if checked is not None: action.setChecked(checked) return action -def icon_action(parent, name, icon, checked=None): +def icon_action(parent, name, icon, checked=None, category=None): """ Return a standard action with an icon. + + ``category`` + The category the action should be listed in the shortcut dialog. If you + not wish, that this action is added to the shortcut dialog, then do not + state any. """ if checked is not None: - action = checkable_action(parent, name, checked) + action = checkable_action(parent, name, checked, category) else: - action = base_action(parent, name) + action = base_action(parent, name, category) action.setIcon(build_icon(icon)) - #actionList.add_action(action, name) return action -def shortcut_action(parent, text, shortcuts, function): +def shortcut_action(parent, text, shortcuts, function, category=None): """ Return a shortcut enabled action. """ - action = QtGui.QAction(text, parent) + action = base_action(parent, text, category) action.setShortcuts(shortcuts) action.setShortcutContext(QtCore.Qt.WidgetWithChildrenShortcut) QtCore.QObject.connect(action, QtCore.SIGNAL(u'triggered()'), function) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index ed06d3931..c37db0b97 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -39,7 +39,7 @@ from openlp.core.ui import AboutForm, SettingsForm, ServiceManager, \ ShortcutListForm, DisplayTagForm from openlp.core.utils import AppLocation, add_actions, LanguageManager, \ get_application_version -from openlp.core.utils.actions import actionList +#from openlp.core.utils.actions import actionList log = logging.getLogger(__name__) @@ -163,72 +163,60 @@ class Ui_MainWindow(object): self.themeManagerDock) # Create the menu items self.FileNewItem = icon_action(mainWindow, u'FileNewItem', - u':/general/general_new.png') - actionList.add_action(self.FileNewItem, u'File') + u':/general/general_new.png', category=u'File') self.FileOpenItem = icon_action(mainWindow, u'FileOpenItem', - u':/general/general_open.png') - actionList.add_action(self.FileOpenItem, u'File') + u':/general/general_open.png', category=u'File') self.FileSaveItem = icon_action(mainWindow, u'FileSaveItem', - u':/general/general_save.png') - actionList.add_action(self.FileSaveItem, u'File') - self.FileSaveAsItem = base_action(mainWindow, u'FileSaveAsItem') - actionList.add_action(self.FileSaveAsItem, u'File') + u':/general/general_save.png', category=u'File') + self.FileSaveAsItem = base_action( + mainWindow, u'FileSaveAsItem', u'File') self.printServiceOrderItem = base_action( - mainWindow, u'printServiceItem') - actionList.add_action(self.printServiceOrderItem, u'File') + mainWindow, u'printServiceItem', u'File') self.FileExitItem = icon_action(mainWindow, u'FileExitItem', - u':/system/system_exit.png') - actionList.add_action(self.FileExitItem, u'File') - self.ImportThemeItem = base_action(mainWindow, u'ImportThemeItem') - actionList.add_action(self.ImportThemeItem, u'Import') - self.ImportLanguageItem = base_action(mainWindow, u'ImportLanguageItem') - actionList.add_action(self.ImportLanguageItem, u'Import') - self.ExportThemeItem = base_action(mainWindow, u'ExportThemeItem') - actionList.add_action(self.ExportThemeItem, u'Export') - self.ExportLanguageItem = base_action(mainWindow, u'ExportLanguageItem') - actionList.add_action(self.ExportLanguageItem, u'Export') + u':/system/system_exit.png', category=u'File') + self.ImportThemeItem = base_action( + mainWindow, u'ImportThemeItem', u'Import') + self.ImportLanguageItem = base_action( + mainWindow, u'ImportLanguageItem', u'Import') + self.ExportThemeItem = base_action( + mainWindow, u'ExportThemeItem', u'Export') + self.ExportLanguageItem = base_action( + mainWindow, u'ExportLanguageItem', u'Export') self.ViewMediaManagerItem = icon_action(mainWindow, u'ViewMediaManagerItem', u':/system/system_mediamanager.png', - self.mediaManagerDock.isVisible()) + self.mediaManagerDock.isVisible(), u'View') self.ViewThemeManagerItem = icon_action(mainWindow, u'ViewThemeManagerItem', u':/system/system_thememanager.png', - self.themeManagerDock.isVisible()) - actionList.add_action(self.ViewMediaManagerItem, u'View') + self.themeManagerDock.isVisible(), u'View') self.ViewServiceManagerItem = icon_action(mainWindow, u'ViewServiceManagerItem', u':/system/system_servicemanager.png', - self.serviceManagerDock.isVisible()) - actionList.add_action(self.ViewServiceManagerItem, u'View') + self.serviceManagerDock.isVisible(), u'View') self.ViewPreviewPanel = checkable_action(mainWindow, - u'ViewPreviewPanel', previewVisible) - actionList.add_action(self.ViewPreviewPanel, u'View') - self.ViewLivePanel = checkable_action(mainWindow, u'ViewLivePanel', - liveVisible) - actionList.add_action(self.ViewLivePanel, u'View') - self.ModeDefaultItem = checkable_action(mainWindow, u'ModeDefaultItem') - actionList.add_action(self.ModeDefaultItem, u'View Mode') - self.ModeSetupItem = checkable_action(mainWindow, u'ModeLiveItem') - actionList.add_action(self.ModeSetupItem, u'View Mode') - self.ModeLiveItem = checkable_action(mainWindow, u'ModeLiveItem', True) - actionList.add_action(self.ModeLiveItem, u'View Mode') + u'ViewPreviewPanel', previewVisible, u'View') + self.ViewLivePanel = checkable_action( + mainWindow, u'ViewLivePanel', liveVisible, u'View') + self.ModeDefaultItem = checkable_action( + mainWindow, u'ModeDefaultItem', category=u'View Mode') + self.ModeSetupItem = checkable_action( + mainWindow, u'ModeLiveItem', category=u'View Mode') + self.ModeLiveItem = checkable_action( + mainWindow, u'ModeLiveItem', True, u'View Mode') self.ModeGroup = QtGui.QActionGroup(mainWindow) self.ModeGroup.addAction(self.ModeDefaultItem) self.ModeGroup.addAction(self.ModeSetupItem) self.ModeGroup.addAction(self.ModeLiveItem) self.ModeDefaultItem.setChecked(True) self.ToolsAddToolItem = icon_action(mainWindow, u'ToolsAddToolItem', - u':/tools/tools_add.png') - actionList.add_action(self.ToolsAddToolItem, u'Tools') - self.ToolsOpenDataFolder = icon_action(mainWindow, - u'ToolsOpenDataFolder', u':/general/general_open.png') - actionList.add_action(self.ToolsOpenDataFolder, u'Tools') + u':/tools/tools_add.png', category=u'Tools') + self.ToolsOpenDataFolder = icon_action(mainWindow, u'ToolsOpenDataFolder', + u':/general/general_open.png', category=u'Tools') self.settingsPluginListItem = icon_action(mainWindow, - u'settingsPluginListItem', u':/system/settings_plugin_list.png') - actionList.add_action(self.settingsPluginListItem, - u'Settings') + u'settingsPluginListItem', u':/system/settings_plugin_list.png', + category=u'Settings') # i18n Language Items self.AutoLanguageItem = checkable_action(mainWindow, u'AutoLanguageItem', LanguageManager.auto_language) - actionList.add_action(self.AutoLanguageItem, u'Settings') + #actionList.add_action(self.AutoLanguageItem, u'Settings') self.LanguageGroup = QtGui.QActionGroup(mainWindow) self.LanguageGroup.setExclusive(True) self.LanguageGroup.setObjectName(u'LanguageGroup') @@ -241,24 +229,22 @@ class Ui_MainWindow(object): add_actions(self.LanguageGroup, [languageItem]) self.SettingsShortcutsItem = icon_action(mainWindow, u'SettingsShortcutsItem', - u':/system/system_configure_shortcuts.png') + u':/system/system_configure_shortcuts.png', category=u'Settings') self.DisplayTagItem = icon_action(mainWindow, - u'DisplayTagItem', u':/system/tag_editor.png') + u'DisplayTagItem', u':/system/tag_editor.png', category=u'Settings') self.SettingsConfigureItem = icon_action(mainWindow, - u'SettingsConfigureItem', u':/system/system_settings.png') - actionList.add_action(self.SettingsShortcutsItem, - u'Settings') + u'SettingsConfigureItem', u':/system/system_settings.png', + category=u'Settings') self.HelpDocumentationItem = icon_action(mainWindow, - u'HelpDocumentationItem', u':/system/system_help_contents.png') + u'HelpDocumentationItem', u':/system/system_help_contents.png', + category=None)#u'Help') self.HelpDocumentationItem.setEnabled(False) - actionList.add_action(self.HelpDocumentationItem, u'Help') self.HelpAboutItem = icon_action(mainWindow, u'HelpAboutItem', - u':/system/system_about.png') - actionList.add_action(self.HelpAboutItem, u'Help') - self.HelpOnlineHelpItem = base_action(mainWindow, u'HelpOnlineHelpItem') - actionList.add_action(self.HelpOnlineHelpItem, u'Help') - self.helpWebSiteItem = base_action(mainWindow, u'helpWebSiteItem') - actionList.add_action(self.helpWebSiteItem, u'Help') + u':/system/system_about.png', category=None)#u'Help') + self.HelpOnlineHelpItem = base_action( + mainWindow, u'HelpOnlineHelpItem', category=u'Help') + self.helpWebSiteItem = base_action( + mainWindow, u'helpWebSiteItem', category=u'Help') add_actions(self.FileImportMenu, (self.ImportThemeItem, self.ImportLanguageItem)) add_actions(self.FileExportMenu, diff --git a/openlp/core/ui/shortcutlistform.py b/openlp/core/ui/shortcutlistform.py index a61dd41ed..071482f95 100644 --- a/openlp/core/ui/shortcutlistform.py +++ b/openlp/core/ui/shortcutlistform.py @@ -45,6 +45,7 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): #TODO: ability to remove actions #TODO: Save shortcuts #TODO: doc +#TODO: Fix Preview/Live controller (have the same shortcut) def __init__(self, parent=None): QtGui.QDialog.__init__(self, parent) self.setupUi(self) @@ -89,7 +90,7 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): # The dialog is opened the first time if self.treeWidget.topLevelItemCount() == 0: QtCore.QObject.connect(actionList.signal, - QtCore.SIGNAL(u'addedAction()'), self.initialiseActionList) + QtCore.SIGNAL(u'addedAction()'), self.asdf) self.initialiseActionList() self.refreshActionList() return QtGui.QDialog.exec_(self) @@ -125,6 +126,18 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): item.setExpanded(True) self.treeWidget.addTopLevelItem(item) + def asdf(self, action, category): + print action + for category in actionList.categories: + item = QtGui.QTreeWidgetItem([category.name]) + for action in category.actions: + actionItem = QtGui.QTreeWidgetItem() + actionItem.setIcon(0, action.icon()) + actionItem.setData(0, QtCore.Qt.UserRole, QtCore.QVariant(action)) + item.addChild(actionItem) + item.setExpanded(True) + self.treeWidget.addTopLevelItem(item) + def onShortcutButtonClicked(self, toggled): if toggled: return diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 1ae84e950..cafbec198 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -156,15 +156,15 @@ class SlideController(QtGui.QWidget): self.hideMenu.setMenu(QtGui.QMenu( translate('OpenLP.SlideController', 'Hide'), self.toolbar)) self.blankScreen = icon_action(self.hideMenu, u'Blank Screen', - u':/slides/slide_blank.png', False) + u':/slides/slide_blank.png', False, u'Live Toolbar') self.blankScreen.setText( translate('OpenLP.SlideController', 'Blank Screen')) self.themeScreen = icon_action(self.hideMenu, u'Blank Theme', - u':/slides/slide_theme.png', False) + u':/slides/slide_theme.png', False, u'Live Toolbar') self.themeScreen.setText( translate('OpenLP.SlideController', 'Blank to Theme')) self.desktopScreen = icon_action(self.hideMenu, u'Desktop Screen', - u':/slides/slide_desktop.png', False) + u':/slides/slide_desktop.png', False, u'Live Toolbar') self.desktopScreen.setText( translate('OpenLP.SlideController', 'Show Desktop')) self.hideMenu.setDefaultAction(self.blankScreen) @@ -364,30 +364,27 @@ class SlideController(QtGui.QWidget): def setPreviewHotkeys(self, parent=None): self.previousItem.setShortcuts([QtCore.Qt.Key_Up, 0]) - actionList.add_action(self.previousItem, u'Preview') + actionList.add_action(self.previousItem, u'Preview Toolbar') self.nextItem.setShortcuts([QtCore.Qt.Key_Down, 0]) - actionList.add_action(self.nextItem, u'Preview') + actionList.add_action(self.nextItem, u'Preview Toolbar') def setLiveHotkeys(self, parent=None): self.previousItem.setShortcuts([QtCore.Qt.Key_Up, QtCore.Qt.Key_PageUp]) self.previousItem.setShortcutContext( QtCore.Qt.WidgetWithChildrenShortcut) - actionList.add_action(self.previousItem, u'Live') + actionList.add_action(self.previousItem, u'Live Toolbar') self.nextItem.setShortcuts([QtCore.Qt.Key_Down, QtCore.Qt.Key_PageDown]) self.nextItem.setShortcutContext(QtCore.Qt.WidgetWithChildrenShortcut) - actionList.add_action(self.nextItem, u'Live') + actionList.add_action(self.nextItem, u'Live Toolbar') self.previousService = shortcut_action(parent, translate('OpenLP.SlideController', 'Previous Service'), - [QtCore.Qt.Key_Left, 0], self.servicePrevious) - actionList.add_action(self.previousService, u'Live') + [QtCore.Qt.Key_Left, 0], self.servicePrevious, u'Live Toolbar') self.nextService = shortcut_action(parent, translate('OpenLP.SlideController', 'Next Service'), - [QtCore.Qt.Key_Right, 0], self.serviceNext) - actionList.add_action(self.nextService, u'Live') + [QtCore.Qt.Key_Right, 0], self.serviceNext, u'Live Toolbar') self.escapeItem = shortcut_action(parent, translate('OpenLP.SlideController', 'Escape Item'), - [QtCore.Qt.Key_Escape, 0], self.liveEscape) - actionList.add_action(self.escapeItem, u'Live') + [QtCore.Qt.Key_Escape, 0], self.liveEscape, u'Live Toolbar') def liveEscape(self): self.display.setVisible(False) diff --git a/openlp/core/utils/__init__.py b/openlp/core/utils/__init__.py index 3c639297e..1bc7037ae 100644 --- a/openlp/core/utils/__init__.py +++ b/openlp/core/utils/__init__.py @@ -495,7 +495,7 @@ def get_uno_instance(resolver): from languagemanager import LanguageManager from actions import ActionList -__all__ = [u'AppLocation', u'check_latest_version', u'add_actions', - u'get_filesystem_encoding', u'LanguageManager', u'ActionList', - u'get_web_page', u'file_is_unicode', u'string_is_unicode', +__all__ = [u'AppLocation', u'get_application_version', u'check_latest_version', + u'add_actions', u'get_filesystem_encoding', u'LanguageManager', + u'ActionList', u'get_web_page', u'file_is_unicode', u'string_is_unicode', u'get_uno_command', u'get_uno_instance', u'delete_file'] diff --git a/openlp/core/utils/actions.py b/openlp/core/utils/actions.py index ba4a7b40d..b592c9a69 100644 --- a/openlp/core/utils/actions.py +++ b/openlp/core/utils/actions.py @@ -184,7 +184,7 @@ class ActionList(object): self.categories[category].actions.append(action) else: self.categories[category].actions.add(action, weight) - self.signal.emit(QtCore.SIGNAL(u'addedAction()')) + self.signal.emit(QtCore.SIGNAL(u'addedAction(QtGui.QAction, QString)'), action, QtCore.QString(category)) class Emit(QtCore.QObject): diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py index 2d22d2d5a..c397fb9c4 100644 --- a/openlp/plugins/alerts/alertsplugin.py +++ b/openlp/plugins/alerts/alertsplugin.py @@ -62,7 +62,6 @@ class AlertsPlugin(Plugin): log.info(u'add tools menu') self.toolsAlertItem = icon_action(tools_menu, u'toolsAlertItem', u':/plugins/plugin_alerts.png') - actionList.add_action(self.toolsAlertItem, u'Extra') self.toolsAlertItem.setText(translate('AlertsPlugin', '&Alert')) self.toolsAlertItem.setStatusTip( translate('AlertsPlugin', 'Show an alert message.')) @@ -76,6 +75,7 @@ class AlertsPlugin(Plugin): log.info(u'Alerts Initialising') Plugin.initialise(self) self.toolsAlertItem.setVisible(True) + actionList.add_action(self.toolsAlertItem, u'Tools') self.liveController.alertTab = self.settings_tab def finalise(self): @@ -86,6 +86,7 @@ class AlertsPlugin(Plugin): self.manager.finalise() Plugin.finalise(self) self.toolsAlertItem.setVisible(False) + #TODO: remove the action from the actionList def toggleAlertsState(self): self.alertsActive = not self.alertsActive From b9b0cbbe9c3492f3aa6403f09cea64631d789455 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Tue, 29 Mar 2011 21:52:21 +0200 Subject: [PATCH 04/71] removed things, as this did not work --- openlp/core/ui/mainwindow.py | 6 +-- openlp/core/ui/shortcutlistdialog.py | 2 + openlp/core/ui/shortcutlistform.py | 58 +++++++++++++++------------- openlp/core/utils/actions.py | 9 ----- openlp/plugins/songs/songsplugin.py | 14 +++---- 5 files changed, 43 insertions(+), 46 deletions(-) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index c37db0b97..cf58dedd8 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -177,11 +177,11 @@ class Ui_MainWindow(object): self.ImportThemeItem = base_action( mainWindow, u'ImportThemeItem', u'Import') self.ImportLanguageItem = base_action( - mainWindow, u'ImportLanguageItem', u'Import') + mainWindow, u'ImportLanguageItem')#, u'Import') self.ExportThemeItem = base_action( mainWindow, u'ExportThemeItem', u'Export') self.ExportLanguageItem = base_action( - mainWindow, u'ExportLanguageItem', u'Export') + mainWindow, u'ExportLanguageItem')#, u'Export') self.ViewMediaManagerItem = icon_action(mainWindow, u'ViewMediaManagerItem', u':/system/system_mediamanager.png', self.mediaManagerDock.isVisible(), u'View') @@ -240,7 +240,7 @@ class Ui_MainWindow(object): category=None)#u'Help') self.HelpDocumentationItem.setEnabled(False) self.HelpAboutItem = icon_action(mainWindow, u'HelpAboutItem', - u':/system/system_about.png', category=None)#u'Help') + u':/system/system_about.png', category=u'Help') self.HelpOnlineHelpItem = base_action( mainWindow, u'HelpOnlineHelpItem', category=u'Help') self.helpWebSiteItem = base_action( diff --git a/openlp/core/ui/shortcutlistdialog.py b/openlp/core/ui/shortcutlistdialog.py index 4e5b9e270..4e0d7d144 100644 --- a/openlp/core/ui/shortcutlistdialog.py +++ b/openlp/core/ui/shortcutlistdialog.py @@ -30,6 +30,7 @@ from openlp.core.lib import translate, build_icon class Ui_ShortcutListDialog(object): def setupUi(self, shortcutListDialog): + shortcutListDialog.resize(440, 450) shortcutListDialog.setObjectName(u'shortcutListDialog') self.dialogLayout = QtGui.QVBoxLayout(shortcutListDialog) self.dialogLayout.setObjectName(u'dialogLayout') @@ -52,6 +53,7 @@ class Ui_ShortcutListDialog(object): build_icon(u':/system/system_configure_shortcuts.png')) self.shortcutButton.setCheckable(True) self.shortcutButton.setObjectName(u'shortcutButton') + self.shortcutButton.setFixedSize(150, 30) self.customLayout.addWidget(self.shortcutButton) self.clearShortcutButton = QtGui.QToolButton(shortcutListDialog) self.clearShortcutButton.setIcon( diff --git a/openlp/core/ui/shortcutlistform.py b/openlp/core/ui/shortcutlistform.py index 83b5de84b..4d785cfc0 100644 --- a/openlp/core/ui/shortcutlistform.py +++ b/openlp/core/ui/shortcutlistform.py @@ -41,10 +41,7 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): """ The shortcut list dialog """ -#TODO: do not close on ESC -#TODO: ability to remove actions -#TODO: Save shortcuts -#TODO: doc +#TODO: do not close on ESC, ability to remove actions, save/load shortcuts, docs #TODO: Fix Preview/Live controller (have the same shortcut) def __init__(self, parent=None): QtGui.QDialog.__init__(self, parent) @@ -87,21 +84,17 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): self.shortcutButton.setChecked(False) def exec_(self): - # The dialog is opened the first time - if self.treeWidget.topLevelItemCount() == 0: - QtCore.QObject.connect(actionList.signal, - QtCore.SIGNAL(u'addedAction()'), self.initialiseActionList) - self.initialiseActionList() self.refreshActionList() return QtGui.QDialog.exec_(self) def refreshActionList(self): + # As refreshing does not work, the check does not work either. self.assingedShortcuts = [] - iterator = QtGui.QTreeWidgetItemIterator(self.treeWidget) - while iterator.value(): - treewidgetItem = iterator.value() - action = treewidgetItem.data(0, QtCore.Qt.UserRole).toPyObject() - if action is not None: + #self.treeWidget.clear() + for category in actionList.categories: + item = QtGui.QTreeWidgetItem([category.name]) + for action in category.actions: + self.assingedShortcuts.extend(action.shortcuts()) actionText = REMOVE_AMPERSAND.sub('', unicode(action.text())) if len(action.shortcuts()) == 2: shortcutText = action.shortcuts()[0].toString() @@ -109,19 +102,11 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): else: shortcutText = action.shortcut().toString() alternateText = u'' - self.assingedShortcuts.extend(action.shortcuts()) - treewidgetItem.setText(0, actionText) - treewidgetItem.setText(1, shortcutText) - treewidgetItem.setText(2, alternateText) - iterator += 1 - - def initialiseActionList(self): - for category in actionList.categories: - item = QtGui.QTreeWidgetItem([category.name]) - for action in category.actions: - actionItem = QtGui.QTreeWidgetItem() + actionItem = QtGui.QTreeWidgetItem( + [actionText, shortcutText, alternateText]) actionItem.setIcon(0, action.icon()) - actionItem.setData(0, QtCore.Qt.UserRole, QtCore.QVariant(action)) + actionItem.setData(0, + QtCore.Qt.UserRole, QtCore.QVariant(action)) item.addChild(actionItem) item.setExpanded(True) self.treeWidget.addTopLevelItem(item) @@ -135,13 +120,16 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): return # TODO: Sort out which shortcuts should be kept. action.setShortcuts(QtGui.QKeySequence(self.shortcutButton.text())) + item.setText(1, self.shortcutButton.text()) self.refreshActionList() def onItemPressed(self, item, column): item = self.treeWidget.currentItem() action = item.data(0, QtCore.Qt.UserRole).toPyObject() + self.shortcutButton.setEnabled(action is not None) if action is None: text = u'' + self.shortcutButton.setChecked(False) else: if len(action.shortcuts()) == 0: text = u'' @@ -150,3 +138,21 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): else: text = action.shortcuts()[0].toString() self.shortcutButton.setText(text) + + def saveShortcuts(self): + """ + Save the shortcuts. + """ + settings = QtCore.QSettings() + settings.beginGroup(u'shortcuts') + # TODO: Save shortcuts + settings.endGroup() + + def loadShortcuts(self): + """ + Load the shortcuts. + """ + settings = QtCore.QSettings() + settings.beginGroup(u'shortcuts') + # TODO: Load shortcuts + settings.endGroup() diff --git a/openlp/core/utils/actions.py b/openlp/core/utils/actions.py index ba4a7b40d..69aeb14b4 100644 --- a/openlp/core/utils/actions.py +++ b/openlp/core/utils/actions.py @@ -27,8 +27,6 @@ The :mod:`~openlp.core.utils.actions` module provides action list classes used by the shortcuts system. """ -from PyQt4 import QtCore - class ActionCategory(object): """ The :class:`~openlp.core.utils.ActionCategory` class encapsulates a @@ -175,7 +173,6 @@ class ActionList(object): """ def __init__(self): self.categories = CategoryList() - self.signal = Emit() def add_action(self, action, category=u'Default', weight=None): if category not in self.categories: @@ -184,11 +181,5 @@ class ActionList(object): self.categories[category].actions.append(action) else: self.categories[category].actions.add(action, weight) - self.signal.emit(QtCore.SIGNAL(u'addedAction()')) - - -class Emit(QtCore.QObject): - def __init__(self): - QtCore.QObject.__init__(self) actionList = ActionList() diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index 1260a832b..e1731bc01 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -33,7 +33,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 +from openlp.core.lib.ui import UiStrings, base_action, icon_action from openlp.plugins.songs.lib import clean_song, SongMediaItem, SongsTab from openlp.plugins.songs.lib.db import init_schema, Song from openlp.plugins.songs.lib.importer import SongFormat @@ -78,8 +78,8 @@ class SongsPlugin(Plugin): use it as their parent. """ # Main song import menu item - will eventually be the only one - self.SongImportItem = QtGui.QAction(import_menu) - self.SongImportItem.setObjectName(u'SongImportItem') + self.SongImportItem = base_action( + import_menu, u'SongImportItem', u'Import') self.SongImportItem.setText(translate( 'SongsPlugin', '&Song')) self.SongImportItem.setToolTip(translate('SongsPlugin', @@ -99,8 +99,7 @@ class SongsPlugin(Plugin): use it as their parent. """ # Main song import menu item - will eventually be the only one - self.SongExportItem = QtGui.QAction(export_menu) - self.SongExportItem.setObjectName(u'SongExportItem') + self.SongExportItem = base_action(export_menu, u'SongExportItem', u'Export') self.SongExportItem.setText(translate( 'SongsPlugin', '&Song')) self.SongExportItem.setToolTip(translate('SongsPlugin', @@ -120,9 +119,8 @@ class SongsPlugin(Plugin): use it as their parent. """ log.info(u'add tools menu') - self.toolsReindexItem = QtGui.QAction(tools_menu) - self.toolsReindexItem.setIcon(build_icon(u':/plugins/plugin_songs.png')) - self.toolsReindexItem.setObjectName(u'toolsReindexItem') + self.toolsReindexItem = icon_action(tools_menu, u'toolsReindexItem', + u':/plugins/plugin_songs.png', category=u'Tools') self.toolsReindexItem.setText( translate('SongsPlugin', '&Re-index Songs')) self.toolsReindexItem.setStatusTip( From e20fd7d85d62707d3b6e78858aaa0174fc0ccba4 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Tue, 29 Mar 2011 21:58:04 +0200 Subject: [PATCH 05/71] clean up --- openlp/core/ui/mainwindow.py | 2 -- openlp/core/ui/shortcutlistform.py | 6 ++++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index cf58dedd8..f4cec4ae7 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -39,7 +39,6 @@ from openlp.core.ui import AboutForm, SettingsForm, ServiceManager, \ ShortcutListForm, DisplayTagForm from openlp.core.utils import AppLocation, add_actions, LanguageManager, \ get_application_version -#from openlp.core.utils.actions import actionList log = logging.getLogger(__name__) @@ -216,7 +215,6 @@ class Ui_MainWindow(object): # i18n Language Items self.AutoLanguageItem = checkable_action(mainWindow, u'AutoLanguageItem', LanguageManager.auto_language) - #actionList.add_action(self.AutoLanguageItem, u'Settings') self.LanguageGroup = QtGui.QActionGroup(mainWindow) self.LanguageGroup.setExclusive(True) self.LanguageGroup.setObjectName(u'LanguageGroup') diff --git a/openlp/core/ui/shortcutlistform.py b/openlp/core/ui/shortcutlistform.py index 4d785cfc0..2dbb57f2d 100644 --- a/openlp/core/ui/shortcutlistform.py +++ b/openlp/core/ui/shortcutlistform.py @@ -41,8 +41,10 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): """ The shortcut list dialog """ -#TODO: do not close on ESC, ability to remove actions, save/load shortcuts, docs -#TODO: Fix Preview/Live controller (have the same shortcut) +#TODO: do not close on ESC, ability to remove actions (e. g. reindex tool) +#TODO: save/load shortcuts, docs +#TODO: Fix Preview/Live controller (have the same shortcut), make sure + def __init__(self, parent=None): QtGui.QDialog.__init__(self, parent) self.setupUi(self) From 9b939bb9624eca001999b65b87adcc9987ecf070 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Wed, 30 Mar 2011 12:12:39 +0200 Subject: [PATCH 06/71] fixed reloading --- openlp/core/ui/shortcutlistform.py | 5 ++--- openlp/core/utils/actions.py | 12 +++++++----- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/openlp/core/ui/shortcutlistform.py b/openlp/core/ui/shortcutlistform.py index 2dbb57f2d..b524c5d06 100644 --- a/openlp/core/ui/shortcutlistform.py +++ b/openlp/core/ui/shortcutlistform.py @@ -90,12 +90,11 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): return QtGui.QDialog.exec_(self) def refreshActionList(self): - # As refreshing does not work, the check does not work either. self.assingedShortcuts = [] - #self.treeWidget.clear() + self.treeWidget.clear() for category in actionList.categories: item = QtGui.QTreeWidgetItem([category.name]) - for action in category.actions: + for action, default in category.actions: self.assingedShortcuts.extend(action.shortcuts()) actionText = REMOVE_AMPERSAND.sub('', unicode(action.text())) if len(action.shortcuts()) == 2: diff --git a/openlp/core/utils/actions.py b/openlp/core/utils/actions.py index 69aeb14b4..cbfa3a488 100644 --- a/openlp/core/utils/actions.py +++ b/openlp/core/utils/actions.py @@ -27,9 +27,9 @@ The :mod:`~openlp.core.utils.actions` module provides action list classes used by the shortcuts system. """ -class ActionCategory(object): +class Category(object): """ - The :class:`~openlp.core.utils.ActionCategory` class encapsulates a + The :class:`~openlp.core.utils.Category` class encapsulates a category for the :class:`~openlp.core.utils.CategoryList` class. """ def __init__(self, name, weight=0): @@ -67,10 +67,11 @@ class CategoryActionList(object): Python 3 "next" method. """ if self.index >= len(self.actions): + self.index = 0 raise StopIteration else: self.index += 1 - return self.actions[self.index - 1][1] + return self.actions[self.index - 1][1:] def next(self): """ @@ -91,7 +92,7 @@ class CategoryActionList(object): self.add(name, weight) def add(self, action, weight=0): - self.actions.append((weight, action)) + self.actions.append((weight, action, action.shortcuts())) self.actions.sort(key=lambda act: act[0]) @@ -126,6 +127,7 @@ class CategoryList(object): Python 3 "next" method for iterator. """ if self.index >= len(self.categories): + self.index = 0 raise StopIteration else: self.index += 1 @@ -153,7 +155,7 @@ class CategoryList(object): self.add(name, weight) def add(self, name, weight=0, actions=None): - category = ActionCategory(name, weight) + category = Category(name, weight) if actions: for action in actions: if isinstance(action, tuple): From fe92842c6b656610190791221b99c87d31898f1a Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Wed, 30 Mar 2011 12:27:27 +0200 Subject: [PATCH 07/71] added ability to remove actions --- openlp/core/ui/shortcutlistform.py | 4 ++-- openlp/core/utils/actions.py | 17 ++++++++++++++--- openlp/plugins/alerts/alertsplugin.py | 2 +- openlp/plugins/songs/songsplugin.py | 14 ++++++++++---- 4 files changed, 27 insertions(+), 10 deletions(-) diff --git a/openlp/core/ui/shortcutlistform.py b/openlp/core/ui/shortcutlistform.py index b524c5d06..fd5a53813 100644 --- a/openlp/core/ui/shortcutlistform.py +++ b/openlp/core/ui/shortcutlistform.py @@ -41,7 +41,7 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): """ The shortcut list dialog """ -#TODO: do not close on ESC, ability to remove actions (e. g. reindex tool) +#TODO: do not close on ESC #TODO: save/load shortcuts, docs #TODO: Fix Preview/Live controller (have the same shortcut), make sure @@ -94,7 +94,7 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): self.treeWidget.clear() for category in actionList.categories: item = QtGui.QTreeWidgetItem([category.name]) - for action, default in category.actions: + for action in category.actions: self.assingedShortcuts.extend(action.shortcuts()) actionText = REMOVE_AMPERSAND.sub('', unicode(action.text())) if len(action.shortcuts()) == 2: diff --git a/openlp/core/utils/actions.py b/openlp/core/utils/actions.py index cbfa3a488..8887a7e30 100644 --- a/openlp/core/utils/actions.py +++ b/openlp/core/utils/actions.py @@ -71,7 +71,7 @@ class CategoryActionList(object): raise StopIteration else: self.index += 1 - return self.actions[self.index - 1][1:] + return self.actions[self.index - 1][1] def next(self): """ @@ -92,9 +92,15 @@ class CategoryActionList(object): self.add(name, weight) def add(self, action, weight=0): - self.actions.append((weight, action, action.shortcuts())) + self.actions.append((weight, action)) self.actions.sort(key=lambda act: act[0]) + def remove(self, remove_action): + for action in self.actions: + if action[1] == remove_action: + self.actions.remove(action) + return + class CategoryList(object): """ @@ -176,7 +182,7 @@ class ActionList(object): def __init__(self): self.categories = CategoryList() - def add_action(self, action, category=u'Default', weight=None): + def add_action(self, action, category, weight=None): if category not in self.categories: self.categories.append(category) if weight is None: @@ -184,4 +190,9 @@ class ActionList(object): else: self.categories[category].actions.add(action, weight) + def remove_action(self, action, category): + if category not in self.categories: + return + self.categories[category].actions.remove(action) + actionList = ActionList() diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py index c397fb9c4..a10d56a20 100644 --- a/openlp/plugins/alerts/alertsplugin.py +++ b/openlp/plugins/alerts/alertsplugin.py @@ -86,7 +86,7 @@ class AlertsPlugin(Plugin): self.manager.finalise() Plugin.finalise(self) self.toolsAlertItem.setVisible(False) - #TODO: remove the action from the actionList + actionList.remove_action(self.toolsAlertItem, u'Tools') def toggleAlertsState(self): self.alertsActive = not self.alertsActive diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index e1731bc01..e5ce25906 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -34,6 +34,7 @@ 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.utils.actions import actionList from openlp.plugins.songs.lib import clean_song, SongMediaItem, SongsTab from openlp.plugins.songs.lib.db import init_schema, Song from openlp.plugins.songs.lib.importer import SongFormat @@ -65,6 +66,9 @@ class SongsPlugin(Plugin): log.info(u'Songs Initialising') Plugin.initialise(self) self.toolsReindexItem.setVisible(True) + actionList.add_action(self.SongImportItem, u'Import') + actionList.add_action(self.SongExportItem, u'Export') + actionList.add_action(self.toolsReindexItem, u'Tools') self.mediaItem.displayResultsSong( self.manager.get_all_objects(Song, order_by_ref=Song.search_title)) @@ -78,8 +82,7 @@ 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', u'Import') + self.SongImportItem = base_action(import_menu, u'SongImportItem') self.SongImportItem.setText(translate( 'SongsPlugin', '&Song')) self.SongImportItem.setToolTip(translate('SongsPlugin', @@ -99,7 +102,7 @@ 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', u'Export') + self.SongExportItem = base_action(export_menu, u'SongExportItem') self.SongExportItem.setText(translate( 'SongsPlugin', '&Song')) self.SongExportItem.setToolTip(translate('SongsPlugin', @@ -120,7 +123,7 @@ class SongsPlugin(Plugin): """ log.info(u'add tools menu') self.toolsReindexItem = icon_action(tools_menu, u'toolsReindexItem', - u':/plugins/plugin_songs.png', category=u'Tools') + u':/plugins/plugin_songs.png') self.toolsReindexItem.setText( translate('SongsPlugin', '&Re-index Songs')) self.toolsReindexItem.setStatusTip( @@ -257,4 +260,7 @@ class SongsPlugin(Plugin): log.info(u'Songs Finalising') self.manager.finalise() self.toolsReindexItem.setVisible(False) + actionList.remove_action(self.SongImportItem, u'Import') + actionList.remove_action(self.SongExportItem, u'Export') + actionList.remove_action(self.toolsReindexItem, u'Tools') Plugin.finalise(self) From 5ef0cc12c09cf523b8fa3563d41fc9f3261e692a Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Wed, 30 Mar 2011 18:34:40 +0200 Subject: [PATCH 08/71] started working on saving/loading shortcuts --- openlp/core/ui/mainwindow.py | 3 +- openlp/core/ui/shortcutlistdialog.py | 11 ------ openlp/core/ui/shortcutlistform.py | 55 ++++++++++++++++++++-------- openlp/core/utils/actions.py | 7 ++-- 4 files changed, 45 insertions(+), 31 deletions(-) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index f4cec4ae7..d0f6338e3 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -761,7 +761,8 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): """ Show the shortcuts dialog """ - self.shortcutForm.exec_() + if self.shortcutForm.exec_(): + self.shortcutForm.saveShortcuts() def onModeDefaultItemClicked(self): """ diff --git a/openlp/core/ui/shortcutlistdialog.py b/openlp/core/ui/shortcutlistdialog.py index 4e0d7d144..467fb0534 100644 --- a/openlp/core/ui/shortcutlistdialog.py +++ b/openlp/core/ui/shortcutlistdialog.py @@ -39,15 +39,8 @@ class Ui_ShortcutListDialog(object): self.treeWidget.setObjectName(u'treeWidget') self.treeWidget.setColumnCount(3) self.dialogLayout.addWidget(self.treeWidget) - self.defaultButton = QtGui.QRadioButton(shortcutListDialog) - self.defaultButton.setChecked(True) - self.defaultButton.setObjectName(u'defaultButton') - self.dialogLayout.addWidget(self.defaultButton) self.customLayout = QtGui.QHBoxLayout() self.customLayout.setObjectName(u'customLayout') - self.customButton = QtGui.QRadioButton(shortcutListDialog) - self.customButton.setObjectName(u'customButton') - self.customLayout.addWidget(self.customButton) self.shortcutButton = QtGui.QPushButton(shortcutListDialog) self.shortcutButton.setIcon( build_icon(u':/system/system_configure_shortcuts.png')) @@ -82,9 +75,5 @@ class Ui_ShortcutListDialog(object): translate('OpenLP.ShortcutListDialog', 'Action'), translate('OpenLP.ShortcutListDialog', 'Shortcut'), translate('OpenLP.ShortcutListDialog', 'Alternate')]) - self.defaultButton.setText( - translate('OpenLP.ShortcutListDialog', 'Default: %s')) - self.customButton.setText( - translate('OpenLP.ShortcutListDialog', 'Custom:')) self.shortcutButton.setText( translate('OpenLP.ShortcutListDialog', 'None')) diff --git a/openlp/core/ui/shortcutlistform.py b/openlp/core/ui/shortcutlistform.py index fd5a53813..127569f24 100644 --- a/openlp/core/ui/shortcutlistform.py +++ b/openlp/core/ui/shortcutlistform.py @@ -49,6 +49,7 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): QtGui.QDialog.__init__(self, parent) self.setupUi(self) self.assingedShortcuts = [] + self.column = -1 self.shortcutButton.setText(u'') QtCore.QObject.connect(self.shortcutButton, QtCore.SIGNAL(u'toggled(bool)'), self.onShortcutButtonClicked) @@ -119,25 +120,40 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): action = item.data(0, QtCore.Qt.UserRole).toPyObject() if action is None: return - # TODO: Sort out which shortcuts should be kept. - action.setShortcuts(QtGui.QKeySequence(self.shortcutButton.text())) - item.setText(1, self.shortcutButton.text()) - self.refreshActionList() + shortcuts = [] + if self.column == 1: + # We are changing the primary shortcut. + shortcuts.append(QtGui.QKeySequence(self.shortcutButton.text())) + if len(action.shortcuts()) == 2: + shortcuts.append(action.shortcuts()[1]) + else: + shortcuts.append(0) + item.setText(1, self.shortcutButton.text()) + elif self.column == 2: + # We are changing the secondary shortcut. + if len(action.shortcuts()) == 1: + shortcuts.append(action.shortcuts()[0]) + else: + shortcuts.append(0) + shortcuts.append(QtGui.QKeySequence(self.shortcutButton.text())) + item.setText(2, self.shortcutButton.text()) + else: + return + action.setShortcuts(shortcuts) def onItemPressed(self, item, column): + self.column = column item = self.treeWidget.currentItem() action = item.data(0, QtCore.Qt.UserRole).toPyObject() - self.shortcutButton.setEnabled(action is not None) - if action is None: - text = u'' - self.shortcutButton.setChecked(False) - else: - if len(action.shortcuts()) == 0: - text = u'' - elif len(action.shortcuts()) == 2 and column == 2: - text = action.shortcuts()[1].toString() - else: - text = action.shortcuts()[0].toString() + self.shortcutButton.setEnabled(True) + text = u'' + if action is None or column not in [1, 2] or \ + len(action.shortcuts()) == 0: + self.shortcutButton.setEnabled(False) + elif column == 1: + text = action.shortcuts()[0].toString() + elif len(action.shortcuts()) == 2: + text = action.shortcuts()[1].toString() self.shortcutButton.setText(text) def saveShortcuts(self): @@ -146,7 +162,12 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): """ settings = QtCore.QSettings() settings.beginGroup(u'shortcuts') - # TODO: Save shortcuts + for category in actionList.categories: + break + for action in category.actions: + if action.defaultShortcuts != action.shortcuts(): + settings.setValue(action.text(), + QtCore.QVariant(action.shortcuts())) settings.endGroup() def loadShortcuts(self): @@ -155,5 +176,7 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): """ settings = QtCore.QSettings() settings.beginGroup(u'shortcuts') + for shortcut in settings.allKeys(): + pass # TODO: Load shortcuts settings.endGroup() diff --git a/openlp/core/utils/actions.py b/openlp/core/utils/actions.py index 8887a7e30..d94ee1511 100644 --- a/openlp/core/utils/actions.py +++ b/openlp/core/utils/actions.py @@ -27,9 +27,9 @@ The :mod:`~openlp.core.utils.actions` module provides action list classes used by the shortcuts system. """ -class Category(object): +class ActionCategory(object): """ - The :class:`~openlp.core.utils.Category` class encapsulates a + The :class:`~openlp.core.utils.ActionCategory` class encapsulates a category for the :class:`~openlp.core.utils.CategoryList` class. """ def __init__(self, name, weight=0): @@ -161,7 +161,7 @@ class CategoryList(object): self.add(name, weight) def add(self, name, weight=0, actions=None): - category = Category(name, weight) + category = ActionCategory(name, weight) if actions: for action in actions: if isinstance(action, tuple): @@ -185,6 +185,7 @@ class ActionList(object): def add_action(self, action, category, weight=None): if category not in self.categories: self.categories.append(category) + action.defaultShortcuts = action.shortcuts() if weight is None: self.categories[category].actions.append(action) else: From 772bd8eb66daa57a0c9b8759cbad4b11e22f9282 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Wed, 30 Mar 2011 19:50:36 +0200 Subject: [PATCH 09/71] basic saving and loading of shortcuts --- openlp/core/ui/mainwindow.py | 2 +- openlp/core/ui/shortcutlistform.py | 33 +++++++++--------------------- openlp/core/utils/actions.py | 12 +++++++++++ 3 files changed, 23 insertions(+), 24 deletions(-) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index d0f6338e3..1fdf0fd76 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -762,7 +762,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): Show the shortcuts dialog """ if self.shortcutForm.exec_(): - self.shortcutForm.saveShortcuts() + self.shortcutForm.save() def onModeDefaultItemClicked(self): """ diff --git a/openlp/core/ui/shortcutlistform.py b/openlp/core/ui/shortcutlistform.py index 127569f24..15c6c53e5 100644 --- a/openlp/core/ui/shortcutlistform.py +++ b/openlp/core/ui/shortcutlistform.py @@ -87,10 +87,10 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): self.shortcutButton.setChecked(False) def exec_(self): - self.refreshActionList() + self.reloadActionList() return QtGui.QDialog.exec_(self) - def refreshActionList(self): + def reloadActionList(self): self.assingedShortcuts = [] self.treeWidget.clear() for category in actionList.categories: @@ -147,36 +147,23 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): action = item.data(0, QtCore.Qt.UserRole).toPyObject() self.shortcutButton.setEnabled(True) text = u'' - if action is None or column not in [1, 2] or \ - len(action.shortcuts()) == 0: + if action is None or column not in [1, 2]: self.shortcutButton.setEnabled(False) - elif column == 1: + elif column == 1 and len(action.shortcuts()) != 0: text = action.shortcuts()[0].toString() - elif len(action.shortcuts()) == 2: + elif len(action.shortcuts()) == 2 and len(action.shortcuts()) != 0: text = action.shortcuts()[1].toString() self.shortcutButton.setText(text) - def saveShortcuts(self): + def save(self): """ - Save the shortcuts. + Save the shortcuts. **Note**, that we do not have to load the shortcuts, + as they are loaded in :class:`~openlp.core.utils.ActionList`. """ settings = QtCore.QSettings() settings.beginGroup(u'shortcuts') for category in actionList.categories: - break for action in category.actions: - if action.defaultShortcuts != action.shortcuts(): - settings.setValue(action.text(), - QtCore.QVariant(action.shortcuts())) - settings.endGroup() - - def loadShortcuts(self): - """ - Load the shortcuts. - """ - settings = QtCore.QSettings() - settings.beginGroup(u'shortcuts') - for shortcut in settings.allKeys(): - pass - # TODO: Load shortcuts + settings.setValue( + action.objectName(), QtCore.QVariant(action.shortcuts())) settings.endGroup() diff --git a/openlp/core/utils/actions.py b/openlp/core/utils/actions.py index d94ee1511..6b7df6817 100644 --- a/openlp/core/utils/actions.py +++ b/openlp/core/utils/actions.py @@ -27,6 +27,10 @@ The :mod:`~openlp.core.utils.actions` module provides action list classes used by the shortcuts system. """ +from PyQt4 import QtCore, QtGui + +from openlp.core.lib import translate + class ActionCategory(object): """ The :class:`~openlp.core.utils.ActionCategory` class encapsulates a @@ -190,6 +194,14 @@ class ActionList(object): self.categories[category].actions.append(action) else: self.categories[category].actions.add(action, weight) + # Load the shortcut from the config. + settings = QtCore.QSettings() + settings.beginGroup(u'shortcuts') + shortcuts = settings.value(action.objectName(), + QtCore.QVariant(action.shortcuts())).toStringList() + action.setShortcuts( + [QtGui.QKeySequence(shortcut) for shortcut in shortcuts]) + settings.endGroup() def remove_action(self, action, category): if category not in self.categories: From bf2a9d338b25dbce73ed0c3f4ec2a2724e9a2b96 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Wed, 30 Mar 2011 20:12:05 +0200 Subject: [PATCH 10/71] clean up --- openlp/core/lib/ui.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/openlp/core/lib/ui.py b/openlp/core/lib/ui.py index 86def01d8..44bf7c0dd 100644 --- a/openlp/core/lib/ui.py +++ b/openlp/core/lib/ui.py @@ -242,6 +242,11 @@ def create_up_down_push_button_set(parent): def base_action(parent, name, category=None): """ Return the most basic action with the object name set. + + ``category`` + The category the action should be listed in the shortcut dialog. If you + not wish, that this action is added to the shortcut dialog, then do not + state any. """ action = QtGui.QAction(parent) action.setObjectName(name) @@ -262,11 +267,6 @@ def checkable_action(parent, name, checked=None, category=None): def icon_action(parent, name, icon, checked=None, category=None): """ Return a standard action with an icon. - - ``category`` - The category the action should be listed in the shortcut dialog. If you - not wish, that this action is added to the shortcut dialog, then do not - state any. """ if checked is not None: action = checkable_action(parent, name, checked, category) From fb78350a44f421e3bb8b4b3184e51eeb2194fc61 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Wed, 30 Mar 2011 20:27:33 +0200 Subject: [PATCH 11/71] added bible actions --- openlp/plugins/bibles/bibleplugin.py | 16 +++++++++------- openlp/plugins/songs/songsplugin.py | 6 ++---- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/openlp/plugins/bibles/bibleplugin.py b/openlp/plugins/bibles/bibleplugin.py index 4f677f211..86d751e9a 100644 --- a/openlp/plugins/bibles/bibleplugin.py +++ b/openlp/plugins/bibles/bibleplugin.py @@ -29,6 +29,8 @@ 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 +from openlp.core.utils.actions import actionList from openlp.plugins.bibles.lib import BibleManager, BiblesTab, BibleMediaItem log = logging.getLogger(__name__) @@ -50,6 +52,9 @@ class BiblePlugin(Plugin): self.manager = BibleManager(self) Plugin.initialise(self) self.importBibleItem.setVisible(True) + actionList.add_action(self.importBibleItem, u'Import') + # Do not add the action to the list yet. + #actionList.add_action(self.exportBibleItem, u'Export') # Set to invisible until we can export bibles self.exportBibleItem.setVisible(False) @@ -64,21 +69,18 @@ class BiblePlugin(Plugin): self.exportBibleItem.setVisible(False) def addImportMenuItem(self, import_menu): - self.importBibleItem = QtGui.QAction(import_menu) - self.importBibleItem.setObjectName(u'importBibleItem') + self.importBibleItem = base_action(import_menu, u'importBibleItem') + self.importBibleItem.setText(translate('BiblesPlugin', '&Bible')) import_menu.addAction(self.importBibleItem) - self.importBibleItem.setText( - translate('BiblesPlugin', '&Bible')) # 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 = QtGui.QAction(export_menu) - self.exportBibleItem.setObjectName(u'exportBibleItem') - export_menu.addAction(self.exportBibleItem) + self.exportBibleItem = base_action(export_menu, u'exportBibleItem') self.exportBibleItem.setText(translate('BiblesPlugin', '&Bible')) + export_menu.addAction(self.exportBibleItem) self.exportBibleItem.setVisible(False) def onBibleImportClick(self): diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index e5ce25906..12462428e 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -83,8 +83,7 @@ class SongsPlugin(Plugin): """ # 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.setText(translate('SongsPlugin', '&Song')) self.SongImportItem.setToolTip(translate('SongsPlugin', 'Import songs using the import wizard.')) import_menu.addAction(self.SongImportItem) @@ -103,8 +102,7 @@ class SongsPlugin(Plugin): """ # 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.setText(translate('SongsPlugin', '&Song')) self.SongExportItem.setToolTip(translate('SongsPlugin', 'Exports songs using the export wizard.')) export_menu.addAction(self.SongExportItem) From bba2f2c604245e959dd27d336950624e095454e9 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Wed, 30 Mar 2011 20:52:21 +0200 Subject: [PATCH 12/71] docs --- openlp/core/ui/shortcutlistform.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/openlp/core/ui/shortcutlistform.py b/openlp/core/ui/shortcutlistform.py index 15c6c53e5..97d21bebf 100644 --- a/openlp/core/ui/shortcutlistform.py +++ b/openlp/core/ui/shortcutlistform.py @@ -42,9 +42,9 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): The shortcut list dialog """ #TODO: do not close on ESC -#TODO: save/load shortcuts, docs -#TODO: Fix Preview/Live controller (have the same shortcut), make sure - +#TODO: Fix Preview/Live controller (have the same shortcut) +#TODO: double click event +#TODO: refresh self.assingedShortcuts def __init__(self, parent=None): QtGui.QDialog.__init__(self, parent) self.setupUi(self) @@ -91,6 +91,9 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): return QtGui.QDialog.exec_(self) def reloadActionList(self): + """ + Reload the ``treeWidget`` list to add new and remove old actions. + """ self.assingedShortcuts = [] self.treeWidget.clear() for category in actionList.categories: @@ -114,6 +117,9 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): self.treeWidget.addTopLevelItem(item) def onShortcutButtonClicked(self, toggled): + """ + Save the new shortcut to the action if the button is unchanged. + """ if toggled: return item = self.treeWidget.currentItem() @@ -142,6 +148,10 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): action.setShortcuts(shortcuts) def onItemPressed(self, item, column): + """ + A item has been pressed. We adjust the button's text to the action's + shortcut which is encapsulate in the item. + """ self.column = column item = self.treeWidget.currentItem() action = item.data(0, QtCore.Qt.UserRole).toPyObject() From c1d77e07a8a54b826b268081cafdd6b88ccfda5d Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Wed, 30 Mar 2011 22:13:07 +0200 Subject: [PATCH 13/71] reverted changes + r1439 --- documentation/manual/make.bat | 224 ++++++++--------- documentation/manual/source/conf.py | 29 ++- documentation/manual/source/index.rst | 3 +- .../manual/source/pics/mediamanager.png | Bin 106187 -> 59844 bytes documentation/manual/source/pics/plugins.png | Bin 29895 -> 36846 bytes openlp.pyw | 3 +- openlp/core/lib/htmlbuilder.py | 7 +- openlp/core/lib/serviceitem.py | 24 +- openlp/core/ui/aboutdialog.py | 2 +- openlp/core/ui/exceptionform.py | 3 +- openlp/core/ui/mainwindow.py | 14 +- openlp/core/ui/printserviceform.py | 4 +- openlp/core/utils/languagemanager.py | 2 +- openlp/plugins/songs/lib/cclifileimport.py | 127 +++++----- resources/i18n/hu.ts | 232 +++++++++--------- resources/osx/build.py | 5 +- resources/osx/openlp.cfg | 1 - 17 files changed, 348 insertions(+), 332 deletions(-) diff --git a/documentation/manual/make.bat b/documentation/manual/make.bat index 8d21b45ce..20bff1ee7 100644 --- a/documentation/manual/make.bat +++ b/documentation/manual/make.bat @@ -1,112 +1,112 @@ -@ECHO OFF - -REM Command file for Sphinx documentation - -set SPHINXBUILD=sphinx-build -set ALLSPHINXOPTS=-d build/doctrees %SPHINXOPTS% source -if NOT "%PAPER%" == "" ( - set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% -) - -if "%1" == "" goto help - -if "%1" == "help" ( - :help - echo.Please use `make ^` where ^ is one of - echo. html to make standalone HTML files - echo. dirhtml to make HTML files named index.html in directories - echo. pickle to make pickle files - echo. json to make JSON files - echo. htmlhelp to make HTML files and a HTML help project - echo. qthelp to make HTML files and a qthelp project - echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter - echo. changes to make an overview over all changed/added/deprecated items - echo. linkcheck to check all external links for integrity - echo. doctest to run all doctests embedded in the documentation if enabled - goto end -) - -if "%1" == "clean" ( - for /d %%i in (build\*) do rmdir /q /s %%i - del /q /s build\* - goto end -) - -if "%1" == "html" ( - %SPHINXBUILD% -b html %ALLSPHINXOPTS% build/html - echo. - echo.Build finished. The HTML pages are in build/html. - goto end -) - -if "%1" == "dirhtml" ( - %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% build/dirhtml - echo. - echo.Build finished. The HTML pages are in build/dirhtml. - goto end -) - -if "%1" == "pickle" ( - %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% build/pickle - echo. - echo.Build finished; now you can process the pickle files. - goto end -) - -if "%1" == "json" ( - %SPHINXBUILD% -b json %ALLSPHINXOPTS% build/json - echo. - echo.Build finished; now you can process the JSON files. - goto end -) - -if "%1" == "htmlhelp" ( - %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% build/htmlhelp - echo. - echo.Build finished; now you can run HTML Help Workshop with the ^ -.hhp project file in build/htmlhelp. - goto end -) - -if "%1" == "qthelp" ( - %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% build/qthelp - echo. - echo.Build finished; now you can run "qcollectiongenerator" with the ^ -.qhcp project file in build/qthelp, like this: - echo.^> qcollectiongenerator build\qthelp\OpenLP.qhcp - echo.To view the help file: - echo.^> assistant -collectionFile build\qthelp\OpenLP.ghc - goto end -) - -if "%1" == "latex" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% build/latex - echo. - echo.Build finished; the LaTeX files are in build/latex. - goto end -) - -if "%1" == "changes" ( - %SPHINXBUILD% -b changes %ALLSPHINXOPTS% build/changes - echo. - echo.The overview file is in build/changes. - goto end -) - -if "%1" == "linkcheck" ( - %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% build/linkcheck - echo. - echo.Link check complete; look for any errors in the above output ^ -or in build/linkcheck/output.txt. - goto end -) - -if "%1" == "doctest" ( - %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% build/doctest - echo. - echo.Testing of doctests in the sources finished, look at the ^ -results in build/doctest/output.txt. - goto end -) - -:end +@ECHO OFF + +REM Command file for Sphinx documentation + +set SPHINXBUILD=sphinx-build +set ALLSPHINXOPTS=-d build/doctrees %SPHINXOPTS% source +if NOT "%PAPER%" == "" ( + set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% +) + +if "%1" == "" goto help + +if "%1" == "help" ( + :help + echo.Please use `make ^` where ^ is one of + echo. html to make standalone HTML files + echo. dirhtml to make HTML files named index.html in directories + echo. pickle to make pickle files + echo. json to make JSON files + echo. htmlhelp to make HTML files and a HTML help project + echo. qthelp to make HTML files and a qthelp project + echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter + echo. changes to make an overview over all changed/added/deprecated items + echo. linkcheck to check all external links for integrity + echo. doctest to run all doctests embedded in the documentation if enabled + goto end +) + +if "%1" == "clean" ( + for /d %%i in (build\*) do rmdir /q /s %%i + del /q /s build\* + goto end +) + +if "%1" == "html" ( + %SPHINXBUILD% -b html %ALLSPHINXOPTS% build/html + echo. + echo.Build finished. The HTML pages are in build/html. + goto end +) + +if "%1" == "dirhtml" ( + %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% build/dirhtml + echo. + echo.Build finished. The HTML pages are in build/dirhtml. + goto end +) + +if "%1" == "pickle" ( + %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% build/pickle + echo. + echo.Build finished; now you can process the pickle files. + goto end +) + +if "%1" == "json" ( + %SPHINXBUILD% -b json %ALLSPHINXOPTS% build/json + echo. + echo.Build finished; now you can process the JSON files. + goto end +) + +if "%1" == "htmlhelp" ( + %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% build/htmlhelp + echo. + echo.Build finished; now you can run HTML Help Workshop with the ^ +.hhp project file in build/htmlhelp. + goto end +) + +if "%1" == "qthelp" ( + %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% build/qthelp + echo. + echo.Build finished; now you can run "qcollectiongenerator" with the ^ +.qhcp project file in build/qthelp, like this: + echo.^> qcollectiongenerator build\qthelp\OpenLP.qhcp + echo.To view the help file: + echo.^> assistant -collectionFile build\qthelp\OpenLP.ghc + goto end +) + +if "%1" == "latex" ( + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% build/latex + echo. + echo.Build finished; the LaTeX files are in build/latex. + goto end +) + +if "%1" == "changes" ( + %SPHINXBUILD% -b changes %ALLSPHINXOPTS% build/changes + echo. + echo.The overview file is in build/changes. + goto end +) + +if "%1" == "linkcheck" ( + %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% build/linkcheck + echo. + echo.Link check complete; look for any errors in the above output ^ +or in build/linkcheck/output.txt. + goto end +) + +if "%1" == "doctest" ( + %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% build/doctest + echo. + echo.Testing of doctests in the sources finished, look at the ^ +results in build/doctest/output.txt. + goto end +) + +:end diff --git a/documentation/manual/source/conf.py b/documentation/manual/source/conf.py index 6e9285aed..2e9c0a88f 100644 --- a/documentation/manual/source/conf.py +++ b/documentation/manual/source/conf.py @@ -42,7 +42,7 @@ master_doc = 'index' # General information about the project. project = u'OpenLP' -copyright = u'2010, Raoul Snyman' +copyright = u'2004 - 2011, Raoul Snyman' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the @@ -92,19 +92,30 @@ pygments_style = 'sphinx' # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. -html_theme = 'default' +if sys.argv[2] == 'qthelp' or sys.argv[2] == 'htmlhelp': + html_theme = 'openlp_qthelp' +else: + html_theme = 'default' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. -#html_theme_options = {} +if sys.argv[2] == 'html': + html_theme_options = { + 'sidebarbgcolor': '#3a60a9', + 'relbarbgcolor': '#203b6f', + 'footerbgcolor': '#26437c', + 'headtextcolor': '#203b6f', + 'linkcolor': '#26437c', + 'sidebarlinkcolor': '#ceceff' + } # Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] +html_theme_path = [os.path.join(os.path.abspath('..'), 'themes')] # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". -#html_title = None +html_title = u'OpenLP 2.0 Reference Manual' # A shorter title for the navigation bar. Default is the same as html_title. #html_short_title = None @@ -125,7 +136,7 @@ html_static_path = ['_static'] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' +html_last_updated_fmt = '%b %d, %Y' # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. @@ -165,7 +176,7 @@ html_static_path = ['_static'] #html_file_suffix = None # Output file base name for HTML help builder. -htmlhelp_basename = 'OpenLPdoc' +htmlhelp_basename = 'OpenLP' # -- Options for LaTeX output -------------------------------------------------- @@ -179,7 +190,7 @@ htmlhelp_basename = 'OpenLPdoc' # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, documentclass [howto/manual]). latex_documents = [ - ('index', 'OpenLP.tex', u'OpenLP Documentation', + ('index', 'OpenLP.tex', u'OpenLP Reference Manual', u'Wesley Stout', 'manual'), ] @@ -212,6 +223,6 @@ latex_documents = [ # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ - ('index', 'openlp', u'OpenLP Documentation', + ('index', 'openlp', u'OpenLP Reference Manual', [u'Wesley Stout'], 1) ] diff --git a/documentation/manual/source/index.rst b/documentation/manual/source/index.rst index 6e8753f9f..6b3142384 100644 --- a/documentation/manual/source/index.rst +++ b/documentation/manual/source/index.rst @@ -18,4 +18,5 @@ Contents: bibles themes mediamanager - songs \ No newline at end of file + songs + troubleshooting diff --git a/documentation/manual/source/pics/mediamanager.png b/documentation/manual/source/pics/mediamanager.png index 245f2469bf773b56d86e4742341f8855995c0a6b..183e0defbaa4203857bd764f5e387c2f7f0808de 100644 GIT binary patch literal 59844 zcmb@u1yq({+bxKKf*_y>A}vaXNJxi*lF}W5bfZ@Xy=UGa?v(tS9QpbPfGR{KQW}AA5HwuJ)DdOet!En?;G|JO*H79 z`=L_#Jx8Ufqani1I3W(9Aj0B*o^fJZRdR9h(qctsHw+Ca;bgPCa7oX0)j@CfxRkk+ ztMBXE=Z{d3?z;cihd)ihX$gn>*QiJyLYP&x4L`9kWC%H&g@4NYLc05|JX71Ak`nbj z|NV>?Zn|H?z9W9cAZij37pccIgP+*=9Z9RWb7d^#E+zc6zFot2P=)a1kC6LYDVO4` zw^Y`i*EBoVk#|1i&||p2{a4r$bT_oBW&fd#nnmZF-AlO%(+9W&7#R6het z6eN$daVqrI=2&w40GoxC)z2bXMn*=2jI6Ao17FJVQhm%`y$HL8 zOKcRnjtohPh?+kA@P_PtrjLK<=7mK?(_Ez<`9Gzn+4E2sU>OhJeyi=Doc=FKdyoQ?r$i{QRo@^#VdGeaVt$W(A}gg<}WXznBeXC?4|NAl&C+ z8_!n5?28jjb~<#vJI85bI8{L8jX_coldK!bvsU%z`}d09za&24zcFicQ+Eo?$RG<3 ziqwrgLwkCARcGhT{ygQ^SI7@p&Ms^BH!R}3zb|~6@_zNHCQ?b`PkLKSp$SuF6??QX<<5*&yU6j_gKp_})q#}h}7 z#z)}3xqK8wuZr=zB(uwY-gEU%_Poru)9-Gt+FQh;n2c9G-o1O*U_9l{6AI_y#)Y3W zvEGZe+3MrFX>{6cXbbuC&C=Ssd1hv2t#ZG&k7tUNm38>1d~Wxbm-eSQAH~vNfB4WC zmUc%EwJnf<&Ekt4;$Pn+o{4H3TKqt-?Wtcwr9zkp)6+8nJ4GI=R6+G zSG^xkE-Q^od_c*#v`y!rm|)M6!`%eTe0AeCWB*{=Ii zQ~??V^qWc=8YGZ4qV&172QME@8@t4a8qPcs^Yd1242_ENs%hgB-(K~8sJT9<%gv|b zL)tUbG_xkbtJQ4$F@Zgl@0S@l4^Lu1z{B3ei>VMk=Ti&4?$e;7O}3EmZ~-GDqnu-M zkr!+Xn28eJ`T6-Du2{-VzFgs7PJfB_e4{3Ru>R$OT zxNjPz{*nw-o}8#xlfT}yG;ws~B=$UC`}5~d1{ne0r+*eF&v~ztxz2nZzbq;(h5cWD zFDR&KYAPPjny-8`WsVR)$Z=OBEarHGWfq?Y9~U?1_lNa zGO}tntOn~?VX<~wO0VM3$%Lzpp59=|2efqUE-pR~H_Yf)pXd%kH#5a>#c9$-!hd82 zS;okCQAe<(_MErR3*bNgQf9>NuuqmOp43g!aC4pV>9HI$@nL-WiB^#9!(Em~?TA*p zW*nZ^eTc(aDlRx*w#FGRuMo4Pn>>fI`d)t-rAs2&zx-w^CWT(y9F8f*$3u-yN+{o* zx7$GZVgZRWG3Z|qk;8&-(&6sh?z*^wHeYr2o(OE#i48R2d^!8ScS-reA ze=}2_iCq2|1?dD+2w5mBEIeDWFlnMKj*O6FVq$4UC%R^CG#h=|qS9w@2A@O2J95%} z`r{k61*S7DT4KqG+{XN;?r%RU%ZZXZIN%VtzCO$GQ_yd`XMWE~GMQ99T*B+sH*4|x zG#!5DK}UOE4h2XfH6$b?FqrG(JAx8xgvG@(g9;fWdC!n`Yk7L*6k%&{v`Z{v24&hu zRz03pUvLX*pR}@A849OpBhX~}p>eD#TiB~tEju4itmaJ>{rPw1s6#fZ-{%+Q_f{(K zbzO^Qqo=X4vCx-KuNU!y88bQ@@$%KtI3JKJEJu|dn0?=M;JbNmV1UAAHvP76EM7BT=z5A@Iq`NRzp;T|1)2yv^ zVPiuy-3$FpbJPyu{Y>SbOHY4x`?c2j>~-4K-Xbes7d-o}S0!dAWpzg#ol+Iz4U*{xV)#m=Zwu zHhmyQ&dvSroJU8aX6HhmQR34&vdGFpg~8O()o9h;-`7_;s#zEZxUUwvC%!me^*n@Y zID8r2M4(fxzx#E}tD!T+9Z{*qj0f#0z22E$+j=Qck!)nsYbFXWfxJi4B4cF7JtM@UQn`RQoYFjvm2AeV^85bK5o%)HGGVZ`rEFwezoC-&8v_1W{|Amo`)M61)8@> z3$c5%hqZbrWNDC-Auq-3 zHm~qFquTFw$nwq%zQ3LHcRs0 zELzrY*|1z?mgL5LAmGodM6Ou1inssFf9uRsi6_?A9`cIU43oFfdnGU{*Ag<_jrABO zn%TOLp)7eY;kGQ(mWyFqfw4yZAhYDqOTzzYDj7Ltcu2_GbV2m>>6|B57d*yAH{HyA z&pV2YMvQJldvmkt@9O=5tUl%zXS(f!-**tDsIc=?e-YD0;uII#6_ppiyI)dLYB*X( z&6bv4TwYF^Cr+U5vK%RzQ~LH_w&tM6N5ulQcgllFZ{;>{j`hr&TbtqpA8ex>nQ9+n z`JKdn|BhsJu%ErX-81WQaSB+@dS}{qT|?Zdzu*DV366-DU?Bb-`J(6H{$l8P5vWXq z{z8|i*2dqHyPVof0wNpa-xY-zxjN1M+C`Y_iPMc3&6LeD+WqzRv$T$dg>`m+D#Ziu zZ{K*J$7Mu6CqxjX&26lgbK2V8-a9^~c=IMQie9B3z`CRL?zPnEt4B(xBBYBO8!D;V z;#e5@3jX1xUpybm37sE0c=3APSA(dcM4g`I={FR25>I;#*Urx;DtSmuoJ8jDnSIYg z=q^DdsuLGi3C(jtin_M>g@unsMyNJdm#93CAEP_D|4rq;uN;LQ+7r)$MnTDz#s498 zcp*eL7XQ^NC1vG-3`1t<7f?D$xoWfo@7?`#)%IuLvEncM$|{G?+S=b#620ZzQC2^< zIuSb7%|1e(n4KlonB!a~1QPV~C1?H*{zZJx$Fx-spyxeqgfDjgZ<^u%mv8Kad|6*` zFsiKPF;`qC_!=+TkgKvi@D=Z;F`jYtxvbP7-m}n-JC%^Qg%%fG$7f?>yN{0l zoiaGe!hi+;db;?V%LQg?nM_!8w6}lhlTTcBKV;i5D!KXpRMW$)BBDOEr}p1va0%{} zZyO+pPg$2sTVze8jGs_+EAp{;`-g~$nqxw^HUjnDvz=_LII$bu&0c@!YT1sr4eXrD zszdEBM$y_ioq{rsj4ieY(NA_}0{3O?b}4Q)a1uCe8#!2-Jru;-W@nSy+l49E2)=t~ zt@7b0F#3Cs_ zf3%n+<1u?ZO`Hm|yTGv7c=N()g28|sFHoW@pPX-qvy8rK;1|lqXyQxl)_&a^UjGSJ zWI!zZv3G1a*TRt`I36WFsKNTG7BUi&j47NllpgYC?P&ICDM|7pq3uatB~?{i(a7DP z9AP^?+)Fb#8XTy2%`;U3b&jr2i<2WGTM{%@hF*|;pPnX!J)fw$nI5+K@};A<^L?rm z)^r(O{LQrJfnHCMf^xL^V_vXpZQL!BtMGZ_*z&P++xCZuJd9QbC;5wF(_g! z-hOm{aY>R{>7tA7?&iHvN7|^vJnL6mGlJ=o6e`^X9MA4^@hplIHArZga9b5Hvrm0Z zcu4kj`Zn(itDNiiYVt`#!R64UtSH!o(?UP>!s!8(6~51DAJ%c*|q(Q$d*$WpPWpQ$q^R)SmI-mk&zLS6xBK@pBqY+ zqeQz}W3K<~Iyw}O%Z%>mazlP{=ju5*#{b_`WSlK+o9mjp#){Hy!z+gI5Y(pOfbwAT=raHlgU7eg)_^V+02fH(->M}L# zuaWVHCAm*z9FXUb%T(yc(qw%l`=0kJ29s@e42i0VONFIZw1_VI31e(etr! zh=1lgf%L%X`6wv|2M&-Lh`TJw|^_WafY3-2vah7rql&hS{5t`Ip@PsHS1-d3?ni5sYYavrzr6Ol={Lzp< zyiZ?4`}}p@Qq|TLgJ$z5UaA5Ww$AiqQxf0Fe$&3{;ci6RUrM8*V}1>@wyVHWe}XKD z#KzgG`wBE&NnY_aww8vCH)}Def{}57lTDH9uY!cBV)DvbUvUHmi4p{TynLj*hjT>i z)}3}NPRhU#91`;A#mkqL78cJr29iv;xTcNA2gtjhX3F>qrZd)_W-8=%^hEBRoCxJB zC{DTpxt#iCE|e*gDn}zCCiW68P|JO<>E-~#_rX}q^-sHiwSt%g>fgu`Mw-Ta~=H_qEEAU#_O8z(R(=Go44 z)wjet9?Bce4|7>gs+0G=kxX!)T9LU`m-{TtkczU-+56It?fyGkO=@#2NBM3-*Y^-G;qozJ^#0c0ZI zy}VwCV7)OKew(kLnm003{XtA3fnCB(J?R}GOPpJjU|Df-Yj5wU#gnq~@|Ullx8FWo z+FecRKb1m}Hu9qUg=1eXj!ikO*M4L2T{VB@?ZbBPGUt%N(iREi68zl5j(=n>P}U>+ z-SgL|7N;(pRs>Nu(h>)T7ET*J2Y`L8h>aolHj0RRm;Bj1fTB+8-W2~ z&h6~p%Z>9AT1D}xleu5nrn1!Qd!=L|37jr*5fO6MoJ5ddYyI_g($S?}{<`XQ7^n|l z@RHskARqv82wS|`o5-bBY43X_bUd%#6iVsH>y?;Dq@bVx9S9;G5F;O2U0bS5&f1lZ zd4=hmS3rPF&hxpI1qBjw-m@m@pl>5D>4$bPF)g2zln(nXSM?_N4^RF$=N8U)OBL@RMN65%U8L4 zS0PE-b8md^za7#~y7OGG&33Y$6{`^WaMVCkMn<-yz5O`@TQL3`wLA9!$Py5!_G(o6 zl$Jhu)!S=tuVm)h`9$)NjFQrOd|XLOdp9I1O3=Sw%BXVmIV0&~T;vck9#QP}uF7 z0tgReR#lE2Y97c?EJnjVf`QkuN6?r-O%Nv{2Qbt}B84OtILR zHqtLz!}0Od3kH&_cta52;l0)BtnP7faRFJ8R-qR038n;<@hgIxzn`EoRb=PIBoP%i z!q&nP|B&FHwIfb45q?8m&vMZZ&d%Hw6&2%?6Po7w-kpu#)-hi`JBuCab$fgHFB_N8e$s;m9M6_MQKOIhs^Ari!T2+ASJ%jKtVZek zXJ1UewJ!-`+$~32Xc<&HDY7}1Hny!Z1A!4;j--ShLZ}c? zP<^|i=vUW@wF&uL2|fAWNl86tz#!`EPZgjy{HX@D{L7q4enU~%(8f2a{5Gviq4=#&EvB+*0 zl~ic$4lrjJ4R-YFh7@$XCC@e37>zhDI4Vxv812MCAx3(N6NHG2VR1gJQCU-i_~_X) z;m@C+_s@mt(KV*5-Y>Q7G4hYdj2anNo?y;)kW@J>d!C_(5;#MUF7xx0mcyfvRifC3 z$UUX{^T0rOh3OQN(=q0nbv4!jIkb;h<_8Z<-(6r3#qzoFR#jCAUL3BSA=TS#3|4&N z!XV-`5q4W1nTNG&sj0yHRBelhs@@-W)r490z}VkBvHBt5VS==)Sn6}ta0n{7^8Hu3v{XA{#q+ODgQIh95`+tH~>2Au+2bSvrN;85>FUI5?qRa^zU@C zV=_^a`G34|J;%n@R`>S@B&Bw9y#KcW-LczZ51Yfqw&ip{{hvK;p)UHlsi}Cb;$n(3 znMm`2oFkQt7oQ@zIpY1-v#P8vm>fQQ*Pg9)C^H!FC@Om08b~0dr1XqlrR+0&QGO-; z?Pn1>8bbeQI?Wq*M93}g+FEXy%EiNs(__9#@D{n#RVe1$C(mwZAWJE=Z)MrL#wj3N(UQCdS_Np|jSwW`-7yJr}ttW3N!t zXi;5F)>;cxs4X>RS7uZeyr7K~eM+bF7G`BJZ;YRQs^{73TbU2z&^b&UOM z!PT%@?!*C#p084#CLTX}Ikz@|5b%ugE*F>656NT+9UW}Ypvnw~;^Z5y?*INZ=i1cl z`vi~Y{Kf(xC_8)QMJPZ%6vRXz(fZRq$+W$ITqbiYl zbAV88FQN4AhxK{vTtQ!Eu0CR`-L81F9uERMWQt~!7mLaGzdKG;kK~AMTSpif^mWes z3MKV}>U@KZgK*7b6M2k!RHT)ZAtL|*f{SJVEEBul=EyB9%lpTuGLo;T&IImKy%&&5 zthC*xDK~OZG>j1=CDctRsrX@9bG$WC7w(VS8+}ew_g0Fif8AQG)*@*n*EQ3rkJv!W zfLaxGK%N>Adit&BU~8c{s;8mU;1BoXJS8bpctiVGYYFkV!@e{%{m>Atm9%=Zu73CsDj#OjMmri z2&S@XKlgL|0D}DGU07W`N%>TSl9u}-+qS*LWS~G4y5+%Y-zqdmLSE-*&@G$1&>fCO z6mS31>$PE<&DCECTQ|XAm)JqwVHsz7diwNyvvBX|Xn8c>L#Q72m70Bj0Z$pg8t(nA ziBj*)vBJgq`8#g`nC58cBx<@l_%LF;D_>MsY>`p*#vqE}b>URWuV{9zQ}2VMgOUt6 z7DM888JdtlnC>$9%RCtBFIaFi=jvU&4p)<$Fx=eSV1i&c@)M_o?xhIUobv&CApV=i zjt*b-I!8R427Z2ih~nRUeZga3Y8f7u^B=4F3A(%el5({*HJDLuYuD{NY;BpOUsiot zEpfT9wcVNS0Bgp0u{N?;6dmKF{@MOA83hHCUiY)sAR=SoIS{Jbf=MWOcxH+WPGNW2 zH%4+}IlfR>T3U7|a13SV9c_+VYt${kTM`C@6g zvYPC+0Hu(O^_Z2El=NfFKSn&fb%Szz*Ry5ZmF}}p$D<7_Z0z<7k>nzq&16B{;ao-B z$WA|84Z=?Fsi3bTfb>Fz{dayoNFi4fu#5A*KlasjZiK3;1a}b;1C9$73tv44(%E`@ z1$Zp~(UYXapYLx2%d)V_d_7-*o&gjAfPig2zEv&p=GV9)VU?DP_j}^K|Ni~!^X=P9 z)2RyWn`=a`#p7MRxAyjwu*HVsMUP?R5rT|e`sB$I0cb;FhpB7V&@cBRa!h4l)@=o8le}#GH}{BPgI!FDl5l&(UX$S7TthP!hW~T&ey-DDM!`~$6m>R zF4f?y+<1(Y+m_yND>b7Sg|U_NksOwo#(O{zI$-mG(R@y%p;l41@06WWV zh;mh!)7sn&4*p~&uj@8*S^7sR?j1Cr@q=v6&Kv1Qo#pH-PyLACrC^<};LFkCoQGn# z^cj+K^}`l6%x5vQiUkP$jI~2=pJTSy)huJ5^I=N)KlM(*w{nY{^6 +;Ss-eoI~ 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

PSX&5?3kixcY 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�!YIm<$ru~;Nu5$SV#372D2%bvvH!D!)}mjo zcz&{8vgLSMT2Ht=3IR~*B7E%AqSfJ+5>hk!4M^8(Rp2{Z25>C5_Md5uAGSC{*U|4TyDs` zd9hkM{PAUrrzWZ(&C&eh9f!&%6-31#hUI+eb%YR2LhguhQ-&oBqK>*xZfC5!&=G^eyHKB6Foe90EU6f-hOp7bxIg{>&~zL_&@;HKq$YXLQzM> zklmWHZL@4mVd5lT_yfSed41MoebjDZ4ayIv3anL`o)062YeYIMZu z@(!Ct_GLCxUwSc;TW^@y$Vr3r0Dv$cK!}DPilb(K_nFdnSO5A)M+S_ZG53Kn1#tpU z0u%$1Zk;SCSFmv7;)yoBMxCy!-}mu_SKcV{@2PzjVT{y7Qj;XfemEwBF~f42s5F&W z-`?6}RlKo%6AUTKX zt`!SR;e=AaSTY~^^vxBAs$_)~V5=CvF!?N*O3FWuJRa)Ck1^_IHkJM`4d&9#+te&k?S`yC$|33)&m!+ zO|=&`?LKNx8{9uN0sBXcF&gzk`>m@bWlc>rwH>s1|G+PK+|j*0cumfdvwN2TLp z$%SU)(C2>k`dfeb>tFuzm$&}-+oi+#iyJn#BaRD`2cg^ zrlscWnw{rx{_xD02pmcy0->BGlv0HtZDI`XxOS$zp{};J+T@BU%pa(_b!gXt3-zrX z&GmH+O*T;V8�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 diff --git a/documentation/manual/source/pics/plugins.png b/documentation/manual/source/pics/plugins.png index b6810242b69589d1dd67e3135fa670b02d4e39aa..647c1de7da93da276973fa64fb18930a9aeff0f2 100644 GIT binary patch literal 36846 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 literal 29895 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 diff --git a/openlp.pyw b/openlp.pyw index b8c16c585..3f2199038 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -115,7 +115,8 @@ class OpenLP(QtGui.QApplication): # make sure Qt really display the splash screen self.processEvents() # start the main app window - self.mainWindow = MainWindow(screens, self) + self.mainWindow = MainWindow(screens, self.clipboard(), + self.arguments()) self.mainWindow.show() if show_splash: # now kill the splashscreen diff --git a/openlp/core/lib/htmlbuilder.py b/openlp/core/lib/htmlbuilder.py index 67a05c6a1..c4361a421 100644 --- a/openlp/core/lib/htmlbuilder.py +++ b/openlp/core/lib/htmlbuilder.py @@ -85,7 +85,12 @@ body { } /* lyric css */ %s - +sup { + font-size:0.6em; + vertical-align:top; + position:relative; + top:-0.3em; +}