started to use QString v2 api

This commit is contained in:
Andreas Preikschat 2012-05-17 17:13:09 +02:00
parent 01ed8e4ed8
commit 2d99f59c84
59 changed files with 668 additions and 786 deletions

View File

@ -26,6 +26,8 @@
# Temple Place, Suite 330, Boston, MA 02111-1307 USA # # Temple Place, Suite 330, Boston, MA 02111-1307 USA #
############################################################################### ###############################################################################
import sip
sip.setapi(u'QString', 2)
# Import uuid now, to avoid the rare bug described in the support system: # Import uuid now, to avoid the rare bug described in the support system:
# http://support.openlp.org/issues/102 # http://support.openlp.org/issues/102
# If https://bugs.gentoo.org/show_bug.cgi?id=317557 is fixed, the import can be # If https://bugs.gentoo.org/show_bug.cgi?id=317557 is fixed, the import can be

View File

@ -40,7 +40,7 @@ from traceback import format_exception
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import Receiver, check_directory_exists from openlp.core.lib import Receiver, Settings, check_directory_exists, Settings
from openlp.core.lib.ui import UiStrings from openlp.core.lib.ui import UiStrings
from openlp.core.resources import qInitResources from openlp.core.resources import qInitResources
from openlp.core.ui.mainwindow import MainWindow from openlp.core.ui.mainwindow import MainWindow
@ -78,7 +78,6 @@ QToolBar
} }
""" """
class OpenLP(QtGui.QApplication): class OpenLP(QtGui.QApplication):
""" """
The core application class. This class inherits from Qt's QApplication The core application class. This class inherits from Qt's QApplication
@ -98,6 +97,7 @@ class OpenLP(QtGui.QApplication):
""" """
Run the OpenLP application. Run the OpenLP application.
""" """
# On Windows, the args passed into the constructor are # On Windows, the args passed into the constructor are
# ignored. Not very handy, so set the ones we want to use. # ignored. Not very handy, so set the ones we want to use.
self.args.extend(args) self.args.extend(args)
@ -111,16 +111,14 @@ class OpenLP(QtGui.QApplication):
# Decide how many screens we have and their size # Decide how many screens we have and their size
screens = ScreenList(self.desktop()) screens = ScreenList(self.desktop())
# First time checks in settings # First time checks in settings
has_run_wizard = QtCore.QSettings().value( has_run_wizard = Settings().value(
u'general/has run wizard', QtCore.QVariant(False)).toBool() u'general/has run wizard', False)
if not has_run_wizard: if not has_run_wizard:
if FirstTimeForm(screens).exec_() == QtGui.QDialog.Accepted: if FirstTimeForm(screens).exec_() == QtGui.QDialog.Accepted:
QtCore.QSettings().setValue(u'general/has run wizard', Settings().setValue(u'general/has run wizard', True)
QtCore.QVariant(True))
if os.name == u'nt': if os.name == u'nt':
self.setStyleSheet(application_stylesheet) self.setStyleSheet(application_stylesheet)
show_splash = QtCore.QSettings().value( show_splash = Settings().value(u'general/show splash', True)
u'general/show splash', QtCore.QVariant(True)).toBool()
if show_splash: if show_splash:
self.splash = SplashScreen() self.splash = SplashScreen()
self.splash.show() self.splash.show()
@ -139,8 +137,7 @@ class OpenLP(QtGui.QApplication):
self.processEvents() self.processEvents()
if not has_run_wizard: if not has_run_wizard:
self.mainWindow.firstTime() self.mainWindow.firstTime()
update_check = QtCore.QSettings().value( update_check = Settings().value(u'general/update check', True)
u'general/update check', QtCore.QVariant(True)).toBool()
if update_check: if update_check:
VersionThread(self.mainWindow).start() VersionThread(self.mainWindow).start()
Receiver.send_message(u'live_display_blank_check') Receiver.send_message(u'live_display_blank_check')
@ -264,8 +261,7 @@ def main(args=None):
if app.isAlreadyRunning(): if app.isAlreadyRunning():
sys.exit() sys.exit()
# First time checks in settings # First time checks in settings
if not QtCore.QSettings().value(u'general/has run wizard', if not Settings().value(u'general/has run wizard', False):
QtCore.QVariant(False)).toBool():
if not FirstTimeLanguageForm().exec_(): if not FirstTimeLanguageForm().exec_():
# if cancel then stop processing # if cancel then stop processing
sys.exit() sys.exit()

View File

@ -63,6 +63,22 @@ class ServiceItemAction(object):
Next = 3 Next = 3
class Settings(QtCore.QSettings):
def __init__(self, *args):
QtCore.QSettings.__init__(self, *args)
import copy
self.value_ = copy.deepcopy(self.value)
self.value = copy.deepcopy(self.value2)
def value2(self, key, defaultValue):
setting = self.value_(key, defaultValue)
if isinstance(defaultValue, int):
return setting.toInt()[0]
if isinstance(defaultValue, basestring):
return setting.toString()
if isinstance(defaultValue, bool):
return setting.toBool()
def translate(context, text, comment=None, def translate(context, text, comment=None,
encoding=QtCore.QCoreApplication.CodecForTr, n=-1, encoding=QtCore.QCoreApplication.CodecForTr, n=-1,
translate=QtCore.QCoreApplication.translate): translate=QtCore.QCoreApplication.translate):

View File

@ -38,7 +38,7 @@ from sqlalchemy.exc import SQLAlchemyError, InvalidRequestError, DBAPIError, \
from sqlalchemy.orm import scoped_session, sessionmaker, mapper from sqlalchemy.orm import scoped_session, sessionmaker, mapper
from sqlalchemy.pool import NullPool from sqlalchemy.pool import NullPool
from openlp.core.lib import translate from openlp.core.lib import translate, Settings
from openlp.core.lib.ui import critical_error_message_box from openlp.core.lib.ui import critical_error_message_box
from openlp.core.utils import AppLocation, delete_file from openlp.core.utils import AppLocation, delete_file
@ -179,13 +179,12 @@ class Manager(object):
The file name to use for this database. Defaults to None resulting The file name to use for this database. Defaults to None resulting
in the plugin_name being used. in the plugin_name being used.
""" """
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(plugin_name) settings.beginGroup(plugin_name)
self.db_url = u'' self.db_url = u''
self.is_dirty = False self.is_dirty = False
self.session = None self.session = None
db_type = unicode( db_type = unicode(settings.value(u'db type', u'sqlite'))
settings.value(u'db type', QtCore.QVariant(u'sqlite')).toString())
if db_type == u'sqlite': if db_type == u'sqlite':
if db_file_name: if db_file_name:
self.db_url = u'sqlite:///%s/%s' % ( self.db_url = u'sqlite:///%s/%s' % (
@ -196,13 +195,12 @@ class Manager(object):
AppLocation.get_section_data_path(plugin_name), plugin_name) AppLocation.get_section_data_path(plugin_name), plugin_name)
else: else:
self.db_url = u'%s://%s:%s@%s/%s' % (db_type, self.db_url = u'%s://%s:%s@%s/%s' % (db_type,
urlquote(unicode(settings.value(u'db username').toString())), urlquote(unicode(settings.value(u'db username'))),
urlquote(unicode(settings.value(u'db password').toString())), urlquote(unicode(settings.value(u'db password'))),
urlquote(unicode(settings.value(u'db hostname').toString())), urlquote(unicode(settings.value(u'db hostname'))),
urlquote(unicode(settings.value(u'db database').toString()))) urlquote(unicode(settings.value(u'db database'))))
if db_type == u'mysql': if db_type == u'mysql':
db_encoding = unicode( db_encoding = unicode(settings.value(u'db encoding', u'utf8'))
settings.value(u'db encoding', u'utf8').toString())
self.db_url += u'?charset=%s' % urlquote(db_encoding) self.db_url += u'?charset=%s' % urlquote(db_encoding)
settings.endGroup() settings.endGroup()
if upgrade_mod: if upgrade_mod:

View File

@ -31,7 +31,7 @@ import cPickle
from PyQt4 import QtCore from PyQt4 import QtCore
from openlp.core.lib import translate from openlp.core.lib import translate, Settings
class FormattingTags(object): class FormattingTags(object):
@ -68,8 +68,8 @@ class FormattingTags(object):
if isinstance(tag[element], unicode): if isinstance(tag[element], unicode):
tag[element] = tag[element].encode('utf8') tag[element] = tag[element].encode('utf8')
# Formatting Tags were also known as display tags. # Formatting Tags were also known as display tags.
QtCore.QSettings().setValue(u'displayTags/html_tags', Settings().setValue(u'displayTags/html_tags',
QtCore.QVariant(cPickle.dumps(tags) if tags else u'')) cPickle.dumps(tags) if tags else u'')
@staticmethod @staticmethod
def load_tags(): def load_tags():
@ -164,8 +164,7 @@ class FormattingTags(object):
FormattingTags.add_html_tags(temporary_tags) FormattingTags.add_html_tags(temporary_tags)
# Formatting Tags were also known as display tags. # Formatting Tags were also known as display tags.
user_expands = QtCore.QSettings().value(u'displayTags/html_tags', user_expands = Settings().value(u'displayTags/html_tags', u'')
QtCore.QVariant(u'')).toString()
# cPickle only accepts str not unicode strings # cPickle only accepts str not unicode strings
user_expands_string = str(user_expands) user_expands_string = str(user_expands)
if user_expands_string: if user_expands_string:

View File

@ -34,7 +34,7 @@ import re
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import SettingsManager, OpenLPToolbar, ServiceItem, \ from openlp.core.lib import SettingsManager, OpenLPToolbar, ServiceItem, \
StringContent, build_icon, translate, Receiver, ListWidgetWithDnD StringContent, build_icon, translate, Receiver, ListWidgetWithDnD, Settings
from openlp.core.lib.searchedit import SearchEdit from openlp.core.lib.searchedit import SearchEdit
from openlp.core.lib.ui import UiStrings, create_widget_action, \ from openlp.core.lib.ui import UiStrings, create_widget_action, \
critical_error_message_box critical_error_message_box
@ -462,8 +462,7 @@ class MediaManagerItem(QtGui.QWidget):
""" """
Allows the list click action to be determined dynamically Allows the list click action to be determined dynamically
""" """
if QtCore.QSettings().value(u'advanced/double click live', if Settings().value(u'advanced/double click live', False):
QtCore.QVariant(False)).toBool():
self.onLiveClick() self.onLiveClick()
else: else:
self.onPreviewClick() self.onPreviewClick()
@ -472,8 +471,8 @@ class MediaManagerItem(QtGui.QWidget):
""" """
Allows the change of current item in the list to be actioned Allows the change of current item in the list to be actioned
""" """
if QtCore.QSettings().value(u'advanced/single click preview', if Settings().value(u'advanced/single click preview',
QtCore.QVariant(False)).toBool() and self.quickPreviewAllowed \ False) and self.quickPreviewAllowed \
and self.listView.selectedIndexes() \ and self.listView.selectedIndexes() \
and self.autoSelectId == -1: and self.autoSelectId == -1:
self.onPreviewClick(True) self.onPreviewClick(True)
@ -521,7 +520,7 @@ class MediaManagerItem(QtGui.QWidget):
def createItemFromId(self, item_id): def createItemFromId(self, item_id):
item = QtGui.QListWidgetItem() item = QtGui.QListWidgetItem()
item.setData(QtCore.Qt.UserRole, QtCore.QVariant(item_id)) item.setData(QtCore.Qt.UserRole, item_id)
return item return item
def onAddClick(self): def onAddClick(self):

View File

@ -31,7 +31,7 @@ import logging
from PyQt4 import QtCore from PyQt4 import QtCore
from openlp.core.lib import Receiver from openlp.core.lib import Receiver, Settings
from openlp.core.lib.ui import UiStrings from openlp.core.lib.ui import UiStrings
from openlp.core.utils import get_application_version from openlp.core.utils import get_application_version
@ -190,17 +190,17 @@ class Plugin(QtCore.QObject):
""" """
Sets the status of the plugin Sets the status of the plugin
""" """
self.status = QtCore.QSettings().value( #TODO: check if [0] is needed.
self.settingsSection + u'/status', self.status = Settings().value(
QtCore.QVariant(PluginStatus.Inactive)).toInt()[0] self.settingsSection + u'/status', PluginStatus.Inactive)
def toggleStatus(self, new_status): def toggleStatus(self, new_status):
""" """
Changes the status of the plugin and remembers it Changes the status of the plugin and remembers it
""" """
self.status = new_status self.status = new_status
QtCore.QSettings().setValue( Settings().setValue(
self.settingsSection + u'/status', QtCore.QVariant(self.status)) self.settingsSection + u'/status', self.status)
if new_status == PluginStatus.Active: if new_status == PluginStatus.Active:
self.initialise() self.initialise()
elif new_status == PluginStatus.Inactive: elif new_status == PluginStatus.Inactive:

View File

@ -34,6 +34,7 @@ import os
from PyQt4 import QtCore from PyQt4 import QtCore
from openlp.core.lib import Settings
from openlp.core.utils import AppLocation from openlp.core.utils import AppLocation
class SettingsManager(object): class SettingsManager(object):
@ -58,9 +59,7 @@ class SettingsManager(object):
name = u'last directory %d' % num name = u'last directory %d' % num
else: else:
name = u'last directory' name = u'last directory'
last_dir = unicode(QtCore.QSettings().value( return unicode(Settings().value(section + u'/' + name, u''))
section + u'/' + name, QtCore.QVariant(u'')).toString())
return last_dir
@staticmethod @staticmethod
def set_last_dir(section, directory, num=None): def set_last_dir(section, directory, num=None):
@ -81,8 +80,7 @@ class SettingsManager(object):
name = u'last directory %d' % num name = u'last directory %d' % num
else: else:
name = u'last directory' name = u'last directory'
QtCore.QSettings().setValue( Settings().setValue(section + u'/' + name, directory)
section + u'/' + name, QtCore.QVariant(directory))
@staticmethod @staticmethod
def set_list(section, name, list): def set_list(section, name, list):
@ -98,15 +96,14 @@ class SettingsManager(object):
``list`` ``list``
The list of values to save. The list of values to save.
""" """
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(section) settings.beginGroup(section)
old_count = settings.value( #TODO: check if [0] is needed.
u'%s count' % name, QtCore.QVariant(0)).toInt()[0] old_count = settings.value(u'%s count' % name, 0)
new_count = len(list) new_count = len(list)
settings.setValue(u'%s count' % name, QtCore.QVariant(new_count)) settings.setValue(u'%s count' % name, new_count)
for counter in range(new_count): for counter in range(new_count):
settings.setValue( settings.setValue(u'%s %d' % (name, counter), list[counter - 1])
u'%s %d' % (name, counter), QtCore.QVariant(list[counter-1]))
if old_count > new_count: if old_count > new_count:
# Tidy up any old list items # Tidy up any old list items
for counter in range(new_count, old_count): for counter in range(new_count, old_count):
@ -124,15 +121,13 @@ class SettingsManager(object):
``name`` ``name``
The name of the list. The name of the list.
""" """
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(section) settings.beginGroup(section)
list_count = settings.value( list_count = settings.value(u'%s count' % name, 0)
u'%s count' % name, QtCore.QVariant(0)).toInt()[0]
list = [] list = []
if list_count: if list_count:
for counter in range(list_count): for counter in range(list_count):
item = unicode( item = unicode(settings.value(u'%s %d' % (name, counter)))
settings.value(u'%s %d' % (name, counter)).toString())
if item: if item:
list.append(item) list.append(item)
settings.endGroup() settings.endGroup()

View File

@ -365,6 +365,7 @@ def create_action(parent, name, **kwargs):
``separator`` ``separator``
True in case the action will be considered a separator. True in case the action will be considered a separator.
#FIXME: check
``data`` ``data``
Data which is set as QVariant type. Data which is set as QVariant type.
@ -400,7 +401,7 @@ def create_action(parent, name, **kwargs):
if kwargs.pop(u'separator', False): if kwargs.pop(u'separator', False):
action.setSeparator(True) action.setSeparator(True)
if u'data' in kwargs: if u'data' in kwargs:
action.setData(QtCore.QVariant(kwargs.pop(u'data'))) action.setData(kwargs.pop(u'data'))
if kwargs.get(u'shortcuts'): if kwargs.get(u'shortcuts'):
action.setShortcuts(kwargs.pop(u'shortcuts')) action.setShortcuts(kwargs.pop(u'shortcuts'))
if u'context' in kwargs: if u'context' in kwargs:

View File

@ -31,7 +31,8 @@ from datetime import datetime, timedelta
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import SettingsTab, translate, build_icon, Receiver from openlp.core.lib import Receiver, Settings, SettingsTab, translate, \
build_icon
from openlp.core.lib.ui import UiStrings from openlp.core.lib.ui import UiStrings
from openlp.core.lib import SlideLimits from openlp.core.lib import SlideLimits
from openlp.core.utils import get_images_filter from openlp.core.utils import get_images_filter
@ -340,56 +341,52 @@ class AdvancedTab(SettingsTab):
""" """
Load settings from disk. Load settings from disk.
""" """
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(self.settingsSection) settings.beginGroup(self.settingsSection)
# The max recent files value does not have an interface and so never # The max recent files value does not have an interface and so never
# gets actually stored in the settings therefore the default value of # gets actually stored in the settings therefore the default value of
# 20 will always be used. # 20 will always be used.
self.recentSpinBox.setMaximum(QtCore.QSettings().value( self.recentSpinBox.setMaximum(Settings().value(
u'max recent files', QtCore.QVariant(20)).toInt()[0]) u'max recent files', 20))
self.recentSpinBox.setValue(settings.value(u'recent file count', self.recentSpinBox.setValue(settings.value(u'recent file count',
QtCore.QVariant(4)).toInt()[0]) 4))
self.mediaPluginCheckBox.setChecked( self.mediaPluginCheckBox.setChecked(
settings.value(u'save current plugin', settings.value(u'save current plugin',
QtCore.QVariant(False)).toBool()) False))
self.doubleClickLiveCheckBox.setChecked( self.doubleClickLiveCheckBox.setChecked(
settings.value(u'double click live', settings.value(u'double click live',
QtCore.QVariant(False)).toBool()) False))
self.singleClickPreviewCheckBox.setChecked( self.singleClickPreviewCheckBox.setChecked(
settings.value(u'single click preview', settings.value(u'single click preview',
QtCore.QVariant(False)).toBool()) False))
self.expandServiceItemCheckBox.setChecked( self.expandServiceItemCheckBox.setChecked(
settings.value(u'expand service item', settings.value(u'expand service item',
QtCore.QVariant(False)).toBool()) False))
self.enableAutoCloseCheckBox.setChecked( self.enableAutoCloseCheckBox.setChecked(
settings.value(u'enable exit confirmation', settings.value(u'enable exit confirmation',
QtCore.QVariant(True)).toBool()) True))
self.hideMouseCheckBox.setChecked( self.hideMouseCheckBox.setChecked(
settings.value(u'hide mouse', QtCore.QVariant(False)).toBool()) settings.value(u'hide mouse', False))
self.serviceNameDay.setCurrentIndex( self.serviceNameDay.setCurrentIndex(
settings.value(u'default service day', settings.value(u'default service day',
QtCore.QVariant(self.defaultServiceDay)).toInt()[0]) self.defaultServiceDay))
self.serviceNameTime.setTime(QtCore.QTime( self.serviceNameTime.setTime(QtCore.QTime(
settings.value(u'default service hour', settings.value(u'default service hour', self.defaultServiceHour),
self.defaultServiceHour).toInt()[0],
settings.value(u'default service minute', settings.value(u'default service minute',
self.defaultServiceMinute).toInt()[0])) self.defaultServiceMinute)))
self.shouldUpdateServiceNameExample = True self.shouldUpdateServiceNameExample = True
self.serviceNameEdit.setText(settings.value(u'default service name', self.serviceNameEdit.setText(settings.value(u'default service name',
self.defaultServiceName).toString()) self.defaultServiceName))
default_service_enabled = settings.value(u'default service enabled', default_service_enabled = settings.value(
QtCore.QVariant(True)).toBool() u'default service enabled', True)
self.serviceNameCheckBox.setChecked(default_service_enabled) self.serviceNameCheckBox.setChecked(default_service_enabled)
self.serviceNameCheckBoxToggled(default_service_enabled) self.serviceNameCheckBoxToggled(default_service_enabled)
self.x11BypassCheckBox.setChecked( self.x11BypassCheckBox.setChecked(
settings.value(u'x11 bypass wm', QtCore.QVariant(True)).toBool()) settings.value(u'x11 bypass wm', True))
self.defaultColor = settings.value(u'default color', self.defaultColor = settings.value(u'default color', u'#ffffff')
QtCore.QVariant(u'#ffffff')).toString()
self.defaultFileEdit.setText(settings.value(u'default image', self.defaultFileEdit.setText(settings.value(u'default image',
QtCore.QVariant(u':/graphics/openlp-splash-screen.png'))\ u':/graphics/openlp-splash-screen.png'))
.toString()) self.slide_limits = settings.value(u'slide limits', SlideLimits.End)
self.slide_limits = settings.value(
u'slide limits', QtCore.QVariant(SlideLimits.End)).toInt()[0]
if self.slide_limits == SlideLimits.End: if self.slide_limits == SlideLimits.End:
self.endSlideRadioButton.setChecked(True) self.endSlideRadioButton.setChecked(True)
elif self.slide_limits == SlideLimits.Wrap: elif self.slide_limits == SlideLimits.Wrap:
@ -404,7 +401,7 @@ class AdvancedTab(SettingsTab):
""" """
Save settings to disk. Save settings to disk.
""" """
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(self.settingsSection) settings.beginGroup(self.settingsSection)
settings.setValue(u'default service enabled', settings.setValue(u'default service enabled',
self.serviceNameCheckBox.isChecked()) self.serviceNameCheckBox.isChecked())
@ -421,25 +418,22 @@ class AdvancedTab(SettingsTab):
self.serviceNameTime.time().hour()) self.serviceNameTime.time().hour())
settings.setValue(u'default service minute', settings.setValue(u'default service minute',
self.serviceNameTime.time().minute()) self.serviceNameTime.time().minute())
settings.setValue(u'recent file count', settings.setValue(u'recent file count', self.recentSpinBox.value())
QtCore.QVariant(self.recentSpinBox.value()))
settings.setValue(u'save current plugin', settings.setValue(u'save current plugin',
QtCore.QVariant(self.mediaPluginCheckBox.isChecked())) self.mediaPluginCheckBox.isChecked())
settings.setValue(u'double click live', settings.setValue(u'double click live',
QtCore.QVariant(self.doubleClickLiveCheckBox.isChecked())) self.doubleClickLiveCheckBox.isChecked())
settings.setValue(u'single click preview', settings.setValue(u'single click preview',
QtCore.QVariant(self.singleClickPreviewCheckBox.isChecked())) self.singleClickPreviewCheckBox.isChecked())
settings.setValue(u'expand service item', settings.setValue(u'expand service item',
QtCore.QVariant(self.expandServiceItemCheckBox.isChecked())) self.expandServiceItemCheckBox.isChecked())
settings.setValue(u'enable exit confirmation', settings.setValue(u'enable exit confirmation',
QtCore.QVariant(self.enableAutoCloseCheckBox.isChecked())) self.enableAutoCloseCheckBox.isChecked())
settings.setValue(u'hide mouse', settings.setValue(u'hide mouse', self.hideMouseCheckBox.isChecked())
QtCore.QVariant(self.hideMouseCheckBox.isChecked())) settings.setValue(u'x11 bypass wm', self.x11BypassCheckBox.isChecked())
settings.setValue(u'x11 bypass wm',
QtCore.QVariant(self.x11BypassCheckBox.isChecked()))
settings.setValue(u'default color', self.defaultColor) settings.setValue(u'default color', self.defaultColor)
settings.setValue(u'default image', self.defaultFileEdit.text()) settings.setValue(u'default image', self.defaultFileEdit.text())
settings.setValue(u'slide limits', QtCore.QVariant(self.slide_limits)) settings.setValue(u'slide limits', self.slide_limits)
settings.endGroup() settings.endGroup()
if self.displayChanged: if self.displayChanged:
Receiver.send_message(u'config_screen_changed') Receiver.send_message(u'config_screen_changed')

View File

