Ignore:
Timestamp:
2012-09-30T17:36:39+02:00 (12 years ago)
Author:
Don-vip
Message:

fix #8090 - Removing saved non-uploadable layer asks for confirmation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java

    r5449 r5519  
    389389        }
    390390
    391         protected boolean enforceUploadOrSaveModifiedData(List<Layer> selectedLayers) {
    392             SaveLayersDialog dialog = new SaveLayersDialog(Main.parent);
    393             List<OsmDataLayer> layersWithUnmodifiedChanges = new ArrayList<OsmDataLayer>();
    394             for (Layer l: selectedLayers) {
    395                 if (! (l instanceof OsmDataLayer)) {
    396                     continue;
    397                 }
    398                 OsmDataLayer odl = (OsmDataLayer)l;
    399                 if ((odl.requiresSaveToFile() || odl.requiresUploadToServer()) && odl.data.isModified()) {
    400                     layersWithUnmodifiedChanges.add(odl);
    401                 }
    402             }
    403             dialog.prepareForSavingAndUpdatingLayersBeforeDelete();
    404             if (!layersWithUnmodifiedChanges.isEmpty()) {
    405                 dialog.getModel().populate(layersWithUnmodifiedChanges);
    406                 dialog.setVisible(true);
    407                 switch(dialog.getUserAction()) {
    408                 case CANCEL: return false;
    409                 case PROCEED: return true;
    410                 default: return false;
    411                 }
    412             }
    413             return true;
    414         }
    415 
    416391        @Override
    417392        public void actionPerformed(ActionEvent e) {
     
    419394            if (selectedLayers.isEmpty())
    420395                return;
    421             if (! enforceUploadOrSaveModifiedData(selectedLayers))
     396            if (!Main.saveUnsavedModifications(selectedLayers, false))
    422397                return;
    423             for(Layer l: selectedLayers) {
     398            for (Layer l: selectedLayers) {
    424399                Main.main.removeLayer(l);
    425400            }
Note: See TracChangeset for help on using the changeset viewer.