Ignore:
Timestamp:
2011-07-27T07:16:41+02:00 (13 years ago)
Author:
jttt
Message:

Make merge layers work when more than one layer is selected

File:
1 edited

Legend:

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

    r4139 r4265  
    22package org.openstreetmap.josm.actions;
    33
     4import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
    45import static org.openstreetmap.josm.tools.I18n.tr;
    5 import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
    66
    77import java.awt.event.ActionEvent;
     
    2020                .registerShortcut("system:merge", tr("Edit: {0}", tr("Merge")), KeyEvent.VK_M, Shortcut.GROUP_MENU),
    2121                false /* register */
    22         );
     22                );
    2323        putValue("help", ht("/Action/MergeLayer"));
    2424        putValue("toolbar", "action/mergelayer");
    2525        Main.toolbar.register(this);
     26    }
     27
     28    public void merge(List<Layer> sourceLayers) {
     29        Layer targetLayer = askTargetLayer(sourceLayers);
     30        if (targetLayer == null)
     31            return;
     32        for (Layer l: sourceLayers) {
     33            if (l != targetLayer) {
     34                targetLayer.mergeFrom(l);
     35                Main.map.mapView.removeLayer(l);
     36            }
     37        }
     38        Main.map.mapView.setActiveLayer(targetLayer);
    2639    }
    2740
Note: See TracChangeset for help on using the changeset viewer.