@ -38,7 +38,7 @@ from ConfigParser import SafeConfigParser
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import translate, PluginStatus, Receiver, build_icon, \ from openlp.core.lib import translate, PluginStatus, Receiver, build_icon, \
check_directory_exists check_directory_exists, Settings
from openlp.core.utils import get_web_page, AppLocation from openlp.core.utils import get_web_page, AppLocation
from firsttimewizard import Ui_FirstTimeWizard, FirstTimePage from firsttimewizard import Ui_FirstTimeWizard, FirstTimePage
@ -62,7 +62,7 @@ class ThemeScreenshotThread(QtCore.QThread):
urllib.urlretrieve(u'%s%s' % (self.parent().web, screenshot), urllib.urlretrieve(u'%s%s' % (self.parent().web, screenshot),
os.path.join(gettempdir(), u'openlp', screenshot)) os.path.join(gettempdir(), u'openlp', screenshot))
item = QtGui.QListWidgetItem(title, self.parent().themesListWidget) item = QtGui.QListWidgetItem(title, self.parent().themesListWidget)
item.setData(QtCore.Qt.UserRole, QtCore.QVariant(filename)) item.setData(QtCore.Qt.UserRole, filename)
item.setCheckState(QtCore.Qt.Unchecked) item.setCheckState(QtCore.Qt.Unchecked)
item.setFlags(item.flags() | QtCore.Qt.ItemIsUserCheckable) item.setFlags(item.flags() | QtCore.Qt.ItemIsUserCheckable)
@ -113,8 +113,8 @@ class FirstTimeForm(QtGui.QWizard, Ui_FirstTimeWizard):
check_directory_exists(os.path.join(gettempdir(), u'openlp')) check_directory_exists(os.path.join(gettempdir(), u'openlp'))
self.noInternetFinishButton.setVisible(False) self.noInternetFinishButton.setVisible(False)
# Check if this is a re-run of the wizard. # Check if this is a re-run of the wizard.
self.hasRunWizard = QtCore.QSettings().value( self.hasRunWizard = Settings().value(
u'general/has run wizard', QtCore.QVariant(False)).toBool() u'general/has run wizard', False)
# Sort out internet access for downloads # Sort out internet access for downloads
if self.webAccess: if self.webAccess:
songs = self.config.get(u'songs', u'languages') songs = self.config.get(u'songs', u'languages')
@ -125,7 +125,7 @@ class FirstTimeForm(QtGui.QWizard, Ui_FirstTimeWizard):
filename = unicode(self.config.get( filename = unicode(self.config.get(
u'songs_%s' % song, u'filename'), u'utf8') u'songs_%s' % song, u'filename'), u'utf8')
item = QtGui.QListWidgetItem(title, self.songsListWidget) item = QtGui.QListWidgetItem(title, self.songsListWidget)
item.setData(QtCore.Qt.UserRole, QtCore.QVariant(filename)) item.setData(QtCore.Qt.UserRole, filename)
item.setCheckState(QtCore.Qt.Unchecked) item.setCheckState(QtCore.Qt.Unchecked)
item.setFlags(item.flags() | QtCore.Qt.ItemIsUserCheckable) item.setFlags(item.flags() | QtCore.Qt.ItemIsUserCheckable)
bible_languages = self.config.get(u'bibles', u'languages') bible_languages = self.config.get(u'bibles', u'languages')
@ -133,8 +133,9 @@ class FirstTimeForm(QtGui.QWizard, Ui_FirstTimeWizard):
for lang in bible_languages: for lang in bible_languages:
language = unicode(self.config.get( language = unicode(self.config.get(
u'bibles_%s' % lang, u'title'), u'utf8') u'bibles_%s' % lang, u'title'), u'utf8')
# FIXME
langItem = QtGui.QTreeWidgetItem( langItem = QtGui.QTreeWidgetItem(
self.biblesTreeWidget, QtCore.QStringList(language)) self.biblesTreeWidget, language)
bibles = self.config.get(u'bibles_%s' % lang, u'translations') bibles = self.config.get(u'bibles_%s' % lang, u'translations')
bibles = bibles.split(u',') bibles = bibles.split(u',')
for bible in bibles: for bible in bibles:
@ -142,10 +143,9 @@ class FirstTimeForm(QtGui.QWizard, Ui_FirstTimeWizard):
u'bible_%s' % bible, u'title'), u'utf8') u'bible_%s' % bible, u'title'), u'utf8')
filename = unicode(self.config.get( filename = unicode(self.config.get(
u'bible_%s' % bible, u'filename')) u'bible_%s' % bible, u'filename'))
item = QtGui.QTreeWidgetItem( # FIXME
langItem, QtCore.QStringList(title)) item = QtGui.QTreeWidgetItem(langItem, title)
item.setData(0, QtCore.Qt.UserRole, item.setData(0, QtCore.Qt.UserRole, filename)
QtCore.QVariant(filename))
item.setCheckState(0, QtCore.Qt.Unchecked) item.setCheckState(0, QtCore.Qt.Unchecked)
item.setFlags(item.flags() | QtCore.Qt.ItemIsUserCheckable) item.setFlags(item.flags() | QtCore.Qt.ItemIsUserCheckable)
self.biblesTreeWidget.expandAll() self.biblesTreeWidget.expandAll()
@ -206,9 +206,8 @@ class FirstTimeForm(QtGui.QWizard, Ui_FirstTimeWizard):
index = self.themeComboBox.findText(theme) index = self.themeComboBox.findText(theme)
if index == -1: if index == -1:
self.themeComboBox.addItem(theme) self.themeComboBox.addItem(theme)
default_theme = unicode(QtCore.QSettings().value( default_theme = unicode(Settings().value(
u'themes/global theme', u'themes/global theme', u''))
QtCore.QVariant(u'')).toString())
# Pre-select the current default theme. # Pre-select the current default theme.
index = self.themeComboBox.findText(default_theme) index = self.themeComboBox.findText(default_theme)
self.themeComboBox.setCurrentIndex(index) self.themeComboBox.setCurrentIndex(index)
@ -257,8 +256,7 @@ class FirstTimeForm(QtGui.QWizard, Ui_FirstTimeWizard):
self._performWizard() self._performWizard()
Receiver.send_message(u'openlp_process_events') Receiver.send_message(u'openlp_process_events')
Receiver.send_message(u'cursor_normal') Receiver.send_message(u'cursor_normal')
QtCore.QSettings().setValue(u'general/has run wizard', Settings().setValue(u'general/has run wizard', True)
QtCore.QVariant(True))
self.close() self.close()
def urlGetFile(self, url, fpath): def urlGetFile(self, url, fpath):
@ -296,7 +294,7 @@ class FirstTimeForm(QtGui.QWizard, Ui_FirstTimeWizard):
screenshot = self.config.get(u'theme_%s' % theme, u'screenshot') screenshot = self.config.get(u'theme_%s' % theme, u'screenshot')
for index in xrange(self.themesListWidget.count()): for index in xrange(self.themesListWidget.count()):
item = self.themesListWidget.item(index) item = self.themesListWidget.item(index)
if item.data(QtCore.Qt.UserRole) == QtCore.QVariant(filename): if item.data(QtCore.Qt.UserRole) == filename:
break break
item.setIcon(build_icon( item.setIcon(build_icon(
os.path.join(gettempdir(), u'openlp', screenshot))) os.path.join(gettempdir(), u'openlp', screenshot)))
@ -456,16 +454,16 @@ class FirstTimeForm(QtGui.QWizard, Ui_FirstTimeWizard):
os.path.join(themes_destination, theme)) os.path.join(themes_destination, theme))
# Set Default Display # Set Default Display
if self.displayComboBox.currentIndex() != -1: if self.displayComboBox.currentIndex() != -1:
QtCore.QSettings().setValue(u'General/monitor', Settings().setValue(u'General/monitor',
QtCore.QVariant(self.displayComboBox.currentIndex())) self.displayComboBox.currentIndex())
self.screens.set_current_display( self.screens.set_current_display(
self.displayComboBox.currentIndex()) self.displayComboBox.currentIndex())
# Set Global Theme # Set Global Theme
if self.themeComboBox.currentIndex() != -1: if self.themeComboBox.currentIndex() != -1:
QtCore.QSettings().setValue(u'themes/global theme', Settings().setValue(u'themes/global theme',
QtCore.QVariant(self.themeComboBox.currentText())) self.themeComboBox.currentText())
def _setPluginStatus(self, field, tag): def _setPluginStatus(self, field, tag):
status = PluginStatus.Active if field.checkState() \ status = PluginStatus.Active if field.checkState() == QtCore.Qt.Checked\
== QtCore.Qt.Checked else PluginStatus.Inactive else PluginStatus.Inactive
QtCore.QSettings().setValue(tag, QtCore.QVariant(status)) Settings().setValue(tag, status)

View File

@ -28,7 +28,7 @@ import logging
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import SettingsTab, Receiver, translate from openlp.core.lib import Receiver, Settings, SettingsTab, translate
from openlp.core.lib.ui import UiStrings from openlp.core.lib.ui import UiStrings
from openlp.core.ui import ScreenList from openlp.core.ui import ScreenList
@ -265,53 +265,50 @@ class GeneralTab(SettingsTab):
""" """
Load the settings to populate the form Load the settings to populate the form
""" """
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(self.settingsSection) settings.beginGroup(self.settingsSection)
self.monitorComboBox.clear() self.monitorComboBox.clear()
self.monitorComboBox.addItems(self.screens.get_screen_list()) self.monitorComboBox.addItems(self.screens.get_screen_list())
monitorNumber = settings.value(u'monitor', monitorNumber = settings.value(
QtCore.QVariant(self.screens.display_count - 1)).toInt()[0] u'monitor', self.screens.display_count - 1)
self.monitorComboBox.setCurrentIndex(monitorNumber) self.monitorComboBox.setCurrentIndex(monitorNumber)
self.numberEdit.setText(unicode(settings.value( self.numberEdit.setText(settings.value(u'ccli number', u''))
u'ccli number', QtCore.QVariant(u'')).toString())) self.usernameEdit.setText(settings.value(u'songselect username', u''))
self.usernameEdit.setText(unicode(settings.value( self.passwordEdit.setText(settings.value(u'songselect password', u''))
u'songselect username', QtCore.QVariant(u'')).toString()))
self.passwordEdit.setText(unicode(settings.value(
u'songselect password', QtCore.QVariant(u'')).toString()))
self.saveCheckServiceCheckBox.setChecked(settings.value(u'save prompt', self.saveCheckServiceCheckBox.setChecked(settings.value(u'save prompt',
QtCore.QVariant(False)).toBool()) False))
self.autoUnblankCheckBox.setChecked(settings.value(u'auto unblank', self.autoUnblankCheckBox.setChecked(settings.value(u'auto unblank',
QtCore.QVariant(False)).toBool()) False))
self.displayOnMonitorCheck.setChecked(self.screens.display) self.displayOnMonitorCheck.setChecked(self.screens.display)
self.warningCheckBox.setChecked(settings.value(u'blank warning', self.warningCheckBox.setChecked(settings.value(u'blank warning',
QtCore.QVariant(False)).toBool()) False))
self.autoOpenCheckBox.setChecked(settings.value(u'auto open', self.autoOpenCheckBox.setChecked(settings.value(u'auto open',
QtCore.QVariant(False)).toBool()) False))
self.showSplashCheckBox.setChecked(settings.value(u'show splash', self.showSplashCheckBox.setChecked(settings.value(u'show splash',
QtCore.QVariant(True)).toBool()) True))
self.checkForUpdatesCheckBox.setChecked(settings.value(u'update check', self.checkForUpdatesCheckBox.setChecked(settings.value(u'update check',
QtCore.QVariant(True)).toBool()) True))
self.autoPreviewCheckBox.setChecked(settings.value(u'auto preview', self.autoPreviewCheckBox.setChecked(settings.value(u'auto preview',
QtCore.QVariant(False)).toBool()) False))
self.timeoutSpinBox.setValue(settings.value(u'loop delay', self.timeoutSpinBox.setValue(settings.value(u'loop delay',
QtCore.QVariant(5)).toInt()[0]) 5))
self.monitorRadioButton.setChecked( self.monitorRadioButton.setChecked(
not settings.value(u'override position', not settings.value(u'override position',
QtCore.QVariant(False)).toBool()) False))
self.overrideRadioButton.setChecked(settings.value(u'override position', self.overrideRadioButton.setChecked(settings.value(u'override position',
QtCore.QVariant(False)).toBool()) False))
self.customXValueEdit.setValue(settings.value(u'x position', self.customXValueEdit.setValue(settings.value(u'x position',
QtCore.QVariant(self.screens.current[u'size'].x())).toInt()[0]) self.screens.current[u'size'].x()))
self.customYValueEdit.setValue(settings.value(u'y position', self.customYValueEdit.setValue(settings.value(u'y position',
QtCore.QVariant(self.screens.current[u'size'].y())).toInt()[0]) self.screens.current[u'size'].y()))
self.customHeightValueEdit.setValue(settings.value(u'height', self.customHeightValueEdit.setValue(settings.value(u'height',
QtCore.QVariant(self.screens.current[u'size'].height())).toInt()[0]) self.screens.current[u'size'].height()))
self.customWidthValueEdit.setValue(settings.value(u'width', self.customWidthValueEdit.setValue(settings.value(u'width',
QtCore.QVariant(self.screens.current[u'size'].width())).toInt()[0]) self.screens.current[u'size'].width()))
self.startPausedCheckBox.setChecked(settings.value( self.startPausedCheckBox.setChecked(settings.value(
u'audio start paused', QtCore.QVariant(True)).toBool()) u'audio start paused', True))
self.repeatListCheckBox.setChecked(settings.value( self.repeatListCheckBox.setChecked(settings.value(
u'audio repeat list', QtCore.QVariant(False)).toBool()) u'audio repeat list', False))
settings.endGroup() settings.endGroup()
self.monitorComboBox.setDisabled(self.overrideRadioButton.isChecked()) self.monitorComboBox.setDisabled(self.overrideRadioButton.isChecked())
self.customXValueEdit.setEnabled(self.overrideRadioButton.isChecked()) self.customXValueEdit.setEnabled(self.overrideRadioButton.isChecked())
@ -327,48 +324,36 @@ class GeneralTab(SettingsTab):
""" """
Save the settings from the form Save the settings from the form
""" """
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(self.settingsSection) settings.beginGroup(self.settingsSection)
settings.setValue(u'monitor', settings.setValue(u'monitor', self.monitorComboBox.currentIndex())
QtCore.QVariant(self.monitorComboBox.currentIndex()))
settings.setValue(u'display on monitor', settings.setValue(u'display on monitor',
QtCore.QVariant(self.displayOnMonitorCheck.isChecked())) self.displayOnMonitorCheck.isChecked())
settings.setValue(u'blank warning', settings.setValue(u'blank warning', self.warningCheckBox.isChecked())
QtCore.QVariant(self.warningCheckBox.isChecked())) settings.setValue(u'auto open', self.autoOpenCheckBox.isChecked())
settings.setValue(u'auto open', settings.setValue(u'show splash', self.showSplashCheckBox.isChecked())
QtCore.QVariant(self.autoOpenCheckBox.isChecked()))
settings.setValue(u'show splash',
QtCore.QVariant(self.showSplashCheckBox.isChecked()))
settings.setValue(u'update check', settings.setValue(u'update check',
QtCore.QVariant(self.checkForUpdatesCheckBox.isChecked())) self.checkForUpdatesCheckBox.isChecked())
settings.setValue(u'save prompt', settings.setValue(u'save prompt',
QtCore.QVariant(self.saveCheckServiceCheckBox.isChecked())) self.saveCheckServiceCheckBox.isChecked())
settings.setValue(u'auto unblank', settings.setValue(u'auto unblank', self.autoUnblankCheckBox.isChecked())
QtCore.QVariant(self.autoUnblankCheckBox.isChecked())) settings.setValue(u'auto preview', self.autoPreviewCheckBox.isChecked())
settings.setValue(u'auto preview', settings.setValue(u'loop delay', self.timeoutSpinBox.value())
QtCore.QVariant(self.autoPreviewCheckBox.isChecked())) settings.setValue(u'ccli number', self.numberEdit.displayText())
settings.setValue(u'loop delay',
QtCore.QVariant(self.timeoutSpinBox.value()))
settings.setValue(u'ccli number',
QtCore.QVariant(self.numberEdit.displayText()))
settings.setValue(u'songselect username', settings.setValue(u'songselect username',
QtCore.QVariant(self.usernameEdit.displayText())) self.usernameEdit.displayText())
settings.setValue(u'songselect password', settings.setValue(u'songselect password',
QtCore.QVariant(self.passwordEdit.displayText())) self.passwordEdit.displayText())
settings.setValue(u'x position', settings.setValue(u'x position', self.customXValueEdit.value())
QtCore.QVariant(self.customXValueEdit.value())) settings.setValue(u'y position', self.customYValueEdit.value())
settings.setValue(u'y position', settings.setValue(u'height', self.customHeightValueEdit.value())
QtCore.QVariant(self.customYValueEdit.value())) settings.setValue(u'width', self.customWidthValueEdit.value())
settings.setValue(u'height',
QtCore.QVariant(self.customHeightValueEdit.value()))
settings.setValue(u'width',
QtCore.QVariant(self.customWidthValueEdit.value()))
settings.setValue(u'override position', settings.setValue(u'override position',
QtCore.QVariant(self.overrideRadioButton.isChecked())) self.overrideRadioButton.isChecked())
settings.setValue(u'audio start paused', settings.setValue(u'audio start paused',
QtCore.QVariant(self.startPausedCheckBox.isChecked())) self.startPausedCheckBox.isChecked())
settings.setValue(u'audio repeat list', settings.setValue(u'audio repeat list',
QtCore.QVariant(self.repeatListCheckBox.isChecked())) self.repeatListCheckBox.isChecked())
settings.endGroup() settings.endGroup()
# On save update the screens as well # On save update the screens as well
self.postSetUp(True) self.postSetUp(True)

View File

@ -36,7 +36,7 @@ from PyQt4 import QtCore, QtGui, QtWebKit, QtOpenGL
from PyQt4.phonon import Phonon from PyQt4.phonon import Phonon
from openlp.core.lib import Receiver, build_html, ServiceItem, image_to_byte, \ from openlp.core.lib import Receiver, build_html, ServiceItem, image_to_byte, \
translate, PluginManager, expand_tags translate, PluginManager, expand_tags, Settings
from openlp.core.lib.theme import BackgroundType from openlp.core.lib.theme import BackgroundType
from openlp.core.ui import HideMode, ScreenList, AlertLocation from openlp.core.ui import HideMode, ScreenList, AlertLocation
@ -134,8 +134,7 @@ class MainDisplay(Display):
self.setStyleSheet(u'border: 0px; margin: 0px; padding: 0px;') self.setStyleSheet(u'border: 0px; margin: 0px; padding: 0px;')
windowFlags = QtCore.Qt.FramelessWindowHint | QtCore.Qt.Tool | \ windowFlags = QtCore.Qt.FramelessWindowHint | QtCore.Qt.Tool | \
QtCore.Qt.WindowStaysOnTopHint QtCore.Qt.WindowStaysOnTopHint
if QtCore.QSettings().value(u'advanced/x11 bypass wm', if Settings().value(u'advanced/x11 bypass wm', True):
QtCore.QVariant(True)).toBool():
windowFlags |= QtCore.Qt.X11BypassWindowManagerHint windowFlags |= QtCore.Qt.X11BypassWindowManagerHint
# FIXME: QtCore.Qt.SplashScreen is workaround to make display screen # FIXME: QtCore.Qt.SplashScreen is workaround to make display screen
# stay always on top on Mac OS X. For details see bug 906926. # stay always on top on Mac OS X. For details see bug 906926.
@ -195,13 +194,12 @@ class MainDisplay(Display):
Display.setup(self) Display.setup(self)
if self.isLive: if self.isLive:
# Build the initial frame. # Build the initial frame.
image_file = QtCore.QSettings().value(u'advanced/default image', image_file = Settings().value(u'advanced/default image',
QtCore.QVariant(u':/graphics/openlp-splash-screen.png'))\ u':/graphics/openlp-splash-screen.png')
.toString()
background_color = QtGui.QColor() background_color = QtGui.QColor()
background_color.setNamedColor(QtCore.QSettings().value( background_color.setNamedColor(Settings().value(
u'advanced/default color', u'advanced/default color',
QtCore.QVariant(u'#ffffff')).toString()) u'#ffffff'))
if not background_color.isValid(): if not background_color.isValid():
background_color = QtCore.Qt.white background_color = QtCore.Qt.white
splash_image = QtGui.QImage(image_file) splash_image = QtGui.QImage(image_file)
@ -260,7 +258,7 @@ class MainDisplay(Display):
height = self.frame.evaluateJavaScript(js) height = self.frame.evaluateJavaScript(js)
if shrink: if shrink:
if text: if text:
alert_height = int(height.toString()) alert_height = int(height)
self.resize(self.width(), alert_height) self.resize(self.width(), alert_height)
self.setVisible(True) self.setVisible(True)
if location == AlertLocation.Middle: if location == AlertLocation.Middle:
@ -352,8 +350,8 @@ class MainDisplay(Display):
# Single screen active # Single screen active
if self.screens.display_count == 1: if self.screens.display_count == 1:
# Only make visible if setting enabled. # Only make visible if setting enabled.
if QtCore.QSettings().value(u'general/display on monitor', if Settings().value(
QtCore.QVariant(True)).toBool(): u'general/display on monitor', True):
self.setVisible(True) self.setVisible(True)
else: else:
self.setVisible(True) self.setVisible(True)
@ -401,8 +399,8 @@ class MainDisplay(Display):
self.footer(serviceItem.foot_text) self.footer(serviceItem.foot_text)
# if was hidden keep it hidden # if was hidden keep it hidden
if self.hideMode and self.isLive and not serviceItem.is_media(): if self.hideMode and self.isLive and not serviceItem.is_media():
if QtCore.QSettings().value(u'general/auto unblank', if Settings().value(u'general/auto unblank',
QtCore.QVariant(False)).toBool(): False):
Receiver.send_message(u'slidecontroller_live_unblank') Receiver.send_message(u'slidecontroller_live_unblank')
else: else:
self.hideDisplay(self.hideMode) self.hideDisplay(self.hideMode)
@ -425,8 +423,8 @@ class MainDisplay(Display):
log.debug(u'hideDisplay mode = %d', mode) log.debug(u'hideDisplay mode = %d', mode)
if self.screens.display_count == 1: if self.screens.display_count == 1:
# Only make visible if setting enabled. # Only make visible if setting enabled.
if not QtCore.QSettings().value(u'general/display on monitor', if not Settings().value(u'general/display on monitor',
QtCore.QVariant(True)).toBool(): True):
return return
if mode == HideMode.Screen: if mode == HideMode.Screen:
self.frame.evaluateJavaScript(u'show_blank("desktop");') self.frame.evaluateJavaScript(u'show_blank("desktop");')
@ -450,8 +448,8 @@ class MainDisplay(Display):
log.debug(u'showDisplay') log.debug(u'showDisplay')
if self.screens.display_count == 1: if self.screens.display_count == 1:
# Only make visible if setting enabled. # Only make visible if setting enabled.
if not QtCore.QSettings().value(u'general/display on monitor', if not Settings().value(u'general/display on monitor',
QtCore.QVariant(True)).toBool(): True):
return return
self.frame.evaluateJavaScript('show_blank("show");') self.frame.evaluateJavaScript('show_blank("show");')
if self.isHidden(): if self.isHidden():
@ -465,8 +463,8 @@ class MainDisplay(Display):
""" """
Hide mouse cursor when moved over display. Hide mouse cursor when moved over display.
""" """
if QtCore.QSettings().value(u'advanced/hide mouse', if Settings().value(u'advanced/hide mouse',
QtCore.QVariant(False)).toBool(): False):
self.setCursor(QtCore.Qt.BlankCursor) self.setCursor(QtCore.Qt.BlankCursor)
self.frame.evaluateJavaScript('document.body.style.cursor = "none"') self.frame.evaluateJavaScript('document.body.style.cursor = "none"')
else: else:

View File

