diff --git a/openlp/core/lib/settingsmanager.py b/openlp/core/lib/settingsmanager.py
index 74a5d4866..a8c8e7c50 100644
--- a/openlp/core/lib/settingsmanager.py
+++ b/openlp/core/lib/settingsmanager.py
@@ -57,15 +57,33 @@ class SettingsManager(object):
self.mainwindow_left + self.mainwindow_right) - 100 ) / 2
self.slidecontroller_image = self.slidecontroller - 50
- self.showPreviewPanel = QtCore.QSettings().value(
- u'user interface/preview panel', QtCore.QVariant(True)).toBool()
-
- def togglePreviewPanel(self, isVisible):
+ def get_preview_visibility(self):
"""
- Toggle the preview panel visibility.
+ Return the preview panel's visibility.
+ """
+ return QtCore.QSettings().value(u'user interface/preview panel',
+ QtCore.QVariant(True)).toBool()
+
+ def set_preview_visibility(self, visible):
+ """
+ Set the preview panel's visibility.
"""
QtCore.QSettings().setValue(u'user interface/preview panel',
- QtCore.QVariant(isVisible))
+ QtCore.QVariant(visible))
+
+ def get_live_visibility(self):
+ """
+ Return the live panel's visibility.
+ """
+ return QtCore.QSettings().value(u'user interface/live panel',
+ QtCore.QVariant(True)).toBool()
+
+ def set_live_visibility(self, visible):
+ """
+ Set the live panel's visibility.
+ """
+ QtCore.QSettings().setValue(u'user interface/live panel',
+ QtCore.QVariant(visible))
@staticmethod
def get_last_dir(section, num=None):
diff --git a/openlp/core/lib/toolbar.py b/openlp/core/lib/toolbar.py
index a2979746e..6b87f84fe 100644
--- a/openlp/core/lib/toolbar.py
+++ b/openlp/core/lib/toolbar.py
@@ -42,7 +42,7 @@ class OpenLPToolbar(QtGui.QToolBar):
"""
Initialise the toolbar.
"""
- QtGui.QToolBar.__init__(self, None)
+ QtGui.QToolBar.__init__(self, parent)
# useful to be able to reuse button icons...
self.icons = {}
self.setIconSize(QtCore.QSize(20, 20))
diff --git a/openlp/core/ui/amendthemedialog.py b/openlp/core/ui/amendthemedialog.py
index 2bb202964..a5cd69610 100644
--- a/openlp/core/ui/amendthemedialog.py
+++ b/openlp/core/ui/amendthemedialog.py
@@ -596,15 +596,15 @@ class Ui_AmendThemeDialog(object):
self.TransitionGroupBox.setObjectName(u'TransitionGroupBox')
self.gridLayout_5 = QtGui.QGridLayout(self.TransitionGroupBox)
self.gridLayout_5.setObjectName(u'gridLayout_5')
- self.SlideTransitionCheckedBoxLabel = QtGui.QLabel(
+ self.SlideTransitionCheckBoxLabel = QtGui.QLabel(
self.TransitionGroupBox)
- self.SlideTransitionCheckedBoxLabel.setObjectName(
- u'SlideTransitionCheckedBoxLabel')
+ self.SlideTransitionCheckBoxLabel.setObjectName(
+ u'SlideTransitionCheckBoxLabel')
self.gridLayout_5.addWidget(
- self.SlideTransitionCheckedBoxLabel, 0, 0, 1, 1)
- self.SlideTransitionCheckedBox = QtGui.QCheckBox(self.AlignmentGroupBox)
- self.SlideTransitionCheckedBox.setTristate(False)
- self.gridLayout_5.addWidget(self.SlideTransitionCheckedBox, 0, 1, 1, 1)
+ self.SlideTransitionCheckBoxLabel, 0, 0, 1, 1)
+ self.SlideTransitionCheckBox = QtGui.QCheckBox(self.AlignmentGroupBox)
+ self.SlideTransitionCheckBox.setTristate(False)
+ self.gridLayout_5.addWidget(self.SlideTransitionCheckBox, 0, 1, 1, 1)
self.OptionsRightLayout.addWidget(self.TransitionGroupBox)
spacerItem6 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum,
QtGui.QSizePolicy.Expanding)
@@ -864,7 +864,7 @@ class Ui_AmendThemeDialog(object):
translate('AmendThemeForm', 'Bottom'))
self.TransitionGroupBox.setTitle(
translate('AmendThemeForm', 'Slide Transition'))
- self.SlideTransitionCheckedBoxLabel.setText(
+ self.SlideTransitionCheckBoxLabel.setText(
translate('AmendThemeForm', 'Transition active:'))
self.ThemeTabWidget.setTabText(
self.ThemeTabWidget.indexOf(self.OtherOptionsTab),
diff --git a/openlp/core/ui/amendthemeform.py b/openlp/core/ui/amendthemeform.py
index c85eff4b8..1c2658dc3 100644
--- a/openlp/core/ui/amendthemeform.py
+++ b/openlp/core/ui/amendthemeform.py
@@ -133,9 +133,9 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
QtCore.QObject.connect(self.OutlineSpinBox,
QtCore.SIGNAL(u'editingFinished()'),
self.onOutlineSpinBoxChanged)
- QtCore.QObject.connect(self.SlideTransitionCheckedBox,
+ QtCore.QObject.connect(self.SlideTransitionCheckBox,
QtCore.SIGNAL(u'stateChanged(int)'),
- self.onSlideTransitionCheckedBoxChanged)
+ self.onSlideTransitionCheckBoxChanged)
def accept(self):
new_theme = ThemeXML()
@@ -500,7 +500,7 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
self.stateChanging(self.theme)
self.previewTheme()
- def onSlideTransitionCheckedBoxChanged(self, value):
+ def onSlideTransitionCheckBoxChanged(self, value):
if value == 2: # checked
self.theme.display_slideTransition = True
else:
@@ -624,9 +624,9 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
self.ShadowColorPushButton.setEnabled(False)
self.ShadowSpinBox.setValue(int(self.theme.display_shadow_size))
if self.theme.display_slideTransition:
- self.SlideTransitionCheckedBox.setCheckState(QtCore.Qt.Checked)
+ self.SlideTransitionCheckBox.setCheckState(QtCore.Qt.Checked)
else:
- self.SlideTransitionCheckedBox.setCheckState(QtCore.Qt.Unchecked)
+ self.SlideTransitionCheckBox.setCheckState(QtCore.Qt.Unchecked)
self.HorizontalComboBox.setCurrentIndex(
self.theme.display_horizontalAlign)
self.VerticalComboBox.setCurrentIndex(self.theme.display_verticalAlign)
diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py
index b770a9e05..8053144d7 100644
--- a/openlp/core/ui/maindisplay.py
+++ b/openlp/core/ui/maindisplay.py
@@ -210,7 +210,6 @@ class MainDisplay(DisplayWidget):
self.setWindowFlags(QtCore.Qt.Window | QtCore.Qt.FramelessWindowHint)
self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
- self.parent = parent
# WA_TranslucentBackground is not available in QT4.4
try:
self.setAttribute(QtCore.Qt.WA_TranslucentBackground)
@@ -241,7 +240,8 @@ class MainDisplay(DisplayWidget):
#Sort out screen locations and sizes
self.setGeometry(self.screen[u'size'])
self.scene.setSceneRect(0,0,self.size().width(), self.size().height())
- self.webView.setGeometry(0, 0, self.size().width(), self.size().height())
+ self.webView.setGeometry(0, 0, self.size().width(),
+ self.size().height())
#Build a custom splash screen
self.InitialFrame = QtGui.QImage(
self.screen[u'size'].width(),
@@ -288,11 +288,14 @@ class MainDisplay(DisplayWidget):
self.webView = QtWebKit.QWebView()
self.page = self.webView.page()
self.videoDisplay = self.page.mainFrame()
- self.videoDisplay.setScrollBarPolicy(QtCore.Qt.Vertical, QtCore.Qt.ScrollBarAlwaysOff)
- self.videoDisplay.setScrollBarPolicy(QtCore.Qt.Horizontal, QtCore.Qt.ScrollBarAlwaysOff)
+ self.videoDisplay.setScrollBarPolicy(QtCore.Qt.Vertical,
+ QtCore.Qt.ScrollBarAlwaysOff)
+ self.videoDisplay.setScrollBarPolicy(QtCore.Qt.Horizontal,
+ QtCore.Qt.ScrollBarAlwaysOff)
self.proxy = QtGui.QGraphicsProxyWidget()
self.proxy.setWidget(self.webView)
- self.proxy.setWindowFlags(QtCore.Qt.Window | QtCore.Qt.FramelessWindowHint)
+ self.proxy.setWindowFlags(QtCore.Qt.Window |
+ QtCore.Qt.FramelessWindowHint)
self.proxy.setZValue(1)
self.scene.addItem(self.proxy)
@@ -413,7 +416,8 @@ class MainDisplay(DisplayWidget):
log.debug(u'adddisplayVideo')
self.displayImage(self.transparent)
self.videoDisplay.setHtml(HTMLVIDEO %
- (path, self.screen[u'size'].width(), self.screen[u'size'].height()))
+ (path, self.screen[u'size'].width(),
+ self.screen[u'size'].height()))
def frameView(self, frame, transition=False):
"""
@@ -514,7 +518,7 @@ class VideoDisplay(Phonon.VideoWidget):
Sets up the screen on a particular screen.
"""
log.debug(u'VideoDisplay Setup %s for %s ' % (self.screens,
- self.screens.monitor_number))
+ self.screens.monitor_number))
self.screen = self.screens.current
#Sort out screen locations and sizes
self.setGeometry(self.screen[u'size'])
@@ -616,7 +620,7 @@ class VideoDisplay(Phonon.VideoWidget):
def mediaShow(self, message=''):
"""
- Show the video disaply if it was already hidden
+ Show the video display if it was already hidden
"""
if self.hidden:
self.hidden = False
@@ -625,7 +629,7 @@ class VideoDisplay(Phonon.VideoWidget):
class AudioPlayer(QtCore.QObject):
"""
- This Class will play audio only allowing components to work witn a
+ This Class will play audio only allowing components to work with a
soundtrack which does not take over the user interface.
"""
log.info(u'AudioPlayer Loaded')
@@ -641,8 +645,7 @@ class AudioPlayer(QtCore.QObject):
The list of screens.
"""
log.debug(u'AudioPlayer Initialisation started')
- QtCore.QObject.__init__(self)
- self.parent = parent
+ QtCore.QObject.__init__(self, parent)
self.message = None
self.mediaObject = Phonon.MediaObject()
self.audioObject = Phonon.AudioOutput(Phonon.VideoCategory)
diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py
index 3f392655d..9c5939070 100644
--- a/openlp/core/ui/mainwindow.py
+++ b/openlp/core/ui/mainwindow.py
@@ -147,16 +147,20 @@ class Ui_MainWindow(object):
self.FileImportMenu.setObjectName(u'FileImportMenu')
self.FileExportMenu = QtGui.QMenu(self.FileMenu)
self.FileExportMenu.setObjectName(u'FileExportMenu')
- self.OptionsMenu = QtGui.QMenu(self.MenuBar)
- self.OptionsMenu.setObjectName(u'OptionsMenu')
- self.OptionsViewMenu = QtGui.QMenu(self.OptionsMenu)
- self.OptionsViewMenu.setObjectName(u'OptionsViewMenu')
- self.ViewModeMenu = QtGui.QMenu(self.OptionsViewMenu)
+ # View Menu
+ self.ViewMenu = QtGui.QMenu(self.MenuBar)
+ self.ViewMenu.setObjectName(u'ViewMenu')
+ self.ViewModeMenu = QtGui.QMenu(self.ViewMenu)
self.ViewModeMenu.setObjectName(u'ViewModeMenu')
- self.OptionsLanguageMenu = QtGui.QMenu(self.OptionsMenu)
- self.OptionsLanguageMenu.setObjectName(u'OptionsLanguageMenu')
+ # Tools Menu
self.ToolsMenu = QtGui.QMenu(self.MenuBar)
self.ToolsMenu.setObjectName(u'ToolsMenu')
+ # Settings Menu
+ self.SettingsMenu = QtGui.QMenu(self.MenuBar)
+ self.SettingsMenu.setObjectName(u'SettingsMenu')
+ self.SettingsLanguageMenu = QtGui.QMenu(self.SettingsMenu)
+ self.SettingsLanguageMenu.setObjectName(u'SettingsLanguageMenu')
+ # Help Menu
self.HelpMenu = QtGui.QMenu(self.MenuBar)
self.HelpMenu.setObjectName(u'HelpMenu')
MainWindow.setMenuBar(self.MenuBar)
@@ -168,8 +172,8 @@ class Ui_MainWindow(object):
self.StatusBar.addPermanentWidget(self.DefaultThemeLabel)
# Create the MediaManager
self.MediaManagerDock = OpenLPDockWidget(MainWindow)
- MediaManagerIcon = build_icon(u':/system/system_mediamanager.png')
- self.MediaManagerDock.setWindowIcon(MediaManagerIcon)
+ self.MediaManagerDock.setWindowIcon(
+ build_icon(u':/system/system_mediamanager.png'))
self.MediaManagerDock.setStyleSheet(media_manager_style)
self.MediaManagerDock.setMinimumWidth(
self.settingsmanager.mainwindow_left)
@@ -188,8 +192,8 @@ class Ui_MainWindow(object):
QtCore.Qt.DockWidgetArea(1), self.MediaManagerDock)
# Create the service manager
self.ServiceManagerDock = OpenLPDockWidget(MainWindow)
- ServiceManagerIcon = build_icon(u':/system/system_servicemanager.png')
- self.ServiceManagerDock.setWindowIcon(ServiceManagerIcon)
+ self.ServiceManagerDock.setWindowIcon(
+ build_icon(u':/system/system_servicemanager.png'))
self.ServiceManagerDock.setObjectName(u'ServiceManagerDock')
self.ServiceManagerDock.setMinimumWidth(
self.settingsmanager.mainwindow_right)
@@ -199,8 +203,8 @@ class Ui_MainWindow(object):
QtCore.Qt.DockWidgetArea(2), self.ServiceManagerDock)
# Create the theme manager
self.ThemeManagerDock = OpenLPDockWidget(MainWindow)
- ThemeManagerIcon = build_icon(u':/system/system_thememanager.png')
- self.ThemeManagerDock.setWindowIcon(ThemeManagerIcon)
+ self.ThemeManagerDock.setWindowIcon(
+ build_icon(u':/system/system_thememanager.png'))
self.ThemeManagerDock.setObjectName(u'ThemeManagerDock')
self.ThemeManagerDock.setMinimumWidth(
self.settingsmanager.mainwindow_right)
@@ -227,8 +231,7 @@ class Ui_MainWindow(object):
self.FileSaveAsItem = QtGui.QAction(MainWindow)
self.FileSaveAsItem.setObjectName(u'FileSaveAsItem')
self.FileExitItem = QtGui.QAction(MainWindow)
- ExitIcon = build_icon(u':/system/system_exit.png')
- self.FileExitItem.setIcon(ExitIcon)
+ self.FileExitItem.setIcon(build_icon(u':/system/system_exit.png'))
self.FileExitItem.setObjectName(u'FileExitItem')
self.ImportThemeItem = QtGui.QAction(MainWindow)
self.ImportThemeItem.setObjectName(u'ImportThemeItem')
@@ -238,39 +241,41 @@ class Ui_MainWindow(object):
self.ExportThemeItem.setObjectName(u'ExportThemeItem')
self.ExportLanguageItem = QtGui.QAction(MainWindow)
self.ExportLanguageItem.setObjectName(u'ExportLanguageItem')
- self.actionLook_Feel = QtGui.QAction(MainWindow)
- self.actionLook_Feel.setObjectName(u'actionLook_Feel')
- self.OptionsSettingsItem = QtGui.QAction(MainWindow)
- SettingsIcon = build_icon(u':/system/system_settings.png')
- self.OptionsSettingsItem.setIcon(SettingsIcon)
- self.OptionsSettingsItem.setObjectName(u'OptionsSettingsItem')
+ self.SettingsConfigureItem = QtGui.QAction(MainWindow)
+ self.SettingsConfigureItem.setIcon(
+ build_icon(u':/system/system_settings.png'))
+ self.SettingsConfigureItem.setObjectName(u'SettingsConfigureItem')
self.ViewMediaManagerItem = QtGui.QAction(MainWindow)
self.ViewMediaManagerItem.setCheckable(True)
self.ViewMediaManagerItem.setChecked(self.MediaManagerDock.isVisible())
- self.ViewMediaManagerItem.setIcon(MediaManagerIcon)
+ self.ViewMediaManagerItem.setIcon(
+ build_icon(u':/system/system_mediamanager.png'))
self.ViewMediaManagerItem.setObjectName(u'ViewMediaManagerItem')
self.ViewThemeManagerItem = QtGui.QAction(MainWindow)
self.ViewThemeManagerItem.setCheckable(True)
self.ViewThemeManagerItem.setChecked(self.ThemeManagerDock.isVisible())
- self.ViewThemeManagerItem.setIcon(ThemeManagerIcon)
+ self.ViewThemeManagerItem.setIcon(
+ build_icon(u':/system/system_thememanager.png'))
self.ViewThemeManagerItem.setObjectName(u'ViewThemeManagerItem')
self.ViewServiceManagerItem = QtGui.QAction(MainWindow)
self.ViewServiceManagerItem.setCheckable(True)
self.ViewServiceManagerItem.setChecked(
self.ServiceManagerDock.isVisible())
- self.ViewServiceManagerItem.setIcon(ServiceManagerIcon)
+ self.ViewServiceManagerItem.setIcon(
+ build_icon(u':/system/system_servicemanager.png'))
self.ViewServiceManagerItem.setObjectName(u'ViewServiceManagerItem')
- self.PluginItem = QtGui.QAction(MainWindow)
- #self.PluginItem.setIcon(AlertIcon)
- self.PluginItem.setObjectName(u'PluginItem')
+ self.SettingsPluginListItem = QtGui.QAction(MainWindow)
+ self.SettingsPluginListItem.setIcon(
+ build_icon(u':/system/settings_plugin_list.png'))
+ self.SettingsPluginListItem.setObjectName(u'SettingsPluginListItem')
self.HelpDocumentationItem = QtGui.QAction(MainWindow)
- ContentsIcon = build_icon(u':/system/system_help_contents.png')
- self.HelpDocumentationItem.setIcon(ContentsIcon)
+ self.HelpDocumentationItem.setIcon(
+ build_icon(u':/system/system_help_contents.png'))
self.HelpDocumentationItem.setObjectName(u'HelpDocumentationItem')
self.HelpDocumentationItem.setEnabled(False)
self.HelpAboutItem = QtGui.QAction(MainWindow)
- AboutIcon = build_icon(u':/system/system_about.png')
- self.HelpAboutItem.setIcon(AboutIcon)
+ self.HelpAboutItem.setIcon(
+ build_icon(u':/system/system_about.png'))
self.HelpAboutItem.setObjectName(u'HelpAboutItem')
self.HelpOnlineHelpItem = QtGui.QAction(MainWindow)
self.HelpOnlineHelpItem.setObjectName(u'HelpOnlineHelpItem')
@@ -294,18 +299,36 @@ class Ui_MainWindow(object):
add_actions(self.LanguageGroup, [languageItem])
self.LanguageGroup.setDisabled(LanguageManager.AutoLanguage)
self.ToolsAddToolItem = QtGui.QAction(MainWindow)
- AddToolIcon = build_icon(u':/tools/tools_add.png')
- self.ToolsAddToolItem.setIcon(AddToolIcon)
+ self.ToolsAddToolItem.setIcon(build_icon(u':/tools/tools_add.png'))
self.ToolsAddToolItem.setObjectName(u'ToolsAddToolItem')
- self.action_Preview_Panel = QtGui.QAction(MainWindow)
- self.action_Preview_Panel.setCheckable(True)
- self.action_Preview_Panel.setChecked(
- self.settingsmanager.showPreviewPanel)
- self.action_Preview_Panel.setObjectName(u'action_Preview_Panel')
+ self.ViewPreviewPanel = QtGui.QAction(MainWindow)
+ self.ViewPreviewPanel.setCheckable(True)
+ self.ViewPreviewPanel.setChecked(
+ self.settingsmanager.get_preview_visibility())
+ self.ViewPreviewPanel.setObjectName(u'ViewPreviewPanel')
self.PreviewController.Panel.setVisible(
- self.settingsmanager.showPreviewPanel)
+ self.settingsmanager.get_preview_visibility())
+ self.ViewLivePanel = QtGui.QAction(MainWindow)
+ self.ViewLivePanel.setCheckable(True)
+ self.ViewLivePanel.setChecked(
+ self.settingsmanager.get_live_visibility())
+ self.ViewLivePanel.setObjectName(u'ViewLivePanel')
+ self.LiveController.Panel.setVisible(
+ self.settingsmanager.get_live_visibility())
+ self.ModeDefaultItem = QtGui.QAction(MainWindow)
+ self.ModeDefaultItem.setCheckable(True)
+ self.ModeDefaultItem.setObjectName(u'ModeDefaultItem')
+ self.ModeSetupItem = QtGui.QAction(MainWindow)
+ self.ModeSetupItem.setCheckable(True)
+ self.ModeSetupItem.setObjectName(u'ModeLiveItem')
self.ModeLiveItem = QtGui.QAction(MainWindow)
+ self.ModeLiveItem.setCheckable(True)
self.ModeLiveItem.setObjectName(u'ModeLiveItem')
+ self.ModeGroup = QtGui.QActionGroup(MainWindow)
+ self.ModeGroup.addAction(self.ModeDefaultItem)
+ self.ModeGroup.addAction(self.ModeSetupItem)
+ self.ModeGroup.addAction(self.ModeLiveItem)
+ self.ModeDefaultItem.setChecked(True)
add_actions(self.FileImportMenu,
(self.ImportThemeItem, self.ImportLanguageItem))
add_actions(self.FileExportMenu,
@@ -314,23 +337,27 @@ class Ui_MainWindow(object):
self.FileSaveItem, self.FileSaveAsItem, None,
self.FileImportMenu.menuAction(), self.FileExportMenu.menuAction(),
self.FileExitItem)
- add_actions(self.ViewModeMenu, [self.ModeLiveItem])
- add_actions(self.OptionsViewMenu, (self.ViewModeMenu.menuAction(),
+ add_actions(self.ViewModeMenu, (self.ModeDefaultItem,
+ self.ModeSetupItem, self.ModeLiveItem))
+ add_actions(self.ViewMenu, (self.ViewModeMenu.menuAction(),
None, self.ViewMediaManagerItem, self.ViewServiceManagerItem,
- self.ViewThemeManagerItem, None, self.action_Preview_Panel))
+ self.ViewThemeManagerItem, None, self.ViewPreviewPanel,
+ self.ViewLivePanel))
#i18n add Language Actions
- add_actions(self.OptionsLanguageMenu, (self.AutoLanguageItem, None))
- add_actions(self.OptionsLanguageMenu, self.LanguageGroup.actions())
- add_actions(self.OptionsMenu, (self.OptionsLanguageMenu.menuAction(),
- self.OptionsViewMenu.menuAction(), None, self.OptionsSettingsItem))
+ add_actions(self.SettingsLanguageMenu, (self.AutoLanguageItem, None))
+ add_actions(self.SettingsLanguageMenu, self.LanguageGroup.actions())
+ add_actions(self.SettingsMenu, (self.SettingsPluginListItem,
+ self.SettingsLanguageMenu.menuAction(), None,
+ self.SettingsConfigureItem))
add_actions(self.ToolsMenu,
- (self.PluginItem, None, self.ToolsAddToolItem))
+ (self.ToolsAddToolItem, None))
add_actions(self.HelpMenu,
(self.HelpDocumentationItem, self.HelpOnlineHelpItem, None,
self.HelpWebSiteItem, self.HelpAboutItem))
add_actions(self.MenuBar,
- (self.FileMenu.menuAction(), self.OptionsMenu.menuAction(),
- self.ToolsMenu.menuAction(), self.HelpMenu.menuAction()))
+ (self.FileMenu.menuAction(), self.ViewMenu.menuAction(),
+ self.ToolsMenu.menuAction(), self.SettingsMenu.menuAction(),
+ self.HelpMenu.menuAction()))
# Initialise the translation
self.retranslateUi(MainWindow)
self.MediaToolBox.setCurrentIndex(0)
@@ -360,12 +387,12 @@ class Ui_MainWindow(object):
self.FileMenu.setTitle(translate('MainWindow', '&File'))
self.FileImportMenu.setTitle(translate('MainWindow', '&Import'))
self.FileExportMenu.setTitle(translate('MainWindow', '&Export'))
- self.OptionsMenu.setTitle(translate('MainWindow', '&Options'))
- self.OptionsViewMenu.setTitle(translate('MainWindow', '&View'))
+ self.ViewMenu.setTitle(translate('MainWindow', '&View'))
self.ViewModeMenu.setTitle(translate('MainWindow', 'M&ode'))
- self.OptionsLanguageMenu.setTitle(translate('MainWindow',
- '&Language'))
self.ToolsMenu.setTitle(translate('MainWindow', '&Tools'))
+ self.SettingsMenu.setTitle(translate('MainWindow', '&Settings'))
+ self.SettingsLanguageMenu.setTitle(translate('MainWindow',
+ '&Language'))
self.HelpMenu.setTitle(translate('MainWindow', '&Help'))
self.MediaManagerDock.setWindowTitle(
translate('MainWindow', 'Media Manager'))
@@ -376,24 +403,24 @@ class Ui_MainWindow(object):
self.FileNewItem.setText(translate('MainWindow', '&New'))
self.FileNewItem.setToolTip(translate('MainWindow', 'New Service'))
self.FileNewItem.setStatusTip(
- translate('MainWindow', 'Create a new Service'))
+ translate('MainWindow', 'Create a new service.'))
self.FileNewItem.setShortcut(translate('MainWindow', 'Ctrl+N'))
self.FileOpenItem.setText(translate('MainWindow', '&Open'))
self.FileOpenItem.setToolTip(translate('MainWindow', 'Open Service'))
self.FileOpenItem.setStatusTip(
- translate('MainWindow', 'Open an existing service'))
+ translate('MainWindow', 'Open an existing service.'))
self.FileOpenItem.setShortcut(translate('MainWindow', 'Ctrl+O'))
self.FileSaveItem.setText(translate('MainWindow', '&Save'))
self.FileSaveItem.setToolTip(translate('MainWindow', 'Save Service'))
self.FileSaveItem.setStatusTip(
- translate('MainWindow', 'Save the current service to disk'))
+ translate('MainWindow', 'Save the current service to disk.'))
self.FileSaveItem.setShortcut(translate('MainWindow', 'Ctrl+S'))
self.FileSaveAsItem.setText(translate('MainWindow', 'Save &As...'))
self.FileSaveAsItem.setToolTip(
translate('MainWindow', 'Save Service As'))
self.FileSaveAsItem.setStatusTip(translate('MainWindow',
- 'Save the current service under a new name'))
- self.FileSaveAsItem.setShortcut(translate('MainWindow', 'F12'))
+ 'Save the current service under a new name.'))
+ self.FileSaveAsItem.setShortcut(translate('MainWindow', 'Ctrl+Shift+S'))
self.FileExitItem.setText(translate('MainWindow', 'E&xit'))
self.FileExitItem.setStatusTip(translate('MainWindow', 'Quit OpenLP'))
self.FileExitItem.setShortcut(translate('MainWindow', 'Alt+F4'))
@@ -401,40 +428,48 @@ class Ui_MainWindow(object):
self.ImportLanguageItem.setText(translate('MainWindow', '&Language'))
self.ExportThemeItem.setText(translate('MainWindow', '&Theme'))
self.ExportLanguageItem.setText(translate('MainWindow', '&Language'))
- self.actionLook_Feel.setText(translate('MainWindow', 'Look && &Feel'))
- self.OptionsSettingsItem.setText(translate('MainWindow', '&Settings'))
+ self.SettingsConfigureItem.setText(translate('MainWindow',
+ '&Configure OpenLP...'))
self.ViewMediaManagerItem.setText(
translate('MainWindow', '&Media Manager'))
self.ViewMediaManagerItem.setToolTip(
translate('MainWindow', 'Toggle Media Manager'))
self.ViewMediaManagerItem.setStatusTip(translate('MainWindow',
- 'Toggle the visibility of the Media Manager'))
+ 'Toggle the visibility of the media manager.'))
self.ViewMediaManagerItem.setShortcut(translate('MainWindow', 'F8'))
self.ViewThemeManagerItem.setText(
translate('MainWindow', '&Theme Manager'))
self.ViewThemeManagerItem.setToolTip(
translate('MainWindow', 'Toggle Theme Manager'))
self.ViewThemeManagerItem.setStatusTip(translate('MainWindow',
- 'Toggle the visibility of the Theme Manager'))
+ 'Toggle the visibility of the theme manager.'))
self.ViewThemeManagerItem.setShortcut(translate('MainWindow', 'F10'))
self.ViewServiceManagerItem.setText(
translate('MainWindow', '&Service Manager'))
self.ViewServiceManagerItem.setToolTip(
translate('MainWindow', 'Toggle Service Manager'))
self.ViewServiceManagerItem.setStatusTip(translate('MainWindow',
- 'Toggle the visibility of the Service Manager'))
+ 'Toggle the visibility of the service manager.'))
self.ViewServiceManagerItem.setShortcut(translate('MainWindow', 'F9'))
- self.action_Preview_Panel.setText(
+ self.ViewPreviewPanel.setText(
translate('MainWindow', '&Preview Panel'))
- self.action_Preview_Panel.setToolTip(
+ self.ViewPreviewPanel.setToolTip(
translate('MainWindow', 'Toggle Preview Panel'))
- self.action_Preview_Panel.setStatusTip(translate('MainWindow',
- 'Toggle the visibility of the Preview Panel'))
- self.action_Preview_Panel.setShortcut(translate('MainWindow', 'F11'))
- self.PluginItem.setText(translate('MainWindow', '&Plugin List'))
- self.PluginItem.setStatusTip(
+ self.ViewPreviewPanel.setStatusTip(translate('MainWindow',
+ 'Toggle the visibility of the preview panel.'))
+ self.ViewPreviewPanel.setShortcut(translate('MainWindow', 'F11'))
+ self.ViewLivePanel.setText(
+ translate('MainWindow', '&Live Panel'))
+ self.ViewLivePanel.setToolTip(
+ translate('MainWindow', 'Toggle Live Panel'))
+ self.ViewLivePanel.setStatusTip(translate('MainWindow',
+ 'Toggle the visibility of the live panel.'))
+ self.ViewLivePanel.setShortcut(translate('MainWindow', 'F12'))
+ self.SettingsPluginListItem.setText(translate('MainWindow',
+ '&Plugin List'))
+ self.SettingsPluginListItem.setStatusTip(
translate('MainWindow', 'List the Plugins'))
- self.PluginItem.setShortcut(translate('MainWindow', 'Alt+F7'))
+ self.SettingsPluginListItem.setShortcut(translate('MainWindow', 'Alt+F7'))
self.HelpDocumentationItem.setText(
translate('MainWindow', '&User Guide'))
self.HelpAboutItem.setText(translate('MainWindow', '&About'))
@@ -444,10 +479,9 @@ class Ui_MainWindow(object):
self.HelpOnlineHelpItem.setText(
translate('MainWindow', '&Online Help'))
self.HelpWebSiteItem.setText(translate('MainWindow', '&Web Site'))
- #i18n
self.AutoLanguageItem.setText(translate('MainWindow', '&Auto Detect'))
self.AutoLanguageItem.setStatusTip(
- translate('MainWindow', 'Choose System language, if available'))
+ translate('MainWindow', 'Use the system language, if available.'))
for item in self.LanguageGroup.actions():
item.setText(item.objectName())
item.setStatusTip(unicode(translate('MainWindow',
@@ -455,10 +489,19 @@ class Ui_MainWindow(object):
self.ToolsAddToolItem.setText(translate('MainWindow', 'Add &Tool...'))
self.ToolsAddToolItem.setStatusTip(
translate('MainWindow',
- 'Add an application to the list of tools'))
- self.action_Preview_Panel.setText(
- translate('MainWindow', '&Preview Pane'))
+ 'Add an application to the list of tools.'))
+ self.ModeDefaultItem.setText(translate('MainWindow', '&Default'))
+ self.ModeDefaultItem.setStatusTip(
+ translate('MainWindow',
+ 'Set the view mode back to the default.'))
+ self.ModeSetupItem.setText(translate('MainWindow', '&Setup'))
+ self.ModeSetupItem.setStatusTip(
+ translate('MainWindow',
+ 'Set the view mode to Setup.'))
self.ModeLiveItem.setText(translate('MainWindow', '&Live'))
+ self.ModeLiveItem.setStatusTip(
+ translate('MainWindow',
+ 'Set the view mode to Live.'))
class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
@@ -514,9 +557,12 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
QtCore.QObject.connect(self.ViewThemeManagerItem,
QtCore.SIGNAL(u'triggered(bool)'),
self.toggleThemeManager)
- QtCore.QObject.connect(self.action_Preview_Panel,
+ QtCore.QObject.connect(self.ViewPreviewPanel,
QtCore.SIGNAL(u'toggled(bool)'),
- self.togglePreviewPanel)
+ self.setPreviewPanelVisibility)
+ QtCore.QObject.connect(self.ViewLivePanel,
+ QtCore.SIGNAL(u'toggled(bool)'),
+ self.setLivePanelVisibility)
QtCore.QObject.connect(self.MediaManagerDock,
QtCore.SIGNAL(u'visibilityChanged(bool)'),
self.ViewMediaManagerItem.setChecked)
@@ -526,27 +572,14 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
QtCore.QObject.connect(self.ThemeManagerDock,
QtCore.SIGNAL(u'visibilityChanged(bool)'),
self.ViewThemeManagerItem.setChecked)
- QtCore.QObject.connect(self.PreviewController.Panel,
- QtCore.SIGNAL(u'visibilityChanged(bool)'),
- self.action_Preview_Panel.setChecked)
QtCore.QObject.connect(self.HelpWebSiteItem,
QtCore.SIGNAL(u'triggered()'), self.onHelpWebSiteClicked)
QtCore.QObject.connect(self.HelpAboutItem,
QtCore.SIGNAL(u'triggered()'), self.onHelpAboutItemClicked)
- QtCore.QObject.connect(self.PluginItem,
+ QtCore.QObject.connect(self.SettingsPluginListItem,
QtCore.SIGNAL(u'triggered()'), self.onPluginItemClicked)
- QtCore.QObject.connect(self.OptionsSettingsItem,
+ QtCore.QObject.connect(self.SettingsConfigureItem,
QtCore.SIGNAL(u'triggered()'), self.onOptionsSettingsItemClicked)
- QtCore.QObject.connect(Receiver.get_receiver(),
- QtCore.SIGNAL(u'theme_update_global'), self.defaultThemeChanged)
- QtCore.QObject.connect(Receiver.get_receiver(),
- QtCore.SIGNAL(u'openlp_version_check'), self.versionCheck)
- QtCore.QObject.connect(Receiver.get_receiver(),
- QtCore.SIGNAL(u'maindisplay_blank_check'), self.blankCheck)
- QtCore.QObject.connect(Receiver.get_receiver(),
- QtCore.SIGNAL(u'config_screen_changed'), self.screenChanged)
- QtCore.QObject.connect(Receiver.get_receiver(),
- QtCore.SIGNAL(u'maindisplay_status_text'), self.showStatusMessage)
QtCore.QObject.connect(self.FileNewItem,
QtCore.SIGNAL(u'triggered()'),
self.ServiceManagerContents.onNewService)
@@ -564,6 +597,25 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
QtCore.SIGNAL(u'toggled(bool)'),
self.setAutoLanguage)
self.LanguageGroup.triggered.connect(LanguageManager.set_language)
+ QtCore.QObject.connect(self.ModeDefaultItem,
+ QtCore.SIGNAL(u'triggered()'),
+ self.onModeDefaultItemClicked)
+ QtCore.QObject.connect(self.ModeSetupItem,
+ QtCore.SIGNAL(u'triggered()'),
+ self.onModeSetupItemClicked)
+ QtCore.QObject.connect(self.ModeLiveItem,
+ QtCore.SIGNAL(u'triggered()'),
+ self.onModeLiveItemClicked)
+ QtCore.QObject.connect(Receiver.get_receiver(),
+ QtCore.SIGNAL(u'theme_update_global'), self.defaultThemeChanged)
+ QtCore.QObject.connect(Receiver.get_receiver(),
+ QtCore.SIGNAL(u'openlp_version_check'), self.versionCheck)
+ QtCore.QObject.connect(Receiver.get_receiver(),
+ QtCore.SIGNAL(u'maindisplay_blank_check'), self.blankCheck)
+ QtCore.QObject.connect(Receiver.get_receiver(),
+ QtCore.SIGNAL(u'config_screen_changed'), self.screenChanged)
+ QtCore.QObject.connect(Receiver.get_receiver(),
+ QtCore.SIGNAL(u'maindisplay_status_text'), self.showStatusMessage)
#warning cyclic dependency
#RenderManager needs to call ThemeManager and
#ThemeManager needs to call RenderManager
@@ -607,7 +659,6 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
log.info(u'Load data from Settings')
self.settingsForm.postSetUp()
- #i18n
def setAutoLanguage(self, value):
self.LanguageGroup.setDisabled(value)
LanguageManager.AutoLanguage = value
@@ -695,6 +746,36 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
"""
self.settingsForm.exec_()
+ def onModeDefaultItemClicked(self):
+ """
+ Put OpenLP into "Default" view mode.
+ """
+ self.MediaManagerDock.setVisible(True)
+ self.ServiceManagerDock.setVisible(True)
+ self.ThemeManagerDock.setVisible(True)
+ self.setPreviewPanelVisibility(True)
+ self.setLivePanelVisibility(True)
+
+ def onModeSetupItemClicked(self):
+ """
+ Put OpenLP into "Setup" view mode.
+ """
+ self.MediaManagerDock.setVisible(True)
+ self.ServiceManagerDock.setVisible(True)
+ self.ThemeManagerDock.setVisible(False)
+ self.setPreviewPanelVisibility(True)
+ self.setLivePanelVisibility(False)
+
+ def onModeLiveItemClicked(self):
+ """
+ Put OpenLP into "Live" view mode.
+ """
+ self.MediaManagerDock.setVisible(False)
+ self.ServiceManagerDock.setVisible(True)
+ self.ThemeManagerDock.setVisible(False)
+ self.setPreviewPanelVisibility(False)
+ self.setLivePanelVisibility(True)
+
def screenChanged(self):
"""
The screen has changed to so tell the displays to update_display
@@ -787,10 +868,33 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
if self.ThemeManagerDock.isVisible() != visible:
self.ThemeManagerDock.setVisible(visible)
- def togglePreviewPanel(self):
- previewBool = self.PreviewController.Panel.isVisible()
- self.PreviewController.Panel.setVisible(not previewBool)
- self.settingsmanager.togglePreviewPanel(not previewBool)
+ def setPreviewPanelVisibility(self, visible):
+ """
+ Sets the visibility of the preview panel including saving the setting
+ and updating the menu.
+
+ ``visible``
+ A bool giving the state to set the panel to
+ True - Visible
+ False - Hidden
+ """
+ self.PreviewController.Panel.setVisible(visible)
+ self.settingsmanager.set_preview_visibility(visible)
+ self.ViewPreviewPanel.setChecked(visible)
+
+ def setLivePanelVisibility(self, visible):
+ """
+ Sets the visibility of the live panel including saving the setting and
+ updating the menu.
+
+ ``visible``
+ A bool giving the state to set the panel to
+ True - Visible
+ False - Hidden
+ """
+ self.LiveController.Panel.setVisible(visible)
+ self.settingsmanager.set_live_visibility(visible)
+ self.ViewLivePanel.setChecked(visible)
def loadSettings(self):
log.debug(u'Loading QSettings')
diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py
index fbf7df6db..d5dd4e274 100644
--- a/openlp/plugins/alerts/alertsplugin.py
+++ b/openlp/plugins/alerts/alertsplugin.py
@@ -35,7 +35,7 @@ from openlp.plugins.alerts.forms import AlertForm
log = logging.getLogger(__name__)
-class alertsPlugin(Plugin):
+class AlertsPlugin(Plugin):
log.info(u'Alerts Plugin loaded')
def __init__(self, plugin_helpers):
@@ -88,7 +88,7 @@ class alertsPlugin(Plugin):
Plugin.finalise(self)
self.toolsAlertItem.setVisible(False)
- def togglealertsState(self):
+ def toggleAlertsState(self):
self.alertsActive = not self.alertsActive
QtCore.QSettings().setValue(
self.settingsSection + u'/active',
@@ -102,4 +102,5 @@ class alertsPlugin(Plugin):
about_text = translate('AlertsPlugin',
'Alerts Plugin
This plugin '
'controls the displaying of alerts on the presentations screen')
- return about_text
\ No newline at end of file
+ return about_text
+
diff --git a/openlp/plugins/alerts/forms/alertform.py b/openlp/plugins/alerts/forms/alertform.py
index bf75f9ced..388d35751 100644
--- a/openlp/plugins/alerts/forms/alertform.py
+++ b/openlp/plugins/alerts/forms/alertform.py
@@ -88,13 +88,14 @@ class AlertForm(QtGui.QDialog, Ui_AlertDialog):
self.AlertTextEdit.setText(u'')
self.SaveButton.setEnabled(False)
self.DeleteButton.setEnabled(False)
- self.EditButton.setEnabled(False)
def onNewClick(self):
if len(self.AlertTextEdit.text()) == 0:
QtGui.QMessageBox.information(self,
- translate('AlertsPlugin.AlertForm', 'Item selected to Add'),
- translate('AlertsPlugin.AlertForm', 'Missing data'))
+ translate('AlertsPlugin.AlertForm', 'New Alert'),
+ translate('AlertsPlugin.AlertForm', 'You haven\'t specified '
+ 'any text for your alert. Please type in some text before '
+ 'clicking New.'))
else:
alert = AlertItem()
alert.text = unicode(self.AlertTextEdit.text())
diff --git a/openlp/plugins/alerts/lib/alertsmanager.py b/openlp/plugins/alerts/lib/alertsmanager.py
index aac3eccb9..a8c4c9bfe 100644
--- a/openlp/plugins/alerts/lib/alertsmanager.py
+++ b/openlp/plugins/alerts/lib/alertsmanager.py
@@ -95,7 +95,7 @@ class AlertsManager(QtCore.QObject):
alertTab = self.parent.alertsTab
text = HTMLCODE % (alertTab.font_color, alertTab.bg_color,
alertTab.font_face, alertTab.font_size, text)
- self.parent.preview_controller.parent.displayManager.addAlert(text,
+ self.parent.previewController.parent.displayManager.addAlert(text,
alertTab.location)
# check to see if we have a timer running
if self.timer_id == 0:
@@ -112,8 +112,9 @@ class AlertsManager(QtCore.QObject):
log.debug(u'timer event')
alertTab = self.parent.alertsTab
if event.timerId() == self.timer_id:
- self.parent.preview_controller.parent.displayManager.addAlert(u'',
+ self.parent.previewController.parent.displayManager.addAlert(u'',
alertTab.location)
self.killTimer(self.timer_id)
self.timer_id = 0
self.generateAlert()
+
diff --git a/resources/images/openlp-2.qrc b/resources/images/openlp-2.qrc
index 118a30eae..c9277c3cf 100644
--- a/resources/images/openlp-2.qrc
+++ b/resources/images/openlp-2.qrc
@@ -98,6 +98,7 @@
system_servicemanager.png
system_thememanager.png
system_exit.png
+ settings_plugin_list.png
system_settings.png
diff --git a/resources/images/settings_plugin_list.png b/resources/images/settings_plugin_list.png
new file mode 100644
index 000000000..a63300712
Binary files /dev/null and b/resources/images/settings_plugin_list.png differ