Move Settings and translate

This commit is contained in:
Tim Bentley 2013-10-13 21:36:42 +01:00
parent a82c64237c
commit 63685cb29e
115 changed files with 257 additions and 693 deletions

View File

@ -43,8 +43,8 @@ from traceback import format_exception
from PyQt4 import QtCore, QtGui
from openlp.core.common import AppLocation, check_directory_exists
from openlp.core.lib import Settings, ScreenList, UiStrings, Registry
from openlp.core.common import AppLocation, Settings, UiStrings, check_directory_exists
from openlp.core.lib import ScreenList, Registry
from openlp.core.resources import qInitResources
from openlp.core.ui.mainwindow import MainWindow
from openlp.core.ui.firsttimelanguageform import FirstTimeLanguageForm

View File

@ -34,6 +34,8 @@ import os
import logging
import sys
from PyQt4 import QtCore
log = logging.getLogger(__name__)
@ -64,4 +66,44 @@ def get_frozen_path(frozen_option, non_frozen_option):
return frozen_option
return non_frozen_option
class ThemeLevel(object):
"""
Provides an enumeration for the level a theme applies to
"""
Global = 1
Service = 2
Song = 3
def translate(context, text, comment=None, encoding=QtCore.QCoreApplication.CodecForTr, n=-1,
qt_translate=QtCore.QCoreApplication.translate):
"""
A special shortcut method to wrap around the Qt4 translation functions. This abstracts the translation procedure so
that we can change it if at a later date if necessary, without having to redo the whole of OpenLP.
``context``
The translation context, used to give each string a context or a namespace.
``text``
The text to put into the translation tables for translation.
``comment``
An identifying string for when the same text is used in different roles within the same context.
"""
return qt_translate(context, text, comment, encoding, n)
class SlideLimits(object):
"""
Provides an enumeration for behaviour of OpenLP at the end limits of each service item when pressing the up/down
arrow keys
"""
End = 1
Wrap = 2
Next = 3
from .uistrings import UiStrings
from .settings import Settings
from .applocation import AppLocation

View File

@ -33,6 +33,9 @@ import logging
import os
import sys
from openlp.core.common import Settings
if sys.platform != 'win32' and sys.platform != 'darwin':
try:
from xdg import BaseDirectory
@ -91,7 +94,6 @@ class AppLocation(object):
Return the path OpenLP stores all its data under.
"""
# Check if we have a different data location.
from openlp.core.lib import Settings
if Settings().contains('advanced/data path'):
path = Settings().value('advanced/data path')
else:

View File

@ -31,7 +31,7 @@ The :mod:`uistrings` module provides standard strings for OpenLP.
"""
import logging
from openlp.core.lib import translate
from openlp.core.common import translate
log = logging.getLogger(__name__)

View File

@ -37,6 +37,8 @@ import os
from PyQt4 import QtCore, QtGui, Qt
from openlp.core.common import translate
log = logging.getLogger(__name__)
@ -72,16 +74,6 @@ class MediaType(object):
Video = 2
class SlideLimits(object):
"""
Provides an enumeration for behaviour of OpenLP at the end limits of each service item when pressing the up/down
arrow keys
"""
End = 1
Wrap = 2
Next = 3
class ServiceItemAction(object):
"""
Provides an enumeration for the required action moving between service items by left/right arrow keys
@ -91,24 +83,6 @@ class ServiceItemAction(object):
Next = 3
def translate(context, text, comment=None, encoding=QtCore.QCoreApplication.CodecForTr, n=-1,
qt_translate=QtCore.QCoreApplication.translate):
"""
A special shortcut method to wrap around the Qt4 translation functions. This abstracts the translation procedure so
that we can change it if at a later date if necessary, without having to redo the whole of OpenLP.
``context``
The translation context, used to give each string a context or a namespace.
``text``
The text to put into the translation tables for translation.
``comment``
An identifying string for when the same text is used in different roles within the same context.
"""
return qt_translate(context, text, comment, encoding, n)
def get_text_file_string(text_file):
"""
Open a file and return its content as unicode string. If the supplied file name is not a file then the function
@ -326,6 +300,7 @@ def expand_tags(text):
text = text.replace(tag['end tag'], tag['end html'])
return text
def create_separated_list(string_list):
"""
Returns a string that represents a join of a list of strings with a localized separator. This function corresponds
@ -355,9 +330,7 @@ def create_separated_list(string_list):
from .registry import Registry
from .uistrings import UiStrings
from .screen import ScreenList
from .settings import Settings
from .listwidgetwithdnd import ListWidgetWithDnD
from .treewidgetwithdnd import TreeWidgetWithDnD
from .formattingtags import FormattingTags

View File

@ -41,8 +41,8 @@ from sqlalchemy.pool import NullPool
from alembic.migration import MigrationContext
from alembic.operations import Operations
from openlp.core.common import AppLocation
from openlp.core.lib import translate, Settings
from openlp.core.common import AppLocation, Settings
from openlp.core.lib import translate
from openlp.core.lib.ui import critical_error_message_box
from openlp.core.utils import delete_file

View File

@ -31,7 +31,8 @@ Provide HTML Tag management and Formatting Tag access class
"""
import json
from openlp.core.lib import Settings, translate
from openlp.core.common import Settings
from openlp.core.lib import translate
class FormattingTags(object):

View File

@ -35,8 +35,9 @@ import re
from PyQt4 import QtCore, QtGui
from openlp.core.common import Settings, UiStrings, translate
from openlp.core.lib import OpenLPToolbar, ServiceItem, StringContent, ListWidgetWithDnD, \
ServiceItemContext, Settings, Registry, UiStrings, translate
ServiceItemContext, Registry
from openlp.core.lib.searchedit import SearchEdit
from openlp.core.lib.ui import create_widget_action, critical_error_message_box

View File

@ -34,7 +34,8 @@ import os
from PyQt4 import QtCore
from openlp.core.lib import Settings, Registry, UiStrings
from openlp.core.common import Settings, UiStrings
from openlp.core.lib import Registry
from openlp.core.utils import get_application_version
log = logging.getLogger(__name__)

View File

@ -31,9 +31,10 @@ import logging
from PyQt4 import QtGui, QtCore, QtWebKit
from openlp.core.lib import Settings, FormattingTags, ImageSource, ItemCapabilities, Registry, ScreenList, \
from openlp.core.common import Settings
from openlp.core.lib import FormattingTags, ImageSource, ItemCapabilities, Registry, ScreenList, \
ServiceItem, expand_tags, build_lyrics_format_css, build_lyrics_outline_css
from openlp.core.lib.theme import ThemeLevel
from openlp.core.common import ThemeLevel
from openlp.core.ui import MainDisplay
log = logging.getLogger(__name__)

View File