@ -37,7 +37,7 @@ from PyQt4 import QtCore, QtGui
from openlp.core.lib import Renderer, build_icon, OpenLPDockWidget, \ from openlp.core.lib import Renderer, build_icon, OpenLPDockWidget, \
PluginManager, Receiver, translate, ImageManager, PluginStatus PluginManager, Receiver, translate, ImageManager, PluginStatus
from openlp.core.lib.ui import UiStrings, create_action from openlp.core.lib.ui import UiStrings, create_action
from openlp.core.lib import SlideLimits from openlp.core.lib import SlideLimits, Settings
from openlp.core.ui import AboutForm, SettingsForm, ServiceManager, \ from openlp.core.ui import AboutForm, SettingsForm, ServiceManager, \
ThemeManager, SlideController, PluginForm, MediaDockManager, \ ThemeManager, SlideController, PluginForm, MediaDockManager, \
ShortcutListForm, FormattingTagForm ShortcutListForm, FormattingTagForm
@ -99,13 +99,13 @@ class Ui_MainWindow(object):
# Create slide controllers # Create slide controllers
self.previewController = SlideController(self) self.previewController = SlideController(self)
self.liveController = SlideController(self, True) self.liveController = SlideController(self, True)
previewVisible = QtCore.QSettings().value( previewVisible = Settings().value(
u'user interface/preview panel', QtCore.QVariant(True)).toBool() u'user interface/preview panel', True)
self.previewController.panel.setVisible(previewVisible) self.previewController.panel.setVisible(previewVisible)
liveVisible = QtCore.QSettings().value(u'user interface/live panel', liveVisible = Settings().value(u'user interface/live panel',
QtCore.QVariant(True)).toBool() True)
panelLocked = QtCore.QSettings().value(u'user interface/lock panel', panelLocked = Settings().value(u'user interface/lock panel',
QtCore.QVariant(False)).toBool() False)
self.liveController.panel.setVisible(liveVisible) self.liveController.panel.setVisible(liveVisible)
# Create menu # Create menu
self.menuBar = QtGui.QMenuBar(mainWindow) self.menuBar = QtGui.QMenuBar(mainWindow)
@ -684,10 +684,9 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
self.previewController.screenSizeChanged() self.previewController.screenSizeChanged()
self.liveController.screenSizeChanged() self.liveController.screenSizeChanged()
log.info(u'Load data from Settings') log.info(u'Load data from Settings')
if QtCore.QSettings().value(u'advanced/save current plugin', if Settings().value(u'advanced/save current plugin', False):
QtCore.QVariant(False)).toBool(): savedPlugin = Settings().value(
savedPlugin = QtCore.QSettings().value( u'advanced/current media plugin', )
u'advanced/current media plugin', QtCore.QVariant()).toInt()[0]
if savedPlugin != -1: if savedPlugin != -1:
self.mediaToolBox.setCurrentIndex(savedPlugin) self.mediaToolBox.setCurrentIndex(savedPlugin)
self.settingsForm.postSetUp() self.settingsForm.postSetUp()
@ -738,12 +737,12 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
if not isinstance(filename, unicode): if not isinstance(filename, unicode):
filename = unicode(filename, sys.getfilesystemencoding()) filename = unicode(filename, sys.getfilesystemencoding())
self.serviceManagerContents.loadFile(filename) self.serviceManagerContents.loadFile(filename)
elif QtCore.QSettings().value( elif Settings().value(
self.generalSettingsSection + u'/auto open', self.generalSettingsSection + u'/auto open',
QtCore.QVariant(False)).toBool(): False):
self.serviceManagerContents.loadLastFile() self.serviceManagerContents.loadLastFile()
view_mode = QtCore.QSettings().value(u'%s/view mode' % \ view_mode = Settings().value(u'%s/view mode' % \
self.generalSettingsSection, u'default').toString() self.generalSettingsSection, u'default')
if view_mode == u'default': if view_mode == u'default':
self.modeDefaultItem.setChecked(True) self.modeDefaultItem.setChecked(True)
elif view_mode == u'setup': elif view_mode == u'setup':
@ -820,12 +819,12 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
""" """
Check and display message if screen blank on setup. Check and display message if screen blank on setup.
""" """
settings = QtCore.QSettings() settings = Settings()
self.liveController.mainDisplaySetBackground() self.liveController.mainDisplaySetBackground()
if settings.value(u'%s/screen blank' % self.generalSettingsSection, if settings.value(u'%s/screen blank' % self.generalSettingsSection,
QtCore.QVariant(False)).toBool(): False):
if settings.value(u'%s/blank warning' % self.generalSettingsSection, if settings.value(u'%s/blank warning' % self.generalSettingsSection,
QtCore.QVariant(False)).toBool(): False):
QtGui.QMessageBox.question(self, QtGui.QMessageBox.question(self,
translate('OpenLP.MainWindow', translate('OpenLP.MainWindow',
'OpenLP Main Display Blanked'), 'OpenLP Main Display Blanked'),
@ -954,8 +953,8 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
# Add plugin sections. # Add plugin sections.
for plugin in self.pluginManager.plugins: for plugin in self.pluginManager.plugins:
setting_sections.extend([plugin.name]) setting_sections.extend([plugin.name])
settings = QtCore.QSettings() settings = Settings()
import_settings = QtCore.QSettings(import_file_name, import_settings = Settings(import_file_name,
QtCore.QSettings.IniFormat) QtCore.QSettings.IniFormat)
import_keys = import_settings.allKeys() import_keys = import_settings.allKeys()
for section_key in import_keys: for section_key in import_keys:
@ -985,11 +984,10 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
# We have a good file, import it. # We have a good file, import it.
for section_key in import_keys: for section_key in import_keys:
value = import_settings.value(section_key) value = import_settings.value(section_key)
settings.setValue(u'%s' % (section_key), settings.setValue(u'%s' % (section_key), value)
QtCore.QVariant(value))
now = datetime.now() now = datetime.now()
settings.beginGroup(self.headerSection) settings.beginGroup(self.headerSection)
settings.setValue(u'file_imported', QtCore.QVariant(import_file_name)) settings.setValue(u'file_imported', import_file_name)
settings.setValue(u'file_date_imported', settings.setValue(u'file_date_imported',
now.strftime("%Y-%m-%d %H:%M")) now.strftime("%Y-%m-%d %H:%M"))
settings.endGroup() settings.endGroup()
@ -1041,11 +1039,11 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
os.remove(temp_file) os.remove(temp_file)
if os.path.exists(export_file_name): if os.path.exists(export_file_name):
os.remove(export_file_name) os.remove(export_file_name)
settings = QtCore.QSettings() settings = Settings()
settings.remove(self.headerSection) settings.remove(self.headerSection)
# Get the settings. # Get the settings.
keys = settings.allKeys() keys = settings.allKeys()
export_settings = QtCore.QSettings(temp_file, export_settings = Settings(temp_file,
QtCore.QSettings.IniFormat) QtCore.QSettings.IniFormat)
# Add a header section. # Add a header section.
# This is to insure it's our conf file for import. # This is to insure it's our conf file for import.
@ -1104,7 +1102,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
Set OpenLP to a different view mode. Set OpenLP to a different view mode.
""" """
if mode: if mode:
settings = QtCore.QSettings() settings = Settings()
settings.setValue(u'%s/view mode' % self.generalSettingsSection, settings.setValue(u'%s/view mode' % self.generalSettingsSection,
mode) mode)
self.mediaManagerDock.setVisible(media) self.mediaManagerDock.setVisible(media)
@ -1149,8 +1147,8 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
else: else:
event.ignore() event.ignore()
else: else:
if QtCore.QSettings().value(u'advanced/enable exit confirmation', if Settings().value(u'advanced/enable exit confirmation',
QtCore.QVariant(True)).toBool(): True):
ret = QtGui.QMessageBox.question(self, ret = QtGui.QMessageBox.question(self,
translate('OpenLP.MainWindow', 'Close OpenLP'), translate('OpenLP.MainWindow', 'Close OpenLP'),
translate('OpenLP.MainWindow', translate('OpenLP.MainWindow',
@ -1174,10 +1172,10 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
""" """
# Clean temporary files used by services # Clean temporary files used by services
self.serviceManagerContents.cleanUp() self.serviceManagerContents.cleanUp()
if QtCore.QSettings().value(u'advanced/save current plugin', if Settings().value(u'advanced/save current plugin',
QtCore.QVariant(False)).toBool(): False):
QtCore.QSettings().setValue(u'advanced/current media plugin', Settings().setValue(u'advanced/current media plugin',
QtCore.QVariant(self.mediaToolBox.currentIndex())) self.mediaToolBox.currentIndex())
# Call the cleanup method to shutdown plugins. # Call the cleanup method to shutdown plugins.
log.info(u'cleanup plugins') log.info(u'cleanup plugins')
self.pluginManager.finalise_plugins() self.pluginManager.finalise_plugins()
@ -1254,8 +1252,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
False - Hidden False - Hidden
""" """
self.previewController.panel.setVisible(visible) self.previewController.panel.setVisible(visible)
QtCore.QSettings().setValue(u'user interface/preview panel', Settings().setValue(u'user interface/preview panel', visible)
QtCore.QVariant(visible))
self.viewPreviewPanel.setChecked(visible) self.viewPreviewPanel.setChecked(visible)
def setLockPanel(self, lock): def setLockPanel(self, lock):
@ -1286,8 +1283,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
self.viewThemeManagerItem.setEnabled(True) self.viewThemeManagerItem.setEnabled(True)
self.viewPreviewPanel.setEnabled(True) self.viewPreviewPanel.setEnabled(True)
self.viewLivePanel.setEnabled(True) self.viewLivePanel.setEnabled(True)
QtCore.QSettings().setValue(u'user interface/lock panel', Settings().setValue(u'user interface/lock panel', lock)
QtCore.QVariant(lock))
def setLivePanelVisibility(self, visible): def setLivePanelVisibility(self, visible):
""" """
@ -1300,8 +1296,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
False - Hidden False - Hidden
""" """
self.liveController.panel.setVisible(visible) self.liveController.panel.setVisible(visible)
QtCore.QSettings().setValue(u'user interface/live panel', Settings().setValue(u'user interface/live panel', visible)
QtCore.QVariant(visible))
self.viewLivePanel.setChecked(visible) self.viewLivePanel.setChecked(visible)
def loadSettings(self): def loadSettings(self):
@ -1310,19 +1305,19 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
""" """
log.debug(u'Loading QSettings') log.debug(u'Loading QSettings')
# Migrate Wrap Settings to Slide Limits Settings # Migrate Wrap Settings to Slide Limits Settings
if QtCore.QSettings().contains(self.generalSettingsSection + if Settings().contains(self.generalSettingsSection +
u'/enable slide loop'): u'/enable slide loop'):
if QtCore.QSettings().value(self.generalSettingsSection + if Settings().value(self.generalSettingsSection +
u'/enable slide loop', QtCore.QVariant(True)).toBool(): u'/enable slide loop', True):
QtCore.QSettings().setValue(self.advancedSettingsSection + Settings().setValue(self.advancedSettingsSection +
u'/slide limits', QtCore.QVariant(SlideLimits.Wrap)) u'/slide limits', SlideLimits.Wrap)
else: else:
QtCore.QSettings().setValue(self.advancedSettingsSection + Settings().setValue(self.advancedSettingsSection +
u'/slide limits', QtCore.QVariant(SlideLimits.End)) u'/slide limits', SlideLimits.End)
QtCore.QSettings().remove(self.generalSettingsSection + Settings().remove(self.generalSettingsSection +
u'/enable slide loop') u'/enable slide loop')
Receiver.send_message(u'slidecontroller_update_slide_limits') Receiver.send_message(u'slidecontroller_update_slide_limits')
settings = QtCore.QSettings() settings = Settings()
# Remove obsolete entries. # Remove obsolete entries.
settings.remove(u'custom slide') settings.remove(u'custom slide')
settings.remove(u'service') settings.remove(u'service')
@ -1331,7 +1326,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
settings.endGroup() settings.endGroup()
settings.beginGroup(self.uiSettingsSection) settings.beginGroup(self.uiSettingsSection)
self.move(settings.value(u'main window position', self.move(settings.value(u'main window position',
QtCore.QVariant(QtCore.QPoint(0, 0))).toPoint()) QtCore.QPoint(0, 0))).toPoint()
self.restoreGeometry( self.restoreGeometry(
settings.value(u'main window geometry').toByteArray()) settings.value(u'main window geometry').toByteArray())
self.restoreState(settings.value(u'main window state').toByteArray()) self.restoreState(settings.value(u'main window state').toByteArray())
@ -1351,25 +1346,21 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
if self.settingsImported: if self.settingsImported:
return return
log.debug(u'Saving QSettings') log.debug(u'Saving QSettings')
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(self.generalSettingsSection) settings.beginGroup(self.generalSettingsSection)
recentFiles = QtCore.QVariant(self.recentFiles) \ recentFiles = self.recentFiles if self.recentFiles else u''
if self.recentFiles else QtCore.QVariant()
settings.setValue(u'recent files', recentFiles) settings.setValue(u'recent files', recentFiles)
settings.endGroup() settings.endGroup()
settings.beginGroup(self.uiSettingsSection) settings.beginGroup(self.uiSettingsSection)
settings.setValue(u'main window position', settings.setValue(u'main window position', self.pos())
QtCore.QVariant(self.pos())) settings.setValue(u'main window state', self.saveState())
settings.setValue(u'main window state', settings.setValue(u'main window geometry', self.saveGeometry())
QtCore.QVariant(self.saveState()))
settings.setValue(u'main window geometry',
QtCore.QVariant(self.saveGeometry()))
settings.setValue(u'live splitter geometry', settings.setValue(u'live splitter geometry',
QtCore.QVariant(self.liveController.splitter.saveState())) self.liveController.splitter.saveState())
settings.setValue(u'preview splitter geometry', settings.setValue(u'preview splitter geometry',
QtCore.QVariant(self.previewController.splitter.saveState())) self.previewController.splitter.saveState())
settings.setValue(u'mainwindow splitter geometry', settings.setValue(u'mainwindow splitter geometry',
QtCore.QVariant(self.controlSplitter.saveState())) self.controlSplitter.saveState())
settings.endGroup() settings.endGroup()
def updateRecentFilesMenu(self): def updateRecentFilesMenu(self):
@ -1377,8 +1368,8 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
Updates the recent file menu with the latest list of service files Updates the recent file menu with the latest list of service files
accessed. accessed.
""" """
recentFileCount = QtCore.QSettings().value( recentFileCount = Settings().value(
u'advanced/recent file count', QtCore.QVariant(4)).toInt()[0] u'advanced/recent file count', 4)
existingRecentFiles = [recentFile for recentFile in self.recentFiles existingRecentFiles = [recentFile for recentFile in self.recentFiles
if os.path.isfile(unicode(recentFile))] if os.path.isfile(unicode(recentFile))]
recentFilesToDisplay = existingRecentFiles[0:recentFileCount] recentFilesToDisplay = existingRecentFiles[0:recentFileCount]
@ -1410,8 +1401,8 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
# The maxRecentFiles value does not have an interface and so never gets # The maxRecentFiles value does not have an interface and so never gets
# actually stored in the settings therefore the default value of 20 will # actually stored in the settings therefore the default value of 20 will
# always be used. # always be used.
maxRecentFiles = QtCore.QSettings().value(u'advanced/max recent files', maxRecentFiles = Settings().value(
QtCore.QVariant(20)).toInt()[0] u'advanced/max recent files', 20)
if filename: if filename:
# Add some cleanup to reduce duplication in the recent file list # Add some cleanup to reduce duplication in the recent file list
filename = os.path.abspath(filename) filename = os.path.abspath(filename)
@ -1422,7 +1413,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
position = self.recentFiles.indexOf(filename) position = self.recentFiles.indexOf(filename)
if position != -1: if position != -1:
self.recentFiles.removeAt(position) self.recentFiles.removeAt(position)
self.recentFiles.insert(0, QtCore.QString(filename)) self.recentFiles.insert(0, filename)
while self.recentFiles.count() > maxRecentFiles: while self.recentFiles.count() > maxRecentFiles:
# Don't care what API says takeLast works, removeLast doesn't! # Don't care what API says takeLast works, removeLast doesn't!
self.recentFiles.takeLast() self.recentFiles.takeLast()

View File

@ -26,6 +26,8 @@
############################################################################### ###############################################################################
import logging import logging
from openlp.core.lib import Settings
from PyQt4 import QtCore from PyQt4 import QtCore
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@ -78,12 +80,12 @@ def get_media_players():
Here an special media player is chosen for all media actions. Here an special media player is chosen for all media actions.
""" """
log.debug(u'get_media_players') log.debug(u'get_media_players')
players = unicode(QtCore.QSettings().value(u'media/players').toString()) players = Settings().value(u'media/players')
if not players: if not players:
players = u'webkit' players = u'webkit'
reg_ex = QtCore.QRegExp(".*\[(.*)\].*") reg_ex = QtCore.QRegExp(".*\[(.*)\].*")
if QtCore.QSettings().value(u'media/override player', if Settings().value(u'media/override player',
QtCore.QVariant(QtCore.Qt.Unchecked)).toInt()[0] == QtCore.Qt.Checked: QtCore.Qt.Unchecked) == QtCore.Qt.Checked:
if reg_ex.exactMatch(players): if reg_ex.exactMatch(players):
overridden_player = u'%s' % reg_ex.cap(1) overridden_player = u'%s' % reg_ex.cap(1)
else: else:
@ -107,10 +109,10 @@ def set_media_players(players_list, overridden_player=u'auto'):
""" """
log.debug(u'set_media_players') log.debug(u'set_media_players')
players = u','.join(players_list) players = u','.join(players_list)
if QtCore.QSettings().value(u'media/override player', if Settings().value(u'media/override player',
QtCore.QVariant(QtCore.Qt.Unchecked)).toInt()[0] == \ QtCore.Qt.Unchecked) == QtCore.Qt.Checked and \
QtCore.Qt.Checked and overridden_player != u'auto': overridden_player != u'auto':
players = players.replace(overridden_player, u'[%s]' % overridden_player) players = players.replace(overridden_player, u'[%s]' % overridden_player)
QtCore.QSettings().setValue(u'media/players', QtCore.QVariant(players)) Settings().setValue(u'media/players', players)
from mediacontroller import MediaController from mediacontroller import MediaController

View File

@ -332,9 +332,8 @@ class MediaController(object):
display.frame.evaluateJavaScript(u'show_video( \ display.frame.evaluateJavaScript(u'show_video( \
"setBackBoard", null, null, null,"visible");') "setBackBoard", null, null, null,"visible");')
# now start playing # now start playing
if controller.isLive and \ if controller.isLive and (Settings().value(
(QtCore.QSettings().value(u'general/auto unblank', u'general/auto unblank', False) or
QtCore.QVariant(False)).toBool() or \
controller.media_info.is_background == True) or \ controller.media_info.is_background == True) or \
controller.isLive == False: controller.isLive == False:
if not self.video_play([controller]): if not self.video_play([controller]):

View File

@ -33,7 +33,7 @@ import sys
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import Receiver from openlp.core.lib import Receiver, Settings
from openlp.core.lib.mediaplayer import MediaPlayer from openlp.core.lib.mediaplayer import MediaPlayer
from openlp.core.ui.media import MediaState from openlp.core.ui.media import MediaState
@ -114,8 +114,7 @@ class VlcPlayer(MediaPlayer):
command_line_options = u'--no-video-title-show' command_line_options = u'--no-video-title-show'
if not display.hasAudio: if not display.hasAudio:
command_line_options += u' --no-audio --no-video-title-show' command_line_options += u' --no-audio --no-video-title-show'
if QtCore.QSettings().value(u'advanced/hide mouse', if Settings().value(u'advanced/hide mouse', False) and \
QtCore.QVariant(False)).toBool() and \
display.controller.isLive: display.controller.isLive:
command_line_options += u' --mouse-hide-timeout=0' command_line_options += u' --mouse-hide-timeout=0'
display.vlcInstance = vlc.Instance(command_line_options) display.vlcInstance = vlc.Instance(command_line_options)

View File

@ -31,7 +31,7 @@ import os
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from lxml import html from lxml import html
from openlp.core.lib import translate, get_text_file_string, Receiver from openlp.core.lib import translate, get_text_file_string, Receiver, Settings
from openlp.core.lib.ui import UiStrings from openlp.core.lib.ui import UiStrings
from openlp.core.ui.printservicedialog import Ui_PrintServiceDialog, ZoomSize from openlp.core.ui.printservicedialog import Ui_PrintServiceDialog, ZoomSize
from openlp.core.utils import AppLocation from openlp.core.utils import AppLocation
@ -120,20 +120,18 @@ class PrintServiceForm(QtGui.QDialog, Ui_PrintServiceDialog):
self.zoom = 0 self.zoom = 0
self.setupUi(self) self.setupUi(self)
# Load the settings for the dialog. # Load the settings for the dialog.
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(u'advanced') settings.beginGroup(u'advanced')
self.slideTextCheckBox.setChecked(settings.value( self.slideTextCheckBox.setChecked(settings.value(
u'print slide text', QtCore.QVariant(False)).toBool()) u'print slide text', False))
self.pageBreakAfterText.setChecked(settings.value( self.pageBreakAfterText.setChecked(settings.value(
u'add page break', QtCore.QVariant(False)).toBool()) u'add page break', False))
if not self.slideTextCheckBox.isChecked(): if not self.slideTextCheckBox.isChecked():
self.pageBreakAfterText.setDisabled(True) self.pageBreakAfterText.setDisabled(True)
self.metaDataCheckBox.setChecked(settings.value( self.metaDataCheckBox.setChecked(settings.value(
u'print file meta data', QtCore.QVariant(False)).toBool()) u'print file meta data', False))
self.notesCheckBox.setChecked(settings.value( self.notesCheckBox.setChecked(settings.value(u'print notes', False))
u'print notes', QtCore.QVariant(False)).toBool()) self.zoomComboBox.setCurrentIndex(settings.value(u'display size', 0))
self.zoomComboBox.setCurrentIndex(settings.value(
u'display size', QtCore.QVariant(0)).toInt()[0])
settings.endGroup() settings.endGroup()
# Signals # Signals
QtCore.QObject.connect(self.printButton, QtCore.QObject.connect(self.printButton,
@ -318,9 +316,9 @@ class PrintServiceForm(QtGui.QDialog, Ui_PrintServiceDialog):
elif display == ZoomSize.TwentyFive: elif display == ZoomSize.TwentyFive:
self.previewWidget.fitToWidth() self.previewWidget.fitToWidth()
self.previewWidget.zoomIn(0.25) self.previewWidget.zoomIn(0.25)
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(u'advanced') settings.beginGroup(u'advanced')
settings.setValue(u'display size', QtCore.QVariant(display)) settings.setValue(u'display size', display)
settings.endGroup() settings.endGroup()
def copyText(self): def copyText(self):
@ -389,16 +387,15 @@ class PrintServiceForm(QtGui.QDialog, Ui_PrintServiceDialog):
Save the settings and close the dialog. Save the settings and close the dialog.
""" """
# Save the settings for this dialog. # Save the settings for this dialog.
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(u'advanced') settings.beginGroup(u'advanced')
settings.setValue(u'print slide text', settings.setValue(u'print slide text',
QtCore.QVariant(self.slideTextCheckBox.isChecked())) self.slideTextCheckBox.isChecked())
settings.setValue(u'add page break', settings.setValue(u'add page break',
QtCore.QVariant(self.pageBreakAfterText.isChecked())) self.pageBreakAfterText.isChecked())
settings.setValue(u'print file meta data', settings.setValue(u'print file meta data',
QtCore.QVariant(self.metaDataCheckBox.isChecked())) self.metaDataCheckBox.isChecked())
settings.setValue(u'print notes', settings.setValue(u'print notes', self.notesCheckBox.isChecked())
QtCore.QVariant(self.notesCheckBox.isChecked()))
settings.endGroup() settings.endGroup()
def update_song_usage(self): def update_song_usage(self):

View File

@ -33,7 +33,7 @@ import copy
from PyQt4 import QtCore from PyQt4 import QtCore
from openlp.core.lib import Receiver, translate from openlp.core.lib import Receiver, translate, Settings
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@ -241,22 +241,16 @@ class ScreenList(object):
""" """
Loads the screen size and the monitor number from the settings. Loads the screen size and the monitor number from the settings.
""" """
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(u'general') settings.beginGroup(u'general')
self.set_current_display(settings.value(u'monitor', self.set_current_display(settings.value(u'monitor',
QtCore.QVariant(self.display_count - 1)).toInt()[0]) self.display_count - 1))
self.display = settings.value( self.display = settings.value(u'display on monitor', True)
u'display on monitor', QtCore.QVariant(True)).toBool() override_display = settings.value(u'override position', False)
override_display = settings.value( x = settings.value(u'x position', self.current[u'size'].x())
u'override position', QtCore.QVariant(False)).toBool() y = settings.value(u'y position', self.current[u'size'].y())
x = settings.value(u'x position', width = settings.value(u'width', self.current[u'size'].width())
QtCore.QVariant(self.current[u'size'].x())).toInt()[0] height = settings.value(u'height', self.current[u'size'].height())
y = settings.value(u'y position',
QtCore.QVariant(self.current[u'size'].y())).toInt()[0]
width = settings.value(u'width',
QtCore.QVariant(self.current[u'size'].width())).toInt()[0]
height = settings.value(u'height',
QtCore.QVariant(self.current[u'size'].height())).toInt()[0]
self.override[u'size'] = QtCore.QRect(x, y, width, height) self.override[u'size'] = QtCore.QRect(x, y, width, height)
self.override[u'primary'] = False self.override[u'primary'] = False
settings.endGroup() settings.endGroup()

View File

@ -38,7 +38,7 @@ log = logging.getLogger(__name__)
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import OpenLPToolbar, ServiceItem, Receiver, build_icon, \ from openlp.core.lib import OpenLPToolbar, ServiceItem, Receiver, build_icon, \
ItemCapabilities, SettingsManager, translate, str_to_bool ItemCapabilities, SettingsManager, translate, str_to_bool, Settings
from openlp.core.lib.theme import ThemeLevel from openlp.core.lib.theme import ThemeLevel
from openlp.core.lib.ui import UiStrings, critical_error_message_box, \ from openlp.core.lib.ui import UiStrings, critical_error_message_box, \
create_widget_action, find_and_set_in_combo_box create_widget_action, find_and_set_in_combo_box
@ -274,9 +274,9 @@ class ServiceManager(QtGui.QWidget):
QtCore.QObject.connect(Receiver.get_receiver(), QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'service_item_update'), self.serviceItemUpdate) QtCore.SIGNAL(u'service_item_update'), self.serviceItemUpdate)
# Last little bits of setting up # Last little bits of setting up
self.service_theme = unicode(QtCore.QSettings().value( self.service_theme = unicode(Settings().value(
self.mainwindow.serviceManagerSettingsSection + u'/service theme', self.mainwindow.serviceManagerSettingsSection + u'/service theme',
QtCore.QVariant(u'')).toString()) u''))
self.servicePath = AppLocation.get_section_data_path(u'servicemanager') self.servicePath = AppLocation.get_section_data_path(u'servicemanager')
# build the drag and drop context menu # build the drag and drop context menu
self.dndMenu = QtGui.QMenu() self.dndMenu = QtGui.QMenu()
@ -350,10 +350,9 @@ class ServiceManager(QtGui.QWidget):
Setter for service file. Setter for service file.
""" """
self._fileName = unicode(fileName) self._fileName = unicode(fileName)
self.mainwindow.setServiceModified(self.isModified(), self.mainwindow.setServiceModified(
self.shortFileName()) self.isModified(), self.shortFileName())
QtCore.QSettings(). \ Settings().setValue(u'servicemanager/last file', fileName)
setValue(u'servicemanager/last file',QtCore.QVariant(fileName))
def fileName(self): def fileName(self):
""" """
@ -371,9 +370,8 @@ class ServiceManager(QtGui.QWidget):
""" """
Triggered when Config dialog is updated. Triggered when Config dialog is updated.
""" """
self.expandTabs = QtCore.QSettings().value( self.expandTabs = Settings().value(
u'advanced/expand service item', u'advanced/expand service item', False)
QtCore.QVariant(u'False')).toBool()
def supportedSuffixes(self, suffix): def supportedSuffixes(self, suffix):
self.suffixes.append(suffix) self.suffixes.append(suffix)
@ -433,7 +431,7 @@ class ServiceManager(QtGui.QWidget):
def onRecentServiceClicked(self): def onRecentServiceClicked(self):
sender = self.sender() sender = self.sender()
self.loadFile(sender.data().toString()) self.loadFile(sender.data())
def newFile(self): def newFile(self):
""" """
@ -444,8 +442,7 @@ class ServiceManager(QtGui.QWidget):
self.setFileName(u'') self.setFileName(u'')
self.serviceId += 1 self.serviceId += 1
self.setModified(False) self.setModified(False)
QtCore.QSettings(). \ Settings().setValue(u'servicemanager/last file', u'')
setValue(u'servicemanager/last file',QtCore.QVariant(u''))
Receiver.send_message(u'servicemanager_new_service') Receiver.send_message(u'servicemanager_new_service')
def saveFile(self): def saveFile(self):
@ -593,17 +590,17 @@ class ServiceManager(QtGui.QWidget):
Get a file name and then call :func:`ServiceManager.saveFile` to Get a file name and then call :func:`ServiceManager.saveFile` to
save the file. save the file.
""" """
default_service_enabled = QtCore.QSettings().value( default_service_enabled = Settings().value(
u'advanced/default service enabled', QtCore.QVariant(True)).toBool() u'advanced/default service enabled', True)
if default_service_enabled: if default_service_enabled:
service_day = QtCore.QSettings().value( service_day = Settings().value(
u'advanced/default service day', 7).toInt()[0] u'advanced/default service day', 7).toInt()[0]
if service_day == 7: if service_day == 7:
time = datetime.now() time = datetime.now()
else: else:
service_hour = QtCore.QSettings().value( service_hour = Settings().value(
u'advanced/default service hour', 11).toInt()[0] u'advanced/default service hour', 11).toInt()[0]
service_minute = QtCore.QSettings().value( service_minute = Settings().value(
u'advanced/default service minute', 0).toInt()[0] u'advanced/default service minute', 0).toInt()[0]
now = datetime.now() now = datetime.now()
day_delta = service_day - now.weekday() day_delta = service_day - now.weekday()
@ -611,13 +608,13 @@ class ServiceManager(QtGui.QWidget):
day_delta += 7 day_delta += 7
time = now + timedelta(days=day_delta) time = now + timedelta(days=day_delta)
time = time.replace(hour=service_hour, minute=service_minute) time = time.replace(hour=service_hour, minute=service_minute)
default_pattern = unicode(QtCore.QSettings().value( default_pattern = unicode(Settings().value(
u'advanced/default service name', u'advanced/default service name',
translate('OpenLP.AdvancedTab', 'Service %Y-%m-%d %H-%M', translate('OpenLP.AdvancedTab', 'Service %Y-%m-%d %H-%M',
'This may not contain any of the following characters: ' 'This may not contain any of the following characters: '
'/\\?*|<>\[\]":+\nSee http://docs.python.org/library/' '/\\?*|<>\[\]":+\nSee http://docs.python.org/library/'
'datetime.html#strftime-strptime-behavior for more ' 'datetime.html#strftime-strptime-behavior for more '
'information.')).toString()) 'information.')))
default_filename = time.strftime(default_pattern) default_filename = time.strftime(default_pattern)
else: else:
default_filename = u'' default_filename = u''
@ -692,8 +689,8 @@ class ServiceManager(QtGui.QWidget):
self.setFileName(fileName) self.setFileName(fileName)
self.mainwindow.addRecentFile(fileName) self.mainwindow.addRecentFile(fileName)
self.setModified(False) self.setModified(False)
QtCore.QSettings().setValue( Settings().setValue(
'servicemanager/last file', QtCore.QVariant(fileName)) 'servicemanager/last file', fileName)
else: else:
critical_error_message_box( critical_error_message_box(
message=translate('OpenLP.ServiceManager', message=translate('OpenLP.ServiceManager',
@ -734,8 +731,7 @@ class ServiceManager(QtGui.QWidget):
service was last closed. Can be blank if there was no service service was last closed. Can be blank if there was no service
present. present.
""" """
fileName = QtCore.QSettings(). \ fileName = Settings().value(u'servicemanager/last file', u'')
value(u'servicemanager/last file',QtCore.QVariant(u'')).toString()
if fileName: if fileName:
self.loadFile(fileName) self.loadFile(fileName)
@ -1062,15 +1058,14 @@ class ServiceManager(QtGui.QWidget):
.is_capable(ItemCapabilities.HasVariableStartTime): .is_capable(ItemCapabilities.HasVariableStartTime):
tips.append(item[u'service_item'].get_media_time()) tips.append(item[u'service_item'].get_media_time())
treewidgetitem.setToolTip(0, u'<br>'.join(tips)) treewidgetitem.setToolTip(0, u'<br>'.join(tips))
treewidgetitem.setData(0, QtCore.Qt.UserRole, treewidgetitem.setData(0, QtCore.Qt.UserRole, item[u'order'])
QtCore.QVariant(item[u'order']))
treewidgetitem.setSelected(item[u'selected']) treewidgetitem.setSelected(item[u'selected'])
# Add the children to their parent treewidgetitem. # Add the children to their parent treewidgetitem.
for count, frame in enumerate(serviceitem.get_frames()): for count, frame in enumerate(serviceitem.get_frames()):
child = QtGui.QTreeWidgetItem(treewidgetitem) child = QtGui.QTreeWidgetItem(treewidgetitem)
text = frame[u'title'].replace(u'\n', u' ') text = frame[u'title'].replace(u'\n', u' ')
child.setText(0, text[:40]) child.setText(0, text[:40])
child.setData(0, QtCore.Qt.UserRole, QtCore.QVariant(count)) child.setData(0, QtCore.Qt.UserRole, count)
if serviceItem == itemcount: if serviceItem == itemcount:
if item[u'expanded'] and serviceItemChild == count: if item[u'expanded'] and serviceItemChild == count:
self.serviceManagerList.setCurrentItem(child) self.serviceManagerList.setCurrentItem(child)
@ -1106,10 +1101,9 @@ class ServiceManager(QtGui.QWidget):
log.debug(u'onThemeComboBoxSelected') log.debug(u'onThemeComboBoxSelected')
self.service_theme = unicode(self.themeComboBox.currentText()) self.service_theme = unicode(self.themeComboBox.currentText())
self.mainwindow.renderer.set_service_theme(self.service_theme) self.mainwindow.renderer.set_service_theme(self.service_theme)
QtCore.QSettings().setValue( Settings().setValue(
self.mainwindow.serviceManagerSettingsSection + self.mainwindow.serviceManagerSettingsSection +
u'/service theme', u'/service theme', self.service_theme)
QtCore.QVariant(self.service_theme))
self.regenerateServiceItems(True) self.regenerateServiceItems(True)
def themeChange(self): def themeChange(self):
@ -1287,9 +1281,9 @@ class ServiceManager(QtGui.QWidget):
if self.serviceItems[item][u'service_item'].is_valid: if self.serviceItems[item][u'service_item'].is_valid:
self.mainwindow.liveController.addServiceManagerItem( self.mainwindow.liveController.addServiceManagerItem(
self.serviceItems[item][u'service_item'], child) self.serviceItems[item][u'service_item'], child)
if QtCore.QSettings().value( if Settings().value(
self.mainwindow.generalSettingsSection + u'/auto preview', self.mainwindow.generalSettingsSection + u'/auto preview',
QtCore.QVariant(False)).toBool(): False):
item += 1 item += 1
if self.serviceItems and item < len(self.serviceItems) and \ if self.serviceItems and item < len(self.serviceItems) and \
self.serviceItems[item][u'service_item'].is_capable( self.serviceItems[item][u'service_item'].is_capable(

View File

@ -30,7 +30,7 @@ import re
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import Receiver from openlp.core.lib import Receiver, Settings
from openlp.core.utils import translate from openlp.core.utils import translate
from openlp.core.utils.actions import ActionList from openlp.core.utils.actions import ActionList
from shortcutlistdialog import Ui_ShortcutListDialog from shortcutlistdialog import Ui_ShortcutListDialog
@ -131,8 +131,7 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog):
actionText = REMOVE_AMPERSAND.sub('', unicode(action.text())) actionText = REMOVE_AMPERSAND.sub('', unicode(action.text()))
actionItem = QtGui.QTreeWidgetItem([actionText]) actionItem = QtGui.QTreeWidgetItem([actionText])
actionItem.setIcon(0, action.icon()) actionItem.setIcon(0, action.icon())
actionItem.setData(0, actionItem.setData(0, QtCore.Qt.UserRole, action)
QtCore.Qt.UserRole, QtCore.QVariant(action))
item.addChild(actionItem) item.addChild(actionItem)
self.treeWidget.addTopLevelItem(item) self.treeWidget.addTopLevelItem(item)
item.setExpanded(True) item.setExpanded(True)
@ -337,7 +336,7 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog):
Save the shortcuts. **Note**, that we do not have to load the shortcuts, Save the shortcuts. **Note**, that we do not have to load the shortcuts,
as they are loaded in :class:`~openlp.core.utils.ActionList`. as they are loaded in :class:`~openlp.core.utils.ActionList`.
""" """
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(u'shortcuts') settings.beginGroup(u'shortcuts')
for category in self.action_list.categories: for category in self.action_list.categories:
# Check if the category is for internal use only. # Check if the category is for internal use only.
@ -349,8 +348,7 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog):
map(QtGui.QKeySequence.toString, action.shortcuts())) map(QtGui.QKeySequence.toString, action.shortcuts()))
action.setShortcuts(self.changedActions[action]) action.setShortcuts(self.changedActions[action])
self.action_list.update_shortcut_map(action, old_shortcuts) self.action_list.update_shortcut_map(action, old_shortcuts)
settings.setValue( settings.setValue(action.objectName(), action.shortcuts())
action.objectName(), QtCore.QVariant(action.shortcuts()))
settings.endGroup() settings.endGroup()
def onClearPrimaryButtonClicked(self, toggled): def onClearPrimaryButtonClicked(self, toggled):

View File

@ -35,7 +35,7 @@ from PyQt4 import QtCore, QtGui
from openlp.core.lib import OpenLPToolbar, Receiver, ItemCapabilities, \ from openlp.core.lib import OpenLPToolbar, Receiver, ItemCapabilities, \
translate, build_icon, build_html, PluginManager, ServiceItem translate, build_icon, build_html, PluginManager, ServiceItem
from openlp.core.lib.ui import UiStrings, create_action from openlp.core.lib.ui import UiStrings, create_action
from openlp.core.lib import SlideLimits, ServiceItemAction from openlp.core.lib import SlideLimits, ServiceItemAction, Settings
from openlp.core.ui import HideMode, MainDisplay, Display, ScreenList from openlp.core.ui import HideMode, MainDisplay, Display, ScreenList
from openlp.core.utils.actions import ActionList, CategoryOrder from openlp.core.utils.actions import ActionList, CategoryOrder
@ -236,8 +236,8 @@ class SlideController(Controller):
text=UiStrings().PlaySlidesToEnd, text=UiStrings().PlaySlidesToEnd,
icon=u':/media/media_time.png', checked=False, shortcuts=[], icon=u':/media/media_time.png', checked=False, shortcuts=[],
category=self.category, triggers=self.onPlaySlidesOnce) category=self.category, triggers=self.onPlaySlidesOnce)
if QtCore.QSettings().value(self.parent().generalSettingsSection + if Settings().value(self.parent().generalSettingsSection +
u'/enable slide loop', QtCore.QVariant(True)).toBool(): u'/enable slide loop', True):
self.playSlidesMenu.setDefaultAction(self.playSlidesLoop) self.playSlidesMenu.setDefaultAction(self.playSlidesLoop)
else: else:
self.playSlidesMenu.setDefaultAction(self.playSlidesOnce) self.playSlidesMenu.setDefaultAction(self.playSlidesOnce)
@ -662,9 +662,9 @@ class SlideController(Controller):
""" """
Updates the Slide Limits variable from the settings. Updates the Slide Limits variable from the settings.
""" """
self.slide_limits = QtCore.QSettings().value( self.slide_limits = Settings().value(
self.parent().advancedSettingsSection + u'/slide limits', self.parent().advancedSettingsSection + u'/slide limits',
QtCore.QVariant(SlideLimits.End)).toInt()[0] SlideLimits.End)
def enableToolBar(self, item): def enableToolBar(self, item):
""" """
@ -692,9 +692,9 @@ class SlideController(Controller):
self.playSlidesLoop.setChecked(False) self.playSlidesLoop.setChecked(False)
self.playSlidesLoop.setIcon(build_icon(u':/media/media_time.png')) self.playSlidesLoop.setIcon(build_icon(u':/media/media_time.png'))
if item.is_text(): if item.is_text():
if QtCore.QSettings().value( if Settings().value(
self.parent().songsSettingsSection + u'/display songbar', self.parent().songsSettingsSection + u'/display songbar',
QtCore.QVariant(True)).toBool() and self.slideList: True) and self.slideList:
self.songMenu.show() self.songMenu.show()
if item.is_capable(ItemCapabilities.CanLoop) and \ if item.is_capable(ItemCapabilities.CanLoop) and \
len(item.get_frames()) > 1: len(item.get_frames()) > 1:
@ -813,14 +813,14 @@ class SlideController(Controller):
QtCore.QObject.connect(action, QtCore.QObject.connect(action,
QtCore.SIGNAL(u'triggered(bool)'), QtCore.SIGNAL(u'triggered(bool)'),
self.onTrackTriggered) self.onTrackTriggered)
self.display.audioPlayer.repeat = QtCore.QSettings().value( self.display.audioPlayer.repeat = Settings().value(
self.parent().generalSettingsSection + \ self.parent().generalSettingsSection + \
u'/audio repeat list', u'/audio repeat list',
QtCore.QVariant(False)).toBool() False)
if QtCore.QSettings().value( if Settings().value(
self.parent().generalSettingsSection + \ self.parent().generalSettingsSection + \
u'/audio start paused', u'/audio start paused',
QtCore.QVariant(True)).toBool(): True):
self.audioPauseItem.setChecked(True) self.audioPauseItem.setChecked(True)
self.display.audioPlayer.pause() self.display.audioPlayer.pause()
else: else:
@ -930,9 +930,8 @@ class SlideController(Controller):
Allow the main display to blank the main display at startup time Allow the main display to blank the main display at startup time
""" """
log.debug(u'mainDisplaySetBackground live = %s' % self.isLive) log.debug(u'mainDisplaySetBackground live = %s' % self.isLive)
display_type = QtCore.QSettings().value( display_type = Settings().value(
self.parent().generalSettingsSection + u'/screen blank', self.parent().generalSettingsSection + u'/screen blank', u'')
QtCore.QVariant(u'')).toString()
if self.screens.which_screen(self.window()) != \ if self.screens.which_screen(self.window()) != \
self.screens.which_screen(self.display): self.screens.which_screen(self.display):
# Order done to handle initial conversion # Order done to handle initial conversion
@ -971,11 +970,11 @@ class SlideController(Controller):
self.themeScreen.setChecked(False) self.themeScreen.setChecked(False)
self.desktopScreen.setChecked(False) self.desktopScreen.setChecked(False)
if checked: if checked:
QtCore.QSettings().setValue( Settings().setValue(
self.parent().generalSettingsSection + u'/screen blank', self.parent().generalSettingsSection + u'/screen blank',
QtCore.QVariant(u'blanked')) u'blanked')
else: else:
QtCore.QSettings().remove( Settings().remove(
self.parent().generalSettingsSection + u'/screen blank') self.parent().generalSettingsSection + u'/screen blank')
self.blankPlugin() self.blankPlugin()
self.updatePreview() self.updatePreview()
@ -992,11 +991,11 @@ class SlideController(Controller):
self.themeScreen.setChecked(checked) self.themeScreen.setChecked(checked)
self.desktopScreen.setChecked(False) self.desktopScreen.setChecked(False)
if checked: if checked:
QtCore.QSettings().setValue( Settings().setValue(
self.parent().generalSettingsSection + u'/screen blank', self.parent().generalSettingsSection + u'/screen blank',
QtCore.QVariant(u'themed')) u'themed')
else: else:
QtCore.QSettings().remove( Settings().remove(
self.parent().generalSettingsSection + u'/screen blank') self.parent().generalSettingsSection + u'/screen blank')
self.blankPlugin() self.blankPlugin()
self.updatePreview() self.updatePreview()
@ -1013,11 +1012,11 @@ class SlideController(Controller):
self.themeScreen.setChecked(False) self.themeScreen.setChecked(False)
self.desktopScreen.setChecked(checked) self.desktopScreen.setChecked(checked)
if checked: if checked:
QtCore.QSettings().setValue( Settings().setValue(
self.parent().generalSettingsSection + u'/screen blank', self.parent().generalSettingsSection + u'/screen blank',
QtCore.QVariant(u'hidden')) u'hidden')
else: else:
QtCore.QSettings().remove( Settings().remove(
self.parent().generalSettingsSection + u'/screen blank') self.parent().generalSettingsSection + u'/screen blank')
self.hidePlugin(checked) self.hidePlugin(checked)
self.updatePreview() self.updatePreview()
@ -1311,8 +1310,8 @@ class SlideController(Controller):
""" """
triggered by clicking the Preview slide items triggered by clicking the Preview slide items
""" """
if QtCore.QSettings().value(u'advanced/double click live', if Settings().value(u'advanced/double click live',
QtCore.QVariant(False)).toBool(): False):
# Live and Preview have issues if we have video or presentations # Live and Preview have issues if we have video or presentations
# playing in both at the same time. # playing in both at the same time.
if self.serviceItem.is_command(): if self.serviceItem.is_command():
@ -1397,5 +1396,4 @@ class SlideController(Controller):
def onTrackTriggered(self): def onTrackTriggered(self):
action = self.sender() action = self.sender()
index = action.data().toInt()[0] self.display.audioPlayer.goTo(action.data())
self.display.audioPlayer.goTo(index)

View File

@ -351,37 +351,37 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard):
BackgroundType.to_string(BackgroundType.Solid): BackgroundType.to_string(BackgroundType.Solid):
self.colorButton.setStyleSheet(u'background-color: %s' % self.colorButton.setStyleSheet(u'background-color: %s' %
self.theme.background_color) self.theme.background_color)
self.setField(u'background_type', QtCore.QVariant(0)) self.setField(u'background_type', 0)
elif self.theme.background_type == \ elif self.theme.background_type == \
BackgroundType.to_string(BackgroundType.Gradient): BackgroundType.to_string(BackgroundType.Gradient):
self.gradientStartButton.setStyleSheet(u'background-color: %s' % self.gradientStartButton.setStyleSheet(u'background-color: %s' %
self.theme.background_start_color) self.theme.background_start_color)
self.gradientEndButton.setStyleSheet(u'background-color: %s' % self.gradientEndButton.setStyleSheet(u'background-color: %s' %
self.theme.background_end_color) self.theme.background_end_color)
self.setField(u'background_type', QtCore.QVariant(1)) self.setField(u'background_type', 1)
elif self.theme.background_type == \ elif self.theme.background_type == \
BackgroundType.to_string(BackgroundType.Image): BackgroundType.to_string(BackgroundType.Image):
self.imageColorButton.setStyleSheet(u'background-color: %s' % self.imageColorButton.setStyleSheet(u'background-color: %s' %
self.theme.background_border_color) self.theme.background_border_color)
self.imageFileEdit.setText(self.theme.background_filename) self.imageFileEdit.setText(self.theme.background_filename)
self.setField(u'background_type', QtCore.QVariant(2)) self.setField(u'background_type', 2)
elif self.theme.background_type == \ elif self.theme.background_type == \
BackgroundType.to_string(BackgroundType.Transparent): BackgroundType.to_string(BackgroundType.Transparent):
self.setField(u'background_type', QtCore.QVariant(3)) self.setField(u'background_type', 3)
if self.theme.background_direction == \ if self.theme.background_direction == \
BackgroundGradientType.to_string(BackgroundGradientType.Horizontal): BackgroundGradientType.to_string(BackgroundGradientType.Horizontal):
self.setField(u'gradient', QtCore.QVariant(0)) self.setField(u'gradient', 0)
elif self.theme.background_direction == \ elif self.theme.background_direction == \
BackgroundGradientType.to_string(BackgroundGradientType.Vertical): BackgroundGradientType.to_string(BackgroundGradientType.Vertical):
self.setField(u'gradient', QtCore.QVariant(1)) self.setField(u'gradient', 1)
elif self.theme.background_direction == \ elif self.theme.background_direction == \
BackgroundGradientType.to_string(BackgroundGradientType.Circular): BackgroundGradientType.to_string(BackgroundGradientType.Circular):
self.setField(u'gradient', QtCore.QVariant(2)) self.setField(u'gradient', 2)
elif self.theme.background_direction == \ elif self.theme.background_direction == \
BackgroundGradientType.to_string(BackgroundGradientType.LeftTop): BackgroundGradientType.to_string(BackgroundGradientType.LeftTop):
self.setField(u'gradient', QtCore.QVariant(3)) self.setField(u'gradient', 3)
else: else:
self.setField(u'gradient', QtCore.QVariant(4)) self.setField(u'gradient', 4)
def setMainAreaPageValues(self): def setMainAreaPageValues(self):
""" """
@ -391,26 +391,19 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard):
QtGui.QFont(self.theme.font_main_name)) QtGui.QFont(self.theme.font_main_name))
self.mainColorButton.setStyleSheet(u'background-color: %s' % self.mainColorButton.setStyleSheet(u'background-color: %s' %
self.theme.font_main_color) self.theme.font_main_color)
self.setField(u'mainSizeSpinBox', self.setField(u'mainSizeSpinBox', self.theme.font_main_size)
QtCore.QVariant(self.theme.font_main_size))
self.setField(u'lineSpacingSpinBox', self.setField(u'lineSpacingSpinBox',
QtCore.QVariant(self.theme.font_main_line_adjustment)) self.theme.font_main_line_adjustment)
self.setField(u'outlineCheckBox', self.setField(u'outlineCheckBox', self.theme.font_main_outline)
QtCore.QVariant(self.theme.font_main_outline))
self.outlineColorButton.setStyleSheet(u'background-color: %s' % self.outlineColorButton.setStyleSheet(u'background-color: %s' %
self.theme.font_main_outline_color) self.theme.font_main_outline_color)
self.setField(u'outlineSizeSpinBox', self.setField(u'outlineSizeSpinBox', self.theme.font_main_outline_size)
QtCore.QVariant(self.theme.font_main_outline_size)) self.setField(u'shadowCheckBox', self.theme.font_main_shadow)
self.setField(u'shadowCheckBox',
QtCore.QVariant(self.theme.font_main_shadow))
self.shadowColorButton.setStyleSheet(u'background-color: %s' % self.shadowColorButton.setStyleSheet(u'background-color: %s' %
self.theme.font_main_shadow_color) self.theme.font_main_shadow_color)
self.setField(u'shadowSizeSpinBox', self.setField(u'shadowSizeSpinBox', self.theme.font_main_shadow_size)
QtCore.QVariant(self.theme.font_main_shadow_size)) self.setField(u'mainBoldCheckBox', self.theme.font_main_bold)
self.setField(u'mainBoldCheckBox', self.setField(u'mainItalicsCheckBox', self.theme.font_main_italics)
QtCore.QVariant(self.theme.font_main_bold))
self.setField(u'mainItalicsCheckBox',
QtCore.QVariant(self.theme.font_main_italics))
def setFooterAreaPageValues(self): def setFooterAreaPageValues(self):
""" """
@ -420,8 +413,7 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard):
QtGui.QFont(self.theme.font_footer_name)) QtGui.QFont(self.theme.font_footer_name))
self.footerColorButton.setStyleSheet(u'background-color: %s' % self.footerColorButton.setStyleSheet(u'background-color: %s' %
self.theme.font_footer_color) self.theme.font_footer_color)
self.setField(u'footerSizeSpinBox', self.setField(u'footerSizeSpinBox', self.theme.font_footer_size)
QtCore.QVariant(self.theme.font_footer_size))
def setPositionPageValues(self): def setPositionPageValues(self):
""" """
@ -429,40 +421,31 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard):
""" """
# Main Area # Main Area
self.mainPositionCheckBox.setChecked(not self.theme.font_main_override) self.mainPositionCheckBox.setChecked(not self.theme.font_main_override)
self.setField(u'mainPositionX', QtCore.QVariant(self.theme.font_main_x)) self.setField(u'mainPositionX', self.theme.font_main_x)
self.setField(u'mainPositionY', QtCore.QVariant(self.theme.font_main_y)) self.setField(u'mainPositionY', self.theme.font_main_y)
self.setField(u'mainPositionHeight', self.setField(u'mainPositionHeight', self.theme.font_main_height)
QtCore.QVariant(self.theme.font_main_height)) self.setField(u'mainPositionWidth', self.theme.font_main_width)
self.setField(u'mainPositionWidth',
QtCore.QVariant(self.theme.font_main_width))
# Footer # Footer
self.footerPositionCheckBox.setChecked( self.footerPositionCheckBox.setChecked(
not self.theme.font_footer_override) not self.theme.font_footer_override)
self.setField(u'footerPositionX', self.setField(u'footerPositionX', self.theme.font_footer_x)
QtCore.QVariant(self.theme.font_footer_x)) self.setField(u'footerPositionY', self.theme.font_footer_y)
self.setField(u'footerPositionY', self.setField(u'footerPositionHeight', self.theme.font_footer_height)
QtCore.QVariant(self.theme.font_footer_y)) self.setField(u'footerPositionWidth', self.theme.font_footer_width)
self.setField(u'footerPositionHeight',
QtCore.QVariant(self.theme.font_footer_height))
self.setField(u'footerPositionWidth',
QtCore.QVariant(self.theme.font_footer_width))
def setAlignmentPageValues(self): def setAlignmentPageValues(self):
""" """
Handle the display and state of the Alignments page. Handle the display and state of the Alignments page.
""" """
self.setField(u'horizontal', self.setField(u'horizontal', self.theme.display_horizontal_align)
QtCore.QVariant(self.theme.display_horizontal_align)) self.setField(u'vertical', self.theme.display_vertical_align)
self.setField(u'vertical', self.setField(u'slideTransition', self.theme.display_slide_transition)
QtCore.QVariant(self.theme.display_vertical_align))
self.setField(u'slideTransition',
QtCore.QVariant(self.theme.display_slide_transition))
def setPreviewPageValues(self): def setPreviewPageValues(self):
""" """
Handle the display and state of the Preview page. Handle the display and state of the Preview page.
""" """
self.setField(u'name', QtCore.QVariant(self.theme.theme_name)) self.setField(u'name', self.theme.theme_name)
def onBackgroundComboBoxCurrentIndexChanged(self, index): def onBackgroundComboBoxCurrentIndexChanged(self, index):
""" """

