Start of the Settings dialog development.

Add infrastructure to load plugin hooks to settings dialog
Amend Video to add settings tab.

bzr-revno: 347
This commit is contained in:
Tim Bentley 2009-02-28 07:23:48 +00:00
parent 45cd4c181e
commit c326d35bdb
10 changed files with 1477 additions and 403 deletions

View File

@ -88,9 +88,9 @@ class Plugin(object):
self.weight = 0 self.weight = 0
# Set up logging # Set up logging
self.log = logging.getLogger(self.name) self.log = logging.getLogger(self.name)
self.repaint_main_window = None
self.preview_controller=preview_controller self.preview_controller=preview_controller
self.live_controller=live_controller self.live_controller=live_controller
def check_pre_conditions(self): def check_pre_conditions(self):
""" """
Provides the Plugin with a handle to check if it can be loaded. Provides the Plugin with a handle to check if it can be loaded.
@ -98,6 +98,30 @@ class Plugin(object):
""" """
return True return True
def has_settings_tab_item(self):
"""
Tells the PluginManager if the plugin wants to play with settings Tab
"""
return False
def get_settings_tab_item(self):
"""
Allows the Settings Tab to construct one or more tabs..
"""
pass
def load_settings(self):
"""
Hook to allow settings tab and plugin to load settings values from configuration
"""
pass
def save_settings(self):
"""
Hook to allow settings tab to save settings values from configuration
"""
pass
def get_media_manager_item(self): def get_media_manager_item(self):
""" """
Construct a MediaManagerItem object with all the buttons and things you Construct a MediaManagerItem object with all the buttons and things you

View File

@ -22,4 +22,25 @@ from PyQt4 import QtCore, QtGui
from openlp.core.resources import * from openlp.core.resources import *
class SettingsTab(QtGui.QWidget): class SettingsTab(QtGui.QWidget):
pass """
SettingsTab is a helper widget for plugins to define Tabs for the settings dialog.
"""
def __init__(self):
"""
Constructor to create the Steetings tab item.
"""
QtGui.QWidget.__init__(self)
self.TabLayout = QtGui.QVBoxLayout(self)
self.TabLayout.setSpacing(0)
self.TabLayout.setMargin(0)
self.tabText = None
def setTabText(self, text):
self.tabText = text
def add_items(self, items):
if type(items).__name__ == "QWidget":
self.TabLayout.addWidget(items)
else:
for item in items:
self.TabLayout.addWidget(item)

View File

@ -47,6 +47,7 @@ class PluginManager(object):
self.plugins = [] self.plugins = []
# this has to happen after the UI is sroted self.find_plugins(dir) # this has to happen after the UI is sroted self.find_plugins(dir)
log.info("Plugin manager done init") log.info("Plugin manager done init")
def find_plugins(self, dir, preview_controller, live_controller): # xxx shouldn't dir come from self.basepath def find_plugins(self, dir, preview_controller, live_controller): # xxx shouldn't dir come from self.basepath
""" """
Scan the directory dir for objects inheriting from openlp.plugin Scan the directory dir for objects inheriting from openlp.plugin
@ -81,7 +82,7 @@ class PluginManager(object):
try: try:
plugin = p(self.preview_controller, self.live_controller) plugin = p(self.preview_controller, self.live_controller)
log.debug('loaded plugin' + str(p) + ' with controllers'+str(self.preview_controller)+str(self.live_controller)) log.debug('loaded plugin' + str(p) + ' with controllers'+str(self.preview_controller)+str(self.live_controller))
except TypeError: # xxx need to get rid of this once all plugins are up to date except TypeError: # TODO: need to get rid of this once all plugins are up to date
plugin = p() plugin = p()
log.debug('loaded plugin' + str(p) + ' with no controllers') log.debug('loaded plugin' + str(p) + ' with no controllers')
log.debug("Plugin="+str(p)) log.debug("Plugin="+str(p))
@ -104,6 +105,22 @@ class PluginManager(object):
log.debug('Inserting media manager item from %s' % plugin.name) log.debug('Inserting media manager item from %s' % plugin.name)
mediatoolbox.addItem(media_manager_item, plugin.icon, media_manager_item.title) mediatoolbox.addItem(media_manager_item, plugin.icon, media_manager_item.title)
plugin.initialise() plugin.initialise()
plugin.load_settings()
def hook_settings_tabs(self, mediatoolbox=None):
"""
Loop through all the plugins. If a plugin has a valid settings tab item,
add it to the settings tab.
"""
want_settings = []
for plugin in self.plugins:
settings_tab_item = plugin.has_settings_tab_item()
#print plugin , settings_tab_item
if settings_tab_item:
log.debug('Inserting settings tab item from %s' % plugin.name)
want_settings.append(plugin)
#mediatoolbox.addItem(media_manager_item, plugin.icon, media_manager_item.title)
return want_settings
def hook_import_menu(self, import_menu): def hook_import_menu(self, import_menu):
""" """

View File

@ -90,3 +90,12 @@ class AlertForm(object):
def show(self): def show(self):
self.AlertForm.show() self.AlertForm.show()
def get_settings_tab_item(self):
pass
def load_settings(self):
pass
def save_settings(self):
pass

View File

