From 4ed572ba5189a93133e63de22655f6b9a4a9e6d6 Mon Sep 17 00:00:00 2001 From: Zlatin Balevsky Date: Sun, 3 Nov 2019 12:03:12 +0000 Subject: [PATCH] clear search button --- .../controllers/com/muwire/gui/MainFrameController.groovy | 7 +++++++ gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy | 1 + gui/src/main/groovy/com/muwire/gui/SearchFieldModel.groovy | 2 ++ 3 files changed, 10 insertions(+) diff --git a/gui/griffon-app/controllers/com/muwire/gui/MainFrameController.groovy b/gui/griffon-app/controllers/com/muwire/gui/MainFrameController.groovy index 30e5e9c7..0feed647 100644 --- a/gui/griffon-app/controllers/com/muwire/gui/MainFrameController.groovy +++ b/gui/griffon-app/controllers/com/muwire/gui/MainFrameController.groovy @@ -51,6 +51,13 @@ class MainFrameController { private volatile Core core + @ControllerAction + void clearSearch() { + def searchField = builder.getVariable("search-field") + searchField.setSelectedItem(null) + searchField.requestFocus() + } + @ControllerAction void search(ActionEvent evt) { if (evt?.getActionCommand() == null) diff --git a/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy b/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy index 856328c0..1db3ed72 100644 --- a/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy @@ -154,6 +154,7 @@ class MainFrameView { } panel( constraints: BorderLayout.EAST) { button(text: "Search", searchAction) + button(text : "", icon : imageIcon("/close_tab.png"), clearSearchAction) } } } diff --git a/gui/src/main/groovy/com/muwire/gui/SearchFieldModel.groovy b/gui/src/main/groovy/com/muwire/gui/SearchFieldModel.groovy index 1b94f44a..93f849e1 100644 --- a/gui/src/main/groovy/com/muwire/gui/SearchFieldModel.groovy +++ b/gui/src/main/groovy/com/muwire/gui/SearchFieldModel.groovy @@ -18,6 +18,8 @@ class SearchFieldModel extends AbstractListModel implements MutableComboBoxModel } public void addElement(Object string) { + if (string == null) + return if (uiSettings.storeSearchHistory) { if (!uiSettings.searchHistory.add(string)) return