View File

@ -36,7 +36,7 @@ from xml.etree.ElementTree import ElementTree, XML
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import OpenLPToolbar, get_text_file_string, build_icon, \ from openlp.core.lib import OpenLPToolbar, get_text_file_string, build_icon, \
Receiver, SettingsManager, translate, check_item_selected, \ Receiver, Settings, SettingsManager, translate, check_item_selected, \
check_directory_exists, create_thumb, validate_thumb check_directory_exists, create_thumb, validate_thumb
from openlp.core.lib.theme import ThemeXML, BackgroundType, VerticalType, \ from openlp.core.lib.theme import ThemeXML, BackgroundType, VerticalType, \
BackgroundGradientType BackgroundGradientType
@ -164,9 +164,8 @@ class ThemeManager(QtGui.QWidget):
""" """
Triggered when Config dialog is updated. Triggered when Config dialog is updated.
""" """
self.global_theme = unicode(QtCore.QSettings().value( self.global_theme = Settings().value(
self.settingsSection + u'/global theme', self.settingsSection + u'/global theme', u'')
QtCore.QVariant(u'')).toString())
def checkListState(self, item): def checkListState(self, item):
""" """
@ -244,9 +243,8 @@ class ThemeManager(QtGui.QWidget):
name = unicode(translate('OpenLP.ThemeManager', name = unicode(translate('OpenLP.ThemeManager',
'%s (default)')) % self.global_theme '%s (default)')) % self.global_theme
self.themeListWidget.item(count).setText(name) self.themeListWidget.item(count).setText(name)
QtCore.QSettings().setValue( Settings().setValue(
self.settingsSection + u'/global theme', self.settingsSection + u'/global theme', self.global_theme)
QtCore.QVariant(self.global_theme))
Receiver.send_message(u'theme_update_global', Receiver.send_message(u'theme_update_global',
self.global_theme) self.global_theme)
self._pushThemes() self._pushThemes()
@ -448,9 +446,8 @@ class ThemeManager(QtGui.QWidget):
theme = ThemeXML() theme = ThemeXML()
theme.theme_name = UiStrings().Default theme.theme_name = UiStrings().Default
self._writeTheme(theme, None, None) self._writeTheme(theme, None, None)
QtCore.QSettings().setValue( Settings().setValue(
self.settingsSection + u'/global theme', self.settingsSection + u'/global theme', theme.theme_name)
QtCore.QVariant(theme.theme_name))
self.configUpdated() self.configUpdated()
files = SettingsManager.get_files(self.settingsSection, u'.png') files = SettingsManager.get_files(self.settingsSection, u'.png')
# Sort the themes by its name considering language specific characters. # Sort the themes by its name considering language specific characters.
@ -475,7 +472,7 @@ class ThemeManager(QtGui.QWidget):
else: else:
icon = create_thumb(theme, thumb) icon = create_thumb(theme, thumb)
item_name.setIcon(icon) item_name.setIcon(icon)
item_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(text_name)) item_name.setData(QtCore.Qt.UserRole, text_name)
self.themeListWidget.addItem(item_name) self.themeListWidget.addItem(item_name)
self.theme_list.append(text_name) self.theme_list.append(text_name)
self._pushThemes() self._pushThemes()
@ -767,9 +764,8 @@ class ThemeManager(QtGui.QWidget):
Check to see if theme has been selected and the destructive action Check to see if theme has been selected and the destructive action
is allowed. is allowed.
""" """
self.global_theme = unicode(QtCore.QSettings().value( self.global_theme = unicode(Settings().value(
self.settingsSection + u'/global theme', self.settingsSection + u'/global theme', u''))
QtCore.QVariant(u'')).toString())
if check_item_selected(self.themeListWidget, select_text): if check_item_selected(self.themeListWidget, select_text):
item = self.themeListWidget.currentItem() item = self.themeListWidget.currentItem()
theme = unicode(item.text()) theme = unicode(item.text())