@ -45,10 +45,17 @@ class MainWindow(object):
pluginpath = os.path.abspath(os.path.join(pluginpath, '..', '..','plugins')) pluginpath = os.path.abspath(os.path.join(pluginpath, '..', '..','plugins'))
self.plugin_manager = PluginManager(pluginpath) self.plugin_manager = PluginManager(pluginpath)
self.setupUi() self.setupUi()
self.plugin_manager.find_plugins(pluginpath, self.PreviewController, self.LiveController) self.plugin_manager.find_plugins(pluginpath, self.PreviewController, self.LiveController)
log.info("hook Settings")
#Call hook method to see which plugins have setting tabs.
self.settings_form.receive_plugins(self.plugin_manager.hook_settings_tabs())
self.settings_form.generateUi()
# hook methods have to happen after find_plugins. Find plugins needs the controllers # hook methods have to happen after find_plugins. Find plugins needs the controllers
# hence the hooks have moved fromt srtupUI() to here # hence the hooks have moved front setupUI() to here
# Call the hook method to pull in import menus. # Call the hook method to pull in import menus.
log.info("hook menus")
self.plugin_manager.hook_import_menu(self.FileImportMenu) self.plugin_manager.hook_import_menu(self.FileImportMenu)
# #
# Call the hook method to pull in export menus. # Call the hook method to pull in export menus.
@ -84,7 +91,7 @@ class MainWindow(object):
self.ControlSplitter = QtGui.QSplitter(self.MainContent) self.ControlSplitter = QtGui.QSplitter(self.MainContent)
self.ControlSplitter.setOrientation(QtCore.Qt.Horizontal) self.ControlSplitter.setOrientation(QtCore.Qt.Horizontal)
self.ControlSplitter.setObjectName("ControlSplitter") self.ControlSplitter.setObjectName("ControlSplitter")
# xxx need some way to make this geometry work properly! # TODO: need some way to make this geometry work properly!
self.ControlSplitter.setGeometry(self.main_window.geometry()) self.ControlSplitter.setGeometry(self.main_window.geometry())
self.PreviewController = SlideController(self.ControlSplitter) self.PreviewController = SlideController(self.ControlSplitter)
self.LiveController = SlideController(self.ControlSplitter) self.LiveController = SlideController(self.ControlSplitter)
@ -122,6 +129,7 @@ class MainWindow(object):
self.MediaManagerDock.setSizePolicy(sizePolicy) self.MediaManagerDock.setSizePolicy(sizePolicy)
icon = QtGui.QIcon() icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/system/system_mediamanager.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon.addPixmap(QtGui.QPixmap(":/system/system_mediamanager.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.MediaManagerDock.setWindowIcon(icon) self.MediaManagerDock.setWindowIcon(icon)
self.MediaManagerDock.setFloating(False) self.MediaManagerDock.setFloating(False)
self.MediaManagerDock.setObjectName("MediaManagerDock") self.MediaManagerDock.setObjectName("MediaManagerDock")
@ -143,6 +151,7 @@ class MainWindow(object):
self.MediaManagerLayout.addWidget(self.MediaToolBox) self.MediaManagerLayout.addWidget(self.MediaToolBox)
self.MediaManagerDock.setWidget(self.MediaManagerContents) self.MediaManagerDock.setWidget(self.MediaManagerContents)
self.main_window.addDockWidget(QtCore.Qt.DockWidgetArea(1), self.MediaManagerDock) self.main_window.addDockWidget(QtCore.Qt.DockWidgetArea(1), self.MediaManagerDock)
self.ServiceManagerDock = QtGui.QDockWidget(self.main_window) self.ServiceManagerDock = QtGui.QDockWidget(self.main_window)
ServiceManagerIcon = QtGui.QIcon() ServiceManagerIcon = QtGui.QIcon()
ServiceManagerIcon.addPixmap(QtGui.QPixmap(":/system/system_servicemanager.png"), ServiceManagerIcon.addPixmap(QtGui.QPixmap(":/system/system_servicemanager.png"),
@ -421,4 +430,4 @@ class MainWindow(object):
self.alert_form.show() self.alert_form.show()
def onOptionsSettingsItemClicked(self): def onOptionsSettingsItemClicked(self):
self.settings_form.show() self.settings_form.exec_()

View File

@ -19,27 +19,205 @@ Place, Suite 330, Boston, MA 02111-1307 USA
""" """
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from PyQt4.QtGui import QDialog
from openlp.core.lib import SettingsTab
from openlp.core.resources import * from openlp.core.resources import *
class SettingsDialog(object): class SettingsDialog(QDialog):
def __init__(self): def __init__(self, parent=None):
self.SettingsDialog = QtGui.QDialog() QDialog.__init__(self, parent)
self.setupUi() self.first_time = True
self.plugin_list = []
def add_virtual_plugins(self, plugin):
"""
Method to allow Core to register screens to behave like plugins
"""
self.plugin_list.append(plugin)
def receive_plugins(self, plugins):
"""
Method to allow Plugin Manager to add plugins which want settings
"""
print "got plugins ", plugins
for plugin in plugins:
self.plugin_list.append(plugin)
print plugins
def generateUi(self):
"""
Method build UI.
Called by mainmenu AFTER all plugins have been installed.
"""
if self.first_time:
self.setupUi(self)
self.first_time = False
def setupUi(self): def onSaveButton(self):
self.SettingsDialog.setObjectName("SettingsDialog") pass
self.SettingsDialog.resize(721, 441) def onResetButton(self):
pass
def setupUi(self, SettingsDialog):
SettingsDialog.setObjectName("SettingsDialog")
SettingsDialog.resize(602, 502)
icon = QtGui.QIcon() icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/icon/openlp.org-icon-32.bmp"), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon.addPixmap(QtGui.QPixmap(":/icon/openlp.org-icon-32.bmp"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.SettingsDialog.setWindowIcon(icon) SettingsDialog.setWindowIcon(icon)
self.SettingsLayout = QtGui.QVBoxLayout(self.SettingsDialog)
self.SettingsLayout.setSpacing(8) self.SettingsTabWidget = QtGui.QTabWidget(SettingsDialog)
self.SettingsLayout.setMargin(8) self.SettingsTabWidget.setGeometry(QtCore.QRect(0, 0, 669, 500))
self.SettingsLayout.setObjectName("SettingsLayout")
self.SettingsTabWidget = QtGui.QTabWidget(self.SettingsDialog)
self.SettingsTabWidget.setObjectName("SettingsTabWidget") self.SettingsTabWidget.setObjectName("SettingsTabWidget")
self.DisplayTab = QtGui.QWidget()
self.DisplayTab.setObjectName("DisplayTab")
self.DisplayTabLayout = QtGui.QHBoxLayout(self.DisplayTab)
self.DisplayTabLayout.setSpacing(8)
self.DisplayTabLayout.setMargin(8)
self.DisplayTabLayout.setObjectName("DisplayTabLayout")
self.LeftColumn = QtGui.QWidget(self.DisplayTab)
self.LeftColumn.setObjectName("LeftColumn")
self.LeftColumnLayout = QtGui.QVBoxLayout(self.LeftColumn)
self.LeftColumnLayout.setSpacing(8)
self.LeftColumnLayout.setMargin(0)
self.LeftColumnLayout.setObjectName("LeftColumnLayout")
self.MonitorGroupBox = QtGui.QGroupBox(self.LeftColumn)
self.MonitorGroupBox.setObjectName("MonitorGroupBox")
self.MonitorLayout = QtGui.QVBoxLayout(self.MonitorGroupBox)
self.MonitorLayout.setSpacing(8)
self.MonitorLayout.setMargin(8)
self.MonitorLayout.setObjectName("MonitorLayout")
self.MonitorLabel = QtGui.QLabel(self.MonitorGroupBox)
self.MonitorLabel.setObjectName("MonitorLabel")
self.MonitorLayout.addWidget(self.MonitorLabel)
self.MonitorComboBox = QtGui.QComboBox(self.MonitorGroupBox)
self.MonitorComboBox.setObjectName("MonitorComboBox")
self.MonitorComboBox.addItem(QtCore.QString())
self.MonitorComboBox.addItem(QtCore.QString())
self.MonitorLayout.addWidget(self.MonitorComboBox)
self.LeftColumnLayout.addWidget(self.MonitorGroupBox)
self.FontSizeGroupBox = QtGui.QGroupBox(self.LeftColumn)
self.FontSizeGroupBox.setObjectName("FontSizeGroupBox")
self.FontSizeLayout = QtGui.QVBoxLayout(self.FontSizeGroupBox)
self.FontSizeLayout.setSpacing(8)
self.FontSizeLayout.setMargin(8)
self.FontSizeLayout.setObjectName("FontSizeLayout")
self.AutoResizeRadioButton = QtGui.QRadioButton(self.FontSizeGroupBox)
self.AutoResizeRadioButton.setChecked(True)
self.AutoResizeRadioButton.setObjectName("AutoResizeRadioButton")
self.FontSizeLayout.addWidget(self.AutoResizeRadioButton)
self.WrapLinesRadioButton = QtGui.QRadioButton(self.FontSizeGroupBox)
self.WrapLinesRadioButton.setObjectName("WrapLinesRadioButton")
self.FontSizeLayout.addWidget(self.WrapLinesRadioButton)
self.LeftColumnLayout.addWidget(self.FontSizeGroupBox)
self.SongDisplayGroupBox = QtGui.QGroupBox(self.LeftColumn)
self.SongDisplayGroupBox.setObjectName("SongDisplayGroupBox")
self.SongDisplayLayout = QtGui.QVBoxLayout(self.SongDisplayGroupBox)
self.SongDisplayLayout.setSpacing(8)
self.SongDisplayLayout.setMargin(8)
self.SongDisplayLayout.setObjectName("SongDisplayLayout")
self.EnableCreditsCheckBox = QtGui.QCheckBox(self.SongDisplayGroupBox)
self.EnableCreditsCheckBox.setChecked(True)
self.EnableCreditsCheckBox.setObjectName("EnableCreditsCheckBox")
self.SongDisplayLayout.addWidget(self.EnableCreditsCheckBox)
self.LeftColumnLayout.addWidget(self.SongDisplayGroupBox)
self.BlankScreenGroupBox = QtGui.QGroupBox(self.LeftColumn)
self.BlankScreenGroupBox.setObjectName("BlankScreenGroupBox")
self.BlankScreenLayout = QtGui.QVBoxLayout(self.BlankScreenGroupBox)
self.BlankScreenLayout.setSpacing(8)
self.BlankScreenLayout.setMargin(8)
self.BlankScreenLayout.setObjectName("BlankScreenLayout")
self.WarningCheckBox = QtGui.QCheckBox(self.BlankScreenGroupBox)
self.WarningCheckBox.setObjectName("WarningCheckBox")
self.BlankScreenLayout.addWidget(self.WarningCheckBox)
self.LeftColumnLayout.addWidget(self.BlankScreenGroupBox)
self.AutoOpenGroupBox = QtGui.QGroupBox(self.LeftColumn)
self.AutoOpenGroupBox.setObjectName("AutoOpenGroupBox")
self.AutoOpenLayout = QtGui.QVBoxLayout(self.AutoOpenGroupBox)
self.AutoOpenLayout.setObjectName("AutoOpenLayout")
self.AutoOpenCheckBox = QtGui.QCheckBox(self.AutoOpenGroupBox)
self.AutoOpenCheckBox.setObjectName("AutoOpenCheckBox")
self.AutoOpenLayout.addWidget(self.AutoOpenCheckBox)
self.LeftColumnLayout.addWidget(self.AutoOpenGroupBox)
spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.LeftColumnLayout.addItem(spacerItem)
self.DisplayTabLayout.addWidget(self.LeftColumn)
self.RightColumn = QtGui.QWidget(self.DisplayTab)
self.RightColumn.setObjectName("RightColumn")
self.RightColumnLayout = QtGui.QVBoxLayout(self.RightColumn)
self.RightColumnLayout.setSpacing(8)
self.RightColumnLayout.setMargin(0)
self.RightColumnLayout.setObjectName("RightColumnLayout")
self.DisplayTabLayout.addWidget(self.RightColumn)
self.SettingsTabWidget.addTab(self.DisplayTab, "")
self.Alerts = QtGui.QWidget()
self.Alerts.setObjectName("Alerts")
self.formLayout_2 = QtGui.QFormLayout(self.Alerts)
self.formLayout_2.setObjectName("formLayout_2")
self.AlertGroupBox = QtGui.QGroupBox(self.Alerts)
self.AlertGroupBox.setObjectName("AlertGroupBox")
self.gridLayout = QtGui.QGridLayout(self.AlertGroupBox)
self.gridLayout.setMargin(8)
self.gridLayout.setObjectName("gridLayout")
self.FontLabel = QtGui.QLabel(self.AlertGroupBox)
self.FontLabel.setObjectName("FontLabel")
self.gridLayout.addWidget(self.FontLabel, 0, 0, 1, 1)
self.FontComboBox = QtGui.QFontComboBox(self.AlertGroupBox)
self.FontComboBox.setObjectName("FontComboBox")
self.gridLayout.addWidget(self.FontComboBox, 1, 0, 1, 1)
self.ColorWidget = QtGui.QWidget(self.AlertGroupBox)
self.ColorWidget.setObjectName("ColorWidget")
self.ColorLayout = QtGui.QHBoxLayout(self.ColorWidget)
self.ColorLayout.setSpacing(8)
self.ColorLayout.setMargin(0)
self.ColorLayout.setObjectName("ColorLayout")
self.FontColorLabel = QtGui.QLabel(self.ColorWidget)
self.FontColorLabel.setObjectName("FontColorLabel")
self.ColorLayout.addWidget(self.FontColorLabel)
self.FontColorPanel = QtGui.QGraphicsView(self.ColorWidget)
self.FontColorPanel.setMinimumSize(QtCore.QSize(24, 24))
self.FontColorPanel.setMaximumSize(QtCore.QSize(24, 24))
self.FontColorPanel.setObjectName("FontColorPanel")
self.ColorLayout.addWidget(self.FontColorPanel)
spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.ColorLayout.addItem(spacerItem1)
self.BackgroundColorLabel = QtGui.QLabel(self.ColorWidget)
self.BackgroundColorLabel.setObjectName("BackgroundColorLabel")
self.ColorLayout.addWidget(self.BackgroundColorLabel)
self.BackgroundColorPanel = QtGui.QGraphicsView(self.ColorWidget)
self.BackgroundColorPanel.setMinimumSize(QtCore.QSize(24, 24))
self.BackgroundColorPanel.setMaximumSize(QtCore.QSize(24, 24))
self.BackgroundColorPanel.setObjectName("BackgroundColorPanel")
self.ColorLayout.addWidget(self.BackgroundColorPanel)
self.gridLayout.addWidget(self.ColorWidget, 2, 0, 1, 1)
self.FontPreview = QtGui.QGraphicsView(self.AlertGroupBox)
self.FontPreview.setMaximumSize(QtCore.QSize(16777215, 64))
self.FontPreview.setObjectName("FontPreview")
self.gridLayout.addWidget(self.FontPreview, 3, 0, 1, 1)
self.LengthWidget = QtGui.QWidget(self.AlertGroupBox)
self.LengthWidget.setObjectName("LengthWidget")
self.LengthLayout = QtGui.QHBoxLayout(self.LengthWidget)
self.LengthLayout.setSpacing(8)
self.LengthLayout.setMargin(0)
self.LengthLayout.setObjectName("LengthLayout")
self.LengthLabel = QtGui.QLabel(self.LengthWidget)
self.LengthLabel.setObjectName("LengthLabel")
self.LengthLayout.addWidget(self.LengthLabel)
self.LengthSpinBox = QtGui.QSpinBox(self.LengthWidget)
self.LengthSpinBox.setProperty("value", QtCore.QVariant(5))
self.LengthSpinBox.setMaximum(180)
self.LengthSpinBox.setObjectName("LengthSpinBox")
self.LengthLayout.addWidget(self.LengthSpinBox)
spacerItem2 = QtGui.QSpacerItem(147, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.LengthLayout.addItem(spacerItem2)
self.gridLayout.addWidget(self.LengthWidget, 4, 0, 1, 1)
self.formLayout_2.setWidget(0, QtGui.QFormLayout.LabelRole, self.AlertGroupBox)
self.SettingsTabWidget.addTab(self.Alerts, "")
self.ThemesTab = QtGui.QWidget() self.ThemesTab = QtGui.QWidget()
self.ThemesTab.setObjectName("ThemesTab") self.ThemesTab.setObjectName("ThemesTab")
self.ThemesTabLayout = QtGui.QHBoxLayout(self.ThemesTab) self.ThemesTabLayout = QtGui.QHBoxLayout(self.ThemesTab)
@ -94,140 +272,7 @@ class SettingsDialog(object):
self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.GlobalLevelLabel) self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.GlobalLevelLabel)
self.ThemesTabLayout.addWidget(self.LevelGroupBox) self.ThemesTabLayout.addWidget(self.LevelGroupBox)
self.SettingsTabWidget.addTab(self.ThemesTab, "") self.SettingsTabWidget.addTab(self.ThemesTab, "")
self.DisplayTab = QtGui.QWidget()
self.DisplayTab.setObjectName("DisplayTab")
self.DisplayTabLayout = QtGui.QHBoxLayout(self.DisplayTab)
self.DisplayTabLayout.setSpacing(8)
self.DisplayTabLayout.setMargin(8)
self.DisplayTabLayout.setObjectName("DisplayTabLayout")
self.LeftColumn = QtGui.QWidget(self.DisplayTab)
self.LeftColumn.setObjectName("LeftColumn")
self.LeftColumnLayout = QtGui.QVBoxLayout(self.LeftColumn)
self.LeftColumnLayout.setSpacing(8)
self.LeftColumnLayout.setMargin(0)
self.LeftColumnLayout.setObjectName("LeftColumnLayout")
self.MonitorGroupBox = QtGui.QGroupBox(self.LeftColumn)
self.MonitorGroupBox.setObjectName("MonitorGroupBox")
self.MonitorLayout = QtGui.QVBoxLayout(self.MonitorGroupBox)
self.MonitorLayout.setSpacing(8)
self.MonitorLayout.setMargin(8)
self.MonitorLayout.setObjectName("MonitorLayout")
self.MonitorLabel = QtGui.QLabel(self.MonitorGroupBox)
self.MonitorLabel.setObjectName("MonitorLabel")
self.MonitorLayout.addWidget(self.MonitorLabel)
self.MonitorComboBox = QtGui.QComboBox(self.MonitorGroupBox)
self.MonitorComboBox.setObjectName("MonitorComboBox")
self.MonitorComboBox.addItem(QtCore.QString())
self.MonitorComboBox.addItem(QtCore.QString())
self.MonitorLayout.addWidget(self.MonitorComboBox)
self.LeftColumnLayout.addWidget(self.MonitorGroupBox)
self.FontSizeGroupBox = QtGui.QGroupBox(self.LeftColumn)
self.FontSizeGroupBox.setObjectName("FontSizeGroupBox")
self.FontSizeLayout = QtGui.QVBoxLayout(self.FontSizeGroupBox)
self.FontSizeLayout.setSpacing(8)
self.FontSizeLayout.setMargin(8)
self.FontSizeLayout.setObjectName("FontSizeLayout")
self.AutoResizeRadioButton = QtGui.QRadioButton(self.FontSizeGroupBox)
self.AutoResizeRadioButton.setChecked(True)
self.AutoResizeRadioButton.setObjectName("AutoResizeRadioButton")
self.FontSizeLayout.addWidget(self.AutoResizeRadioButton)
self.WrapLinesRadioButton = QtGui.QRadioButton(self.FontSizeGroupBox)
self.WrapLinesRadioButton.setObjectName("WrapLinesRadioButton")
self.FontSizeLayout.addWidget(self.WrapLinesRadioButton)
self.LeftColumnLayout.addWidget(self.FontSizeGroupBox)
self.SongDisplayGroupBox = QtGui.QGroupBox(self.LeftColumn)
self.SongDisplayGroupBox.setObjectName("SongDisplayGroupBox")
self.SongDisplayLayout = QtGui.QVBoxLayout(self.SongDisplayGroupBox)
self.SongDisplayLayout.setSpacing(8)
self.SongDisplayLayout.setMargin(8)
self.SongDisplayLayout.setObjectName("SongDisplayLayout")
self.EnableCreditsCheckBox = QtGui.QCheckBox(self.SongDisplayGroupBox)
self.EnableCreditsCheckBox.setChecked(True)
self.EnableCreditsCheckBox.setObjectName("EnableCreditsCheckBox")
self.SongDisplayLayout.addWidget(self.EnableCreditsCheckBox)
self.LeftColumnLayout.addWidget(self.SongDisplayGroupBox)
spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.LeftColumnLayout.addItem(spacerItem)
self.DisplayTabLayout.addWidget(self.LeftColumn)
self.RightColumn = QtGui.QWidget(self.DisplayTab)
self.RightColumn.setObjectName("RightColumn")
self.RightColumnLayout = QtGui.QVBoxLayout(self.RightColumn)
self.RightColumnLayout.setSpacing(8)
self.RightColumnLayout.setMargin(0)
self.RightColumnLayout.setObjectName("RightColumnLayout")
self.VerseDisplayGroupBox = QtGui.QGroupBox(self.RightColumn)
self.VerseDisplayGroupBox.setObjectName("VerseDisplayGroupBox")
self.VerseDisplayLayout = QtGui.QVBoxLayout(self.VerseDisplayGroupBox)
self.VerseDisplayLayout.setSpacing(8)
self.VerseDisplayLayout.setMargin(8)
self.VerseDisplayLayout.setObjectName("VerseDisplayLayout")
self.VerseTypeWidget = QtGui.QWidget(self.VerseDisplayGroupBox)
self.VerseTypeWidget.setObjectName("VerseTypeWidget")
self.VerseTypeLayout = QtGui.QHBoxLayout(self.VerseTypeWidget)
self.VerseTypeLayout.setSpacing(8)
self.VerseTypeLayout.setMargin(0)
self.VerseTypeLayout.setObjectName("VerseTypeLayout")
self.VerseRadioButton = QtGui.QRadioButton(self.VerseTypeWidget)
self.VerseRadioButton.setObjectName("VerseRadioButton")
self.VerseTypeLayout.addWidget(self.VerseRadioButton)
self.ParagraphRadioButton = QtGui.QRadioButton(self.VerseTypeWidget)
self.ParagraphRadioButton.setChecked(True)
self.ParagraphRadioButton.setObjectName("ParagraphRadioButton")
self.VerseTypeLayout.addWidget(self.ParagraphRadioButton)
self.VerseDisplayLayout.addWidget(self.VerseTypeWidget)
self.NewChaptersCheckBox = QtGui.QCheckBox(self.VerseDisplayGroupBox)
self.NewChaptersCheckBox.setObjectName("NewChaptersCheckBox")
self.VerseDisplayLayout.addWidget(self.NewChaptersCheckBox)
self.DisplayStyleWidget = QtGui.QWidget(self.VerseDisplayGroupBox)
self.DisplayStyleWidget.setObjectName("DisplayStyleWidget")
self.DisplayStyleLayout = QtGui.QHBoxLayout(self.DisplayStyleWidget)
self.DisplayStyleLayout.setSpacing(8)
self.DisplayStyleLayout.setMargin(0)
self.DisplayStyleLayout.setObjectName("DisplayStyleLayout")
self.DisplayStyleLabel = QtGui.QLabel(self.DisplayStyleWidget)
self.DisplayStyleLabel.setObjectName("DisplayStyleLabel")
self.DisplayStyleLayout.addWidget(self.DisplayStyleLabel)
self.DisplayStyleComboBox = QtGui.QComboBox(self.DisplayStyleWidget)
self.DisplayStyleComboBox.setObjectName("DisplayStyleComboBox")
self.DisplayStyleComboBox.addItem(QtCore.QString())
self.DisplayStyleComboBox.addItem(QtCore.QString())
self.DisplayStyleComboBox.addItem(QtCore.QString())
self.DisplayStyleComboBox.addItem(QtCore.QString())
self.DisplayStyleLayout.addWidget(self.DisplayStyleComboBox)
spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.DisplayStyleLayout.addItem(spacerItem1)
self.VerseDisplayLayout.addWidget(self.DisplayStyleWidget)
self.ChangeNoteLabel = QtGui.QLabel(self.VerseDisplayGroupBox)
self.ChangeNoteLabel.setObjectName("ChangeNoteLabel")
self.VerseDisplayLayout.addWidget(self.ChangeNoteLabel)
self.RightColumnLayout.addWidget(self.VerseDisplayGroupBox)
self.BlankScreenGroupBox = QtGui.QGroupBox(self.RightColumn)
self.BlankScreenGroupBox.setObjectName("BlankScreenGroupBox")
self.BlankScreenLayout = QtGui.QVBoxLayout(self.BlankScreenGroupBox)
self.BlankScreenLayout.setSpacing(8)
self.BlankScreenLayout.setMargin(8)
self.BlankScreenLayout.setObjectName("BlankScreenLayout")
self.WarningCheckBox = QtGui.QCheckBox(self.BlankScreenGroupBox)
self.WarningCheckBox.setObjectName("WarningCheckBox")
self.BlankScreenLayout.addWidget(self.WarningCheckBox)
self.RightColumnLayout.addWidget(self.BlankScreenGroupBox)
self.VideoModeGroupBox = QtGui.QGroupBox(self.RightColumn)
self.VideoModeGroupBox.setObjectName("VideoModeGroupBox")
self.VideoModeLayout = QtGui.QVBoxLayout(self.VideoModeGroupBox)
self.VideoModeLayout.setSpacing(8)
self.VideoModeLayout.setMargin(8)
self.VideoModeLayout.setObjectName("VideoModeLayout")
self.UseVMRCheckBox = QtGui.QCheckBox(self.VideoModeGroupBox)
self.UseVMRCheckBox.setObjectName("UseVMRCheckBox")
self.VideoModeLayout.addWidget(self.UseVMRCheckBox)
self.UseVMRLabel = QtGui.QLabel(self.VideoModeGroupBox)
self.UseVMRLabel.setObjectName("UseVMRLabel")
self.VideoModeLayout.addWidget(self.UseVMRLabel)
self.RightColumnLayout.addWidget(self.VideoModeGroupBox)
spacerItem2 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.RightColumnLayout.addItem(spacerItem2)
self.DisplayTabLayout.addWidget(self.RightColumn)
self.SettingsTabWidget.addTab(self.DisplayTab, "")
self.SlideTab = QtGui.QWidget() self.SlideTab = QtGui.QWidget()
self.SlideTab.setObjectName("SlideTab") self.SlideTab.setObjectName("SlideTab")
self.SlideLayout = QtGui.QHBoxLayout(self.SlideTab) self.SlideLayout = QtGui.QHBoxLayout(self.SlideTab)
@ -240,67 +285,8 @@ class SettingsDialog(object):
self.SlideLeftLayout.setSpacing(8) self.SlideLeftLayout.setSpacing(8)
self.SlideLeftLayout.setMargin(0) self.SlideLeftLayout.setMargin(0)
self.SlideLeftLayout.setObjectName("SlideLeftLayout") self.SlideLeftLayout.setObjectName("SlideLeftLayout")
self.AlertGroupBox = QtGui.QGroupBox(self.SlideLeftColumn) spacerItem3 = QtGui.QSpacerItem(20, 94, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.AlertGroupBox.setObjectName("AlertGroupBox") self.SlideLeftLayout.addItem(spacerItem3)
self.AlertLayout = QtGui.QVBoxLayout(self.AlertGroupBox)
self.AlertLayout.setSpacing(8)
self.AlertLayout.setMargin(8)
self.AlertLayout.setObjectName("AlertLayout")
self.FontLabel = QtGui.QLabel(self.AlertGroupBox)
self.FontLabel.setObjectName("FontLabel")
self.AlertLayout.addWidget(self.FontLabel)
self.FontComboBox = QtGui.QFontComboBox(self.AlertGroupBox)
self.FontComboBox.setObjectName("FontComboBox")
self.AlertLayout.addWidget(self.FontComboBox)
self.ColorWidget = QtGui.QWidget(self.AlertGroupBox)
self.ColorWidget.setObjectName("ColorWidget")
self.ColorLayout = QtGui.QHBoxLayout(self.ColorWidget)
self.ColorLayout.setSpacing(8)
self.ColorLayout.setMargin(0)
self.ColorLayout.setObjectName("ColorLayout")
self.FontColorLabel = QtGui.QLabel(self.ColorWidget)
self.FontColorLabel.setObjectName("FontColorLabel")
self.ColorLayout.addWidget(self.FontColorLabel)
self.FontColorPanel = QtGui.QGraphicsView(self.ColorWidget)
self.FontColorPanel.setMinimumSize(QtCore.QSize(24, 24))
self.FontColorPanel.setMaximumSize(QtCore.QSize(24, 24))
self.FontColorPanel.setObjectName("FontColorPanel")
self.ColorLayout.addWidget(self.FontColorPanel)
spacerItem3 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.ColorLayout.addItem(spacerItem3)
self.BackgroundColorLabel = QtGui.QLabel(self.ColorWidget)
self.BackgroundColorLabel.setObjectName("BackgroundColorLabel")
self.ColorLayout.addWidget(self.BackgroundColorLabel)
self.BackgroundColorPanel = QtGui.QGraphicsView(self.ColorWidget)
self.BackgroundColorPanel.setMinimumSize(QtCore.QSize(24, 24))
self.BackgroundColorPanel.setMaximumSize(QtCore.QSize(24, 24))
self.BackgroundColorPanel.setObjectName("BackgroundColorPanel")
self.ColorLayout.addWidget(self.BackgroundColorPanel)
self.AlertLayout.addWidget(self.ColorWidget)
self.FontPreview = QtGui.QGraphicsView(self.AlertGroupBox)
self.FontPreview.setMaximumSize(QtCore.QSize(16777215, 64))
self.FontPreview.setObjectName("FontPreview")
self.AlertLayout.addWidget(self.FontPreview)
self.LengthWidget = QtGui.QWidget(self.AlertGroupBox)
self.LengthWidget.setObjectName("LengthWidget")
self.LengthLayout = QtGui.QHBoxLayout(self.LengthWidget)
self.LengthLayout.setSpacing(8)
self.LengthLayout.setMargin(0)
self.LengthLayout.setObjectName("LengthLayout")
self.LengthLabel = QtGui.QLabel(self.LengthWidget)
self.LengthLabel.setObjectName("LengthLabel")
self.LengthLayout.addWidget(self.LengthLabel)
self.LengthSpinBox = QtGui.QSpinBox(self.LengthWidget)
self.LengthSpinBox.setMaximum(180)
self.LengthSpinBox.setProperty("value", QtCore.QVariant(5))
self.LengthSpinBox.setObjectName("LengthSpinBox")
self.LengthLayout.addWidget(self.LengthSpinBox)
spacerItem4 = QtGui.QSpacerItem(147, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.LengthLayout.addItem(spacerItem4)
self.AlertLayout.addWidget(self.LengthWidget)
self.SlideLeftLayout.addWidget(self.AlertGroupBox)
spacerItem5 = QtGui.QSpacerItem(20, 94, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.SlideLeftLayout.addItem(spacerItem5)
self.SlideLayout.addWidget(self.SlideLeftColumn) self.SlideLayout.addWidget(self.SlideLeftColumn)
self.widget = QtGui.QWidget(self.SlideTab) self.widget = QtGui.QWidget(self.SlideTab)
self.widget.setObjectName("widget") self.widget.setObjectName("widget")
@ -345,34 +331,18 @@ class SettingsDialog(object):
self.UpdateIntervalLabel.setObjectName("UpdateIntervalLabel") self.UpdateIntervalLabel.setObjectName("UpdateIntervalLabel")
self.IntervalLayout.addWidget(self.UpdateIntervalLabel) self.IntervalLayout.addWidget(self.UpdateIntervalLabel)
self.IntervalSpinBox = QtGui.QSpinBox(self.IntervalWidget) self.IntervalSpinBox = QtGui.QSpinBox(self.IntervalWidget)
self.IntervalSpinBox.setMaximum(600)
self.IntervalSpinBox.setProperty("value", QtCore.QVariant(30)) self.IntervalSpinBox.setProperty("value", QtCore.QVariant(30))
self.IntervalSpinBox.setMaximum(600)
self.IntervalSpinBox.setObjectName("IntervalSpinBox") self.IntervalSpinBox.setObjectName("IntervalSpinBox")
self.IntervalLayout.addWidget(self.IntervalSpinBox) self.IntervalLayout.addWidget(self.IntervalSpinBox)
spacerItem6 = QtGui.QSpacerItem(139, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) spacerItem4 = QtGui.QSpacerItem(139, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.IntervalLayout.addItem(spacerItem6) self.IntervalLayout.addItem(spacerItem4)
self.TimedCyclingLayout.addWidget(self.IntervalWidget) self.TimedCyclingLayout.addWidget(self.IntervalWidget)
self.EnabledCyclingCheckBox = QtGui.QCheckBox(self.TimedCyclingGroupBox) self.EnabledCyclingCheckBox = QtGui.QCheckBox(self.TimedCyclingGroupBox)
self.EnabledCyclingCheckBox.setObjectName("EnabledCyclingCheckBox") self.EnabledCyclingCheckBox.setObjectName("EnabledCyclingCheckBox")
self.TimedCyclingLayout.addWidget(self.EnabledCyclingCheckBox) self.TimedCyclingLayout.addWidget(self.EnabledCyclingCheckBox)
self.SlideRightLayout.addWidget(self.TimedCyclingGroupBox) self.SlideRightLayout.addWidget(self.TimedCyclingGroupBox)
spacerItem7 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.CCLIGroupBox = QtGui.QGroupBox(self.widget)
self.SlideRightLayout.addItem(spacerItem7)
self.SlideLayout.addWidget(self.widget)
self.SettingsTabWidget.addTab(self.SlideTab, "")
self.GeneralTab = QtGui.QWidget()
self.GeneralTab.setObjectName("GeneralTab")
self.GeneralLayout = QtGui.QHBoxLayout(self.GeneralTab)
self.GeneralLayout.setSpacing(8)
self.GeneralLayout.setMargin(8)
self.GeneralLayout.setObjectName("GeneralLayout")
self.GeneralLeftWidget = QtGui.QWidget(self.GeneralTab)
self.GeneralLeftWidget.setObjectName("GeneralLeftWidget")
self.GeneralLeftLayout = QtGui.QVBoxLayout(self.GeneralLeftWidget)
self.GeneralLeftLayout.setSpacing(8)
self.GeneralLeftLayout.setMargin(0)
self.GeneralLeftLayout.setObjectName("GeneralLeftLayout")
self.CCLIGroupBox = QtGui.QGroupBox(self.GeneralLeftWidget)
self.CCLIGroupBox.setObjectName("CCLIGroupBox") self.CCLIGroupBox.setObjectName("CCLIGroupBox")
self.CCLILayout = QtGui.QGridLayout(self.CCLIGroupBox) self.CCLILayout = QtGui.QGridLayout(self.CCLIGroupBox)
self.CCLILayout.setMargin(8) self.CCLILayout.setMargin(8)
@ -397,62 +367,127 @@ class SettingsDialog(object):
self.PasswordEdit.setEchoMode(QtGui.QLineEdit.Password) self.PasswordEdit.setEchoMode(QtGui.QLineEdit.Password)
self.PasswordEdit.setObjectName("PasswordEdit") self.PasswordEdit.setObjectName("PasswordEdit")
self.CCLILayout.addWidget(self.PasswordEdit, 2, 1, 1, 1) self.CCLILayout.addWidget(self.PasswordEdit, 2, 1, 1, 1)
self.GeneralLeftLayout.addWidget(self.CCLIGroupBox) self.SlideRightLayout.addWidget(self.CCLIGroupBox)
spacerItem8 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.SearchGroupBox_3 = QtGui.QGroupBox(self.widget)
self.GeneralLeftLayout.addItem(spacerItem8) self.SearchGroupBox_3.setObjectName("SearchGroupBox_3")
self.GeneralLayout.addWidget(self.GeneralLeftWidget) self.verticalLayout_3 = QtGui.QVBoxLayout(self.SearchGroupBox_3)
self.GeneralRightWidget = QtGui.QWidget(self.GeneralTab) self.verticalLayout_3.setObjectName("verticalLayout_3")
self.GeneralRightWidget.setObjectName("GeneralRightWidget") self.SearchCheckBox_3 = QtGui.QCheckBox(self.SearchGroupBox_3)
self.GeneralRightLayout = QtGui.QVBoxLayout(self.GeneralRightWidget) self.SearchCheckBox_3.setChecked(True)
self.GeneralRightLayout.setSpacing(8) self.SearchCheckBox_3.setObjectName("SearchCheckBox_3")
self.GeneralRightLayout.setMargin(0) self.verticalLayout_3.addWidget(self.SearchCheckBox_3)
self.GeneralRightLayout.setObjectName("GeneralRightLayout") self.SlideRightLayout.addWidget(self.SearchGroupBox_3)
self.AutoOpenGroupBox = QtGui.QGroupBox(self.GeneralRightWidget) spacerItem5 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.AutoOpenGroupBox.setObjectName("AutoOpenGroupBox") self.SlideRightLayout.addItem(spacerItem5)
self.AutoOpenLayout = QtGui.QVBoxLayout(self.AutoOpenGroupBox) self.SlideLayout.addWidget(self.widget)
self.AutoOpenLayout.setObjectName("AutoOpenLayout") self.SettingsTabWidget.addTab(self.SlideTab, "")
self.AutoOpenCheckBox = QtGui.QCheckBox(self.AutoOpenGroupBox)
self.AutoOpenCheckBox.setObjectName("AutoOpenCheckBox") self.Bibles = QtGui.QWidget()
self.AutoOpenLayout.addWidget(self.AutoOpenCheckBox) self.Bibles.setObjectName("Bibles")
self.GeneralRightLayout.addWidget(self.AutoOpenGroupBox) self.formLayout_3 = QtGui.QFormLayout(self.Bibles)
self.SearchGroupBox = QtGui.QGroupBox(self.GeneralRightWidget) self.formLayout_3.setObjectName("formLayout_3")
self.SearchGroupBox.setObjectName("SearchGroupBox") self.VerseDisplayGroupBox = QtGui.QGroupBox(self.Bibles)
self.verticalLayout = QtGui.QVBoxLayout(self.SearchGroupBox) self.VerseDisplayGroupBox.setObjectName("VerseDisplayGroupBox")
self.verticalLayout.setObjectName("verticalLayout") self.gridLayout_2 = QtGui.QGridLayout(self.VerseDisplayGroupBox)
self.SearchCheckBox = QtGui.QCheckBox(self.SearchGroupBox) self.gridLayout_2.setMargin(8)
self.SearchCheckBox.setChecked(True) self.gridLayout_2.setObjectName("gridLayout_2")
self.SearchCheckBox.setObjectName("SearchCheckBox") self.VerseTypeWidget = QtGui.QWidget(self.VerseDisplayGroupBox)
self.verticalLayout.addWidget(self.SearchCheckBox) self.VerseTypeWidget.setObjectName("VerseTypeWidget")
self.GeneralRightLayout.addWidget(self.SearchGroupBox) self.VerseTypeLayout = QtGui.QHBoxLayout(self.VerseTypeWidget)
spacerItem9 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.VerseTypeLayout.setSpacing(8)
self.GeneralRightLayout.addItem(spacerItem9) self.VerseTypeLayout.setMargin(0)
self.GeneralLayout.addWidget(self.GeneralRightWidget) self.VerseTypeLayout.setObjectName("VerseTypeLayout")
self.SettingsTabWidget.addTab(self.GeneralTab, "") self.VerseRadioButton = QtGui.QRadioButton(self.VerseTypeWidget)
self.SettingsLayout.addWidget(self.SettingsTabWidget) self.VerseRadioButton.setObjectName("VerseRadioButton")
self.ButtonsBar = QtGui.QWidget(self.SettingsDialog) self.VerseTypeLayout.addWidget(self.VerseRadioButton)
self.ButtonsBar.setObjectName("ButtonsBar") self.ParagraphRadioButton = QtGui.QRadioButton(self.VerseTypeWidget)
self.ButtonsLayout = QtGui.QHBoxLayout(self.ButtonsBar) self.ParagraphRadioButton.setChecked(True)
self.ButtonsLayout.setSpacing(0) self.ParagraphRadioButton.setObjectName("ParagraphRadioButton")
self.ButtonsLayout.setMargin(0) self.VerseTypeLayout.addWidget(self.ParagraphRadioButton)
self.ButtonsLayout.setObjectName("ButtonsLayout") self.gridLayout_2.addWidget(self.VerseTypeWidget, 0, 0, 1, 1)
spacerItem10 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.NewChaptersCheckBox = QtGui.QCheckBox(self.VerseDisplayGroupBox)
self.ButtonsLayout.addItem(spacerItem10) self.NewChaptersCheckBox.setObjectName("NewChaptersCheckBox")
self.ButtonsBox = QtGui.QDialogButtonBox(self.ButtonsBar) self.gridLayout_2.addWidget(self.NewChaptersCheckBox, 1, 0, 1, 1)
self.ButtonsBox.setMaximumSize(QtCore.QSize(341, 16777215)) self.DisplayStyleWidget = QtGui.QWidget(self.VerseDisplayGroupBox)
self.ButtonsBox.setOrientation(QtCore.Qt.Horizontal) self.DisplayStyleWidget.setObjectName("DisplayStyleWidget")
self.ButtonsBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok) self.DisplayStyleLayout = QtGui.QHBoxLayout(self.DisplayStyleWidget)
self.ButtonsBox.setObjectName("ButtonsBox") self.DisplayStyleLayout.setSpacing(8)
self.ButtonsLayout.addWidget(self.ButtonsBox) self.DisplayStyleLayout.setMargin(0)
self.SettingsLayout.addWidget(self.ButtonsBar) self.DisplayStyleLayout.setObjectName("DisplayStyleLayout")
self.DisplayStyleLabel = QtGui.QLabel(self.DisplayStyleWidget)
self.DisplayStyleLabel.setObjectName("DisplayStyleLabel")
self.DisplayStyleLayout.addWidget(self.DisplayStyleLabel)
self.DisplayStyleComboBox = QtGui.QComboBox(self.DisplayStyleWidget)
self.DisplayStyleComboBox.setObjectName("DisplayStyleComboBox")
self.DisplayStyleComboBox.addItem(QtCore.QString())
self.DisplayStyleComboBox.addItem(QtCore.QString())
self.DisplayStyleComboBox.addItem(QtCore.QString())
self.DisplayStyleComboBox.addItem(QtCore.QString())
self.DisplayStyleLayout.addWidget(self.DisplayStyleComboBox)
spacerItem6 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.DisplayStyleLayout.addItem(spacerItem6)
self.gridLayout_2.addWidget(self.DisplayStyleWidget, 2, 0, 1, 1)
self.ChangeNoteLabel = QtGui.QLabel(self.VerseDisplayGroupBox)
self.ChangeNoteLabel.setObjectName("ChangeNoteLabel")
self.gridLayout_2.addWidget(self.ChangeNoteLabel, 3, 0, 1, 1)
self.formLayout_3.setWidget(0, QtGui.QFormLayout.LabelRole, self.VerseDisplayGroupBox)
self.SearchGroupBox_2 = QtGui.QGroupBox(self.Bibles)
self.SearchGroupBox_2.setObjectName("SearchGroupBox_2")
self.verticalLayout_2 = QtGui.QVBoxLayout(self.SearchGroupBox_2)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.SearchCheckBox_2 = QtGui.QCheckBox(self.SearchGroupBox_2)
self.SearchCheckBox_2.setChecked(True)
self.SearchCheckBox_2.setObjectName("SearchCheckBox_2")
self.verticalLayout_2.addWidget(self.SearchCheckBox_2)
self.formLayout_3.setWidget(1, QtGui.QFormLayout.LabelRole, self.SearchGroupBox_2)
self.SettingsTabWidget.addTab(self.Bibles, "")
#### Core Code below here
for plugin in self.plugin_list:
settings_tab_item = plugin.get_settings_tab_item()
if settings_tab_item is not None:
self.SettingsTabWidget.addTab(settings_tab_item, settings_tab_item.tabText)
self.SaveButton = QtGui.QPushButton(SettingsDialog)
self.SaveButton.setGeometry(QtCore.QRect(490, 470, 81, 26))
self.SaveButton.setObjectName("SaveButton")
self.CancelButton = QtGui.QPushButton(SettingsDialog)
self.CancelButton.setGeometry(QtCore.QRect(400, 470, 81, 26))
self.CancelButton.setObjectName("CancelButton")
self.ResetButton = QtGui.QPushButton(SettingsDialog)
self.ResetButton.setGeometry(QtCore.QRect(310, 470, 81, 26))
self.ResetButton.setObjectName("ResetButton")
QtCore.QObject.connect(self.CancelButton, QtCore.SIGNAL("clicked()"), self.close)
self.retranslateUi() self.retranslateUi(SettingsDialog)
self.SettingsTabWidget.setCurrentIndex(0) self.SettingsTabWidget.setCurrentIndex(5)
QtCore.QObject.connect(self.ButtonsBox, QtCore.SIGNAL("accepted()"), self.SettingsDialog.accept) QtCore.QMetaObject.connectSlotsByName(SettingsDialog)
QtCore.QObject.connect(self.ButtonsBox, QtCore.SIGNAL("rejected()"), self.SettingsDialog.reject)
QtCore.QMetaObject.connectSlotsByName(self.SettingsDialog)
def retranslateUi(self): def retranslateUi(self, SettingsDialog):
self.SettingsDialog.setWindowTitle(QtGui.QApplication.translate("SettingsDialog", "Settings", None, QtGui.QApplication.UnicodeUTF8)) SettingsDialog.setWindowTitle(QtGui.QApplication.translate("SettingsDialog", "Settings", None, QtGui.QApplication.UnicodeUTF8))
self.MonitorGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "Monitors", None, QtGui.QApplication.UnicodeUTF8))
self.MonitorLabel.setText(QtGui.QApplication.translate("SettingsDialog", "Select monitor for output display:", None, QtGui.QApplication.UnicodeUTF8))
self.MonitorComboBox.setItemText(0, QtGui.QApplication.translate("SettingsDialog", "Monitor 1 on X11 Windowing System", None, QtGui.QApplication.UnicodeUTF8))
self.MonitorComboBox.setItemText(1, QtGui.QApplication.translate("SettingsDialog", "Monitor 2 on X11 Windowing System", None, QtGui.QApplication.UnicodeUTF8))
self.FontSizeGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "Font Size", None, QtGui.QApplication.UnicodeUTF8))
self.AutoResizeRadioButton.setText(QtGui.QApplication.translate("SettingsDialog", "Automatically resize font to fit text to slide", None, QtGui.QApplication.UnicodeUTF8))
self.WrapLinesRadioButton.setText(QtGui.QApplication.translate("SettingsDialog", "Wrap long lines to keep desired font", None, QtGui.QApplication.UnicodeUTF8))
self.SongDisplayGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "Song Display", None, QtGui.QApplication.UnicodeUTF8))
self.EnableCreditsCheckBox.setText(QtGui.QApplication.translate("SettingsDialog", "Enable displaying of song credits", None, QtGui.QApplication.UnicodeUTF8))
self.BlankScreenGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "Blank Screen", None, QtGui.QApplication.UnicodeUTF8))
self.WarningCheckBox.setText(QtGui.QApplication.translate("SettingsDialog", "Show warning on startup", None, QtGui.QApplication.UnicodeUTF8))
self.AutoOpenGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "Auto Open Last Service", None, QtGui.QApplication.UnicodeUTF8))
self.AutoOpenCheckBox.setText(QtGui.QApplication.translate("SettingsDialog", "Automatically open the last service at startup", None, QtGui.QApplication.UnicodeUTF8))
self.SettingsTabWidget.setTabText(self.SettingsTabWidget.indexOf(self.DisplayTab), QtGui.QApplication.translate("SettingsDialog", "Song Themes", None, QtGui.QApplication.UnicodeUTF8))
self.AlertGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "Alerts", None, QtGui.QApplication.UnicodeUTF8))
self.FontLabel.setText(QtGui.QApplication.translate("SettingsDialog", "Font Name:", None, QtGui.QApplication.UnicodeUTF8))
self.FontColorLabel.setText(QtGui.QApplication.translate("SettingsDialog", "Font Color:", None, QtGui.QApplication.UnicodeUTF8))
self.BackgroundColorLabel.setText(QtGui.QApplication.translate("SettingsDialog", "Background Color:", None, QtGui.QApplication.UnicodeUTF8))
self.LengthLabel.setText(QtGui.QApplication.translate("SettingsDialog", "Display length:", None, QtGui.QApplication.UnicodeUTF8))
self.LengthSpinBox.setSuffix(QtGui.QApplication.translate("SettingsDialog", "s", None, QtGui.QApplication.UnicodeUTF8))
self.SettingsTabWidget.setTabText(self.SettingsTabWidget.indexOf(self.Alerts), QtGui.QApplication.translate("SettingsDialog", "Alerts", None, QtGui.QApplication.UnicodeUTF8))
self.GlobalGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "Global theme", None, QtGui.QApplication.UnicodeUTF8)) self.GlobalGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "Global theme", None, QtGui.QApplication.UnicodeUTF8))
self.DefaultComboBox.setItemText(0, QtGui.QApplication.translate("SettingsDialog", "African Sunset", None, QtGui.QApplication.UnicodeUTF8)) self.DefaultComboBox.setItemText(0, QtGui.QApplication.translate("SettingsDialog", "African Sunset", None, QtGui.QApplication.UnicodeUTF8))
self.DefaultComboBox.setItemText(1, QtGui.QApplication.translate("SettingsDialog", "Snowy Mountains", None, QtGui.QApplication.UnicodeUTF8)) self.DefaultComboBox.setItemText(1, QtGui.QApplication.translate("SettingsDialog", "Snowy Mountains", None, QtGui.QApplication.UnicodeUTF8))
@ -464,16 +499,22 @@ class SettingsDialog(object):
self.ServiceLevelLabel.setText(QtGui.QApplication.translate("SettingsDialog", "Use the theme from the service , overriding any of the individual songs\' themes. If the service doesn\'t have a theme, then use the global theme.", None, QtGui.QApplication.UnicodeUTF8)) self.ServiceLevelLabel.setText(QtGui.QApplication.translate("SettingsDialog", "Use the theme from the service , overriding any of the individual songs\' themes. If the service doesn\'t have a theme, then use the global theme.", None, QtGui.QApplication.UnicodeUTF8))
self.GlobalLevelRadioButton.setText(QtGui.QApplication.translate("SettingsDialog", "Global level", None, QtGui.QApplication.UnicodeUTF8)) self.GlobalLevelRadioButton.setText(QtGui.QApplication.translate("SettingsDialog", "Global level", None, QtGui.QApplication.UnicodeUTF8))
self.GlobalLevelLabel.setText(QtGui.QApplication.translate("SettingsDialog", "Use the global theme, overriding any themes associated wither either the service or the songs.", None, QtGui.QApplication.UnicodeUTF8)) self.GlobalLevelLabel.setText(QtGui.QApplication.translate("SettingsDialog", "Use the global theme, overriding any themes associated wither either the service or the songs.", None, QtGui.QApplication.UnicodeUTF8))
self.SettingsTabWidget.setTabText(self.SettingsTabWidget.indexOf(self.ThemesTab), QtGui.QApplication.translate("SettingsDialog", "Themes", None, QtGui.QApplication.UnicodeUTF8)) self.SettingsTabWidget.setTabText(self.SettingsTabWidget.indexOf(self.ThemesTab), QtGui.QApplication.translate("SettingsDialog", "Song Theme", None, QtGui.QApplication.UnicodeUTF8))
self.MonitorGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "Monitors", None, QtGui.QApplication.UnicodeUTF8)) self.SongWizardGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "Song Wizard", None, QtGui.QApplication.UnicodeUTF8))
self.MonitorLabel.setText(QtGui.QApplication.translate("SettingsDialog", "Select monitor for output display:", None, QtGui.QApplication.UnicodeUTF8)) self.SongWizardCheckBox.setText(QtGui.QApplication.translate("SettingsDialog", "Use the Song Wizard to add songs", None, QtGui.QApplication.UnicodeUTF8))
self.MonitorComboBox.setItemText(0, QtGui.QApplication.translate("SettingsDialog", "Monitor 1 on X11 Windowing System", None, QtGui.QApplication.UnicodeUTF8)) self.SlideWrapAroundGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "Slide Wrap Around", None, QtGui.QApplication.UnicodeUTF8))
self.MonitorComboBox.setItemText(1, QtGui.QApplication.translate("SettingsDialog", "Monitor 2 on X11 Windowing System", None, QtGui.QApplication.UnicodeUTF8)) self.SlideWrapAroundCheckBox.setText(QtGui.QApplication.translate("SettingsDialog", "Enable slide wrap around", None, QtGui.QApplication.UnicodeUTF8))
self.FontSizeGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "Font Size", None, QtGui.QApplication.UnicodeUTF8)) self.TimedCyclingGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "Timed Cycling", None, QtGui.QApplication.UnicodeUTF8))
self.AutoResizeRadioButton.setText(QtGui.QApplication.translate("SettingsDialog", "Automatically resize font to fit text to slide", None, QtGui.QApplication.UnicodeUTF8)) self.UpdateIntervalLabel.setText(QtGui.QApplication.translate("SettingsDialog", "Update interval:", None, QtGui.QApplication.UnicodeUTF8))
self.WrapLinesRadioButton.setText(QtGui.QApplication.translate("SettingsDialog", "Wrap long lines to keep desired font", None, QtGui.QApplication.UnicodeUTF8)) self.IntervalSpinBox.setSuffix(QtGui.QApplication.translate("SettingsDialog", "s", None, QtGui.QApplication.UnicodeUTF8))
self.SongDisplayGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "Song Display", None, QtGui.QApplication.UnicodeUTF8)) self.EnabledCyclingCheckBox.setText(QtGui.QApplication.translate("SettingsDialog", "Enable timed cycling", None, QtGui.QApplication.UnicodeUTF8))
self.EnableCreditsCheckBox.setText(QtGui.QApplication.translate("SettingsDialog", "Enable displaying of song credits", None, QtGui.QApplication.UnicodeUTF8)) self.CCLIGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "CCLI Details", None, QtGui.QApplication.UnicodeUTF8))
self.NumberLabel.setText(QtGui.QApplication.translate("SettingsDialog", "CCLI Number:", None, QtGui.QApplication.UnicodeUTF8))
self.UsernameLabel.setText(QtGui.QApplication.translate("SettingsDialog", "SongSelect Username:", None, QtGui.QApplication.UnicodeUTF8))
self.PasswordLabel.setText(QtGui.QApplication.translate("SettingsDialog", "SongSelect Password:", None, QtGui.QApplication.UnicodeUTF8))
self.SearchGroupBox_3.setTitle(QtGui.QApplication.translate("SettingsDialog", "Search", None, QtGui.QApplication.UnicodeUTF8))
self.SearchCheckBox_3.setText(QtGui.QApplication.translate("SettingsDialog", "Enabled search-as-you-type", None, QtGui.QApplication.UnicodeUTF8))
self.SettingsTabWidget.setTabText(self.SettingsTabWidget.indexOf(self.SlideTab), QtGui.QApplication.translate("SettingsDialog", "Songs", None, QtGui.QApplication.UnicodeUTF8))
self.VerseDisplayGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "Verse Display", None, QtGui.QApplication.UnicodeUTF8)) self.VerseDisplayGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "Verse Display", None, QtGui.QApplication.UnicodeUTF8))
self.VerseRadioButton.setText(QtGui.QApplication.translate("SettingsDialog", "Verse style", None, QtGui.QApplication.UnicodeUTF8)) self.VerseRadioButton.setText(QtGui.QApplication.translate("SettingsDialog", "Verse style", None, QtGui.QApplication.UnicodeUTF8))
self.ParagraphRadioButton.setText(QtGui.QApplication.translate("SettingsDialog", "Paragraph style", None, QtGui.QApplication.UnicodeUTF8)) self.ParagraphRadioButton.setText(QtGui.QApplication.translate("SettingsDialog", "Paragraph style", None, QtGui.QApplication.UnicodeUTF8))
@ -488,40 +529,11 @@ class SettingsDialog(object):
"p, li { white-space: pre-wrap; }\n" "p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:\'DejaVu Sans\'; font-size:10pt; font-weight:400; font-style:normal;\">\n" "</style></head><body style=\" font-family:\'DejaVu Sans\'; font-size:10pt; font-weight:400; font-style:normal;\">\n"
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-style:italic;\">Changes don\'t affect verses already in the service</span></p></body></html>", None, QtGui.QApplication.UnicodeUTF8)) "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-style:italic;\">Changes don\'t affect verses already in the service</span></p></body></html>", None, QtGui.QApplication.UnicodeUTF8))
self.BlankScreenGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "Blank Screen", None, QtGui.QApplication.UnicodeUTF8)) self.SearchGroupBox_2.setTitle(QtGui.QApplication.translate("SettingsDialog", "Search", None, QtGui.QApplication.UnicodeUTF8))
self.WarningCheckBox.setText(QtGui.QApplication.translate("SettingsDialog", "Show warning on startup", None, QtGui.QApplication.UnicodeUTF8)) self.SearchCheckBox_2.setText(QtGui.QApplication.translate("SettingsDialog", "Enabled search-as-you-type", None, QtGui.QApplication.UnicodeUTF8))
self.VideoModeGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "Video Mode", None, QtGui.QApplication.UnicodeUTF8)) self.SettingsTabWidget.setTabText(self.SettingsTabWidget.indexOf(self.Bibles), QtGui.QApplication.translate("SettingsDialog", "Bibles", None, QtGui.QApplication.UnicodeUTF8))
self.UseVMRCheckBox.setText(QtGui.QApplication.translate("SettingsDialog", "Use Video Mode Rendering", None, QtGui.QApplication.UnicodeUTF8))
self.UseVMRLabel.setText(QtGui.QApplication.translate("SettingsDialog", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n" self.SaveButton.setText(QtGui.QApplication.translate("SettingsDialog", "Save", None, QtGui.QApplication.UnicodeUTF8))
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n" self.CancelButton.setText(QtGui.QApplication.translate("SettingsDialog", "Cancel", None, QtGui.QApplication.UnicodeUTF8))
"p, li { white-space: pre-wrap; }\n" self.ResetButton.setText(QtGui.QApplication.translate("SettingsDialog", "Reset", None, QtGui.QApplication.UnicodeUTF8))
"</style></head><body style=\" font-family:\'DejaVu Sans\'; font-size:10pt; font-weight:400; font-style:normal;\">\n"
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-style:italic;\">No video preview available with VMR enabled</span></p></body></html>", None, QtGui.QApplication.UnicodeUTF8))
self.SettingsTabWidget.setTabText(self.SettingsTabWidget.indexOf(self.DisplayTab), QtGui.QApplication.translate("SettingsDialog", "Display", None, QtGui.QApplication.UnicodeUTF8))
self.AlertGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "Alerts", None, QtGui.QApplication.UnicodeUTF8))
self.FontLabel.setText(QtGui.QApplication.translate("SettingsDialog", "Font Name:", None, QtGui.QApplication.UnicodeUTF8))
self.FontColorLabel.setText(QtGui.QApplication.translate("SettingsDialog", "Font Color:", None, QtGui.QApplication.UnicodeUTF8))
self.BackgroundColorLabel.setText(QtGui.QApplication.translate("SettingsDialog", "Background Color:", None, QtGui.QApplication.UnicodeUTF8))
self.LengthLabel.setText(QtGui.QApplication.translate("SettingsDialog", "Display length:", None, QtGui.QApplication.UnicodeUTF8))
self.LengthSpinBox.setSuffix(QtGui.QApplication.translate("SettingsDialog", "s", None, QtGui.QApplication.UnicodeUTF8))
self.SongWizardGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "Song Wizard", None, QtGui.QApplication.UnicodeUTF8))
self.SongWizardCheckBox.setText(QtGui.QApplication.translate("SettingsDialog", "Use the Song Wizard to add songs", None, QtGui.QApplication.UnicodeUTF8))
self.SlideWrapAroundGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "Slide Wrap Around", None, QtGui.QApplication.UnicodeUTF8))
self.SlideWrapAroundCheckBox.setText(QtGui.QApplication.translate("SettingsDialog", "Enable slide wrap around", None, QtGui.QApplication.UnicodeUTF8))
self.TimedCyclingGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "Timed Cycling", None, QtGui.QApplication.UnicodeUTF8))
self.UpdateIntervalLabel.setText(QtGui.QApplication.translate("SettingsDialog", "Update interval:", None, QtGui.QApplication.UnicodeUTF8))
self.IntervalSpinBox.setSuffix(QtGui.QApplication.translate("SettingsDialog", "s", None, QtGui.QApplication.UnicodeUTF8))
self.EnabledCyclingCheckBox.setText(QtGui.QApplication.translate("SettingsDialog", "Enable timed cycling", None, QtGui.QApplication.UnicodeUTF8))
self.SettingsTabWidget.setTabText(self.SettingsTabWidget.indexOf(self.SlideTab), QtGui.QApplication.translate("SettingsDialog", "Slide", None, QtGui.QApplication.UnicodeUTF8))
self.CCLIGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "CCLI Details", None, QtGui.QApplication.UnicodeUTF8))
self.NumberLabel.setText(QtGui.QApplication.translate("SettingsDialog", "CCLI Number:", None, QtGui.QApplication.UnicodeUTF8))
self.UsernameLabel.setText(QtGui.QApplication.translate("SettingsDialog", "SongSelect Username:", None, QtGui.QApplication.UnicodeUTF8))
self.PasswordLabel.setText(QtGui.QApplication.translate("SettingsDialog", "SongSelect Password:", None, QtGui.QApplication.UnicodeUTF8))
self.AutoOpenGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "Auto Open Last Service", None, QtGui.QApplication.UnicodeUTF8))
self.AutoOpenCheckBox.setText(QtGui.QApplication.translate("SettingsDialog", "Automatically open the last service at startup", None, QtGui.QApplication.UnicodeUTF8))
self.SearchGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "Search", None, QtGui.QApplication.UnicodeUTF8))
self.SearchCheckBox.setText(QtGui.QApplication.translate("SettingsDialog", "Enabled search-as-you-type", None, QtGui.QApplication.UnicodeUTF8))
self.SettingsTabWidget.setTabText(self.SettingsTabWidget.indexOf(self.GeneralTab), QtGui.QApplication.translate("SettingsDialog", "General", None, QtGui.QApplication.UnicodeUTF8))
def show(self):
self.SettingsDialog.show()

