Ticket #6239: case-ins_and_search_PrefJPanel.java.patch
| File case-ins_and_search_PrefJPanel.java.patch, 1.5 KB (added by , 14 years ago) |
|---|
-
src/org/openstreetmap/josm/gui/preferences/PrefJPanel.java
8 8 import static org.openstreetmap.josm.tools.I18n.tr; 9 9 10 10 import java.awt.event.KeyEvent; 11 import java.util.ArrayList; 11 12 import java.util.LinkedHashMap; 12 13 import java.util.HashMap; 13 14 import java.util.Map; … … 596 597 try { 597 598 final TableRowSorter<TableModel> sorter = 598 599 ((TableRowSorter<TableModel> )shortcutTable.getRowSorter()); 599 if (expr==null) sorter.setRowFilter(null); 600 else sorter.setRowFilter( RowFilter.regexFilter(expr) ); 600 if (expr == null) { 601 sorter.setRowFilter(null); 602 } else { 603 // split search string on whitespace, do case-insensitive AND search 604 ArrayList<RowFilter<Object, Object>> andFilters = new ArrayList<RowFilter<Object, Object>>(); 605 for (String word : expr.split("\\s+")) { 606 andFilters.add(RowFilter.regexFilter("(?i)" + word)); 607 } 608 sorter.setRowFilter(RowFilter.andFilter(andFilters)); 609 } 601 610 } 602 611 catch (PatternSyntaxException ex) { } 603 612 catch (ClassCastException ex2) { /* eliminate warning */ }