View File

@ -27,7 +27,7 @@
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import SettingsTab, Receiver, translate from openlp.core.lib import Receiver, Settings, SettingsTab, translate
from openlp.core.lib.theme import ThemeLevel from openlp.core.lib.theme import ThemeLevel
from openlp.core.lib.ui import UiStrings, find_and_set_in_combo_box from openlp.core.lib.ui import UiStrings, find_and_set_in_combo_box
@ -132,11 +132,11 @@ class ThemesTab(SettingsTab):
'any themes associated with either the service or the songs.')) 'any themes associated with either the service or the songs.'))
def load(self): def load(self):
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(self.settingsSection) settings.beginGroup(self.settingsSection)
self.theme_level = settings.value( self.theme_level = settings.value(u'theme level', ThemeLevel.Song)
u'theme level', ThemeLevel.Song).toInt()[0] # TODO: check empty string (logic).
self.global_theme = unicode(settings.value(u'global theme').toString()) self.global_theme = settings.value(u'global theme', u'')
settings.endGroup() settings.endGroup()
if self.theme_level == ThemeLevel.Global: if self.theme_level == ThemeLevel.Global:
self.GlobalLevelRadioButton.setChecked(True) self.GlobalLevelRadioButton.setChecked(True)
@ -146,10 +146,10 @@ class ThemesTab(SettingsTab):
self.SongLevelRadioButton.setChecked(True) self.SongLevelRadioButton.setChecked(True)
def save(self): def save(self):
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(self.settingsSection) settings.beginGroup(self.settingsSection)
settings.setValue(u'theme level', QtCore.QVariant(self.theme_level)) settings.setValue(u'theme level', self.theme_level)
settings.setValue(u'global theme', QtCore.QVariant(self.global_theme)) settings.setValue(u'global theme', self.global_theme)
settings.endGroup() settings.endGroup()
self.mainwindow.renderer.set_global_theme( self.mainwindow.renderer.set_global_theme(
self.global_theme, self.theme_level) self.global_theme, self.theme_level)
@ -183,15 +183,14 @@ class ThemesTab(SettingsTab):
[u'Bible Theme', u'Song Theme'] [u'Bible Theme', u'Song Theme']
""" """
# Reload as may have been triggered by the ThemeManager. # Reload as may have been triggered by the ThemeManager.
self.global_theme = unicode(QtCore.QSettings().value( self.global_theme = Settings().value(
self.settingsSection + u'/global theme', self.settingsSection + u'/global theme', u'')
QtCore.QVariant(u'')).toString())
self.DefaultComboBox.clear() self.DefaultComboBox.clear()
self.DefaultComboBox.addItems(theme_list) self.DefaultComboBox.addItems(theme_list)
find_and_set_in_combo_box(self.DefaultComboBox, self.global_theme) find_and_set_in_combo_box(self.DefaultComboBox, self.global_theme)
self.mainwindow.renderer.set_global_theme( self.mainwindow.renderer.set_global_theme(
self.global_theme, self.theme_level) self.global_theme, self.theme_level)
if self.global_theme is not u'': if self.global_theme:
self.__previewGlobalTheme() self.__previewGlobalTheme()
def __previewGlobalTheme(self): def __previewGlobalTheme(self):

View File

@ -37,6 +37,8 @@ import sys
import time import time
import urllib2 import urllib2
from openlp.core.lib import Settings
from PyQt4 import QtGui, QtCore from PyQt4 import QtGui, QtCore
if sys.platform != u'win32' and sys.platform != u'darwin': if sys.platform != u'win32' and sys.platform != u'darwin':
@ -281,12 +283,12 @@ def check_latest_version(current_version):
""" """
version_string = current_version[u'full'] version_string = current_version[u'full']
# set to prod in the distribution config file. # set to prod in the distribution config file.
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(u'general') settings.beginGroup(u'general')
last_test = unicode(settings.value(u'last version test', last_test = unicode(settings.value(u'last version test',
QtCore.QVariant(datetime.now().date())).toString()) datetime.now().date()))
this_test = unicode(datetime.now().date()) this_test = unicode(datetime.now().date())
settings.setValue(u'last version test', QtCore.QVariant(this_test)) settings.setValue(u'last version test', this_test)
settings.endGroup() settings.endGroup()
if last_test != this_test: if last_test != this_test:
if current_version[u'build']: if current_version[u'build']:

View File

@ -28,6 +28,8 @@
The :mod:`~openlp.core.utils.actions` module provides action list classes used The :mod:`~openlp.core.utils.actions` module provides action list classes used
by the shortcuts system. by the shortcuts system.
""" """
from openlp.core.lib import Settings
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
class ActionCategory(object): class ActionCategory(object):
@ -226,10 +228,9 @@ class ActionList(object):
else: else:
self.categories[category].actions.add(action, weight) self.categories[category].actions.add(action, weight)
# Load the shortcut from the config. # Load the shortcut from the config.
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(u'shortcuts') settings.beginGroup(u'shortcuts')
shortcuts = settings.value(action.objectName(), shortcuts = settings.value(action.objectName(), action.shortcuts())
QtCore.QVariant(action.shortcuts())).toStringList()
settings.endGroup() settings.endGroup()
if not shortcuts: if not shortcuts:
action.setShortcuts([]) action.setShortcuts([])

View File

@ -34,7 +34,7 @@ import sys
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.utils import AppLocation from openlp.core.utils import AppLocation
from openlp.core.lib import translate from openlp.core.lib import translate, Settings
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@ -75,13 +75,16 @@ class LanguageManager(object):
AppLocation.LanguageDir)) AppLocation.LanguageDir))
trans_dir = QtCore.QDir(AppLocation.get_directory( trans_dir = QtCore.QDir(AppLocation.get_directory(
AppLocation.LanguageDir)) AppLocation.LanguageDir))
file_names = trans_dir.entryList(QtCore.QStringList(u'*.qm'), file_names = trans_dir.entryList(
QtCore.QDir.Files, QtCore.QDir.Name) u'*.qm', QtCore.QDir.Files, QtCore.QDir.Name)
# Remove qm files from the list which start with "qt_". # Remove qm files from the list which start with "qt_".
file_names = file_names.filter(QtCore.QRegExp("^(?!qt_)")) file_names = filter(
lambda file_: not file_.startswith(u'qt_'), file_names)
names = []
for name in file_names: for name in file_names:
file_names.replaceInStrings(name, trans_dir.filePath(name)) names.append(trans_dir.filePath(name))
return file_names #file_names.replaceInStrings(name, trans_dir.filePath(name))
return names
@staticmethod @staticmethod
def language_name(qm_file): def language_name(qm_file):
@ -101,9 +104,8 @@ class LanguageManager(object):
""" """
Retrieve a saved language to use from settings Retrieve a saved language to use from settings
""" """
settings = QtCore.QSettings() settings = Settings()
language = unicode(settings.value( language = unicode(settings.value(u'general/language', u'[en]'))
u'general/language', QtCore.QVariant(u'[en]')).toString())
log.info(u'Language file: \'%s\' Loaded from conf file' % language) log.info(u'Language file: \'%s\' Loaded from conf file' % language)
reg_ex = QtCore.QRegExp("^\[(.*)\]") reg_ex = QtCore.QRegExp("^\[(.*)\]")
if reg_ex.exactMatch(language): if reg_ex.exactMatch(language):
@ -133,8 +135,7 @@ class LanguageManager(object):
language = unicode(qm_list[action_name]) language = unicode(qm_list[action_name])
if LanguageManager.auto_language: if LanguageManager.auto_language:
language = u'[%s]' % language language = u'[%s]' % language
QtCore.QSettings().setValue( Settings().setValue(u'general/language', language)
u'general/language', QtCore.QVariant(language))
log.info(u'Language file: \'%s\' written to conf file' % language) log.info(u'Language file: \'%s\' written to conf file' % language)
if message: if message:
QtGui.QMessageBox.information(None, QtGui.QMessageBox.information(None,

View File

@ -29,7 +29,8 @@ import logging
from PyQt4 import QtCore from PyQt4 import QtCore
from openlp.core.lib import Plugin, StringContent, build_icon, translate from openlp.core.lib import Plugin, StringContent, build_icon, translate, \
Settings
from openlp.core.lib.db import Manager from openlp.core.lib.db import Manager
from openlp.core.lib.ui import create_action, UiStrings from openlp.core.lib.ui import create_action, UiStrings
from openlp.core.lib.theme import VerticalType from openlp.core.lib.theme import VerticalType
@ -160,8 +161,8 @@ class AlertsPlugin(Plugin):
def toggleAlertsState(self): def toggleAlertsState(self):
self.alertsActive = not self.alertsActive self.alertsActive = not self.alertsActive
QtCore.QSettings().setValue(self.settingsSection + u'/active', Settings().setValue(self.settingsSection + u'/active',
QtCore.QVariant(self.alertsActive)) self.alertsActive)
def onAlertsTrigger(self): def onAlertsTrigger(self):
self.alertForm.loadList() self.alertForm.loadList()

View File

@ -77,7 +77,7 @@ class AlertForm(QtGui.QDialog, Ui_AlertDialog):
order_by_ref=AlertItem.text) order_by_ref=AlertItem.text)
for alert in alerts: for alert in alerts:
item_name = QtGui.QListWidgetItem(alert.text) item_name = QtGui.QListWidgetItem(alert.text)
item_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(alert.id)) item_name.setData(QtCore.Qt.UserRole, alert.id)
self.alertListWidget.addItem(item_name) self.alertListWidget.addItem(item_name)
def onDisplayClicked(self): def onDisplayClicked(self):

View File

@ -27,7 +27,7 @@
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import SettingsTab, translate, Receiver from openlp.core.lib import SettingsTab, translate, Receiver, Settings
from openlp.core.ui import AlertLocation from openlp.core.ui import AlertLocation
from openlp.core.lib.ui import UiStrings, create_valign_selection_widgets from openlp.core.lib.ui import UiStrings, create_valign_selection_widgets
@ -152,19 +152,15 @@ class AlertsTab(SettingsTab):
self.updateDisplay() self.updateDisplay()
def load(self): def load(self):
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(self.settingsSection) settings.beginGroup(self.settingsSection)
self.timeout = settings.value(u'timeout', QtCore.QVariant(5)).toInt()[0] self.timeout = settings.value(u'timeout', 5)
self.font_color = unicode(settings.value( self.font_color = unicode(settings.value(u'font color', u'#ffffff'))
u'font color', QtCore.QVariant(u'#ffffff')).toString()) self.font_size = settings.value(u'font size', 40)
self.font_size = settings.value( self.bg_color = unicode(settings.value(u'background color', u'#660000'))
u'font size', QtCore.QVariant(40)).toInt()[0]
self.bg_color = unicode(settings.value(
u'background color', QtCore.QVariant(u'#660000')).toString())
self.font_face = unicode(settings.value( self.font_face = unicode(settings.value(
u'font face', QtCore.QVariant(QtGui.QFont().family())).toString()) u'font face', QtGui.QFont().family()))
self.location = settings.value( self.location = settings.value(u'location', AlertLocation.Bottom)
u'location', QtCore.QVariant(AlertLocation.Bottom)).toInt()[0]
settings.endGroup() settings.endGroup()
self.fontSizeSpinBox.setValue(self.font_size) self.fontSizeSpinBox.setValue(self.font_size)
self.timeoutSpinBox.setValue(self.timeout) self.timeoutSpinBox.setValue(self.timeout)
@ -180,20 +176,20 @@ class AlertsTab(SettingsTab):
self.changed = False self.changed = False
def save(self): def save(self):
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(self.settingsSection) settings.beginGroup(self.settingsSection)
# Check value has changed as no event handles this field # Check value has changed as no event handles this field
if settings.value(u'location', QtCore.QVariant(1)).toInt()[0] != \ if settings.value(u'location', 1) != \
self.verticalComboBox.currentIndex(): self.verticalComboBox.currentIndex():
self.changed = True self.changed = True
settings.setValue(u'background color', QtCore.QVariant(self.bg_color)) settings.setValue(u'background color', self.bg_color)
settings.setValue(u'font color', QtCore.QVariant(self.font_color)) settings.setValue(u'font color', self.font_color)
settings.setValue(u'font size', QtCore.QVariant(self.font_size)) settings.setValue(u'font size', self.font_size)
self.font_face = self.fontComboBox.currentFont().family() self.font_face = self.fontComboBox.currentFont().family()
settings.setValue(u'font face', QtCore.QVariant(self.font_face)) settings.setValue(u'font face', self.font_face)
settings.setValue(u'timeout', QtCore.QVariant(self.timeout)) settings.setValue(u'timeout', self.timeout)
self.location = self.verticalComboBox.currentIndex() self.location = self.verticalComboBox.currentIndex()
settings.setValue(u'location', QtCore.QVariant(self.location)) settings.setValue(u'location', self.location)
settings.endGroup() settings.endGroup()
if self.changed: if self.changed:
Receiver.send_message(u'update_display_css') Receiver.send_message(u'update_display_css')

View File

@ -29,7 +29,8 @@ import logging
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import Plugin, StringContent, build_icon, translate from openlp.core.lib import Plugin, StringContent, build_icon, translate, \
Settings
from openlp.core.lib.ui import create_action, UiStrings from openlp.core.lib.ui import create_action, UiStrings
from openlp.core.utils.actions import ActionList from openlp.core.utils.actions import ActionList
from openlp.plugins.bibles.lib import BibleManager, BiblesTab, BibleMediaItem from openlp.plugins.bibles.lib import BibleManager, BiblesTab, BibleMediaItem
@ -91,11 +92,11 @@ class BiblePlugin(Plugin):
QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes | QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes |
QtGui.QMessageBox.No)) == QtGui.QMessageBox.Yes: QtGui.QMessageBox.No)) == QtGui.QMessageBox.Yes:
self.onToolsUpgradeItemTriggered() self.onToolsUpgradeItemTriggered()
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(self.settingsSection) settings.beginGroup(self.settingsSection)
if settings.contains(u'bookname language'): if settings.contains(u'bookname language'):
settings.setValue(u'book name language', settings.value( settings.setValue(u'book name language', settings.value(
u'bookname language', QtCore.QVariant(0)).toInt()[0]) u'bookname language', 0))
settings.remove(u'bookname language') settings.remove(u'bookname language')
settings.endGroup() settings.endGroup()

View File