@ -36,7 +36,8 @@ import copy
from PyQt4 import QtCore
from openlp.core.lib import Registry, translate
from openlp.core.common import Settings, translate
from openlp.core.lib import Registry
log = logging.getLogger(__name__)
@ -244,7 +245,6 @@ class ScreenList(object):
"""
Loads the screen size and the monitor number from the settings.
"""
from openlp.core.lib import Settings
# Add the screen settings to the settings dict. This has to be done here due to cyclic dependency.
# Do not do this anywhere else.
screen_settings = {

View File

@ -39,7 +39,8 @@ import uuid
from PyQt4 import QtGui
from openlp.core.lib import ImageSource, Settings, Registry, build_icon, clean_tags, expand_tags, translate
from openlp.core.common import Settings
from openlp.core.lib import ImageSource, Registry, build_icon, clean_tags, expand_tags, translate
log = logging.getLogger(__name__)

View File

@ -1,499 +0,0 @@
# -*- coding: utf-8 -*-
# vim: autoindent shiftwidth=4 expandtab textwidth=120 tabstop=4 softtabstop=4
###############################################################################
# OpenLP - Open Source Lyrics Projection #
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2013 Raoul Snyman #
# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan #
# Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub, #
# Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer. #
# Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru, #
# Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Dave Warnock, #
# Frode Woldsund, Martin Zibricky, Patrick Zimmermann #
# --------------------------------------------------------------------------- #
# This program is free software; you can redistribute it and/or modify it #
# under the terms of the GNU General Public License as published by the Free #
# Software Foundation; version 2 of the License. #
# #
# This program is distributed in the hope that it will be useful, but WITHOUT #
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or #
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for #
# more details. #
# #
# You should have received a copy of the GNU General Public License along #
# with this program; if not, write to the Free Software Foundation, Inc., 59 #
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
###############################################################################
"""
This class contains the core default settings.
"""
import datetime
import logging
import os
import sys
from PyQt4 import QtCore, QtGui
from openlp.core.lib import SlideLimits, UiStrings
from openlp.core.lib.theme import ThemeLevel
log = logging.getLogger(__name__)
# Fix for bug #1014422.
X11_BYPASS_DEFAULT = True
if sys.platform.startswith('linux'):
# Default to False on Gnome.
X11_BYPASS_DEFAULT = bool(not os.environ.get('GNOME_DESKTOP_SESSION_ID'))
# Default to False on Xfce.
if os.environ.get('DESKTOP_SESSION') == 'xfce':
X11_BYPASS_DEFAULT = False
class Settings(QtCore.QSettings):
"""
Class to wrap QSettings.
* Exposes all the methods of QSettings.
* Adds functionality for OpenLP Portable. If the ``defaultFormat`` is set to
``IniFormat``, and the path to the Ini file is set using ``set_filename``,
then the Settings constructor (without any arguments) will create a Settings
object for accessing settings stored in that Ini file.
``__default_settings__``
This dict contains all core settings with their default values.
``__obsolete_settings__``
Each entry is structured in the following way::
(u'general/enable slide loop', u'advanced/slide limits',
[(SlideLimits.Wrap, True), (SlideLimits.End, False)])
The first entry is the *old key*; it will be removed.
The second entry is the *new key*; we will add it to the config. If this is just an empty string, we just remove
the old key.
The last entry is a list containing two-pair tuples. If the list is empty, no conversion is made. Otherwise each
pair describes how to convert the old setting's value::
(SlideLimits.Wrap, True)
This means, that if the value of ``general/enable slide loop`` is equal (``==``) ``True`` then we set
``advanced/slide limits`` to ``SlideLimits.Wrap``. **NOTE**, this means that the rules have to cover all cases!
So, if the type of the old value is bool, then there must be two rules.
"""
__default_settings__ = {
'advanced/add page break': False,
'advanced/alternate rows': not sys.platform.startswith('win'),
'advanced/current media plugin': -1,
'advanced/data path': '',
'advanced/default color': '#ffffff',
'advanced/default image': ':/graphics/openlp-splash-screen.png',
# 7 stands for now, 0 to 6 is Monday to Sunday.
'advanced/default service day': 7,
'advanced/default service enabled': True,
'advanced/default service hour': 11,
'advanced/default service minute': 0,
'advanced/default service name': UiStrings().DefaultServiceName,
'advanced/display size': 0,
'advanced/double click live': False,
'advanced/enable exit confirmation': True,
'advanced/expand service item': False,
'advanced/hide mouse': True,
'advanced/is portable': False,
'advanced/max recent files': 20,
'advanced/print file meta data': False,
'advanced/print notes': False,
'advanced/print slide text': False,
'advanced/recent file count': 4,
'advanced/save current plugin': False,
'advanced/slide limits': SlideLimits.End,
'advanced/single click preview': False,
'advanced/x11 bypass wm': X11_BYPASS_DEFAULT,
'crashreport/last directory': '',
'formattingTags/html_tags': '',
'core/audio repeat list': False,
'core/auto open': False,
'core/auto preview': False,
'core/audio start paused': True,
'core/auto unblank': False,
'core/blank warning': False,
'core/ccli number': '',
'core/has run wizard': False,
'core/language': '[en]',
'core/last version test': '',
'core/loop delay': 5,
'core/recent files': [],
'core/save prompt': False,
'core/screen blank': False,
'core/show splash': True,
'core/songselect password': '',
'core/songselect username': '',
'core/update check': True,
'core/view mode': 'default',
# The other display settings (display position and dimensions) are defined in the ScreenList class due to a
# circular dependency.
'core/display on monitor': True,
'core/override position': False,
'images/background color': '#000000',
'media/players': 'webkit',
'media/override player': QtCore.Qt.Unchecked,
'players/background color': '#000000',
'servicemanager/last directory': '',
'servicemanager/last file': '',
'servicemanager/service theme': '',
'SettingsImport/file_date_created': datetime.datetime.now().strftime("%Y-%m-%d %H:%M"),
'SettingsImport/Make_Changes': 'At_Own_RISK',
'SettingsImport/type': 'OpenLP_settings_export',
'SettingsImport/version': '',
'shortcuts/aboutItem': [QtGui.QKeySequence('Ctrl+F1')],
'shortcuts/addToService': [],
'shortcuts/audioPauseItem': [],
'shortcuts/displayTagItem': [],
'shortcuts/blankScreen': [QtGui.QKeySequence(QtCore.Qt.Key_Period)],
'shortcuts/collapse': [QtGui.QKeySequence(QtCore.Qt.Key_Minus)],
'shortcuts/desktopScreen': [QtGui.QKeySequence('D')],
'shortcuts/delete': [],
'shortcuts/down': [QtGui.QKeySequence(QtCore.Qt.Key_Down)],
'shortcuts/editSong': [],
'shortcuts/escapeItem': [QtGui.QKeySequence(QtCore.Qt.Key_Escape)],
'shortcuts/expand': [QtGui.QKeySequence(QtCore.Qt.Key_Plus)],
'shortcuts/exportThemeItem': [],
'shortcuts/fileNewItem': [QtGui.QKeySequence('Ctrl+N')],
'shortcuts/fileSaveAsItem': [QtGui.QKeySequence('Ctrl+Shift+S')],
'shortcuts/fileExitItem': [QtGui.QKeySequence('Alt+F4')],
'shortcuts/fileSaveItem': [QtGui.QKeySequence('Ctrl+S')],
'shortcuts/fileOpenItem': [QtGui.QKeySequence('Ctrl+O')],
'shortcuts/goLive': [],
'shortcuts/importThemeItem': [],
'shortcuts/importBibleItem': [],
'shortcuts/listViewBiblesDeleteItem': [QtGui.QKeySequence(QtCore.Qt.Key_Delete)],
'shortcuts/listViewBiblesPreviewItem': [QtGui.QKeySequence(QtCore.Qt.Key_Enter),
QtGui.QKeySequence(QtCore.Qt.Key_Return)],
'shortcuts/listViewBiblesLiveItem': [QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Enter),
QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Return)],
'shortcuts/listViewBiblesServiceItem': [QtGui.QKeySequence(QtCore.Qt.Key_Plus),
QtGui.QKeySequence(QtCore.Qt.Key_Equal)],
'shortcuts/listViewCustomDeleteItem': [QtGui.QKeySequence(QtCore.Qt.Key_Delete)],
'shortcuts/listViewCustomPreviewItem': [QtGui.QKeySequence(QtCore.Qt.Key_Enter),
QtGui.QKeySequence(QtCore.Qt.Key_Return)],
'shortcuts/listViewCustomLiveItem': [QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Enter),
QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Return)],
'shortcuts/listViewCustomServiceItem': [QtGui.QKeySequence(QtCore.Qt.Key_Plus),
QtGui.QKeySequence(QtCore.Qt.Key_Equal)],
'shortcuts/listViewImagesDeleteItem': [QtGui.QKeySequence(QtCore.Qt.Key_Delete)],
'shortcuts/listViewImagesPreviewItem': [QtGui.QKeySequence(QtCore.Qt.Key_Enter),
QtGui.QKeySequence(QtCore.Qt.Key_Return)],
'shortcuts/listViewImagesLiveItem': [QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Enter),
QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Return)],
'shortcuts/listViewImagesServiceItem': [QtGui.QKeySequence(QtCore.Qt.Key_Plus),
QtGui.QKeySequence(QtCore.Qt.Key_Equal)],
'shortcuts/listViewMediaDeleteItem': [QtGui.QKeySequence(QtCore.Qt.Key_Delete)],
'shortcuts/listViewMediaPreviewItem': [QtGui.QKeySequence(QtCore.Qt.Key_Enter),
QtGui.QKeySequence(QtCore.Qt.Key_Return)],
'shortcuts/listViewMediaLiveItem': [QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Enter),
QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Return)],
'shortcuts/listViewMediaServiceItem': [QtGui.QKeySequence(QtCore.Qt.Key_Plus),
QtGui.QKeySequence(QtCore.Qt.Key_Equal)],
'shortcuts/listViewPresentationsDeleteItem': [QtGui.QKeySequence(QtCore.Qt.Key_Delete)],
'shortcuts/listViewPresentationsPreviewItem': [QtGui.QKeySequence(QtCore.Qt.Key_Enter),
QtGui.QKeySequence(QtCore.Qt.Key_Return)],
'shortcuts/listViewPresentationsLiveItem': [QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Enter),
QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Return)],
'shortcuts/listViewPresentationsServiceItem': [QtGui.QKeySequence(QtCore.Qt.Key_Plus),
QtGui.QKeySequence(QtCore.Qt.Key_Equal)],
'shortcuts/listViewSongsDeleteItem': [QtGui.QKeySequence(QtCore.Qt.Key_Delete)],
'shortcuts/listViewSongsPreviewItem': [QtGui.QKeySequence(QtCore.Qt.Key_Enter),
QtGui.QKeySequence(QtCore.Qt.Key_Return)],
'shortcuts/listViewSongsLiveItem': [QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Enter),
QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Return)],
'shortcuts/listViewSongsServiceItem': [QtGui.QKeySequence(QtCore.Qt.Key_Plus),
QtGui.QKeySequence(QtCore.Qt.Key_Equal)],
'shortcuts/lockPanel': [],
'shortcuts/modeDefaultItem': [],
'shortcuts/modeLiveItem': [],
'shortcuts/make_live': [QtGui.QKeySequence(QtCore.Qt.Key_Enter), QtGui.QKeySequence(QtCore.Qt.Key_Return)],
'shortcuts/moveUp': [QtGui.QKeySequence(QtCore.Qt.Key_PageUp)],
'shortcuts/moveTop': [QtGui.QKeySequence(QtCore.Qt.Key_Home)],
'shortcuts/modeSetupItem': [],
'shortcuts/moveBottom': [QtGui.QKeySequence(QtCore.Qt.Key_End)],
'shortcuts/moveDown': [QtGui.QKeySequence(QtCore.Qt.Key_PageDown)],
'shortcuts/nextTrackItem': [],
'shortcuts/nextItem_live': [QtGui.QKeySequence(QtCore.Qt.Key_Down),
QtGui.QKeySequence(QtCore.Qt.Key_PageDown)],
'shortcuts/nextItem_preview': [],
'shortcuts/nextService': [QtGui.QKeySequence(QtCore.Qt.Key_Right)],
'shortcuts/newService': [],
'shortcuts/offlineHelpItem': [],
'shortcuts/onlineHelpItem': [QtGui.QKeySequence('Alt+F1')],
'shortcuts/openService': [],
'shortcuts/saveService': [],
'shortcuts/previousItem_live': [QtGui.QKeySequence(QtCore.Qt.Key_Up),
QtGui.QKeySequence(QtCore.Qt.Key_PageUp)],
'shortcuts/playbackPause': [],
'shortcuts/playbackPlay': [],
'shortcuts/playbackStop': [],
'shortcuts/playSlidesLoop': [],
'shortcuts/playSlidesOnce': [],
'shortcuts/previousService': [QtGui.QKeySequence(QtCore.Qt.Key_Left)],
'shortcuts/previousItem_preview': [],
'shortcuts/printServiceItem': [QtGui.QKeySequence('Ctrl+P')],
'shortcuts/songExportItem': [],
'shortcuts/songUsageStatus': [QtGui.QKeySequence(QtCore.Qt.Key_F4)],
'shortcuts/searchShortcut': [QtGui.QKeySequence('Ctrl+F')],
'shortcuts/settingsShortcutsItem': [],
'shortcuts/settingsImportItem': [],
'shortcuts/settingsPluginListItem': [QtGui.QKeySequence('Alt+F7')],
'shortcuts/songUsageDelete': [],
'shortcuts/settingsConfigureItem': [],
'shortcuts/shortcutAction_B': [QtGui.QKeySequence('B')],
'shortcuts/shortcutAction_C': [QtGui.QKeySequence('C')],
'shortcuts/shortcutAction_E': [QtGui.QKeySequence('E')],
'shortcuts/shortcutAction_I': [QtGui.QKeySequence('I')],
'shortcuts/shortcutAction_O': [QtGui.QKeySequence('O')],
'shortcuts/shortcutAction_P': [QtGui.QKeySequence('P')],
'shortcuts/shortcutAction_V': [QtGui.QKeySequence('V')],
'shortcuts/shortcutAction_0': [QtGui.QKeySequence('0')],
'shortcuts/shortcutAction_1': [QtGui.QKeySequence('1')],
'shortcuts/shortcutAction_2': [QtGui.QKeySequence('2')],
'shortcuts/shortcutAction_3': [QtGui.QKeySequence('3')],
'shortcuts/shortcutAction_4': [QtGui.QKeySequence('4')],
'shortcuts/shortcutAction_5': [QtGui.QKeySequence('5')],
'shortcuts/shortcutAction_6': [QtGui.QKeySequence('6')],
'shortcuts/shortcutAction_7': [QtGui.QKeySequence('7')],
'shortcuts/shortcutAction_8': [QtGui.QKeySequence('8')],
'shortcuts/shortcutAction_9': [QtGui.QKeySequence('9')],
'shortcuts/settingsExportItem': [],
'shortcuts/songUsageReport': [],
'shortcuts/songImportItem': [],
'shortcuts/themeScreen': [QtGui.QKeySequence('T')],
'shortcuts/toolsReindexItem': [],
'shortcuts/toolsFindDuplicates': [],
'shortcuts/toolsAlertItem': [QtGui.QKeySequence('F7')],
'shortcuts/toolsFirstTimeWizard': [],
'shortcuts/toolsOpenDataFolder': [],
'shortcuts/toolsAddToolItem': [],
'shortcuts/updateThemeImages': [],
'shortcuts/up': [QtGui.QKeySequence(QtCore.Qt.Key_Up)],
'shortcuts/viewThemeManagerItem': [QtGui.QKeySequence('F10')],
'shortcuts/viewMediaManagerItem': [QtGui.QKeySequence('F8')],
'shortcuts/viewPreviewPanel': [QtGui.QKeySequence('F11')],
'shortcuts/viewLivePanel': [QtGui.QKeySequence('F12')],
'shortcuts/viewServiceManagerItem': [QtGui.QKeySequence('F9')],
'shortcuts/webSiteItem': [],
'themes/global theme': '',
'themes/last directory': '',
'themes/last directory export': '',
'themes/last directory import': '',
'themes/theme level': ThemeLevel.Song,
'user interface/live panel': True,
'user interface/live splitter geometry': QtCore.QByteArray(),
'user interface/lock panel': False,
'user interface/main window geometry': QtCore.QByteArray(),
'user interface/main window position': QtCore.QPoint(0, 0),
'user interface/main window splitter geometry': QtCore.QByteArray(),
'user interface/main window state': QtCore.QByteArray(),
'user interface/preview panel': True,
'user interface/preview splitter geometry': QtCore.QByteArray()
}
__file_path__ = ''
__obsolete_settings__ = [
# Changed during 1.9.x development.
('bibles/bookname language', 'bibles/book name language', []),
('general/enable slide loop', 'advanced/slide limits', [(SlideLimits.Wrap, True), (SlideLimits.End, False)]),
('songs/ccli number', 'core/ccli number', []),
('media/use phonon', '', []),
# Changed during 2.1.x development.
('advanced/stylesheet fix', '', []),
('bibles/last directory 1', 'bibles/last directory import', []),
('media/background color', 'players/background color', []),
('themes/last directory', 'themes/last directory import', []),
('themes/last directory 1', 'themes/last directory export', []),
('songs/last directory 1', 'songs/last directory import', []),
('songusage/last directory 1', 'songusage/last directory export', []),
('user interface/mainwindow splitter geometry', 'user interface/main window splitter geometry', []),
('shortcuts/makeLive', 'shortcuts/make_live', []),
('general/audio repeat list', 'core/audio repeat list', []),
('general/auto open', 'core/auto open', []),
('general/auto preview', 'core/auto preview', []),
('general/audio start paused', 'core/audio start paused', []),
('general/auto unblank', 'core/auto unblank', []),
('general/blank warning', 'core/blank warning', []),
('general/ccli number', 'core/ccli number', []),
('general/has run wizard', 'core/has run wizard', []),
('general/language', 'core/language', []),
('general/last version test', 'core/last version test', []),
('general/loop delay', 'core/loop delay', []),
('general/recent files', 'core/recent files', []),
('general/save prompt', 'core/save prompt', []),
('general/screen blank', 'core/screen blank', []),
('general/show splash', 'core/show splash', []),
('general/songselect password', 'core/songselect password', []),
('general/songselect username', 'core/songselect username', []),
('general/update check', 'core/update check', []),
('general/view mode', 'core/view mode', []),
('general/display on monitor', 'core/display on monitor', []),
('general/override position', 'core/override position', []),
('general/x position', 'core/x position', []),
('general/y position', 'core/y position', []),
('general/monitor', 'core/monitor', []),
('general/height', 'core/height', []),
('general/monitor', 'core/monitor', []),
('general/width', 'core/width', [])
]
@staticmethod
def extend_default_settings(default_values):
"""
Static method to merge the given ``default_values`` with the ``Settings.__default_settings__``.
``default_values``
A dict with setting keys and their default values.
"""
Settings.__default_settings__ = dict(list(default_values.items()) + list(Settings.__default_settings__.items()))
@staticmethod
def set_filename(ini_file):
"""
Sets the complete path to an Ini file to be used by Settings objects.
Does not affect existing Settings objects.
"""
Settings.__file_path__ = ini_file
@staticmethod
def set_up_default_values():
"""
This static method is called on start up. It is used to perform any operation on the __default_settings__ dict.
"""
# Make sure the string is translated (when building the dict the string is not translated because the translate
# function was not set up as this stage).
Settings.__default_settings__['advanced/default service name'] = UiStrings().DefaultServiceName
def __init__(self, *args):
"""
Constructor which checks if this should be a native settings object, or an INI file.
"""
if not args and Settings.__file_path__ and Settings.defaultFormat() == Settings.IniFormat:
QtCore.QSettings.__init__(self, Settings.__file_path__, Settings.IniFormat)
else:
QtCore.QSettings.__init__(self, *args)
def get_default_value(self, key):
"""
Get the default value of the given key
"""
if self.group():
key = self.group() + '/' + key
return Settings.__default_settings__[key]
def remove_obsolete_settings(self):
"""
This method is only called to clean up the config. It removes old settings and it renames settings. See
``__obsolete_settings__`` for more details.
"""
for old_key, new_key, rules in Settings.__obsolete_settings__:
# Once removed we don't have to do this again.
if self.contains(old_key):
if new_key:
# Get the value of the old_key.
old_value = super(Settings, self).value(old_key)
# When we want to convert the value, we have to figure out the default value (because we cannot get
# the default value from the central settings dict.
if rules:
default_value = rules[0][1]
old_value = self._convert_value(old_value, default_value)
# Iterate over our rules and check what the old_value should be "converted" to.
for new, old in rules:
# If the value matches with the condition (rule), then use the provided value. This is used to
# convert values. E. g. an old value 1 results in True, and 0 in False.
if old == old_value:
old_value = new
break
self.setValue(new_key, old_value)
self.remove(old_key)
def value(self, key):
"""
Returns the value for the given ``key``. The returned ``value`` is of the same type as the default value in the
*Settings.__default_settings__* dict.
``key``
The key to return the value from.
"""
# if group() is not empty the group has not been specified together with the key.
if self.group():
default_value = Settings.__default_settings__[self.group() + '/' + key]
else:
default_value = Settings.__default_settings__[key]
setting = super(Settings, self).value(key, default_value)
return self._convert_value(setting, default_value)
def _convert_value(self, setting, default_value):
"""
This converts the given ``setting`` to the type of the given ``default_value``.
``setting``
The setting to convert. This could be ``true`` for example.Settings()
``default_value``
Indication the type the setting should be converted to. For example ``True`` (type is boolean), meaning that
we convert the string ``true`` to a python boolean.
**Note**, this method only converts a few types and might need to be extended if a certain type is missing!
"""
# On OS X (and probably on other platforms too) empty value from QSettings is represented as type
# PyQt4.QtCore.QPyNullVariant. This type has to be converted to proper 'None' Python type.
if isinstance(setting, QtCore.QPyNullVariant) and setting.isNull():
setting = None
# Handle 'None' type (empty value) properly.
if setting is None:
# An empty string saved to the settings results in a None type being returned.
# Convert it to empty unicode string.
if isinstance(default_value, str):
return ''
# An empty list saved to the settings results in a None type being returned.
else:
return []
# Convert the setting to the correct type.
if isinstance(default_value, bool):
if isinstance(setting, bool):
return setting
# Sometimes setting is string instead of a boolean.
return setting == 'true'
if isinstance(default_value, int):
return int(setting)
return setting
def get_files_from_config(self, plugin):
"""
This removes the settings needed for old way we saved files (e. g. the image paths for the image plugin). A list
of file paths are returned.
**Note**: Only a list of paths is returned; this does not convert anything!
``plugin``
The Plugin object.The caller has to convert/save the list himself; o
"""
files_list = []
# We need QSettings instead of Settings here to bypass our central settings dict.
# Do NOT do this anywhere else!
settings = QtCore.QSettings(self.fileName(), Settings.IniFormat)
settings.beginGroup(plugin.settings_section)
if settings.contains('%s count' % plugin.name):
# Get the count.
list_count = int(settings.value('%s count' % plugin.name, 0))
if list_count:
for counter in range(list_count):
# The keys were named e. g.: "image 0"
item = settings.value('%s %d' % (plugin.name, counter), '')
if item:
files_list.append(item)
settings.remove('%s %d' % (plugin.name, counter))
settings.remove('%s count' % plugin.name)
settings.endGroup()
return files_list

