Ticket #18019: 18019.patch

File 18019.patch, 1.8 KB (added by GerdP, 7 years ago)

Possible solution

  • src/org/openstreetmap/josm/actions/CreateMultipolygonAction.java

     
    4545import org.openstreetmap.josm.gui.dialogs.relation.RelationEditor;
    4646import org.openstreetmap.josm.gui.dialogs.relation.sort.RelationSorter;
    4747import org.openstreetmap.josm.gui.layer.OsmDataLayer;
     48import org.openstreetmap.josm.gui.mappaint.ElemStyles;
    4849import org.openstreetmap.josm.gui.util.GuiHelper;
    4950import org.openstreetmap.josm.spi.preferences.Config;
    5051import org.openstreetmap.josm.tools.Pair;
     
    321322        final List<Command> list = removeTagsFromWaysIfNeeded(relation);
    322323        final String commandName;
    323324        if (existingRelation == null) {
     325            if (list.isEmpty()) {
     326                String msg = tr("No area style for multipolygon");
     327                GuiHelper.runInEDT(() -> new Notification(msg).setIcon(JOptionPane.WARNING_MESSAGE).show());
     328            }
    324329            list.add(new AddCommand(selectedWays.iterator().next().getDataSet(), relation));
    325330            commandName = getName(false);
    326331        } else {
     
    431436
    432437        values.put("area", OsmUtils.TRUE_VALUE);
    433438
     439        // check if the tags are rendered as area, if not, don't copy anything
     440        Way w = new Way();
     441        for (Entry<String, String> entry : values.entrySet()) {
     442            w.put(entry.getKey(), entry.getValue());
     443        }
     444        if (ElemStyles.getAreaElemStyle(w, true)== null) {
     445            values.clear();
     446        }
     447
    434448        List<Command> commands = new ArrayList<>();
    435449        boolean moveTags = Config.getPref().getBoolean("multipoly.movetags", true);
    436450