@ -33,7 +33,7 @@ import locale
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import Receiver, translate from openlp.core.lib import Receiver, translate, Settings
from openlp.core.lib.db import delete_database from openlp.core.lib.db import delete_database
from openlp.core.lib.ui import UiStrings, critical_error_message_box from openlp.core.lib.ui import UiStrings, critical_error_message_box
from openlp.core.ui.wizard import OpenLPWizard, WizardStrings from openlp.core.ui.wizard import OpenLPWizard, WizardStrings
@ -590,32 +590,26 @@ class BibleImportForm(OpenLPWizard):
""" """
Set default values for the wizard pages. Set default values for the wizard pages.
""" """
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(self.plugin.settingsSection) settings.beginGroup(self.plugin.settingsSection)
self.restart() self.restart()
self.finishButton.setVisible(False) self.finishButton.setVisible(False)
self.cancelButton.setVisible(True) self.cancelButton.setVisible(True)
self.setField(u'source_format', QtCore.QVariant(0)) self.setField(u'source_format', 0)
self.setField(u'osis_location', QtCore.QVariant('')) self.setField(u'osis_location', '')
self.setField(u'csv_booksfile', QtCore.QVariant('')) self.setField(u'csv_booksfile', '')
self.setField(u'csv_versefile', QtCore.QVariant('')) self.setField(u'csv_versefile', '')
self.setField(u'opensong_file', QtCore.QVariant('')) self.setField(u'opensong_file', '')
self.setField(u'web_location', QtCore.QVariant(WebDownload.Crosswalk)) self.setField(u'web_location', WebDownload.Crosswalk)
self.setField(u'web_biblename', self.setField(u'web_biblename',
QtCore.QVariant(self.webTranslationComboBox.currentIndex())) self.webTranslationComboBox.currentIndex())
self.setField(u'proxy_server', self.setField(u'proxy_server', settings.value(u'proxy address', u''))
settings.value(u'proxy address', QtCore.QVariant(u''))) self.setField(u'proxy_username', settings.value(u'proxy username', u''))
self.setField(u'proxy_username', self.setField(u'proxy_password', settings.value(u'proxy password', u''))
settings.value(u'proxy username', QtCore.QVariant(u''))) self.setField(u'openlp1_location', '')
self.setField(u'proxy_password', self.setField(u'license_version', self.versionNameEdit.text())
settings.value(u'proxy password', QtCore.QVariant(u''))) self.setField(u'license_copyright', self.copyrightEdit.text())
self.setField(u'openlp1_location', QtCore.QVariant('')) self.setField(u'license_permissions', self.permissionsEdit.text())
self.setField(u'license_version',
QtCore.QVariant(self.versionNameEdit.text()))
self.setField(u'license_copyright',
QtCore.QVariant(self.copyrightEdit.text()))
self.setField(u'license_permissions',
QtCore.QVariant(self.permissionsEdit.text()))
self.onWebSourceComboBoxIndexChanged(WebDownload.Crosswalk) self.onWebSourceComboBoxIndexChanged(WebDownload.Crosswalk)
settings.endGroup() settings.endGroup()

View File

@ -34,7 +34,7 @@ from tempfile import gettempdir
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import Receiver, SettingsManager, translate, \ from openlp.core.lib import Receiver, SettingsManager, translate, \
check_directory_exists check_directory_exists, Settings
from openlp.core.lib.ui import UiStrings, critical_error_message_box from openlp.core.lib.ui import UiStrings, critical_error_message_box
from openlp.core.ui.wizard import OpenLPWizard, WizardStrings from openlp.core.ui.wizard import OpenLPWizard, WizardStrings
from openlp.core.utils import AppLocation, delete_file from openlp.core.utils import AppLocation, delete_file
@ -341,7 +341,7 @@ class BibleUpgradeForm(OpenLPWizard):
Set default values for the wizard pages. Set default values for the wizard pages.
""" """
log.debug(u'BibleUpgrade setDefaults') log.debug(u'BibleUpgrade setDefaults')
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(self.plugin.settingsSection) settings.beginGroup(self.plugin.settingsSection)
self.stop_import_flag = False self.stop_import_flag = False
self.success.clear() self.success.clear()

View File

@ -33,7 +33,7 @@ import re
from PyQt4 import QtCore from PyQt4 import QtCore
from openlp.core.lib import translate from openlp.core.lib import translate, Settings
from openlp.plugins.bibles.lib.db import BiblesResourcesDB from openlp.plugins.bibles.lib.db import BiblesResourcesDB
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@ -185,13 +185,13 @@ def update_reference_separators():
':|v|V|verse|verses;;-|to;;,|and;;end', ':|v|V|verse|verses;;-|to;;,|and;;end',
'Double-semicolon delimited separators for parsing references. ' 'Double-semicolon delimited separators for parsing references. '
'Consult the developers for further information.')).split(u';;') 'Consult the developers for further information.')).split(u';;')
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(u'bibles') settings.beginGroup(u'bibles')
custom_separators = [ custom_separators = [
unicode(settings.value(u'verse separator').toString()), settings.value(u'verse separator'),
unicode(settings.value(u'range separator').toString()), settings.value(u'range separator'),
unicode(settings.value(u'list separator').toString()), settings.value(u'list separator'),
unicode(settings.value(u'end separator').toString())] settings.value(u'end separator')]
settings.endGroup() settings.endGroup()
for index, role in enumerate([u'v', u'r', u'l', u'e']): for index, role in enumerate([u'v', u'r', u'l', u'e']):
if custom_separators[index].strip(u'|') == u'': if custom_separators[index].strip(u'|') == u'':

View File

@ -29,7 +29,7 @@ import logging
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import Receiver, SettingsTab, translate from openlp.core.lib import Receiver, SettingsTab, translate, Settings
from openlp.core.lib.ui import UiStrings, find_and_set_in_combo_box from openlp.core.lib.ui import UiStrings, find_and_set_in_combo_box
from openlp.plugins.bibles.lib import LayoutStyle, DisplayStyle, \ from openlp.plugins.bibles.lib import LayoutStyle, DisplayStyle, \
update_reference_separators, get_reference_separator, LanguageSelection update_reference_separators, get_reference_separator, LanguageSelection
@ -414,18 +414,14 @@ class BiblesTab(SettingsTab):
self.getGreyTextPalette(True)) self.getGreyTextPalette(True))
def load(self): def load(self):
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(self.settingsSection) settings.beginGroup(self.settingsSection)
self.show_new_chapters = settings.value( self.show_new_chapters = settings.value(u'display new chapter', False)
u'display new chapter', QtCore.QVariant(False)).toBool() self.display_style = settings.value(u'display brackets', 0)
self.display_style = settings.value( self.layout_style = settings.value(u'verse layout style', 0)
u'display brackets', QtCore.QVariant(0)).toInt()[0] #TODO: Check
self.layout_style = settings.value( self.bible_theme = unicode(settings.value(u'bible theme', u''))
u'verse layout style', QtCore.QVariant(0)).toInt()[0] self.second_bibles = settings.value(u'second bibles', True)
self.bible_theme = unicode(
settings.value(u'bible theme', QtCore.QVariant(u'')).toString())
self.second_bibles = settings.value(
u'second bibles', QtCore.QVariant(True)).toBool()
self.newChaptersCheckBox.setChecked(self.show_new_chapters) self.newChaptersCheckBox.setChecked(self.show_new_chapters)
self.displayStyleComboBox.setCurrentIndex(self.display_style) self.displayStyleComboBox.setCurrentIndex(self.display_style)
self.layoutStyleComboBox.setCurrentIndex(self.layout_style) self.layoutStyleComboBox.setCurrentIndex(self.layout_style)
@ -482,24 +478,19 @@ class BiblesTab(SettingsTab):
self.endSeparatorLineEdit.setPalette( self.endSeparatorLineEdit.setPalette(
self.getGreyTextPalette(False)) self.getGreyTextPalette(False))
self.endSeparatorCheckBox.setChecked(True) self.endSeparatorCheckBox.setChecked(True)
self.language_selection = settings.value( self.language_selection = settings.value(u'book name language', 0)
u'book name language', QtCore.QVariant(0)).toInt()[0]
self.languageSelectionComboBox.setCurrentIndex(self.language_selection) self.languageSelectionComboBox.setCurrentIndex(self.language_selection)
settings.endGroup() settings.endGroup()
def save(self): def save(self):
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(self.settingsSection) settings.beginGroup(self.settingsSection)
settings.setValue(u'display new chapter', settings.setValue(u'display new chapter', self.show_new_chapters)
QtCore.QVariant(self.show_new_chapters)) settings.setValue(u'display brackets', self.display_style)
settings.setValue(u'display brackets', settings.setValue(u'verse layout style', self.layout_style)
QtCore.QVariant(self.display_style)) settings.setValue(u'book name language', self.language_selection)
settings.setValue(u'verse layout style', settings.setValue(u'second bibles', self.second_bibles)
QtCore.QVariant(self.layout_style)) settings.setValue(u'bible theme', self.bible_theme)
settings.setValue(u'book name language',
QtCore.QVariant(self.language_selection))
settings.setValue(u'second bibles', QtCore.QVariant(self.second_bibles))
settings.setValue(u'bible theme', QtCore.QVariant(self.bible_theme))
if self.verseSeparatorCheckBox.isChecked(): if self.verseSeparatorCheckBox.isChecked():
settings.setValue(u'verse separator', settings.setValue(u'verse separator',
self.verseSeparatorLineEdit.text()) self.verseSeparatorLineEdit.text())

View File

@ -30,7 +30,7 @@ import os
from PyQt4 import QtCore from PyQt4 import QtCore
from openlp.core.lib import Receiver, SettingsManager, translate from openlp.core.lib import Receiver, SettingsManager, translate, Settings
from openlp.core.utils import AppLocation, delete_file from openlp.core.utils import AppLocation, delete_file
from openlp.plugins.bibles.lib import parse_reference, \ from openlp.plugins.bibles.lib import parse_reference, \
get_reference_separator, LanguageSelection get_reference_separator, LanguageSelection
@ -125,9 +125,8 @@ class BibleManager(object):
self.web = u'Web' self.web = u'Web'
self.db_cache = None self.db_cache = None
self.path = AppLocation.get_section_data_path(self.settingsSection) self.path = AppLocation.get_section_data_path(self.settingsSection)
self.proxy_name = unicode( self.proxy_name = unicode(Settings().value(
QtCore.QSettings().value(self.settingsSection + u'/proxy name', self.settingsSection + u'/proxy name', u''))
QtCore.QVariant(u'')).toString())
self.suffix = u'.sqlite' self.suffix = u'.sqlite'
self.import_wizard = None self.import_wizard = None
self.reload_bibles() self.reload_bibles()
@ -334,9 +333,8 @@ class BibleManager(object):
if language_selection: if language_selection:
language_selection = int(language_selection.value) language_selection = int(language_selection.value)
if language_selection is None or language_selection == -1: if language_selection is None or language_selection == -1:
language_selection = QtCore.QSettings().value( language_selection = Settings().value(
self.settingsSection + u'/bookname language', self.settingsSection + u'/bookname language', 0)
QtCore.QVariant(0)).toInt()[0]
reflist = parse_reference(versetext, self.db_cache[bible], reflist = parse_reference(versetext, self.db_cache[bible],
language_selection, book_ref_id) language_selection, book_ref_id)
if reflist: if reflist:
@ -381,9 +379,8 @@ class BibleManager(object):
if language_selection and language_selection.value != u'None': if language_selection and language_selection.value != u'None':
return int(language_selection.value) return int(language_selection.value)
if language_selection is None or language_selection.value == u'None': if language_selection is None or language_selection.value == u'None':
return QtCore.QSettings().value( return Settings().value(
self.settingsSection + u'/bookname language', self.settingsSection + u'/bookname language', 0)
QtCore.QVariant(0)).toInt()[0]
def verse_search(self, bible, second_bible, text): def verse_search(self, bible, second_bible, text):
""" """

View File

@ -31,7 +31,7 @@ import locale
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import MediaManagerItem, Receiver, ItemCapabilities, \ from openlp.core.lib import MediaManagerItem, Receiver, ItemCapabilities, \
translate, create_separated_list translate, create_separated_list, Settings
from openlp.core.lib.searchedit import SearchEdit from openlp.core.lib.searchedit import SearchEdit
from openlp.core.lib.ui import UiStrings, set_case_insensitive_completer, \ from openlp.core.lib.ui import UiStrings, set_case_insensitive_completer, \
create_horizontal_adjusting_combo_box, critical_error_message_box, \ create_horizontal_adjusting_combo_box, critical_error_message_box, \
@ -101,7 +101,7 @@ class BibleMediaItem(MediaManagerItem):
reference = bitem.data(QtCore.Qt.UserRole) reference = bitem.data(QtCore.Qt.UserRole)
if isinstance(reference, QtCore.QVariant): if isinstance(reference, QtCore.QVariant):
reference = reference.toPyObject() reference = reference.toPyObject()
obj = reference[QtCore.QString(key)] obj = reference[unicode(key)]
if isinstance(obj, QtCore.QVariant): if isinstance(obj, QtCore.QVariant):
obj = obj.toPyObject() obj = obj.toPyObject()
return unicode(obj).strip() return unicode(obj).strip()
@ -294,8 +294,8 @@ class BibleMediaItem(MediaManagerItem):
def configUpdated(self): def configUpdated(self):
log.debug(u'configUpdated') log.debug(u'configUpdated')
if QtCore.QSettings().value(self.settingsSection + u'/second bibles', if Settings().value(self.settingsSection + u'/second bibles',
QtCore.QVariant(True)).toBool(): True):
self.advancedSecondLabel.setVisible(True) self.advancedSecondLabel.setVisible(True)
self.advancedSecondComboBox.setVisible(True) self.advancedSecondComboBox.setVisible(True)
self.quickSecondLabel.setVisible(True) self.quickSecondLabel.setVisible(True)
@ -362,9 +362,9 @@ class BibleMediaItem(MediaManagerItem):
translate('BiblesPlugin.MediaItem', 'Text Search'), translate('BiblesPlugin.MediaItem', 'Text Search'),
translate('BiblesPlugin.MediaItem', 'Search Text...')) translate('BiblesPlugin.MediaItem', 'Search Text...'))
]) ])
self.quickSearchEdit.setCurrentSearchType(QtCore.QSettings().value( self.quickSearchEdit.setCurrentSearchType(Settings().value(
u'%s/last search type' % self.settingsSection, u'%s/last search type' % self.settingsSection,
QtCore.QVariant(BibleSearch.Reference)).toInt()[0]) BibleSearch.Reference))
self.configUpdated() self.configUpdated()
log.debug(u'bible manager initialise complete') log.debug(u'bible manager initialise complete')
@ -386,17 +386,16 @@ class BibleMediaItem(MediaManagerItem):
self.advancedVersionComboBox.addItems(bibles) self.advancedVersionComboBox.addItems(bibles)
self.advancedSecondComboBox.addItems(bibles) self.advancedSecondComboBox.addItems(bibles)
# set the default value # set the default value
bible = QtCore.QSettings().value( bible = Settings().value(
self.settingsSection + u'/advanced bible', self.settingsSection + u'/advanced bible', u'')
QtCore.QVariant(u'')).toString()
if bible in bibles: if bible in bibles:
find_and_set_in_combo_box(self.advancedVersionComboBox, bible) find_and_set_in_combo_box(self.advancedVersionComboBox, bible)
self.initialiseAdvancedBible(unicode(bible)) self.initialiseAdvancedBible(unicode(bible))
elif bibles: elif bibles:
self.initialiseAdvancedBible(bibles[0]) self.initialiseAdvancedBible(bibles[0])
bible = QtCore.QSettings().value( bible = Settings().value(
self.settingsSection + u'/quick bible', QtCore.QVariant( self.settingsSection + u'/quick bible',
self.quickVersionComboBox.currentText())).toString() self.quickVersionComboBox.currentText())
find_and_set_in_combo_box(self.quickVersionComboBox, bible) find_and_set_in_combo_box(self.quickVersionComboBox, bible)
def reloadBibles(self, process=False): def reloadBibles(self, process=False):
@ -453,14 +452,14 @@ class BibleMediaItem(MediaManagerItem):
book[u'book_reference_id']) book[u'book_reference_id'])
self.advancedBookComboBox.addItem(data[u'name']) self.advancedBookComboBox.addItem(data[u'name'])
self.advancedBookComboBox.setItemData( self.advancedBookComboBox.setItemData(
row, QtCore.QVariant(book[u'book_reference_id'])) row, book[u'book_reference_id'])
if first: if first:
first = False first = False
first_book = book first_book = book
initialise_chapter_verse = True initialise_chapter_verse = True
if last_book_id and last_book_id == int(book[u'book_reference_id']): if last_book_id and last_book_id == int(book[u'book_reference_id']):
index = self.advancedBookComboBox.findData( index = self.advancedBookComboBox.findData(
QtCore.QVariant(book[u'book_reference_id'])) book[u'book_reference_id'])
if index == -1: if index == -1:
# Not Found. # Not Found.
index = 0 index = 0
@ -497,12 +496,11 @@ class BibleMediaItem(MediaManagerItem):
""" """
log.debug(u'updateAutoCompleter') log.debug(u'updateAutoCompleter')
# Save the current search type to the configuration. # Save the current search type to the configuration.
QtCore.QSettings().setValue(u'%s/last search type' % Settings().setValue(u'%s/last search type' %
self.settingsSection, self.settingsSection, self.quickSearchEdit.currentSearchType())
QtCore.QVariant(self.quickSearchEdit.currentSearchType()))
# Save the current bible to the configuration. # Save the current bible to the configuration.
QtCore.QSettings().setValue(self.settingsSection + u'/quick bible', Settings().setValue(self.settingsSection + u'/quick bible',
QtCore.QVariant(self.quickVersionComboBox.currentText())) self.quickVersionComboBox.currentText())
books = [] books = []
# We have to do a 'Reference Search'. # We have to do a 'Reference Search'.
if self.quickSearchEdit.currentSearchType() == BibleSearch.Reference: if self.quickSearchEdit.currentSearchType() == BibleSearch.Reference:
@ -596,22 +594,22 @@ class BibleMediaItem(MediaManagerItem):
self.advancedStyleComboBox.setCurrentIndex(self.settings.layout_style) self.advancedStyleComboBox.setCurrentIndex(self.settings.layout_style)
self.settings.layoutStyleComboBox.setCurrentIndex( self.settings.layoutStyleComboBox.setCurrentIndex(
self.settings.layout_style) self.settings.layout_style)
QtCore.QSettings().setValue( Settings().setValue(
self.settingsSection + u'/verse layout style', self.settingsSection + u'/verse layout style',
QtCore.QVariant(self.settings.layout_style)) self.settings.layout_style)
def onAdvancedStyleComboBoxChanged(self): def onAdvancedStyleComboBoxChanged(self):
self.settings.layout_style = self.advancedStyleComboBox.currentIndex() self.settings.layout_style = self.advancedStyleComboBox.currentIndex()
self.quickStyleComboBox.setCurrentIndex(self.settings.layout_style) self.quickStyleComboBox.setCurrentIndex(self.settings.layout_style)
self.settings.layoutStyleComboBox.setCurrentIndex( self.settings.layoutStyleComboBox.setCurrentIndex(
self.settings.layout_style) self.settings.layout_style)
QtCore.QSettings().setValue( Settings().setValue(
self.settingsSection + u'/verse layout style', self.settingsSection + u'/verse layout style',
QtCore.QVariant(self.settings.layout_style)) self.settings.layout_style)
def onAdvancedVersionComboBox(self): def onAdvancedVersionComboBox(self):
QtCore.QSettings().setValue(self.settingsSection + u'/advanced bible', Settings().setValue(self.settingsSection + u'/advanced bible',
QtCore.QVariant(self.advancedVersionComboBox.currentText())) self.advancedVersionComboBox.currentText())
self.initialiseAdvancedBible( self.initialiseAdvancedBible(
unicode(self.advancedVersionComboBox.currentText()), unicode(self.advancedVersionComboBox.currentText()),
self.advancedBookComboBox.itemData( self.advancedBookComboBox.itemData(
@ -855,24 +853,24 @@ class BibleMediaItem(MediaManagerItem):
verse.book.book_reference_id) verse.book.book_reference_id)
book = data[u'name'] book = data[u'name']
data = { data = {
'book': QtCore.QVariant(book), 'book': book,
'chapter': QtCore.QVariant(verse.chapter), 'chapter': verse.chapter,
'verse': QtCore.QVariant(verse.verse), 'verse': verse.verse,
'bible': QtCore.QVariant(bible), 'bible': bible,
'version': QtCore.QVariant(version), 'version': version,
'copyright': QtCore.QVariant(copyright), 'copyright': copyright,
'permissions': QtCore.QVariant(permissions), 'permissions': permissions,
'text': QtCore.QVariant(verse.text), 'text': verse.text,
'second_bible': QtCore.QVariant(second_bible), 'second_bible': second_bible,
'second_version': QtCore.QVariant(second_version), 'second_version': second_version,
'second_copyright': QtCore.QVariant(second_copyright), 'second_copyright': second_copyright,
'second_permissions': QtCore.QVariant(second_permissions), 'second_permissions': second_permissions,
'second_text': QtCore.QVariant(u'') 'second_text': u''
} }
if second_bible: if second_bible:
try: try:
data[u'second_text'] = QtCore.QVariant( data[u'second_text'] = \
self.second_search_results[count].text) self.second_search_results[count].text
except IndexError: except IndexError:
log.exception(u'The second_search_results does not have as ' log.exception(u'The second_search_results does not have as '
'many verses as the search_results.') 'many verses as the search_results.')
@ -883,7 +881,7 @@ class BibleMediaItem(MediaManagerItem):
bible_text = u'%s %d%s%d (%s)' % (book, verse.chapter, bible_text = u'%s %d%s%d (%s)' % (book, verse.chapter,
verse_separator, verse.verse, version) verse_separator, verse.verse, version)
bible_verse = QtGui.QListWidgetItem(bible_text) bible_verse = QtGui.QListWidgetItem(bible_text)
bible_verse.setData(QtCore.Qt.UserRole, QtCore.QVariant(data)) bible_verse.setData(QtCore.Qt.UserRole, data)
items.append(bible_verse) items.append(bible_verse)
return items return items

View File

@ -27,7 +27,7 @@
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import SettingsTab, translate from openlp.core.lib import SettingsTab, translate, Settings
class CustomTab(SettingsTab): class CustomTab(SettingsTab):
""" """
@ -66,11 +66,10 @@ class CustomTab(SettingsTab):
self.displayFooter = True self.displayFooter = True
def load(self): def load(self):
self.displayFooter = QtCore.QSettings().value( self.displayFooter = Settings().value(
self.settingsSection + u'/display footer', self.settingsSection + u'/display footer', True)
QtCore.QVariant(True)).toBool()
self.displayFooterCheckBox.setChecked(self.displayFooter) self.displayFooterCheckBox.setChecked(self.displayFooter)
def save(self): def save(self):
QtCore.QSettings().setValue(self.settingsSection + u'/display footer', Settings().setValue(self.settingsSection + u'/display footer',
QtCore.QVariant(self.displayFooter)) self.displayFooter)

View File

@ -32,7 +32,7 @@ from PyQt4 import QtCore, QtGui
from sqlalchemy.sql import or_, func from sqlalchemy.sql import or_, func
from openlp.core.lib import MediaManagerItem, Receiver, ItemCapabilities, \ from openlp.core.lib import MediaManagerItem, Receiver, ItemCapabilities, \
check_item_selected, translate check_item_selected, translate, Settings
from openlp.core.lib.ui import UiStrings from openlp.core.lib.ui import UiStrings
from openlp.plugins.custom.forms import EditCustomForm from openlp.plugins.custom.forms import EditCustomForm
from openlp.plugins.custom.lib import CustomXMLParser from openlp.plugins.custom.lib import CustomXMLParser
@ -99,9 +99,8 @@ class CustomMediaItem(MediaManagerItem):
]) ])
self.loadList(self.manager.get_all_objects( self.loadList(self.manager.get_all_objects(
CustomSlide, order_by_ref=CustomSlide.title)) CustomSlide, order_by_ref=CustomSlide.title))
self.searchTextEdit.setCurrentSearchType(QtCore.QSettings().value( self.searchTextEdit.setCurrentSearchType(Settings().value(
u'%s/last search type' % self.settingsSection, u'%s/last search type' % self.settingsSection, CustomSearch.Titles))
QtCore.QVariant(CustomSearch.Titles)).toInt()[0])
def loadList(self, custom_slides): def loadList(self, custom_slides):
# Sort out what custom we want to select after loading the list. # Sort out what custom we want to select after loading the list.
@ -113,8 +112,7 @@ class CustomMediaItem(MediaManagerItem):
cmp=locale.strcoll, key=lambda custom: custom.title.lower()) cmp=locale.strcoll, key=lambda custom: custom.title.lower())
for custom_slide in custom_slides: for custom_slide in custom_slides:
custom_name = QtGui.QListWidgetItem(custom_slide.title) custom_name = QtGui.QListWidgetItem(custom_slide.title)
custom_name.setData( custom_name.setData(QtCore.Qt.UserRole, custom_slide.id)
QtCore.Qt.UserRole, QtCore.QVariant(custom_slide.id))
self.listView.addItem(custom_name) self.listView.addItem(custom_name)
# Auto-select the custom. # Auto-select the custom.
if custom_slide.id == self.autoSelectId: if custom_slide.id == self.autoSelectId:
@ -218,8 +216,8 @@ class CustomMediaItem(MediaManagerItem):
service_item.title = title service_item.title = title
for slide in raw_slides: for slide in raw_slides:
service_item.add_from_text(slide[:30], slide) service_item.add_from_text(slide[:30], slide)
if QtCore.QSettings().value(self.settingsSection + u'/display footer', if Settings().value(self.settingsSection + u'/display footer',
QtCore.QVariant(True)).toBool() or credit: True) or credit:
raw_footer.append(title + u' ' + credit) raw_footer.append(title + u' ' + credit)
else: else:
raw_footer.append(u'') raw_footer.append(u'')
@ -228,9 +226,8 @@ class CustomMediaItem(MediaManagerItem):
def onSearchTextButtonClicked(self): def onSearchTextButtonClicked(self):
# Save the current search type to the configuration. # Save the current search type to the configuration.
QtCore.QSettings().setValue(u'%s/last search type' % Settings().setValue(u'%s/last search type' %
self.settingsSection, self.settingsSection, self.searchTextEdit.currentSearchType())
QtCore.QVariant(self.searchTextEdit.currentSearchType()))
# Reload the list considering the new search type. # Reload the list considering the new search type.
search_keywords = unicode(self.searchTextEdit.displayText()) search_keywords = unicode(self.searchTextEdit.displayText())
search_results = [] search_results = []

