openlp-core team mailing list archive
-
openlp-core team
-
Mailing list archive
-
Message #24009
[Merge] lp:~sam92/openlp/footer-copyright into lp:openlp
Samuel Mehrbrodt has proposed merging lp:~sam92/openlp/footer-copyright into lp:openlp.
Requested reviews:
Raoul Snyman (raoul-snyman)
For more details, see:
https://code.launchpad.net/~sam92/openlp/footer-copyright/+merge/226116
Add an option to always add the copyright symbol in the footer
Also removed unused import
lp:~sam92/openlp/footer-copyright (revision 2402)
[SUCCESS] http://ci.openlp.org/job/Branch-01-Pull/517/
[SUCCESS] http://ci.openlp.org/job/Branch-02-Functional-Tests/475/
[SUCCESS] http://ci.openlp.org/job/Branch-03-Interface-Tests/420/
[FAILURE] http://ci.openlp.org/job/Branch-04-Windows_Tests/379/
[SUCCESS] http://ci.openlp.org/job/Branch-05a-Code_Analysis/246/
[SUCCESS] http://ci.openlp.org/job/Branch-05b-Test_Coverage/120/
--
https://code.launchpad.net/~sam92/openlp/footer-copyright/+merge/226116
Your team OpenLP Core is subscribed to branch lp:openlp.
=== modified file 'openlp/plugins/songs/lib/mediaitem.py'
--- openlp/plugins/songs/lib/mediaitem.py 2014-07-03 16:54:51 +0000
+++ openlp/plugins/songs/lib/mediaitem.py 2014-07-09 12:52:09 +0000
@@ -36,7 +36,7 @@
from sqlalchemy.sql import or_
from openlp.core.common import Registry, AppLocation, Settings, check_directory_exists, UiStrings, translate
-from openlp.core.lib import MediaManagerItem, ItemCapabilities, PluginStatus, ServiceItem, ServiceItemContext, \
+from openlp.core.lib import MediaManagerItem, ItemCapabilities, PluginStatus, ServiceItemContext, \
check_item_selected, create_separated_list
from openlp.core.lib.ui import create_widget_action
from openlp.plugins.songs.forms.editsongform import EditSongForm
@@ -126,6 +126,7 @@
self.update_service_on_edit = Settings().value(self.settings_section + '/update service on edit')
self.add_song_from_service = Settings().value(self.settings_section + '/add song from service')
self.display_songbook = Settings().value(self.settings_section + '/display songbook')
+ self.display_copyright_symbol = Settings().value(self.settings_section + '/display copyright symbol')
def retranslateUi(self):
self.search_text_label.setText('%s:' % UiStrings().Search)
@@ -506,7 +507,11 @@
if authors_translation:
item.raw_footer.append("%s: %s" % (AuthorType.Types[AuthorType.Translation],
create_separated_list(authors_translation)))
- item.raw_footer.append(song.copyright)
+ if song.copyright:
+ if self.display_copyright_symbol:
+ item.raw_footer.append("%s %s" % (SongStrings.CopyrightSymbol, song.copyright))
+ else:
+ item.raw_footer.append(song.copyright)
if self.display_songbook and song.book:
item.raw_footer.append("%s #%s" % (song.book.name, song.song_number))
if Settings().value('core/ccli number'):
=== modified file 'openlp/plugins/songs/lib/songstab.py'
--- openlp/plugins/songs/lib/songstab.py 2014-05-03 10:03:50 +0000
+++ openlp/plugins/songs/lib/songstab.py 2014-07-09 12:52:09 +0000
@@ -31,6 +31,7 @@
from openlp.core.common import Settings, translate
from openlp.core.lib import SettingsTab
+from openlp.plugins.songs.lib.ui import SongStrings
class SongsTab(SettingsTab):
@@ -62,6 +63,9 @@
self.display_songbook_check_box = QtGui.QCheckBox(self.mode_group_box)
self.display_songbook_check_box.setObjectName('songbook_check_box')
self.mode_layout.addWidget(self.display_songbook_check_box)
+ self.display_copyright_check_box = QtGui.QCheckBox(self.mode_group_box)
+ self.display_copyright_check_box.setObjectName('copyright_check_box')
+ self.mode_layout.addWidget(self.display_copyright_check_box)
self.left_layout.addWidget(self.mode_group_box)
self.left_layout.addStretch()
self.right_layout.addStretch()
@@ -70,6 +74,7 @@
self.update_on_edit_check_box.stateChanged.connect(self.on_update_on_edit_check_box_changed)
self.add_from_service_check_box.stateChanged.connect(self.on_add_from_service_check_box_changed)
self.display_songbook_check_box.stateChanged.connect(self.on_songbook_check_box_changed)
+ self.display_copyright_check_box.stateChanged.connect(self.on_copyright_check_box_changed)
def retranslateUi(self):
self.mode_group_box.setTitle(translate('SongsPlugin.SongsTab', 'Songs Mode'))
@@ -80,6 +85,9 @@
self.add_from_service_check_box.setText(translate('SongsPlugin.SongsTab',
'Import missing songs from service files'))
self.display_songbook_check_box.setText(translate('SongsPlugin.SongsTab', 'Display songbook in footer'))
+ self.display_copyright_check_box.setText(translate('SongsPlugin.SongsTab',
+ 'Display "%s" symbol before copyright info' %
+ SongStrings.CopyrightSymbol))
def on_search_as_type_check_box_changed(self, check_state):
self.song_search = (check_state == QtCore.Qt.Checked)
@@ -96,6 +104,9 @@
def on_songbook_check_box_changed(self, check_state):
self.display_songbook = (check_state == QtCore.Qt.Checked)
+ def on_copyright_check_box_changed(self, check_state):
+ self.display_copyright_symbol = (check_state == QtCore.Qt.Checked)
+
def load(self):
settings = Settings()
settings.beginGroup(self.settings_section)
@@ -104,11 +115,13 @@
self.update_edit = settings.value('update service on edit')
self.update_load = settings.value('add song from service')
self.display_songbook = settings.value('display songbook')
+ self.display_copyright_symbol = settings.value('display copyright symbol')
self.search_as_type_check_box.setChecked(self.song_search)
self.tool_bar_active_check_box.setChecked(self.tool_bar)
self.update_on_edit_check_box.setChecked(self.update_edit)
self.add_from_service_check_box.setChecked(self.update_load)
self.display_songbook_check_box.setChecked(self.display_songbook)
+ self.display_copyright_check_box.setChecked(self.display_copyright_symbol)
settings.endGroup()
def save(self):
@@ -119,6 +132,7 @@
settings.setValue('update service on edit', self.update_edit)
settings.setValue('add song from service', self.update_load)
settings.setValue('display songbook', self.display_songbook)
+ settings.setValue('display copyright symbol', self.display_copyright_symbol)
settings.endGroup()
if self.tab_visited:
self.settings_form.register_post_process('songs_config_updated')
=== modified file 'openlp/plugins/songs/songsplugin.py'
--- openlp/plugins/songs/songsplugin.py 2014-07-04 09:31:06 +0000
+++ openlp/plugins/songs/songsplugin.py 2014-07-09 12:52:09 +0000
@@ -64,6 +64,7 @@
'songs/add song from service': True,
'songs/display songbar': True,
'songs/display songbook': False,
+ 'songs/display copyright symbol': False,
'songs/last directory import': '',
'songs/last directory export': '',
'songs/songselect username': '',
=== modified file 'tests/functional/openlp_plugins/songs/test_mediaitem.py'
--- tests/functional/openlp_plugins/songs/test_mediaitem.py 2014-05-21 19:55:16 +0000
+++ tests/functional/openlp_plugins/songs/test_mediaitem.py 2014-07-09 12:52:09 +0000
@@ -28,6 +28,7 @@
patch('openlp.plugins.songs.forms.editsongform.EditSongForm.__init__'):
self.media_item = SongMediaItem(None, MagicMock())
self.media_item.display_songbook = False
+ self.media_item.display_copyright_symbol = False
self.get_application()
self.build_settings()
QtCore.QLocale.setDefault(QtCore.QLocale('en_GB'))
@@ -154,6 +155,23 @@
# THEN: The songbook should be in the footer
self.assertEqual(service_item.raw_footer, ['My Song', 'My copyright', 'My songbook #12'])
+ def build_song_footer_copyright_test(self):
+ """
+ Test building song footer with displaying the copyright symbol
+ """
+ # GIVEN: A Song and a Service Item; displaying the copyright symbol is enabled
+ self.media_item.display_copyright_symbol = True
+ mock_song = MagicMock()
+ mock_song.title = 'My Song'
+ mock_song.copyright = 'My copyright'
+ service_item = ServiceItem(None)
+
+ # WHEN: I generate the Footer with default settings
+ self.media_item.generate_footer(service_item, mock_song)
+
+ # THEN: The copyright symbol should be in the footer
+ self.assertEqual(service_item.raw_footer, ['My Song', '© My copyright'])
+
def authors_match_test(self):
"""
Test the author matching when importing a song from a service
Follow ups