View File

@ -43,15 +43,6 @@ from openlp.core.lib import str_to_bool, ScreenList, get_text_file_string
log = logging.getLogger(__name__)
class ThemeLevel(object):
"""
Provides an enumeration for the level a theme applies to
"""
Global = 1
Service = 2
Song = 3
class BackgroundType(object):
"""
Type enumeration for backgrounds.

View File

@ -33,7 +33,8 @@ import logging
from PyQt4 import QtCore, QtGui
from openlp.core.lib import Registry, UiStrings, build_icon, translate
from openlp.core.common import UiStrings, translate
from openlp.core.lib import Registry, build_icon
from openlp.core.utils.actions import ActionList

View File

@ -29,7 +29,8 @@
from PyQt4 import QtGui
from openlp.core.lib import UiStrings, build_icon, translate
from openlp.core.common import UiStrings, translate
from openlp.core.lib import build_icon
from openlp.core.lib.ui import create_button, create_button_box

View File

@ -36,10 +36,9 @@ import sys
from PyQt4 import QtCore, QtGui
from openlp.core.common import AppLocation
from openlp.core.lib import SettingsTab, Settings, UiStrings, translate, build_icon
from openlp.core.common import AppLocation, Settings, SlideLimits, UiStrings, translate
from openlp.core.lib import SettingsTab, build_icon
from openlp.core.utils import format_time, get_images_filter
from openlp.core.lib import SlideLimits
log = logging.getLogger(__name__)

View File

@ -85,7 +85,7 @@ try:
except ImportError:
VLC_VERSION = '-'
from openlp.core.lib import UiStrings, Settings, translate
from openlp.core.common import Settings, UiStrings, translate
from openlp.core.utils import get_application_version
from .exceptiondialog import Ui_ExceptionDialog

View File

@ -41,8 +41,8 @@ from configparser import SafeConfigParser
from PyQt4 import QtCore, QtGui
from openlp.core.common import AppLocation, check_directory_exists
from openlp.core.lib import PluginStatus, Settings, Registry, build_icon, translate
from openlp.core.common import AppLocation, Settings, check_directory_exists
from openlp.core.lib import PluginStatus, Registry, build_icon, translate
from openlp.core.utils import get_web_page
from .firsttimewizard import Ui_FirstTimeWizard, FirstTimePage

View File

@ -31,7 +31,8 @@ The UI widgets for the formatting tags window.
"""
from PyQt4 import QtCore, QtGui
from openlp.core.lib import UiStrings, translate, build_icon
from openlp.core.common import UiStrings, translate
from openlp.core.lib import build_icon
from openlp.core.lib.ui import create_button_box