View File

@ -29,8 +29,8 @@ from PyQt4 import QtCore, QtGui
import logging import logging
from openlp.core.lib import Plugin, StringContent, build_icon, translate, \ from openlp.core.lib import build_icon, Plugin, Receiver, Settings, \
Receiver StringContent, translate
from openlp.plugins.images.lib import ImageMediaItem, ImageTab from openlp.plugins.images.lib import ImageMediaItem, ImageTab
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@ -94,6 +94,6 @@ class ImagePlugin(Plugin):
image manager to require updates. Actual update is triggered by the image manager to require updates. Actual update is triggered by the
last part of saving the config. last part of saving the config.
""" """
background = QtGui.QColor(QtCore.QSettings().value(self.settingsSection background = QtGui.QColor(Settings().value(self.settingsSection
+ u'/background color', QtCore.QVariant(u'#000000'))) + u'/background color', u'#000000'))
self.liveController.imageManager.update_images(u'image', background) self.liveController.imageManager.update_images(u'image', background)

View File

@ -27,7 +27,7 @@
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import SettingsTab, translate, Receiver from openlp.core.lib import Receiver, Settings, SettingsTab, translate
class ImageTab(SettingsTab): class ImageTab(SettingsTab):
""" """
@ -82,19 +82,18 @@ class ImageTab(SettingsTab):
u'background-color: %s' % self.bg_color) u'background-color: %s' % self.bg_color)
def load(self): def load(self):
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(self.settingsSection) settings.beginGroup(self.settingsSection)
self.bg_color = unicode(settings.value( self.bg_color = unicode(settings.value(u'background color', u'#000000'))
u'background color', QtCore.QVariant(u'#000000')).toString())
self.initial_color = self.bg_color self.initial_color = self.bg_color
settings.endGroup() settings.endGroup()
self.backgroundColorButton.setStyleSheet( self.backgroundColorButton.setStyleSheet(
u'background-color: %s' % self.bg_color) u'background-color: %s' % self.bg_color)
def save(self): def save(self):
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(self.settingsSection) settings.beginGroup(self.settingsSection)
settings.setValue(u'background color', QtCore.QVariant(self.bg_color)) settings.setValue(u'background color', self.bg_color)
settings.endGroup() settings.endGroup()
if self.initial_color != self.bg_color: if self.initial_color != self.bg_color:
Receiver.send_message(u'image_updated') Receiver.send_message(u'image_updated')

View File

@ -33,7 +33,7 @@ from PyQt4 import QtCore, QtGui
from openlp.core.lib import MediaManagerItem, build_icon, ItemCapabilities, \ from openlp.core.lib import MediaManagerItem, build_icon, ItemCapabilities, \
SettingsManager, translate, check_item_selected, check_directory_exists, \ SettingsManager, translate, check_item_selected, check_directory_exists, \
Receiver, create_thumb, validate_thumb Receiver, create_thumb, validate_thumb, Settings
from openlp.core.lib.ui import UiStrings, critical_error_message_box from openlp.core.lib.ui import UiStrings, critical_error_message_box
from openlp.core.utils import AppLocation, delete_file, get_images_filter from openlp.core.utils import AppLocation, delete_file, get_images_filter
@ -141,7 +141,7 @@ class ImageMediaItem(MediaManagerItem):
item_name = QtGui.QListWidgetItem(filename) item_name = QtGui.QListWidgetItem(filename)
item_name.setIcon(icon) item_name.setIcon(icon)
item_name.setToolTip(imageFile) item_name.setToolTip(imageFile)
item_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(imageFile)) item_name.setData(QtCore.Qt.UserRole, imageFile)
self.listView.addItem(item_name) self.listView.addItem(item_name)
if not initialLoad: if not initialLoad:
self.plugin.formParent.incrementProgressBar() self.plugin.formParent.incrementProgressBar()
@ -151,8 +151,8 @@ class ImageMediaItem(MediaManagerItem):
def generateSlideData(self, service_item, item=None, xmlVersion=False, def generateSlideData(self, service_item, item=None, xmlVersion=False,
remote=False): remote=False):
background = QtGui.QColor(QtCore.QSettings().value(self.settingsSection background = QtGui.QColor(Settings().value(self.settingsSection
+ u'/background color', QtCore.QVariant(u'#000000'))) + u'/background color', u'#000000'))
if item: if item:
items = [item] items = [item]
else: else:
@ -220,9 +220,8 @@ class ImageMediaItem(MediaManagerItem):
if check_item_selected(self.listView, if check_item_selected(self.listView,
translate('ImagePlugin.MediaItem', translate('ImagePlugin.MediaItem',
'You must select an image to replace the background with.')): 'You must select an image to replace the background with.')):
background = QtGui.QColor(QtCore.QSettings().value( background = QtGui.QColor(Settings().value(
self.settingsSection + u'/background color', self.settingsSection + u'/background color', u'#000000'))
QtCore.QVariant(u'#000000')))
item = self.listView.selectedIndexes()[0] item = self.listView.selectedIndexes()[0]
bitem = self.listView.item(item.row()) bitem = self.listView.item(item.row())
filename = unicode(bitem.data(QtCore.Qt.UserRole).toString()) filename = unicode(bitem.data(QtCore.Qt.UserRole).toString())

View File

@ -293,13 +293,13 @@ class MediaMediaItem(MediaManagerItem):
filename = os.path.split(unicode(track))[1] filename = os.path.split(unicode(track))[1]
item_name = QtGui.QListWidgetItem(filename) item_name = QtGui.QListWidgetItem(filename)
item_name.setIcon(build_icon(CLAPPERBOARD)) item_name.setIcon(build_icon(CLAPPERBOARD))
item_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(track)) item_name.setData(QtCore.Qt.UserRole, track)
else: else:
filename = os.path.split(unicode(track))[1] filename = os.path.split(unicode(track))[1]
item_name = QtGui.QListWidgetItem(filename) item_name = QtGui.QListWidgetItem(filename)
#TODO: add the appropriate Icon #TODO: add the appropriate Icon
#item_name.setIcon(build_icon(DVD_ICON)) #item_name.setIcon(build_icon(DVD_ICON))
item_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(track)) item_name.setData(QtCore.Qt.UserRole, track)
item_name.setToolTip(track) item_name.setToolTip(track)
self.listView.addItem(item_name) self.listView.addItem(item_name)

View File

@ -27,7 +27,7 @@
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import SettingsTab, translate, Receiver from openlp.core.lib import Receiver, Settings, SettingsTab, translate
from openlp.core.lib.ui import UiStrings, create_button from openlp.core.lib.ui import UiStrings, create_button
from openlp.core.ui.media import get_media_players, set_media_players from openlp.core.ui.media import get_media_players, set_media_players
class MediaQCheckBox(QtGui.QCheckBox): class MediaQCheckBox(QtGui.QCheckBox):
@ -186,9 +186,8 @@ class MediaTab(SettingsTab):
else: else:
checkbox.setChecked(False) checkbox.setChecked(False)
self.updatePlayerList() self.updatePlayerList()
self.overridePlayerCheckBox.setChecked(QtCore.QSettings().value( self.overridePlayerCheckBox.setChecked(Settings().value(
self.settingsSection + u'/override player', self.settingsSection + u'/override player', QtCore.Qt.Unchecked))
QtCore.QVariant(QtCore.Qt.Unchecked)).toInt()[0])
def save(self): def save(self):
override_changed = False override_changed = False
@ -200,10 +199,10 @@ class MediaTab(SettingsTab):
player_string_changed = True player_string_changed = True
override_changed = True override_changed = True
setting_key = self.settingsSection + u'/override player' setting_key = self.settingsSection + u'/override player'
if QtCore.QSettings().value(setting_key).toInt()[0] != \ if Settings().value(setting_key).toInt()[0] != \
self.overridePlayerCheckBox.checkState(): self.overridePlayerCheckBox.checkState():
QtCore.QSettings().setValue(setting_key, Settings().setValue(setting_key,
QtCore.QVariant(self.overridePlayerCheckBox.checkState())) self.overridePlayerCheckBox.checkState())
override_changed = True override_changed = True
if override_changed: if override_changed:
Receiver.send_message(u'mediaitem_media_rebuild') Receiver.send_message(u'mediaitem_media_rebuild')

View File

@ -29,7 +29,8 @@ import logging
from PyQt4 import QtCore from PyQt4 import QtCore
from openlp.core.lib import Plugin, StringContent, build_icon, translate from openlp.core.lib import Plugin, StringContent, build_icon, translate, \
Settings
from openlp.plugins.media.lib import MediaMediaItem, MediaTab from openlp.plugins.media.lib import MediaMediaItem, MediaTab
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@ -126,7 +127,7 @@ class MediaPlugin(Plugin):
we want to check if we have the old "Use Phonon" setting, and convert we want to check if we have the old "Use Phonon" setting, and convert
it to "enable Phonon" and "make it the first one in the list". it to "enable Phonon" and "make it the first one in the list".
""" """
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(self.settingsSection) settings.beginGroup(self.settingsSection)
if settings.contains(u'use phonon'): if settings.contains(u'use phonon'):
log.info(u'Found old Phonon setting') log.info(u'Found old Phonon setting')
@ -140,8 +141,7 @@ class MediaPlugin(Plugin):
if player != u'phonon'] if player != u'phonon']
new_players.insert(0, u'phonon') new_players.insert(0, u'phonon')
self.mediaController.mediaPlayers[u'phonon'].isActive = True self.mediaController.mediaPlayers[u'phonon'].isActive = True
settings.setValue(u'players', \ settings.setValue(u'players', u','.join(new_players))
QtCore.QVariant(u','.join(new_players)))
self.settingsTab.load() self.settingsTab.load()
settings.remove(u'use phonon') settings.remove(u'use phonon')
settings.endGroup() settings.endGroup()

View File

@ -33,7 +33,7 @@ from PyQt4 import QtCore, QtGui
from openlp.core.lib import MediaManagerItem, build_icon, SettingsManager, \ from openlp.core.lib import MediaManagerItem, build_icon, SettingsManager, \
translate, check_item_selected, Receiver, ItemCapabilities, create_thumb, \ translate, check_item_selected, Receiver, ItemCapabilities, create_thumb, \
validate_thumb validate_thumb, Settings
from openlp.core.lib.ui import UiStrings, critical_error_message_box, \ from openlp.core.lib.ui import UiStrings, critical_error_message_box, \
create_horizontal_adjusting_combo_box create_horizontal_adjusting_combo_box
from openlp.plugins.presentations.lib import MessageListener from openlp.plugins.presentations.lib import MessageListener
@ -149,8 +149,8 @@ class PresentationMediaItem(MediaManagerItem):
if self.displayTypeComboBox.count() > 1: if self.displayTypeComboBox.count() > 1:
self.displayTypeComboBox.insertItem(0, self.Automatic) self.displayTypeComboBox.insertItem(0, self.Automatic)
self.displayTypeComboBox.setCurrentIndex(0) self.displayTypeComboBox.setCurrentIndex(0)
if QtCore.QSettings().value(self.settingsSection + u'/override app', if Settings().value(self.settingsSection + u'/override app',
QtCore.QVariant(QtCore.Qt.Unchecked)) == QtCore.Qt.Checked: QtCore.Qt.Unchecked) == QtCore.Qt.Checked:
self.presentationWidget.show() self.presentationWidget.show()
else: else:
self.presentationWidget.hide() self.presentationWidget.hide()
@ -211,7 +211,7 @@ class PresentationMediaItem(MediaManagerItem):
'This type of presentation is not supported.')) 'This type of presentation is not supported.'))
continue continue
item_name = QtGui.QListWidgetItem(filename) item_name = QtGui.QListWidgetItem(filename)
item_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(file)) item_name.setData(QtCore.Qt.UserRole, file)
item_name.setIcon(icon) item_name.setIcon(icon)
item_name.setToolTip(file) item_name.setToolTip(file)
self.listView.addItem(item_name) self.listView.addItem(item_name)

View File

@ -32,7 +32,7 @@ import shutil
from PyQt4 import QtCore from PyQt4 import QtCore
from openlp.core.lib import Receiver, check_directory_exists, create_thumb, \ from openlp.core.lib import Receiver, check_directory_exists, create_thumb, \
validate_thumb validate_thumb, Settings
from openlp.core.utils import AppLocation from openlp.core.utils import AppLocation
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@ -392,10 +392,8 @@ class PresentationController(object):
""" """
Return whether the controller is currently enabled Return whether the controller is currently enabled
""" """
if QtCore.QSettings().value( if Settings().value(self.settings_section + u'/' + self.name,
self.settings_section + u'/' + self.name, QtCore.Qt.Checked) == QtCore.Qt.Checked:
QtCore.QVariant(QtCore.Qt.Checked)).toInt()[0] == \
QtCore.Qt.Checked:
return self.is_available() return self.is_available()
else: else:
return False return False

View File

@ -27,7 +27,7 @@
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import Receiver, SettingsTab, translate from openlp.core.lib import Receiver, Settings, SettingsTab, translate
from openlp.core.lib.ui import UiStrings from openlp.core.lib.ui import UiStrings
class PresentationTab(SettingsTab): class PresentationTab(SettingsTab):
@ -102,12 +102,11 @@ class PresentationTab(SettingsTab):
for key in self.controllers: for key in self.controllers:
controller = self.controllers[key] controller = self.controllers[key]
checkbox = self.PresenterCheckboxes[controller.name] checkbox = self.PresenterCheckboxes[controller.name]
checkbox.setChecked(QtCore.QSettings().value( checkbox.setChecked(Settings().value(
self.settingsSection + u'/' + controller.name, self.settingsSection + u'/' + controller.name,
QtCore.QVariant(QtCore.Qt.Checked)).toInt()[0]) QtCore.Qt.Checked))
self.OverrideAppCheckBox.setChecked(QtCore.QSettings().value( self.OverrideAppCheckBox.setChecked(Settings().value(
self.settingsSection + u'/override app', self.settingsSection + u'/override app', QtCore.Qt.Unchecked))
QtCore.QVariant(QtCore.Qt.Unchecked)).toInt()[0])
def save(self): def save(self):
""" """
@ -123,20 +122,20 @@ class PresentationTab(SettingsTab):
if controller.is_available(): if controller.is_available():
checkbox = self.PresenterCheckboxes[controller.name] checkbox = self.PresenterCheckboxes[controller.name]
setting_key = self.settingsSection + u'/' + controller.name setting_key = self.settingsSection + u'/' + controller.name
if QtCore.QSettings().value(setting_key) != \ if Settings().value(setting_key) != \
checkbox.checkState(): checkbox.checkState():
changed = True changed = True
QtCore.QSettings().setValue(setting_key, Settings().setValue(setting_key,
QtCore.QVariant(checkbox.checkState())) checkbox.checkState())
if checkbox.isChecked(): if checkbox.isChecked():
controller.start_process() controller.start_process()
else: else:
controller.kill() controller.kill()
setting_key = self.settingsSection + u'/override app' setting_key = self.settingsSection + u'/override app'
if QtCore.QSettings().value(setting_key) != \ if Settings().value(setting_key) != \
self.OverrideAppCheckBox.checkState(): self.OverrideAppCheckBox.checkState():
QtCore.QSettings().setValue(setting_key, Settings().setValue(setting_key,
QtCore.QVariant(self.OverrideAppCheckBox.checkState())) self.OverrideAppCheckBox.checkState())
changed = True changed = True
if changed: if changed:
Receiver.send_message(u'mediaitem_presentation_rebuild') Receiver.send_message(u'mediaitem_presentation_rebuild')

View File

@ -121,7 +121,7 @@ import urlparse
from PyQt4 import QtCore, QtNetwork from PyQt4 import QtCore, QtNetwork
from mako.template import Template from mako.template import Template
from openlp.core.lib import Receiver, PluginStatus, StringContent from openlp.core.lib import Receiver, Settings, PluginStatus, StringContent
from openlp.core.utils import AppLocation, translate from openlp.core.utils import AppLocation, translate
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@ -169,12 +169,10 @@ class HttpServer(object):
clients. Listen out for socket connections. clients. Listen out for socket connections.
""" """
log.debug(u'Start TCP server') log.debug(u'Start TCP server')
port = QtCore.QSettings().value( port = Settings().value(
self.plugin.settingsSection + u'/port', self.plugin.settingsSection + u'/port', 4316)
QtCore.QVariant(4316)).toInt()[0] address = Settings().value(
address = QtCore.QSettings().value( self.plugin.settingsSection + u'/ip address', u'0.0.0.0')
self.plugin.settingsSection + u'/ip address',
QtCore.QVariant(u'0.0.0.0')).toString()
self.server = QtNetwork.QTcpServer() self.server = QtNetwork.QTcpServer()
self.server.listen(QtNetwork.QHostAddress(address), port) self.server.listen(QtNetwork.QHostAddress(address), port)
QtCore.QObject.connect(Receiver.get_receiver(), QtCore.QObject.connect(Receiver.get_receiver(),
@ -404,14 +402,11 @@ class HttpConnection(object):
u'slide': self.parent.current_slide or 0, u'slide': self.parent.current_slide or 0,
u'item': self.parent.current_item._uuid \ u'item': self.parent.current_item._uuid \
if self.parent.current_item else u'', if self.parent.current_item else u'',
u'twelve':QtCore.QSettings().value( u'twelve': Settings().value(u'remotes/twelve hour', True),
u'remotes/twelve hour', QtCore.QVariant(True)).toBool(), u'blank': self.parent.plugin.liveController.blankScreen.isChecked(),
u'blank': self.parent.plugin.liveController.blankScreen.\ u'theme': self.parent.plugin.liveController.themeScreen.isChecked(),
isChecked(), u'display': \
u'theme': self.parent.plugin.liveController.themeScreen.\ self.parent.plugin.liveController.desktopScreen.isChecked()
isChecked(),
u'display': self.parent.plugin.liveController.desktopScreen.\
isChecked()
} }
return HttpResponse(json.dumps({u'results': result}), return HttpResponse(json.dumps({u'results': result}),
{u'Content-Type': u'application/json'}) {u'Content-Type': u'application/json'})

View File

@ -27,7 +27,7 @@
from PyQt4 import QtCore, QtGui, QtNetwork from PyQt4 import QtCore, QtGui, QtNetwork
from openlp.core.lib import SettingsTab, translate, Receiver from openlp.core.lib import Settings, SettingsTab, translate, Receiver
ZERO_URL = u'0.0.0.0' ZERO_URL = u'0.0.0.0'
@ -149,30 +149,29 @@ class RemoteTab(SettingsTab):
def load(self): def load(self):
self.portSpinBox.setValue( self.portSpinBox.setValue(
QtCore.QSettings().value(self.settingsSection + u'/port', Settings().value(self.settingsSection + u'/port',
QtCore.QVariant(4316)).toInt()[0]) 4316))
self.addressEdit.setText( self.addressEdit.setText(
QtCore.QSettings().value(self.settingsSection + u'/ip address', Settings().value(self.settingsSection + u'/ip address',
QtCore.QVariant(ZERO_URL)).toString()) ZERO_URL))
self.twelveHour = QtCore.QSettings().value( self.twelveHour = Settings().value(
self.settingsSection + u'/twelve hour', self.settingsSection + u'/twelve hour', True)
QtCore.QVariant(True)).toBool()
self.twelveHourCheckBox.setChecked(self.twelveHour) self.twelveHourCheckBox.setChecked(self.twelveHour)
self.setUrls() self.setUrls()
def save(self): def save(self):
changed = False changed = False
if QtCore.QSettings().value(self.settingsSection + u'/ip address', if Settings().value(self.settingsSection + u'/ip address',
QtCore.QVariant(ZERO_URL).toString() != self.addressEdit.text() or ZERO_URL != self.addressEdit.text() or
QtCore.QSettings().value(self.settingsSection + u'/port', Settings().value(self.settingsSection + u'/port',
QtCore.QVariant(4316).toInt()[0]) != self.portSpinBox.value()): 4316) != self.portSpinBox.value()):
changed = True changed = True
QtCore.QSettings().setValue(self.settingsSection + u'/port', Settings().setValue(self.settingsSection + u'/port',
QtCore.QVariant(self.portSpinBox.value())) self.portSpinBox.value())
QtCore.QSettings().setValue(self.settingsSection + u'/ip address', Settings().setValue(self.settingsSection + u'/ip address',
QtCore.QVariant(self.addressEdit.text())) self.addressEdit.text())
QtCore.QSettings().setValue(self.settingsSection + u'/twelve hour', Settings().setValue(self.settingsSection + u'/twelve hour',
QtCore.QVariant(self.twelveHour)) self.twelveHour)
if changed: if changed:
Receiver.send_message(u'remotes_config_updated') Receiver.send_message(u'remotes_config_updated')

View File

