forked from openlp/openlp
Various configuration option cleanups and changes.
This commit is contained in:
parent
0b1c1e707b
commit
ce63999383
|
@ -135,6 +135,11 @@ def contextMenuSeparator(base):
|
|||
action.setSeparator(True)
|
||||
return action
|
||||
|
||||
class ThemeLevel(object):
|
||||
Global = 1
|
||||
Service = 2
|
||||
Song = 3
|
||||
|
||||
from eventreceiver import Receiver
|
||||
from settingsmanager import SettingsManager
|
||||
from pluginconfig import PluginConfig
|
||||
|
@ -155,5 +160,5 @@ from rendermanager import RenderManager
|
|||
from mediamanageritem import MediaManagerItem
|
||||
from baselistwithdnd import BaseListWithDnD
|
||||
|
||||
__all__ = [ 'translate', 'get_text_file_string', 'str_to_bool',
|
||||
'contextMenuAction', 'contextMenuSeparator', 'ServiceItem']
|
||||
#__all__ = [ 'translate', 'get_text_file_string', 'str_to_bool',
|
||||
# 'contextMenuAction', 'contextMenuSeparator', 'ServiceItem']
|
||||
|
|
|
@ -31,9 +31,9 @@ class PluginStatus(object):
|
|||
"""
|
||||
Defines the status of the plugin
|
||||
"""
|
||||
Active = 0
|
||||
Inactive = 1
|
||||
Disabled = 2
|
||||
Active = 1
|
||||
Inactive = 0
|
||||
Disabled = -1
|
||||
|
||||
class Plugin(QtCore.QObject):
|
||||
"""
|
||||
|
@ -143,15 +143,15 @@ class Plugin(QtCore.QObject):
|
|||
"""
|
||||
Sets the status of the plugin
|
||||
"""
|
||||
self.status = int(self.config.get_config(\
|
||||
u'%s_status' % self.name, PluginStatus.Inactive))
|
||||
self.status = int(self.config.get_config(u'status',
|
||||
PluginStatus.Inactive))
|
||||
|
||||
def toggle_status(self, new_status):
|
||||
"""
|
||||
Changes the status of the plugin and remembers it
|
||||
"""
|
||||
self.status = new_status
|
||||
self.config.set_config(u'%s_status' % self.name, self.status)
|
||||
self.config.set_config(u'status', self.status)
|
||||
|
||||
def is_active(self):
|
||||
"""
|
||||
|
|
|
@ -27,6 +27,7 @@ import logging
|
|||
from PyQt4 import QtGui, QtCore
|
||||
|
||||
from renderer import Renderer
|
||||
from openlp.core.lib import ThemeLevel
|
||||
|
||||
class RenderManager(object):
|
||||
"""
|
||||
|
@ -63,7 +64,7 @@ class RenderManager(object):
|
|||
self.calculate_default(self.screen_list[self.current_display][u'size'])
|
||||
self.theme = u''
|
||||
self.service_theme = u''
|
||||
self.global_style = u''
|
||||
self.theme_level = u''
|
||||
self.override_background = None
|
||||
self.themedata = None
|
||||
self.save_bg_frame = None
|
||||
|
@ -82,19 +83,20 @@ class RenderManager(object):
|
|||
self.calculate_default(
|
||||
self.screen_list[self.current_display][u'size'])
|
||||
|
||||
def set_global_theme(self, global_theme, global_style=u'Global'):
|
||||
def set_global_theme(self, global_theme, theme_level=ThemeLevel.Global):
|
||||
"""
|
||||
Set the global-level theme and the theme level.
|
||||
|
||||
``global_theme``
|
||||
The global-level theme to be set.
|
||||
|
||||
``global_style``
|
||||
Defaults to *"Global"*. The theme level, can be "Global",
|
||||
"Service" or "Song".
|
||||
``theme_level``
|
||||
Defaults to *``ThemeLevel.Global``*. The theme level, can be
|
||||
``ThemeLevel.Global``, ``ThemeLevel.Service`` or
|
||||
``ThemeLevel.Song``.
|
||||
"""
|
||||
self.global_theme = global_theme
|
||||
self.global_style = global_style
|
||||
self.theme_level = theme_level
|
||||
|
||||
def set_service_theme(self, service_theme):
|
||||
"""
|
||||
|
@ -113,9 +115,9 @@ class RenderManager(object):
|
|||
The name of the song-level theme.
|
||||
"""
|
||||
log.debug(u'set override theme to %s', theme)
|
||||
if self.global_style == u'Global':
|
||||
if self.theme_level == ThemeLevel.Global:
|
||||
self.theme = self.global_theme
|
||||
elif self.global_style == u'Service':
|
||||
elif self.theme_level == ThemeLevel.Service:
|
||||
if self.service_theme == u'':
|
||||
self.theme = self.global_theme
|
||||
else:
|
||||
|
@ -123,8 +125,8 @@ class RenderManager(object):
|
|||
else:
|
||||
if theme:
|
||||
self.theme = theme
|
||||
elif self.global_style == u'Song' or \
|
||||
self.global_style == u'Service':
|
||||
elif self.theme_level == ThemeLevel.Song or \
|
||||
self.theme_level == ThemeLevel.Service:
|
||||
if self.service_theme == u'':
|
||||
self.theme = self.global_theme
|
||||
else:
|
||||
|
@ -201,7 +203,7 @@ class RenderManager(object):
|
|||
footer = []
|
||||
footer.append(u'Amazing Grace (John Newton)' )
|
||||
footer.append(u'Public Domain')
|
||||
footer.append(u'CCLI xxx')
|
||||
footer.append(u'CCLI 123456')
|
||||
formatted = self.renderer.format_slide(verse, False)
|
||||
return self.renderer.generate_frame_from_lines(formatted[0], footer)
|
||||
|
||||
|
|
|
@ -49,27 +49,26 @@ class SettingsManager(object):
|
|||
self.mainwindow_left + self.mainwindow_right) - 100 ) / 2
|
||||
self.slidecontroller_image = self.slidecontroller - 50
|
||||
|
||||
self.showMediaManager = str_to_bool( ConfigHelper.get_config(
|
||||
u'user interface', u'display mediamanager', True))
|
||||
self.showMediaManager = str_to_bool(ConfigHelper.get_config(
|
||||
u'user interface', u'media manager', True))
|
||||
self.showServiceManager = str_to_bool(ConfigHelper.get_config(
|
||||
u'user interface', u'display servicemanager', True))
|
||||
u'user interface', u'service manager', True))
|
||||
self.showThemeManager = str_to_bool(ConfigHelper.get_config(
|
||||
u'user interface', u'display thememanager', True))
|
||||
u'user interface', u'theme manager', True))
|
||||
self.showPreviewPanel = str_to_bool(ConfigHelper.get_config(
|
||||
u'user interface', u'display previewpanel', True))
|
||||
u'user interface', u'preview panel', True))
|
||||
|
||||
def setUIItemVisibility(self, item=u'', isVisible=True):
|
||||
if item:
|
||||
if item == u'ThemeManagerDock':
|
||||
ConfigHelper.set_config(u'user interface',
|
||||
u'display thememanager', isVisible)
|
||||
u'theme manager', isVisible)
|
||||
elif item == u'ServiceManagerDock':
|
||||
ConfigHelper.set_config(u'user interface',
|
||||
u'display servicemanager', isVisible)
|
||||
u'service manager', isVisible)
|
||||
elif item == u'MediaManagerDock':
|
||||
ConfigHelper.set_config(u'user interface',
|
||||
u'display mediamanager', isVisible)
|
||||
u'media manager', isVisible)
|
||||
|
||||
def togglePreviewPanel(self, isVisible):
|
||||
ConfigHelper.set_config(u'user interface', u'display previewpanel',
|
||||
isVisible)
|
||||
ConfigHelper.set_config(u'user interface', u'preview panel', isVisible)
|
||||
|
|
|
@ -41,4 +41,4 @@ from mainwindow import MainWindow
|
|||
|
||||
__all__ = ['SplashScreen', 'AboutForm', 'SettingsForm', 'MainWindow',
|
||||
'MainDisplay', 'SlideController', 'ServiceManager', 'ThemeManager',
|
||||
'AmendThemeForm', 'MediaDockManager']
|
||||
'AmendThemeForm', 'MediaDockManager', 'ThemeLevel']
|
||||
|
|
|
@ -173,7 +173,7 @@ class GeneralTab(SettingsTab):
|
|||
self.PromptSaveService = (value == QtCore.Qt.Checked)
|
||||
|
||||
def onNumberEditLostFocus(self):
|
||||
self.CCLNumber = self.NumberEdit.displayText()
|
||||
self.CCLINumber = self.NumberEdit.displayText()
|
||||
|
||||
def onUsernameEditLostFocus(self):
|
||||
self.Username = self.UsernameEdit.displayText()
|
||||
|
@ -188,30 +188,30 @@ class GeneralTab(SettingsTab):
|
|||
screen_name = u'%s (%s)' % (self.trUtf8(u'primary'), screen_name)
|
||||
self.MonitorComboBox.addItem(screen_name)
|
||||
# Get the configs
|
||||
self.MonitorNumber = int(self.config.get_config(u'Monitor', u'0'))
|
||||
self.Warning = str_to_bool(self.config.get_config(u'Blank Warning', u'False'))
|
||||
self.AutoOpen = str_to_bool(self.config.get_config(u'Auto Open', u'False'))
|
||||
self.MonitorNumber = int(self.config.get_config(u'monitor', u'0'))
|
||||
self.Warning = str_to_bool(self.config.get_config(u'blank warning', u'False'))
|
||||
self.AutoOpen = str_to_bool(self.config.get_config(u'auto open', u'False'))
|
||||
self.ShowSplash = str_to_bool(self.config.get_config(u'show splash', u'True'))
|
||||
self.PromptSaveService = str_to_bool(self.config.get_config(u'prompt save service', u'False'))
|
||||
self.CCLNumber = unicode(self.config.get_config(u'CCL Number', u'XXX'))
|
||||
self.Username = unicode(self.config.get_config(u'User Name', u''))
|
||||
self.Password = unicode(self.config.get_config(u'Password', u''))
|
||||
self.PromptSaveService = str_to_bool(self.config.get_config(u'save prompt', u'False'))
|
||||
self.CCLINumber = unicode(self.config.get_config(u'ccli number', u''))
|
||||
self.Username = unicode(self.config.get_config(u'songselect username', u''))
|
||||
self.Password = unicode(self.config.get_config(u'songselect password', u''))
|
||||
self.SaveCheckServiceCheckBox.setChecked(self.PromptSaveService)
|
||||
# Set a few things up
|
||||
self.MonitorComboBox.setCurrentIndex(self.MonitorNumber)
|
||||
self.WarningCheckBox.setChecked(self.Warning)
|
||||
self.AutoOpenCheckBox.setChecked(self.AutoOpen)
|
||||
self.ShowSplashCheckBox.setChecked(self.ShowSplash)
|
||||
self.NumberEdit.setText(self.CCLNumber)
|
||||
self.NumberEdit.setText(self.CCLINumber)
|
||||
self.UsernameEdit.setText(self.Username)
|
||||
self.PasswordEdit.setText(self.Password)
|
||||
|
||||
def save(self):
|
||||
self.config.set_config(u'Monitor', self.MonitorNumber)
|
||||
self.config.set_config(u'Blank Warning', self.Warning)
|
||||
self.config.set_config(u'Auto Open', self.AutoOpen)
|
||||
self.config.set_config(u'monitor', self.MonitorNumber)
|
||||
self.config.set_config(u'blank warning', self.Warning)
|
||||
self.config.set_config(u'auto open', self.AutoOpen)
|
||||
self.config.set_config(u'show splash', self.ShowSplash)
|
||||
self.config.set_config(u'prompt save service', self.PromptSaveService)
|
||||
self.config.set_config(u'CCL Number', self.CCLNumber)
|
||||
self.config.set_config(u'User Name', self.Username)
|
||||
self.config.set_config(u'Password', self.Password)
|
||||
self.config.set_config(u'save prompt', self.PromptSaveService)
|
||||
self.config.set_config(u'ccli number', self.CCLINumber)
|
||||
self.config.set_config(u'songselect username', self.Username)
|
||||
self.config.set_config(u'songselect password', self.Password)
|
||||
|
|
|
@ -215,7 +215,7 @@ class MainDisplay(DisplayWidget):
|
|||
self.frameView(self.frame)
|
||||
if blanked != self.parent.LiveController.blankButton.isChecked():
|
||||
self.parent.LiveController.blankButton.setChecked(self.displayBlank)
|
||||
self.parent.generalConfig.set_config(u'Screen Blank', self.displayBlank)
|
||||
self.parent.generalConfig.set_config(u'screen blank', self.displayBlank)
|
||||
|
||||
def displayAlert(self, text=u''):
|
||||
"""
|
||||
|
|
|
@ -228,7 +228,7 @@ class ServiceManager(QtGui.QWidget):
|
|||
self.config = PluginConfig(u'ServiceManager')
|
||||
self.servicePath = self.config.get_data_path()
|
||||
self.service_theme = unicode(
|
||||
self.config.get_config(u'theme service theme', u''))
|
||||
self.config.get_config(u'service theme', u''))
|
||||
|
||||
def onMoveSelectionUp(self):
|
||||
"""
|
||||
|
@ -346,7 +346,7 @@ class ServiceManager(QtGui.QWidget):
|
|||
"""
|
||||
if self.parent.serviceNotSaved and \
|
||||
str_to_bool(PluginConfig(u'General').
|
||||
get_config(u'prompt save service', u'False')):
|
||||
get_config(u'save prompt', u'False')):
|
||||
ret = QtGui.QMessageBox.question(None,
|
||||
self.trUtf8(u'Save Changes to Service?'),
|
||||
self.trUtf8(u'Your service is unsaved, do you want to save those '
|
||||
|
@ -533,7 +533,7 @@ class ServiceManager(QtGui.QWidget):
|
|||
"""
|
||||
self.service_theme = unicode(self.ThemeComboBox.currentText())
|
||||
self.parent.RenderManager.set_service_theme(self.service_theme)
|
||||
self.config.set_config(u'theme service theme', self.service_theme)
|
||||
self.config.set_config(u'service theme', self.service_theme)
|
||||
self.regenerateServiceItems()
|
||||
|
||||
def regenerateServiceItems(self):
|
||||
|
|
|
@ -347,7 +347,7 @@ class SlideController(QtGui.QWidget):
|
|||
if item.is_text():
|
||||
self.Toolbar.makeWidgetsInvisible(self.image_list)
|
||||
if item.is_song() and \
|
||||
str_to_bool(self.songsconfig.get_config(u'display songbar', True)):
|
||||
str_to_bool(self.songsconfig.get_config(u'show songbar', True)):
|
||||
for action in self.Songbar.actions:
|
||||
self.Songbar.actions[action].setVisible(False)
|
||||
if item.verse_order:
|
||||
|
|
|
@ -32,8 +32,8 @@ from PyQt4 import QtCore, QtGui
|
|||
|
||||
from openlp.core.ui import AmendThemeForm
|
||||
from openlp.core.theme import Theme
|
||||
from openlp.core.lib import PluginConfig, OpenLPToolbar, ThemeXML, \
|
||||
str_to_bool, get_text_file_string, buildIcon, Receiver, contextMenuAction, \
|
||||
from openlp.core.lib import PluginConfig, OpenLPToolbar, ThemeXML, ThemeLevel,\
|
||||
str_to_bool, get_text_file_string, buildIcon, Receiver, contextMenuAction,\
|
||||
contextMenuSeparator
|
||||
from openlp.core.utils import ConfigHelper
|
||||
|
||||
|
@ -112,7 +112,7 @@ class ThemeManager(QtGui.QWidget):
|
|||
self.config = PluginConfig(u'themes')
|
||||
self.servicePath = self.config.get_data_path()
|
||||
self.global_theme = unicode(
|
||||
self.config.get_config(u'theme global theme', u''))
|
||||
self.config.get_config(u'global theme', u''))
|
||||
|
||||
def changeGlobalFromTab(self, themeName):
|
||||
log.debug(u'changeGlobalFromTab %s', themeName)
|
||||
|
@ -144,7 +144,7 @@ class ThemeManager(QtGui.QWidget):
|
|||
self.ThemeListWidget.item(count).text())
|
||||
name = u'%s (%s)' % (self.global_theme, self.trUtf8(u'default'))
|
||||
self.ThemeListWidget.item(count).setText(name)
|
||||
self.config.set_config(u'theme global theme', self.global_theme)
|
||||
self.config.set_config(u'global theme', self.global_theme)
|
||||
Receiver.send_message(
|
||||
u'update_global_theme', self.global_theme)
|
||||
self.pushThemes()
|
||||
|
@ -167,7 +167,7 @@ class ThemeManager(QtGui.QWidget):
|
|||
|
||||
def onDeleteTheme(self):
|
||||
self.global_theme = unicode(
|
||||
self.config.get_config(u'theme global theme', u''))
|
||||
self.config.get_config(u'global theme', u''))
|
||||
item = self.ThemeListWidget.currentItem()
|
||||
if item:
|
||||
theme = unicode(item.text())
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
from PyQt4 import QtCore, QtGui
|
||||
|
||||
from openlp.core.lib import SettingsTab, Receiver
|
||||
from openlp.core.lib import SettingsTab, Receiver, ThemeLevel
|
||||
|
||||
class ThemesTab(SettingsTab):
|
||||
"""
|
||||
|
@ -122,43 +122,43 @@ class ThemesTab(SettingsTab):
|
|||
u'songs.'))
|
||||
|
||||
def load(self):
|
||||
self.global_style = self.config.get_config(
|
||||
u'theme global style', u'Global')
|
||||
self.global_theme = self.config.get_config(u'theme global theme', u'')
|
||||
if self.global_style == u'Global':
|
||||
self.theme_level = int(self.config.get_config(u'theme level',
|
||||
ThemeLevel.Global))
|
||||
self.global_theme = self.config.get_config(u'global theme', u'')
|
||||
if self.theme_level == ThemeLevel.Global:
|
||||
self.GlobalLevelRadioButton.setChecked(True)
|
||||
elif self.global_style == u'Service':
|
||||
elif self.theme_level == ThemeLevel.Service:
|
||||
self.ServiceLevelRadioButton.setChecked(True)
|
||||
else:
|
||||
self.SongLevelRadioButton.setChecked(True)
|
||||
|
||||
def save(self):
|
||||
self.config.set_config(u'theme global style', self.global_style )
|
||||
self.config.set_config(u'theme global theme',self.global_theme)
|
||||
Receiver.send_message(u'update_global_theme', self.global_theme )
|
||||
self.config.set_config(u'theme level', self.theme_level)
|
||||
self.config.set_config(u'global theme',self.global_theme)
|
||||
Receiver.send_message(u'update_global_theme', self.global_theme)
|
||||
|
||||
def postSetUp(self):
|
||||
Receiver.send_message(u'update_global_theme', self.global_theme )
|
||||
Receiver.send_message(u'update_global_theme', self.global_theme)
|
||||
|
||||
def onSongLevelButtonPressed(self):
|
||||
self.global_style = u'Song'
|
||||
self.parent.RenderManager.set_global_theme(
|
||||
self.global_theme, self.global_style)
|
||||
self.global_theme, self.theme_level)
|
||||
|
||||
def onServiceLevelButtonPressed(self):
|
||||
self.global_style = u'Service'
|
||||
self.parent.RenderManager.set_global_theme(
|
||||
self.global_theme, self.global_style)
|
||||
self.global_theme, self.theme_level)
|
||||
|
||||
def onGlobalLevelButtonPressed(self):
|
||||
self.global_style = u'Global'
|
||||
self.parent.RenderManager.set_global_theme(
|
||||
self.global_theme, self.global_style)
|
||||
self.global_theme, self.theme_level)
|
||||
|
||||
def onDefaultComboBoxChanged(self, value):
|
||||
self.global_theme = unicode(self.DefaultComboBox.currentText())
|
||||
self.parent.RenderManager.set_global_theme(
|
||||
self.global_theme, self.global_style)
|
||||
self.global_theme, self.theme_level)
|
||||
image = self.parent.ThemeManagerContents.getPreviewImage(
|
||||
self.global_theme)
|
||||
preview = QtGui.QPixmap(unicode(image))
|
||||
|
@ -171,7 +171,7 @@ class ThemesTab(SettingsTab):
|
|||
Called from ThemeManager when the Themes have changed
|
||||
"""
|
||||
#reload as may have been triggered by the ThemeManager
|
||||
self.global_theme = self.config.get_config(u'theme global theme', u'')
|
||||
self.global_theme = self.config.get_config(u'global theme', u'')
|
||||
self.DefaultComboBox.clear()
|
||||
for theme in theme_list:
|
||||
self.DefaultComboBox.addItem(theme)
|
||||
|
@ -182,7 +182,7 @@ class ThemesTab(SettingsTab):
|
|||
self.global_theme = u''
|
||||
self.DefaultComboBox.setCurrentIndex(id)
|
||||
self.parent.RenderManager.set_global_theme(
|
||||
self.global_theme, self.global_style)
|
||||
self.global_theme, self.theme_level)
|
||||
if self.global_theme is not u'':
|
||||
image = self.parent.ThemeManagerContents.getPreviewImage(
|
||||
self.global_theme)
|
||||
|
|
Loading…
Reference in New Issue