View File

@ -48,7 +48,14 @@ class BiblePlugin(Plugin, PluginUtils):
self.biblemanager = BibleManager(self.config) self.biblemanager = BibleManager(self.config)
self.search_results = {} # place to store the search results self.search_results = {} # place to store the search results
QtCore.QObject.connect(Receiver().get_receiver(),QtCore.SIGNAL("openlpreloadbibles"),self.reload_bibles) QtCore.QObject.connect(Receiver().get_receiver(),QtCore.SIGNAL("openlpreloadbibles"),self.reload_bibles)
def has_settings_tab_item(self):
return False
def get_settings_tab_item(self):
a = 1
return a
def get_media_manager_item(self): def get_media_manager_item(self):
# Create the MediaManagerItem object # Create the MediaManagerItem object
self.MediaManagerItem = MediaManagerItem(self.icon, 'Bible Verses') self.MediaManagerItem = MediaManagerItem(self.icon, 'Bible Verses')
@ -190,47 +197,6 @@ class BiblePlugin(Plugin, PluginUtils):
self.AdvancedLayout.addWidget(self.AdvancedSearchButton, 5, 3, 1, 1) self.AdvancedLayout.addWidget(self.AdvancedSearchButton, 5, 3, 1, 1)
self.SearchTabWidget.addTab(self.AdvancedTab, 'Advanced') self.SearchTabWidget.addTab(self.AdvancedTab, 'Advanced')
# Add the Settings tab
self.SettingsTab = QtGui.QWidget()
self.SettingsTab.setObjectName('SettingsTab')
self.SettingsLayout = QtGui.QGridLayout(self.SettingsTab)
self.SettingsLayout.setObjectName('SettingsLayout')
self.SettingsOutputStyleLabel = QtGui.QLabel(self.SettingsTab)
self.SettingsOutputStyleLabel.setObjectName('SettingsOutputStyleLabel')
self.SettingsOutputStyleLabel.setText('Output Style:')
self.SettingsLayout.addWidget(self.SettingsOutputStyleLabel, 0, 0, 1, 1)
self.SettingsOutputStyleComboBox = QtGui.QComboBox(self.SettingsTab)
self.SettingsOutputStyleComboBox.setObjectName('SettingsOutputStyleComboBox')
self.SettingsLayout.addWidget(self.SettingsOutputStyleComboBox, 0, 1, 1, 2)
self.SettingsVerseStyleLabel = QtGui.QLabel(self.SettingsTab)
self.SettingsVerseStyleLabel.setObjectName('SettingsVerseStyleLabel')
self.SettingsVerseStyleLabel.setText('Verse Style:')
self.SettingsLayout.addWidget(self.SettingsVerseStyleLabel, 1, 0, 1, 1)
self.SettingsVerseStyleComboBox = QtGui.QComboBox(self.SettingsTab)
self.SettingsVerseStyleComboBox.setObjectName('SettingsVerseStyleComboBox')
self.SettingsLayout.addWidget(self.SettingsVerseStyleComboBox, 1, 1, 1, 2)
self.SettingsNewChapterLabel = QtGui.QLabel(self.SettingsTab)
self.SettingsNewChapterLabel.setObjectName('SettingsNewChapterLabel')
self.SettingsNewChapterLabel.setText('Show new chapter Nos:')
self.SettingsLayout.addWidget(self.SettingsNewChapterLabel, 2, 0, 1, 2)
self.SettingsNewChapterCheck= QtGui.QCheckBox(self.SettingsTab)
self.SettingsNewChapterCheck.setObjectName('SettingsNewChapterCheck')
self.SettingsLayout.addWidget(self.SettingsNewChapterCheck, 2, 2, 1, 1)
self.SettingsResetButton = QtGui.QPushButton(self.SettingsTab)
self.SettingsResetButton.setObjectName('SettingsResetButton')
self.SettingsResetButton.setText('Reset')
self.SettingsLayout.addWidget(self.SettingsResetButton, 3, 1, 1, 1)
self.SettingsSaveButton = QtGui.QPushButton(self.SettingsTab)
self.SettingsSaveButton.setObjectName('SettingsSaveButton')
self.SettingsSaveButton.setText('Save')
self.SettingsLayout.addWidget(self.SettingsSaveButton, 3, 2, 1, 1)
self.SearchTabWidget.addTab(self.SettingsTab, 'Settings')
# Add the search tab widget to the page layout # Add the search tab widget to the page layout
self.MediaManagerItem.PageLayout.addWidget(self.SearchTabWidget) self.MediaManagerItem.PageLayout.addWidget(self.SearchTabWidget)
@ -259,9 +225,7 @@ class BiblePlugin(Plugin, PluginUtils):
##############Buttons ##############Buttons
QtCore.QObject.connect(self.AdvancedSearchButton, QtCore.SIGNAL("pressed()"), self.onAdvancedSearchButton) QtCore.QObject.connect(self.AdvancedSearchButton, QtCore.SIGNAL("pressed()"), self.onAdvancedSearchButton)
QtCore.QObject.connect(self.QuickSearchButton, QtCore.SIGNAL("pressed()"), self.onQuickSearchButton) QtCore.QObject.connect(self.QuickSearchButton, QtCore.SIGNAL("pressed()"), self.onQuickSearchButton)
QtCore.QObject.connect(self.SettingsResetButton, QtCore.SIGNAL("pressed()"), self.onSettingsResetButton)
QtCore.QObject.connect(self.SettingsSaveButton, QtCore.SIGNAL("pressed()"), self.onSettingsSaveButton)
##############Context Menus ##############Context Menus
self.BibleListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu) self.BibleListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
@ -286,7 +250,6 @@ class BiblePlugin(Plugin, PluginUtils):
def initialise(self): def initialise(self):
self._initialise_form() # build the form self._initialise_form() # build the form
self._load_reset_settings() # load the plugin settings
def _initialise_form(self): def _initialise_form(self):
log.debug("_initialise_form") log.debug("_initialise_form")
@ -295,8 +258,6 @@ class BiblePlugin(Plugin, PluginUtils):
self.AdvancedVersionComboBox.clear() self.AdvancedVersionComboBox.clear()
self.ClearQuickSearchComboBox.clear() self.ClearQuickSearchComboBox.clear()
self.ClearAdvancedSearchComboBox.clear() self.ClearAdvancedSearchComboBox.clear()
self.SettingsOutputStyleComboBox.clear()
self.SettingsVerseStyleComboBox.clear()
self.QuickSearchComboBox.addItem(u"Verse Search") self.QuickSearchComboBox.addItem(u"Verse Search")
self.QuickSearchComboBox.addItem(u"Text Search") self.QuickSearchComboBox.addItem(u"Text Search")
@ -304,12 +265,7 @@ class BiblePlugin(Plugin, PluginUtils):
self.ClearQuickSearchComboBox.addItem(u"Keep") self.ClearQuickSearchComboBox.addItem(u"Keep")
self.ClearAdvancedSearchComboBox.addItem(u"Clear") self.ClearAdvancedSearchComboBox.addItem(u"Clear")
self.ClearAdvancedSearchComboBox.addItem(u"Keep") self.ClearAdvancedSearchComboBox.addItem(u"Keep")
self.SettingsOutputStyleComboBox.addItem(u"Continuous")
self.SettingsOutputStyleComboBox.addItem(u"Paragraph")
self.SettingsVerseStyleComboBox.addItem(u"No Brackets")
self.SettingsVerseStyleComboBox.addItem(u"( and )")
self.SettingsVerseStyleComboBox.addItem(u"{ and }")
self.SettingsVerseStyleComboBox.addItem(u"[ and ]")
bibles = self.biblemanager.get_bibles("full") bibles = self.biblemanager.get_bibles("full")
for b in bibles: # load bibles into the combo boxes for b in bibles: # load bibles into the combo boxes
@ -437,19 +393,6 @@ class BiblePlugin(Plugin, PluginUtils):
self.biblemanager.reload_bibles() self.biblemanager.reload_bibles()
self._initialise_form() self._initialise_form()
def _load_reset_settings(self):
self.SettingsOutputStyleComboBox.setCurrentIndex(int(self.config.get_config("bible_output_style", 0)))
self.SettingsVerseStyleComboBox.setCurrentIndex(int(self.config.get_config("bible_verse_style", 0)))
try:
self.SettingsNewChapterCheck.setCheckState(int(self.config.get_config("bible_new_chapter", 0)))
except:
pass
def _save_settings(self):
self.config.set_config("bible_output_style", str(self.SettingsOutputStyleComboBox.currentIndex()))
self.config.set_config("bible_verse_style", str(self.SettingsVerseStyleComboBox.currentIndex()))
self.config.set_config("bible_new_chapter", str(self.SettingsNewChapterCheck.checkState()))
def _initialise_bible_advanced(self, bible): def _initialise_bible_advanced(self, bible):
log.debug("_initialise_bible_advanced %s ", bible) log.debug("_initialise_bible_advanced %s ", bible)
currentBook = str(self.AdvancedBookComboBox.currentText()) currentBook = str(self.AdvancedBookComboBox.currentText())
@ -566,3 +509,34 @@ class BiblePlugin(Plugin, PluginUtils):
self.search_results = self.biblemanager.get_verse_text(bible, book,int(start_chapter), int(end_chapter), int(start_verse), int(end_verse)) self.search_results = self.biblemanager.get_verse_text(bible, book,int(start_chapter), int(end_chapter), int(start_verse), int(end_verse))
else: else:
reply = QtGui.QMessageBox.information(self.MediaManagerItem,"Information",message) reply = QtGui.QMessageBox.information(self.MediaManagerItem,"Information",message)
def load_settings(self):
pass
# self.SettingsOutputStyleComboBox.setCurrentIndex(int(self.config.get_config("bible_output_style", 0)))
# self.SettingsVerseStyleComboBox.setCurrentIndex(int(self.config.get_config("bible_verse_style", 0)))
# try:
# self.SettingsNewChapterCheck.setCheckState(int(self.config.get_config("bible_new_chapter", 0)))
# except:
# pass
def save_settings(self):
pass
# self.config.set_config("bible_output_style", str(self.SettingsOutputStyleComboBox.currentIndex()))
# self.config.set_config("bible_verse_style", str(self.SettingsVerseStyleComboBox.currentIndex()))
# self.config.set_config("bible_new_chapter", str(self.SettingsNewChapterCheck.checkState()))
# self.SettingsOutputStyleComboBox.clear()
# self.SettingsVerseStyleComboBox.clear()
# self.SettingsOutputStyleComboBox.addItem(u"Continuous")
# self.SettingsOutputStyleComboBox.addItem(u"Paragraph")
# self.SettingsVerseStyleComboBox.addItem(u"No Brackets")
# self.SettingsVerseStyleComboBox.addItem(u"( and )")
# self.SettingsVerseStyleComboBox.addItem(u"{ and }")
# self.SettingsVerseStyleComboBox.addItem(u"[ and ]")
def define_tab(self):
pass
# QtCore.QObject.connect(self.SettingsResetButton, QtCore.SIGNAL("pressed()"), self.onSettingsResetButton)
# QtCore.QObject.connect(self.SettingsSaveButton, QtCore.SIGNAL("pressed()"), self.onSettingsSaveButton)