@ -145,8 +145,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
for author in authors: for author in authors:
row = self.authorsComboBox.count() row = self.authorsComboBox.count()
self.authorsComboBox.addItem(author.display_name) self.authorsComboBox.addItem(author.display_name)
self.authorsComboBox.setItemData( self.authorsComboBox.setItemData(row, author.id)
row, QtCore.QVariant(author.id))
self.authors.append(author.display_name) self.authors.append(author.display_name)
set_case_insensitive_completer(self.authors, self.authorsComboBox) set_case_insensitive_completer(self.authors, self.authorsComboBox)
@ -166,7 +165,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
row = combo.count() row = combo.count()
combo.addItem(object.name) combo.addItem(object.name)
cache.append(object.name) cache.append(object.name)
combo.setItemData(row, QtCore.QVariant(object.id)) combo.setItemData(row, object.id)
set_case_insensitive_completer(cache, combo) set_case_insensitive_completer(cache, combo)
def loadThemes(self, theme_list): def loadThemes(self, theme_list):
@ -280,7 +279,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
verse[0][u'label'] = u'1' verse[0][u'label'] = u'1'
verse_def = u'%s%s' % (verse[0][u'type'], verse[0][u'label']) verse_def = u'%s%s' % (verse[0][u'type'], verse[0][u'label'])
item = QtGui.QTableWidgetItem(verse[1]) item = QtGui.QTableWidgetItem(verse[1])
item.setData(QtCore.Qt.UserRole, QtCore.QVariant(verse_def)) item.setData(QtCore.Qt.UserRole, verse_def)
self.verseListWidget.setItem(count, 0, item) self.verseListWidget.setItem(count, 0, item)
else: else:
verses = self.song.lyrics.split(u'\n\n') verses = self.song.lyrics.split(u'\n\n')
@ -290,7 +289,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
item = QtGui.QTableWidgetItem(verse) item = QtGui.QTableWidgetItem(verse)
verse_def = u'%s%s' % \ verse_def = u'%s%s' % \
(VerseType.Tags[VerseType.Verse], unicode(count + 1)) (VerseType.Tags[VerseType.Verse], unicode(count + 1))
item.setData(QtCore.Qt.UserRole, QtCore.QVariant(verse_def)) item.setData(QtCore.Qt.UserRole, verse_def)
self.verseListWidget.setItem(count, 0, item) self.verseListWidget.setItem(count, 0, item)
if self.song.verse_order: if self.song.verse_order:
# we translate verse order # we translate verse order
@ -312,20 +311,19 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
self.authorsListView.clear() self.authorsListView.clear()
for author in self.song.authors: for author in self.song.authors:
author_name = QtGui.QListWidgetItem(unicode(author.display_name)) author_name = QtGui.QListWidgetItem(unicode(author.display_name))
author_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(author.id)) author_name.setData(QtCore.Qt.UserRole, author.id)
self.authorsListView.addItem(author_name) self.authorsListView.addItem(author_name)
# clear the results # clear the results
self.topicsListView.clear() self.topicsListView.clear()
for topic in self.song.topics: for topic in self.song.topics:
topic_name = QtGui.QListWidgetItem(unicode(topic.name)) topic_name = QtGui.QListWidgetItem(unicode(topic.name))
topic_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(topic.id)) topic_name.setData(QtCore.Qt.UserRole, topic.id)
self.topicsListView.addItem(topic_name) self.topicsListView.addItem(topic_name)
self.audioListWidget.clear() self.audioListWidget.clear()
for media in self.song.media_files: for media in self.song.media_files:
media_file = QtGui.QListWidgetItem( media_file = QtGui.QListWidgetItem(
os.path.split(media.file_name)[1]) os.path.split(media.file_name)[1])
media_file.setData(QtCore.Qt.UserRole, media_file.setData(QtCore.Qt.UserRole, media.file_name)
QtCore.QVariant(media.file_name))
self.audioListWidget.addItem(media_file) self.audioListWidget.addItem(media_file)
self.titleEdit.setFocus(QtCore.Qt.OtherFocusReason) self.titleEdit.setFocus(QtCore.Qt.OtherFocusReason)
# Hide or show the preview button. # Hide or show the preview button.
@ -396,7 +394,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
Add an author to the author list. Add an author to the author list.
""" """
author_item = QtGui.QListWidgetItem(unicode(author.display_name)) author_item = QtGui.QListWidgetItem(unicode(author.display_name))
author_item.setData(QtCore.Qt.UserRole, QtCore.QVariant(author.id)) author_item.setData(QtCore.Qt.UserRole, author.id)
self.authorsListView.addItem(author_item) self.authorsListView.addItem(author_item)
def onAuthorsListViewClicked(self): def onAuthorsListViewClicked(self):
@ -422,8 +420,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
topic = Topic.populate(name=text) topic = Topic.populate(name=text)
self.manager.save_object(topic) self.manager.save_object(topic)
topic_item = QtGui.QListWidgetItem(unicode(topic.name)) topic_item = QtGui.QListWidgetItem(unicode(topic.name))
topic_item.setData(QtCore.Qt.UserRole, topic_item.setData(QtCore.Qt.UserRole, topic.id)
QtCore.QVariant(topic.id))
self.topicsListView.addItem(topic_item) self.topicsListView.addItem(topic_item)
self.loadTopics() self.loadTopics()
self.topicsComboBox.setCurrentIndex(0) self.topicsComboBox.setCurrentIndex(0)
@ -439,8 +436,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
'This topic is already in the list.')) 'This topic is already in the list.'))
else: else:
topic_item = QtGui.QListWidgetItem(unicode(topic.name)) topic_item = QtGui.QListWidgetItem(unicode(topic.name))
topic_item.setData(QtCore.Qt.UserRole, topic_item.setData(QtCore.Qt.UserRole, topic.id)
QtCore.QVariant(topic.id))
self.topicsListView.addItem(topic_item) self.topicsListView.addItem(topic_item)
self.topicsComboBox.setCurrentIndex(0) self.topicsComboBox.setCurrentIndex(0)
else: else:
@ -469,7 +465,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
after_text, verse_tag, verse_num = self.verseForm.getVerse() after_text, verse_tag, verse_num = self.verseForm.getVerse()
verse_def = u'%s%s' % (verse_tag, verse_num) verse_def = u'%s%s' % (verse_tag, verse_num)
item = QtGui.QTableWidgetItem(after_text) item = QtGui.QTableWidgetItem(after_text)
item.setData(QtCore.Qt.UserRole, QtCore.QVariant(verse_def)) item.setData(QtCore.Qt.UserRole, verse_def)
item.setText(after_text) item.setText(after_text)
self.verseListWidget.setRowCount( self.verseListWidget.setRowCount(
self.verseListWidget.rowCount() + 1) self.verseListWidget.rowCount() + 1)
@ -488,7 +484,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
if self.verseForm.exec_(): if self.verseForm.exec_():
after_text, verse_tag, verse_num = self.verseForm.getVerse() after_text, verse_tag, verse_num = self.verseForm.getVerse()
verse_def = u'%s%s' % (verse_tag, verse_num) verse_def = u'%s%s' % (verse_tag, verse_num)
item.setData(QtCore.Qt.UserRole, QtCore.QVariant(verse_def)) item.setData(QtCore.Qt.UserRole, verse_def)
item.setText(after_text) item.setText(after_text)
# number of lines has changed, repaint the list moving the data # number of lines has changed, repaint the list moving the data
if len(tempText.split(u'\n')) != len(after_text.split(u'\n')): if len(tempText.split(u'\n')) != len(after_text.split(u'\n')):
@ -557,8 +553,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
if parts.endswith(u'\n'): if parts.endswith(u'\n'):
parts = parts.rstrip(u'\n') parts = parts.rstrip(u'\n')
item = QtGui.QTableWidgetItem(parts) item = QtGui.QTableWidgetItem(parts)
item.setData(QtCore.Qt.UserRole, item.setData(QtCore.Qt.UserRole, verse_def)
QtCore.QVariant(verse_def))
self.verseListWidget.setRowCount( self.verseListWidget.setRowCount(
self.verseListWidget.rowCount() + 1) self.verseListWidget.rowCount() + 1)
self.verseListWidget.setItem( self.verseListWidget.setItem(
@ -733,8 +728,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
""" """
filters = u'%s (*)' % UiStrings().AllFiles filters = u'%s (*)' % UiStrings().AllFiles
filenames = QtGui.QFileDialog.getOpenFileNames(self, filenames = QtGui.QFileDialog.getOpenFileNames(self,
translate('SongsPlugin.EditSongForm', 'Open File(s)'), translate('SongsPlugin.EditSongForm', 'Open File(s)'), u'', filters)
QtCore.QString(), filters)
for filename in filenames: for filename in filenames:
item = QtGui.QListWidgetItem(os.path.split(unicode(filename))[1]) item = QtGui.QListWidgetItem(os.path.split(unicode(filename))[1])
item.setData(QtCore.Qt.UserRole, filename) item.setData(QtCore.Qt.UserRole, filename)

View File

@ -218,8 +218,9 @@ class SongExportForm(OpenLPWizard):
# Add the songs to the list of selected songs. # Add the songs to the list of selected songs.
for item in items: for item in items:
song = QtGui.QListWidgetItem(item.text()) song = QtGui.QListWidgetItem(item.text())
# TODO: check toPyObject()
song.setData(QtCore.Qt.UserRole, song.setData(QtCore.Qt.UserRole,
QtCore.QVariant(item.data(QtCore.Qt.UserRole).toPyObject())) item.data(QtCore.Qt.UserRole).toPyObject())
song.setFlags(QtCore.Qt.ItemIsEnabled) song.setFlags(QtCore.Qt.ItemIsEnabled)
self.selectedListWidget.addItem(song) self.selectedListWidget.addItem(song)
return True return True
@ -260,7 +261,7 @@ class SongExportForm(OpenLPWizard):
for author in song.authors]) for author in song.authors])
title = u'%s (%s)' % (unicode(song.title), authors) title = u'%s (%s)' % (unicode(song.title), authors)
item = QtGui.QListWidgetItem(title) item = QtGui.QListWidgetItem(title)
item.setData(QtCore.Qt.UserRole, QtCore.QVariant(song)) item.setData(QtCore.Qt.UserRole, song)
item.setFlags(QtCore.Qt.ItemIsSelectable| item.setFlags(QtCore.Qt.ItemIsSelectable|
QtCore.Qt.ItemIsUserCheckable | QtCore.Qt.ItemIsEnabled) QtCore.Qt.ItemIsUserCheckable | QtCore.Qt.ItemIsEnabled)
item.setCheckState(QtCore.Qt.Unchecked) item.setCheckState(QtCore.Qt.Unchecked)
@ -308,8 +309,9 @@ class SongExportForm(OpenLPWizard):
``text`` ``text``
The text to search for. (unicode string) The text to search for. (unicode string)
""" """
#TODO: check if unicode() can be removed.
return [item for item in listWidget.findItems( return [item for item in listWidget.findItems(
QtCore.QString(unicode(text)), QtCore.Qt.MatchContains) unicode(text), QtCore.Qt.MatchContains)
] ]
def onItemActivated(self, item): def onItemActivated(self, item):
@ -333,6 +335,8 @@ class SongExportForm(OpenLPWizard):
``text`` ``text``
The text of the *searchLineEdit*. (QString) The text of the *searchLineEdit*. (QString)
""" """
#TODO: check if unicode() can be removed.
print type(text)
search_result = [ search_result = [
song for song in self._findListWidgetItems( song for song in self._findListWidgetItems(
self.availableListWidget, unicode(text)) self.availableListWidget, unicode(text))

View File

@ -33,7 +33,7 @@ import os
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import Receiver, SettingsManager, translate from openlp.core.lib import Receiver, Settings, SettingsManager, translate
from openlp.core.lib.ui import UiStrings, critical_error_message_box from openlp.core.lib.ui import UiStrings, critical_error_message_box
from openlp.core.ui.wizard import OpenLPWizard, WizardStrings from openlp.core.ui.wizard import OpenLPWizard, WizardStrings
from openlp.plugins.songs.lib.importer import SongFormat from openlp.plugins.songs.lib.importer import SongFormat
@ -387,7 +387,7 @@ class SongImportForm(OpenLPWizard):
return True return True
elif self.currentPage() == self.sourcePage: elif self.currentPage() == self.sourcePage:
source_format = self.formatComboBox.currentIndex() source_format = self.formatComboBox.currentIndex()
QtCore.QSettings().setValue(u'songs/last import type', Settings().setValue(u'songs/last import type',
source_format) source_format)
if source_format == SongFormat.OpenLP2: if source_format == SongFormat.OpenLP2:
if self.openLP2FilenameEdit.text().isEmpty(): if self.openLP2FilenameEdit.text().isEmpty():
@ -740,7 +740,7 @@ class SongImportForm(OpenLPWizard):
self.restart() self.restart()
self.finishButton.setVisible(False) self.finishButton.setVisible(False)
self.cancelButton.setVisible(True) self.cancelButton.setVisible(True)
last_import_type = QtCore.QSettings().value( last_import_type = Settings().value(
u'songs/last import type').toInt()[0] u'songs/last import type').toInt()[0]
if last_import_type < 0 or \ if last_import_type < 0 or \
last_import_type >= self.formatComboBox.count(): last_import_type >= self.formatComboBox.count():

View File

@ -131,7 +131,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog):
else: else:
author_name = QtGui.QListWidgetItem( author_name = QtGui.QListWidgetItem(
u' '.join([author.first_name, author.last_name])) u' '.join([author.first_name, author.last_name]))
author_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(author.id)) author_name.setData(QtCore.Qt.UserRole, author.id)
self.authorsListWidget.addItem(author_name) self.authorsListWidget.addItem(author_name)
def resetTopics(self): def resetTopics(self):
@ -142,7 +142,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog):
topics = self.manager.get_all_objects(Topic, order_by_ref=Topic.name) topics = self.manager.get_all_objects(Topic, order_by_ref=Topic.name)
for topic in topics: for topic in topics:
topic_name = QtGui.QListWidgetItem(topic.name) topic_name = QtGui.QListWidgetItem(topic.name)
topic_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(topic.id)) topic_name.setData(QtCore.Qt.UserRole, topic.id)
self.topicsListWidget.addItem(topic_name) self.topicsListWidget.addItem(topic_name)
def resetBooks(self): def resetBooks(self):
@ -154,7 +154,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog):
for book in books: for book in books:
book_name = QtGui.QListWidgetItem(u'%s (%s)' % (book.name, book_name = QtGui.QListWidgetItem(u'%s (%s)' % (book.name,
book.publisher)) book.publisher))
book_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(book.id)) book_name.setData(QtCore.Qt.UserRole, book.id)
self.booksListWidget.addItem(book_name) self.booksListWidget.addItem(book_name)
def checkAuthor(self, new_author, edit=False): def checkAuthor(self, new_author, edit=False):

View File

@ -34,8 +34,9 @@ import shutil
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from sqlalchemy.sql import or_ from sqlalchemy.sql import or_
from openlp.core.lib import MediaManagerItem, Receiver, ItemCapabilities, \ from openlp.core.lib import MediaManagerItem, Receiver, Settings, \
translate, check_item_selected, PluginStatus, create_separated_list ItemCapabilities, translate, check_item_selected, PluginStatus, \
create_separated_list
from openlp.core.lib.ui import UiStrings, create_widget_action from openlp.core.lib.ui import UiStrings, create_widget_action
from openlp.core.utils import AppLocation from openlp.core.utils import AppLocation
from openlp.plugins.songs.forms import EditSongForm, SongMaintenanceForm, \ from openlp.plugins.songs.forms import EditSongForm, SongMaintenanceForm, \
@ -131,15 +132,13 @@ class SongMediaItem(MediaManagerItem):
self.searchTextEdit.setFocus() self.searchTextEdit.setFocus()
def configUpdated(self): def configUpdated(self):
self.searchAsYouType = QtCore.QSettings().value( # TODO: Check .toBool()
self.settingsSection + u'/search as type', self.searchAsYouType = bool(Settings().value(
QtCore.QVariant(u'False')).toBool() self.settingsSection + u'/search as type', False))
self.updateServiceOnEdit = QtCore.QSettings().value( self.updateServiceOnEdit = bool(Settings().value(
self.settingsSection + u'/update service on edit', self.settingsSection + u'/update service on edit', False))
QtCore.QVariant(u'False')).toBool() self.addSongFromService = bool(Settings().value(
self.addSongFromService = QtCore.QSettings().value( self.settingsSection + u'/add song from service', True))
self.settingsSection + u'/add song from service',
QtCore.QVariant(u'True')).toBool()
def retranslateUi(self): def retranslateUi(self):
self.searchTextLabel.setText(u'%s:' % UiStrings().Search) self.searchTextLabel.setText(u'%s:' % UiStrings().Search)
@ -168,16 +167,14 @@ class SongMediaItem(MediaManagerItem):
(SongSearch.Themes, u':/slides/slide_theme.png', (SongSearch.Themes, u':/slides/slide_theme.png',
UiStrings().Themes, UiStrings().SearchThemes) UiStrings().Themes, UiStrings().SearchThemes)
]) ])
self.searchTextEdit.setCurrentSearchType(QtCore.QSettings().value( self.searchTextEdit.setCurrentSearchType(Settings().value(
u'%s/last search type' % self.settingsSection, u'%s/last search type' % self.settingsSection, SongSearch.Entire))
QtCore.QVariant(SongSearch.Entire)).toInt()[0])
self.configUpdated() self.configUpdated()
def onSearchTextButtonClicked(self): def onSearchTextButtonClicked(self):
# Save the current search type to the configuration. # Save the current search type to the configuration.
QtCore.QSettings().setValue(u'%s/last search type' % Settings().setValue(u'%s/last search type' %
self.settingsSection, self.settingsSection, self.searchTextEdit.currentSearchType())
QtCore.QVariant(self.searchTextEdit.currentSearchType()))
# Reload the list considering the new search type. # Reload the list considering the new search type.
search_keywords = unicode(self.searchTextEdit.displayText()) search_keywords = unicode(self.searchTextEdit.displayText())
search_results = [] search_results = []
@ -271,7 +268,7 @@ class SongMediaItem(MediaManagerItem):
song_detail = u'%s (%s)' % (song_title, song_detail = u'%s (%s)' % (song_title,
create_separated_list(author_list)) create_separated_list(author_list))
song_name = QtGui.QListWidgetItem(song_detail) song_name = QtGui.QListWidgetItem(song_detail)
song_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(song.id)) song_name.setData(QtCore.Qt.UserRole, song.id)
self.listView.addItem(song_name) self.listView.addItem(song_name)
# Auto-select the item if name has been set # Auto-select the item if name has been set
if song.id == self.autoSelectId: if song.id == self.autoSelectId:
@ -288,7 +285,7 @@ class SongMediaItem(MediaManagerItem):
continue continue
song_detail = u'%s (%s)' % (author.display_name, song.title) song_detail = u'%s (%s)' % (author.display_name, song.title)
song_name = QtGui.QListWidgetItem(song_detail) song_name = QtGui.QListWidgetItem(song_detail)
song_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(song.id)) song_name.setData(QtCore.Qt.UserRole, song.id)
self.listView.addItem(song_name) self.listView.addItem(song_name)
def displayResultsBook(self, searchresults, song_number=False): def displayResultsBook(self, searchresults, song_number=False):
@ -306,7 +303,7 @@ class SongMediaItem(MediaManagerItem):
song_detail = u'%s - %s (%s)' % (book.name, song.song_number, song_detail = u'%s - %s (%s)' % (book.name, song.song_number,
song.title) song.title)
song_name = QtGui.QListWidgetItem(song_detail) song_name = QtGui.QListWidgetItem(song_detail)
song_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(song.id)) song_name.setData(QtCore.Qt.UserRole, song.id)
self.listView.addItem(song_name) self.listView.addItem(song_name)
def onClearTextButtonClick(self): def onClearTextButtonClick(self):
@ -516,12 +513,10 @@ class SongMediaItem(MediaManagerItem):
service_item.raw_footer.append(song.title) service_item.raw_footer.append(song.title)
service_item.raw_footer.append(create_separated_list(author_list)) service_item.raw_footer.append(create_separated_list(author_list))
service_item.raw_footer.append(song.copyright) service_item.raw_footer.append(song.copyright)
if QtCore.QSettings().value(u'general/ccli number', if Settings().value(u'general/ccli number', u''):
QtCore.QVariant(u'')).toString():
service_item.raw_footer.append(unicode( service_item.raw_footer.append(unicode(
translate('SongsPlugin.MediaItem', 'CCLI License: ') + translate('SongsPlugin.MediaItem', 'CCLI License: ') +
QtCore.QSettings().value(u'general/ccli number', Settings().value(u'general/ccli number', u'')))
QtCore.QVariant(u'')).toString()))
service_item.audit = [ service_item.audit = [
song.title, author_list, song.copyright, unicode(song.ccli_number) song.title, author_list, song.copyright, unicode(song.ccli_number)
] ]

View File

@ -27,7 +27,7 @@
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import SettingsTab, translate from openlp.core.lib import Settings, SettingsTab, translate
class SongsTab(SettingsTab): class SongsTab(SettingsTab):
""" """
@ -110,16 +110,12 @@ class SongsTab(SettingsTab):
self.update_load = True self.update_load = True
def load(self): def load(self):
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(self.settingsSection) settings.beginGroup(self.settingsSection)
self.song_search = settings.value( self.song_search = settings.value(u'search as type', False)
u'search as type', QtCore.QVariant(False)).toBool() self.tool_bar = settings.value(u'display songbar', True)
self.tool_bar = settings.value( self.update_edit = settings.value(u'update service on edit', False)
u'display songbar', QtCore.QVariant(True)).toBool() self.update_load = settings.value(u'add song from service', True)
self.update_edit = settings.value(
u'update service on edit', QtCore.QVariant(False)).toBool()
self.update_load = settings.value(
u'add song from service', QtCore.QVariant(True)).toBool()
self.searchAsTypeCheckBox.setChecked(self.song_search) self.searchAsTypeCheckBox.setChecked(self.song_search)
self.toolBarActiveCheckBox.setChecked(self.tool_bar) self.toolBarActiveCheckBox.setChecked(self.tool_bar)
self.updateOnEditCheckBox.setChecked(self.update_edit) self.updateOnEditCheckBox.setChecked(self.update_edit)
@ -127,12 +123,10 @@ class SongsTab(SettingsTab):
settings.endGroup() settings.endGroup()
def save(self): def save(self):
settings = QtCore.QSettings() settings = Settings()
settings.beginGroup(self.settingsSection) settings.beginGroup(self.settingsSection)
settings.setValue(u'search as type', QtCore.QVariant(self.song_search)) settings.setValue(u'search as type', self.song_search)
settings.setValue(u'display songbar', QtCore.QVariant(self.tool_bar)) settings.setValue(u'display songbar', self.tool_bar)
settings.setValue(u'update service on edit', settings.setValue(u'update service on edit', self.update_edit)
QtCore.QVariant(self.update_edit)) settings.setValue(u'add song from service', self.update_load)
settings.setValue(u'add song from service',
QtCore.QVariant(self.update_load))
settings.endGroup() settings.endGroup()

View File

@ -31,7 +31,7 @@ import os
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from sqlalchemy.sql import and_ from sqlalchemy.sql import and_
from openlp.core.lib import SettingsManager, translate, Receiver, \ from openlp.core.lib import Receiver, Settings, SettingsManager, translate, \
check_directory_exists check_directory_exists
from openlp.plugins.songusage.lib.db import SongUsageItem from openlp.plugins.songusage.lib.db import SongUsageItem
from songusagedetaildialog import Ui_SongUsageDetailDialog from songusagedetaildialog import Ui_SongUsageDetailDialog
@ -59,12 +59,11 @@ class SongUsageDetailForm(QtGui.QDialog, Ui_SongUsageDetailDialog):
year = QtCore.QDate().currentDate().year() year = QtCore.QDate().currentDate().year()
if QtCore.QDate().currentDate().month() < 9: if QtCore.QDate().currentDate().month() < 9:
year -= 1 year -= 1
toDate = QtCore.QSettings().value( toDate = Settings().value(
u'songusage/to date', u'songusage/to date', QtCore.QDate(year, 8, 31)).toDate()
QtCore.QVariant(QtCore.QDate(year, 8, 31))).toDate() fromDate = Settings().value(
fromDate = QtCore.QSettings().value(
u'songusage/from date', u'songusage/from date',
QtCore.QVariant(QtCore.QDate(year - 1, 9, 1))).toDate() QtCore.QDate(year - 1, 9, 1)).toDate()
self.fromDate.setSelectedDate(fromDate) self.fromDate.setSelectedDate(fromDate)
self.toDate.setSelectedDate(toDate) self.toDate.setSelectedDate(toDate)
self.fileLineEdit.setText( self.fileLineEdit.setText(
@ -103,10 +102,10 @@ class SongUsageDetailForm(QtGui.QDialog, Ui_SongUsageDetailDialog):
'usage_detail_%s_%s.txt')) % ( 'usage_detail_%s_%s.txt')) % (
self.fromDate.selectedDate().toString(u'ddMMyyyy'), self.fromDate.selectedDate().toString(u'ddMMyyyy'),
self.toDate.selectedDate().toString(u'ddMMyyyy')) self.toDate.selectedDate().toString(u'ddMMyyyy'))
QtCore.QSettings().setValue(u'songusage/from date', Settings().setValue(u'songusage/from date',
QtCore.QVariant(self.fromDate.selectedDate())) self.fromDate.selectedDate())
QtCore.QSettings().setValue(u'songusage/to date', Settings().setValue(u'songusage/to date',
QtCore.QVariant(self.toDate.selectedDate())) self.toDate.selectedDate())
usage = self.plugin.manager.get_all_objects( usage = self.plugin.manager.get_all_objects(
SongUsageItem, and_( SongUsageItem, and_(
SongUsageItem.usagedate >= self.fromDate.selectedDate().toPyDate(), SongUsageItem.usagedate >= self.fromDate.selectedDate().toPyDate(),

View File

@ -30,8 +30,8 @@ from datetime import datetime
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import Plugin, StringContent, Receiver, build_icon, \ from openlp.core.lib import build_icon, Plugin, Receiver, Settings, \
translate StringContent, translate
from openlp.core.lib.db import Manager from openlp.core.lib.db import Manager
from openlp.core.lib.ui import create_action from openlp.core.lib.ui import create_action
from openlp.core.utils.actions import ActionList from openlp.core.utils.actions import ActionList
@ -125,9 +125,8 @@ class SongUsagePlugin(Plugin):
QtCore.QObject.connect(Receiver.get_receiver(), QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'print_service_started'), QtCore.SIGNAL(u'print_service_started'),
self.printSongUsage) self.printSongUsage)
self.songUsageActive = QtCore.QSettings().value( self.songUsageActive = Settings().value(
self.settingsSection + u'/active', self.settingsSection + u'/active', False)
QtCore.QVariant(False)).toBool()
# Set the button and checkbox state # Set the button and checkbox state
self.setButtonState() self.setButtonState()
action_list = ActionList.get_instance() action_list = ActionList.get_instance()
@ -168,8 +167,8 @@ class SongUsagePlugin(Plugin):
the UI when necessary, the UI when necessary,
""" """
self.songUsageActive = not self.songUsageActive self.songUsageActive = not self.songUsageActive
QtCore.QSettings().setValue(self.settingsSection + u'/active', Settings().setValue(self.settingsSection + u'/active',
QtCore.QVariant(self.songUsageActive)) self.songUsageActive)
self.setButtonState() self.setButtonState()
def setButtonState(self): def setButtonState(self):