Ignore:
Timestamp:
2018-06-18T21:53:59+02:00 (8 years ago)
Author:
Don-vip
Message:

use IRelation in RelationListDialog and *RelationActions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/actions/relation/EditRelationAction.java

    r13611 r13957  
    1313
    1414import org.openstreetmap.josm.Main;
     15import org.openstreetmap.josm.data.osm.IRelation;
    1516import org.openstreetmap.josm.data.osm.OsmPrimitive;
    1617import org.openstreetmap.josm.data.osm.OsmUtils;
     
    2223import org.openstreetmap.josm.spi.preferences.Config;
    2324import org.openstreetmap.josm.tools.ImageProvider;
     25import org.openstreetmap.josm.tools.SubclassFilteredCollection;
     26import org.openstreetmap.josm.tools.Utils;
    2427
    2528/**
     
    7174    @Override
    7275    public void actionPerformed(ActionEvent e) {
    73         if (!isEnabled() || relations.isEmpty()) return;
    74         if (relations.size() > Config.getPref().getInt("warn.open.maxrelations", 5) &&
     76        SubclassFilteredCollection<IRelation<?>, Relation> filteredRelations = Utils.filteredCollection(relations, Relation.class);
     77        if (!isEnabled() || filteredRelations.isEmpty()) return;
     78        if (filteredRelations.size() > Config.getPref().getInt("warn.open.maxrelations", 5) &&
    7579            /* I18N english text for value 1 makes no real sense, never called for values <= maxrel (usually 5) */
    7680            JOptionPane.OK_OPTION != JOptionPane.showConfirmDialog(Main.parent,
    7781                    "<html>"+trn("You are about to open <b>{0}</b> different relation editor simultaneously.<br/>Do you want to continue?",
    7882                            "You are about to open <b>{0}</b> different relation editors simultaneously.<br/>Do you want to continue?",
    79                             relations.size(), relations.size())+"</html>",
     83                            filteredRelations.size(), filteredRelations.size())+"</html>",
    8084                    tr("Confirmation"), JOptionPane.OK_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE)) {
    8185            return;
    8286        }
    83         for (Relation r : relations) {
     87        for (Relation r : filteredRelations) {
    8488            launchEditor(r);
    8589        }
     
    8993    protected void updateEnabledState() {
    9094        boolean enabled = false;
    91         if (OsmUtils.isOsmCollectionEditable(relations)) {
    92             for (Relation r : relations) {
     95        SubclassFilteredCollection<IRelation<?>, Relation> filteredRelations = Utils.filteredCollection(relations, Relation.class);
     96        if (OsmUtils.isOsmCollectionEditable(filteredRelations)) {
     97            for (Relation r : filteredRelations) {
    9398                if (!r.isDeleted()) {
    9499                    enabled = true;
Note: See TracChangeset for help on using the changeset viewer.