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