mirror of https://gitlab.com/openlp/openlp.git
Add "Apply UPPERCASE globally" function to songs plugin.
This commit is contained in:
parent
6bbfe00ec0
commit
30760515d0
|
@ -1 +1 @@
|
|||
3.1.1
|
||||
3.1.1.dev34+6bbfe00ec
|
|
@ -363,6 +363,7 @@ class Settings(QtCore.QSettings):
|
|||
'songs/chord notation': 'english', # Can be english, german or neo-latin
|
||||
'songs/disable chords import': False,
|
||||
'songs/auto play audio': False,
|
||||
'songs/uppercase songs': False,
|
||||
'songusage/status': PluginStatus.Inactive,
|
||||
'songusage/db type': 'sqlite',
|
||||
'songusage/db username': '',
|
||||
|
@ -472,6 +473,7 @@ class Settings(QtCore.QSettings):
|
|||
('shortcuts/offlineHelpItem', 'shortcuts/userManualItem', []), # Online and Offline help were combined in 2.6.
|
||||
('shortcuts/onlineHelpItem', 'shortcuts/userManualItem', []), # Online and Offline help were combined in 2.6.
|
||||
('songs/auto play audio', 'songs/auto play audio', [(bool, None)]),
|
||||
('songs/uppercase songs', 'songs/uppercase songs', [(bool, None)]),
|
||||
('songs/last directory export', 'songs/last directory export', [(str_to_path, None)]),
|
||||
('songs/last directory import', 'songs/last directory import', [(str_to_path, None)]),
|
||||
# Last search type was renamed to last used search type in 2.6 since Bible search value type changed in 2.6.
|
||||
|
|
|
@ -560,6 +560,8 @@ class SongMediaItem(MediaManagerItem):
|
|||
"""
|
||||
log.debug('generate_slide_data: {service}, {item}, {remote}'.format(service=service_item, item=item,
|
||||
remote=self.remote_song))
|
||||
|
||||
uppercase = bool(self.settings.value('songs/uppercase songs'))
|
||||
item_id = self._get_id_of_item_to_generate(item, self.remote_song)
|
||||
service_item.add_capability(ItemCapabilities.CanEdit)
|
||||
service_item.add_capability(ItemCapabilities.CanPreview)
|
||||
|
@ -597,6 +599,8 @@ class SongMediaItem(MediaManagerItem):
|
|||
verse_def = '{tag}{label}'.format(tag=verse_tag, label=verse[0]['label'])
|
||||
force_verse = verse[1].split('[--}{--]\n')
|
||||
for split_verse in force_verse:
|
||||
if uppercase:
|
||||
split_verse = "{uc}" + split_verse + "{/uc}"
|
||||
service_item.add_from_text(split_verse, verse_def)
|
||||
else:
|
||||
# Loop through the verse list and expand the song accordingly.
|
||||
|
@ -614,6 +618,8 @@ class SongMediaItem(MediaManagerItem):
|
|||
verse_def = '{tag}{label}'.format(tag=verse_tag, label=verse[0]['label'])
|
||||
force_verse = verse[1].split('[--}{--]\n')
|
||||
for split_verse in force_verse:
|
||||
if uppercase:
|
||||
split_verse = "{uc}" + split_verse + "{/uc}"
|
||||
service_item.add_from_text(split_verse, verse_def)
|
||||
service_item.data_string = {
|
||||
'title': song.search_title,
|
||||
|
|
|
@ -54,6 +54,9 @@ class SongsTab(SettingsTab):
|
|||
self.auto_play_check_box = QtWidgets.QCheckBox(self.mode_group_box)
|
||||
self.auto_play_check_box.setObjectName('auto_play_check_box')
|
||||
self.mode_layout.addWidget(self.auto_play_check_box)
|
||||
self.uppercase_check_box = QtWidgets.QCheckBox(self.mode_group_box)
|
||||
self.uppercase_check_box.setObjectName('uppercase_check_box')
|
||||
self.mode_layout.addWidget(self.uppercase_check_box)
|
||||
# First Slide Mode
|
||||
self.first_slide_mode_widget = QtWidgets.QWidget(self.mode_group_box)
|
||||
self.first_slide_mode_layout = QtWidgets.QHBoxLayout(self.first_slide_mode_widget)
|
||||
|
@ -152,6 +155,7 @@ class SongsTab(SettingsTab):
|
|||
self.add_from_service_check_box.stateChanged.connect(self.on_add_from_service_check_box_changed)
|
||||
self.first_slide_mode_combobox.currentIndexChanged.connect(self.on_first_slide_mode_combo_box_changed)
|
||||
self.auto_play_check_box.stateChanged.connect(self.on_auto_play_check_box_changed)
|
||||
self.uppercase_check_box.stateChanged.connect(self.on_uppercase_check_box_changed)
|
||||
self.disable_chords_import_check_box.stateChanged.connect(self.on_disable_chords_import_check_box_changed)
|
||||
self.song_key_warning_check_box.stateChanged.connect(self.on_song_key_warning_check_box_changed)
|
||||
self.english_notation_radio_button.clicked.connect(self.on_english_notation_button_clicked)
|
||||
|
@ -171,6 +175,7 @@ class SongsTab(SettingsTab):
|
|||
self.first_slide_mode_combobox.setItemText(1, translate('SongsPlugin.SongsTab', 'Songbook'))
|
||||
self.first_slide_mode_combobox.setItemText(2, translate('SongsPlugin.SongsTab', 'Same as Footer'))
|
||||
self.auto_play_check_box.setText(translate('SongsPlugin.SongsTab', 'Auto-play background audio'))
|
||||
self.uppercase_check_box.setText(translate('SongsPlugin.SongsTab', 'Apply UPPERCASE globally to all songs.'))
|
||||
self.chords_info_label.setText(translate('SongsPlugin.SongsTab', 'If enabled all text between "[" and "]" will '
|
||||
'be regarded as chords.'))
|
||||
self.chords_group_box.setTitle(translate('SongsPlugin.SongsTab', 'Chords'))
|
||||
|
@ -252,6 +257,9 @@ class SongsTab(SettingsTab):
|
|||
|
||||
def on_auto_play_check_box_changed(self, check_state):
|
||||
self.auto_play = (check_state == QtCore.Qt.Checked)
|
||||
|
||||
def on_uppercase_check_box_changed(self, check_state):
|
||||
self.uppercase = (check_state == QtCore.Qt.Checked)
|
||||
|
||||
def on_disable_chords_import_check_box_changed(self, check_state):
|
||||
self.disable_chords_import = (check_state == QtCore.Qt.Checked)
|
||||
|
@ -280,6 +288,7 @@ class SongsTab(SettingsTab):
|
|||
self.update_load = self.settings.value('songs/add song from service')
|
||||
self.first_slide_mode = self.settings.value('songs/first slide mode')
|
||||
self.auto_play = self.settings.value('songs/auto play audio')
|
||||
self.uppercase = self.settings.value('songs/uppercase songs')
|
||||
self.enable_chords = self.settings.value('songs/enable chords')
|
||||
self.chord_notation = self.settings.value('songs/chord notation')
|
||||
self.disable_chords_import = self.settings.value('songs/disable chords import')
|
||||
|
@ -288,6 +297,7 @@ class SongsTab(SettingsTab):
|
|||
self.update_on_edit_check_box.setChecked(self.update_edit)
|
||||
self.add_from_service_check_box.setChecked(self.update_load)
|
||||
self.auto_play_check_box.setChecked(self.auto_play)
|
||||
self.uppercase_check_box.setChecked(self.uppercase)
|
||||
self.chords_group_box.setChecked(self.enable_chords)
|
||||
self.disable_chords_import_check_box.setChecked(self.disable_chords_import)
|
||||
self.song_key_warning_check_box.setChecked(self.song_key_warning)
|
||||
|
@ -311,6 +321,7 @@ class SongsTab(SettingsTab):
|
|||
self.settings.setValue('songs/update service on edit', self.update_edit)
|
||||
self.settings.setValue('songs/add song from service', self.update_load)
|
||||
self.settings.setValue('songs/auto play audio', self.auto_play)
|
||||
self.settings.setValue('songs/uppercase songs', self.uppercase)
|
||||
self.settings.setValue('songs/enable chords', self.chords_group_box.isChecked())
|
||||
self.settings.setValue('songs/disable chords import', self.disable_chords_import)
|
||||
self.settings.setValue('songs/warn about missing song key', self.song_key_warning)
|
||||
|
|
|
@ -101,6 +101,7 @@ def test_save_check_box_settings(form):
|
|||
assert form.settings.value('songs/add song from service') is True
|
||||
assert form.settings.value('songs/disable chords import') is False
|
||||
assert form.settings.value('songs/auto play audio') is True
|
||||
assert form.settings.value('songs/uppercase songs') is True
|
||||
|
||||
|
||||
def test_english_notation_button(form):
|
||||
|
|
Loading…
Reference in New Issue