View File

@ -27,7 +27,6 @@ from openlp.core.resources import *
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from PyQt4.QtGui import QDialog from PyQt4.QtGui import QDialog
from PyQt4.QtCore import pyqtSignature
from bibleimportdialog import Ui_BibleImportDialog from bibleimportdialog import Ui_BibleImportDialog
from openlp.core.lib import PluginUtils, Receiver from openlp.core.lib import PluginUtils, Receiver

View File

@ -21,7 +21,7 @@ import os
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.resources import * from openlp.core.resources import *
from openlp.core.lib import Plugin,PluginUtils, MediaManagerItem from openlp.core.lib import Plugin,PluginUtils, MediaManagerItem, SettingsTab
class VideoPlugin(Plugin, PluginUtils): class VideoPlugin(Plugin, PluginUtils):
def __init__(self): def __init__(self):
@ -32,7 +32,49 @@ class VideoPlugin(Plugin, PluginUtils):
self.icon = QtGui.QIcon() self.icon = QtGui.QIcon()
self.icon.addPixmap(QtGui.QPixmap(':/media/media_video.png'), self.icon.addPixmap(QtGui.QPixmap(':/media/media_video.png'),
QtGui.QIcon.Normal, QtGui.QIcon.Off) QtGui.QIcon.Normal, QtGui.QIcon.Off)
def has_settings_tab_item(self):
return True
def get_settings_tab_item(self):
self.SettingsTabItem= SettingsTab()
self.Videos = QtGui.QWidget()
self.Videos.setObjectName("Videos")
self.VideoLayout = QtGui.QFormLayout(self.Videos)
self.VideoLayout.setObjectName("VideoLayout")
self.VideoModeGroupBox = QtGui.QGroupBox(self.SettingsTabItem)
self.VideoModeGroupBox.setObjectName("VideoModeGroupBox")
self.VideoModeLayout = QtGui.QVBoxLayout(self.VideoModeGroupBox)
self.VideoModeLayout.setSpacing(8)
self.VideoModeLayout.setMargin(8)
self.VideoModeLayout.setObjectName("VideoModeLayout")
self.UseVMRCheckBox = QtGui.QCheckBox(self.VideoModeGroupBox)
self.UseVMRCheckBox.setObjectName("UseVMRCheckBox")
self.VideoModeLayout.addWidget(self.UseVMRCheckBox)
self.UseVMRLabel = QtGui.QLabel(self.VideoModeGroupBox)
self.UseVMRLabel.setObjectName("UseVMRLabel")
self.VideoModeLayout.addWidget(self.UseVMRLabel)
self.VideoLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.VideoModeGroupBox)
self.SettingsTabItem.add_items(self.Videos)
self.SettingsTabItem.setTabText(QtGui.QApplication.translate("SettingsDialog", "Videos", None, QtGui.QApplication.UnicodeUTF8))
self.VideoModeGroupBox.setTitle(QtGui.QApplication.translate("SettingsDialog", "Video Mode", None, QtGui.QApplication.UnicodeUTF8))
self.UseVMRCheckBox.setText(QtGui.QApplication.translate("SettingsDialog", "Use Video Mode Rendering", None, QtGui.QApplication.UnicodeUTF8))
self.UseVMRLabel.setText(QtGui.QApplication.translate("SettingsDialog", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:\'DejaVu Sans\'; font-size:10pt; font-weight:400; font-style:normal;\">\n"
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-style:italic;\">No video preview available with VMR enabled</span></p></body></html>", None, QtGui.QApplication.UnicodeUTF8))
return self.SettingsTabItem
def get_media_manager_item(self): def get_media_manager_item(self):
# Create the MediaManagerItem object # Create the MediaManagerItem object
self.MediaManagerItem = MediaManagerItem(self.icon, 'Videos') self.MediaManagerItem = MediaManagerItem(self.icon, 'Videos')

