forked from openlp/openlp
Rearranged the settings tab system to work the same way as the media manager item system.
bzr-revno: 351
This commit is contained in:
parent
3477003106
commit
1c47f553f3
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE UserProject SYSTEM "UserProject-4.0.dtd">
|
<!DOCTYPE UserProject SYSTEM "UserProject-4.0.dtd">
|
||||||
<!-- eric4 user project file for project openlp.org 2.0 -->
|
<!-- eric4 user project file for project openlp.org 2.0 -->
|
||||||
<!-- Saved: 2009-02-20, 00:23:18 -->
|
<!-- Saved: 2009-03-01, 01:17:02 -->
|
||||||
<!-- Copyright (C) 2009 Raoul Snyman, raoulsnyman@openlp.org -->
|
<!-- Copyright (C) 2009 Raoul Snyman, raoulsnyman@openlp.org -->
|
||||||
<UserProject version="4.0">
|
<UserProject version="4.0">
|
||||||
</UserProject>
|
</UserProject>
|
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE Tasks SYSTEM "Tasks-4.2.dtd">
|
<!DOCTYPE Tasks SYSTEM "Tasks-4.2.dtd">
|
||||||
<!-- eric4 tasks file for project openlp.org 2.0 -->
|
<!-- eric4 tasks file for project openlp.org 2.0 -->
|
||||||
<!-- Saved: 2009-02-20, 00:23:19 -->
|
<!-- Saved: 2009-03-01, 01:17:03 -->
|
||||||
<Tasks version="4.2">
|
<Tasks version="4.2">
|
||||||
<Task priority="1" completed="False" bugfix="False">
|
<Task priority="1" completed="False" bugfix="False">
|
||||||
<Summary>TODO: what is the tags for bridge, pre-chorus?</Summary>
|
<Summary>TODO: what is the tags for bridge, pre-chorus?</Summary>
|
||||||
@ -111,4 +111,31 @@
|
|||||||
<Linenumber>534</Linenumber>
|
<Linenumber>534</Linenumber>
|
||||||
</Resource>
|
</Resource>
|
||||||
</Task>
|
</Task>
|
||||||
|
<Task priority="1" completed="False" bugfix="False">
|
||||||
|
<Summary>TODO: need some way to make this geometry work properly!</Summary>
|
||||||
|
<Description></Description>
|
||||||
|
<Created>2009-03-01, 01:09:34</Created>
|
||||||
|
<Resource>
|
||||||
|
<Filename>openlp/core/ui/mainwindow.py</Filename>
|
||||||
|
<Linenumber>96</Linenumber>
|
||||||
|
</Resource>
|
||||||
|
</Task>
|
||||||
|
<Task priority="1" completed="False" bugfix="False">
|
||||||
|
<Summary>TODO: need to get rid of this once all plugins are up to date</Summary>
|
||||||
|
<Description></Description>
|
||||||
|
<Created>2009-03-01, 01:10:29</Created>
|
||||||
|
<Resource>
|
||||||
|
<Filename>openlp/core/pluginmanager.py</Filename>
|
||||||
|
<Linenumber>86</Linenumber>
|
||||||
|
</Resource>
|
||||||
|
</Task>
|
||||||
|
<Task priority="1" completed="False" bugfix="False">
|
||||||
|
<Summary>TODO: These shouldn't be called here...</Summary>
|
||||||
|
<Description></Description>
|
||||||
|
<Created>2009-03-01, 01:10:29</Created>
|
||||||
|
<Resource>
|
||||||
|
<Filename>openlp/core/pluginmanager.py</Filename>
|
||||||
|
<Linenumber>108</Linenumber>
|
||||||
|
</Resource>
|
||||||
|
</Task>
|
||||||
</Tasks>
|
</Tasks>
|
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE Project SYSTEM "Project-4.4.dtd">
|
<!DOCTYPE Project SYSTEM "Project-4.4.dtd">
|
||||||
<!-- eric4 project file for project openlp.org 2.0 -->
|
<!-- eric4 project file for project openlp.org 2.0 -->
|
||||||
<!-- Saved: 2009-02-20, 00:23:11 -->
|
<!-- Saved: 2009-03-01, 01:17:00 -->
|
||||||
<!-- Copyright (C) 2009 Raoul Snyman, raoulsnyman@openlp.org -->
|
<!-- Copyright (C) 2009 Raoul Snyman, raoulsnyman@openlp.org -->
|
||||||
<Project version="4.4">
|
<Project version="4.4">
|
||||||
<ProgLanguage mixed="0">Python</ProgLanguage>
|
<ProgLanguage mixed="0">Python</ProgLanguage>
|
||||||
@ -26,7 +26,6 @@
|
|||||||
<Source>openlp/core/ui/__init__.py</Source>
|
<Source>openlp/core/ui/__init__.py</Source>
|
||||||
<Source>openlp/core/ui/mainwindow.py</Source>
|
<Source>openlp/core/ui/mainwindow.py</Source>
|
||||||
<Source>openlp/core/ui/splashscreen.py</Source>
|
<Source>openlp/core/ui/splashscreen.py</Source>
|
||||||
<Source>openlp/core/ui/settings.py</Source>
|
|
||||||
<Source>openlp/core/ui/alertform.py</Source>
|
<Source>openlp/core/ui/alertform.py</Source>
|
||||||
<Source>openlp/core/ui/about.py</Source>
|
<Source>openlp/core/ui/about.py</Source>
|
||||||
<Source>openlp/plugins/songs/songsplugin.py</Source>
|
<Source>openlp/plugins/songs/songsplugin.py</Source>
|
||||||
@ -48,7 +47,6 @@
|
|||||||
<Source>openlp/core/resources.py</Source>
|
<Source>openlp/core/resources.py</Source>
|
||||||
<Source>openlp/core/lib/__init__.py</Source>
|
<Source>openlp/core/lib/__init__.py</Source>
|
||||||
<Source>openlp/core/lib/xmlrootclass.py</Source>
|
<Source>openlp/core/lib/xmlrootclass.py</Source>
|
||||||
<Source>openlp/core/lib/settingstab.py</Source>
|
|
||||||
<Source>openlp/core/lib/plugin.py</Source>
|
<Source>openlp/core/lib/plugin.py</Source>
|
||||||
<Source>openlp/core/lib/mediamanageritem.py</Source>
|
<Source>openlp/core/lib/mediamanageritem.py</Source>
|
||||||
<Source>openlp/core/lib/event.py</Source>
|
<Source>openlp/core/lib/event.py</Source>
|
||||||
@ -122,6 +120,17 @@
|
|||||||
<Source>openlp/core/lib/imageserviceitem.py</Source>
|
<Source>openlp/core/lib/imageserviceitem.py</Source>
|
||||||
<Source>openlp/plugins/bibles/forms/bibleeditdialog.py</Source>
|
<Source>openlp/plugins/bibles/forms/bibleeditdialog.py</Source>
|
||||||
<Source>resources/forms/Ui_editsongdialog.py</Source>
|
<Source>resources/forms/Ui_editsongdialog.py</Source>
|
||||||
|
<Source>openlp/core/ui/servicemanager.py</Source>
|
||||||
|
<Source>openlp/core/lib/toolbar.py</Source>
|
||||||
|
<Source>resources/forms/bibleimportdialog.py</Source>
|
||||||
|
<Source>openlp/core/ui/settingsform.py</Source>
|
||||||
|
<Source>openlp/core/ui/generalform.py</Source>
|
||||||
|
<Source>openlp/core/lib/settingstabitem.py</Source>
|
||||||
|
<Source>openlp/core/ui/generaltab.py</Source>
|
||||||
|
<Source>openlp/core/ui/themestab.py</Source>
|
||||||
|
<Source>openlp/core/ui/alertstab.py</Source>
|
||||||
|
<Source>resources/forms/Ui_settings.py</Source>
|
||||||
|
<Source>openlp/core/ui/settingsdialog.py</Source>
|
||||||
</Sources>
|
</Sources>
|
||||||
<Forms>
|
<Forms>
|
||||||
<Form>resources/forms/openlpexportform.ui</Form>
|
<Form>resources/forms/openlpexportform.ui</Form>
|
||||||
@ -140,7 +149,8 @@
|
|||||||
<Form>resources/forms/songbookdialog.ui</Form>
|
<Form>resources/forms/songbookdialog.ui</Form>
|
||||||
<Form>resources/forms/topicsdialog.ui</Form>
|
<Form>resources/forms/topicsdialog.ui</Form>
|
||||||
<Form>resources/forms/editsongdialog.ui</Form>
|
<Form>resources/forms/editsongdialog.ui</Form>
|
||||||
<Form>resources/forms/bibleeditdialog.ui</Form>
|
<Form>openlp/plugins/bibles/forms/bibleeditdialog.ui</Form>
|
||||||
|
<Form>resources/forms/settings2.ui</Form>
|
||||||
</Forms>
|
</Forms>
|
||||||
<Translations>
|
<Translations>
|
||||||
</Translations>
|
</Translations>
|
||||||
|
@ -17,9 +17,13 @@ You should have received a copy of the GNU General Public License along with
|
|||||||
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
||||||
Place, Suite 330, Boston, MA 02111-1307 USA
|
Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
"""
|
"""
|
||||||
|
from PyQt4 import QtCore, QtGui
|
||||||
|
|
||||||
from render import Renderer
|
from render import Renderer
|
||||||
from settingsmanager import SettingsManager
|
from settingsmanager import SettingsManager
|
||||||
from pluginmanager import PluginManager
|
from pluginmanager import PluginManager
|
||||||
|
|
||||||
__all__ = ['Renderer', 'SettingsManager', 'PluginManager']
|
__all__ = ['Renderer', 'SettingsManager', 'PluginManager', 'translate']
|
||||||
|
|
||||||
|
def translate(context, text):
|
||||||
|
return QtGui.QApplication.translate(context, text, None, QtGui.QApplication.UnicodeUTF8)
|
||||||
|
@ -20,7 +20,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA
|
|||||||
from pluginutils import PluginUtils
|
from pluginutils import PluginUtils
|
||||||
from pluginconfig import PluginConfig
|
from pluginconfig import PluginConfig
|
||||||
from plugin import Plugin
|
from plugin import Plugin
|
||||||
from settingstabitem import SettingsTabItem
|
from settingstab import SettingsTab
|
||||||
from mediamanageritem import MediaManagerItem
|
from mediamanageritem import MediaManagerItem
|
||||||
from event import Event
|
from event import Event
|
||||||
from xmlrootclass import XmlRootClass
|
from xmlrootclass import XmlRootClass
|
||||||
|
@ -21,26 +21,27 @@ Place, Suite 330, Boston, MA 02111-1307 USA
|
|||||||
from PyQt4 import QtCore, QtGui
|
from PyQt4 import QtCore, QtGui
|
||||||
from openlp.core.resources import *
|
from openlp.core.resources import *
|
||||||
|
|
||||||
class SettingsTabItem(QtGui.QWidget):
|
class SettingsTab(QtGui.QWidget):
|
||||||
"""
|
"""
|
||||||
SettingsTabItem is a helper widget for plugins to define Tabs for the settings dialog.
|
SettingsTab is a helper widget for plugins to define Tabs for the settings dialog.
|
||||||
"""
|
"""
|
||||||
def __init__(self):
|
def __init__(self, title=None):
|
||||||
"""
|
"""
|
||||||
Constructor to create the Steetings tab item.
|
Constructor to create the Steetings tab item.
|
||||||
"""
|
"""
|
||||||
QtGui.QWidget.__init__(self)
|
QtGui.QWidget.__init__(self)
|
||||||
self.TabLayout = QtGui.QVBoxLayout(self)
|
self.tabTitle = title
|
||||||
self.TabLayout.setSpacing(0)
|
self.setupUi()
|
||||||
self.TabLayout.setMargin(0)
|
self.retranslateUi()
|
||||||
self.tabText = None
|
|
||||||
|
|
||||||
def setTabText(self, text):
|
def setTitle(self, title):
|
||||||
self.tabText = text
|
self.tabTitle = title
|
||||||
|
|
||||||
def add_items(self, items):
|
def title(self):
|
||||||
if type(items).__name__ == "QWidget":
|
return self.tabTitle
|
||||||
self.TabLayout.addWidget(items)
|
|
||||||
else:
|
def setupUi(self):
|
||||||
for item in items:
|
pass
|
||||||
self.TabLayout.addWidget(item)
|
|
||||||
|
def retranslateUi(self):
|
||||||
|
pass
|
@ -47,7 +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
|
||||||
@ -56,7 +56,7 @@ class PluginManager(object):
|
|||||||
self.live_controller=live_controller
|
self.live_controller=live_controller
|
||||||
startdepth=len(os.path.abspath(dir).split(os.sep))
|
startdepth=len(os.path.abspath(dir).split(os.sep))
|
||||||
log.debug("find plugins %s at depth %d" %( str(dir), startdepth))
|
log.debug("find plugins %s at depth %d" %( str(dir), startdepth))
|
||||||
|
|
||||||
for root, dirs, files in os.walk(dir):
|
for root, dirs, files in os.walk(dir):
|
||||||
for name in files:
|
for name in files:
|
||||||
if name.endswith(".py") and not name.startswith("__"):
|
if name.endswith(".py") and not name.startswith("__"):
|
||||||
@ -82,7 +82,8 @@ 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: # TODO: 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,23 +105,22 @@ class PluginManager(object):
|
|||||||
if media_manager_item is not None:
|
if media_manager_item is not None:
|
||||||
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)
|
||||||
|
# TODO: These shouldn't be called here...
|
||||||
plugin.initialise()
|
plugin.initialise()
|
||||||
plugin.load_settings()
|
plugin.load_settings()
|
||||||
|
|
||||||
def hook_settings_tabs(self, mediatoolbox=None):
|
def hook_settings_tabs(self, settingsform=None):
|
||||||
"""
|
"""
|
||||||
Loop through all the plugins. If a plugin has a valid settings tab item,
|
Loop through all the plugins. If a plugin has a valid settings tab item,
|
||||||
add it to the settings tab.
|
add it to the settings tab.
|
||||||
"""
|
"""
|
||||||
want_settings = []
|
|
||||||
for plugin in self.plugins:
|
for plugin in self.plugins:
|
||||||
settings_tab_item = plugin.has_settings_tab_item()
|
settings_tab = plugin.get_settings_tab()
|
||||||
#print plugin , settings_tab_item
|
if settings_tab is not None:
|
||||||
if settings_tab_item:
|
|
||||||
log.debug('Inserting settings tab item from %s' % plugin.name)
|
log.debug('Inserting settings tab item from %s' % plugin.name)
|
||||||
want_settings.append(plugin)
|
settingsform.addTab(settings_tab)
|
||||||
#mediatoolbox.addItem(media_manager_item, plugin.icon, media_manager_item.title)
|
else:
|
||||||
return want_settings
|
log.debug('No settings in %s' % plugin.name)
|
||||||
|
|
||||||
def hook_import_menu(self, import_menu):
|
def hook_import_menu(self, import_menu):
|
||||||
"""
|
"""
|
||||||
@ -138,5 +138,5 @@ class PluginManager(object):
|
|||||||
for plugin in self.plugins:
|
for plugin in self.plugins:
|
||||||
plugin.add_export_menu_item(export_menu)
|
plugin.add_export_menu_item(export_menu)
|
||||||
|
|
||||||
def hook_handle_event(self, event):
|
def hook_handle_event(self, event):
|
||||||
pass
|
pass
|
||||||
|
@ -20,12 +20,15 @@ Place, Suite 330, Boston, MA 02111-1307 USA
|
|||||||
|
|
||||||
from slidecontroller import SlideController
|
from slidecontroller import SlideController
|
||||||
from splashscreen import SplashScreen
|
from splashscreen import SplashScreen
|
||||||
|
from alertstab import AlertsTab
|
||||||
|
from generaltab import GeneralTab
|
||||||
|
from themestab import ThemesTab
|
||||||
from about import AboutForm
|
from about import AboutForm
|
||||||
from alertform import AlertForm
|
#from alertform import AlertForm
|
||||||
from generalform import GeneralForm
|
from generalform import GeneralForm
|
||||||
from settingsform import SettingsForm
|
from settingsform import SettingsForm
|
||||||
from servicemanager import ServiceManager
|
from servicemanager import ServiceManager
|
||||||
from mainwindow import MainWindow
|
from mainwindow import MainWindow
|
||||||
|
|
||||||
__all__ = ['SplashScreen', 'AboutForm', 'AlertForm', 'SettingsForm',
|
__all__ = ['SplashScreen', 'AboutForm', 'SettingsForm',
|
||||||
'MainWindow', 'SlideController', 'ServiceManager,GeneralForm']
|
'MainWindow', 'SlideController', 'ServiceManager,GeneralForm']
|
||||||
|
140
openlp/core/ui/alertstab.py
Normal file
140
openlp/core/ui/alertstab.py
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
|
||||||
|
"""
|
||||||
|
OpenLP - Open Source Lyrics Projection
|
||||||
|
Copyright (c) 2008 Raoul Snyman
|
||||||
|
Portions copyright (c) 2008 Martin Thompson, Tim Bentley,
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify it under
|
||||||
|
the terms of the GNU General Public License as published by the Free Software
|
||||||
|
Foundation; version 2 of the License.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||||
|
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along with
|
||||||
|
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
||||||
|
Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
"""
|
||||||
|
|
||||||
|
from PyQt4 import QtCore, QtGui
|
||||||
|
|
||||||
|
from openlp.core import translate
|
||||||
|
from openlp.core.lib import SettingsTab
|
||||||
|
from openlp.core.resources import *
|
||||||
|
|
||||||
|
class AlertsTab(SettingsTab):
|
||||||
|
"""
|
||||||
|
AlertsTab is the alerts settings tab in the settings dialog.
|
||||||
|
"""
|
||||||
|
def __init__(self):
|
||||||
|
SettingsTab.__init__(self, u'Alerts')
|
||||||
|
|
||||||
|
def setupUi(self):
|
||||||
|
self.setObjectName(u'AlertsTab')
|
||||||
|
self.AlertsLayout = QtGui.QHBoxLayout(self)
|
||||||
|
self.AlertsLayout.setSpacing(8)
|
||||||
|
self.AlertsLayout.setMargin(8)
|
||||||
|
self.AlertsLayout.setObjectName(u'AlertsLayout')
|
||||||
|
self.AlertLeftColumn = QtGui.QWidget(self)
|
||||||
|
self.AlertLeftColumn.setObjectName(u'AlertLeftColumn')
|
||||||
|
self.SlideLeftLayout = QtGui.QVBoxLayout(self.AlertLeftColumn)
|
||||||
|
self.SlideLeftLayout.setSpacing(8)
|
||||||
|
self.SlideLeftLayout.setMargin(0)
|
||||||
|
self.SlideLeftLayout.setObjectName(u'SlideLeftLayout')
|
||||||
|
self.FontGroupBox = QtGui.QGroupBox(self.AlertLeftColumn)
|
||||||
|
self.FontGroupBox.setObjectName(u'FontGroupBox')
|
||||||
|
self.FontLayout = QtGui.QVBoxLayout(self.FontGroupBox)
|
||||||
|
self.FontLayout.setSpacing(8)
|
||||||
|
self.FontLayout.setMargin(8)
|
||||||
|
self.FontLayout.setObjectName(u'FontLayout')
|
||||||
|
self.FontLabel = QtGui.QLabel(self.FontGroupBox)
|
||||||
|
self.FontLabel.setObjectName(u'FontLabel')
|
||||||
|
self.FontLayout.addWidget(self.FontLabel)
|
||||||
|
self.FontComboBox = QtGui.QFontComboBox(self.FontGroupBox)
|
||||||
|
self.FontComboBox.setObjectName(u'FontComboBox')
|
||||||
|
self.FontLayout.addWidget(self.FontComboBox)
|
||||||
|
self.ColorWidget = QtGui.QWidget(self.FontGroupBox)
|
||||||
|
self.ColorWidget.setObjectName(u'ColorWidget')
|
||||||
|
self.ColorLayout = QtGui.QHBoxLayout(self.ColorWidget)
|
||||||
|
self.ColorLayout.setSpacing(8)
|
||||||
|
self.ColorLayout.setMargin(0)
|
||||||
|
self.ColorLayout.setObjectName(u'ColorLayout')
|
||||||
|
self.FontColorLabel = QtGui.QLabel(self.ColorWidget)
|
||||||
|
self.FontColorLabel.setObjectName(u'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(u'FontColorPanel')
|
||||||
|
self.ColorLayout.addWidget(self.FontColorPanel)
|
||||||
|
self.ColorSpacerItem = QtGui.QSpacerItem(40, 20,
|
||||||
|
QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
|
||||||
|
self.ColorLayout.addItem(self.ColorSpacerItem)
|
||||||
|
self.BackgroundColorLabel = QtGui.QLabel(self.ColorWidget)
|
||||||
|
self.BackgroundColorLabel.setObjectName(u'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(u'BackgroundColorPanel')
|
||||||
|
self.ColorLayout.addWidget(self.BackgroundColorPanel)
|
||||||
|
self.FontLayout.addWidget(self.ColorWidget)
|
||||||
|
self.LengthWidget = QtGui.QWidget(self.FontGroupBox)
|
||||||
|
self.LengthWidget.setObjectName(u'LengthWidget')
|
||||||
|
self.LengthLayout = QtGui.QHBoxLayout(self.LengthWidget)
|
||||||
|
self.LengthLayout.setSpacing(8)
|
||||||
|
self.LengthLayout.setMargin(0)
|
||||||
|
self.LengthLayout.setObjectName(u'LengthLayout')
|
||||||
|
self.LengthLabel = QtGui.QLabel(self.LengthWidget)
|
||||||
|
self.LengthLabel.setObjectName(u'LengthLabel')
|
||||||
|
self.LengthLayout.addWidget(self.LengthLabel)
|
||||||
|
self.LengthSpinBox = QtGui.QSpinBox(self.LengthWidget)
|
||||||
|
self.LengthSpinBox.setMaximum(180)
|
||||||
|
self.LengthSpinBox.setProperty(u'value', QtCore.QVariant(5))
|
||||||
|
self.LengthSpinBox.setObjectName(u'LengthSpinBox')
|
||||||
|
self.LengthLayout.addWidget(self.LengthSpinBox)
|
||||||
|
self.LengthSpacer = QtGui.QSpacerItem(147, 20,
|
||||||
|
QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
|
||||||
|
self.LengthLayout.addItem(self.LengthSpacer)
|
||||||
|
self.FontLayout.addWidget(self.LengthWidget)
|
||||||
|
self.SlideLeftLayout.addWidget(self.FontGroupBox)
|
||||||
|
self.SlideLeftSpacer = QtGui.QSpacerItem(20, 94,
|
||||||
|
QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
|
||||||
|
self.SlideLeftLayout.addItem(self.SlideLeftSpacer)
|
||||||
|
self.AlertsLayout.addWidget(self.AlertLeftColumn)
|
||||||
|
self.SlideRightColumn = QtGui.QWidget(self)
|
||||||
|
self.SlideRightColumn.setObjectName(u'SlideRightColumn')
|
||||||
|
self.SlideRightLayout = QtGui.QVBoxLayout(self.SlideRightColumn)
|
||||||
|
self.SlideRightLayout.setSpacing(8)
|
||||||
|
self.SlideRightLayout.setMargin(0)
|
||||||
|
self.SlideRightLayout.setObjectName(u'SlideRightLayout')
|
||||||
|
self.PreviewGroupBox = QtGui.QGroupBox(self.SlideRightColumn)
|
||||||
|
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(self.PreviewGroupBox.sizePolicy().hasHeightForWidth())
|
||||||
|
self.PreviewGroupBox.setSizePolicy(sizePolicy)
|
||||||
|
self.PreviewGroupBox.setObjectName(u'PreviewGroupBox')
|
||||||
|
self.PreviewLayout = QtGui.QVBoxLayout(self.PreviewGroupBox)
|
||||||
|
self.PreviewLayout.setSpacing(8)
|
||||||
|
self.PreviewLayout.setMargin(8)
|
||||||
|
self.PreviewLayout.setObjectName(u'PreviewLayout')
|
||||||
|
self.FontPreview = QtGui.QGraphicsView(self.PreviewGroupBox)
|
||||||
|
self.FontPreview.setMaximumSize(QtCore.QSize(16777215, 64))
|
||||||
|
self.FontPreview.setObjectName(u'FontPreview')
|
||||||
|
self.PreviewLayout.addWidget(self.FontPreview)
|
||||||
|
self.SlideRightLayout.addWidget(self.PreviewGroupBox)
|
||||||
|
self.SlideRightSpacer = QtGui.QSpacerItem(20, 40,
|
||||||
|
QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
|
||||||
|
self.SlideRightLayout.addItem(self.SlideRightSpacer)
|
||||||
|
|
||||||
|
def retranslateUi(self):
|
||||||
|
self.FontGroupBox.setTitle(translate(u'AlertsTab', u'Font'))
|
||||||
|
self.FontLabel.setText(translate(u'AlertsTab', u'Font Name:'))
|
||||||
|
self.FontColorLabel.setText(translate(u'AlertsTab', u'Font Color:'))
|
||||||
|
self.BackgroundColorLabel.setText(translate(u'AlertsTab', u'Background Color:'))
|
||||||
|
self.LengthLabel.setText(translate(u'AlertsTab', u'Display length:'))
|
||||||
|
self.LengthSpinBox.setSuffix(translate(u'AlertsTab', u's'))
|
||||||
|
self.PreviewGroupBox.setTitle(translate(u'AlertsTab', u'Preview'))
|
@ -21,7 +21,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA
|
|||||||
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 SettingsTabItem
|
from openlp.core.lib import SettingsTab
|
||||||
|
|
||||||
class GeneralForm(object):
|
class GeneralForm(object):
|
||||||
"""
|
"""
|
||||||
@ -32,9 +32,9 @@ class GeneralForm(object):
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
pass
|
pass
|
||||||
def get_settings_tab_item(self):
|
def get_settings_tab_item(self):
|
||||||
|
|
||||||
self.SettingsTabItem= SettingsTabItem()
|
self.SettingsTabItem= SettingsTabItem()
|
||||||
|
|
||||||
self.DisplayTab = QtGui.QWidget()
|
self.DisplayTab = QtGui.QWidget()
|
||||||
self.DisplayTab.setObjectName("DisplayTab")
|
self.DisplayTab.setObjectName("DisplayTab")
|
||||||
self.DisplayTabLayout = QtGui.QHBoxLayout(self.DisplayTab)
|
self.DisplayTabLayout = QtGui.QHBoxLayout(self.DisplayTab)
|
||||||
@ -122,22 +122,22 @@ class GeneralForm(object):
|
|||||||
self.MonitorComboBox.setItemText(1, QtGui.QApplication.translate("SettingsForm", "Monitor 2 on X11 Windowing System", None, QtGui.QApplication.UnicodeUTF8))
|
self.MonitorComboBox.setItemText(1, QtGui.QApplication.translate("SettingsForm", "Monitor 2 on X11 Windowing System", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
self.FontSizeGroupBox.setTitle(QtGui.QApplication.translate("SettingsForm", "Font Size", None, QtGui.QApplication.UnicodeUTF8))
|
self.FontSizeGroupBox.setTitle(QtGui.QApplication.translate("SettingsForm", "Font Size", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
self.AutoResizeRadioButton.setText(QtGui.QApplication.translate("SettingsForm", "Automatically resize font to fit text to slide", None, QtGui.QApplication.UnicodeUTF8))
|
self.AutoResizeRadioButton.setText(QtGui.QApplication.translate("SettingsForm", "Automatically resize font to fit text to slide", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
self.WrapLinesRadioButton.setText(QtGui.QApplication.translate("SettingsForm", "Wrap long lines to keep desired font", None, QtGui.QApplication.UnicodeUTF8))
|
self.WrapLinesRadioButton.setText(QtGui.QApplication.translate("SettingsForm", "Wrap long lines to keep desired font", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
self.SongDisplayGroupBox.setTitle(QtGui.QApplication.translate("SettingsForm", "Song Display", None, QtGui.QApplication.UnicodeUTF8))
|
self.SongDisplayGroupBox.setTitle(QtGui.QApplication.translate("SettingsForm", "Song Display", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
self.EnableCreditsCheckBox.setText(QtGui.QApplication.translate("SettingsForm", "Enable displaying of song credits", None, QtGui.QApplication.UnicodeUTF8))
|
self.EnableCreditsCheckBox.setText(QtGui.QApplication.translate("SettingsForm", "Enable displaying of song credits", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
self.BlankScreenGroupBox.setTitle(QtGui.QApplication.translate("SettingsForm", "Blank Screen", None, QtGui.QApplication.UnicodeUTF8))
|
self.BlankScreenGroupBox.setTitle(QtGui.QApplication.translate("SettingsForm", "Blank Screen", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
self.WarningCheckBox.setText(QtGui.QApplication.translate("SettingsForm", "Show warning on startup", None, QtGui.QApplication.UnicodeUTF8))
|
self.WarningCheckBox.setText(QtGui.QApplication.translate("SettingsForm", "Show warning on startup", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
self.AutoOpenGroupBox.setTitle(QtGui.QApplication.translate("SettingsForm", "Auto Open Last Service", None, QtGui.QApplication.UnicodeUTF8))
|
self.AutoOpenGroupBox.setTitle(QtGui.QApplication.translate("SettingsForm", "Auto Open Last Service", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
self.AutoOpenCheckBox.setText(QtGui.QApplication.translate("SettingsForm", "Automatically open the last service at startup", None, QtGui.QApplication.UnicodeUTF8))
|
self.AutoOpenCheckBox.setText(QtGui.QApplication.translate("SettingsForm", "Automatically open the last service at startup", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
|
|
||||||
self.SettingsTabItem.setTabText(QtGui.QApplication.translate("SettingsForm", "General", None, QtGui.QApplication.UnicodeUTF8))
|
self.SettingsTabItem.setTabText(QtGui.QApplication.translate("SettingsForm", "General", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
|
|
||||||
self.SettingsTabItem.add_items(self.DisplayTab)
|
self.SettingsTabItem.add_items(self.DisplayTab)
|
||||||
return self.SettingsTabItem
|
return self.SettingsTabItem
|
||||||
|
|
||||||
|
|
||||||
def load_settings(self):
|
def load_settings(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def save_settings(self):
|
def save_settings(self):
|
||||||
pass
|
pass
|
||||||
|
131
openlp/core/ui/generaltab.py
Normal file
131
openlp/core/ui/generaltab.py
Normal file
@ -0,0 +1,131 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
|
||||||
|
"""
|
||||||
|
OpenLP - Open Source Lyrics Projection
|
||||||
|
Copyright (c) 2008 Raoul Snyman
|
||||||
|
Portions copyright (c) 2008 Martin Thompson, Tim Bentley,
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify it under
|
||||||
|
the terms of the GNU General Public License as published by the Free Software
|
||||||
|
Foundation; version 2 of the License.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||||
|
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along with
|
||||||
|
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
||||||
|
Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
"""
|
||||||
|
|
||||||
|
from PyQt4 import QtCore, QtGui
|
||||||
|
|
||||||
|
from openlp.core import translate
|
||||||
|
from openlp.core.lib import SettingsTab
|
||||||
|
from openlp.core.resources import *
|
||||||
|
|
||||||
|
class GeneralTab(SettingsTab):
|
||||||
|
"""
|
||||||
|
GeneralTab is the general settings tab in the settings dialog.
|
||||||
|
"""
|
||||||
|
def __init__(self):
|
||||||
|
SettingsTab.__init__(self, translate(u'GeneralTab', u'General'))
|
||||||
|
|
||||||
|
def setupUi(self):
|
||||||
|
self.setObjectName(u'GeneralTab')
|
||||||
|
self.GeneralLayout = QtGui.QHBoxLayout(self)
|
||||||
|
self.GeneralLayout.setSpacing(8)
|
||||||
|
self.GeneralLayout.setMargin(8)
|
||||||
|
self.GeneralLayout.setObjectName(u'GeneralLayout')
|
||||||
|
self.GeneralLeftWidget = QtGui.QWidget(self)
|
||||||
|
self.GeneralLeftWidget.setObjectName(u'GeneralLeftWidget')
|
||||||
|
self.GeneralLeftLayout = QtGui.QVBoxLayout(self.GeneralLeftWidget)
|
||||||
|
self.GeneralLeftLayout.setObjectName(u'GeneralLeftLayout')
|
||||||
|
self.MonitorGroupBox = QtGui.QGroupBox(self.GeneralLeftWidget)
|
||||||
|
self.MonitorGroupBox.setObjectName(u'MonitorGroupBox')
|
||||||
|
self.MonitorLayout = QtGui.QVBoxLayout(self.MonitorGroupBox)
|
||||||
|
self.MonitorLayout.setSpacing(8)
|
||||||
|
self.MonitorLayout.setMargin(8)
|
||||||
|
self.MonitorLayout.setObjectName(u'MonitorLayout')
|
||||||
|
self.MonitorLabel = QtGui.QLabel(self.MonitorGroupBox)
|
||||||
|
self.MonitorLabel.setObjectName(u'MonitorLabel')
|
||||||
|
self.MonitorLayout.addWidget(self.MonitorLabel)
|
||||||
|
self.MonitorComboBox = QtGui.QComboBox(self.MonitorGroupBox)
|
||||||
|
self.MonitorComboBox.setObjectName(u'MonitorComboBox')
|
||||||
|
self.MonitorComboBox.addItem(QtCore.QString())
|
||||||
|
self.MonitorComboBox.addItem(QtCore.QString())
|
||||||
|
self.MonitorLayout.addWidget(self.MonitorComboBox)
|
||||||
|
self.GeneralLeftLayout.addWidget(self.MonitorGroupBox)
|
||||||
|
self.BlankScreenGroupBox = QtGui.QGroupBox(self.GeneralLeftWidget)
|
||||||
|
self.BlankScreenGroupBox.setObjectName(u'BlankScreenGroupBox')
|
||||||
|
self.BlankScreenLayout = QtGui.QVBoxLayout(self.BlankScreenGroupBox)
|
||||||
|
self.BlankScreenLayout.setSpacing(8)
|
||||||
|
self.BlankScreenLayout.setMargin(8)
|
||||||
|
self.BlankScreenLayout.setObjectName(u'BlankScreenLayout')
|
||||||
|
self.WarningCheckBox = QtGui.QCheckBox(self.BlankScreenGroupBox)
|
||||||
|
self.WarningCheckBox.setObjectName(u'WarningCheckBox')
|
||||||
|
self.BlankScreenLayout.addWidget(self.WarningCheckBox)
|
||||||
|
self.GeneralLeftLayout.addWidget(self.BlankScreenGroupBox)
|
||||||
|
self.AutoOpenGroupBox = QtGui.QGroupBox(self.GeneralLeftWidget)
|
||||||
|
self.AutoOpenGroupBox.setObjectName(u'AutoOpenGroupBox')
|
||||||
|
self.AutoOpenLayout = QtGui.QVBoxLayout(self.AutoOpenGroupBox)
|
||||||
|
self.AutoOpenLayout.setObjectName(u'AutoOpenLayout')
|
||||||
|
self.AutoOpenCheckBox = QtGui.QCheckBox(self.AutoOpenGroupBox)
|
||||||
|
self.AutoOpenCheckBox.setObjectName(u'AutoOpenCheckBox')
|
||||||
|
self.AutoOpenLayout.addWidget(self.AutoOpenCheckBox)
|
||||||
|
self.GeneralLeftLayout.addWidget(self.AutoOpenGroupBox)
|
||||||
|
self.GeneralLeftSpacer = QtGui.QSpacerItem(20, 40,
|
||||||
|
QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
|
||||||
|
self.GeneralLeftLayout.addItem(self.GeneralLeftSpacer)
|
||||||
|
self.GeneralLayout.addWidget(self.GeneralLeftWidget)
|
||||||
|
self.GeneralRightWidget = QtGui.QWidget(self)
|
||||||
|
self.GeneralRightWidget.setObjectName(u'GeneralRightWidget')
|
||||||
|
self.GeneralRightLayout = QtGui.QVBoxLayout(self.GeneralRightWidget)
|
||||||
|
self.GeneralRightLayout.setSpacing(8)
|
||||||
|
self.GeneralRightLayout.setMargin(0)
|
||||||
|
self.GeneralRightLayout.setObjectName(u'GeneralRightLayout')
|
||||||
|
self.CCLIGroupBox = QtGui.QGroupBox(self.GeneralRightWidget)
|
||||||
|
self.CCLIGroupBox.setObjectName(u'CCLIGroupBox')
|
||||||
|
self.CCLILayout = QtGui.QGridLayout(self.CCLIGroupBox)
|
||||||
|
self.CCLILayout.setMargin(8)
|
||||||
|
self.CCLILayout.setSpacing(8)
|
||||||
|
self.CCLILayout.setObjectName(u'CCLILayout')
|
||||||
|
self.NumberLabel = QtGui.QLabel(self.CCLIGroupBox)
|
||||||
|
self.NumberLabel.setObjectName(u'NumberLabel')
|
||||||
|
self.CCLILayout.addWidget(self.NumberLabel, 0, 0, 1, 1)
|
||||||
|
self.NumberEdit = QtGui.QLineEdit(self.CCLIGroupBox)
|
||||||
|
self.NumberEdit.setObjectName(u'NumberEdit')
|
||||||
|
self.CCLILayout.addWidget(self.NumberEdit, 0, 1, 1, 1)
|
||||||
|
self.UsernameLabel = QtGui.QLabel(self.CCLIGroupBox)
|
||||||
|
self.UsernameLabel.setObjectName(u'UsernameLabel')
|
||||||
|
self.CCLILayout.addWidget(self.UsernameLabel, 1, 0, 1, 1)
|
||||||
|
self.UsernameEdit = QtGui.QLineEdit(self.CCLIGroupBox)
|
||||||
|
self.UsernameEdit.setObjectName(u'UsernameEdit')
|
||||||
|
self.CCLILayout.addWidget(self.UsernameEdit, 1, 1, 1, 1)
|
||||||
|
self.PasswordLabel = QtGui.QLabel(self.CCLIGroupBox)
|
||||||
|
self.PasswordLabel.setObjectName(u'PasswordLabel')
|
||||||
|
self.CCLILayout.addWidget(self.PasswordLabel, 2, 0, 1, 1)
|
||||||
|
self.PasswordEdit = QtGui.QLineEdit(self.CCLIGroupBox)
|
||||||
|
self.PasswordEdit.setEchoMode(QtGui.QLineEdit.Password)
|
||||||
|
self.PasswordEdit.setObjectName(u'PasswordEdit')
|
||||||
|
self.CCLILayout.addWidget(self.PasswordEdit, 2, 1, 1, 1)
|
||||||
|
self.GeneralRightLayout.addWidget(self.CCLIGroupBox)
|
||||||
|
self.GeneralRightSpacer = QtGui.QSpacerItem(20, 40,
|
||||||
|
QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
|
||||||
|
self.GeneralRightLayout.addItem(self.GeneralRightSpacer)
|
||||||
|
self.GeneralLayout.addWidget(self.GeneralRightWidget)
|
||||||
|
|
||||||
|
def retranslateUi(self):
|
||||||
|
self.MonitorGroupBox.setTitle(translate(u'GeneralTab', u'Monitors'))
|
||||||
|
self.MonitorLabel.setText(translate(u'GeneralTab', u'Select monitor for output display:'))
|
||||||
|
self.MonitorComboBox.setItemText(0, translate(u'GeneralTab', u'Monitor 1 on X11 Windowing System'))
|
||||||
|
self.MonitorComboBox.setItemText(1, translate(u'GeneralTab', u'Monitor 2 on X11 Windowing System'))
|
||||||
|
self.BlankScreenGroupBox.setTitle(translate(u'GeneralTab', u'Blank Screen'))
|
||||||
|
self.WarningCheckBox.setText(translate(u'GeneralTab', u'Show warning on startup'))
|
||||||
|
self.AutoOpenGroupBox.setTitle(translate(u'GeneralTab', u'Auto Open Last Service'))
|
||||||
|
self.AutoOpenCheckBox.setText(translate(u'GeneralTab', u'Automatically open the last service at startup'))
|
||||||
|
self.CCLIGroupBox.setTitle(translate(u'GeneralTab', u'CCLI Details'))
|
||||||
|
self.NumberLabel.setText(translate(u'GeneralTab', u'CCLI Number:'))
|
||||||
|
self.UsernameLabel.setText(translate(u'GeneralTab', u'SongSelect Username:'))
|
||||||
|
self.PasswordLabel.setText(translate(u'GeneralTab', u'SongSelect Password:'))
|
||||||
|
|
@ -25,9 +25,9 @@ from PyQt4 import QtCore, QtGui
|
|||||||
|
|
||||||
from openlp.core.resources import *
|
from openlp.core.resources import *
|
||||||
|
|
||||||
from openlp.core.ui import SlideController, ServiceManager
|
from openlp.core.ui import AboutForm, SettingsForm, \
|
||||||
from openlp.core.ui import AboutForm, AlertForm, SettingsForm, SlideController, GeneralForm
|
SlideController, ServiceManager, GeneralForm
|
||||||
from openlp.core.lib import Plugin, MediaManagerItem, SettingsTabItem
|
from openlp.core.lib import Plugin, MediaManagerItem, SettingsTab
|
||||||
|
|
||||||
from openlp.core import PluginManager
|
from openlp.core import PluginManager
|
||||||
import logging
|
import logging
|
||||||
@ -39,35 +39,33 @@ class MainWindow(object):
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.main_window = QtGui.QMainWindow()
|
self.main_window = QtGui.QMainWindow()
|
||||||
self.about_form = AboutForm()
|
self.about_form = AboutForm()
|
||||||
self.alert_form = AlertForm()
|
#self.alert_form = AlertForm()
|
||||||
self.settings_form = SettingsForm()
|
self.settings_form = SettingsForm()
|
||||||
self.general_form = GeneralForm()
|
#self.general_form = GeneralForm()
|
||||||
pluginpath = os.path.split(os.path.abspath(__file__))[0]
|
pluginpath = os.path.split(os.path.abspath(__file__))[0]
|
||||||
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()
|
||||||
|
|
||||||
|
log.info('')
|
||||||
self.plugin_manager.find_plugins(pluginpath, self.PreviewController, self.LiveController)
|
self.plugin_manager.find_plugins(pluginpath, self.PreviewController, self.LiveController)
|
||||||
log.info("hook Settings")
|
|
||||||
#Add Core Componets who provide Settings tabs
|
|
||||||
self.settings_form.add_virtual_plugin(self.general_form)
|
|
||||||
self.settings_form.add_virtual_plugin(self.alert_form)
|
|
||||||
#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 front setupUI() to here
|
# hence the hooks have moved from setupUI() to here
|
||||||
# Call the hook method to pull in import menus.
|
|
||||||
log.info("hook menus")
|
# Find and insert media manager items
|
||||||
self.plugin_manager.hook_import_menu(self.FileImportMenu)
|
|
||||||
#
|
|
||||||
# Call the hook method to pull in export menus.
|
|
||||||
self.plugin_manager.hook_import_menu(self.FileExportMenu)
|
|
||||||
#
|
|
||||||
log.info("hook media")
|
log.info("hook media")
|
||||||
self.plugin_manager.hook_media_manager(self.MediaToolBox)
|
self.plugin_manager.hook_media_manager(self.MediaToolBox)
|
||||||
# End adding media manager items.
|
|
||||||
|
# Find and insert settings tabs
|
||||||
|
log.info("hook settings")
|
||||||
|
self.plugin_manager.hook_settings_tabs(self.settings_form)
|
||||||
|
|
||||||
|
# Call the hook method to pull in import menus.
|
||||||
|
log.info("hook menus")
|
||||||
|
self.plugin_manager.hook_import_menu(self.FileImportMenu)
|
||||||
|
|
||||||
|
# Call the hook method to pull in export menus.
|
||||||
|
self.plugin_manager.hook_import_menu(self.FileExportMenu)
|
||||||
|
|
||||||
def setupUi(self):
|
def setupUi(self):
|
||||||
self.main_window.setObjectName("main_window")
|
self.main_window.setObjectName("main_window")
|
||||||
@ -133,7 +131,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")
|
||||||
@ -155,7 +153,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"),
|
||||||
@ -428,10 +426,10 @@ class MainWindow(object):
|
|||||||
self.main_window.showMaximized()
|
self.main_window.showMaximized()
|
||||||
|
|
||||||
def onHelpAboutItemClicked(self):
|
def onHelpAboutItemClicked(self):
|
||||||
self.about_form.show()
|
self.about_form.exec_()
|
||||||
|
|
||||||
def onToolsAlertItemClicked(self):
|
def onToolsAlertItemClicked(self):
|
||||||
self.alert_form.show()
|
self.alert_form.exec_()
|
||||||
|
|
||||||
def onOptionsSettingsItemClicked(self):
|
def onOptionsSettingsItemClicked(self):
|
||||||
self.settings_form.exec_()
|
self.settings_form.exec_()
|
||||||
|
45
openlp/core/ui/settingsdialog.py
Normal file
45
openlp/core/ui/settingsdialog.py
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# Form implementation generated from reading ui file '/home/raoul/Projects/openlp-2/resources/forms/settings.ui'
|
||||||
|
#
|
||||||
|
# Created: Sat Feb 28 23:59:58 2009
|
||||||
|
# by: PyQt4 UI code generator 4.4.4
|
||||||
|
#
|
||||||
|
# WARNING! All changes made in this file will be lost!
|
||||||
|
|
||||||
|
from PyQt4 import QtCore, QtGui
|
||||||
|
|
||||||
|
class Ui_SettingsDialog(object):
|
||||||
|
def setupUi(self, SettingsDialog):
|
||||||
|
SettingsDialog.setObjectName(u'SettingsDialog')
|
||||||
|
SettingsDialog.resize(724, 502)
|
||||||
|
#icon = QtGui.QIcon()
|
||||||
|
#icon.addPixmap(QtGui.QPixmap(":/icon/openlp.org-icon-32.bmp"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||||
|
#SettingsDialog.setWindowIcon(icon)
|
||||||
|
self.SettingsLayout = QtGui.QVBoxLayout(SettingsDialog)
|
||||||
|
self.SettingsLayout.setSpacing(8)
|
||||||
|
self.SettingsLayout.setMargin(8)
|
||||||
|
self.SettingsLayout.setObjectName(u'SettingsLayout')
|
||||||
|
self.SettingsTabWidget = QtGui.QTabWidget(SettingsDialog)
|
||||||
|
self.SettingsTabWidget.setObjectName(u'SettingsTabWidget')
|
||||||
|
self.SettingsLayout.addWidget(self.SettingsTabWidget)
|
||||||
|
self.ButtonsBox = QtGui.QDialogButtonBox(SettingsDialog)
|
||||||
|
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(self.ButtonsBox.sizePolicy().hasHeightForWidth())
|
||||||
|
self.ButtonsBox.setSizePolicy(sizePolicy)
|
||||||
|
self.ButtonsBox.setMaximumSize(QtCore.QSize(16777215, 16777215))
|
||||||
|
self.ButtonsBox.setOrientation(QtCore.Qt.Horizontal)
|
||||||
|
self.ButtonsBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
|
||||||
|
self.ButtonsBox.setObjectName("ButtonsBox")
|
||||||
|
self.SettingsLayout.addWidget(self.ButtonsBox)
|
||||||
|
|
||||||
|
self.retranslateUi(SettingsDialog)
|
||||||
|
self.SettingsTabWidget.setCurrentIndex(0)
|
||||||
|
QtCore.QObject.connect(self.ButtonsBox, QtCore.SIGNAL("accepted()"), SettingsDialog.accept)
|
||||||
|
QtCore.QObject.connect(self.ButtonsBox, QtCore.SIGNAL("rejected()"), SettingsDialog.reject)
|
||||||
|
QtCore.QMetaObject.connectSlotsByName(SettingsDialog)
|
||||||
|
|
||||||
|
def retranslateUi(self, SettingsDialog):
|
||||||
|
SettingsDialog.setWindowTitle(QtGui.QApplication.translate("SettingsDialog", "Settings", None, QtGui.QApplication.UnicodeUTF8))
|
@ -17,62 +17,53 @@ You should have received a copy of the GNU General Public License along with
|
|||||||
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
||||||
Place, Suite 330, Boston, MA 02111-1307 USA
|
Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
"""
|
"""
|
||||||
|
import logging
|
||||||
|
|
||||||
from PyQt4 import QtCore, QtGui
|
from PyQt4 import QtCore, QtGui
|
||||||
from PyQt4.QtGui import QDialog
|
|
||||||
|
|
||||||
from openlp.core.lib import SettingsTabItem
|
from openlp.core.lib import SettingsTab
|
||||||
from openlp.core.resources import *
|
from openlp.core.resources import *
|
||||||
from openlp.core.ui import AlertForm
|
from openlp.core.ui import GeneralTab, ThemesTab, AlertsTab
|
||||||
|
|
||||||
class SettingsForm(QDialog):
|
from settingsdialog import Ui_SettingsDialog
|
||||||
|
|
||||||
|
log = logging.getLogger('SettingsForm')
|
||||||
|
|
||||||
|
class SettingsForm(QtGui.QDialog, Ui_SettingsDialog):
|
||||||
|
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
QDialog.__init__(self, parent)
|
QtGui.QDialog.__init__(self, parent)
|
||||||
self.first_time = True
|
self.setupUi(self)
|
||||||
self.plugin_list = []
|
# General tab
|
||||||
|
self.GeneralTab = GeneralTab()
|
||||||
def add_virtual_plugin(self, plugin):
|
self.addTab(self.GeneralTab)
|
||||||
"""
|
# Themes tab
|
||||||
Method to allow Core to register screens to behave like plugins
|
self.ThemesTab = ThemesTab()
|
||||||
"""
|
self.addTab(self.ThemesTab)
|
||||||
self.plugin_list.append(plugin)
|
# Alerts tab
|
||||||
|
self.AlertsTab = AlertsTab()
|
||||||
def receive_plugins(self, plugins):
|
self.addTab(self.AlertsTab)
|
||||||
"""
|
|
||||||
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 onSaveButton(self):
|
def addTab(self, tab):
|
||||||
pass
|
log.info(u'Inserting %s' % tab.title())
|
||||||
def onResetButton(self):
|
self.SettingsTabWidget.addTab(tab, tab.title())
|
||||||
|
|
||||||
|
def onSaveButtonClick(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def onResetButtonClick(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
"""
|
||||||
def setupUi(self, SettingsDialog):
|
def setupUi(self, SettingsDialog):
|
||||||
SettingsDialog.setObjectName("SettingsDialog")
|
SettingsDialog.setObjectName("SettingsDialog")
|
||||||
SettingsDialog.resize(602, 502)
|
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)
|
||||||
SettingsDialog.setWindowIcon(icon)
|
SettingsDialog.setWindowIcon(icon)
|
||||||
|
|
||||||
self.SettingsTabWidget = QtGui.QTabWidget(SettingsDialog)
|
self.SettingsTabWidget = QtGui.QTabWidget(SettingsDialog)
|
||||||
self.SettingsTabWidget.setGeometry(QtCore.QRect(0, 0, 669, 500))
|
self.SettingsTabWidget.setGeometry(QtCore.QRect(0, 0, 669, 500))
|
||||||
self.SettingsTabWidget.setObjectName("SettingsTabWidget")
|
self.SettingsTabWidget.setObjectName("SettingsTabWidget")
|
||||||
|
|
||||||
|
|
||||||
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)
|
||||||
@ -127,7 +118,7 @@ class SettingsForm(QDialog):
|
|||||||
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.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)
|
||||||
@ -236,14 +227,14 @@ class SettingsForm(QDialog):
|
|||||||
self.SlideRightLayout.addItem(spacerItem5)
|
self.SlideRightLayout.addItem(spacerItem5)
|
||||||
self.SlideLayout.addWidget(self.widget)
|
self.SlideLayout.addWidget(self.widget)
|
||||||
self.SettingsTabWidget.addTab(self.SlideTab, "")
|
self.SettingsTabWidget.addTab(self.SlideTab, "")
|
||||||
|
|
||||||
#### Core Code below here
|
#### Core Code below here
|
||||||
|
|
||||||
for plugin in self.plugin_list:
|
for plugin in self.plugin_list:
|
||||||
settings_tab_item = plugin.get_settings_tab_item()
|
settings_tab_item = plugin.get_settings_tab_item()
|
||||||
if settings_tab_item is not None:
|
if settings_tab_item is not None:
|
||||||
self.SettingsTabWidget.addTab(settings_tab_item, settings_tab_item.tabText)
|
self.SettingsTabWidget.addTab(settings_tab_item, settings_tab_item.tabText)
|
||||||
|
|
||||||
self.SaveButton = QtGui.QPushButton(SettingsDialog)
|
self.SaveButton = QtGui.QPushButton(SettingsDialog)
|
||||||
self.SaveButton.setGeometry(QtCore.QRect(490, 470, 81, 26))
|
self.SaveButton.setGeometry(QtCore.QRect(490, 470, 81, 26))
|
||||||
self.SaveButton.setObjectName("SaveButton")
|
self.SaveButton.setObjectName("SaveButton")
|
||||||
@ -253,15 +244,15 @@ class SettingsForm(QDialog):
|
|||||||
self.ResetButton = QtGui.QPushButton(SettingsDialog)
|
self.ResetButton = QtGui.QPushButton(SettingsDialog)
|
||||||
self.ResetButton.setGeometry(QtCore.QRect(310, 470, 81, 26))
|
self.ResetButton.setGeometry(QtCore.QRect(310, 470, 81, 26))
|
||||||
self.ResetButton.setObjectName("ResetButton")
|
self.ResetButton.setObjectName("ResetButton")
|
||||||
|
|
||||||
QtCore.QObject.connect(self.CancelButton, QtCore.SIGNAL("clicked()"), self.close)
|
QtCore.QObject.connect(self.CancelButton, QtCore.SIGNAL("clicked()"), self.close)
|
||||||
|
|
||||||
self.retranslateUi(SettingsDialog)
|
self.retranslateUi(SettingsDialog)
|
||||||
self.SettingsTabWidget.setCurrentIndex(5)
|
self.SettingsTabWidget.setCurrentIndex(5)
|
||||||
QtCore.QMetaObject.connectSlotsByName(SettingsDialog)
|
QtCore.QMetaObject.connectSlotsByName(SettingsDialog)
|
||||||
|
|
||||||
def retranslateUi(self, SettingsDialog):
|
def retranslateUi(self, SettingsDialog):
|
||||||
SettingsDialog.setWindowTitle(QtGui.QApplication.translate("SettingsDialog", "Settings", None, QtGui.QApplication.UnicodeUTF8))
|
SettingsDialog.setWindowTitle(QtGui.QApplication.translate("SettingsDialog", "Settings", 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))
|
||||||
@ -290,8 +281,8 @@ class SettingsForm(QDialog):
|
|||||||
self.SearchGroupBox_3.setTitle(QtGui.QApplication.translate("SettingsDialog", "Search", 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.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.SettingsTabWidget.setTabText(self.SettingsTabWidget.indexOf(self.SlideTab), QtGui.QApplication.translate("SettingsDialog", "Songs", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
|
|
||||||
self.SaveButton.setText(QtGui.QApplication.translate("SettingsDialog", "Save", None, QtGui.QApplication.UnicodeUTF8))
|
self.SaveButton.setText(QtGui.QApplication.translate("SettingsDialog", "Save", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
self.CancelButton.setText(QtGui.QApplication.translate("SettingsDialog", "Cancel", None, QtGui.QApplication.UnicodeUTF8))
|
self.CancelButton.setText(QtGui.QApplication.translate("SettingsDialog", "Cancel", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
self.ResetButton.setText(QtGui.QApplication.translate("SettingsDialog", "Reset", None, QtGui.QApplication.UnicodeUTF8))
|
self.ResetButton.setText(QtGui.QApplication.translate("SettingsDialog", "Reset", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
|
"""
|
||||||
|
107
openlp/core/ui/themestab.py
Normal file
107
openlp/core/ui/themestab.py
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
|
||||||
|
"""
|
||||||
|
OpenLP - Open Source Lyrics Projection
|
||||||
|
Copyright (c) 2008 Raoul Snyman
|
||||||
|
Portions copyright (c) 2008 Martin Thompson, Tim Bentley,
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify it under
|
||||||
|
the terms of the GNU General Public License as published by the Free Software
|
||||||
|
Foundation; version 2 of the License.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||||
|
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along with
|
||||||
|
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
||||||
|
Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
"""
|
||||||
|
|
||||||
|
from PyQt4 import QtCore, QtGui
|
||||||
|
|
||||||
|
from openlp.core import translate
|
||||||
|
from openlp.core.lib import SettingsTab
|
||||||
|
from openlp.core.resources import *
|
||||||
|
|
||||||
|
class ThemesTab(SettingsTab):
|
||||||
|
"""
|
||||||
|
ThemesTab is the theme settings tab in the settings dialog.
|
||||||
|
"""
|
||||||
|
def __init__(self):
|
||||||
|
SettingsTab.__init__(self, u'Themes')
|
||||||
|
|
||||||
|
def setupUi(self):
|
||||||
|
self.setObjectName(u'ThemesTab')
|
||||||
|
self.ThemesTabLayout = QtGui.QHBoxLayout(self)
|
||||||
|
self.ThemesTabLayout.setSpacing(8)
|
||||||
|
self.ThemesTabLayout.setMargin(8)
|
||||||
|
self.ThemesTabLayout.setObjectName(u'ThemesTabLayout')
|
||||||
|
self.GlobalGroupBox = QtGui.QGroupBox(self)
|
||||||
|
self.GlobalGroupBox.setObjectName(u'GlobalGroupBox')
|
||||||
|
self.GlobalGroupBoxLayout = QtGui.QVBoxLayout(self.GlobalGroupBox)
|
||||||
|
self.GlobalGroupBoxLayout.setSpacing(8)
|
||||||
|
self.GlobalGroupBoxLayout.setMargin(8)
|
||||||
|
self.GlobalGroupBoxLayout.setObjectName(u'GlobalGroupBoxLayout')
|
||||||
|
self.DefaultComboBox = QtGui.QComboBox(self.GlobalGroupBox)
|
||||||
|
self.DefaultComboBox.setObjectName(u'DefaultComboBox')
|
||||||
|
self.DefaultComboBox.addItem(QtCore.QString())
|
||||||
|
self.DefaultComboBox.addItem(QtCore.QString())
|
||||||
|
self.DefaultComboBox.addItem(QtCore.QString())
|
||||||
|
self.GlobalGroupBoxLayout.addWidget(self.DefaultComboBox)
|
||||||
|
self.DefaultListView = QtGui.QListView(self.GlobalGroupBox)
|
||||||
|
self.DefaultListView.setObjectName(u'DefaultListView')
|
||||||
|
self.GlobalGroupBoxLayout.addWidget(self.DefaultListView)
|
||||||
|
self.ThemesTabLayout.addWidget(self.GlobalGroupBox)
|
||||||
|
self.LevelGroupBox = QtGui.QGroupBox(self)
|
||||||
|
self.LevelGroupBox.setObjectName(u'LevelGroupBox')
|
||||||
|
self.LevelLayout = QtGui.QFormLayout(self.LevelGroupBox)
|
||||||
|
self.LevelLayout.setLabelAlignment(
|
||||||
|
QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
|
||||||
|
self.LevelLayout.setFormAlignment(
|
||||||
|
QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
|
||||||
|
self.LevelLayout.setMargin(8)
|
||||||
|
self.LevelLayout.setSpacing(8)
|
||||||
|
self.LevelLayout.setObjectName(u'LevelLayout')
|
||||||
|
self.SongLevelRadioButton = QtGui.QRadioButton(self.LevelGroupBox)
|
||||||
|
self.SongLevelRadioButton.setObjectName(u'SongLevelRadioButton')
|
||||||
|
self.LevelLayout.setWidget(0, QtGui.QFormLayout.LabelRole,
|
||||||
|
self.SongLevelRadioButton)
|
||||||
|
self.SongLevelLabel = QtGui.QLabel(self.LevelGroupBox)
|
||||||
|
self.SongLevelLabel.setWordWrap(True)
|
||||||
|
self.SongLevelLabel.setObjectName(u'SongLevelLabel')
|
||||||
|
self.LevelLayout.setWidget(0, QtGui.QFormLayout.FieldRole,
|
||||||
|
self.SongLevelLabel)
|
||||||
|
self.ServiceLevelRadioButton = QtGui.QRadioButton(self.LevelGroupBox)
|
||||||
|
self.ServiceLevelRadioButton.setObjectName(u'ServiceLevelRadioButton')
|
||||||
|
self.LevelLayout.setWidget(1, QtGui.QFormLayout.LabelRole,
|
||||||
|
self.ServiceLevelRadioButton)
|
||||||
|
self.ServiceLevelLabel = QtGui.QLabel(self.LevelGroupBox)
|
||||||
|
self.ServiceLevelLabel.setWordWrap(True)
|
||||||
|
self.ServiceLevelLabel.setObjectName(u'ServiceLevelLabel')
|
||||||
|
self.LevelLayout.setWidget(1, QtGui.QFormLayout.FieldRole,
|
||||||
|
self.ServiceLevelLabel)
|
||||||
|
self.GlobalLevelRadioButton = QtGui.QRadioButton(self.LevelGroupBox)
|
||||||
|
self.GlobalLevelRadioButton.setChecked(True)
|
||||||
|
self.GlobalLevelRadioButton.setObjectName(u'GlobalLevelRadioButton')
|
||||||
|
self.LevelLayout.setWidget(2, QtGui.QFormLayout.LabelRole,
|
||||||
|
self.GlobalLevelRadioButton)
|
||||||
|
self.GlobalLevelLabel = QtGui.QLabel(self.LevelGroupBox)
|
||||||
|
self.GlobalLevelLabel.setWordWrap(True)
|
||||||
|
self.GlobalLevelLabel.setObjectName(u'GlobalLevelLabel')
|
||||||
|
self.LevelLayout.setWidget(2, QtGui.QFormLayout.FieldRole,
|
||||||
|
self.GlobalLevelLabel)
|
||||||
|
self.ThemesTabLayout.addWidget(self.LevelGroupBox)
|
||||||
|
|
||||||
|
def retranslateUi(self):
|
||||||
|
self.GlobalGroupBox.setTitle(translate(u'ThemesTab', u'Global theme'))
|
||||||
|
self.DefaultComboBox.setItemText(0, translate(u'ThemesTab', u'African Sunset'))
|
||||||
|
self.DefaultComboBox.setItemText(1, translate(u'ThemesTab', u'Snowy Mountains'))
|
||||||
|
self.DefaultComboBox.setItemText(2, translate(u'ThemesTab', u'Wilderness'))
|
||||||
|
self.LevelGroupBox.setTitle(translate(u'ThemesTab', u'Theme level'))
|
||||||
|
self.SongLevelRadioButton.setText(translate(u'ThemesTab', u'Song level'))
|
||||||
|
self.SongLevelLabel.setText(translate(u'ThemesTab', u'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.'))
|
||||||
|
self.ServiceLevelRadioButton.setText(translate(u'ThemesTab', u'Service level'))
|
||||||
|
self.ServiceLevelLabel.setText(translate(u'ThemesTab', u'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.'))
|
||||||
|
self.GlobalLevelRadioButton.setText(translate(u'ThemesTab', u'Global level'))
|
||||||
|
self.GlobalLevelLabel.setText(translate(u'ThemesTab', u'Use the global theme, overriding any themes associated wither either the service or the songs.'))
|
@ -24,9 +24,9 @@ from PyQt4.QtCore import *
|
|||||||
from PyQt4.QtGui import *
|
from PyQt4.QtGui import *
|
||||||
|
|
||||||
from openlp.core.resources import *
|
from openlp.core.resources import *
|
||||||
from openlp.core.lib import Plugin,PluginUtils, MediaManagerItem, Receiver, SettingsTabItem
|
from openlp.core.lib import Plugin,PluginUtils, MediaManagerItem, Receiver
|
||||||
|
|
||||||
from openlp.plugins.bibles.lib import BibleManager
|
from openlp.plugins.bibles.lib import BibleManager, BiblesTab
|
||||||
from openlp.plugins.bibles.forms import BibleImportForm
|
from openlp.plugins.bibles.forms import BibleImportForm
|
||||||
|
|
||||||
from openlp.plugins.bibles.lib.tables import *
|
from openlp.plugins.bibles.lib.tables import *
|
||||||
@ -47,15 +47,12 @@ class BiblePlugin(Plugin, PluginUtils):
|
|||||||
#Register the bible Manager
|
#Register the bible Manager
|
||||||
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):
|
def get_settings_tab(self):
|
||||||
return True
|
self.BiblesTab = BiblesTab()
|
||||||
|
"""
|
||||||
def get_settings_tab_item(self):
|
|
||||||
|
|
||||||
self.SettingsTabItem= SettingsTabItem()
|
|
||||||
|
|
||||||
self.Bibles = QtGui.QWidget()
|
self.Bibles = QtGui.QWidget()
|
||||||
self.Bibles.setObjectName("Bibles")
|
self.Bibles.setObjectName("Bibles")
|
||||||
self.formLayout_3 = QtGui.QFormLayout(self.Bibles)
|
self.formLayout_3 = QtGui.QFormLayout(self.Bibles)
|
||||||
@ -131,11 +128,11 @@ class BiblePlugin(Plugin, PluginUtils):
|
|||||||
"<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.SearchGroupBox_2.setTitle(QtGui.QApplication.translate("SettingsForm", "Search", None, QtGui.QApplication.UnicodeUTF8))
|
self.SearchGroupBox_2.setTitle(QtGui.QApplication.translate("SettingsForm", "Search", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
self.SearchCheckBox_2.setText(QtGui.QApplication.translate("SettingsForm", "Enabled search-as-you-type", None, QtGui.QApplication.UnicodeUTF8))
|
self.SearchCheckBox_2.setText(QtGui.QApplication.translate("SettingsForm", "Enabled search-as-you-type", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
|
|
||||||
self.SettingsTabItem.add_items(self.Bibles)
|
self.SettingsTabItem.add_items(self.Bibles)
|
||||||
self.SettingsTabItem.setTabText(QtGui.QApplication.translate("SettingsForm", "Bibles", None, QtGui.QApplication.UnicodeUTF8))
|
self.SettingsTabItem.setTabText(QtGui.QApplication.translate("SettingsForm", "Bibles", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
|
"""
|
||||||
return self.SettingsTabItem
|
return self.BiblesTab
|
||||||
|
|
||||||
def get_media_manager_item(self):
|
def get_media_manager_item(self):
|
||||||
# Create the MediaManagerItem object
|
# Create the MediaManagerItem object
|
||||||
@ -213,7 +210,7 @@ class BiblePlugin(Plugin, PluginUtils):
|
|||||||
self.SearchTabWidget.addTab(self.QuickTab, 'Quick')
|
self.SearchTabWidget.addTab(self.QuickTab, 'Quick')
|
||||||
QuickSpacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
|
QuickSpacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
|
||||||
self.QuickLayout.addItem(QuickSpacerItem, 4, 2, 1, 1)
|
self.QuickLayout.addItem(QuickSpacerItem, 4, 2, 1, 1)
|
||||||
|
|
||||||
# Add the Advanced Search tab
|
# Add the Advanced Search tab
|
||||||
self.AdvancedTab = QtGui.QWidget()
|
self.AdvancedTab = QtGui.QWidget()
|
||||||
self.AdvancedTab.setObjectName('AdvancedTab')
|
self.AdvancedTab.setObjectName('AdvancedTab')
|
||||||
@ -271,13 +268,13 @@ class BiblePlugin(Plugin, PluginUtils):
|
|||||||
self.ClearAdvancedSearchComboBox = QtGui.QComboBox(self.QuickTab)
|
self.ClearAdvancedSearchComboBox = QtGui.QComboBox(self.QuickTab)
|
||||||
self.ClearAdvancedSearchComboBox.setObjectName('ClearAdvancedSearchComboBox')
|
self.ClearAdvancedSearchComboBox.setObjectName('ClearAdvancedSearchComboBox')
|
||||||
self.AdvancedLayout.addWidget(self.ClearAdvancedSearchComboBox, 5, 2, 1, 1)
|
self.AdvancedLayout.addWidget(self.ClearAdvancedSearchComboBox, 5, 2, 1, 1)
|
||||||
|
|
||||||
self.AdvancedSearchButton = QtGui.QPushButton(self.AdvancedTab)
|
self.AdvancedSearchButton = QtGui.QPushButton(self.AdvancedTab)
|
||||||
self.AdvancedSearchButton.setObjectName('AdvancedSearchButton')
|
self.AdvancedSearchButton.setObjectName('AdvancedSearchButton')
|
||||||
self.AdvancedSearchButton.setText('Search')
|
self.AdvancedSearchButton.setText('Search')
|
||||||
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 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)
|
||||||
|
|
||||||
@ -306,7 +303,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)
|
||||||
|
|
||||||
##############Context Menus
|
##############Context Menus
|
||||||
self.BibleListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
|
self.BibleListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
|
||||||
|
|
||||||
@ -322,7 +319,7 @@ class BiblePlugin(Plugin, PluginUtils):
|
|||||||
self.ImportBibleItem.setText(QtGui.QApplication.translate("main_window", "&Bible", None, QtGui.QApplication.UnicodeUTF8))
|
self.ImportBibleItem.setText(QtGui.QApplication.translate("main_window", "&Bible", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
# Signals and slots
|
# Signals and slots
|
||||||
QtCore.QObject.connect(self.ImportBibleItem, QtCore.SIGNAL("triggered()"), self.onBibleNewClick)
|
QtCore.QObject.connect(self.ImportBibleItem, QtCore.SIGNAL("triggered()"), self.onBibleNewClick)
|
||||||
|
|
||||||
def add_export_menu_item(self, export_menu):
|
def add_export_menu_item(self, export_menu):
|
||||||
self.ExportBibleItem = QtGui.QAction(export_menu)
|
self.ExportBibleItem = QtGui.QAction(export_menu)
|
||||||
self.ExportBibleItem.setObjectName("ExportBibleItem")
|
self.ExportBibleItem.setObjectName("ExportBibleItem")
|
||||||
@ -331,35 +328,35 @@ class BiblePlugin(Plugin, PluginUtils):
|
|||||||
|
|
||||||
def initialise(self):
|
def initialise(self):
|
||||||
self._initialise_form() # build the form
|
self._initialise_form() # build the form
|
||||||
|
|
||||||
def _initialise_form(self):
|
def _initialise_form(self):
|
||||||
log.debug("_initialise_form")
|
log.debug("_initialise_form")
|
||||||
self.QuickSearchComboBox.clear()
|
self.QuickSearchComboBox.clear()
|
||||||
self.QuickVersionComboBox.clear()
|
self.QuickVersionComboBox.clear()
|
||||||
self.AdvancedVersionComboBox.clear()
|
self.AdvancedVersionComboBox.clear()
|
||||||
self.ClearQuickSearchComboBox.clear()
|
self.ClearQuickSearchComboBox.clear()
|
||||||
self.ClearAdvancedSearchComboBox.clear()
|
self.ClearAdvancedSearchComboBox.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")
|
||||||
self.ClearQuickSearchComboBox.addItem(u"Clear")
|
self.ClearQuickSearchComboBox.addItem(u"Clear")
|
||||||
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")
|
||||||
|
|
||||||
|
|
||||||
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
|
||||||
self.QuickVersionComboBox.addItem(b)
|
self.QuickVersionComboBox.addItem(b)
|
||||||
|
|
||||||
bibles = self.biblemanager.get_bibles("partial") # Without HTTP
|
bibles = self.biblemanager.get_bibles("partial") # Without HTTP
|
||||||
first = True
|
first = True
|
||||||
for b in bibles: # load bibles into the combo boxes
|
for b in bibles: # load bibles into the combo boxes
|
||||||
self.AdvancedVersionComboBox.addItem(b)
|
self.AdvancedVersionComboBox.addItem(b)
|
||||||
if first:
|
if first:
|
||||||
first = False
|
first = False
|
||||||
self._initialise_bible_advanced(b) # use the first bible as the trigger
|
self._initialise_bible_advanced(b) # use the first bible as the trigger
|
||||||
|
|
||||||
def onAdvancedVersionComboBox(self):
|
def onAdvancedVersionComboBox(self):
|
||||||
self._initialise_bible_advanced(str(self.AdvancedVersionComboBox.currentText())) # restet the bible info
|
self._initialise_bible_advanced(str(self.AdvancedVersionComboBox.currentText())) # restet the bible info
|
||||||
pass
|
pass
|
||||||
@ -374,7 +371,7 @@ class BiblePlugin(Plugin, PluginUtils):
|
|||||||
|
|
||||||
def onBibleLiveClick(self):
|
def onBibleLiveClick(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def onBibleAddClick(self):
|
def onBibleAddClick(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@ -382,7 +379,7 @@ class BiblePlugin(Plugin, PluginUtils):
|
|||||||
self._save_settings()
|
self._save_settings()
|
||||||
|
|
||||||
def onSettingsResetButton(self):
|
def onSettingsResetButton(self):
|
||||||
self._load_reset_settings()
|
self._load_reset_settings()
|
||||||
|
|
||||||
def onAdvancedFromVerse(self):
|
def onAdvancedFromVerse(self):
|
||||||
frm = self.AdvancedFromVerse.currentText()
|
frm = self.AdvancedFromVerse.currentText()
|
||||||
@ -407,7 +404,7 @@ class BiblePlugin(Plugin, PluginUtils):
|
|||||||
self.search_results = self.biblemanager.get_verse_text(bible, book, chapter_from, chapter_to, verse_from, verse_to)
|
self.search_results = self.biblemanager.get_verse_text(bible, book, chapter_from, chapter_to, verse_from, verse_to)
|
||||||
if self.ClearAdvancedSearchComboBox.currentText() == u"Clear":
|
if self.ClearAdvancedSearchComboBox.currentText() == u"Clear":
|
||||||
self.BibleListView.clear() # clear the results
|
self.BibleListView.clear() # clear the results
|
||||||
self.BibleListView.setRowCount(0)
|
self.BibleListView.setRowCount(0)
|
||||||
self._display_results(bible)
|
self._display_results(bible)
|
||||||
|
|
||||||
def onAdvancedFromChapter(self):
|
def onAdvancedFromChapter(self):
|
||||||
@ -423,11 +420,11 @@ class BiblePlugin(Plugin, PluginUtils):
|
|||||||
self.log.debug("onQuickSearchButton")
|
self.log.debug("onQuickSearchButton")
|
||||||
bible = str(self.QuickVersionComboBox.currentText())
|
bible = str(self.QuickVersionComboBox.currentText())
|
||||||
text = str(self.QuickSearchEdit.displayText())
|
text = str(self.QuickSearchEdit.displayText())
|
||||||
|
|
||||||
if self.ClearQuickSearchComboBox.currentText() == u"Clear":
|
if self.ClearQuickSearchComboBox.currentText() == u"Clear":
|
||||||
self.BibleListView.clear() # clear the results
|
self.BibleListView.clear() # clear the results
|
||||||
self.BibleListView.setRowCount(0)
|
self.BibleListView.setRowCount(0)
|
||||||
|
|
||||||
if self.QuickSearchComboBox.currentText() == u"Text Search":
|
if self.QuickSearchComboBox.currentText() == u"Text Search":
|
||||||
self.search_results = self.biblemanager.get_verse_from_text(bible,text)
|
self.search_results = self.biblemanager.get_verse_from_text(bible,text)
|
||||||
else:
|
else:
|
||||||
@ -469,11 +466,11 @@ class BiblePlugin(Plugin, PluginUtils):
|
|||||||
loc += verse
|
loc += verse
|
||||||
loc += closing
|
loc += closing
|
||||||
return loc
|
return loc
|
||||||
|
|
||||||
def reload_bibles(self):
|
def reload_bibles(self):
|
||||||
self.biblemanager.reload_bibles()
|
self.biblemanager.reload_bibles()
|
||||||
self._initialise_form()
|
self._initialise_form()
|
||||||
|
|
||||||
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())
|
||||||
@ -512,7 +509,7 @@ class BiblePlugin(Plugin, PluginUtils):
|
|||||||
self.BibleListView.setItem(row_count , 0, table_data)
|
self.BibleListView.setItem(row_count , 0, table_data)
|
||||||
table_data = QtGui.QTableWidgetItem(str(book + " " +str(chap) + ":"+ str(vse)) + " ("+str(bible)+")")
|
table_data = QtGui.QTableWidgetItem(str(book + " " +str(chap) + ":"+ str(vse)) + " ("+str(bible)+")")
|
||||||
self.BibleListView.setItem(row_count , 1, table_data)
|
self.BibleListView.setItem(row_count , 1, table_data)
|
||||||
self.BibleListView.setRowHeight(row_count, 20)
|
self.BibleListView.setRowHeight(row_count, 20)
|
||||||
|
|
||||||
def _search_using_bible_reference(self, bible, search):
|
def _search_using_bible_reference(self, bible, search):
|
||||||
book = ""
|
book = ""
|
||||||
@ -528,7 +525,7 @@ class BiblePlugin(Plugin, PluginUtils):
|
|||||||
for i in range (len(search)-1, 0, -1): # 0 index arrays
|
for i in range (len(search)-1, 0, -1): # 0 index arrays
|
||||||
if search[i] == " ":
|
if search[i] == " ":
|
||||||
book = search[:i]
|
book = search[:i]
|
||||||
search = search[i:] # remove book from string
|
search = search[i:] # remove book from string
|
||||||
break
|
break
|
||||||
search = search.replace("v", ":") # allow V or v for verse instead of :
|
search = search.replace("v", ":") # allow V or v for verse instead of :
|
||||||
search = search.replace("V", ":") # allow V or v for verse instead of :
|
search = search.replace("V", ":") # allow V or v for verse instead of :
|
||||||
@ -551,7 +548,7 @@ class BiblePlugin(Plugin, PluginUtils):
|
|||||||
sp = search.split("-") #find first
|
sp = search.split("-") #find first
|
||||||
#print sp, len(sp)
|
#print sp, len(sp)
|
||||||
sp1 = sp[0].split(":")
|
sp1 = sp[0].split(":")
|
||||||
#print sp1, len(sp1)
|
#print sp1, len(sp1)
|
||||||
if len(sp1) == 1:
|
if len(sp1) == 1:
|
||||||
start_chapter = sp1[0]
|
start_chapter = sp1[0]
|
||||||
start_verse = 1
|
start_verse = 1
|
||||||
@ -563,7 +560,7 @@ class BiblePlugin(Plugin, PluginUtils):
|
|||||||
end_verse = start_verse
|
end_verse = start_verse
|
||||||
else:
|
else:
|
||||||
sp1 = sp[1].split(":")
|
sp1 = sp[1].split(":")
|
||||||
#print sp1, len(sp1)
|
#print sp1, len(sp1)
|
||||||
if len(sp1) == 1:
|
if len(sp1) == 1:
|
||||||
end_chapter = sp1[0]
|
end_chapter = sp1[0]
|
||||||
end_verse = 1
|
end_verse = 1
|
||||||
@ -584,13 +581,13 @@ class BiblePlugin(Plugin, PluginUtils):
|
|||||||
#print "message = " + str(message)
|
#print "message = " + str(message)
|
||||||
#print "search = " + str(original)
|
#print "search = " + str(original)
|
||||||
#print "results = " + str(book) + " @ "+ str(start_chapter)+" @ "+ str(end_chapter)+" @ "+ str(start_verse)+ " @ "+ str(end_verse)
|
#print "results = " + str(book) + " @ "+ str(start_chapter)+" @ "+ str(end_chapter)+" @ "+ str(start_verse)+ " @ "+ str(end_verse)
|
||||||
|
|
||||||
if message == None:
|
if message == None:
|
||||||
self.search_results = None
|
self.search_results = None
|
||||||
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):
|
def load_settings(self):
|
||||||
pass
|
pass
|
||||||
# self.SettingsOutputStyleComboBox.setCurrentIndex(int(self.config.get_config("bible_output_style", 0)))
|
# self.SettingsOutputStyleComboBox.setCurrentIndex(int(self.config.get_config("bible_output_style", 0)))
|
||||||
@ -599,7 +596,7 @@ class BiblePlugin(Plugin, PluginUtils):
|
|||||||
# self.SettingsNewChapterCheck.setCheckState(int(self.config.get_config("bible_new_chapter", 0)))
|
# self.SettingsNewChapterCheck.setCheckState(int(self.config.get_config("bible_new_chapter", 0)))
|
||||||
# except:
|
# except:
|
||||||
# pass
|
# pass
|
||||||
|
|
||||||
def save_settings(self):
|
def save_settings(self):
|
||||||
pass
|
pass
|
||||||
# self.config.set_config("bible_output_style", str(self.SettingsOutputStyleComboBox.currentIndex()))
|
# self.config.set_config("bible_output_style", str(self.SettingsOutputStyleComboBox.currentIndex()))
|
||||||
@ -607,10 +604,10 @@ class BiblePlugin(Plugin, PluginUtils):
|
|||||||
# self.config.set_config("bible_new_chapter", str(self.SettingsNewChapterCheck.checkState()))
|
# self.config.set_config("bible_new_chapter", str(self.SettingsNewChapterCheck.checkState()))
|
||||||
|
|
||||||
# self.SettingsOutputStyleComboBox.clear()
|
# self.SettingsOutputStyleComboBox.clear()
|
||||||
# self.SettingsVerseStyleComboBox.clear()
|
# self.SettingsVerseStyleComboBox.clear()
|
||||||
|
|
||||||
# self.SettingsOutputStyleComboBox.addItem(u"Continuous")
|
# self.SettingsOutputStyleComboBox.addItem(u"Continuous")
|
||||||
# self.SettingsOutputStyleComboBox.addItem(u"Paragraph")
|
# self.SettingsOutputStyleComboBox.addItem(u"Paragraph")
|
||||||
# self.SettingsVerseStyleComboBox.addItem(u"No Brackets")
|
# self.SettingsVerseStyleComboBox.addItem(u"No Brackets")
|
||||||
# self.SettingsVerseStyleComboBox.addItem(u"( and )")
|
# self.SettingsVerseStyleComboBox.addItem(u"( and )")
|
||||||
# self.SettingsVerseStyleComboBox.addItem(u"{ and }")
|
# self.SettingsVerseStyleComboBox.addItem(u"{ and }")
|
||||||
@ -620,4 +617,4 @@ class BiblePlugin(Plugin, PluginUtils):
|
|||||||
def define_tab(self):
|
def define_tab(self):
|
||||||
pass
|
pass
|
||||||
# QtCore.QObject.connect(self.SettingsResetButton, QtCore.SIGNAL("pressed()"), self.onSettingsResetButton)
|
# QtCore.QObject.connect(self.SettingsResetButton, QtCore.SIGNAL("pressed()"), self.onSettingsResetButton)
|
||||||
# QtCore.QObject.connect(self.SettingsSaveButton, QtCore.SIGNAL("pressed()"), self.onSettingsSaveButton)
|
# QtCore.QObject.connect(self.SettingsSaveButton, QtCore.SIGNAL("pressed()"), self.onSettingsSaveButton)
|
||||||
|
@ -20,5 +20,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA
|
|||||||
|
|
||||||
from common import BibleCommon
|
from common import BibleCommon
|
||||||
from manager import BibleManager
|
from manager import BibleManager
|
||||||
|
from biblestab import BiblesTab
|
||||||
|
|
||||||
__all__ = ['BibleCommon', 'BibleManager']
|
__all__ = ['BibleCommon', 'BibleManager', 'BiblesTab']
|
||||||
|
35
openlp/plugins/bibles/lib/biblestab.py
Normal file
35
openlp/plugins/bibles/lib/biblestab.py
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
|
||||||
|
"""
|
||||||
|
OpenLP - Open Source Lyrics Projection
|
||||||
|
Copyright (c) 2008 Raoul Snyman
|
||||||
|
Portions copyright (c) 2008 Martin Thompson, Tim Bentley,
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify it under
|
||||||
|
the terms of the GNU General Public License as published by the Free Software
|
||||||
|
Foundation; version 2 of the License.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||||
|
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along with
|
||||||
|
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
||||||
|
Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
"""
|
||||||
|
|
||||||
|
from PyQt4 import QtCore, QtGui
|
||||||
|
|
||||||
|
from openlp.core import translate
|
||||||
|
from openlp.core.lib import SettingsTab
|
||||||
|
from openlp.core.resources import *
|
||||||
|
|
||||||
|
class BiblesTab(SettingsTab):
|
||||||
|
"""
|
||||||
|
BiblesTab is the Bibles settings tab in the settings dialog.
|
||||||
|
"""
|
||||||
|
def __init__(self):
|
||||||
|
SettingsTab.__init__(self, u'Bibles')
|
||||||
|
|
||||||
|
def setupUi(self):
|
||||||
|
self.setObjectName(u'BiblesTab')
|
@ -18,8 +18,6 @@ this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
|||||||
Place, Suite 330, Boston, MA 02111-1307 USA
|
Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
"""
|
"""
|
||||||
from PyQt4 import Qt, QtCore, QtGui
|
from PyQt4 import Qt, QtCore, QtGui
|
||||||
from PyQt4.QtGui import QDialog
|
|
||||||
from PyQt4.QtCore import pyqtSignature
|
|
||||||
|
|
||||||
from authorsform import AuthorsForm
|
from authorsform import AuthorsForm
|
||||||
from topicsform import TopicsForm
|
from topicsform import TopicsForm
|
||||||
@ -27,7 +25,7 @@ from songbookform import SongBookForm
|
|||||||
|
|
||||||
from editsongdialog import Ui_EditSongDialog
|
from editsongdialog import Ui_EditSongDialog
|
||||||
|
|
||||||
class EditSongForm(QDialog, Ui_EditSongDialog):
|
class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
|
||||||
"""
|
"""
|
||||||
Class documentation goes here.
|
Class documentation goes here.
|
||||||
"""
|
"""
|
||||||
@ -35,11 +33,12 @@ class EditSongForm(QDialog, Ui_EditSongDialog):
|
|||||||
"""
|
"""
|
||||||
Constructor
|
Constructor
|
||||||
"""
|
"""
|
||||||
QDialog.__init__(self, parent)
|
QtGui.QDialog.__init__(self, parent)
|
||||||
self.setupUi(self)
|
self.setupUi(self)
|
||||||
# Connecting signals and slots
|
# Connecting signals and slots
|
||||||
QtCore.QObject.connect(self.AddAuthorsButton, QtCore.SIGNAL('clicked()'), self.onAddAuthorsButtonClicked)
|
QtCore.QObject.connect(self.AddAuthorsButton, QtCore.SIGNAL('clicked()'), self.onAddAuthorsButtonClicked)
|
||||||
QtCore.QObject.connect(self.AddTopicButton, QtCore.SIGNAL('clicked()'), self.onAddTopicButtonClicked)
|
QtCore.QObject.connect(self.AddTopicButton, QtCore.SIGNAL('clicked()'), self.onAddTopicButtonClicked)
|
||||||
|
QtCore.QObject.connect(self.AddSongBookButton, QtCore.SIGNAL('clicked()'), self.onAddSongBookButtonClicked)
|
||||||
QtCore.QObject.connect(self.CopyrightInsertItem, QtCore.SIGNAL('clicked()'), self.onCopyrightInsertItemTriggered)
|
QtCore.QObject.connect(self.CopyrightInsertItem, QtCore.SIGNAL('clicked()'), self.onCopyrightInsertItemTriggered)
|
||||||
# Create other objects and forms
|
# Create other objects and forms
|
||||||
self.songmanager = songmanager
|
self.songmanager = songmanager
|
||||||
@ -98,8 +97,7 @@ class EditSongForm(QDialog, Ui_EditSongDialog):
|
|||||||
self.topics_form.load_form()
|
self.topics_form.load_form()
|
||||||
self.topics_form.exec_()
|
self.topics_form.exec_()
|
||||||
|
|
||||||
@pyqtSignature("")
|
def onAddSongBookButtonClicked(self):
|
||||||
def on_AddSongBookButton_clicked(self):
|
|
||||||
"""
|
"""
|
||||||
Slot documentation goes here.
|
Slot documentation goes here.
|
||||||
"""
|
"""
|
||||||
|
@ -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, SettingsTabItem
|
from openlp.core.lib import Plugin, PluginUtils, MediaManagerItem, SettingsTab
|
||||||
|
|
||||||
class VideoPlugin(Plugin, PluginUtils):
|
class VideoPlugin(Plugin, PluginUtils):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
@ -32,14 +32,10 @@ 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):
|
def get_settings_tab(self):
|
||||||
|
self.VideosTab = SettingsTab(u'Videos')
|
||||||
self.SettingsTabItem= SettingsTabItem()
|
"""
|
||||||
|
|
||||||
self.Videos = QtGui.QWidget()
|
self.Videos = QtGui.QWidget()
|
||||||
self.Videos.setObjectName("Videos")
|
self.Videos.setObjectName("Videos")
|
||||||
|
|
||||||
@ -58,13 +54,13 @@ class VideoPlugin(Plugin, PluginUtils):
|
|||||||
self.UseVMRLabel = QtGui.QLabel(self.VideoModeGroupBox)
|
self.UseVMRLabel = QtGui.QLabel(self.VideoModeGroupBox)
|
||||||
self.UseVMRLabel.setObjectName("UseVMRLabel")
|
self.UseVMRLabel.setObjectName("UseVMRLabel")
|
||||||
self.VideoModeLayout.addWidget(self.UseVMRLabel)
|
self.VideoModeLayout.addWidget(self.UseVMRLabel)
|
||||||
|
|
||||||
self.VideoLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.VideoModeGroupBox)
|
self.VideoLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.VideoModeGroupBox)
|
||||||
|
|
||||||
self.SettingsTabItem.add_items(self.Videos)
|
self.SettingsTabItem.add_items(self.Videos)
|
||||||
|
|
||||||
self.SettingsTabItem.setTabText(QtGui.QApplication.translate("SettingsForm", "Videos", None, QtGui.QApplication.UnicodeUTF8))
|
self.SettingsTabItem.setTabText(QtGui.QApplication.translate("SettingsForm", "Videos", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
|
|
||||||
self.VideoModeGroupBox.setTitle(QtGui.QApplication.translate("SettingsForm", "Video Mode", None, QtGui.QApplication.UnicodeUTF8))
|
self.VideoModeGroupBox.setTitle(QtGui.QApplication.translate("SettingsForm", "Video Mode", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
self.UseVMRCheckBox.setText(QtGui.QApplication.translate("SettingsForm", "Use Video Mode Rendering", None, QtGui.QApplication.UnicodeUTF8))
|
self.UseVMRCheckBox.setText(QtGui.QApplication.translate("SettingsForm", "Use Video Mode Rendering", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
self.UseVMRLabel.setText(QtGui.QApplication.translate("SettingsForm", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
|
self.UseVMRLabel.setText(QtGui.QApplication.translate("SettingsForm", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
|
||||||
@ -72,9 +68,9 @@ class VideoPlugin(Plugin, PluginUtils):
|
|||||||
"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;\">No video preview available with VMR enabled</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;\">No video preview available with VMR enabled</span></p></body></html>", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
|
"""
|
||||||
return self.SettingsTabItem
|
return self.VideosTab
|
||||||
|
|
||||||
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')
|
||||||
@ -105,49 +101,49 @@ class VideoPlugin(Plugin, PluginUtils):
|
|||||||
self.VideoListView.setColumnHidden(0, True)
|
self.VideoListView.setColumnHidden(0, True)
|
||||||
self.VideoListView.setColumnWidth(1, 275)
|
self.VideoListView.setColumnWidth(1, 275)
|
||||||
self.VideoListView.setShowGrid(False)
|
self.VideoListView.setShowGrid(False)
|
||||||
self.VideoListView.setSortingEnabled(False)
|
self.VideoListView.setSortingEnabled(False)
|
||||||
self.VideoListView.setAlternatingRowColors(True)
|
self.VideoListView.setAlternatingRowColors(True)
|
||||||
self.VideoListView.verticalHeader().setVisible(False)
|
self.VideoListView.verticalHeader().setVisible(False)
|
||||||
self.VideoListView.horizontalHeader().setVisible(False)
|
self.VideoListView.horizontalHeader().setVisible(False)
|
||||||
self.VideoListView.setAlternatingRowColors(True)
|
self.VideoListView.setAlternatingRowColors(True)
|
||||||
self.VideoListView.setGeometry(QtCore.QRect(10, 100, 256, 591))
|
self.VideoListView.setGeometry(QtCore.QRect(10, 100, 256, 591))
|
||||||
self.VideoListView.setObjectName("VideoListView")
|
self.VideoListView.setObjectName("VideoListView")
|
||||||
self.MediaManagerItem.PageLayout.addWidget(self.VideoListView)
|
self.MediaManagerItem.PageLayout.addWidget(self.VideoListView)
|
||||||
|
|
||||||
#define and add the context menu
|
#define and add the context menu
|
||||||
self.VideoListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
|
self.VideoListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
|
||||||
|
|
||||||
self.VideoListView.addAction(self.add_to_context_menu(self.VideoListView, ':/system/system_preview.png', "&Preview Video", self.onVideoPreviewClick))
|
self.VideoListView.addAction(self.add_to_context_menu(self.VideoListView, ':/system/system_preview.png', "&Preview Video", self.onVideoPreviewClick))
|
||||||
self.VideoListView.addAction(self.add_to_context_menu(self.VideoListView, ':/system/system_live.png', "&Show Live", self.onVideoLiveClick))
|
self.VideoListView.addAction(self.add_to_context_menu(self.VideoListView, ':/system/system_live.png', "&Show Live", self.onVideoLiveClick))
|
||||||
self.VideoListView.addAction(self.add_to_context_menu(self.VideoListView, ':/system/system_add.png', "&Add to Service", self.onVideoAddClick))
|
self.VideoListView.addAction(self.add_to_context_menu(self.VideoListView, ':/system/system_add.png', "&Add to Service", self.onVideoAddClick))
|
||||||
return self.MediaManagerItem
|
return self.MediaManagerItem
|
||||||
|
|
||||||
def initialise(self):
|
def initialise(self):
|
||||||
list = self._load_display_list()
|
list = self._load_display_list()
|
||||||
self._load_video_list(list)
|
self._load_video_list(list)
|
||||||
|
|
||||||
def onVideoNewClick(self):
|
def onVideoNewClick(self):
|
||||||
files = QtGui.QFileDialog.getOpenFileNames(None, "Select Image(s)", self._get_last_dir(), "Images (*.avi *.mpeg)")
|
files = QtGui.QFileDialog.getOpenFileNames(None, "Select Image(s)", self._get_last_dir(), "Images (*.avi *.mpeg)")
|
||||||
if len(files) > 0:
|
if len(files) > 0:
|
||||||
self._load_video_list(files)
|
self._load_video_list(files)
|
||||||
self._save_last_directory(files[0])
|
self._save_last_directory(files[0])
|
||||||
self._save_display_list(self.VideoListView)
|
self._save_display_list(self.VideoListView)
|
||||||
|
|
||||||
def _load_video_list(self, list):
|
def _load_video_list(self, list):
|
||||||
for f in list:
|
for f in list:
|
||||||
file_path , file_name = os.path.split(str(f))
|
file_path , file_name = os.path.split(str(f))
|
||||||
count = self.VideoListView.rowCount()
|
count = self.VideoListView.rowCount()
|
||||||
self.VideoListView.setRowCount(count+1)
|
self.VideoListView.setRowCount(count+1)
|
||||||
row_item = QtGui.QTableWidgetItem(str(f))
|
row_item = QtGui.QTableWidgetItem(str(f))
|
||||||
self.VideoListView.setItem(count , 0, row_item)
|
self.VideoListView.setItem(count , 0, row_item)
|
||||||
row_item = QtGui.QTableWidgetItem(str(file_name))
|
row_item = QtGui.QTableWidgetItem(str(file_name))
|
||||||
self.VideoListView.setItem(count , 1, row_item)
|
self.VideoListView.setItem(count , 1, row_item)
|
||||||
self.VideoListView.setRowHeight(count, 20)
|
self.VideoListView.setRowHeight(count, 20)
|
||||||
|
|
||||||
def onVideoDeleteClick(self):
|
def onVideoDeleteClick(self):
|
||||||
cr = self.VideoListView.currentRow()
|
cr = self.VideoListView.currentRow()
|
||||||
self.VideoListView.removeRow(int(cr))
|
self.VideoListView.removeRow(int(cr))
|
||||||
self._save_display_list(self.VideoListView)
|
self._save_display_list(self.VideoListView)
|
||||||
|
|
||||||
def onVideoPreviewClick(self):
|
def onVideoPreviewClick(self):
|
||||||
pass
|
pass
|
||||||
|
@ -28,6 +28,186 @@
|
|||||||
<property name="currentIndex" >
|
<property name="currentIndex" >
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
|
<widget class="QWidget" name="GeneralTab" >
|
||||||
|
<attribute name="title" >
|
||||||
|
<string>General</string>
|
||||||
|
</attribute>
|
||||||
|
<layout class="QHBoxLayout" name="GeneralLayout" >
|
||||||
|
<property name="spacing" >
|
||||||
|
<number>8</number>
|
||||||
|
</property>
|
||||||
|
<property name="margin" >
|
||||||
|
<number>8</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QWidget" native="1" name="GeneralLeftWidget" >
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout" >
|
||||||
|
<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="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="GeneralLeftSpacer" >
|
||||||
|
<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" native="1" name="GeneralRightWidget" >
|
||||||
|
<layout class="QVBoxLayout" name="GeneralRightLayout" >
|
||||||
|
<property name="spacing" >
|
||||||
|
<number>8</number>
|
||||||
|
</property>
|
||||||
|
<property name="margin" >
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<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>
|
||||||
|
<spacer name="GeneralRightSpacer" >
|
||||||
|
<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="ThemesTab" >
|
<widget class="QWidget" name="ThemesTab" >
|
||||||
<attribute name="title" >
|
<attribute name="title" >
|
||||||
<string>Themes</string>
|
<string>Themes</string>
|
||||||
@ -156,11 +336,11 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="DisplayTab" >
|
<widget class="QWidget" name="AlertsTab" >
|
||||||
<attribute name="title" >
|
<attribute name="title" >
|
||||||
<string>Display</string>
|
<string>Alerts</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
<layout class="QHBoxLayout" name="DisplayTabLayout" >
|
<layout class="QHBoxLayout" name="AlertsLayout" >
|
||||||
<property name="spacing" >
|
<property name="spacing" >
|
||||||
<number>8</number>
|
<number>8</number>
|
||||||
</property>
|
</property>
|
||||||
@ -168,336 +348,7 @@
|
|||||||
<number>8</number>
|
<number>8</number>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QWidget" native="1" name="LeftColumn" >
|
<widget class="QWidget" native="1" name="AlertLeftColumn" >
|
||||||
<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="text" >
|
|
||||||
<string>Automatically resize font to fit text to slide</string>
|
|
||||||
</property>
|
|
||||||
<property name="checked" >
|
|
||||||
<bool>true</bool>
|
|
||||||
</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="text" >
|
|
||||||
<string>Enable displaying of song credits</string>
|
|
||||||
</property>
|
|
||||||
<property name="checked" >
|
|
||||||
<bool>true</bool>
|
|
||||||
</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" native="1" name="RightColumn" >
|
|
||||||
<layout class="QVBoxLayout" name="RightColumnLayout" >
|
|
||||||
<property name="spacing" >
|
|
||||||
<number>8</number>
|
|
||||||
</property>
|
|
||||||
<property name="margin" >
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<widget class="QGroupBox" name="VerseDisplayGroupBox" >
|
|
||||||
<property name="title" >
|
|
||||||
<string>Verse Display</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QVBoxLayout" name="VerseDisplayLayout" >
|
|
||||||
<property name="spacing" >
|
|
||||||
<number>8</number>
|
|
||||||
</property>
|
|
||||||
<property name="margin" >
|
|
||||||
<number>8</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<widget class="QWidget" native="1" name="VerseTypeWidget" >
|
|
||||||
<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="text" >
|
|
||||||
<string>Paragraph style</string>
|
|
||||||
</property>
|
|
||||||
<property name="checked" >
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QCheckBox" name="NewChaptersCheckBox" >
|
|
||||||
<property name="text" >
|
|
||||||
<string>Only show new chapter numbers</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QWidget" native="1" name="DisplayStyleWidget" >
|
|
||||||
<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>
|
|
||||||
<widget class="QLabel" name="ChangeNoteLabel" >
|
|
||||||
<property name="text" >
|
|
||||||
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
|
||||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
|
||||||
p, li { white-space: pre-wrap; }
|
|
||||||
</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;">
|
|
||||||
<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></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="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><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
|
||||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
|
||||||
p, li { white-space: pre-wrap; }
|
|
||||||
</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;">
|
|
||||||
<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></string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<spacer name="DisplayRightSpacer" >
|
|
||||||
<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="SlideTab" >
|
|
||||||
<attribute name="title" >
|
|
||||||
<string>Slide</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" native="1" name="SlideLeftColumn" >
|
|
||||||
<layout class="QVBoxLayout" name="SlideLeftLayout" >
|
<layout class="QVBoxLayout" name="SlideLeftLayout" >
|
||||||
<property name="spacing" >
|
<property name="spacing" >
|
||||||
<number>8</number>
|
<number>8</number>
|
||||||
@ -506,11 +357,11 @@ p, li { white-space: pre-wrap; }
|
|||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QGroupBox" name="AlertGroupBox" >
|
<widget class="QGroupBox" name="FontGroupBox" >
|
||||||
<property name="title" >
|
<property name="title" >
|
||||||
<string>Alerts</string>
|
<string>Font</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="AlertLayout" >
|
<layout class="QVBoxLayout" name="FontLayout" >
|
||||||
<property name="spacing" >
|
<property name="spacing" >
|
||||||
<number>8</number>
|
<number>8</number>
|
||||||
</property>
|
</property>
|
||||||
@ -598,16 +449,6 @@ p, li { white-space: pre-wrap; }
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
|
||||||
<widget class="QGraphicsView" name="FontPreview" >
|
|
||||||
<property name="maximumSize" >
|
|
||||||
<size>
|
|
||||||
<width>16777215</width>
|
|
||||||
<height>64</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<widget class="QWidget" native="1" name="LengthWidget" >
|
<widget class="QWidget" native="1" name="LengthWidget" >
|
||||||
<layout class="QHBoxLayout" name="LengthLayout" >
|
<layout class="QHBoxLayout" name="LengthLayout" >
|
||||||
@ -673,7 +514,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QWidget" native="1" name="widget" >
|
<widget class="QWidget" native="1" name="SlideRightColumn" >
|
||||||
<layout class="QVBoxLayout" name="SlideRightLayout" >
|
<layout class="QVBoxLayout" name="SlideRightLayout" >
|
||||||
<property name="spacing" >
|
<property name="spacing" >
|
||||||
<number>8</number>
|
<number>8</number>
|
||||||
@ -682,11 +523,17 @@ p, li { white-space: pre-wrap; }
|
|||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QGroupBox" name="SongWizardGroupBox" >
|
<widget class="QGroupBox" name="PreviewGroupBox" >
|
||||||
<property name="title" >
|
<property name="sizePolicy" >
|
||||||
<string>Song Wizard</string>
|
<sizepolicy vsizetype="Minimum" hsizetype="Minimum" >
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="SongWizardLayout" >
|
<property name="title" >
|
||||||
|
<string>Preview</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="PreviewLayout" >
|
||||||
<property name="spacing" >
|
<property name="spacing" >
|
||||||
<number>8</number>
|
<number>8</number>
|
||||||
</property>
|
</property>
|
||||||
@ -694,101 +541,12 @@ p, li { white-space: pre-wrap; }
|
|||||||
<number>8</number>
|
<number>8</number>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="SongWizardCheckBox" >
|
<widget class="QGraphicsView" name="FontPreview" >
|
||||||
<property name="text" >
|
<property name="maximumSize" >
|
||||||
<string>Use the Song Wizard to add songs</string>
|
<size>
|
||||||
</property>
|
<width>16777215</width>
|
||||||
<property name="checked" >
|
<height>64</height>
|
||||||
<bool>true</bool>
|
</size>
|
||||||
</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" native="1" name="IntervalWidget" >
|
|
||||||
<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="suffix" >
|
|
||||||
<string>s</string>
|
|
||||||
</property>
|
|
||||||
<property name="maximum" >
|
|
||||||
<number>600</number>
|
|
||||||
</property>
|
|
||||||
<property name="value" >
|
|
||||||
<number>30</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>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@ -813,153 +571,6 @@ p, li { white-space: pre-wrap; }
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="GeneralTab" >
|
|
||||||
<attribute name="title" >
|
|
||||||
<string>General</string>
|
|
||||||
</attribute>
|
|
||||||
<layout class="QHBoxLayout" name="GeneralLayout" >
|
|
||||||
<property name="spacing" >
|
|
||||||
<number>8</number>
|
|
||||||
</property>
|
|
||||||
<property name="margin" >
|
|
||||||
<number>8</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<widget class="QWidget" native="1" name="GeneralLeftWidget" >
|
|
||||||
<layout class="QVBoxLayout" name="GeneralLeftLayout" >
|
|
||||||
<property name="spacing" >
|
|
||||||
<number>8</number>
|
|
||||||
</property>
|
|
||||||
<property name="margin" >
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<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>
|
|
||||||
<spacer name="GeneralLeftSpacer" >
|
|
||||||
<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" native="1" name="GeneralRightWidget" >
|
|
||||||
<layout class="QVBoxLayout" name="GeneralRightLayout" >
|
|
||||||
<property name="spacing" >
|
|
||||||
<number>8</number>
|
|
||||||
</property>
|
|
||||||
<property name="margin" >
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<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>
|
|
||||||
<widget class="QGroupBox" name="SearchGroupBox" >
|
|
||||||
<property name="title" >
|
|
||||||
<string>Search</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout" >
|
|
||||||
<item>
|
|
||||||
<widget class="QCheckBox" name="SearchCheckBox" >
|
|
||||||
<property name="text" >
|
|
||||||
<string>Enabled search-as-you-type</string>
|
|
||||||
</property>
|
|
||||||
<property name="checked" >
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<spacer name="GeneralRightSpacer" >
|
|
||||||
<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>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
|
Loading…
Reference in New Issue
Block a user