View File

@ -33,7 +33,8 @@ import logging
from PyQt4 import QtCore, QtGui
from openlp.core.lib import Registry, Settings, SettingsTab, ScreenList, UiStrings, translate
from openlp.core.common import Settings, UiStrings, translate
from openlp.core.lib import Registry, SettingsTab, ScreenList
log = logging.getLogger(__name__)

View File

@ -44,7 +44,8 @@ import sys
from PyQt4 import QtCore, QtGui, QtWebKit, QtOpenGL
from PyQt4.phonon import Phonon
from openlp.core.lib import ServiceItem, Settings, ImageSource, Registry, build_html, expand_tags, \
from openlp.core.common import Settings
from openlp.core.lib import ServiceItem, ImageSource, Registry, build_html, expand_tags, \
image_to_byte, translate
from openlp.core.lib.theme import BackgroundType

View File

@ -42,12 +42,12 @@ from datetime import datetime
from PyQt4 import QtCore, QtGui
from openlp.core.lib import Renderer, OpenLPDockWidget, PluginManager, ImageManager, PluginStatus, Registry, \
Settings, ScreenList, build_icon, translate
ScreenList, build_icon, translate
from openlp.core.lib.ui import UiStrings, create_action
from openlp.core.ui import AboutForm, SettingsForm, ServiceManager, ThemeManager, SlideController, PluginForm, \
MediaDockManager, ShortcutListForm, FormattingTagForm
from openlp.core.common import AppLocation, check_directory_exists
from openlp.core.common import AppLocation, Settings, check_directory_exists
from openlp.core.ui.media import MediaController
from openlp.core.utils import LanguageManager, add_actions, get_application_version
from openlp.core.utils.actions import ActionList, CategoryOrder

