forked from openlp/openlp
remove two consecutive spaces from python code of the whole OpenLP sources
replaced double quotes for string in python code of the whole OpenLP sources
This commit is contained in:
parent
9212399ad7
commit
7c68265f4b
|
@ -31,7 +31,7 @@ class SettingsTab(QtGui.QWidget):
|
||||||
SettingsTab is a helper widget for plugins to define Tabs for the settings
|
SettingsTab is a helper widget for plugins to define Tabs for the settings
|
||||||
dialog.
|
dialog.
|
||||||
"""
|
"""
|
||||||
def __init__(self, title, visible_title=None):
|
def __init__(self, title, visible_title=None):
|
||||||
"""
|
"""
|
||||||
Constructor to create the Settings tab item.
|
Constructor to create the Settings tab item.
|
||||||
|
|
||||||
|
@ -95,4 +95,4 @@ class SettingsTab(QtGui.QWidget):
|
||||||
Indicates if called before or after updates.
|
Indicates if called before or after updates.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
pass
|
pass
|
||||||
|
|
|
@ -84,7 +84,7 @@ class ExceptionForm(QtGui.QDialog, Ui_ExceptionDialog):
|
||||||
u'lxml: %s\n' % etree.__version__ + \
|
u'lxml: %s\n' % etree.__version__ + \
|
||||||
u'Chardet: %s\n' % chardet_version + \
|
u'Chardet: %s\n' % chardet_version + \
|
||||||
u'PyEnchant: %s\n' % enchant_version + \
|
u'PyEnchant: %s\n' % enchant_version + \
|
||||||
u'PySQLite: %s\n' % sqlite_version
|
u'PySQLite: %s\n' % sqlite_version
|
||||||
if platform.system() == u'Linux':
|
if platform.system() == u'Linux':
|
||||||
if os.environ.get(u'KDE_FULL_SESSION') == u'true':
|
if os.environ.get(u'KDE_FULL_SESSION') == u'true':
|
||||||
system = system + u'Desktop: KDE SC\n'
|
system = system + u'Desktop: KDE SC\n'
|
||||||
|
@ -144,4 +144,4 @@ class ExceptionForm(QtGui.QDialog, Ui_ExceptionDialog):
|
||||||
exception = line.split(u'\n')[-1].split(u':')[0]
|
exception = line.split(u'\n')[-1].split(u':')[0]
|
||||||
subject = u'Bug report: %s in %s' % (exception, source)
|
subject = u'Bug report: %s in %s' % (exception, source)
|
||||||
mailto(address=u'bugs@openlp.org', subject=subject,
|
mailto(address=u'bugs@openlp.org', subject=subject,
|
||||||
body=body % content)
|
body=body % content)
|
||||||
|
|
|
@ -141,10 +141,10 @@ class GeneralTab(SettingsTab):
|
||||||
self.settingsLayout.addWidget(self.autoPreviewCheckBox, 1, 0, 1, 2)
|
self.settingsLayout.addWidget(self.autoPreviewCheckBox, 1, 0, 1, 2)
|
||||||
# Moved here from image tab
|
# Moved here from image tab
|
||||||
self.timeoutLabel = QtGui.QLabel(self.settingsGroupBox)
|
self.timeoutLabel = QtGui.QLabel(self.settingsGroupBox)
|
||||||
self.timeoutLabel.setObjectName("timeoutLabel")
|
self.timeoutLabel.setObjectName(u'timeoutLabel')
|
||||||
self.settingsLayout.addWidget(self.timeoutLabel, 2, 0, 1, 1)
|
self.settingsLayout.addWidget(self.timeoutLabel, 2, 0, 1, 1)
|
||||||
self.timeoutSpinBox = QtGui.QSpinBox(self.settingsGroupBox)
|
self.timeoutSpinBox = QtGui.QSpinBox(self.settingsGroupBox)
|
||||||
self.timeoutSpinBox.setObjectName("timeoutSpinBox")
|
self.timeoutSpinBox.setObjectName(u'timeoutSpinBox')
|
||||||
self.settingsLayout.addWidget(self.timeoutSpinBox, 2, 1, 1, 1)
|
self.settingsLayout.addWidget(self.timeoutSpinBox, 2, 1, 1, 1)
|
||||||
self.generalLeftLayout.addWidget(self.settingsGroupBox)
|
self.generalLeftLayout.addWidget(self.settingsGroupBox)
|
||||||
self.generalLeftSpacer = QtGui.QSpacerItem(20, 40,
|
self.generalLeftSpacer = QtGui.QSpacerItem(20, 40,
|
||||||
|
@ -530,4 +530,4 @@ class GeneralTab(SettingsTab):
|
||||||
"""
|
"""
|
||||||
Called when the width, height, x position or y position has changed.
|
Called when the width, height, x position or y position has changed.
|
||||||
"""
|
"""
|
||||||
self.overrideChanged = True
|
self.overrideChanged = True
|
||||||
|
|
|
@ -209,7 +209,7 @@ class MainDisplay(DisplayWidget):
|
||||||
shrink = True
|
shrink = True
|
||||||
else:
|
else:
|
||||||
shrink = False
|
shrink = False
|
||||||
js = u'show_alert("%s", "%s")' % (
|
js = u'show_alert("%s", "%s")' % (
|
||||||
text.replace(u'\\', u'\\\\').replace(u'\"', u'\\\"'),
|
text.replace(u'\\', u'\\\\').replace(u'\"', u'\\\"'),
|
||||||
u'top' if shrink else u'')
|
u'top' if shrink else u'')
|
||||||
height = self.frame.evaluateJavaScript(js)
|
height = self.frame.evaluateJavaScript(js)
|
||||||
|
@ -235,8 +235,8 @@ class MainDisplay(DisplayWidget):
|
||||||
|
|
||||||
def image(self, name):
|
def image(self, name):
|
||||||
"""
|
"""
|
||||||
Add an image as the background. The image is converted to a
|
Add an image as the background. The image is converted to a bytestream
|
||||||
bytestream on route.
|
on route.
|
||||||
|
|
||||||
`Image`
|
`Image`
|
||||||
The Image to be displayed can be QImage or QPixmap
|
The Image to be displayed can be QImage or QPixmap
|
||||||
|
@ -421,8 +421,8 @@ class MainDisplay(DisplayWidget):
|
||||||
Display the Footer
|
Display the Footer
|
||||||
"""
|
"""
|
||||||
log.debug(u'footer')
|
log.debug(u'footer')
|
||||||
js = "show_footer('" + \
|
js = u'show_footer(\'' + \
|
||||||
text.replace("\\", "\\\\").replace("\'", "\\\'") + "')"
|
text.replace(u'\\', u'\\\\').replace(u'\'', u'\\\'') + u'\')'
|
||||||
self.frame.evaluateJavaScript(js)
|
self.frame.evaluateJavaScript(js)
|
||||||
|
|
||||||
def hideDisplay(self, mode=HideMode.Screen):
|
def hideDisplay(self, mode=HideMode.Screen):
|
||||||
|
|
|
@ -71,7 +71,7 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog):
|
||||||
if event.modifiers() & Qt.ShiftModifier == Qt.ShiftModifier:
|
if event.modifiers() & Qt.ShiftModifier == Qt.ShiftModifier:
|
||||||
key_string = u'Shift+' + key_string
|
key_string = u'Shift+' + key_string
|
||||||
key_sequence = QtGui.QKeySequence(key_string)
|
key_sequence = QtGui.QKeySequence(key_string)
|
||||||
existing_key = QtGui.QKeySequence("Ctrl+Shift+F8")
|
existing_key = QtGui.QKeySequence(u'Ctrl+Shift+F8')
|
||||||
if key_sequence == existing_key:
|
if key_sequence == existing_key:
|
||||||
QtGui.QMessageBox.warning(
|
QtGui.QMessageBox.warning(
|
||||||
self,
|
self,
|
||||||
|
|
|
@ -184,14 +184,14 @@ class SlideController(QtGui.QWidget):
|
||||||
'Blank Screen'), self.HideMenu)
|
'Blank Screen'), self.HideMenu)
|
||||||
self.BlankScreen.setCheckable(True)
|
self.BlankScreen.setCheckable(True)
|
||||||
QtCore.QObject.connect(self.BlankScreen,
|
QtCore.QObject.connect(self.BlankScreen,
|
||||||
QtCore.SIGNAL("triggered(bool)"), self.onBlankDisplay)
|
QtCore.SIGNAL(u'triggered(bool)'), self.onBlankDisplay)
|
||||||
self.ThemeScreen = QtGui.QAction(QtGui.QIcon(
|
self.ThemeScreen = QtGui.QAction(QtGui.QIcon(
|
||||||
u':/slides/slide_theme.png'),
|
u':/slides/slide_theme.png'),
|
||||||
translate('OpenLP.SlideController',
|
translate('OpenLP.SlideController',
|
||||||
'Blank to Theme'), self.HideMenu)
|
'Blank to Theme'), self.HideMenu)
|
||||||
self.ThemeScreen.setCheckable(True)
|
self.ThemeScreen.setCheckable(True)
|
||||||
QtCore.QObject.connect(self.ThemeScreen,
|
QtCore.QObject.connect(self.ThemeScreen,
|
||||||
QtCore.SIGNAL("triggered(bool)"), self.onThemeDisplay)
|
QtCore.SIGNAL(u'triggered(bool)'), self.onThemeDisplay)
|
||||||
if self.screens.display_count > 1:
|
if self.screens.display_count > 1:
|
||||||
self.DesktopScreen = QtGui.QAction(QtGui.QIcon(
|
self.DesktopScreen = QtGui.QAction(QtGui.QIcon(
|
||||||
u':/slides/slide_desktop.png'),
|
u':/slides/slide_desktop.png'),
|
||||||
|
@ -199,7 +199,7 @@ class SlideController(QtGui.QWidget):
|
||||||
'Show Desktop'), self.HideMenu)
|
'Show Desktop'), self.HideMenu)
|
||||||
self.DesktopScreen.setCheckable(True)
|
self.DesktopScreen.setCheckable(True)
|
||||||
QtCore.QObject.connect(self.DesktopScreen,
|
QtCore.QObject.connect(self.DesktopScreen,
|
||||||
QtCore.SIGNAL("triggered(bool)"), self.onHideDisplay)
|
QtCore.SIGNAL(u'triggered(bool)'), self.onHideDisplay)
|
||||||
self.HideMenu.setDefaultAction(self.BlankScreen)
|
self.HideMenu.setDefaultAction(self.BlankScreen)
|
||||||
self.HideMenu.menu().addAction(self.BlankScreen)
|
self.HideMenu.menu().addAction(self.BlankScreen)
|
||||||
self.HideMenu.menu().addAction(self.ThemeScreen)
|
self.HideMenu.menu().addAction(self.ThemeScreen)
|
||||||
|
@ -1033,4 +1033,4 @@ class SlideController(QtGui.QWidget):
|
||||||
self.mediaObject.clearQueue()
|
self.mediaObject.clearQueue()
|
||||||
self.video.hide()
|
self.video.hide()
|
||||||
self.SlidePreview.clear()
|
self.SlidePreview.clear()
|
||||||
self.SlidePreview.show()
|
self.SlidePreview.show()
|
||||||
|
|
|
@ -159,7 +159,7 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard):
|
||||||
self.mainAreaPage.registerField(
|
self.mainAreaPage.registerField(
|
||||||
u'outlineCheckBox', self.outlineCheckBox)
|
u'outlineCheckBox', self.outlineCheckBox)
|
||||||
self.mainAreaPage.registerField(
|
self.mainAreaPage.registerField(
|
||||||
u'outlineColorPushButton', self.outlineColorButton)
|
u'outlineColorButton', self.outlineColorButton)
|
||||||
self.mainAreaPage.registerField(
|
self.mainAreaPage.registerField(
|
||||||
u'outlineSizeSpinBox', self.outlineSizeSpinBox)
|
u'outlineSizeSpinBox', self.outlineSizeSpinBox)
|
||||||
self.mainAreaPage.registerField(
|
self.mainAreaPage.registerField(
|
||||||
|
|
|
@ -35,7 +35,7 @@ from PyQt4 import QtCore, QtGui
|
||||||
from openlp.core.ui import FileRenameForm, ThemeForm
|
from openlp.core.ui import FileRenameForm, ThemeForm
|
||||||
from openlp.core.theme import Theme
|
from openlp.core.theme import Theme
|
||||||
from openlp.core.lib import OpenLPToolbar, ThemeXML, get_text_file_string, \
|
from openlp.core.lib import OpenLPToolbar, ThemeXML, get_text_file_string, \
|
||||||
build_icon, Receiver, SettingsManager, translate, check_item_selected, \
|
build_icon, Receiver, SettingsManager, translate, check_item_selected, \
|
||||||
BackgroundType, BackgroundGradientType
|
BackgroundType, BackgroundGradientType
|
||||||
from openlp.core.utils import AppLocation, get_filesystem_encoding
|
from openlp.core.utils import AppLocation, get_filesystem_encoding
|
||||||
|
|
||||||
|
@ -230,7 +230,7 @@ class ThemeManager(QtGui.QWidget):
|
||||||
self.fileRenameForm.fileNameEdit.setText(oldThemeName)
|
self.fileRenameForm.fileNameEdit.setText(oldThemeName)
|
||||||
self.saveThemeName = oldThemeName
|
self.saveThemeName = oldThemeName
|
||||||
if self.fileRenameForm.exec_():
|
if self.fileRenameForm.exec_():
|
||||||
newThemeName = unicode(self.fileRenameForm.fileNameEdit.text())
|
newThemeName = unicode(self.fileRenameForm.fileNameEdit.text())
|
||||||
oldThemeData = self.getThemeData(oldThemeName)
|
oldThemeData = self.getThemeData(oldThemeName)
|
||||||
self.deleteTheme(oldThemeName)
|
self.deleteTheme(oldThemeName)
|
||||||
self.cloneThemeData(oldThemeData, newThemeName)
|
self.cloneThemeData(oldThemeData, newThemeName)
|
||||||
|
@ -244,7 +244,7 @@ class ThemeManager(QtGui.QWidget):
|
||||||
self.fileRenameForm.fileNameEdit.setText(oldThemeName)
|
self.fileRenameForm.fileNameEdit.setText(oldThemeName)
|
||||||
self.saveThemeName = u''
|
self.saveThemeName = u''
|
||||||
if self.fileRenameForm.exec_(True):
|
if self.fileRenameForm.exec_(True):
|
||||||
newThemeName = unicode(self.fileRenameForm.fileNameEdit.text())
|
newThemeName = unicode(self.fileRenameForm.fileNameEdit.text())
|
||||||
themeData = self.getThemeData(oldThemeName)
|
themeData = self.getThemeData(oldThemeName)
|
||||||
self.cloneThemeData(themeData, newThemeName)
|
self.cloneThemeData(themeData, newThemeName)
|
||||||
self.loadThemes()
|
self.loadThemes()
|
||||||
|
@ -331,7 +331,7 @@ class ThemeManager(QtGui.QWidget):
|
||||||
theme = unicode(item.data(QtCore.Qt.UserRole).toString())
|
theme = unicode(item.data(QtCore.Qt.UserRole).toString())
|
||||||
path = QtGui.QFileDialog.getExistingDirectory(self,
|
path = QtGui.QFileDialog.getExistingDirectory(self,
|
||||||
unicode(translate('OpenLP.ThemeManager',
|
unicode(translate('OpenLP.ThemeManager',
|
||||||
'Save Theme - (%s)')) % theme,
|
'Save Theme - (%s)')) % theme,
|
||||||
SettingsManager.get_last_dir(self.settingsSection, 1))
|
SettingsManager.get_last_dir(self.settingsSection, 1))
|
||||||
path = unicode(path)
|
path = unicode(path)
|
||||||
if path:
|
if path:
|
||||||
|
@ -795,4 +795,4 @@ class ThemeManager(QtGui.QWidget):
|
||||||
unicode(translate('OpenLP.ThemeManager',
|
unicode(translate('OpenLP.ThemeManager',
|
||||||
'Theme %s is used by the service manager.')) % theme)
|
'Theme %s is used by the service manager.')) % theme)
|
||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
|
|
|
@ -67,7 +67,7 @@ class Ui_ThemeWizard(object):
|
||||||
self.backgroundComboBox.setObjectName(u'BackgroundComboBox')
|
self.backgroundComboBox.setObjectName(u'BackgroundComboBox')
|
||||||
self.backgroundTypeLayout.addRow(self.backgroundLabel,
|
self.backgroundTypeLayout.addRow(self.backgroundLabel,
|
||||||
self.backgroundComboBox)
|
self.backgroundComboBox)
|
||||||
self.backgroundTypeSpacer = QtGui.QSpacerItem(10, 0,
|
self.backgroundTypeSpacer = QtGui.QSpacerItem(10, 0,
|
||||||
QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Minimum)
|
QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Minimum)
|
||||||
self.backgroundTypeLayout.setItem(1, QtGui.QFormLayout.LabelRole,
|
self.backgroundTypeLayout.setItem(1, QtGui.QFormLayout.LabelRole,
|
||||||
self.backgroundTypeSpacer)
|
self.backgroundTypeSpacer)
|
||||||
|
@ -113,7 +113,7 @@ class Ui_ThemeWizard(object):
|
||||||
self.gradientComboBox.addItems([u'', u'', u'', u'', u''])
|
self.gradientComboBox.addItems([u'', u'', u'', u'', u''])
|
||||||
self.gradientLayout.addRow(self.gradientTypeLabel,
|
self.gradientLayout.addRow(self.gradientTypeLabel,
|
||||||
self.gradientComboBox)
|
self.gradientComboBox)
|
||||||
self.gradientSpacer = QtGui.QSpacerItem(10, 0, QtGui.QSizePolicy.Fixed,
|
self.gradientSpacer = QtGui.QSpacerItem(10, 0, QtGui.QSizePolicy.Fixed,
|
||||||
QtGui.QSizePolicy.Minimum)
|
QtGui.QSizePolicy.Minimum)
|
||||||
self.gradientLayout.setItem(3, QtGui.QFormLayout.LabelRole,
|
self.gradientLayout.setItem(3, QtGui.QFormLayout.LabelRole,
|
||||||
self.gradientSpacer)
|
self.gradientSpacer)
|
||||||
|
@ -136,7 +136,7 @@ class Ui_ThemeWizard(object):
|
||||||
build_icon(u':/general/general_open.png'))
|
build_icon(u':/general/general_open.png'))
|
||||||
self.imageFileLayout.addWidget(self.imageBrowseButton)
|
self.imageFileLayout.addWidget(self.imageBrowseButton)
|
||||||
self.imageLayout.addRow(self.imageLabel, self.imageFileLayout)
|
self.imageLayout.addRow(self.imageLabel, self.imageFileLayout)
|
||||||
self.imageSpacer = QtGui.QSpacerItem(10, 0, QtGui.QSizePolicy.Fixed,
|
self.imageSpacer = QtGui.QSpacerItem(10, 0, QtGui.QSizePolicy.Fixed,
|
||||||
QtGui.QSizePolicy.Minimum)
|
QtGui.QSizePolicy.Minimum)
|
||||||
self.imageLayout.setItem(1, QtGui.QFormLayout.LabelRole,
|
self.imageLayout.setItem(1, QtGui.QFormLayout.LabelRole,
|
||||||
self.imageSpacer)
|
self.imageSpacer)
|
||||||
|
|
|
@ -91,7 +91,7 @@ class Ui_BibleImportWizard(object):
|
||||||
self.osisBrowseButton.setObjectName(u'OsisBrowseButton')
|
self.osisBrowseButton.setObjectName(u'OsisBrowseButton')
|
||||||
self.osisFileLayout.addWidget(self.osisBrowseButton)
|
self.osisFileLayout.addWidget(self.osisBrowseButton)
|
||||||
self.osisLayout.addRow(self.osisFileLabel, self.osisFileLayout)
|
self.osisLayout.addRow(self.osisFileLabel, self.osisFileLayout)
|
||||||
self.osisSpacer = QtGui.QSpacerItem(10, 0, QtGui.QSizePolicy.Fixed,
|
self.osisSpacer = QtGui.QSpacerItem(10, 0, QtGui.QSizePolicy.Fixed,
|
||||||
QtGui.QSizePolicy.Minimum)
|
QtGui.QSizePolicy.Minimum)
|
||||||
self.osisLayout.setItem(1, QtGui.QFormLayout.LabelRole, self.osisSpacer)
|
self.osisLayout.setItem(1, QtGui.QFormLayout.LabelRole, self.osisSpacer)
|
||||||
self.selectStack.addWidget(self.osisWidget)
|
self.selectStack.addWidget(self.osisWidget)
|
||||||
|
@ -124,7 +124,7 @@ class Ui_BibleImportWizard(object):
|
||||||
self.csvVersesButton.setObjectName(u'CsvVersesButton')
|
self.csvVersesButton.setObjectName(u'CsvVersesButton')
|
||||||
self.csvVersesLayout.addWidget(self.csvVersesButton)
|
self.csvVersesLayout.addWidget(self.csvVersesButton)
|
||||||
self.csvLayout.addRow(self.csvVersesLabel, self.csvVersesLayout)
|
self.csvLayout.addRow(self.csvVersesLabel, self.csvVersesLayout)
|
||||||
self.csvSpacer = QtGui.QSpacerItem(10, 0, QtGui.QSizePolicy.Fixed,
|
self.csvSpacer = QtGui.QSpacerItem(10, 0, QtGui.QSizePolicy.Fixed,
|
||||||
QtGui.QSizePolicy.Minimum)
|
QtGui.QSizePolicy.Minimum)
|
||||||
self.csvLayout.setItem(2, QtGui.QFormLayout.LabelRole, self.csvSpacer)
|
self.csvLayout.setItem(2, QtGui.QFormLayout.LabelRole, self.csvSpacer)
|
||||||
self.selectStack.addWidget(self.csvWidget)
|
self.selectStack.addWidget(self.csvWidget)
|
||||||
|
@ -147,7 +147,7 @@ class Ui_BibleImportWizard(object):
|
||||||
self.openSongFileLayout.addWidget(self.openSongBrowseButton)
|
self.openSongFileLayout.addWidget(self.openSongBrowseButton)
|
||||||
self.openSongLayout.addRow(self.openSongFileLabel,
|
self.openSongLayout.addRow(self.openSongFileLabel,
|
||||||
self.openSongFileLayout)
|
self.openSongFileLayout)
|
||||||
self.openSongSpacer = QtGui.QSpacerItem(10, 0, QtGui.QSizePolicy.Fixed,
|
self.openSongSpacer = QtGui.QSpacerItem(10, 0, QtGui.QSizePolicy.Fixed,
|
||||||
QtGui.QSizePolicy.Minimum)
|
QtGui.QSizePolicy.Minimum)
|
||||||
self.openSongLayout.setItem(1, QtGui.QFormLayout.LabelRole,
|
self.openSongLayout.setItem(1, QtGui.QFormLayout.LabelRole,
|
||||||
self.openSongSpacer)
|
self.openSongSpacer)
|
||||||
|
@ -230,7 +230,7 @@ class Ui_BibleImportWizard(object):
|
||||||
self.openlp1DisabledLabel.setWordWrap(True)
|
self.openlp1DisabledLabel.setWordWrap(True)
|
||||||
self.openlp1DisabledLabel.setObjectName(u'Openlp1DisabledLabel')
|
self.openlp1DisabledLabel.setObjectName(u'Openlp1DisabledLabel')
|
||||||
self.openlp1Layout.addRow(self.openlp1DisabledLabel)
|
self.openlp1Layout.addRow(self.openlp1DisabledLabel)
|
||||||
self.openlp1Spacer = QtGui.QSpacerItem(10, 0, QtGui.QSizePolicy.Fixed,
|
self.openlp1Spacer = QtGui.QSpacerItem(10, 0, QtGui.QSizePolicy.Fixed,
|
||||||
QtGui.QSizePolicy.Minimum)
|
QtGui.QSizePolicy.Minimum)
|
||||||
self.openlp1Layout.setItem(1, QtGui.QFormLayout.LabelRole,
|
self.openlp1Layout.setItem(1, QtGui.QFormLayout.LabelRole,
|
||||||
self.openlp1Spacer)
|
self.openlp1Spacer)
|
||||||
|
|
|
@ -77,9 +77,9 @@ def parse_reference(reference):
|
||||||
- After a verse reference all further single values are treat as verse in
|
- After a verse reference all further single values are treat as verse in
|
||||||
the last selected chapter.
|
the last selected chapter.
|
||||||
``John 3:16-18`` refers to John chapter 3 verses 16 to 18
|
``John 3:16-18`` refers to John chapter 3 verses 16 to 18
|
||||||
- After a list separator it is possible to refer to additional verses. They
|
- After a list separator it is possible to refer to additional verses. They
|
||||||
are build analog to the first ones. This way it is possible to define each
|
are build analog to the first ones. This way it is possible to define
|
||||||
number of verse references. It is not possible to refer to verses in
|
each number of verse references. It is not possible to refer to verses in
|
||||||
additional books.
|
additional books.
|
||||||
``John 3:16,18`` refers to John chapter 3 verses 16 and 18
|
``John 3:16,18`` refers to John chapter 3 verses 16 and 18
|
||||||
``John 3:16-18,20`` refers to John chapter 3 verses 16 to 18 and 20
|
``John 3:16-18,20`` refers to John chapter 3 verses 16 to 18 and 20
|
||||||
|
@ -96,7 +96,7 @@ def parse_reference(reference):
|
||||||
a verse separator.
|
a verse separator.
|
||||||
2. ``(?P<from_verse>[0-9]+)``
|
2. ``(?P<from_verse>[0-9]+)``
|
||||||
The verse reference ``from_verse`` is manditory
|
The verse reference ``from_verse`` is manditory
|
||||||
3. ``(?P<range_to>%(sep_r)s(?:`` ... ``|%(sep_e)s)?)?``
|
3. ``(?P<range_to>%(sep_r)s(?:`` ... ``|%(sep_e)s)?)?``
|
||||||
A ``range_to`` declaration is optional. It starts with a range separator
|
A ``range_to`` declaration is optional. It starts with a range separator
|
||||||
and contains optional a chapter and verse declaration or a end
|
and contains optional a chapter and verse declaration or a end
|
||||||
separator.
|
separator.
|
||||||
|
@ -105,15 +105,15 @@ def parse_reference(reference):
|
||||||
5. ``(?P<to_verse>[0-9]+)``
|
5. ``(?P<to_verse>[0-9]+)``
|
||||||
The ``to_verse`` reference is equivalent to group 2.
|
The ``to_verse`` reference is equivalent to group 2.
|
||||||
|
|
||||||
The full reference is matched against get_reference_match(u'full'). This
|
The full reference is matched against get_reference_match(u'full'). This
|
||||||
regular expression looks like this:
|
regular expression looks like this:
|
||||||
|
|
||||||
1. ``^\s*(?!\s)(?P<book>[\d]*[^\d]+)(?<!\s)\s*``
|
1. ``^\s*(?!\s)(?P<book>[\d]*[^\d]+)(?<!\s)\s*``
|
||||||
The ``book`` group starts with the first non-whitespace character. There
|
The ``book`` group starts with the first non-whitespace character. There
|
||||||
are optional leading digits followed by non-digits. The group ends
|
are optional leading digits followed by non-digits. The group ends
|
||||||
before the whitspace in front of the next digit.
|
before the whitspace in front of the next digit.
|
||||||
2. ``(?P<ranges>(?:`` + range_string + ``(?:%(sep_l)s|(?=\s*$)))+)\s*$``
|
2. ``(?P<ranges>(?:`` + range_string + ``(?:%(sep_l)s|(?=\s*$)))+)\s*$``
|
||||||
The second group contains all ``ranges``. This can be multiple
|
The second group contains all ``ranges``. This can be multiple
|
||||||
declarations of a range_string separated by a list separator.
|
declarations of a range_string separated by a list separator.
|
||||||
|
|
||||||
The reference list is a list of tuples, with each tuple structured like
|
The reference list is a list of tuples, with each tuple structured like
|
||||||
|
@ -194,7 +194,7 @@ def parse_reference(reference):
|
||||||
|
|
||||||
class SearchResults(object):
|
class SearchResults(object):
|
||||||
"""
|
"""
|
||||||
Encapsulate a set of search results. This is Bible-type independent.
|
Encapsulate a set of search results. This is Bible-type independent.
|
||||||
"""
|
"""
|
||||||
def __init__(self, book, chapter, verselist):
|
def __init__(self, book, chapter, verselist):
|
||||||
"""
|
"""
|
||||||
|
@ -222,4 +222,4 @@ class SearchResults(object):
|
||||||
|
|
||||||
from manager import BibleManager
|
from manager import BibleManager
|
||||||
from biblestab import BiblesTab
|
from biblestab import BiblesTab
|
||||||
from mediaitem import BibleMediaItem
|
from mediaitem import BibleMediaItem
|
||||||
|
|
|
@ -86,7 +86,8 @@ class CSVBible(BibleDB):
|
||||||
verse_file.seek(0)
|
verse_file.seek(0)
|
||||||
verse_reader = csv.reader(verse_file, dialect)
|
verse_reader = csv.reader(verse_file, dialect)
|
||||||
for line in verse_reader:
|
for line in verse_reader:
|
||||||
if self.stop_import_flag: # cancel pressed
|
if self.stop_import_flag:
|
||||||
|
# cancel pressed
|
||||||
break
|
break
|
||||||
details = chardet.detect(line[3])
|
details = chardet.detect(line[3])
|
||||||
if book_ptr != line[0]:
|
if book_ptr != line[0]:
|
||||||
|
@ -109,4 +110,4 @@ class CSVBible(BibleDB):
|
||||||
if self.stop_import_flag:
|
if self.stop_import_flag:
|
||||||
return False
|
return False
|
||||||
else:
|
else:
|
||||||
return success
|
return success
|
||||||
|
|
|
@ -30,7 +30,7 @@ import os
|
||||||
from PyQt4 import QtCore, QtGui
|
from PyQt4 import QtCore, QtGui
|
||||||
|
|
||||||
from openlp.core.lib import MediaManagerItem, BaseListWithDnD, build_icon, \
|
from openlp.core.lib import MediaManagerItem, BaseListWithDnD, build_icon, \
|
||||||
ItemCapabilities, SettingsManager, translate, check_item_selected, \
|
ItemCapabilities, SettingsManager, translate, check_item_selected, \
|
||||||
context_menu_action
|
context_menu_action
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
@ -159,4 +159,4 @@ class MediaMediaItem(MediaManagerItem):
|
||||||
img = QtGui.QPixmap(u':/media/media_video.png').toImage()
|
img = QtGui.QPixmap(u':/media/media_video.png').toImage()
|
||||||
item_name.setIcon(build_icon(img))
|
item_name.setIcon(build_icon(img))
|
||||||
item_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(file))
|
item_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(file))
|
||||||
self.listView.addItem(item_name)
|
self.listView.addItem(item_name)
|
||||||
|
|
|
@ -65,7 +65,7 @@ class MediaPlugin(Plugin):
|
||||||
def _addToList(self, list, value, mimetype):
|
def _addToList(self, list, value, mimetype):
|
||||||
# Is it a media type
|
# Is it a media type
|
||||||
if len(value) == 2:
|
if len(value) == 2:
|
||||||
extensions = mimetypes.guess_all_extensions(unicode(mimetype))
|
extensions = mimetypes.guess_all_extensions(unicode(mimetype))
|
||||||
# we have an extension
|
# we have an extension
|
||||||
if extensions:
|
if extensions:
|
||||||
for extension in extensions:
|
for extension in extensions:
|
||||||
|
@ -142,4 +142,4 @@ class MediaPlugin(Plugin):
|
||||||
u'title': translate('MediaPlugin', 'Service'),
|
u'title': translate('MediaPlugin', 'Service'),
|
||||||
u'tooltip': translate('MediaPlugin',
|
u'tooltip': translate('MediaPlugin',
|
||||||
'Add the selected Media to the service')
|
'Add the selected Media to the service')
|
||||||
}
|
}
|
||||||
|
|
|
@ -90,7 +90,7 @@ class Controller(object):
|
||||||
"""
|
"""
|
||||||
Go to a specific slide
|
Go to a specific slide
|
||||||
"""
|
"""
|
||||||
log.debug(u'Live = %s, slide' % self.is_live)
|
log.debug(u'Live = %s, slide' % self.is_live)
|
||||||
if not self.is_live:
|
if not self.is_live:
|
||||||
return
|
return
|
||||||
if self.doc.is_blank():
|
if self.doc.is_blank():
|
||||||
|
@ -249,7 +249,7 @@ class MessageListener(object):
|
||||||
self.timer = QtCore.QTimer()
|
self.timer = QtCore.QTimer()
|
||||||
self.timer.setInterval(500)
|
self.timer.setInterval(500)
|
||||||
QtCore.QObject.connect(
|
QtCore.QObject.connect(
|
||||||
self.timer, QtCore.SIGNAL("timeout()"), self.timeout)
|
self.timer, QtCore.SIGNAL(u'timeout()'), self.timeout)
|
||||||
|
|
||||||
def startup(self, message):
|
def startup(self, message):
|
||||||
"""
|
"""
|
||||||
|
@ -367,4 +367,4 @@ class MessageListener(object):
|
||||||
to check which slide is currently displayed so the slidecontroller
|
to check which slide is currently displayed so the slidecontroller
|
||||||
view can be updated
|
view can be updated
|
||||||
"""
|
"""
|
||||||
self.live_handler.poll()
|
self.live_handler.poll()
|
||||||
|
|
|
@ -124,7 +124,7 @@ class CCLIFileImport(SongImport):
|
||||||
``Title=``
|
``Title=``
|
||||||
Contains the song title (e.g. *Title=Above All*)
|
Contains the song title (e.g. *Title=Above All*)
|
||||||
``Author=``
|
``Author=``
|
||||||
Contains a | delimited list of the song authors
|
Contains a | delimited list of the song authors
|
||||||
e.g. *Author=LeBlanc, Lenny | Baloche, Paul*
|
e.g. *Author=LeBlanc, Lenny | Baloche, Paul*
|
||||||
``Copyright=``
|
``Copyright=``
|
||||||
Contains a | delimited list of the song copyrights
|
Contains a | delimited list of the song copyrights
|
||||||
|
@ -184,8 +184,8 @@ class CCLIFileImport(SongImport):
|
||||||
verse_type = u'O'
|
verse_type = u'O'
|
||||||
check_first_verse_line = True
|
check_first_verse_line = True
|
||||||
verse_text = unicode(words_list[counter])
|
verse_text = unicode(words_list[counter])
|
||||||
verse_text = verse_text.replace("/n", "\n")
|
verse_text = verse_text.replace(u'/n', u'\n')
|
||||||
verse_lines = verse_text.split(u'\n', 1)
|
verse_lines = verse_text.split(u'\n', 1)
|
||||||
if check_first_verse_line:
|
if check_first_verse_line:
|
||||||
if verse_lines[0].startswith(u'(PRE-CHORUS'):
|
if verse_lines[0].startswith(u'(PRE-CHORUS'):
|
||||||
verse_type = u'P'
|
verse_type = u'P'
|
||||||
|
@ -337,4 +337,4 @@ class CCLIFileImport(SongImport):
|
||||||
self.copyright = song_copyright
|
self.copyright = song_copyright
|
||||||
self.ccli_number = song_ccli
|
self.ccli_number = song_ccli
|
||||||
self.comments = song_comments
|
self.comments = song_comments
|
||||||
self.finish()
|
self.finish()
|
||||||
|
|
|
@ -85,7 +85,7 @@ class SongBeamerImport(SongImport):
|
||||||
"""
|
"""
|
||||||
Recieve a single file, or a list of files to import.
|
Recieve a single file, or a list of files to import.
|
||||||
"""
|
"""
|
||||||
if isinstance(self.import_source, list):
|
if isinstance(self.import_source, list):
|
||||||
self.import_wizard.importProgressBar.setMaximum(
|
self.import_wizard.importProgressBar.setMaximum(
|
||||||
len(self.import_source))
|
len(self.import_source))
|
||||||
for file in self.import_source:
|
for file in self.import_source:
|
||||||
|
@ -96,7 +96,7 @@ class SongBeamerImport(SongImport):
|
||||||
read_verses = False
|
read_verses = False
|
||||||
self.file_name = os.path.split(file)[1]
|
self.file_name = os.path.split(file)[1]
|
||||||
self.import_wizard.incrementProgressBar(
|
self.import_wizard.incrementProgressBar(
|
||||||
"Importing %s" % (self.file_name), 0)
|
"Importing %s" % (self.file_name), 0)
|
||||||
if os.path.isfile(file):
|
if os.path.isfile(file):
|
||||||
detect_file = open(file, u'r')
|
detect_file = open(file, u'r')
|
||||||
details = chardet.detect(detect_file.read(2048))
|
details = chardet.detect(detect_file.read(2048))
|
||||||
|
@ -292,4 +292,4 @@ class SongBeamerImport(SongImport):
|
||||||
self.current_verse_type += marks[1]
|
self.current_verse_type += marks[1]
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
|
|
@ -32,7 +32,7 @@ import logging
|
||||||
|
|
||||||
from openlp.plugins.songs.lib.songimport import SongImport
|
from openlp.plugins.songs.lib.songimport import SongImport
|
||||||
|
|
||||||
BLOCK_TYPES = (u'V', u'C', u'B')
|
BLOCK_TYPES = (u'V', u'C', u'B')
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
@ -111,7 +111,7 @@ class WowImport(SongImport):
|
||||||
Recieve a single file, or a list of files to import.
|
Recieve a single file, or a list of files to import.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
if isinstance(self.import_source, list):
|
if isinstance(self.import_source, list):
|
||||||
self.import_wizard.importProgressBar.setMaximum(
|
self.import_wizard.importProgressBar.setMaximum(
|
||||||
len(self.import_source))
|
len(self.import_source))
|
||||||
for file in self.import_source:
|
for file in self.import_source:
|
||||||
|
@ -119,7 +119,7 @@ class WowImport(SongImport):
|
||||||
self.copyright = u''
|
self.copyright = u''
|
||||||
self.file_name = os.path.split(file)[1]
|
self.file_name = os.path.split(file)[1]
|
||||||
self.import_wizard.incrementProgressBar(
|
self.import_wizard.incrementProgressBar(
|
||||||
"Importing %s" % (self.file_name), 0)
|
"Importing %s" % (self.file_name), 0)
|
||||||
# Get the song title
|
# Get the song title
|
||||||
self.title = self.file_name.rpartition(u'.')[0]
|
self.title = self.file_name.rpartition(u'.')[0]
|
||||||
self.songData = open(file, 'rb')
|
self.songData = open(file, 'rb')
|
||||||
|
|
Loading…
Reference in New Issue