View File

@ -0,0 +1,967 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>SettingsDialog</class>
<widget class="QDialog" name="SettingsDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>602</width>
<height>502</height>
</rect>
</property>
<property name="windowTitle">
<string>Settings</string>
</property>
<property name="windowIcon">
<iconset resource="../images/openlp-2.qrc">
<normaloff>:/icon/openlp.org-icon-32.bmp</normaloff>:/icon/openlp.org-icon-32.bmp</iconset>
</property>
<widget class="QTabWidget" name="SettingsTabWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>669</width>
<height>500</height>
</rect>
</property>
<property name="currentIndex">
<number>5</number>
</property>
<widget class="QWidget" name="DisplayTab">
<attribute name="title">
<string>Song Themes</string>
</attribute>
<layout class="QHBoxLayout" name="DisplayTabLayout">
<property name="spacing">
<number>8</number>
</property>
<property name="margin">
<number>8</number>
</property>
<item>
<widget class="QWidget" name="LeftColumn" native="true">
<layout class="QVBoxLayout" name="LeftColumnLayout">
<property name="spacing">
<number>8</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QGroupBox" name="MonitorGroupBox">
<property name="title">
<string>Monitors</string>
</property>
<layout class="QVBoxLayout" name="MonitorLayout">
<property name="spacing">
<number>8</number>
</property>
<property name="margin">
<number>8</number>
</property>
<item>
<widget class="QLabel" name="MonitorLabel">
<property name="text">
<string>Select monitor for output display:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="MonitorComboBox">
<item>
<property name="text">
<string>Monitor 1 on X11 Windowing System</string>
</property>
</item>
<item>
<property name="text">
<string>Monitor 2 on X11 Windowing System</string>
</property>
</item>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="FontSizeGroupBox">
<property name="title">
<string>Font Size</string>
</property>
<layout class="QVBoxLayout" name="FontSizeLayout">
<property name="spacing">
<number>8</number>
</property>
<property name="margin">
<number>8</number>
</property>
<item>
<widget class="QRadioButton" name="AutoResizeRadioButton">
<property name="checked">
<bool>true</bool>
</property>
<property name="text">
<string>Automatically resize font to fit text to slide</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="WrapLinesRadioButton">
<property name="text">
<string>Wrap long lines to keep desired font</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="SongDisplayGroupBox">
<property name="title">
<string>Song Display</string>
</property>
<layout class="QVBoxLayout" name="SongDisplayLayout">
<property name="spacing">
<number>8</number>
</property>
<property name="margin">
<number>8</number>
</property>
<item>
<widget class="QCheckBox" name="EnableCreditsCheckBox">
<property name="checked">
<bool>true</bool>
</property>
<property name="text">
<string>Enable displaying of song credits</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="BlankScreenGroupBox">
<property name="title">
<string>Blank Screen</string>
</property>
<layout class="QVBoxLayout" name="BlankScreenLayout">
<property name="spacing">
<number>8</number>
</property>
<property name="margin">
<number>8</number>
</property>
<item>
<widget class="QCheckBox" name="WarningCheckBox">
<property name="text">
<string>Show warning on startup</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="AutoOpenGroupBox">
<property name="title">
<string>Auto Open Last Service</string>
</property>
<layout class="QVBoxLayout" name="AutoOpenLayout">
<item>
<widget class="QCheckBox" name="AutoOpenCheckBox">
<property name="text">
<string>Automatically open the last service at startup</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="DisplayLeftSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="RightColumn" native="true">
<layout class="QVBoxLayout" name="RightColumnLayout">
<property name="spacing">
<number>8</number>
</property>
<property name="margin">
<number>0</number>
</property>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="Alerts">
<attribute name="title">
<string>Alerts</string>
</attribute>
<layout class="QFormLayout" name="formLayout_2">
<item row="0" column="0">
<widget class="QGroupBox" name="AlertGroupBox">
<property name="title">
<string>Alerts</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<property name="margin">
<number>8</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="FontLabel">
<property name="text">
<string>Font Name:</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QFontComboBox" name="FontComboBox"/>
</item>
<item row="2" column="0">
<widget class="QWidget" name="ColorWidget" native="true">
<layout class="QHBoxLayout" name="ColorLayout">
<property name="spacing">
<number>8</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="FontColorLabel">
<property name="text">
<string>Font Color:</string>
</property>
</widget>
</item>
<item>
<widget class="QGraphicsView" name="FontColorPanel">
<property name="minimumSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
</widget>
</item>
<item>
<spacer name="ColorSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="BackgroundColorLabel">
<property name="text">
<string>Background Color:</string>
</property>
</widget>
</item>
<item>
<widget class="QGraphicsView" name="BackgroundColorPanel">
<property name="minimumSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="3" column="0">
<widget class="QGraphicsView" name="FontPreview">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>64</height>
</size>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QWidget" name="LengthWidget" native="true">
<layout class="QHBoxLayout" name="LengthLayout">
<property name="spacing">
<number>8</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="LengthLabel">
<property name="text">
<string>Display length:</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="LengthSpinBox">
<property name="value">
<number>5</number>
</property>
<property name="suffix">
<string>s</string>
</property>
<property name="maximum">
<number>180</number>
</property>
</widget>
</item>
<item>
<spacer name="LengthSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>147</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="ThemesTab">
<attribute name="title">
<string>Song Theme</string>
</attribute>
<layout class="QHBoxLayout" name="ThemesTabLayout">
<property name="spacing">
<number>8</number>
</property>
<property name="margin">
<number>8</number>
</property>
<item>
<widget class="QGroupBox" name="GlobalGroupBox">
<property name="title">
<string>Global theme</string>
</property>
<layout class="QVBoxLayout" name="GlobalGroupBoxLayout">
<property name="spacing">
<number>8</number>
</property>
<property name="margin">
<number>8</number>
</property>
<item>
<widget class="QComboBox" name="DefaultComboBox">
<item>
<property name="text">
<string>African Sunset</string>
</property>
</item>
<item>
<property name="text">
<string>Snowy Mountains</string>
</property>
</item>
<item>
<property name="text">
<string>Wilderness</string>
</property>
</item>
</widget>
</item>
<item>
<widget class="QListView" name="DefaultListView"/>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="LevelGroupBox">
<property name="title">
<string>Theme level</string>
</property>
<layout class="QFormLayout" name="formLayout">
<property name="labelAlignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<property name="formAlignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<property name="horizontalSpacing">
<number>8</number>
</property>
<property name="verticalSpacing">
<number>8</number>
</property>
<property name="margin">
<number>8</number>
</property>
<item row="0" column="0">
<widget class="QRadioButton" name="SongLevelRadioButton">
<property name="text">
<string>Song level</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="SongLevelLabel">
<property name="text">
<string>Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QRadioButton" name="ServiceLevelRadioButton">
<property name="text">
<string>Service level</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="ServiceLevelLabel">
<property name="text">
<string>Use the theme from the service , overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QRadioButton" name="GlobalLevelRadioButton">
<property name="checked">
<bool>true</bool>
</property>
<property name="text">
<string>Global level</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="GlobalLevelLabel">
<property name="text">
<string>Use the global theme, overriding any themes associated wither either the service or the songs.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="SlideTab">
<attribute name="title">
<string>Songs</string>
</attribute>
<layout class="QHBoxLayout" name="SlideLayout">
<property name="spacing">
<number>8</number>
</property>
<property name="margin">
<number>8</number>
</property>
<item>
<widget class="QWidget" name="SlideLeftColumn" native="true">
<layout class="QVBoxLayout" name="SlideLeftLayout">
<property name="spacing">
<number>8</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<spacer name="SlideLeftSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>94</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget" native="true">
<layout class="QVBoxLayout" name="SlideRightLayout">
<property name="spacing">
<number>8</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QGroupBox" name="SongWizardGroupBox">
<property name="title">
<string>Song Wizard</string>
</property>
<layout class="QVBoxLayout" name="SongWizardLayout">
<property name="spacing">
<number>8</number>
</property>
<property name="margin">
<number>8</number>
</property>
<item>
<widget class="QCheckBox" name="SongWizardCheckBox">
<property name="checked">
<bool>true</bool>
</property>
<property name="text">
<string>Use the Song Wizard to add songs</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="SlideWrapAroundGroupBox">
<property name="title">
<string>Slide Wrap Around</string>
</property>
<layout class="QVBoxLayout" name="SlideWrapAroundLayout">
<property name="spacing">
<number>8</number>
</property>
<property name="margin">
<number>8</number>
</property>
<item>
<widget class="QCheckBox" name="SlideWrapAroundCheckBox">
<property name="text">
<string>Enable slide wrap around</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="TimedCyclingGroupBox">
<property name="title">
<string>Timed Cycling</string>
</property>
<layout class="QVBoxLayout" name="TimedCyclingLayout">
<property name="spacing">
<number>8</number>
</property>
<property name="margin">
<number>8</number>
</property>
<item>
<widget class="QWidget" name="IntervalWidget" native="true">
<layout class="QHBoxLayout" name="IntervalLayout">
<property name="spacing">
<number>8</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="UpdateIntervalLabel">
<property name="text">
<string>Update interval:</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="IntervalSpinBox">
<property name="value">
<number>30</number>
</property>
<property name="suffix">
<string>s</string>
</property>
<property name="maximum">
<number>600</number>
</property>
</widget>
</item>
<item>
<spacer name="IntervalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>139</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QCheckBox" name="EnabledCyclingCheckBox">
<property name="text">
<string>Enable timed cycling</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="CCLIGroupBox">
<property name="title">
<string>CCLI Details</string>
</property>
<layout class="QGridLayout" name="CCLILayout">
<property name="margin">
<number>8</number>
</property>
<property name="spacing">
<number>8</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="NumberLabel">
<property name="text">
<string>CCLI Number:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="NumberEdit"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="UsernameLabel">
<property name="text">
<string>SongSelect Username:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="UsernameEdit"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="PasswordLabel">
<property name="text">
<string>SongSelect Password:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="PasswordEdit">
<property name="echoMode">
<enum>QLineEdit::Password</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="SearchGroupBox_3">
<property name="title">
<string>Search</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QCheckBox" name="SearchCheckBox_3">
<property name="checked">
<bool>true</bool>
</property>
<property name="text">
<string>Enabled search-as-you-type</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="SlideRightSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="Bibles">
<attribute name="title">
<string>Bibles</string>
</attribute>
<layout class="QFormLayout" name="formLayout_3">
<item row="0" column="0">
<widget class="QGroupBox" name="VerseDisplayGroupBox">
<property name="title">
<string>Verse Display</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<property name="margin">
<number>8</number>
</property>
<item row="0" column="0">
<widget class="QWidget" name="VerseTypeWidget" native="true">
<layout class="QHBoxLayout" name="VerseTypeLayout">
<property name="spacing">
<number>8</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QRadioButton" name="VerseRadioButton">
<property name="text">
<string>Verse style</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="ParagraphRadioButton">
<property name="checked">
<bool>true</bool>
</property>
<property name="text">
<string>Paragraph style</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="NewChaptersCheckBox">
<property name="text">
<string>Only show new chapter numbers</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QWidget" name="DisplayStyleWidget" native="true">
<layout class="QHBoxLayout" name="DisplayStyleLayout">
<property name="spacing">
<number>8</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="DisplayStyleLabel">
<property name="text">
<string>Display Style:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="DisplayStyleComboBox">
<item>
<property name="text">
<string>No brackets</string>
</property>
</item>
<item>
<property name="text">
<string>( and )</string>
</property>
</item>
<item>
<property name="text">
<string>{ and }</string>
</property>
</item>
<item>
<property name="text">
<string>[ and ]</string>
</property>
</item>
</widget>
</item>
<item>
<spacer name="DisplayStyleSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="ChangeNoteLabel">
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;Changes don't affect verses already in the service&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="0">
<widget class="QGroupBox" name="SearchGroupBox_2">
<property name="title">
<string>Search</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QCheckBox" name="SearchCheckBox_2">
<property name="checked">
<bool>true</bool>
</property>
<property name="text">
<string>Enabled search-as-you-type</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="Videos">
<attribute name="title">
<string>Videos</string>
</attribute>
<layout class="QFormLayout" name="formLayout_4">
<item row="0" column="0">
<widget class="QGroupBox" name="VideoModeGroupBox">
<property name="title">
<string>Video Mode</string>
</property>
<layout class="QVBoxLayout" name="VideoModeLayout">
<property name="spacing">
<number>8</number>
</property>
<property name="margin">
<number>8</number>
</property>
<item>
<widget class="QCheckBox" name="UseVMRCheckBox">
<property name="text">
<string>Use Video Mode Rendering</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="UseVMRLabel">
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;No video preview available with VMR enabled&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</widget>
<widget class="QPushButton" name="SaveButton">
<property name="geometry">
<rect>
<x>490</x>
<y>470</y>
<width>81</width>
<height>26</height>
</rect>
</property>
<property name="text">
<string>Save</string>
</property>
</widget>
<widget class="QPushButton" name="CancelButton">
<property name="geometry">
<rect>
<x>400</x>
<y>470</y>
<width>81</width>
<height>26</height>
</rect>
</property>
<property name="text">
<string>Cancel</string>
</property>
</widget>
<widget class="QPushButton" name="ResetButton">
<property name="geometry">
<rect>
<x>310</x>
<y>470</y>
<width>81</width>
<height>26</height>
</rect>
</property>
<property name="text">
<string>Reset</string>
</property>
</widget>
</widget>
<resources>
<include location="../images/openlp-2.qrc"/>
</resources>
<connections/>
</ui>