forked from openlp/openlp
fix lables and render bug
This commit is contained in:
parent
b546f3cecb
commit
7abef1df22
@ -150,7 +150,7 @@ class UiStrings(object):
|
|||||||
self.SaveService = translate('OpenLP.Ui', 'Save Service')
|
self.SaveService = translate('OpenLP.Ui', 'Save Service')
|
||||||
self.Service = translate('OpenLP.Ui', 'Service')
|
self.Service = translate('OpenLP.Ui', 'Service')
|
||||||
self.ShortResults = translate('OpenLP.Ui', 'Please type more text to use \'Search As You Type\'')
|
self.ShortResults = translate('OpenLP.Ui', 'Please type more text to use \'Search As You Type\'')
|
||||||
self.Split = translate('OpenLP.Ui', 'Optional &Split')
|
self.Split = translate('OpenLP.Ui', 'Overflow &Split')
|
||||||
self.SplitToolTip = translate('OpenLP.Ui',
|
self.SplitToolTip = translate('OpenLP.Ui',
|
||||||
'Split a slide into two only if it does not fit on the screen as one slide.')
|
'Split a slide into two only if it does not fit on the screen as one slide.')
|
||||||
self.StartingImport = translate('OpenLP.Ui', 'Starting import...')
|
self.StartingImport = translate('OpenLP.Ui', 'Starting import...')
|
||||||
|
@ -242,6 +242,9 @@ class Renderer(OpenLPMixin, RegistryMixin, RegistryProperties):
|
|||||||
elif item.is_capable(ItemCapabilities.CanSoftBreak):
|
elif item.is_capable(ItemCapabilities.CanSoftBreak):
|
||||||
pages = []
|
pages = []
|
||||||
if '[---]' in text:
|
if '[---]' in text:
|
||||||
|
# Remove Overflow split if at start of the text
|
||||||
|
if text.startswith('[---]'):
|
||||||
|
text = text[5:]
|
||||||
# Remove two or more option slide breaks next to each other (causing infinite loop).
|
# Remove two or more option slide breaks next to each other (causing infinite loop).
|
||||||
while '\n[---]\n[---]\n' in text:
|
while '\n[---]\n[---]\n' in text:
|
||||||
text = text.replace('\n[---]\n[---]\n', '\n[---]\n')
|
text = text.replace('\n[---]\n[---]\n', '\n[---]\n')
|
||||||
|
@ -209,21 +209,21 @@ class ListPreviewWidget(QtWidgets.QTableWidget, RegistryProperties):
|
|||||||
Switches to the given row.
|
Switches to the given row.
|
||||||
"""
|
"""
|
||||||
# Retrieve setting
|
# Retrieve setting
|
||||||
autoscrolling = Settings().value('advanced/autoscrolling')
|
auto_scrolling = Settings().value('advanced/autoscrolling')
|
||||||
# Check if auto-scroll disabled (None) and validate value as dict containing 'dist' and 'pos'
|
# Check if auto-scroll disabled (None) and validate value as dict containing 'dist' and 'pos'
|
||||||
# 'dist' represents the slide to scroll to relative to the new slide (-1 = previous, 0 = current, 1 = next)
|
# 'dist' represents the slide to scroll to relative to the new slide (-1 = previous, 0 = current, 1 = next)
|
||||||
# 'pos' represents the vert position of of the slide (0 = in view, 1 = top, 2 = middle, 3 = bottom)
|
# 'pos' represents the vert position of of the slide (0 = in view, 1 = top, 2 = middle, 3 = bottom)
|
||||||
if not (isinstance(autoscrolling, dict) and 'dist' in autoscrolling and 'pos' in autoscrolling and
|
if not (isinstance(auto_scrolling, dict) and 'dist' in auto_scrolling and 'pos' in auto_scrolling and
|
||||||
isinstance(autoscrolling['dist'], int) and isinstance(autoscrolling['pos'], int)):
|
isinstance(auto_scrolling['dist'], int) and isinstance(auto_scrolling['pos'], int)):
|
||||||
return
|
return
|
||||||
# prevent scrolling past list bounds
|
# prevent scrolling past list bounds
|
||||||
scroll_to_slide = slide + autoscrolling['dist']
|
scroll_to_slide = slide + auto_scrolling['dist']
|
||||||
if scroll_to_slide < 0:
|
if scroll_to_slide < 0:
|
||||||
scroll_to_slide = 0
|
scroll_to_slide = 0
|
||||||
if scroll_to_slide >= self.slide_count():
|
if scroll_to_slide >= self.slide_count():
|
||||||
scroll_to_slide = self.slide_count() - 1
|
scroll_to_slide = self.slide_count() - 1
|
||||||
# Scroll to item if possible.
|
# Scroll to item if possible.
|
||||||
self.scrollToItem(self.item(scroll_to_slide, 0), autoscrolling['pos'])
|
self.scrollToItem(self.item(scroll_to_slide, 0), auto_scrolling['pos'])
|
||||||
self.selectRow(slide)
|
self.selectRow(slide)
|
||||||
|
|
||||||
def current_slide_number(self):
|
def current_slide_number(self):
|
||||||
|
@ -42,14 +42,14 @@ class Ui_EditVerseDialog(object):
|
|||||||
self.dialog_layout.addWidget(self.verse_text_edit)
|
self.dialog_layout.addWidget(self.verse_text_edit)
|
||||||
self.verse_type_layout = QtWidgets.QHBoxLayout()
|
self.verse_type_layout = QtWidgets.QHBoxLayout()
|
||||||
self.verse_type_layout.setObjectName('verse_type_layout')
|
self.verse_type_layout.setObjectName('verse_type_layout')
|
||||||
self.divide_split_button = QtWidgets.QPushButton(edit_verse_dialog)
|
self.forced_split_button = QtWidgets.QPushButton(edit_verse_dialog)
|
||||||
self.divide_split_button.setIcon(build_icon(':/general/general_add.png'))
|
self.forced_split_button.setIcon(build_icon(':/general/general_add.png'))
|
||||||
self.divide_split_button.setObjectName('divide_split_button')
|
self.forced_split_button.setObjectName('forced_split_button')
|
||||||
self.verse_type_layout.addWidget(self.divide_split_button)
|
self.verse_type_layout.addWidget(self.forced_split_button)
|
||||||
self.split_button = QtWidgets.QPushButton(edit_verse_dialog)
|
self.overflow_split_button = QtWidgets.QPushButton(edit_verse_dialog)
|
||||||
self.split_button.setIcon(build_icon(':/general/general_add.png'))
|
self.overflow_split_button.setIcon(build_icon(':/general/general_add.png'))
|
||||||
self.split_button.setObjectName('split_button')
|
self.overflow_split_button.setObjectName('overflow_split_button')
|
||||||
self.verse_type_layout.addWidget(self.split_button)
|
self.verse_type_layout.addWidget(self.overflow_split_button)
|
||||||
self.verse_type_label = QtWidgets.QLabel(edit_verse_dialog)
|
self.verse_type_label = QtWidgets.QLabel(edit_verse_dialog)
|
||||||
self.verse_type_label.setObjectName('verse_type_label')
|
self.verse_type_label.setObjectName('verse_type_label')
|
||||||
self.verse_type_layout.addWidget(self.verse_type_label)
|
self.verse_type_layout.addWidget(self.verse_type_label)
|
||||||
@ -97,10 +97,10 @@ class Ui_EditVerseDialog(object):
|
|||||||
self.verse_type_combo_box.setItemText(VerseType.Intro, VerseType.translated_names[VerseType.Intro])
|
self.verse_type_combo_box.setItemText(VerseType.Intro, VerseType.translated_names[VerseType.Intro])
|
||||||
self.verse_type_combo_box.setItemText(VerseType.Ending, VerseType.translated_names[VerseType.Ending])
|
self.verse_type_combo_box.setItemText(VerseType.Ending, VerseType.translated_names[VerseType.Ending])
|
||||||
self.verse_type_combo_box.setItemText(VerseType.Other, VerseType.translated_names[VerseType.Other])
|
self.verse_type_combo_box.setItemText(VerseType.Other, VerseType.translated_names[VerseType.Other])
|
||||||
self.split_button.setText(UiStrings().Split)
|
self.overflow_split_button.setText(UiStrings().Split)
|
||||||
self.split_button.setToolTip(UiStrings().SplitToolTip)
|
self.overflow_split_button.setToolTip(UiStrings().SplitToolTip)
|
||||||
self.divide_split_button.setText(translate('SongsPlugin.EditVerseForm', '&Divide'))
|
self.forced_split_button.setText(translate('SongsPlugin.EditVerseForm', '&Forced Split'))
|
||||||
self.divide_split_button.setToolTip(translate('SongsPlugin.EditVerseForm', 'Divide the verse when displayed '
|
self.forced_split_button.setToolTip(translate('SongsPlugin.EditVerseForm', 'Split the verse when displayed '
|
||||||
'regardless of the screen size.'))
|
'regardless of the screen size.'))
|
||||||
self.insert_button.setText(translate('SongsPlugin.EditVerseForm', '&Insert'))
|
self.insert_button.setText(translate('SongsPlugin.EditVerseForm', '&Insert'))
|
||||||
self.insert_button.setToolTip(translate('SongsPlugin.EditVerseForm',
|
self.insert_button.setToolTip(translate('SongsPlugin.EditVerseForm',
|
||||||
|
@ -48,10 +48,10 @@ class EditVerseForm(QtWidgets.QDialog, Ui_EditVerseDialog):
|
|||||||
self.setupUi(self)
|
self.setupUi(self)
|
||||||
self.has_single_verse = False
|
self.has_single_verse = False
|
||||||
self.insert_button.clicked.connect(self.on_insert_button_clicked)
|
self.insert_button.clicked.connect(self.on_insert_button_clicked)
|
||||||
self.split_button.clicked.connect(self.on_split_button_clicked)
|
self.overflow_split_button.clicked.connect(self.on_overflow_split_button_clicked)
|
||||||
self.verse_text_edit.cursorPositionChanged.connect(self.on_cursor_position_changed)
|
self.verse_text_edit.cursorPositionChanged.connect(self.on_cursor_position_changed)
|
||||||
self.verse_type_combo_box.currentIndexChanged.connect(self.on_verse_type_combo_box_changed)
|
self.verse_type_combo_box.currentIndexChanged.connect(self.on_verse_type_combo_box_changed)
|
||||||
self.divide_split_button.clicked.connect(self.on_divide_split_button_clicked)
|
self.forced_split_button.clicked.connect(self.on_forced_split_button_clicked)
|
||||||
if Settings().value('songs/enable chords'):
|
if Settings().value('songs/enable chords'):
|
||||||
self.transpose_down_button.clicked.connect(self.on_transpose_down_button_clicked)
|
self.transpose_down_button.clicked.connect(self.on_transpose_down_button_clicked)
|
||||||
self.transpose_up_button.clicked.connect(self.on_transpose_up_button_clicked)
|
self.transpose_up_button.clicked.connect(self.on_transpose_up_button_clicked)
|
||||||
@ -69,13 +69,13 @@ class EditVerseForm(QtWidgets.QDialog, Ui_EditVerseDialog):
|
|||||||
self.verse_text_edit.insertPlainText('---[{tag}:{number}]---\n'.format(tag=verse_tag, number=verse_num))
|
self.verse_text_edit.insertPlainText('---[{tag}:{number}]---\n'.format(tag=verse_tag, number=verse_num))
|
||||||
self.verse_text_edit.setFocus()
|
self.verse_text_edit.setFocus()
|
||||||
|
|
||||||
def on_split_button_clicked(self):
|
def on_overflow_split_button_clicked(self):
|
||||||
"""
|
"""
|
||||||
The optional split button has been pressed so we need add the split
|
The optional split button has been pressed so we need add the split
|
||||||
"""
|
"""
|
||||||
self._add_splitter_to_text('[---]')
|
self._add_splitter_to_text('[---]')
|
||||||
|
|
||||||
def on_divide_split_button_clicked(self):
|
def on_forced_split_button_clicked(self):
|
||||||
"""
|
"""
|
||||||
The force split button has been pressed so we need add the split
|
The force split button has been pressed so we need add the split
|
||||||
"""
|
"""
|
||||||
|
@ -590,7 +590,7 @@ class SongMediaItem(MediaManagerItem):
|
|||||||
verse_index = VerseType.from_tag(verse_tag)
|
verse_index = VerseType.from_tag(verse_tag)
|
||||||
verse_tag = VerseType.translated_tags[verse_index].upper()
|
verse_tag = VerseType.translated_tags[verse_index].upper()
|
||||||
verse_def = '{tag}{label}'.format(tag=verse_tag, label=verse[0]['label'])
|
verse_def = '{tag}{label}'.format(tag=verse_tag, label=verse[0]['label'])
|
||||||
force_verse = verse[1].split('[--}{--]\n', 2)
|
force_verse = verse[1].split('[--}{--]\n')
|
||||||
for split_verse in force_verse:
|
for split_verse in force_verse:
|
||||||
service_item.add_from_text(split_verse, verse_def)
|
service_item.add_from_text(split_verse, verse_def)
|
||||||
else:
|
else:
|
||||||
@ -607,7 +607,7 @@ class SongMediaItem(MediaManagerItem):
|
|||||||
verse_index = VerseType.from_tag(verse[0]['type'])
|
verse_index = VerseType.from_tag(verse[0]['type'])
|
||||||
verse_tag = VerseType.translated_tags[verse_index]
|
verse_tag = VerseType.translated_tags[verse_index]
|
||||||
verse_def = '{tag}{label}'.format(tag=verse_tag, label=verse[0]['label'])
|
verse_def = '{tag}{label}'.format(tag=verse_tag, label=verse[0]['label'])
|
||||||
force_verse = verse[1].split('[--}{--]\n', 2)
|
force_verse = verse[1].split('[--}{--]\n')
|
||||||
for split_verse in force_verse:
|
for split_verse in force_verse:
|
||||||
service_item.add_from_text(split_verse, verse_def)
|
service_item.add_from_text(split_verse, verse_def)
|
||||||
service_item.title = song.title
|
service_item.title = song.title
|
||||||
|
@ -82,7 +82,7 @@ class TestEditVerseForm(TestCase, TestMixin):
|
|||||||
self.edit_verse_form.verse_text_edit.setPlainText('Text\n')
|
self.edit_verse_form.verse_text_edit.setPlainText('Text\n')
|
||||||
|
|
||||||
# WHEN the method is called
|
# WHEN the method is called
|
||||||
self.edit_verse_form.on_divide_split_button_clicked()
|
self.edit_verse_form.on_forced_split_button_clicked()
|
||||||
# THEN the verse number must not be changed
|
# THEN the verse number must not be changed
|
||||||
self.assertEqual('[--}{--]\nText\n', self.edit_verse_form.verse_text_edit.toPlainText(),
|
self.assertEqual('[--}{--]\nText\n', self.edit_verse_form.verse_text_edit.toPlainText(),
|
||||||
'The verse number should be [--}{--]\nText\n')
|
'The verse number should be [--}{--]\nText\n')
|
||||||
@ -96,7 +96,7 @@ class TestEditVerseForm(TestCase, TestMixin):
|
|||||||
self.edit_verse_form.verse_text_edit.setPlainText('Text\n')
|
self.edit_verse_form.verse_text_edit.setPlainText('Text\n')
|
||||||
|
|
||||||
# WHEN the method is called
|
# WHEN the method is called
|
||||||
self.edit_verse_form.on_split_button_clicked()
|
self.edit_verse_form.on_overflow_split_button_clicked()
|
||||||
# THEN the verse number must not be changed
|
# THEN the verse number must not be changed
|
||||||
self.assertEqual('[---]\nText\n', self.edit_verse_form.verse_text_edit.toPlainText(),
|
self.assertEqual('[---]\nText\n', self.edit_verse_form.verse_text_edit.toPlainText(),
|
||||||
'The verse number should be [---]\nText\n')
|
'The verse number should be [---]\nText\n')
|
||||||
|
Loading…
Reference in New Issue
Block a user