From 57bab854641a64db58d85becf5d3116fc268da42 Mon Sep 17 00:00:00 2001 From: Oliver Wieland Date: Fri, 9 Aug 2013 21:31:59 +0200 Subject: [PATCH 01/11] fixes bug #1051699 'Bibles add option to not display chapter and verse numbers' Fixes: https://launchpad.net/bugs/1051699 --- openlp/plugins/bibles/lib/__init__.py | 1 + openlp/plugins/bibles/lib/biblestab.py | 4 +++- openlp/plugins/bibles/lib/mediaitem.py | 6 ++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/openlp/plugins/bibles/lib/__init__.py b/openlp/plugins/bibles/lib/__init__.py index 371632d41..1935b53f2 100644 --- a/openlp/plugins/bibles/lib/__init__.py +++ b/openlp/plugins/bibles/lib/__init__.py @@ -60,6 +60,7 @@ class DisplayStyle(object): Round = 1 Curly = 2 Square = 3 + NoDisplay = 4 class LanguageSelection(object): diff --git a/openlp/plugins/bibles/lib/biblestab.py b/openlp/plugins/bibles/lib/biblestab.py index 17182d7e2..6dc831602 100644 --- a/openlp/plugins/bibles/lib/biblestab.py +++ b/openlp/plugins/bibles/lib/biblestab.py @@ -64,7 +64,7 @@ class BiblesTab(SettingsTab): self.display_style_label = QtGui.QLabel(self.verse_display_group_box) self.display_style_label.setObjectName(u'display_style_label') self.display_style_combo_box = QtGui.QComboBox(self.verse_display_group_box) - self.display_style_combo_box.addItems([u'', u'', u'', u'']) + self.display_style_combo_box.addItems([u'', u'', u'', u'', u'']) self.display_style_combo_box.setObjectName(u'display_style_combo_box') self.verse_display_layout.addRow(self.display_style_label, self.display_style_combo_box) self.layout_style_label = QtGui.QLabel(self.verse_display_group_box) @@ -171,6 +171,8 @@ class BiblesTab(SettingsTab): translate('BiblesPlugin.BiblesTab', '{ And }')) self.display_style_combo_box.setItemText(DisplayStyle.Square, translate('BiblesPlugin.BiblesTab', '[ And ]')) + self.display_style_combo_box.setItemText(DisplayStyle.NoDisplay, + translate('BiblesPlugin.BiblesTab', 'Hide verse numbers')) self.change_note_label.setText(translate('BiblesPlugin.BiblesTab', 'Note:\nChanges do not affect verses already in the service.')) self.bible_second_check_box.setText(translate('BiblesPlugin.BiblesTab', 'Display second Bible verses')) diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py index b67bb99b2..ba7129a99 100644 --- a/openlp/plugins/bibles/lib/mediaitem.py +++ b/openlp/plugins/bibles/lib/mediaitem.py @@ -949,10 +949,12 @@ class BibleMediaItem(MediaManagerItem): verse_text = unicode(verse) if self.settings.display_style == DisplayStyle.Round: return u'{su}(%s){/su}' % verse_text - if self.settings.display_style == DisplayStyle.Curly: + elif self.settings.display_style == DisplayStyle.Curly: return u'{su}{%s}{/su}' % verse_text - if self.settings.display_style == DisplayStyle.Square: + elif self.settings.display_style == DisplayStyle.Square: return u'{su}[%s]{/su}' % verse_text + else: + return u'{su}{/su}' return u'{su}%s{/su}' % verse_text def search(self, string, showError): From 77a4b0986a33246b1b791d49a4b0a66e62077cfa Mon Sep 17 00:00:00 2001 From: Oliver Wieland Date: Sat, 10 Aug 2013 11:17:44 +0200 Subject: [PATCH 02/11] 'formatVerse' now returns an empty string instead of '{su}{/su}' --- openlp/.version | 2 +- openlp/plugins/bibles/lib/mediaitem.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/.version b/openlp/.version index 3245d0c77..8b707d904 100644 --- a/openlp/.version +++ b/openlp/.version @@ -1 +1 @@ -2.1.0-bzr2234 +2.2.2-bzr2285 diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py index ba7129a99..1af97b5df 100644 --- a/openlp/plugins/bibles/lib/mediaitem.py +++ b/openlp/plugins/bibles/lib/mediaitem.py @@ -954,7 +954,7 @@ class BibleMediaItem(MediaManagerItem): elif self.settings.display_style == DisplayStyle.Square: return u'{su}[%s]{/su}' % verse_text else: - return u'{su}{/su}' + return u'' return u'{su}%s{/su}' % verse_text def search(self, string, showError): From 6bebf6a4076abc3c49856f96e1506ed22f1fef87 Mon Sep 17 00:00:00 2001 From: Oliver Wieland Date: Sat, 10 Aug 2013 16:51:01 +0200 Subject: [PATCH 03/11] Option "No brackets" didn't work anymore - fixed --- openlp/.version | 2 +- openlp/plugins/bibles/lib/mediaitem.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/.version b/openlp/.version index 8b707d904..3245d0c77 100644 --- a/openlp/.version +++ b/openlp/.version @@ -1 +1 @@ -2.2.2-bzr2285 +2.1.0-bzr2234 diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py index 1af97b5df..837e5062b 100644 --- a/openlp/plugins/bibles/lib/mediaitem.py +++ b/openlp/plugins/bibles/lib/mediaitem.py @@ -953,7 +953,7 @@ class BibleMediaItem(MediaManagerItem): return u'{su}{%s}{/su}' % verse_text elif self.settings.display_style == DisplayStyle.Square: return u'{su}[%s]{/su}' % verse_text - else: + elif self.settings.display_style == DisplayStyle.NoDisplay: return u'' return u'{su}%s{/su}' % verse_text From e474a3ce7d7c777f18f0b4fc00a321eac3396306 Mon Sep 17 00:00:00 2001 From: Oliver Wieland Date: Sun, 11 Aug 2013 16:43:27 +0200 Subject: [PATCH 04/11] new checkbox "Display verse numbers" instead of option "No Display" in display_style_combo_box --- openlp/plugins/bibles/bibleplugin.py | 1 + openlp/plugins/bibles/lib/__init__.py | 1 - openlp/plugins/bibles/lib/biblestab.py | 30 +++++++++++++++++++++++--- openlp/plugins/bibles/lib/mediaitem.py | 27 ++++++++++++----------- 4 files changed, 42 insertions(+), 17 deletions(-) diff --git a/openlp/plugins/bibles/bibleplugin.py b/openlp/plugins/bibles/bibleplugin.py index e2888d67a..db1a47a42 100644 --- a/openlp/plugins/bibles/bibleplugin.py +++ b/openlp/plugins/bibles/bibleplugin.py @@ -48,6 +48,7 @@ __default_settings__ = { u'bibles/verse layout style': LayoutStyle.VersePerSlide, u'bibles/book name language': LanguageSelection.Bible, u'bibles/display brackets': DisplayStyle.NoBrackets, + u'bibles/display verse': True, u'bibles/display new chapter': False, u'bibles/second bibles': True, u'bibles/advanced bible': u'', diff --git a/openlp/plugins/bibles/lib/__init__.py b/openlp/plugins/bibles/lib/__init__.py index 1935b53f2..371632d41 100644 --- a/openlp/plugins/bibles/lib/__init__.py +++ b/openlp/plugins/bibles/lib/__init__.py @@ -60,7 +60,6 @@ class DisplayStyle(object): Round = 1 Curly = 2 Square = 3 - NoDisplay = 4 class LanguageSelection(object): diff --git a/openlp/plugins/bibles/lib/biblestab.py b/openlp/plugins/bibles/lib/biblestab.py index 6dc831602..190b0d639 100644 --- a/openlp/plugins/bibles/lib/biblestab.py +++ b/openlp/plugins/bibles/lib/biblestab.py @@ -58,13 +58,16 @@ class BiblesTab(SettingsTab): self.verse_display_group_box.setObjectName(u'verse_display_group_box') self.verse_display_layout = QtGui.QFormLayout(self.verse_display_group_box) self.verse_display_layout.setObjectName(u'verse_display_layout') + self.display_verse_check_box = QtGui.QCheckBox(self.verse_display_group_box) + self.display_verse_check_box.setObjectName(u'verse_display_check_box') + self.verse_display_layout.addRow(self.display_verse_check_box) self.new_chapters_check_box = QtGui.QCheckBox(self.verse_display_group_box) self.new_chapters_check_box.setObjectName(u'new_chapters_check_box') self.verse_display_layout.addRow(self.new_chapters_check_box) self.display_style_label = QtGui.QLabel(self.verse_display_group_box) self.display_style_label.setObjectName(u'display_style_label') self.display_style_combo_box = QtGui.QComboBox(self.verse_display_group_box) - self.display_style_combo_box.addItems([u'', u'', u'', u'', u'']) + self.display_style_combo_box.addItems([u'', u'', u'', u'']) self.display_style_combo_box.setObjectName(u'display_style_combo_box') self.verse_display_layout.addRow(self.display_style_label, self.display_style_combo_box) self.layout_style_label = QtGui.QLabel(self.verse_display_group_box) @@ -134,6 +137,7 @@ class BiblesTab(SettingsTab): self.left_layout.addStretch() self.right_layout.addStretch() # Signals and slots + self.display_verse_check_box.stateChanged.connect(self.on_display_verse_check_box_changed) self.new_chapters_check_box.stateChanged.connect(self.on_new_chapters_check_box_changed) self.display_style_combo_box.activated.connect(self.on_display_style_combo_box_changed) self.bible_theme_combo_box.activated.connect(self.on_bible_theme_combo_box_changed) @@ -156,6 +160,7 @@ class BiblesTab(SettingsTab): def retranslateUi(self): self.verse_display_group_box.setTitle(translate('BiblesPlugin.BiblesTab', 'Verse Display')) + self.display_verse_check_box.setText(translate('BiblesPlugin.BiblesTab', 'Display verse numbers')) self.new_chapters_check_box.setText(translate('BiblesPlugin.BiblesTab', 'Only show new chapter numbers')) self.layout_style_label.setText(UiStrings().LayoutStyle) self.display_style_label.setText(UiStrings().DisplayStyle) @@ -171,8 +176,6 @@ class BiblesTab(SettingsTab): translate('BiblesPlugin.BiblesTab', '{ And }')) self.display_style_combo_box.setItemText(DisplayStyle.Square, translate('BiblesPlugin.BiblesTab', '[ And ]')) - self.display_style_combo_box.setItemText(DisplayStyle.NoDisplay, - translate('BiblesPlugin.BiblesTab', 'Hide verse numbers')) self.change_note_label.setText(translate('BiblesPlugin.BiblesTab', 'Note:\nChanges do not affect verses already in the service.')) self.bible_second_check_box.setText(translate('BiblesPlugin.BiblesTab', 'Display second Bible verses')) @@ -210,6 +213,14 @@ class BiblesTab(SettingsTab): def on_language_selection_combo_box_changed(self): self.language_selection = self.language_selection_combo_box.currentIndex() + def on_display_verse_check_box_changed(self, check_state): + self.display_verse = False + # We have a set value convert to True/False. + if check_state == QtCore.Qt.Checked: + self.display_verse = True + + self.check_display_verse() + def on_new_chapters_check_box_changed(self, check_state): self.show_new_chapters = False # We have a set value convert to True/False. @@ -301,11 +312,14 @@ class BiblesTab(SettingsTab): def load(self): settings = Settings() settings.beginGroup(self.settings_section) + self.display_verse = settings.value(u'display verse') self.show_new_chapters = settings.value(u'display new chapter') self.display_style = settings.value(u'display brackets') self.layout_style = settings.value(u'verse layout style') self.bible_theme = settings.value(u'bible theme') self.second_bibles = settings.value(u'second bibles') + self.display_verse_check_box.setChecked(self.display_verse) + self.check_display_verse() self.new_chapters_check_box.setChecked(self.show_new_chapters) self.display_style_combo_box.setCurrentIndex(self.display_style) self.layout_style_combo_box.setCurrentIndex(self.layout_style) @@ -353,6 +367,7 @@ class BiblesTab(SettingsTab): def save(self): settings = Settings() settings.beginGroup(self.settings_section) + settings.setValue(u'display verse', self.display_verse) settings.setValue(u'display new chapter', self.show_new_chapters) settings.setValue(u'display brackets', self.display_style) settings.setValue(u'verse layout style', self.layout_style) @@ -407,3 +422,12 @@ class BiblesTab(SettingsTab): color.setAlpha(128) palette.setColor(QtGui.QPalette.Active, QtGui.QPalette.Text, color) return palette + + def check_display_verse(self): + """ + Enables / Disables verse settings dependent on display_verse + """ + self.new_chapters_check_box.setEnabled(self.display_verse) + self.display_style_label.setEnabled(self.display_verse) + self.display_style_combo_box.setEnabled(self.display_verse) + diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py index 837e5062b..217a7487f 100644 --- a/openlp/plugins/bibles/lib/mediaitem.py +++ b/openlp/plugins/bibles/lib/mediaitem.py @@ -943,19 +943,20 @@ class BibleMediaItem(MediaManagerItem): The verse number (int). """ verse_separator = get_reference_separator(u'sep_v_display') - if not self.settings.show_new_chapters or old_chapter != chapter: - verse_text = unicode(chapter) + verse_separator + unicode(verse) - else: - verse_text = unicode(verse) - if self.settings.display_style == DisplayStyle.Round: - return u'{su}(%s){/su}' % verse_text - elif self.settings.display_style == DisplayStyle.Curly: - return u'{su}{%s}{/su}' % verse_text - elif self.settings.display_style == DisplayStyle.Square: - return u'{su}[%s]{/su}' % verse_text - elif self.settings.display_style == DisplayStyle.NoDisplay: - return u'' - return u'{su}%s{/su}' % verse_text + + if self.settings.display_verse: + if not self.settings.show_new_chapters or old_chapter != chapter: + verse_text = unicode(chapter) + verse_separator + unicode(verse) + else: + verse_text = unicode(verse) + if self.settings.display_style == DisplayStyle.Round: + return u'{su}(%s){/su}' % verse_text + elif self.settings.display_style == DisplayStyle.Curly: + return u'{su}{%s}{/su}' % verse_text + elif self.settings.display_style == DisplayStyle.Square: + return u'{su}[%s]{/su}' % verse_text + return u'{su}%s{/su}' % verse_text + return u'' def search(self, string, showError): """ From cd8f1e29b1b505c027962a5e4554c19a62cf73e9 Mon Sep 17 00:00:00 2001 From: Oliver Wieland Date: Fri, 16 Aug 2013 22:41:06 +0200 Subject: [PATCH 05/11] changed variable and property names for consistency added test functions for bibles/versereferencelist --- openlp/plugins/bibles/bibleplugin.py | 2 +- openlp/plugins/bibles/lib/biblestab.py | 37 ++++---- openlp/plugins/bibles/lib/mediaitem.py | 2 +- .../openlp_plugins/bibles/__init__.py | 0 .../bibles/test_versereferencelist.py | 84 +++++++++++++++++++ 5 files changed, 104 insertions(+), 21 deletions(-) create mode 100644 tests/functional/openlp_plugins/bibles/__init__.py create mode 100644 tests/functional/openlp_plugins/bibles/test_versereferencelist.py diff --git a/openlp/plugins/bibles/bibleplugin.py b/openlp/plugins/bibles/bibleplugin.py index db1a47a42..ac41e4468 100644 --- a/openlp/plugins/bibles/bibleplugin.py +++ b/openlp/plugins/bibles/bibleplugin.py @@ -48,7 +48,7 @@ __default_settings__ = { u'bibles/verse layout style': LayoutStyle.VersePerSlide, u'bibles/book name language': LanguageSelection.Bible, u'bibles/display brackets': DisplayStyle.NoBrackets, - u'bibles/display verse': True, + u'bibles/verse number display': True, u'bibles/display new chapter': False, u'bibles/second bibles': True, u'bibles/advanced bible': u'', diff --git a/openlp/plugins/bibles/lib/biblestab.py b/openlp/plugins/bibles/lib/biblestab.py index 190b0d639..ad7ef403c 100644 --- a/openlp/plugins/bibles/lib/biblestab.py +++ b/openlp/plugins/bibles/lib/biblestab.py @@ -58,9 +58,9 @@ class BiblesTab(SettingsTab): self.verse_display_group_box.setObjectName(u'verse_display_group_box') self.verse_display_layout = QtGui.QFormLayout(self.verse_display_group_box) self.verse_display_layout.setObjectName(u'verse_display_layout') - self.display_verse_check_box = QtGui.QCheckBox(self.verse_display_group_box) - self.display_verse_check_box.setObjectName(u'verse_display_check_box') - self.verse_display_layout.addRow(self.display_verse_check_box) + self.verse_number_display_check_box = QtGui.QCheckBox(self.verse_display_group_box) + self.verse_number_display_check_box.setObjectName(u'verse_display_check_box') + self.verse_display_layout.addRow(self.verse_number_display_check_box) self.new_chapters_check_box = QtGui.QCheckBox(self.verse_display_group_box) self.new_chapters_check_box.setObjectName(u'new_chapters_check_box') self.verse_display_layout.addRow(self.new_chapters_check_box) @@ -137,7 +137,7 @@ class BiblesTab(SettingsTab): self.left_layout.addStretch() self.right_layout.addStretch() # Signals and slots - self.display_verse_check_box.stateChanged.connect(self.on_display_verse_check_box_changed) + self.verse_number_display_check_box.stateChanged.connect(self.on_verse_number_display_check_box_changed) self.new_chapters_check_box.stateChanged.connect(self.on_new_chapters_check_box_changed) self.display_style_combo_box.activated.connect(self.on_display_style_combo_box_changed) self.bible_theme_combo_box.activated.connect(self.on_bible_theme_combo_box_changed) @@ -160,7 +160,7 @@ class BiblesTab(SettingsTab): def retranslateUi(self): self.verse_display_group_box.setTitle(translate('BiblesPlugin.BiblesTab', 'Verse Display')) - self.display_verse_check_box.setText(translate('BiblesPlugin.BiblesTab', 'Display verse numbers')) + self.verse_number_display_check_box.setText(translate('BiblesPlugin.BiblesTab', 'Display verse numbers')) self.new_chapters_check_box.setText(translate('BiblesPlugin.BiblesTab', 'Only show new chapter numbers')) self.layout_style_label.setText(UiStrings().LayoutStyle) self.display_style_label.setText(UiStrings().DisplayStyle) @@ -213,13 +213,12 @@ class BiblesTab(SettingsTab): def on_language_selection_combo_box_changed(self): self.language_selection = self.language_selection_combo_box.currentIndex() - def on_display_verse_check_box_changed(self, check_state): - self.display_verse = False + def on_verse_number_display_check_box_changed(self, check_state): + self.verse_number_display = False # We have a set value convert to True/False. if check_state == QtCore.Qt.Checked: - self.display_verse = True - - self.check_display_verse() + self.verse_number_display = True + self.check_verse_number_display() def on_new_chapters_check_box_changed(self, check_state): self.show_new_chapters = False @@ -312,14 +311,14 @@ class BiblesTab(SettingsTab): def load(self): settings = Settings() settings.beginGroup(self.settings_section) - self.display_verse = settings.value(u'display verse') + self.verse_number_display = settings.value(u'verse number display') self.show_new_chapters = settings.value(u'display new chapter') self.display_style = settings.value(u'display brackets') self.layout_style = settings.value(u'verse layout style') self.bible_theme = settings.value(u'bible theme') self.second_bibles = settings.value(u'second bibles') - self.display_verse_check_box.setChecked(self.display_verse) - self.check_display_verse() + self.verse_number_display_check_box.setChecked(self.verse_number_display) + self.check_verse_number_display() self.new_chapters_check_box.setChecked(self.show_new_chapters) self.display_style_combo_box.setCurrentIndex(self.display_style) self.layout_style_combo_box.setCurrentIndex(self.layout_style) @@ -367,7 +366,7 @@ class BiblesTab(SettingsTab): def save(self): settings = Settings() settings.beginGroup(self.settings_section) - settings.setValue(u'display verse', self.display_verse) + settings.setValue(u'verse number display', self.verse_number_display) settings.setValue(u'display new chapter', self.show_new_chapters) settings.setValue(u'display brackets', self.display_style) settings.setValue(u'verse layout style', self.layout_style) @@ -423,11 +422,11 @@ class BiblesTab(SettingsTab): palette.setColor(QtGui.QPalette.Active, QtGui.QPalette.Text, color) return palette - def check_display_verse(self): + def check_verse_number_display(self): """ - Enables / Disables verse settings dependent on display_verse + Enables / Disables verse settings dependent on verse_number_display """ - self.new_chapters_check_box.setEnabled(self.display_verse) - self.display_style_label.setEnabled(self.display_verse) - self.display_style_combo_box.setEnabled(self.display_verse) + self.new_chapters_check_box.setEnabled(self.verse_number_display) + self.display_style_label.setEnabled(self.verse_number_display) + self.display_style_combo_box.setEnabled(self.verse_number_display) diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py index 217a7487f..805160c28 100644 --- a/openlp/plugins/bibles/lib/mediaitem.py +++ b/openlp/plugins/bibles/lib/mediaitem.py @@ -944,7 +944,7 @@ class BibleMediaItem(MediaManagerItem): """ verse_separator = get_reference_separator(u'sep_v_display') - if self.settings.display_verse: + if self.settings.verse_number_display: if not self.settings.show_new_chapters or old_chapter != chapter: verse_text = unicode(chapter) + verse_separator + unicode(verse) else: diff --git a/tests/functional/openlp_plugins/bibles/__init__.py b/tests/functional/openlp_plugins/bibles/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/functional/openlp_plugins/bibles/test_versereferencelist.py b/tests/functional/openlp_plugins/bibles/test_versereferencelist.py new file mode 100644 index 000000000..9ab36e571 --- /dev/null +++ b/tests/functional/openlp_plugins/bibles/test_versereferencelist.py @@ -0,0 +1,84 @@ +""" +This module contains tests for the versereferencelist submodule of the Bibles plugin. +""" + +from unittest import TestCase +from openlp.plugins.bibles.lib.versereferencelist import VerseReferenceList + +class TestVerseReferenceList(TestCase): + def setUp(self): + self.reference_list = VerseReferenceList() + + def add_test(self): + """ + Test the addition of verses to the list + """ + + #GIVEN: book, chapter, verse and version + book = u'testBook' + chapter = 1 + verse = 1 + version = u'testVersion' + copyright = u'testCopyright' + permission = u'testPermision' + + #WHEN: We add it to the verse list + self.reference_list.add(book, chapter, verse, version, copyright, permission) + + #THEN: The entries should be in the first entry of the list + self.assertEqual(self.reference_list.current_index, 0, u'The current index should be 0') + self.assertEqual(self.reference_list.verse_list[0][u'book'], book, u'The book in first entry should be %s' %book) + self.assertEqual(self.reference_list.verse_list[0][u'chapter'], chapter, u'The chapter in first entry should be %u' %chapter) + self.assertEqual(self.reference_list.verse_list[0][u'start'], verse, u'The start in first entry should be %u' %verse) + self.assertEqual(self.reference_list.verse_list[0][u'version'], version, u'The version in first entry should be %s' %version) + self.assertEqual(self.reference_list.verse_list[0][u'end'], verse, u'The end in first entry should be %u' %verse) + + #GIVEN: next verse + verse = 2 + + #WHEN: We add it to the verse list + self.reference_list.add(book, chapter, verse, version, copyright, permission) + + #THEN: The current index should be 0 and the end pointer of the entry should be '2' + self.assertEqual(self.reference_list.current_index, 0, u'The current index should be 0') + self.assertEqual(self.reference_list.verse_list[0][u'end'], verse, u'The end in first entry should be %u' %verse) + + #GIVEN: a verse in another book + book = u'testBook2' + chapter = 2 + verse = 5 + + #WHEN: We add it to the verse list + self.reference_list.add(book, chapter, verse, version, copyright, permission) + + #THEN: the current index should be 1 + self.assertEqual(self.reference_list.current_index, 1, u'The current index should be 1') + + def add_version_test(self): + """ + Test the addition of versions to the list + """ + #GIVEN: version, copyright and permission + version = u'testVersion' + copyright = u'testCopyright' + permission = u'testPermision' + + + #WHEN: a not existing version will be added + self.reference_list.add_version(version, copyright, permission) + + #THEN: the data will be appended to the list + self.assertEqual(self.reference_list.version_list[0], {u'version': version, u'copyright': copyright, u'permission': permission}, + u'The version data should be appended') + + + #GIVEN: old length of the array + oldLen = self.reference_list.version_list.__len__() + + #WHEN: an existing version will be added + self.reference_list.add_version(version, copyright, permission) + + #THEN: the data will not be appended to the list + self.assertEqual(self.reference_list.version_list.__len__(), oldLen, u'The version data should not be appended') + + From 74572b07fdd03eb2bd803067cae92f2576e4da75 Mon Sep 17 00:00:00 2001 From: Oliver Wieland Date: Sat, 17 Aug 2013 00:14:27 +0200 Subject: [PATCH 06/11] Changed variable names Doing some styling changes --- openlp/plugins/bibles/bibleplugin.py | 2 +- openlp/plugins/bibles/lib/biblestab.py | 36 ++--- openlp/plugins/bibles/lib/mediaitem.py | 3 +- .../bibles/test_versereferencelist.py | 126 +++++++++++------- 4 files changed, 99 insertions(+), 68 deletions(-) diff --git a/openlp/plugins/bibles/bibleplugin.py b/openlp/plugins/bibles/bibleplugin.py index ac41e4468..a638ecb12 100644 --- a/openlp/plugins/bibles/bibleplugin.py +++ b/openlp/plugins/bibles/bibleplugin.py @@ -48,7 +48,7 @@ __default_settings__ = { u'bibles/verse layout style': LayoutStyle.VersePerSlide, u'bibles/book name language': LanguageSelection.Bible, u'bibles/display brackets': DisplayStyle.NoBrackets, - u'bibles/verse number display': True, + u'bibles/is verse number visible': True, u'bibles/display new chapter': False, u'bibles/second bibles': True, u'bibles/advanced bible': u'', diff --git a/openlp/plugins/bibles/lib/biblestab.py b/openlp/plugins/bibles/lib/biblestab.py index ad7ef403c..72d222d8e 100644 --- a/openlp/plugins/bibles/lib/biblestab.py +++ b/openlp/plugins/bibles/lib/biblestab.py @@ -58,9 +58,9 @@ class BiblesTab(SettingsTab): self.verse_display_group_box.setObjectName(u'verse_display_group_box') self.verse_display_layout = QtGui.QFormLayout(self.verse_display_group_box) self.verse_display_layout.setObjectName(u'verse_display_layout') - self.verse_number_display_check_box = QtGui.QCheckBox(self.verse_display_group_box) - self.verse_number_display_check_box.setObjectName(u'verse_display_check_box') - self.verse_display_layout.addRow(self.verse_number_display_check_box) + self.is_verse_number_visible_check_box = QtGui.QCheckBox(self.verse_display_group_box) + self.is_verse_number_visible_check_box.setObjectName(u'verse_display_check_box') + self.verse_display_layout.addRow(self.is_verse_number_visible_check_box) self.new_chapters_check_box = QtGui.QCheckBox(self.verse_display_group_box) self.new_chapters_check_box.setObjectName(u'new_chapters_check_box') self.verse_display_layout.addRow(self.new_chapters_check_box) @@ -137,7 +137,7 @@ class BiblesTab(SettingsTab): self.left_layout.addStretch() self.right_layout.addStretch() # Signals and slots - self.verse_number_display_check_box.stateChanged.connect(self.on_verse_number_display_check_box_changed) + self.is_verse_number_visible_check_box.stateChanged.connect(self.on_is_verse_number_visible_check_box_changed) self.new_chapters_check_box.stateChanged.connect(self.on_new_chapters_check_box_changed) self.display_style_combo_box.activated.connect(self.on_display_style_combo_box_changed) self.bible_theme_combo_box.activated.connect(self.on_bible_theme_combo_box_changed) @@ -160,7 +160,7 @@ class BiblesTab(SettingsTab): def retranslateUi(self): self.verse_display_group_box.setTitle(translate('BiblesPlugin.BiblesTab', 'Verse Display')) - self.verse_number_display_check_box.setText(translate('BiblesPlugin.BiblesTab', 'Display verse numbers')) + self.is_verse_number_visible_check_box.setText(translate('BiblesPlugin.BiblesTab', 'Is verse number visible')) self.new_chapters_check_box.setText(translate('BiblesPlugin.BiblesTab', 'Only show new chapter numbers')) self.layout_style_label.setText(UiStrings().LayoutStyle) self.display_style_label.setText(UiStrings().DisplayStyle) @@ -213,12 +213,12 @@ class BiblesTab(SettingsTab): def on_language_selection_combo_box_changed(self): self.language_selection = self.language_selection_combo_box.currentIndex() - def on_verse_number_display_check_box_changed(self, check_state): - self.verse_number_display = False + def on_is_verse_number_visible_check_box_changed(self, check_state): + self.is_verse_number_visible = False # We have a set value convert to True/False. if check_state == QtCore.Qt.Checked: - self.verse_number_display = True - self.check_verse_number_display() + self.is_verse_number_visible = True + self.check_is_verse_number_visible() def on_new_chapters_check_box_changed(self, check_state): self.show_new_chapters = False @@ -311,14 +311,14 @@ class BiblesTab(SettingsTab): def load(self): settings = Settings() settings.beginGroup(self.settings_section) - self.verse_number_display = settings.value(u'verse number display') + self.is_verse_number_visible = settings.value(u'is verse number visible') self.show_new_chapters = settings.value(u'display new chapter') self.display_style = settings.value(u'display brackets') self.layout_style = settings.value(u'verse layout style') self.bible_theme = settings.value(u'bible theme') self.second_bibles = settings.value(u'second bibles') - self.verse_number_display_check_box.setChecked(self.verse_number_display) - self.check_verse_number_display() + self.is_verse_number_visible_check_box.setChecked(self.is_verse_number_visible) + self.check_is_verse_number_visible() self.new_chapters_check_box.setChecked(self.show_new_chapters) self.display_style_combo_box.setCurrentIndex(self.display_style) self.layout_style_combo_box.setCurrentIndex(self.layout_style) @@ -366,7 +366,7 @@ class BiblesTab(SettingsTab): def save(self): settings = Settings() settings.beginGroup(self.settings_section) - settings.setValue(u'verse number display', self.verse_number_display) + settings.setValue(u'is verse number visible', self.is_verse_number_visible) settings.setValue(u'display new chapter', self.show_new_chapters) settings.setValue(u'display brackets', self.display_style) settings.setValue(u'verse layout style', self.layout_style) @@ -422,11 +422,11 @@ class BiblesTab(SettingsTab): palette.setColor(QtGui.QPalette.Active, QtGui.QPalette.Text, color) return palette - def check_verse_number_display(self): + def check_is_verse_number_visible(self): """ - Enables / Disables verse settings dependent on verse_number_display + Enables / Disables verse settings dependent on is_verse_number_visible """ - self.new_chapters_check_box.setEnabled(self.verse_number_display) - self.display_style_label.setEnabled(self.verse_number_display) - self.display_style_combo_box.setEnabled(self.verse_number_display) + self.new_chapters_check_box.setEnabled(self.is_verse_number_visible) + self.display_style_label.setEnabled(self.is_verse_number_visible) + self.display_style_combo_box.setEnabled(self.is_verse_number_visible) diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py index 805160c28..c2f444768 100644 --- a/openlp/plugins/bibles/lib/mediaitem.py +++ b/openlp/plugins/bibles/lib/mediaitem.py @@ -943,8 +943,7 @@ class BibleMediaItem(MediaManagerItem): The verse number (int). """ verse_separator = get_reference_separator(u'sep_v_display') - - if self.settings.verse_number_display: + if self.settings.is_verse_number_visible: if not self.settings.show_new_chapters or old_chapter != chapter: verse_text = unicode(chapter) + verse_separator + unicode(verse) else: diff --git a/tests/functional/openlp_plugins/bibles/test_versereferencelist.py b/tests/functional/openlp_plugins/bibles/test_versereferencelist.py index 9ab36e571..25b620964 100644 --- a/tests/functional/openlp_plugins/bibles/test_versereferencelist.py +++ b/tests/functional/openlp_plugins/bibles/test_versereferencelist.py @@ -1,20 +1,21 @@ """ This module contains tests for the versereferencelist submodule of the Bibles plugin. """ - from unittest import TestCase from openlp.plugins.bibles.lib.versereferencelist import VerseReferenceList class TestVerseReferenceList(TestCase): def setUp(self): - self.reference_list = VerseReferenceList() - - def add_test(self): """ - Test the addition of verses to the list + Initializes all we need """ - #GIVEN: book, chapter, verse and version + def add_first_verse_test(self): + """ + Test the addition of a verse to the empty list + """ + # GIVEN: an empty list + reference_list = VerseReferenceList() book = u'testBook' chapter = 1 verse = 1 @@ -22,63 +23,94 @@ class TestVerseReferenceList(TestCase): copyright = u'testCopyright' permission = u'testPermision' - #WHEN: We add it to the verse list - self.reference_list.add(book, chapter, verse, version, copyright, permission) + # WHEN: We add it to the verse list + reference_list.add(book, chapter, verse, version, copyright, permission) - #THEN: The entries should be in the first entry of the list - self.assertEqual(self.reference_list.current_index, 0, u'The current index should be 0') - self.assertEqual(self.reference_list.verse_list[0][u'book'], book, u'The book in first entry should be %s' %book) - self.assertEqual(self.reference_list.verse_list[0][u'chapter'], chapter, u'The chapter in first entry should be %u' %chapter) - self.assertEqual(self.reference_list.verse_list[0][u'start'], verse, u'The start in first entry should be %u' %verse) - self.assertEqual(self.reference_list.verse_list[0][u'version'], version, u'The version in first entry should be %s' %version) - self.assertEqual(self.reference_list.verse_list[0][u'end'], verse, u'The end in first entry should be %u' %verse) + # THEN: The entries should be in the first entry of the list + self.assertEqual(reference_list.current_index, 0, u'The current index should be 0') + self.assertEqual(reference_list.verse_list[0][u'book'], book, u'The book in first entry should be %s' % book) + self.assertEqual(reference_list.verse_list[0][u'chapter'], chapter, u'The chapter in first entry should be %u' % chapter) + self.assertEqual(reference_list.verse_list[0][u'start'], verse, u'The start in first entry should be %u' % verse) + self.assertEqual(reference_list.verse_list[0][u'version'], version, u'The version in first entry should be %s' % version) + self.assertEqual(reference_list.verse_list[0][u'end'], verse, u'The end in first entry should be %u' % verse) - #GIVEN: next verse - verse = 2 + def add_next_verse_test(self): + """ + Test the addition of the following verse + """ + # GIVEN: 1 line in the list of verses + book = u'testBook' + chapter = 1 + verse = 1 + next_verse = 2 + version = u'testVersion' + copyright = u'testCopyright' + permission = u'testPermision' + reference_list = VerseReferenceList() + reference_list.add(book, chapter, verse, version, copyright, permission) - #WHEN: We add it to the verse list - self.reference_list.add(book, chapter, verse, version, copyright, permission) + # WHEN: We add the following verse to the verse list + reference_list.add(book, chapter, next_verse, version, copyright, permission) - #THEN: The current index should be 0 and the end pointer of the entry should be '2' - self.assertEqual(self.reference_list.current_index, 0, u'The current index should be 0') - self.assertEqual(self.reference_list.verse_list[0][u'end'], verse, u'The end in first entry should be %u' %verse) + # THEN: The current index should be 0 and the end pointer of the entry should be '2' + self.assertEqual(reference_list.current_index, 0, u'The current index should be 0') + self.assertEqual(reference_list.verse_list[0][u'end'], next_verse, u'The end in first entry should be %u' % next_verse) - #GIVEN: a verse in another book - book = u'testBook2' - chapter = 2 - verse = 5 + def add_another_verse_test(self): + """ + Test the addition of a verse in another book + """ + # GIVEN: 1 line in the list of verses + book = u'testBook' + chapter = 1 + verse = 1 + next_verse = 2 + another_book = u'testBook2' + another_chapter = 2 + another_verse = 5 + version = u'testVersion' + copyright = u'testCopyright' + permission = u'testPermision' + reference_list = VerseReferenceList() + reference_list.add(book, chapter, verse, version, copyright, permission) - #WHEN: We add it to the verse list - self.reference_list.add(book, chapter, verse, version, copyright, permission) + # WHEN: We add a verse of another book to the verse list + reference_list.add(another_book, another_chapter, another_verse, version, copyright, permission) - #THEN: the current index should be 1 - self.assertEqual(self.reference_list.current_index, 1, u'The current index should be 1') + # THEN: the current index should be 1 + self.assertEqual(reference_list.current_index, 1, u'The current index should be 1') def add_version_test(self): """ - Test the addition of versions to the list + Test the addition of a version to the list """ - #GIVEN: version, copyright and permission + # GIVEN: version, copyright and permission + reference_list = VerseReferenceList() version = u'testVersion' copyright = u'testCopyright' permission = u'testPermision' - - #WHEN: a not existing version will be added - self.reference_list.add_version(version, copyright, permission) + # WHEN: a not existing version will be added + reference_list.add_version(version, copyright, permission) - #THEN: the data will be appended to the list - self.assertEqual(self.reference_list.version_list[0], {u'version': version, u'copyright': copyright, u'permission': permission}, - u'The version data should be appended') + # THEN: the data will be appended to the list + self.assertEqual(len(reference_list.version_list), 1, u'The version data should be appended') + self.assertEqual(reference_list.version_list[0], {u'version': version, u'copyright': copyright, u'permission': permission}, + u'The version data should be appended') - - #GIVEN: old length of the array - oldLen = self.reference_list.version_list.__len__() + def add_existing_version_test(self): + """ + Test the addition of an existing version to the list + """ + # GIVEN: version, copyright and permission, added to the version list + reference_list = VerseReferenceList() + version = u'testVersion' + copyright = u'testCopyright' + permission = u'testPermision' + reference_list.add_version(version, copyright, permission) - #WHEN: an existing version will be added - self.reference_list.add_version(version, copyright, permission) + # WHEN: an existing version will be added + reference_list.add_version(version, copyright, permission) - #THEN: the data will not be appended to the list - self.assertEqual(self.reference_list.version_list.__len__(), oldLen, u'The version data should not be appended') - - + # THEN: the data will not be appended to the list + self.assertEqual(len(reference_list.version_list), 1, u'The version data should not be appended') From b591a091fda5893fe0630ade3025fa84256bfbcc Mon Sep 17 00:00:00 2001 From: Oliver Wieland Date: Thu, 22 Aug 2013 20:56:11 +0200 Subject: [PATCH 07/11] Added doc string --- openlp/plugins/bibles/lib/biblestab.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/openlp/plugins/bibles/lib/biblestab.py b/openlp/plugins/bibles/lib/biblestab.py index 72d222d8e..ed3ccefa4 100644 --- a/openlp/plugins/bibles/lib/biblestab.py +++ b/openlp/plugins/bibles/lib/biblestab.py @@ -214,6 +214,9 @@ class BiblesTab(SettingsTab): self.language_selection = self.language_selection_combo_box.currentIndex() def on_is_verse_number_visible_check_box_changed(self, check_state): + """ + Event handler for the 'verse number visible' check box + """ self.is_verse_number_visible = False # We have a set value convert to True/False. if check_state == QtCore.Qt.Checked: From 0a0d7dca84b5f578f5d566e993104230c2416097 Mon Sep 17 00:00:00 2001 From: Oliver Wieland Date: Mon, 26 Aug 2013 19:14:52 +0200 Subject: [PATCH 08/11] biblestab.py: minor changes in naming objects mediaitem.py: rearrange code for better readability --- openlp/plugins/bibles/lib/biblestab.py | 4 ++-- openlp/plugins/bibles/lib/mediaitem.py | 26 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/openlp/plugins/bibles/lib/biblestab.py b/openlp/plugins/bibles/lib/biblestab.py index ed3ccefa4..0b2d19615 100644 --- a/openlp/plugins/bibles/lib/biblestab.py +++ b/openlp/plugins/bibles/lib/biblestab.py @@ -59,7 +59,7 @@ class BiblesTab(SettingsTab): self.verse_display_layout = QtGui.QFormLayout(self.verse_display_group_box) self.verse_display_layout.setObjectName(u'verse_display_layout') self.is_verse_number_visible_check_box = QtGui.QCheckBox(self.verse_display_group_box) - self.is_verse_number_visible_check_box.setObjectName(u'verse_display_check_box') + self.is_verse_number_visible_check_box.setObjectName(u'is_verse_number_visible_check_box') self.verse_display_layout.addRow(self.is_verse_number_visible_check_box) self.new_chapters_check_box = QtGui.QCheckBox(self.verse_display_group_box) self.new_chapters_check_box.setObjectName(u'new_chapters_check_box') @@ -160,7 +160,7 @@ class BiblesTab(SettingsTab): def retranslateUi(self): self.verse_display_group_box.setTitle(translate('BiblesPlugin.BiblesTab', 'Verse Display')) - self.is_verse_number_visible_check_box.setText(translate('BiblesPlugin.BiblesTab', 'Is verse number visible')) + self.is_verse_number_visible_check_box.setText(translate('BiblesPlugin.BiblesTab', 'Show verse numbers')) self.new_chapters_check_box.setText(translate('BiblesPlugin.BiblesTab', 'Only show new chapter numbers')) self.layout_style_label.setText(UiStrings().LayoutStyle) self.display_style_label.setText(UiStrings().DisplayStyle) diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py index c2f444768..682fdb7a3 100644 --- a/openlp/plugins/bibles/lib/mediaitem.py +++ b/openlp/plugins/bibles/lib/mediaitem.py @@ -943,19 +943,19 @@ class BibleMediaItem(MediaManagerItem): The verse number (int). """ verse_separator = get_reference_separator(u'sep_v_display') - if self.settings.is_verse_number_visible: - if not self.settings.show_new_chapters or old_chapter != chapter: - verse_text = unicode(chapter) + verse_separator + unicode(verse) - else: - verse_text = unicode(verse) - if self.settings.display_style == DisplayStyle.Round: - return u'{su}(%s){/su}' % verse_text - elif self.settings.display_style == DisplayStyle.Curly: - return u'{su}{%s}{/su}' % verse_text - elif self.settings.display_style == DisplayStyle.Square: - return u'{su}[%s]{/su}' % verse_text - return u'{su}%s{/su}' % verse_text - return u'' + if not self.settings.is_verse_number_visible: + return u'' + if not self.settings.show_new_chapters or old_chapter != chapter: + verse_text = unicode(chapter) + verse_separator + unicode(verse) + else: + verse_text = unicode(verse) + if self.settings.display_style == DisplayStyle.Round: + return u'{su}(%s){/su}' % verse_text + elif self.settings.display_style == DisplayStyle.Curly: + return u'{su}{%s}{/su}' % verse_text + elif self.settings.display_style == DisplayStyle.Square: + return u'{su}[%s]{/su}' % verse_text + return u'{su}%s{/su}' % verse_text def search(self, string, showError): """ From 99a07ad91e40c80271197150f3255a1d8e5a38be Mon Sep 17 00:00:00 2001 From: Oliver Wieland Date: Sat, 31 Aug 2013 22:04:36 +0200 Subject: [PATCH 09/11] added tests --- openlp/plugins/bibles/lib/mediaitem.py | 4 +- .../bibles/test_versereferencelist.py | 116 ++++++++++++++++++ 2 files changed, 118 insertions(+), 2 deletions(-) create mode 100644 tests/functional/openlp_plugins/bibles/test_versereferencelist.py diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py index 3d94c7e93..01ba525a8 100644 --- a/openlp/plugins/bibles/lib/mediaitem.py +++ b/openlp/plugins/bibles/lib/mediaitem.py @@ -944,7 +944,7 @@ class BibleMediaItem(MediaManagerItem): """ verse_separator = get_reference_separator('sep_v_display') if not self.settings.is_verse_number_visible: - return u'' + return '' if not self.settings.show_new_chapters or old_chapter != chapter: verse_text = str(chapter) + verse_separator + str(verse) else: @@ -955,7 +955,7 @@ class BibleMediaItem(MediaManagerItem): return '{su}{%s}{/su}' % verse_text if self.settings.display_style == DisplayStyle.Square: return '{su}[%s]{/su}' % verse_text - return u'{su}%s{/su}' % verse_text + return '{su}%s{/su}' % verse_text def search(self, string, showError): """ diff --git a/tests/functional/openlp_plugins/bibles/test_versereferencelist.py b/tests/functional/openlp_plugins/bibles/test_versereferencelist.py new file mode 100644 index 000000000..372264a76 --- /dev/null +++ b/tests/functional/openlp_plugins/bibles/test_versereferencelist.py @@ -0,0 +1,116 @@ +""" +This module contains tests for the versereferencelist submodule of the Bibles plugin. +""" +from unittest import TestCase +from openlp.plugins.bibles.lib.versereferencelist import VerseReferenceList + +class TestVerseReferenceList(TestCase): + def setUp(self): + """ + Initializes all we need + """ + + def add_first_verse_test(self): + """ + Test the addition of a verse to the empty list + """ + # GIVEN: an empty list + reference_list = VerseReferenceList() + book = 'testBook' + chapter = 1 + verse = 1 + version = 'testVersion' + copyright = 'testCopyright' + permission = 'testPermision' + + # WHEN: We add it to the verse list + reference_list.add(book, chapter, verse, version, copyright, permission) + + # THEN: The entries should be in the first entry of the list + self.assertEqual(reference_list.current_index, 0, 'The current index should be 0') + self.assertEqual(reference_list.verse_list[0]['book'], book, 'The book in first entry should be %s' % book) + self.assertEqual(reference_list.verse_list[0]['chapter'], chapter, 'The chapter in first entry should be %u' % chapter) + self.assertEqual(reference_list.verse_list[0]['start'], verse, 'The start in first entry should be %u' % verse) + self.assertEqual(reference_list.verse_list[0]['version'], version, 'The version in first entry should be %s' % version) + self.assertEqual(reference_list.verse_list[0]['end'], verse, 'The end in first entry should be %u' % verse) + + def add_next_verse_test(self): + """ + Test the addition of the following verse + """ + # GIVEN: 1 line in the list of verses + book = 'testBook' + chapter = 1 + verse = 1 + next_verse = 2 + version = 'testVersion' + copyright = 'testCopyright' + permission = 'testPermision' + reference_list = VerseReferenceList() + reference_list.add(book, chapter, verse, version, copyright, permission) + + # WHEN: We add the following verse to the verse list + reference_list.add(book, chapter, next_verse, version, copyright, permission) + + # THEN: The current index should be 0 and the end pointer of the entry should be '2' + self.assertEqual(reference_list.current_index, 0, 'The current index should be 0') + self.assertEqual(reference_list.verse_list[0]['end'], next_verse, 'The end in first entry should be %u' % next_verse) + + def add_another_verse_test(self): + """ + Test the addition of a verse in another book + """ + # GIVEN: 1 line in the list of verses + book = 'testBook' + chapter = 1 + verse = 1 + next_verse = 2 + another_book = 'testBook2' + another_chapter = 2 + another_verse = 5 + version = 'testVersion' + copyright = 'testCopyright' + permission = 'testPermision' + reference_list = VerseReferenceList() + reference_list.add(book, chapter, verse, version, copyright, permission) + + # WHEN: We add a verse of another book to the verse list + reference_list.add(another_book, another_chapter, another_verse, version, copyright, permission) + + # THEN: the current index should be 1 + self.assertEqual(reference_list.current_index, 1, 'The current index should be 1') + + def add_version_test(self): + """ + Test the addition of a version to the list + """ + # GIVEN: version, copyright and permission + reference_list = VerseReferenceList() + version = 'testVersion' + copyright = 'testCopyright' + permission = 'testPermision' + + # WHEN: a not existing version will be added + reference_list.add_version(version, copyright, permission) + + # THEN: the data will be appended to the list + self.assertEqual(len(reference_list.version_list), 1, 'The version data should be appended') + self.assertEqual(reference_list.version_list[0], {'version': version, 'copyright': copyright, 'permission': permission}, + 'The version data should be appended') + + def add_existing_version_test(self): + """ + Test the addition of an existing version to the list + """ + # GIVEN: version, copyright and permission, added to the version list + reference_list = VerseReferenceList() + version = 'testVersion' + copyright = 'testCopyright' + permission = 'testPermision' + reference_list.add_version(version, copyright, permission) + + # WHEN: an existing version will be added + reference_list.add_version(version, copyright, permission) + + # THEN: the data will not be appended to the list + self.assertEqual(len(reference_list.version_list), 1, 'The version data should not be appended') From 331bd1e9d4cc4edcb4e761de222c2fa7d05d2069 Mon Sep 17 00:00:00 2001 From: Oliver Wieland Date: Sat, 7 Sep 2013 07:30:08 +0200 Subject: [PATCH 10/11] Do not add a space on the front of each verse when no verse number is displayed --- openlp/plugins/bibles/lib/mediaitem.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py index 01ba525a8..94f015fdb 100644 --- a/openlp/plugins/bibles/lib/mediaitem.py +++ b/openlp/plugins/bibles/lib/mediaitem.py @@ -803,20 +803,20 @@ class BibleMediaItem(MediaManagerItem): verses.add(book, chapter, verse, version, copyright, permissions) verse_text = self.formatVerse(old_chapter, chapter, verse) if second_bible: - bible_text = '%s %s\n\n%s %s' % (verse_text, text, verse_text, second_text) + bible_text = '%s%s\n\n%s %s' % (verse_text, text, verse_text, second_text) raw_slides.append(bible_text.rstrip()) bible_text = '' # If we are 'Verse Per Slide' then create a new slide. elif self.settings.layout_style == LayoutStyle.VersePerSlide: - bible_text = '%s %s' % (verse_text, text) + bible_text = '%s%s' % (verse_text, text) raw_slides.append(bible_text.rstrip()) bible_text = '' # If we are 'Verse Per Line' then force a new line. elif self.settings.layout_style == LayoutStyle.VersePerLine: - bible_text = '%s%s %s\n' % (bible_text, verse_text, text) + bible_text = '%s%s%s\n' % (bible_text, verse_text, text) # We have to be 'Continuous'. else: - bible_text = '%s %s %s\n' % (bible_text, verse_text, text) + bible_text = '%s %s%s\n' % (bible_text, verse_text, text) bible_text = bible_text.strip(' ') if not old_item: start_item = bitem @@ -950,12 +950,12 @@ class BibleMediaItem(MediaManagerItem): else: verse_text = str(verse) if self.settings.display_style == DisplayStyle.Round: - return '{su}(%s){/su}' % verse_text + return '{su}(%s){/su} ' % verse_text if self.settings.display_style == DisplayStyle.Curly: - return '{su}{%s}{/su}' % verse_text + return '{su}{%s}{/su} ' % verse_text if self.settings.display_style == DisplayStyle.Square: - return '{su}[%s]{/su}' % verse_text - return '{su}%s{/su}' % verse_text + return '{su}[%s]{/su} ' % verse_text + return '{su}%s{/su} ' % verse_text def search(self, string, showError): """ From dc03e288f8cadaeb0ab33fb69b116122db05fd68 Mon Sep 17 00:00:00 2001 From: Oliver Wieland Date: Mon, 16 Sep 2013 18:30:59 +0200 Subject: [PATCH 11/11] minor changes in event handler --- openlp/plugins/bibles/lib/biblestab.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/openlp/plugins/bibles/lib/biblestab.py b/openlp/plugins/bibles/lib/biblestab.py index 7450d59c8..dd95d9b33 100644 --- a/openlp/plugins/bibles/lib/biblestab.py +++ b/openlp/plugins/bibles/lib/biblestab.py @@ -217,10 +217,7 @@ class BiblesTab(SettingsTab): """ Event handler for the 'verse number visible' check box """ - self.is_verse_number_visible = False - # We have a set value convert to True/False. - if check_state == QtCore.Qt.Checked: - self.is_verse_number_visible = True + self.is_verse_number_visible = (check_state == QtCore.Qt.Checked) self.check_is_verse_number_visible() def on_new_chapters_check_box_changed(self, check_state):