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')
_______________________________________________ Mailing list: https://launchpad.net/~openlp-core Post to : openlp-core@lists.launchpad.net Unsubscribe : https://launchpad.net/~openlp-core More help : https://help.launchpad.net/ListHelp