openlp-core team mailing list archive
-
openlp-core team
-
Mailing list archive
-
Message #30341
[Merge] lp:~suutari-olli/openlp/fix-advanced-bible-search-clear-button-giving-focus-to-quick into lp:openlp
Azaziah has proposed merging lp:~suutari-olli/openlp/fix-advanced-bible-search-clear-button-giving-focus-to-quick into lp:openlp.
Requested reviews:
Tim Bentley (trb143)
Raoul Snyman (raoul-snyman)
For more details, see:
https://code.launchpad.net/~suutari-olli/openlp/fix-advanced-bible-search-clear-button-giving-focus-to-quick/+merge/303487
This branch fixes the issue where the new Clear Bible search results and
Lock button give focus to Text search if it is used in "Select" tab.
lp:~suutari-olli/openlp/fix-advanced-bible-search-clear-button-giving-focus-to-quick (revision 2698)
[SUCCESS] https://ci.openlp.io/job/Branch-01-Pull/1757/
[SUCCESS] https://ci.openlp.io/job/Branch-02-Functional-Tests/1668/
[SUCCESS] https://ci.openlp.io/job/Branch-03-Interface-Tests/1606/
[SUCCESS] https://ci.openlp.io/job/Branch-04a-Windows_Functional_Tests/1362/
[SUCCESS] https://ci.openlp.io/job/Branch-04b-Windows_Interface_Tests/952/
[SUCCESS] https://ci.openlp.io/job/Branch-05a-Code_Analysis/1020/
[SUCCESS] https://ci.openlp.io/job/Branch-05b-Test_Coverage/888/
[SUCCESS] https://ci.openlp.io/job/Branch-05c-Code_Analysis2/53/
--
Your team OpenLP Core is subscribed to branch lp:openlp.
=== modified file 'openlp/plugins/bibles/lib/mediaitem.py'
--- openlp/plugins/bibles/lib/mediaitem.py 2016-08-10 18:31:33 +0000
+++ openlp/plugins/bibles/lib/mediaitem.py 2016-08-20 19:41:00 +0000
@@ -254,8 +254,8 @@
self.quickStyleComboBox.activated.connect(self.on_quick_style_combo_box_changed)
self.advancedStyleComboBox.activated.connect(self.on_advanced_style_combo_box_changed)
# Buttons
- self.advancedClearButton.clicked.connect(self.on_clear_button)
- self.quickClearButton.clicked.connect(self.on_clear_button)
+ self.advancedClearButton.clicked.connect(self.on_advanced_clear_button_clicked)
+ self.quickClearButton.clicked.connect(self.on_clear_button_clicked)
self.advancedSearchButton.clicked.connect(self.on_advanced_search_button)
self.quickSearchButton.clicked.connect(self.on_quick_search_button)
# Other stuff
@@ -548,19 +548,32 @@
self.advancedTab.setVisible(True)
self.advanced_book_combo_box.setFocus()
- def on_clear_button(self):
+ def on_clear_button_clicked(self):
# Clear the list, then set the "No search Results" message, then clear the text field and give it focus.
self.list_view.clear()
self.check_search_result()
self.quick_search_edit.clear()
self.quick_search_edit.setFocus()
+ def on_advanced_clear_button_clicked(self):
+ # The same as the on_clear_button_clicked, but gives focus to Book name field in "Select" (advanced).
+ self.list_view.clear()
+ self.check_search_result()
+ self.advanced_book_combo_box.setFocus()
+
def on_lock_button_toggled(self, checked):
- self.quick_search_edit.setFocus()
+ """
+ Toggle the lock button, if Search tab is used, set focus to search field, if Select tab is used,
+ give focus to Bible book name field.
+ """
if checked:
self.sender().setIcon(self.lock_icon)
else:
self.sender().setIcon(self.unlock_icon)
+ if self.quickTab.isVisible():
+ self.quick_search_edit.setFocus()
+ else:
+ self.advanced_book_combo_box.setFocus()
def on_quick_style_combo_box_changed(self):
self.settings.layout_style = self.quickStyleComboBox.currentIndex()
=== modified file 'tests/functional/openlp_plugins/bibles/test_mediaitem.py'
--- tests/functional/openlp_plugins/bibles/test_mediaitem.py 2016-06-14 21:55:37 +0000
+++ tests/functional/openlp_plugins/bibles/test_mediaitem.py 2016-08-20 19:41:00 +0000
@@ -114,7 +114,7 @@
self.assertEqual(self.media_item.search_results, {})
self.assertEqual(self.media_item.second_search_results, {})
- def on_quick_search_button_general_test(self):
+ def test_on_quick_search_button_general(self):
"""
Test that general things, which should be called on all Quick searches are called.
"""
@@ -150,3 +150,22 @@
self.assertEqual(2, self.media_item.quickSearchButton.setEnabled.call_count, 'Disable and Enable the button')
self.assertEqual(1, self.media_item.check_search_result.call_count, 'Check results Should had been called once')
self.assertEqual(1, self.app.set_normal_cursor.call_count, 'Normal cursor should had been called once')
+
+ def test_on_clear_button_clicked(self):
+ """
+ Test that the on_clear_button_clicked works properly. (Used by Bible search tab)
+ """
+
+ # GIVEN: Mocked list_view, check_search_results & quick_search_edit.
+ self.media_item.list_view = MagicMock()
+ self.media_item.check_search_result = MagicMock()
+ self.media_item.quick_search_edit = MagicMock()
+
+ # WHEN: on_clear_button_clicked is called
+ self.media_item.on_clear_button_clicked()
+
+ # THEN: Search result should be reset and search field should receive focus.
+ self.assertEqual(1, self.media_item.list_view.clear.call_count, 'List_view.clear should had been called once.')
+ self.assertEqual(1, self.media_item.check_search_result.call_count, 'Check results Should had been called once')
+ self.assertEqual(1, self.media_item.quick_search_edit.clear.call_count, 'Should had been called once')
+ self.assertEqual(1, self.media_item.quick_search_edit.setFocus.call_count, 'Should had been called once')
Follow ups