forked from openlp/openlp
HEAD r1456
This commit is contained in:
commit
a1c5ece681
@ -49,8 +49,10 @@ class UiStrings(object):
|
||||
Cancel = translate('OpenLP.Ui', 'Cancel')
|
||||
CCLINumberLabel = translate('OpenLP.Ui', 'CCLI number:')
|
||||
CreateService = translate('OpenLP.Ui', 'Create a new service.')
|
||||
Continuous = translate('OpenLP.Ui', 'Continuous')
|
||||
Default = unicode(translate('OpenLP.Ui', 'Default'))
|
||||
Delete = translate('OpenLP.Ui', '&Delete')
|
||||
DisplayStyle = translate('OpenLP.Ui', 'Display style:')
|
||||
Edit = translate('OpenLP.Ui', '&Edit')
|
||||
EmptyField = translate('OpenLP.Ui', 'Empty Field')
|
||||
Error = translate('OpenLP.Ui', 'Error')
|
||||
@ -97,6 +99,8 @@ class UiStrings(object):
|
||||
Theme = translate('OpenLP.Ui', 'Theme', 'Singular')
|
||||
Themes = translate('OpenLP.Ui', 'Themes', 'Plural')
|
||||
Top = translate('OpenLP.Ui', 'Top')
|
||||
VersePerSlide = translate('OpenLP.Ui', 'Verse Per Slide')
|
||||
VersePerLine = translate('OpenLP.Ui', 'Verse Per Line')
|
||||
Version = translate('OpenLP.Ui', 'Version')
|
||||
|
||||
def add_welcome_page(parent, image):
|
||||
@ -315,3 +319,20 @@ def create_valign_combo(form, parent, layout):
|
||||
form.verticalComboBox.addItem(UiStrings.Bottom)
|
||||
verticalLabel.setBuddy(form.verticalComboBox)
|
||||
layout.addRow(verticalLabel, form.verticalComboBox)
|
||||
|
||||
def find_and_set_in_combo_box(combo_box, value_to_find):
|
||||
"""
|
||||
Find a string in a combo box and set it as the selected item if present
|
||||
|
||||
``combo_box``
|
||||
The combo box to check for selected items
|
||||
|
||||
``value_to_find``
|
||||
The value to find
|
||||
"""
|
||||
index = combo_box.findText(value_to_find,
|
||||
QtCore.Qt.MatchExactly)
|
||||
if index == -1:
|
||||
# Not Found.
|
||||
index = 0
|
||||
combo_box.setCurrentIndex(index)
|
@ -35,7 +35,8 @@ from PyQt4 import QtCore, QtGui
|
||||
from openlp.core.lib import OpenLPToolbar, ServiceItem, context_menu_action, \
|
||||
Receiver, build_icon, ItemCapabilities, SettingsManager, translate
|
||||
from openlp.core.lib.theme import ThemeLevel
|
||||
from openlp.core.lib.ui import UiStrings, critical_error_message_box
|
||||
from openlp.core.lib.ui import UiStrings, critical_error_message_box, \
|
||||
find_and_set_in_combo_box
|
||||
from openlp.core.ui import ServiceNoteForm, ServiceItemEditForm, StartTimeForm
|
||||
from openlp.core.ui.printserviceform import PrintServiceForm
|
||||
from openlp.core.utils import AppLocation, delete_file, file_is_unicode, \
|
||||
@ -691,9 +692,9 @@ class ServiceManager(QtGui.QWidget):
|
||||
Called by the SlideController to request a preview item be made live
|
||||
and allows the next preview to be updated if relevent.
|
||||
"""
|
||||
id, row = message.split(u':')
|
||||
uuid, row = message.split(u':')
|
||||
for sitem in self.serviceItems:
|
||||
if sitem[u'service_item']._uuid == id:
|
||||
if sitem[u'service_item']._uuid == uuid:
|
||||
item = self.serviceManagerList.topLevelItem(sitem[u'order'] - 1)
|
||||
self.serviceManagerList.setCurrentItem(item)
|
||||
self.makeLive(int(row))
|
||||
@ -1021,7 +1022,7 @@ class ServiceManager(QtGui.QWidget):
|
||||
editId, uuid = message.split(u':')
|
||||
for item in self.serviceItems:
|
||||
if item[u'service_item']._uuid == uuid:
|
||||
item[u'service_item'].edit_id = editId
|
||||
item[u'service_item'].edit_id = int(editId)
|
||||
self.setModified(True)
|
||||
|
||||
def replaceServiceItem(self, newItem):
|
||||
@ -1261,13 +1262,7 @@ class ServiceManager(QtGui.QWidget):
|
||||
action = context_menu_action(self.serviceManagerList, None, theme,
|
||||
self.onThemeChangeAction)
|
||||
self.themeMenu.addAction(action)
|
||||
index = self.themeComboBox.findText(self.service_theme,
|
||||
QtCore.Qt.MatchExactly)
|
||||
# Not Found
|
||||
if index == -1:
|
||||
index = 0
|
||||
self.service_theme = u''
|
||||
self.themeComboBox.setCurrentIndex(index)
|
||||
find_and_set_in_combo_box(self.themeComboBox, self.service_theme)
|
||||
self.mainwindow.renderManager.set_service_theme(self.service_theme)
|
||||
self.regenerateServiceItems()
|
||||
|
||||
@ -1306,4 +1301,4 @@ class ServiceManager(QtGui.QWidget):
|
||||
Print a Service Order Sheet.
|
||||
"""
|
||||
settingDialog = PrintServiceForm(self.mainwindow, self)
|
||||
settingDialog.exec_()
|
||||
settingDialog.exec_()
|
@ -445,6 +445,7 @@ class ThemeManager(QtGui.QWidget):
|
||||
files = SettingsManager.get_files(self.settingsSection, u'.png')
|
||||
if firstTime:
|
||||
self.firstTime()
|
||||
files = SettingsManager.get_files(self.settingsSection, u'.png')
|
||||
# No themes have been found so create one
|
||||
if len(files) == 0:
|
||||
theme = ThemeXML()
|
||||
|
@ -28,7 +28,7 @@ from PyQt4 import QtCore, QtGui
|
||||
|
||||
from openlp.core.lib import SettingsTab, Receiver, translate
|
||||
from openlp.core.lib.theme import ThemeLevel
|
||||
from openlp.core.lib.ui import UiStrings
|
||||
from openlp.core.lib.ui import UiStrings, find_and_set_in_combo_box
|
||||
|
||||
class ThemesTab(SettingsTab):
|
||||
"""
|
||||
@ -185,12 +185,7 @@ class ThemesTab(SettingsTab):
|
||||
self.DefaultComboBox.clear()
|
||||
for theme in theme_list:
|
||||
self.DefaultComboBox.addItem(theme)
|
||||
id = self.DefaultComboBox.findText(
|
||||
self.global_theme, QtCore.Qt.MatchExactly)
|
||||
if id == -1:
|
||||
id = 0 # Not Found
|
||||
self.global_theme = u''
|
||||
self.DefaultComboBox.setCurrentIndex(id)
|
||||
find_and_set_in_combo_box(self.DefaultComboBox, self.global_theme)
|
||||
self.parent.renderManager.set_global_theme(
|
||||
self.global_theme, self.theme_level)
|
||||
if self.global_theme is not u'':
|
||||
@ -206,4 +201,4 @@ class ThemesTab(SettingsTab):
|
||||
if not preview.isNull():
|
||||
preview = preview.scaled(300, 255, QtCore.Qt.KeepAspectRatio,
|
||||
QtCore.Qt.SmoothTransformation)
|
||||
self.DefaultListView.setPixmap(preview)
|
||||
self.DefaultListView.setPixmap(preview)
|
@ -86,8 +86,18 @@ class BibleImportForm(OpenLPWizard):
|
||||
"""
|
||||
OpenLPWizard.setupUi(self, image)
|
||||
QtCore.QObject.connect(self.formatComboBox,
|
||||
QtCore.SIGNAL(u'currentIndexChanged(int)'), self.selectStack,
|
||||
QtCore.SLOT(u'setCurrentIndex(int)'))
|
||||
QtCore.SIGNAL(u'currentIndexChanged(int)'),
|
||||
self.onCurrentIndexChanged)
|
||||
|
||||
def onCurrentIndexChanged(self, index):
|
||||
"""
|
||||
Called when the format combo box's index changed. We have to check if
|
||||
the import is available and accordingly to disable or enable the next
|
||||
button.
|
||||
"""
|
||||
self.selectStack.setCurrentIndex(index)
|
||||
next_button = self.button(QtGui.QWizard.NextButton)
|
||||
next_button.setEnabled(BibleFormat.get_availability(index))
|
||||
|
||||
def customInit(self):
|
||||
"""
|
||||
|
@ -30,6 +30,7 @@ from PyQt4 import QtCore, QtGui
|
||||
|
||||
from openlp.core.lib import Receiver, SettingsTab, translate
|
||||
from openlp.plugins.bibles.lib import LayoutStyle, DisplayStyle
|
||||
from openlp.core.lib.ui import UiStrings, find_and_set_in_combo_box
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
@ -48,108 +49,107 @@ class BiblesTab(SettingsTab):
|
||||
def setupUi(self):
|
||||
self.setObjectName(u'BiblesTab')
|
||||
SettingsTab.setupUi(self)
|
||||
self.VerseDisplayGroupBox = QtGui.QGroupBox(self.leftColumn)
|
||||
self.VerseDisplayGroupBox.setObjectName(u'VerseDisplayGroupBox')
|
||||
self.VerseDisplayLayout = QtGui.QFormLayout(self.VerseDisplayGroupBox)
|
||||
self.VerseDisplayLayout.setObjectName(u'VerseDisplayLayout')
|
||||
self.NewChaptersCheckBox = QtGui.QCheckBox(self.VerseDisplayGroupBox)
|
||||
self.NewChaptersCheckBox.setObjectName(u'NewChaptersCheckBox')
|
||||
self.VerseDisplayLayout.addRow(self.NewChaptersCheckBox)
|
||||
self.DisplayStyleLabel = QtGui.QLabel(self.VerseDisplayGroupBox)
|
||||
self.DisplayStyleLabel.setObjectName(u'DisplayStyleLabel')
|
||||
self.DisplayStyleComboBox = QtGui.QComboBox(self.VerseDisplayGroupBox)
|
||||
self.DisplayStyleComboBox.addItems([u'', u'', u'', u''])
|
||||
self.DisplayStyleComboBox.setObjectName(u'DisplayStyleComboBox')
|
||||
self.VerseDisplayLayout.addRow(self.DisplayStyleLabel,
|
||||
self.DisplayStyleComboBox)
|
||||
self.LayoutStyleLabel = QtGui.QLabel(self.VerseDisplayGroupBox)
|
||||
self.LayoutStyleLabel.setObjectName(u'LayoutStyleLabel')
|
||||
self.LayoutStyleComboBox = QtGui.QComboBox(self.VerseDisplayGroupBox)
|
||||
self.LayoutStyleComboBox.setObjectName(u'LayoutStyleComboBox')
|
||||
self.LayoutStyleComboBox.addItems([u'', u'', u''])
|
||||
self.VerseDisplayLayout.addRow(self.LayoutStyleLabel,
|
||||
self.LayoutStyleComboBox)
|
||||
self.BibleSecondCheckBox = QtGui.QCheckBox(self.VerseDisplayGroupBox)
|
||||
self.BibleSecondCheckBox.setObjectName(u'BibleSecondCheckBox')
|
||||
self.VerseDisplayLayout.addRow(self.BibleSecondCheckBox)
|
||||
self.BibleThemeLabel = QtGui.QLabel(self.VerseDisplayGroupBox)
|
||||
self.BibleThemeLabel.setObjectName(u'BibleThemeLabel')
|
||||
self.BibleThemeComboBox = QtGui.QComboBox(self.VerseDisplayGroupBox)
|
||||
self.BibleThemeComboBox.setSizeAdjustPolicy(
|
||||
self.verseDisplayGroupBox = QtGui.QGroupBox(self.leftColumn)
|
||||
self.verseDisplayGroupBox.setObjectName(u'verseDisplayGroupBox')
|
||||
self.verseDisplayLayout = QtGui.QFormLayout(self.verseDisplayGroupBox)
|
||||
self.verseDisplayLayout.setObjectName(u'verseDisplayLayout')
|
||||
self.newChaptersCheckBox = QtGui.QCheckBox(self.verseDisplayGroupBox)
|
||||
self.newChaptersCheckBox.setObjectName(u'newChaptersCheckBox')
|
||||
self.verseDisplayLayout.addRow(self.newChaptersCheckBox)
|
||||
self.displayStyleLabel = QtGui.QLabel(self.verseDisplayGroupBox)
|
||||
self.displayStyleLabel.setObjectName(u'displayStyleLabel')
|
||||
self.displayStyleComboBox = QtGui.QComboBox(self.verseDisplayGroupBox)
|
||||
self.displayStyleComboBox.addItems([u'', u'', u'', u''])
|
||||
self.displayStyleComboBox.setObjectName(u'displayStyleComboBox')
|
||||
self.verseDisplayLayout.addRow(self.displayStyleLabel,
|
||||
self.displayStyleComboBox)
|
||||
self.layoutStyleLabel = QtGui.QLabel(self.verseDisplayGroupBox)
|
||||
self.layoutStyleLabel.setObjectName(u'layoutStyleLabel')
|
||||
self.layoutStyleComboBox = QtGui.QComboBox(self.verseDisplayGroupBox)
|
||||
self.layoutStyleComboBox.setObjectName(u'layoutStyleComboBox')
|
||||
self.layoutStyleComboBox.addItems([u'', u'', u''])
|
||||
self.verseDisplayLayout.addRow(self.layoutStyleLabel,
|
||||
self.layoutStyleComboBox)
|
||||
self.bibleSecondCheckBox = QtGui.QCheckBox(self.verseDisplayGroupBox)
|
||||
self.bibleSecondCheckBox.setObjectName(u'bibleSecondCheckBox')
|
||||
self.verseDisplayLayout.addRow(self.bibleSecondCheckBox)
|
||||
self.bibleThemeLabel = QtGui.QLabel(self.verseDisplayGroupBox)
|
||||
self.bibleThemeLabel.setObjectName(u'BibleThemeLabel')
|
||||
self.bibleThemeComboBox = QtGui.QComboBox(self.verseDisplayGroupBox)
|
||||
self.bibleThemeComboBox.setSizeAdjustPolicy(
|
||||
QtGui.QComboBox.AdjustToMinimumContentsLength)
|
||||
self.BibleThemeComboBox.setSizePolicy(
|
||||
self.bibleThemeComboBox.setSizePolicy(
|
||||
QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
|
||||
self.BibleThemeComboBox.addItem(u'')
|
||||
self.BibleThemeComboBox.setObjectName(u'BibleThemeComboBox')
|
||||
self.VerseDisplayLayout.addRow(self.BibleThemeLabel,
|
||||
self.BibleThemeComboBox)
|
||||
self.ChangeNoteLabel = QtGui.QLabel(self.VerseDisplayGroupBox)
|
||||
self.ChangeNoteLabel.setWordWrap(True)
|
||||
self.ChangeNoteLabel.setObjectName(u'ChangeNoteLabel')
|
||||
self.VerseDisplayLayout.addRow(self.ChangeNoteLabel)
|
||||
self.leftLayout.addWidget(self.VerseDisplayGroupBox)
|
||||
self.bibleThemeComboBox.addItem(u'')
|
||||
self.bibleThemeComboBox.setObjectName(u'BibleThemeComboBox')
|
||||
self.verseDisplayLayout.addRow(self.bibleThemeLabel,
|
||||
self.bibleThemeComboBox)
|
||||
self.changeNoteLabel = QtGui.QLabel(self.verseDisplayGroupBox)
|
||||
self.changeNoteLabel.setWordWrap(True)
|
||||
self.changeNoteLabel.setObjectName(u'changeNoteLabel')
|
||||
self.verseDisplayLayout.addRow(self.changeNoteLabel)
|
||||
self.leftLayout.addWidget(self.verseDisplayGroupBox)
|
||||
self.leftLayout.addStretch()
|
||||
self.rightColumn.setSizePolicy(
|
||||
QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
|
||||
self.rightLayout.addStretch()
|
||||
# Signals and slots
|
||||
QtCore.QObject.connect(
|
||||
self.NewChaptersCheckBox, QtCore.SIGNAL(u'stateChanged(int)'),
|
||||
self.newChaptersCheckBox, QtCore.SIGNAL(u'stateChanged(int)'),
|
||||
self.onNewChaptersCheckBoxChanged)
|
||||
QtCore.QObject.connect(
|
||||
self.DisplayStyleComboBox, QtCore.SIGNAL(u'activated(int)'),
|
||||
self.displayStyleComboBox, QtCore.SIGNAL(u'activated(int)'),
|
||||
self.onDisplayStyleComboBoxChanged)
|
||||
QtCore.QObject.connect(
|
||||
self.BibleThemeComboBox, QtCore.SIGNAL(u'activated(int)'),
|
||||
self.bibleThemeComboBox, QtCore.SIGNAL(u'activated(int)'),
|
||||
self.onBibleThemeComboBoxChanged)
|
||||
QtCore.QObject.connect(
|
||||
self.LayoutStyleComboBox, QtCore.SIGNAL(u'activated(int)'),
|
||||
self.layoutStyleComboBox, QtCore.SIGNAL(u'activated(int)'),
|
||||
self.onLayoutStyleComboBoxChanged)
|
||||
QtCore.QObject.connect(
|
||||
self.BibleSecondCheckBox, QtCore.SIGNAL(u'stateChanged(int)'),
|
||||
self.bibleSecondCheckBox, QtCore.SIGNAL(u'stateChanged(int)'),
|
||||
self.onBibleSecondCheckBox)
|
||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||
QtCore.SIGNAL(u'theme_update_list'), self.updateThemeList)
|
||||
|
||||
def retranslateUi(self):
|
||||
self.VerseDisplayGroupBox.setTitle(
|
||||
self.verseDisplayGroupBox.setTitle(
|
||||
translate('BiblesPlugin.BiblesTab', 'Verse Display'))
|
||||
self.NewChaptersCheckBox.setText(
|
||||
self.newChaptersCheckBox.setText(
|
||||
translate('BiblesPlugin.BiblesTab',
|
||||
'Only show new chapter numbers'))
|
||||
self.LayoutStyleLabel.setText(
|
||||
self.layoutStyleLabel.setText(
|
||||
translate('BiblesPlugin.BiblesTab', 'Layout style:'))
|
||||
self.DisplayStyleLabel.setText(
|
||||
translate('BiblesPlugin.BiblesTab', 'Display style:'))
|
||||
self.BibleThemeLabel.setText(
|
||||
self.displayStyleLabel.setText(UiStrings.DisplayStyle)
|
||||
self.bibleThemeLabel.setText(
|
||||
translate('BiblesPlugin.BiblesTab', 'Bible theme:'))
|
||||
self.LayoutStyleComboBox.setItemText(LayoutStyle.VersePerSlide,
|
||||
translate('BiblesPlugin.BiblesTab', 'Verse Per Slide'))
|
||||
self.LayoutStyleComboBox.setItemText(LayoutStyle.VersePerLine,
|
||||
translate('BiblesPlugin.BiblesTab', 'Verse Per Line'))
|
||||
self.LayoutStyleComboBox.setItemText(LayoutStyle.Continuous,
|
||||
translate('BiblesPlugin.BiblesTab', 'Continuous'))
|
||||
self.DisplayStyleComboBox.setItemText(DisplayStyle.NoBrackets,
|
||||
self.layoutStyleComboBox.setItemText(LayoutStyle.VersePerSlide,
|
||||
UiStrings.VersePerSlide)
|
||||
self.layoutStyleComboBox.setItemText(LayoutStyle.VersePerLine,
|
||||
UiStrings.VersePerLine)
|
||||
self.layoutStyleComboBox.setItemText(LayoutStyle.Continuous,
|
||||
UiStrings.Continuous)
|
||||
self.displayStyleComboBox.setItemText(DisplayStyle.NoBrackets,
|
||||
translate('BiblesPlugin.BiblesTab', 'No Brackets'))
|
||||
self.DisplayStyleComboBox.setItemText(DisplayStyle.Round,
|
||||
self.displayStyleComboBox.setItemText(DisplayStyle.Round,
|
||||
translate('BiblesPlugin.BiblesTab', '( And )'))
|
||||
self.DisplayStyleComboBox.setItemText(DisplayStyle.Curly,
|
||||
self.displayStyleComboBox.setItemText(DisplayStyle.Curly,
|
||||
translate('BiblesPlugin.BiblesTab', '{ And }'))
|
||||
self.DisplayStyleComboBox.setItemText(DisplayStyle.Square,
|
||||
self.displayStyleComboBox.setItemText(DisplayStyle.Square,
|
||||
translate('BiblesPlugin.BiblesTab', '[ And ]'))
|
||||
self.ChangeNoteLabel.setText(translate('BiblesPlugin.BiblesTab',
|
||||
self.changeNoteLabel.setText(translate('BiblesPlugin.BiblesTab',
|
||||
'Note:\nChanges do not affect verses already in the service.'))
|
||||
self.BibleSecondCheckBox.setText(
|
||||
self.bibleSecondCheckBox.setText(
|
||||
translate('BiblesPlugin.BiblesTab', 'Display second Bible verses'))
|
||||
|
||||
def onBibleThemeComboBoxChanged(self):
|
||||
self.bible_theme = self.BibleThemeComboBox.currentText()
|
||||
self.bible_theme = self.bibleThemeComboBox.currentText()
|
||||
|
||||
def onDisplayStyleComboBoxChanged(self):
|
||||
self.display_style = self.DisplayStyleComboBox.currentIndex()
|
||||
self.display_style = self.displayStyleComboBox.currentIndex()
|
||||
|
||||
def onLayoutStyleComboBoxChanged(self):
|
||||
self.layout_style = self.LayoutStyleComboBox.currentIndex()
|
||||
self.layout_style = self.layoutStyleComboBox.currentIndex()
|
||||
|
||||
def onNewChaptersCheckBoxChanged(self, check_state):
|
||||
self.show_new_chapters = False
|
||||
@ -176,10 +176,10 @@ class BiblesTab(SettingsTab):
|
||||
settings.value(u'bible theme', QtCore.QVariant(u'')).toString())
|
||||
self.second_bibles = settings.value(
|
||||
u'second bibles', QtCore.QVariant(True)).toBool()
|
||||
self.NewChaptersCheckBox.setChecked(self.show_new_chapters)
|
||||
self.DisplayStyleComboBox.setCurrentIndex(self.display_style)
|
||||
self.LayoutStyleComboBox.setCurrentIndex(self.layout_style)
|
||||
self.BibleSecondCheckBox.setChecked(self.second_bibles)
|
||||
self.newChaptersCheckBox.setChecked(self.show_new_chapters)
|
||||
self.displayStyleComboBox.setCurrentIndex(self.display_style)
|
||||
self.layoutStyleComboBox.setCurrentIndex(self.layout_style)
|
||||
self.bibleSecondCheckBox.setChecked(self.second_bibles)
|
||||
settings.endGroup()
|
||||
|
||||
def save(self):
|
||||
@ -204,14 +204,8 @@ class BiblesTab(SettingsTab):
|
||||
|
||||
[u'Bible Theme', u'Song Theme']
|
||||
"""
|
||||
self.BibleThemeComboBox.clear()
|
||||
self.BibleThemeComboBox.addItem(u'')
|
||||
self.bibleThemeComboBox.clear()
|
||||
self.bibleThemeComboBox.addItem(u'')
|
||||
for theme in theme_list:
|
||||
self.BibleThemeComboBox.addItem(theme)
|
||||
index = self.BibleThemeComboBox.findText(
|
||||
unicode(self.bible_theme), QtCore.Qt.MatchExactly)
|
||||
if index == -1:
|
||||
# Not Found.
|
||||
index = 0
|
||||
self.bible_theme = u''
|
||||
self.BibleThemeComboBox.setCurrentIndex(index)
|
||||
self.bibleThemeComboBox.addItem(theme)
|
||||
find_and_set_in_combo_box(self.bibleThemeComboBox, self.bible_theme)
|
||||
|
@ -32,7 +32,7 @@ from openlp.core.lib import MediaManagerItem, Receiver, ItemCapabilities, \
|
||||
translate
|
||||
from openlp.core.lib.searchedit import SearchEdit
|
||||
from openlp.core.lib.ui import UiStrings, add_widget_completer, \
|
||||
media_item_combo_box, critical_error_message_box
|
||||
media_item_combo_box, critical_error_message_box, find_and_set_in_combo_box
|
||||
from openlp.plugins.bibles.forms import BibleImportForm
|
||||
from openlp.plugins.bibles.lib import LayoutStyle, DisplayStyle, \
|
||||
VerseReferenceList, get_reference_match
|
||||
@ -106,6 +106,12 @@ class BibleMediaItem(MediaManagerItem):
|
||||
translate('BiblesPlugin.MediaItem', 'Text Search'))
|
||||
])
|
||||
self.quickLayout.addRow(self.quickSearchLabel, self.quickSearchEdit)
|
||||
self.quickLayoutLabel = QtGui.QLabel(self.quickTab)
|
||||
self.quickLayoutLabel.setObjectName(u'quickClearLabel')
|
||||
self.quickLayoutComboBox = media_item_combo_box(self.quickTab,
|
||||
u'quickLayoutComboBox')
|
||||
self.quickLayoutComboBox.addItems([u'', u'', u''])
|
||||
self.quickLayout.addRow(self.quickLayoutLabel, self.quickLayoutComboBox)
|
||||
self.quickClearLabel = QtGui.QLabel(self.quickTab)
|
||||
self.quickClearLabel.setObjectName(u'quickClearLabel')
|
||||
self.quickClearComboBox = media_item_combo_box(self.quickTab,
|
||||
@ -210,6 +216,9 @@ class BibleMediaItem(MediaManagerItem):
|
||||
QtCore.SIGNAL(u'searchTypeChanged(int)'), self.updateAutoCompleter)
|
||||
QtCore.QObject.connect(self.quickVersionComboBox,
|
||||
QtCore.SIGNAL(u'activated(int)'), self.updateAutoCompleter)
|
||||
QtCore.QObject.connect(
|
||||
self.quickLayoutComboBox, QtCore.SIGNAL(u'activated(int)'),
|
||||
self.onlayoutStyleComboBoxChanged)
|
||||
# Buttons
|
||||
QtCore.QObject.connect(self.advancedSearchButton,
|
||||
QtCore.SIGNAL(u'pressed()'), self.onAdvancedSearchButton)
|
||||
@ -234,6 +243,7 @@ class BibleMediaItem(MediaManagerItem):
|
||||
self.advancedSecondComboBox.setVisible(False)
|
||||
self.quickSecondLabel.setVisible(False)
|
||||
self.quickSecondComboBox.setVisible(False)
|
||||
self.quickLayoutComboBox.setCurrentIndex(self.settings.layout_style)
|
||||
|
||||
def retranslateUi(self):
|
||||
log.debug(u'retranslateUi')
|
||||
@ -269,12 +279,19 @@ class BibleMediaItem(MediaManagerItem):
|
||||
translate('BiblesPlugin.MediaItem', 'Clear'))
|
||||
self.advancedClearComboBox.addItem(
|
||||
translate('BiblesPlugin.MediaItem', 'Keep'))
|
||||
self.quickLayoutLabel.setText(UiStrings.DisplayStyle)
|
||||
self.quickLayoutComboBox.setItemText(LayoutStyle.VersePerSlide,
|
||||
UiStrings.VersePerSlide)
|
||||
self.quickLayoutComboBox.setItemText(LayoutStyle.VersePerLine,
|
||||
UiStrings.VersePerLine)
|
||||
self.quickLayoutComboBox.setItemText(LayoutStyle.Continuous,
|
||||
UiStrings.Continuous)
|
||||
|
||||
def initialise(self):
|
||||
log.debug(u'bible manager initialise')
|
||||
self.parent.manager.media = self
|
||||
self.loadBibles()
|
||||
self.updateAutoCompleter()
|
||||
self.updateAutoCompleter(False)
|
||||
self.configUpdated()
|
||||
log.debug(u'bible manager initialise complete')
|
||||
|
||||
@ -298,23 +315,26 @@ class BibleMediaItem(MediaManagerItem):
|
||||
bibles = self.parent.manager.get_bibles().keys()
|
||||
bibles.sort()
|
||||
# Load the bibles into the combo boxes.
|
||||
first = True
|
||||
for bible in bibles:
|
||||
if bible:
|
||||
self.quickVersionComboBox.addItem(bible)
|
||||
self.quickSecondComboBox.addItem(bible)
|
||||
self.advancedVersionComboBox.addItem(bible)
|
||||
self.advancedSecondComboBox.addItem(bible)
|
||||
if first:
|
||||
first = False
|
||||
self.initialiseBible(bible)
|
||||
# set the default value
|
||||
bible = QtCore.QSettings().value(
|
||||
self.settingsSection + u'/advanced bible',
|
||||
QtCore.QVariant(u'')).toString()
|
||||
if bible in bibles:
|
||||
find_and_set_in_combo_box(self.advancedVersionComboBox, bible)
|
||||
self.initialiseAdvancedBible(unicode(bible))
|
||||
|
||||
def reloadBibles(self):
|
||||
log.debug(u'Reloading Bibles')
|
||||
self.parent.manager.reload_bibles()
|
||||
self.loadBibles()
|
||||
|
||||
def initialiseBible(self, bible):
|
||||
def initialiseAdvancedBible(self, bible):
|
||||
"""
|
||||
This initialises the given bible, which means that its book names and
|
||||
their chapter numbers is added to the combo boxes on the
|
||||
@ -324,7 +344,7 @@ class BibleMediaItem(MediaManagerItem):
|
||||
``bible``
|
||||
The bible to initialise (unicode).
|
||||
"""
|
||||
log.debug(u'initialiseBible %s', bible)
|
||||
log.debug(u'initialiseAdvancedBible %s', bible)
|
||||
book_data = self.parent.manager.get_books(bible)
|
||||
self.advancedBookComboBox.clear()
|
||||
first = True
|
||||
@ -354,12 +374,20 @@ class BibleMediaItem(MediaManagerItem):
|
||||
self.adjustComboBox(1, verse_count, self.advancedFromVerse)
|
||||
self.adjustComboBox(1, verse_count, self.advancedToVerse)
|
||||
|
||||
def updateAutoCompleter(self):
|
||||
def updateAutoCompleter(self, updateConfig=True):
|
||||
"""
|
||||
This updates the bible book completion list for the search field. The
|
||||
completion depends on the bible. It is only updated when we are doing a
|
||||
reference search, otherwise the auto completion list is removed.
|
||||
"""
|
||||
if updateConfig:
|
||||
QtCore.QSettings().setValue(self.settingsSection + u'/quick bible',
|
||||
QtCore.QVariant(self.quickVersionComboBox.currentText()))
|
||||
else:
|
||||
book = QtCore.QSettings().value(
|
||||
self.settingsSection + u'/quick bible',
|
||||
QtCore.QVariant(u'')).toString()
|
||||
find_and_set_in_combo_box(self.quickVersionComboBox, book)
|
||||
books = []
|
||||
# We have to do a 'Reference Search'.
|
||||
if self.quickSearchEdit.currentSearchType() == BibleSearch.Reference:
|
||||
@ -372,7 +400,9 @@ class BibleMediaItem(MediaManagerItem):
|
||||
add_widget_completer(books, self.quickSearchEdit)
|
||||
|
||||
def onAdvancedVersionComboBox(self):
|
||||
self.initialiseBible(
|
||||
QtCore.QSettings().setValue(self.settingsSection + u'/advanced bible',
|
||||
QtCore.QVariant(self.advancedVersionComboBox.currentText()))
|
||||
self.initialiseAdvancedBible(
|
||||
unicode(self.advancedVersionComboBox.currentText()))
|
||||
|
||||
def onAdvancedBookComboBox(self):
|
||||
@ -804,3 +834,11 @@ class BibleMediaItem(MediaManagerItem):
|
||||
if self.settings.display_style == DisplayStyle.Square:
|
||||
return u'{su}[%s]{/su}' % verse_text
|
||||
return u'{su}%s{/su}' % verse_text
|
||||
|
||||
def onlayoutStyleComboBoxChanged(self):
|
||||
self.settings.layout_style = self.quickLayoutComboBox.currentIndex()
|
||||
self.settings.layoutStyleComboBox.setCurrentIndex(
|
||||
self.settings.layout_style)
|
||||
QtCore.QSettings().setValue(
|
||||
self.settingsSection + u'/verse layout style',
|
||||
QtCore.QVariant(self.settings.layout_style))
|
||||
|
@ -96,4 +96,7 @@ class VerseReferenceList(object):
|
||||
version[u'copyright'])
|
||||
if version[u'permission'].strip():
|
||||
result = result + u', ' + version[u'permission']
|
||||
result = result.rstrip()
|
||||
if result.endswith(u','):
|
||||
return result[:len(result)-1]
|
||||
return result
|
||||
|
@ -29,7 +29,7 @@ import logging
|
||||
from PyQt4 import QtCore, QtGui
|
||||
|
||||
from openlp.core.lib import Receiver, translate
|
||||
from openlp.core.lib.ui import critical_error_message_box
|
||||
from openlp.core.lib.ui import critical_error_message_box, find_and_set_in_combo_box
|
||||
from openlp.plugins.custom.lib import CustomXMLBuilder, CustomXMLParser
|
||||
from openlp.plugins.custom.lib.db import CustomSlide
|
||||
from editcustomdialog import Ui_CustomEditDialog
|
||||
@ -98,11 +98,7 @@ class EditCustomForm(QtGui.QDialog, Ui_CustomEditDialog):
|
||||
for slide in slideList:
|
||||
self.slideListView.addItem(slide[1])
|
||||
theme = self.customSlide.theme_name
|
||||
id = self.themeComboBox.findText(theme, QtCore.Qt.MatchExactly)
|
||||
# No theme match
|
||||
if id == -1:
|
||||
id = 0
|
||||
self.themeComboBox.setCurrentIndex(id)
|
||||
find_and_set_in_combo_box(self.themeComboBox, theme)
|
||||
# If not preview hide the preview button.
|
||||
self.previewButton.setVisible(False)
|
||||
if preview:
|
||||
@ -265,4 +261,4 @@ class EditCustomForm(QtGui.QDialog, Ui_CustomEditDialog):
|
||||
message=translate('CustomPlugin.EditCustomForm',
|
||||
'You need to add at least one slide'))
|
||||
return False
|
||||
return True
|
||||
return True
|
@ -31,7 +31,7 @@ from PyQt4 import QtCore, QtGui
|
||||
|
||||
from openlp.core.lib import Receiver, translate
|
||||
from openlp.core.lib.ui import UiStrings, add_widget_completer, \
|
||||
critical_error_message_box
|
||||
critical_error_message_box, find_and_set_in_combo_box
|
||||
from openlp.plugins.songs.forms import EditVerseForm
|
||||
from openlp.plugins.songs.lib import SongXML, VerseType, clean_song
|
||||
from openlp.plugins.songs.lib.db import Book, Song, Author, Topic
|
||||
@ -208,20 +208,9 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
|
||||
self.alternativeEdit.setText(u'')
|
||||
if self.song.song_book_id != 0:
|
||||
book_name = self.manager.get_object(Book, self.song.song_book_id)
|
||||
id = self.songBookComboBox.findText(
|
||||
unicode(book_name.name), QtCore.Qt.MatchExactly)
|
||||
if id == -1:
|
||||
# Not Found
|
||||
id = 0
|
||||
self.songBookComboBox.setCurrentIndex(id)
|
||||
find_and_set_in_combo_box(self.songBookComboBox, unicode(book_name.name))
|
||||
if self.song.theme_name:
|
||||
id = self.themeComboBox.findText(
|
||||
unicode(self.song.theme_name), QtCore.Qt.MatchExactly)
|
||||
if id == -1:
|
||||
# Not Found
|
||||
id = 0
|
||||
self.song.theme_name = None
|
||||
self.themeComboBox.setCurrentIndex(id)
|
||||
find_and_set_in_combo_box(self.themeComboBox, unicode(self.song.theme_name))
|
||||
if self.song.copyright:
|
||||
self.copyrightEdit.setText(self.song.copyright)
|
||||
else:
|
||||
@ -790,4 +779,4 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
|
||||
self.song.verse_order)
|
||||
except:
|
||||
log.exception(u'Problem processing song Lyrics \n%s',
|
||||
sxml.dump_xml())
|
||||
sxml.dump_xml())
|
@ -66,7 +66,17 @@ class SongImportForm(OpenLPWizard):
|
||||
self.formatStack.setCurrentIndex(0)
|
||||
QtCore.QObject.connect(self.formatComboBox,
|
||||
QtCore.SIGNAL(u'currentIndexChanged(int)'),
|
||||
self.formatStack.setCurrentIndex)
|
||||
self.onCurrentIndexChanged)
|
||||
|
||||
def onCurrentIndexChanged(self, index):
|
||||
"""
|
||||
Called when the format combo box's index changed. We have to check if
|
||||
the import is available and accordingly to disable or enable the next
|
||||
button.
|
||||
"""
|
||||
self.formatStack.setCurrentIndex(index)
|
||||
next_button = self.button(QtGui.QWizard.NextButton)
|
||||
next_button.setEnabled(SongFormat.get_availability(index))
|
||||
|
||||
def customInit(self):
|
||||
"""
|
||||
|
@ -283,19 +283,20 @@ class SongMediaItem(MediaManagerItem):
|
||||
self.remoteTriggered = None
|
||||
self.remoteSong = -1
|
||||
|
||||
def onRemoteEdit(self, songid):
|
||||
def onRemoteEdit(self, message):
|
||||
"""
|
||||
Called by ServiceManager or SlideController by event passing
|
||||
the Song Id in the payload along with an indicator to say which
|
||||
type of display is required.
|
||||
"""
|
||||
log.debug(u'onRemoteEdit %s' % songid)
|
||||
fields = songid.split(u':')
|
||||
valid = self.parent.manager.get_object(Song, fields[1])
|
||||
log.debug(u'onRemoteEdit %s' % message)
|
||||
remote_type, song_id = message.split(u':')
|
||||
song_id = int(song_id)
|
||||
valid = self.parent.manager.get_object(Song, song_id)
|
||||
if valid:
|
||||
self.remoteSong = fields[1]
|
||||
self.remoteTriggered = fields[0]
|
||||
self.edit_song_form.loadSong(fields[1], (fields[0] == u'P'))
|
||||
self.remoteSong = song_id
|
||||
self.remoteTriggered = remote_type
|
||||
self.edit_song_form.loadSong(song_id, (remote_type == u'P'))
|
||||
self.edit_song_form.exec_()
|
||||
|
||||
def onEditClick(self):
|
||||
|
@ -39,12 +39,8 @@ if os.name == u'nt':
|
||||
PAGE_AFTER = 5
|
||||
PAGE_BOTH = 6
|
||||
else:
|
||||
try:
|
||||
import uno
|
||||
from com.sun.star.style.BreakType import PAGE_BEFORE, PAGE_AFTER, \
|
||||
PAGE_BOTH
|
||||
except ImportError:
|
||||
pass
|
||||
import uno
|
||||
from com.sun.star.style.BreakType import PAGE_BEFORE, PAGE_AFTER, PAGE_BOTH
|
||||
|
||||
class OooImport(SongImport):
|
||||
"""
|
||||
|
Loading…
Reference in New Issue
Block a user