mirror of https://gitlab.com/openlp/openlp.git
add "Continuous (whole verse)" bible layout
This commit is contained in:
parent
a1ab6e26e7
commit
02ffc24f72
|
@ -90,6 +90,7 @@ class LayoutStyle(IntEnum):
|
|||
VersePerSlide = 0
|
||||
VersePerLine = 1
|
||||
Continuous = 2
|
||||
WholeVerseContinuous = 3
|
||||
|
||||
|
||||
@unique
|
||||
|
|
|
@ -454,6 +454,7 @@ class UiStrings(metaclass=Singleton):
|
|||
self.ViewMode = translate('OpenLP.Ui', 'View Mode')
|
||||
self.Video = translate('OpenLP.Ui', 'Video')
|
||||
self.WebDownloadText = translate('OpenLP.Ui', 'Web Interface, Download and Install Latest Version')
|
||||
self.WholeVerseContinuous = translate('OpenLP.Ui', 'Continuous (whole verses)')
|
||||
self.ZeroconfErrorIntro = translate('OpenLP.Ui', 'There was a problem advertising OpenLP\'s remote '
|
||||
'interface on the network:')
|
||||
self.ZeroconfGenericError = translate('OpenLP.Ui', 'An unknown error occurred')
|
||||
|
|
|
@ -617,7 +617,13 @@ class ThemePreviewRenderer(DisplayWindow, LogMixin):
|
|||
line_end = ' '
|
||||
# Bibles
|
||||
if item and item.name == 'bibles':
|
||||
pages = self._paginate_slide_words(text.split('\n'), line_end)
|
||||
if item.is_capable(ItemCapabilities.CanWordSplit):
|
||||
pages = self._paginate_slide_words(text.split('\n'), line_end)
|
||||
else:
|
||||
if item.is_capable(ItemCapabilities.NoLineBreaks):
|
||||
pages = self._paginate_slide(text.split('\n'), "")
|
||||
else:
|
||||
pages = self._paginate_slide(text.split('\n'), line_end)
|
||||
# Songs and Custom
|
||||
elif item is None or (item and item.is_capable(ItemCapabilities.CanSoftBreak)):
|
||||
pages = []
|
||||
|
@ -705,7 +711,8 @@ class ThemePreviewRenderer(DisplayWindow, LogMixin):
|
|||
formatted = []
|
||||
previous_html = ''
|
||||
previous_raw = ''
|
||||
separator = '<br>'
|
||||
#separator = '<br>'
|
||||
separator = line_end
|
||||
html_lines = list(map(render_tags, lines))
|
||||
# Text too long so go to next page.
|
||||
if not self._text_fits_on_slide(separator.join(html_lines)):
|
||||
|
|
|
@ -69,7 +69,7 @@ class BiblesTab(SettingsTab):
|
|||
self.layout_style_label.setObjectName('layout_style_label')
|
||||
self.layout_style_combo_box = QtWidgets.QComboBox(self.verse_display_group_box)
|
||||
self.layout_style_combo_box.setObjectName('layout_style_combo_box')
|
||||
self.layout_style_combo_box.addItems(['', '', ''])
|
||||
self.layout_style_combo_box.addItems(['', '', '', ''])
|
||||
self.verse_display_layout.addRow(self.layout_style_label, self.layout_style_combo_box)
|
||||
self.bible_second_check_box = QtWidgets.QCheckBox(self.verse_display_group_box)
|
||||
self.bible_second_check_box.setObjectName('bible_second_check_box')
|
||||
|
@ -183,6 +183,7 @@ class BiblesTab(SettingsTab):
|
|||
self.layout_style_combo_box.setItemText(LayoutStyle.VersePerSlide, UiStrings().VersePerSlide)
|
||||
self.layout_style_combo_box.setItemText(LayoutStyle.VersePerLine, UiStrings().VersePerLine)
|
||||
self.layout_style_combo_box.setItemText(LayoutStyle.Continuous, UiStrings().Continuous)
|
||||
self.layout_style_combo_box.setItemText(LayoutStyle.WholeVerseContinuous, UiStrings().WholeVerseContinuous)
|
||||
self.display_style_combo_box.setItemText(DisplayStyle.NoBrackets,
|
||||
translate('BiblesPlugin.BiblesTab', 'No Brackets'))
|
||||
self.display_style_combo_box.setItemText(DisplayStyle.Round,
|
||||
|
|
|
@ -198,7 +198,7 @@ class BibleMediaItem(MediaManagerItem):
|
|||
self.second_combo_box = create_horizontal_adjusting_combo_box(self, 'second_combo_box')
|
||||
self.general_bible_layout.addRow(translate('BiblesPlugin.MediaItem', 'Second:'), self.second_combo_box)
|
||||
self.style_combo_box = create_horizontal_adjusting_combo_box(self, 'style_combo_box')
|
||||
self.style_combo_box.addItems(['', '', ''])
|
||||
self.style_combo_box.addItems(['', '', '', ''])
|
||||
self.general_bible_layout.addRow(UiStrings().LayoutStyle, self.style_combo_box)
|
||||
self.options_tab.setVisible(False)
|
||||
self.page_layout.addWidget(self.options_tab)
|
||||
|
@ -265,6 +265,7 @@ class BibleMediaItem(MediaManagerItem):
|
|||
self.style_combo_box.setItemText(LayoutStyle.VersePerSlide, UiStrings().VersePerSlide)
|
||||
self.style_combo_box.setItemText(LayoutStyle.VersePerLine, UiStrings().VersePerLine)
|
||||
self.style_combo_box.setItemText(LayoutStyle.Continuous, UiStrings().Continuous)
|
||||
self.style_combo_box.setItemText(LayoutStyle.WholeVerseContinuous, UiStrings().WholeVerseContinuous)
|
||||
self.clear_button.setToolTip(translate('BiblesPlugin.MediaItem', 'Clear the results on the current tab.'))
|
||||
self.save_results_button.setToolTip(
|
||||
translate('BiblesPlugin.MediaItem', 'Add the search results to the saved list.'))
|
||||
|
@ -954,6 +955,8 @@ class BibleMediaItem(MediaManagerItem):
|
|||
# If we are 'Verse Per Line' then force a new line.
|
||||
elif self.settings_tab.layout_style == LayoutStyle.VersePerLine:
|
||||
bible_text = '{bible} {verse}{data[text]}\n'.format(bible=bible_text, verse=verse_text, data=data)
|
||||
elif self.settings_tab.layout_style == LayoutStyle.WholeVerseContinuous:
|
||||
bible_text = '{bible} {verse}{data[text]}\n'.format(bible=bible_text, verse=verse_text, data=data)
|
||||
# We have to be 'Continuous'.
|
||||
else:
|
||||
bible_text = '{bible} {verse}{data[text]}'.format(bible=bible_text, verse=verse_text, data=data)
|
||||
|
@ -989,9 +992,13 @@ class BibleMediaItem(MediaManagerItem):
|
|||
if self.settings_tab.layout_style == LayoutStyle.Continuous and not data['second_bible']:
|
||||
# Split the line but do not replace line breaks in renderer.
|
||||
service_item.add_capability(ItemCapabilities.NoLineBreaks)
|
||||
if self.settings_tab.layout_style == LayoutStyle.WholeVerseContinuous:
|
||||
if not data['second_bible']:
|
||||
service_item.add_capability(ItemCapabilities.NoLineBreaks)
|
||||
else:
|
||||
service_item.add_capability(ItemCapabilities.CanWordSplit)
|
||||
service_item.add_capability(ItemCapabilities.CanPreview)
|
||||
service_item.add_capability(ItemCapabilities.CanLoop)
|
||||
service_item.add_capability(ItemCapabilities.CanWordSplit)
|
||||
service_item.add_capability(ItemCapabilities.CanEditTitle)
|
||||
# Service Item: Title
|
||||
service_item.title = '{verse} {version}'.format(verse=verses.format_verses(), version=verses.format_versions())
|
||||
|
|
Loading…
Reference in New Issue