View File

@ -31,7 +31,7 @@ The :mod:`~openlp.core.ui.media` module contains classes and objects for media p
"""
import logging
from openlp.core.lib import Settings
from openlp.core.common import Settings
from PyQt4 import QtCore

View File

@ -35,7 +35,8 @@ import os
import datetime
from PyQt4 import QtCore, QtGui
from openlp.core.lib import OpenLPToolbar, Settings, Registry, UiStrings, translate
from openlp.core.common import Settings, UiStrings, translate
from openlp.core.lib import OpenLPToolbar, Registry
from openlp.core.lib.ui import critical_error_message_box
from openlp.core.ui.media import MediaState, MediaInfo, MediaType, get_media_players, set_media_players
from openlp.core.ui.media.mediaplayer import MediaPlayer

View File

@ -36,7 +36,8 @@ from datetime import datetime
from PyQt4 import QtGui
from PyQt4.phonon import Phonon
from openlp.core.lib import Settings, translate
from openlp.core.common import Settings
from openlp.core.lib import translate
from openlp.core.ui.media import MediaState
from openlp.core.ui.media.mediaplayer import MediaPlayer

View File

@ -31,7 +31,8 @@ The :mod:`~openlp.core.ui.media.playertab` module holds the configuration tab fo
"""
from PyQt4 import QtCore, QtGui
from openlp.core.lib import Registry, SettingsTab, Settings, UiStrings, translate
from openlp.core.common import Settings, UiStrings, translate
from openlp.core.lib import Registry, SettingsTab
from openlp.core.lib.ui import create_button
from openlp.core.ui.media import get_media_players, set_media_players

View File

@ -37,7 +37,8 @@ import sys
from PyQt4 import QtGui
from openlp.core.lib import Settings, translate
from openlp.core.common import Settings
from openlp.core.lib import translate
from openlp.core.ui.media import MediaState
from openlp.core.ui.media.mediaplayer import MediaPlayer

View File

@ -33,7 +33,8 @@ from PyQt4 import QtGui
import logging
from openlp.core.lib import Settings, translate
from openlp.core.common import Settings
from openlp.core.lib import translate
from openlp.core.ui.media import MediaState
from openlp.core.ui.media.mediaplayer import MediaPlayer

View File

@ -31,7 +31,7 @@ The UI widgets of the plugin view dialog
#"""
from PyQt4 import QtCore, QtGui
from openlp.core.lib import UiStrings, translate
from openlp.core.common import UiStrings, translate
from openlp.core.lib.ui import create_button_box

View File

@ -31,7 +31,8 @@ The UI widgets of the print service dialog.
"""
from PyQt4 import QtCore, QtGui
from openlp.core.lib import SpellTextEdit, UiStrings, build_icon, translate
from openlp.core.common import UiStrings, translate
from openlp.core.lib import SpellTextEdit, build_icon
class ZoomSize(object):

View File

@ -36,7 +36,8 @@ import os
from PyQt4 import QtCore, QtGui
from lxml import html
from openlp.core.lib import Settings, UiStrings, Registry, translate, get_text_file_string
from openlp.core.common import Settings, UiStrings, translate
from openlp.core.lib import Registry, get_text_file_string
from openlp.core.ui.printservicedialog import Ui_PrintServiceDialog, ZoomSize
from openlp.core.common import AppLocation

View File

@ -42,10 +42,10 @@ log = logging.getLogger(__name__)
from PyQt4 import QtCore, QtGui
from openlp.core.common import AppLocation, check_directory_exists
from openlp.core.lib import OpenLPToolbar, ServiceItem, ItemCapabilities, Settings, PluginStatus, Registry, \
UiStrings, build_icon, translate
from openlp.core.lib.theme import ThemeLevel
from openlp.core.common import AppLocation, Settings, check_directory_exists, UiStrings, translate
from openlp.core.lib import OpenLPToolbar, ServiceItem, ItemCapabilities, PluginStatus, Registry, \
build_icon
from openlp.core.common import ThemeLevel
from openlp.core.lib.ui import critical_error_message_box, create_widget_action, find_and_set_in_combo_box
from openlp.core.ui import ServiceNoteForm, ServiceItemEditForm, StartTimeForm
from openlp.core.ui.printserviceform import PrintServiceForm

View File

@ -33,8 +33,8 @@ import re
from PyQt4 import QtCore, QtGui
from openlp.core.lib import Registry, Settings
from openlp.core.utils import translate
from openlp.core.lib import Registry
from openlp.core.common import Settings, translate
from openlp.core.utils.actions import ActionList
from .shortcutlistdialog import Ui_ShortcutListDialog

View File

@ -37,8 +37,9 @@ from collections import deque
from PyQt4 import QtCore, QtGui
from openlp.core.lib import OpenLPToolbar, ItemCapabilities, ServiceItem, ImageSource, SlideLimits, \
ServiceItemAction, Settings, Registry, UiStrings, ScreenList, build_icon, build_html, translate
from openlp.core.common import Settings, SlideLimits, UiStrings, translate
from openlp.core.lib import OpenLPToolbar, ItemCapabilities, ServiceItem, ImageSource, \
ServiceItemAction, Registry, ScreenList, build_icon, build_html
from openlp.core.ui import HideMode, MainDisplay, Display, DisplayControllerType
from openlp.core.lib.ui import create_action
from openlp.core.utils.actions import ActionList, CategoryOrder

View File

@ -31,7 +31,7 @@ The UI widgets for the time dialog
"""
from PyQt4 import QtCore, QtGui
from openlp.core.lib import UiStrings, translate
from openlp.core.common import UiStrings, translate
from openlp.core.lib.ui import create_button_box

View File

@ -33,7 +33,8 @@ from PyQt4 import QtGui
from .starttimedialog import Ui_StartTimeDialog
from openlp.core.lib import UiStrings, Registry, translate
from openlp.core.common import UiStrings, translate
from openlp.core.lib import Registry
from openlp.core.lib.ui import critical_error_message_box

View File

@ -34,7 +34,8 @@ import os
from PyQt4 import QtCore, QtGui
from openlp.core.lib import UiStrings, Registry, translate
from openlp.core.common import UiStrings, translate
from openlp.core.lib import Registry
from openlp.core.lib.theme import BackgroundType, BackgroundGradientType
from openlp.core.lib.ui import critical_error_message_box
from openlp.core.ui import ThemeLayoutForm

View File

