Changeset 4265 in josm for trunk/src/org/openstreetmap
- Timestamp:
- 2011-07-27T07:16:41+02:00 (13 years ago)
- Location:
- trunk/src/org/openstreetmap/josm
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/MergeLayerAction.java
r4139 r4265 2 2 package org.openstreetmap.josm.actions; 3 3 4 import static org.openstreetmap.josm.gui.help.HelpUtil.ht; 4 5 import static org.openstreetmap.josm.tools.I18n.tr; 5 import static org.openstreetmap.josm.gui.help.HelpUtil.ht;6 6 7 7 import java.awt.event.ActionEvent; … … 20 20 .registerShortcut("system:merge", tr("Edit: {0}", tr("Merge")), KeyEvent.VK_M, Shortcut.GROUP_MENU), 21 21 false /* register */ 22 );22 ); 23 23 putValue("help", ht("/Action/MergeLayer")); 24 24 putValue("toolbar", "action/mergelayer"); 25 25 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); 26 39 } 27 40 -
trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java
r4230 r4265 236 236 } 237 237 } 238 );238 ); 239 239 240 240 add(createButtonPanel(), BorderLayout.SOUTH); … … 278 278 } 279 279 } 280 );280 ); 281 281 } 282 282 … … 298 298 } 299 299 } 300 );300 ); 301 301 } 302 302 … … 654 654 new MergeLayerAction().merge(layer); 655 655 } else { 656 Layer selectedLayer = getModel().getSelectedLayers().get(0); 657 new MergeLayerAction().merge(selectedLayer); 656 if (getModel().getSelectedLayers().size() == 1) { 657 Layer selectedLayer = getModel().getSelectedLayers().get(0); 658 new MergeLayerAction().merge(selectedLayer); 659 } else { 660 new MergeLayerAction().merge(getModel().getSelectedLayers()); 661 } 658 662 } 659 663 } … … 668 672 public void updateEnabledState() { 669 673 if (layer == null) { 670 if (getModel().getSelectedLayers(). size() != 1) {674 if (getModel().getSelectedLayers().isEmpty()) { 671 675 setEnabled(false); 672 return; 673 } 674 Layer selectedLayer = getModel().getSelectedLayers().get(0); 675 List<Layer> targets = getModel().getPossibleMergeTargets(selectedLayer); 676 setEnabled(!targets.isEmpty()); 676 } else if (getModel().getSelectedLayers().size() > 1) { 677 Layer firstLayer = getModel().getSelectedLayers().get(0); 678 for (Layer l: getModel().getSelectedLayers()) { 679 if (l != firstLayer && !l.isMergable(firstLayer)) { 680 setEnabled(false); 681 return; 682 } 683 } 684 setEnabled(true); 685 } else { 686 Layer selectedLayer = getModel().getSelectedLayers().get(0); 687 List<Layer> targets = getModel().getPossibleMergeTargets(selectedLayer); 688 setEnabled(!targets.isEmpty()); 689 } 677 690 } else { 678 691 List<Layer> targets = getModel().getPossibleMergeTargets(layer); … … 847 860 oc = l.getColor(false); 848 861 if(oc != null) { 849 if(oc.equals(c)) 862 if(oc.equals(c)) { 850 863 oc = null; 851 else864 } else { 852 865 break; 866 } 853 867 } 854 868 } 855 if(oc == null) /* not more than one color, don't use coloring */ 869 /* not more than one color, don't use coloring */ 870 if(oc == null) { 856 871 c = null; 872 } 857 873 } 858 874 /* Setting foreground properly handles null as default! */
Note:
See TracChangeset
for help on using the changeset viewer.