Skip to content

Commit b4a6684

Browse files
committed
Execute the first result if none selected
1 parent e1eea96 commit b4a6684

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

src/main/java/org/scijava/ui/swing/search/SwingSearchBar.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -614,8 +614,18 @@ private Font smaller(final Font font, final int decrement) {
614614
/** Executes the default search action. */
615615
private void execute() {
616616
assertDispatchThread();
617-
final SearchResult result = resultsList.getSelectedValue();
618-
if (result == null) return;
617+
618+
// Figure out which result to execute.
619+
final SearchResult result;
620+
final SearchResult selectedResult = resultsList.getSelectedValue();
621+
if (selectedResult == null) {
622+
// Nothing is selected; use the first result on the list.
623+
final int firstResultIndex = firstResultIndex();
624+
if (firstResultIndex < 0) return; // no results available
625+
result = result(firstResultIndex);
626+
}
627+
else result = selectedResult;
628+
619629
final List<SearchAction> actions = searchService.actions(result);
620630
if (actions.isEmpty()) return;
621631
threadService.run(() -> actions.get(0).run());

0 commit comments

Comments
 (0)