@ -38,9 +38,9 @@ import re
from xml.etree.ElementTree import ElementTree, XML
from PyQt4 import QtCore, QtGui
from openlp.core.common import AppLocation, check_directory_exists
from openlp.core.lib import ImageSource, OpenLPToolbar, Registry, Settings, UiStrings, get_text_file_string, \
build_icon, translate, check_item_selected, create_thumb, validate_thumb
from openlp.core.common import AppLocation, Settings, check_directory_exists, UiStrings, translate
from openlp.core.lib import ImageSource, OpenLPToolbar, Registry, get_text_file_string, \
build_icon, check_item_selected, create_thumb, validate_thumb
from openlp.core.lib.theme import ThemeXML, BackgroundType
from openlp.core.lib.ui import critical_error_message_box, create_widget_action
from openlp.core.ui import FileRenameForm, ThemeForm, ThemeManagerHelper

View File

@ -33,8 +33,8 @@ The Themes configuration tab
from PyQt4 import QtCore, QtGui
from openlp.core.lib import Registry, Settings, SettingsTab, UiStrings, translate
from openlp.core.lib.theme import ThemeLevel
from openlp.core.common import Settings, ThemeLevel, UiStrings, translate
from openlp.core.lib import Registry, SettingsTab
from openlp.core.lib.ui import find_and_set_in_combo_box

View File

