Ignore:
Timestamp:
2012-05-12T15:39:13+02:00 (13 years ago)
Author:
Don-vip
Message:

fix #7684 - Various improvements in "upload=false" layers handling

Location:
trunk/src/org/openstreetmap/josm/gui
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/io/SaveLayerInfo.java

    r4310 r5233  
    3131        this.layer = layer;
    3232        this.doSaveToFile = layer.requiresSaveToFile();
    33         this.doUploadToServer = layer.requiresUploadToServer();
     33        this.doUploadToServer = layer.requiresUploadToServer() && !layer.isUploadDiscouraged();
    3434        this.file = layer.getAssociatedFile();
    3535    }
  • trunk/src/org/openstreetmap/josm/gui/io/SaveLayersTableColumnModel.java

    r5003 r5233  
    3737            StringBuilder sb = new StringBuilder();
    3838            sb.append("<html>");
    39             if (info.getLayer().requiresUploadToServer()) {
     39            if (info.getLayer().requiresUploadToServer() && !info.getLayer().isUploadDiscouraged()) {
    4040                add(needsUpload, defaultCellStyle);
    4141                sb.append(tr("Layer ''{0}'' has modifications which should be uploaded to the server.", info.getName()));
     
    4343            } else {
    4444                add(pnlEmpty, defaultCellStyle);
    45                 sb.append(tr("Layer ''{0}'' has no modifications to be uploaded.", info.getName()));
     45                if (info.getLayer().requiresUploadToServer()) {
     46                    sb.append(tr("Layer ''{0}'' has modifications which are discouraged to be uploaded.", info.getName()));
     47                } else {
     48                    sb.append(tr("Layer ''{0}'' has no modifications to be uploaded.", info.getName()));
     49                }
    4650            }
    4751            sb.append("<br/>");
  • trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java

    r5059 r5233  
    302302        final PleaseWaitProgressMonitor monitor = new PleaseWaitProgressMonitor(tr("Merging layers"));
    303303        monitor.setCancelable(false);
     304        if (from instanceof OsmDataLayer && ((OsmDataLayer)from).isUploadDiscouraged()) {
     305            setUploadDiscouraged(true);
     306        }
    304307        mergeFrom(((OsmDataLayer)from).data, monitor);
    305308        monitor.close();
     
    411414
    412415    @Override public boolean isMergable(final Layer other) {
    413         return other instanceof OsmDataLayer && (isUploadDiscouraged() == ((OsmDataLayer)other).isUploadDiscouraged());
     416        // isUploadDiscouraged commented to allow merging between normal layers and discouraged layers with a warning (see #7684)
     417        return other instanceof OsmDataLayer;// && (isUploadDiscouraged() == ((OsmDataLayer)other).isUploadDiscouraged());
    414418    }
    415419
  • trunk/src/org/openstreetmap/josm/gui/util/GuiHelper.java

    r4695 r5233  
    22package org.openstreetmap.josm.gui.util;
    33
     4import static org.openstreetmap.josm.tools.I18n.tr;
     5
    46import java.awt.Component;
    57import java.awt.Container;
     8import java.awt.Image;
    69
     10import javax.swing.Icon;
     11import javax.swing.ImageIcon;
     12import javax.swing.JOptionPane;
    713import javax.swing.SwingUtilities;
     14
     15import org.openstreetmap.josm.Main;
     16import org.openstreetmap.josm.gui.ExtendedDialog;
     17import org.openstreetmap.josm.tools.ImageProvider;
    818
    919/**
     
    3343        }
    3444    }
     45   
     46    /**
     47     * returns true if the user wants to cancel, false if they
     48     * want to continue
     49     */
     50    public static final boolean warnUser(String title, String content, ImageIcon baseActionIcon, String continueToolTip) {
     51        ExtendedDialog dlg = new ExtendedDialog(Main.parent,
     52                title, new String[] {tr("Cancel"), tr("Continue")});
     53        dlg.setContent(content);
     54        dlg.setButtonIcons(new Icon[] {
     55                ImageProvider.get("cancel"),
     56                ImageProvider.overlay(
     57                        ImageProvider.get("upload"),
     58                        new ImageIcon(ImageProvider.get("warning-small").getImage().getScaledInstance(10 , 10, Image.SCALE_SMOOTH)),
     59                        ImageProvider.OverlayPosition.SOUTHEAST)});
     60        dlg.setToolTipTexts(new String[] {
     61                tr("Cancel"),
     62                continueToolTip});
     63        dlg.setIcon(JOptionPane.WARNING_MESSAGE);
     64        dlg.setCancelButton(1);
     65        return dlg.showDialog().getValue() != 2;
     66    }
    3567
    3668}
Note: See TracChangeset for help on using the changeset viewer.