Various configuration option cleanups and changes.

This commit is contained in:
Raoul Snyman 2009-11-27 23:37:01 +02:00
parent 0b1c1e707b
commit ce63999383
11 changed files with 78 additions and 72 deletions

View File

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

View File

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

View File

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

View File

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

View File

@ -41,4 +41,4 @@ from mainwindow import MainWindow
__all__ = ['SplashScreen', 'AboutForm', 'SettingsForm', 'MainWindow',
'MainDisplay', 'SlideController', 'ServiceManager', 'ThemeManager',
'AmendThemeForm', 'MediaDockManager']
'AmendThemeForm', 'MediaDockManager', 'ThemeLevel']

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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