@ -31,7 +31,8 @@ The Create/Edit theme wizard
"""
from PyQt4 import QtCore, QtGui
from openlp.core.lib import UiStrings, build_icon, translate
from openlp.core.common import UiStrings, translate
from openlp.core.lib import build_icon
from openlp.core.lib.theme import HorizontalType, BackgroundType, BackgroundGradientType
from openlp.core.lib.ui import add_welcome_page, create_valign_selection_widgets

View File

@ -32,9 +32,10 @@ The :mod:``wizard`` module provides generic wizard tools for OpenLP.
import logging
import os
from PyQt4 import QtCore, QtGui
from PyQt4 import QtGui
from openlp.core.lib import Registry, Settings, UiStrings, build_icon, translate
from openlp.core.common import Settings, UiStrings, translate
from openlp.core.lib import Registry, build_icon
from openlp.core.lib.ui import add_welcome_page
log = logging.getLogger(__name__)

View File

@ -43,8 +43,8 @@ import urllib.parse
from PyQt4 import QtGui, QtCore
from openlp.core.common import AppLocation
from openlp.core.lib import Registry, Settings
from openlp.core.common import AppLocation, Settings
from openlp.core.lib import Registry
if sys.platform != 'win32' and sys.platform != 'darwin':

View File

@ -34,7 +34,7 @@ import logging
from PyQt4 import QtCore, QtGui
from openlp.core.lib import Settings
from openlp.core.common import Settings
log = logging.getLogger(__name__)

View File

@ -35,8 +35,8 @@ import sys
from PyQt4 import QtCore, QtGui
from openlp.core.common import AppLocation
from openlp.core.lib import Settings, translate
from openlp.core.common import AppLocation, Settings
from openlp.core.lib import translate
log = logging.getLogger(__name__)

View File

@ -31,7 +31,8 @@ import logging
from PyQt4 import QtGui
from openlp.core.lib import Plugin, Settings, StringContent, build_icon, translate
from openlp.core.common import Settings
from openlp.core.lib import Plugin, StringContent, build_icon, translate
from openlp.core.lib.db import Manager
from openlp.core.lib.ui import create_action, UiStrings
from openlp.core.lib.theme import VerticalType

View File

@ -29,7 +29,8 @@
from PyQt4 import QtGui
from openlp.core.lib import SettingsTab, Settings, UiStrings, translate
from openlp.core.common import Settings, UiStrings, translate
from openlp.core.lib import SettingsTab
from openlp.core.lib.ui import create_valign_selection_widgets

View File

@ -34,8 +34,7 @@ import os
from PyQt4 import QtGui
from openlp.core.common import AppLocation
from openlp.core.lib import Settings, UiStrings, translate
from openlp.core.common import AppLocation, Settings, UiStrings, translate
from openlp.core.lib.db import delete_database
from openlp.core.lib.ui import critical_error_message_box
from openlp.core.ui.wizard import OpenLPWizard, WizardStrings

View File

@ -36,8 +36,8 @@ from tempfile import gettempdir
from PyQt4 import QtCore, QtGui
from openlp.core.common import AppLocation, check_directory_exists
from openlp.core.lib import Registry, Settings, UiStrings, translate
from openlp.core.common import AppLocation, UiStrings, Settings, check_directory_exists, translate
from openlp.core.lib import Registry
from openlp.core.lib.ui import critical_error_message_box
from openlp.core.ui.wizard import OpenLPWizard, WizardStrings
from openlp.core.utils import delete_file

View File

@ -29,7 +29,7 @@
from PyQt4 import QtCore, QtGui
from openlp.core.lib import translate
from openlp.core.common import translate
from openlp.core.lib.ui import create_button_box
class Ui_BookNameDialog(object):

View File

@ -36,7 +36,7 @@ import re
from PyQt4.QtGui import QDialog
from PyQt4 import QtCore
from openlp.core.lib import translate
from openlp.core.common import translate
from openlp.core.lib.ui import critical_error_message_box
from openlp.plugins.bibles.forms.booknamedialog import Ui_BookNameDialog
from openlp.plugins.bibles.lib import BibleStrings

View File

@ -29,7 +29,8 @@
from PyQt4 import QtCore, QtGui
from openlp.core.lib import build_icon, translate
from openlp.core.common import translate
from openlp.core.lib import build_icon
from openlp.core.lib.ui import create_button_box
from openlp.plugins.bibles.lib import LanguageSelection, BibleStrings
from openlp.plugins.bibles.lib.db import BiblesResourcesDB

View File

@ -33,7 +33,8 @@ import re
from PyQt4 import QtGui
from openlp.core.lib import Registry, UiStrings, translate
from openlp.core.common import UiStrings, translate
from openlp.core.lib import Registry
from openlp.core.lib.ui import critical_error_message_box
from .editbibledialog import Ui_EditBibleDialog
from openlp.plugins.bibles.lib import BibleStrings

View File

@ -29,7 +29,7 @@
from PyQt4 import QtGui
from openlp.core.lib import translate
from openlp.core.common import translate
from openlp.core.lib.ui import create_button_box
class Ui_LanguageDialog(object):

View File

@ -34,7 +34,7 @@ import logging
from PyQt4.QtGui import QDialog
from openlp.core.lib import translate
from openlp.core.common import translate
from openlp.core.lib.ui import critical_error_message_box
from openlp.plugins.bibles.forms.languagedialog import \
Ui_LanguageDialog

View File

@ -33,7 +33,8 @@ plugin.
import logging
import re
from openlp.core.lib import Settings, translate
from openlp.core.common import Settings
from openlp.core.lib import translate
log = logging.getLogger(__name__)

View File

@ -31,7 +31,8 @@ import logging
from PyQt4 import QtCore, QtGui
from openlp.core.lib import Registry, SettingsTab, Settings, UiStrings, translate
from openlp.core.common import Settings, UiStrings, translate
from openlp.core.lib import Registry, SettingsTab
from openlp.core.lib.ui import find_and_set_in_combo_box
from openlp.plugins.bibles.lib import LayoutStyle, DisplayStyle, update_reference_separators, \
get_reference_separator, LanguageSelection

View File

@ -30,8 +30,8 @@
import logging
import os
from openlp.core.common import AppLocation
from openlp.core.lib import Registry, Settings, translate
from openlp.core.common import AppLocation, Settings
from openlp.core.lib import Registry, translate
from openlp.core.utils import delete_file
from openlp.plugins.bibles.lib import parse_reference, get_reference_separator, LanguageSelection
from openlp.plugins.bibles.lib.db import BibleDB, BibleMeta

View File

@ -31,8 +31,9 @@ import logging
from PyQt4 import QtCore, QtGui
from openlp.core.lib import Registry, MediaManagerItem, ItemCapabilities, ServiceItemContext, Settings, UiStrings, \
create_separated_list, translate
from openlp.core.common import Settings, UiStrings, translate
from openlp.core.lib import Registry, MediaManagerItem, ItemCapabilities, ServiceItemContext, \
create_separated_list
from openlp.core.lib.searchedit import SearchEdit
from openlp.core.lib.ui import set_case_insensitive_completer, create_horizontal_adjusting_combo_box, \
critical_error_message_box, find_and_set_in_combo_box, build_icon

View File

@ -29,7 +29,8 @@
from PyQt4 import QtGui
from openlp.core.lib import UiStrings, build_icon, translate
from openlp.core.common import UiStrings, translate
from openlp.core.lib import build_icon
from openlp.core.lib.ui import create_button_box, create_button

View File

@ -29,7 +29,8 @@
from PyQt4 import QtGui
from openlp.core.lib import SpellTextEdit, UiStrings, translate
from openlp.core.common import UiStrings, translate
from openlp.core.lib import SpellTextEdit
from openlp.core.lib.ui import create_button, create_button_box
class Ui_CustomSlideEditDialog(object):

View File

@ -30,7 +30,7 @@
import logging
from PyQt4 import QtCore, QtGui
from PyQt4 import QtGui
from .editcustomslidedialog import Ui_CustomSlideEditDialog

View File

@ -33,7 +33,8 @@ for the Custom Slides plugin, which is inserted into the configuration dialog.
from PyQt4 import QtCore, QtGui
from openlp.core.lib import SettingsTab, Settings, translate
from openlp.core.common import Settings, translate
from openlp.core.lib import SettingsTab
class CustomTab(SettingsTab):

View File

@ -32,8 +32,9 @@ import logging
from PyQt4 import QtCore, QtGui
from sqlalchemy.sql import or_, func, and_
from openlp.core.lib import Registry, MediaManagerItem, ItemCapabilities, ServiceItemContext, Settings, PluginStatus,\
UiStrings, check_item_selected, translate
from openlp.core.common import Settings, UiStrings, translate
from openlp.core.lib import Registry, MediaManagerItem, ItemCapabilities, ServiceItemContext, PluginStatus,\
check_item_selected
from openlp.plugins.custom.forms.editcustomform import EditCustomForm
from openlp.plugins.custom.lib import CustomXMLParser, CustomXMLBuilder
from openlp.plugins.custom.lib.db import CustomSlide

View File

@ -31,10 +31,11 @@ from PyQt4 import QtGui
import logging
from openlp.core.lib import Plugin, StringContent, Registry, ImageSource, Settings, build_icon, translate
from openlp.core.common import Settings
from openlp.core.lib import Plugin, StringContent, Registry, ImageSource, build_icon, translate
from openlp.core.lib.db import Manager
from openlp.plugins.images.lib import ImageMediaItem, ImageTab
from openlp.plugins.images.lib.db import init_schema, ImageFilenames
from openlp.plugins.images.lib.db import init_schema
log = logging.getLogger(__name__)

View File

@ -29,7 +29,8 @@
from PyQt4 import QtGui
from openlp.core.lib import Registry, SettingsTab, Settings, UiStrings, translate
from openlp.core.common import Settings, UiStrings, translate
from openlp.core.lib import SettingsTab
class ImageTab(SettingsTab):

View File

@ -32,9 +32,9 @@ import os
from PyQt4 import QtCore, QtGui
from openlp.core.common import AppLocation, check_directory_exists
from openlp.core.lib import ItemCapabilities, MediaManagerItem, Registry, ServiceItemContext, Settings, \
StringContent, TreeWidgetWithDnD, UiStrings, build_icon, check_item_selected, create_thumb, translate, \
from openlp.core.common import AppLocation, Settings, UiStrings, check_directory_exists, translate
from openlp.core.lib import ItemCapabilities, MediaManagerItem, Registry, ServiceItemContext, \
StringContent, TreeWidgetWithDnD, build_icon, check_item_selected, create_thumb, \
validate_thumb
from openlp.core.lib.ui import create_widget_action, critical_error_message_box
from openlp.core.utils import delete_file, get_locale_key, get_images_filter

View File

@ -32,9 +32,9 @@ import os
from PyQt4 import QtCore, QtGui
from openlp.core.common import AppLocation, check_directory_exists
from openlp.core.common import AppLocation, Settings, check_directory_exists, UiStrings, translate
from openlp.core.lib import ItemCapabilities, MediaManagerItem,MediaType, Registry, ServiceItem, ServiceItemContext, \
Settings, UiStrings, build_icon, check_item_selected, translate
build_icon, check_item_selected
from openlp.core.lib.ui import critical_error_message_box, create_horizontal_adjusting_combo_box
from openlp.core.ui import DisplayController, Display, DisplayControllerType
from openlp.core.ui.media import get_media_players, set_media_players

View File

@ -29,7 +29,8 @@
from PyQt4 import QtGui
from openlp.core.lib import Settings, SettingsTab, UiStrings, translate
from openlp.core.common import Settings, UiStrings, translate
from openlp.core.lib import SettingsTab
class MediaQ_check_box(QtGui.QCheckBox):

View File

@ -31,7 +31,7 @@ import logging
from PyQt4 import QtCore
from openlp.core.lib import Plugin, Registry, StringContent, Settings, build_icon, translate
from openlp.core.lib import Plugin, Registry, StringContent, build_icon, translate
from openlp.plugins.media.lib import MediaMediaItem, MediaTab

View File

@ -32,8 +32,9 @@ import os
from PyQt4 import QtCore, QtGui
from openlp.core.lib import MediaManagerItem, Registry, ItemCapabilities, ServiceItemContext, Settings, UiStrings, \
build_icon, check_item_selected, create_thumb, translate, validate_thumb
from openlp.core.common import Settings, UiStrings, translate
from openlp.core.lib import MediaManagerItem, Registry, ItemCapabilities, ServiceItemContext, \
build_icon, check_item_selected, create_thumb, validate_thumb
from openlp.core.lib.ui import critical_error_message_box, create_horizontal_adjusting_combo_box
from openlp.core.utils import get_locale_key
from openlp.plugins.presentations.lib import MessageListener

View File

@ -33,8 +33,8 @@ import shutil
from PyQt4 import QtCore
from openlp.core.common import AppLocation, check_directory_exists
from openlp.core.lib import Registry, Settings, create_thumb, validate_thumb
from openlp.core.common import AppLocation, Settings, check_directory_exists
from openlp.core.lib import Registry, create_thumb, validate_thumb
log = logging.getLogger(__name__)

View File

@ -29,7 +29,8 @@
from PyQt4 import QtGui
from openlp.core.lib import Settings, SettingsTab, UiStrings, translate
from openlp.core.common import Settings, UiStrings, translate
from openlp.core.lib import SettingsTab
class PresentationTab(SettingsTab):

View File

@ -124,9 +124,8 @@ from urllib.parse import urlparse, parse_qs
from mako.template import Template
from PyQt4 import QtCore
from openlp.core.common import AppLocation
from openlp.core.lib import Registry, Settings, PluginStatus, StringContent, image_to_byte
from openlp.core.utils import translate
from openlp.core.common import AppLocation, Settings, translate
from openlp.core.lib import Registry, PluginStatus, StringContent, image_to_byte
log = logging.getLogger(__name__)

View File

@ -40,8 +40,7 @@ import logging
from PyQt4 import QtCore
from openlp.core.common import AppLocation
from openlp.core.lib import Settings
from openlp.core.common import AppLocation, Settings
from openlp.plugins.remotes.lib import HttpRouter

View File

@ -31,8 +31,8 @@ import os.path
from PyQt4 import QtCore, QtGui, QtNetwork
from openlp.core.common import AppLocation
from openlp.core.lib import Settings, SettingsTab, translate
from openlp.core.common import AppLocation, Settings, translate
from openlp.core.lib import SettingsTab
ZERO_URL = '0.0.0.0'

View File

@ -29,7 +29,8 @@
from PyQt4 import QtCore, QtGui
from openlp.core.lib import UiStrings, build_icon, translate
from openlp.core.common import UiStrings, translate
from openlp.core.lib import build_icon
from openlp.core.lib.ui import create_button_box, create_button
from openlp.plugins.songs.lib.ui import SongStrings

View File

@ -38,8 +38,8 @@ import shutil
from PyQt4 import QtCore, QtGui
from openlp.core.common import AppLocation, check_directory_exists
from openlp.core.lib import Registry, PluginStatus, MediaType, UiStrings, translate, create_separated_list
from openlp.core.common import AppLocation, UiStrings, check_directory_exists, translate
from openlp.core.lib import Registry, PluginStatus, MediaType, create_separated_list
from openlp.core.lib.ui import set_case_insensitive_completer, critical_error_message_box, find_and_set_in_combo_box
from openlp.plugins.songs.lib import VerseType, clean_song
from openlp.plugins.songs.lib.db import Book, Song, Author, Topic, MediaFile

View File

@ -34,7 +34,8 @@ import logging
from PyQt4 import QtCore, QtGui
from openlp.core.lib import Registry, UiStrings, create_separated_list, build_icon, translate
from openlp.core.common import UiStrings, translate
from openlp.core.lib import Registry, create_separated_list, build_icon
from openlp.core.lib.ui import critical_error_message_box
from openlp.core.ui.wizard import OpenLPWizard, WizardStrings
from openlp.plugins.songs.lib.db import Song

View File

@ -35,7 +35,9 @@ import os
from PyQt4 import QtCore, QtGui
from openlp.core.lib import Registry, Settings, UiStrings, translate
from openlp.core.common import UiStrings, translate
from openlp.core.common import Settings
from openlp.core.lib import Registry
from openlp.core.lib.ui import critical_error_message_box
from openlp.core.ui.wizard import OpenLPWizard, WizardStrings
from openlp.plugins.songs.lib.importer import SongFormat, SongFormatSelect

View File

@ -29,7 +29,8 @@
from PyQt4 import QtCore, QtGui
from openlp.core.lib import UiStrings, build_icon
from openlp.core.common import UiStrings
from openlp.core.lib import build_icon
from openlp.core.lib.ui import create_button_box
from openlp.plugins.songs.lib.ui import SongStrings

View File

@ -32,7 +32,8 @@ import os
from PyQt4 import QtGui, QtCore
from sqlalchemy.sql import and_
from openlp.core.lib import Registry, UiStrings, translate
from openlp.core.common import UiStrings, translate
from openlp.core.lib import Registry
from openlp.core.lib.ui import critical_error_message_box
from openlp.plugins.songs.forms.authorsform import AuthorsForm
from openlp.plugins.songs.forms.topicsform import TopicsForm

View File

@ -32,7 +32,7 @@ The :mod:`importer` modules provides the general song import functionality.
import os
import logging
from openlp.core.lib import translate, UiStrings
from openlp.core.common import translate, UiStrings
from openlp.core.ui.wizard import WizardStrings
from .opensongimport import OpenSongImport
from .easyslidesimport import EasySlidesImport

View File

@ -35,9 +35,9 @@ import shutil
from PyQt4 import QtCore, QtGui
from sqlalchemy.sql import or_
from openlp.core.common import AppLocation, check_directory_exists
from openlp.core.lib import Registry, MediaManagerItem, ItemCapabilities, PluginStatus, ServiceItemContext, Settings, \
UiStrings, translate, check_item_selected, create_separated_list
from openlp.core.common import AppLocation, Settings, check_directory_exists, UiStrings, translate
from openlp.core.lib import Registry, MediaManagerItem, ItemCapabilities, PluginStatus, ServiceItemContext, \
check_item_selected, create_separated_list
from openlp.core.lib.ui import create_widget_action
from openlp.plugins.songs.forms.editsongform import EditSongForm
from openlp.plugins.songs.forms.songmaintenanceform import SongMaintenanceForm

View File

@ -36,7 +36,7 @@ from sqlalchemy import create_engine, MetaData, Table
from sqlalchemy.orm import class_mapper, mapper, relation, scoped_session, sessionmaker
from sqlalchemy.orm.exc import UnmappedClassError
from openlp.core.lib import translate
from openlp.core.common import translate
from openlp.core.lib.db import BaseModel
from openlp.core.ui.wizard import WizardStrings
from openlp.plugins.songs.lib import clean_song

View File

@ -51,6 +51,7 @@ except ImportError:
PAGE_AFTER = 5
PAGE_BOTH = 6
class OooImport(SongImport):
"""
Import songs from Impress/Powerpoint docs using Impress

