Ticket #17522: 17522.patch

File 17522.patch, 2.5 KB (added by taylor.smock, 7 years ago)

Add constructor to Filter that takes a SearchSetting and modify FilterDialog to use that instead of casting SearchSetting to Filter.

  • src/org/openstreetmap/josm/data/osm/Filter.java

     
    4646    }
    4747
    4848    /**
     49     * Constructs a new {@code Filter} from a {@code SearchSetting}
     50     * @param setting {@code SearchSetting} to construct information from
     51     * @since xxx
     52     */
     53    public Filter(SearchSetting setting) {
     54        super(setting);
     55    }
     56
     57    /**
    4958     * Constructs a new {@code Filter} from a preference entry.
    5059     * @param e preference entry
    5160     */
  • src/org/openstreetmap/josm/gui/dialogs/FilterDialog.java

     
    4040import org.openstreetmap.josm.data.osm.event.RelationMembersChangedEvent;
    4141import org.openstreetmap.josm.data.osm.event.TagsChangedEvent;
    4242import org.openstreetmap.josm.data.osm.event.WayNodesChangedEvent;
     43import org.openstreetmap.josm.data.osm.search.SearchSetting;
    4344import org.openstreetmap.josm.gui.MainApplication;
    4445import org.openstreetmap.josm.gui.MapFrame;
    4546import org.openstreetmap.josm.gui.MapFrame.MapModeChangeListener;
     
    141142
    142143            @Override
    143144            public void actionPerformed(ActionEvent e) {
    144                 Filter filter = (Filter) SearchAction.showSearchDialog(new Filter());
    145                 if (filter != null) {
    146                     filterModel.addFilter(filter);
     145                SearchSetting searchSetting = SearchAction.showSearchDialog(new Filter());
     146                if (searchSetting != null) {
     147                    filterModel.addFilter(new Filter(searchSetting));
    147148                }
    148149            }
    149150        });
     
    159160                int index = userTable.getSelectionModel().getMinSelectionIndex();
    160161                if (index < 0) return;
    161162                Filter f = filterModel.getFilter(index);
    162                 Filter filter = (Filter) SearchAction.showSearchDialog(f);
    163                 if (filter != null) {
    164                     filterModel.setFilter(index, filter);
     163                SearchSetting searchSetting = SearchAction.showSearchDialog(f);
     164                if (searchSetting != null) {
     165                    filterModel.setFilter(index, new Filter(searchSetting));
    165166                }
    166167            }
    167168        });