View File

@ -35,8 +35,8 @@ import os
from lxml import etree
from openlp.core.common import check_directory_exists
from openlp.core.lib import Registry, translate
from openlp.core.common import check_directory_exists, translate
from openlp.core.lib import Registry
from openlp.core.utils import clean_filename
from openlp.plugins.songs.lib.xml import OpenLyrics

View File

@ -33,13 +33,14 @@ import re
from lxml import objectify
from lxml.etree import Error, LxmlError
from openlp.core.lib import translate
from openlp.core.common import translate
from openlp.plugins.songs.lib import VerseType
from openlp.plugins.songs.lib.songimport import SongImport
from openlp.plugins.songs.lib.ui import SongStrings
log = logging.getLogger(__name__)
class OpenSongImport(SongImport):
"""
Import songs exported from OpenSong

View File

@ -34,7 +34,7 @@ import logging
import fnmatch
import os
from openlp.core.lib import translate
from openlp.core.common import translate
from openlp.plugins.songs.lib.songimport import SongImport
log = logging.getLogger(__name__)

View File

@ -34,8 +34,8 @@ import os
from PyQt4 import QtCore
from openlp.core.common import AppLocation, check_directory_exists
from openlp.core.lib import Registry, translate
from openlp.core.common import AppLocation, check_directory_exists, translate
from openlp.core.lib import Registry
from openlp.core.ui.wizard import WizardStrings
from openlp.plugins.songs.lib import clean_song, VerseType
from openlp.plugins.songs.lib.db import Song, Author, Topic, Book, MediaFile

View File

@ -35,6 +35,7 @@ import re
from openlp.plugins.songs.lib import strip_rtf
from openlp.plugins.songs.lib.songimport import SongImport
class SongProImport(SongImport):
"""
The :class:`SongProImport` class provides the ability to import song files

View File

@ -27,8 +27,8 @@
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
###############################################################################
"""
The :mod:`songshowplusimport` module provides the functionality for importing
SongShow Plus songs into the OpenLP database.
The :mod:`songshowplusimport` module provides the functionality for importing SongShow Plus songs into the OpenLP
database.
"""
import chardet
import os
@ -56,6 +56,7 @@ CUSTOM_VERSE = 37
log = logging.getLogger(__name__)
class SongShowPlusImport(SongImport):
"""
The :class:`SongShowPlusImport` class provides the ability to import song files from SongShow Plus.

View File

@ -29,7 +29,8 @@
from PyQt4 import QtCore, QtGui
from openlp.core.lib import Settings, SettingsTab, translate
from openlp.core.common import Settings, translate
from openlp.core.lib import SettingsTab
class SongsTab(SettingsTab):

View File

@ -32,6 +32,7 @@ for the songs plugin.
"""
from openlp.core.lib import translate
class SongStrings(object):
"""
Provide standard strings for use throughout the songs plugin.

View File

@ -34,7 +34,7 @@ import logging
import pyodbc
from openlp.core.lib import translate
from openlp.core.common import translate
from openlp.plugins.songs.lib.songimport import SongImport
log = logging.getLogger(__name__)

View File

@ -33,7 +33,7 @@ Worship songs into the OpenLP database.
import os
import logging
from openlp.core.lib import translate
from openlp.core.common import translate
from openlp.plugins.songs.lib.songimport import SongImport
BLOCK_TYPES = ('V', 'C', 'B')

View File

@ -68,7 +68,8 @@ import re
from lxml import etree, objectify
from openlp.core.lib import FormattingTags, translate
from openlp.core.common import translate
from openlp.core.lib import FormattingTags
from openlp.plugins.songs.lib import VerseType, clean_song
from openlp.plugins.songs.lib.db import Author, Book, Song, Topic
from openlp.core.utils import get_application_version

View File

@ -33,7 +33,7 @@ ZionWorx songs into the OpenLP database.
import csv
import logging
from openlp.core.lib import translate
from openlp.core.common import translate
from openlp.plugins.songs.lib.songimport import SongImport
log = logging.getLogger(__name__)

View File

@ -38,7 +38,8 @@ import sqlite3
from PyQt4 import QtCore, QtGui
from openlp.core.lib import Plugin, StringContent, UiStrings, build_icon, translate
from openlp.core.common import UiStrings, translate
from openlp.core.lib import Plugin, StringContent, build_icon
from openlp.core.lib.db import Manager
from openlp.core.lib.ui import create_action
from openlp.core.utils.actions import ActionList

View File

@ -29,7 +29,7 @@
from PyQt4 import QtCore, QtGui
from openlp.core.lib import translate
from openlp.core.common import translate
from openlp.core.lib.ui import create_button_box

Some files were not shown because too many files have changed in this diff Show More