Changeset 2434 in josm for trunk/src


Ignore:
Timestamp:
2009-11-10T22:05:37+01:00 (12 years ago)
Author:
Gubaer
Message:

Improved detection of modified state in OsmDataLayer.

Location:
trunk/src/org/openstreetmap/josm
Files:
6 edited

Legend:

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

    r2433 r2434  
    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;
     
    216216                        public void run() {
    217217                            targetLayer.fireDataChange();
     218                            targetLayer.onPostDownloadFromServer();
    218219                            Main.map.mapView.repaint();
    219220                        }
     
    253254                    String msg = "";
    254255                    switch(entry.getValue()) {
    255                         case NODE: msg = tr("({0}/{1}) Loading parents of node {2}", i+1,children.size(), entry.getKey()); break;
    256                         case WAY: msg = tr("({0}/{1}) Loading parents of way {2}", i+1,children.size(), entry.getKey()); break;
    257                         case RELATION: msg = tr("({0}/{1}) Loading parents of relation {2}", i+1,children.size(), entry.getKey()); break;
     256                    case NODE: msg = tr("({0}/{1}) Loading parents of node {2}", i+1,children.size(), entry.getKey()); break;
     257                    case WAY: msg = tr("({0}/{1}) Loading parents of way {2}", i+1,children.size(), entry.getKey()); break;
     258                    case RELATION: msg = tr("({0}/{1}) Loading parents of relation {2}", i+1,children.size(), entry.getKey()); break;
    258259                    }
    259260                    progressMonitor.subTask(msg);
  • trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTask.java

    r2414 r2434  
    157157                }
    158158                target.mergeFrom(dataSet);
     159                target.onPostDownloadFromServer();
    159160            }
    160161        }
  • trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java

    r2224 r2434  
    305305                }
    306306                OsmDataLayer odl = (OsmDataLayer)l;
    307                 if (odl.requiresSaveToFile() || odl.requiresUploadToServer()) {
     307                if ((odl.requiresSaveToFile() || odl.requiresUploadToServer()) && odl.data.isModified()) {
    308308                    layersWithUnmodifiedChanges.add(odl);
    309309                }
     
    314314                dialog.setVisible(true);
    315315                switch(dialog.getUserAction()) {
    316                     case CANCEL: return false;
    317                     case PROCEED: return true;
    318                     default: return false;
     316                case CANCEL: return false;
     317                case PROCEED: return true;
     318                default: return false;
    319319                }
    320320            }
  • trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java

    r2433 r2434  
    5656import org.openstreetmap.josm.data.conflict.Conflict;
    5757import org.openstreetmap.josm.data.osm.DataSet;
     58import org.openstreetmap.josm.data.osm.DataSetMerger;
    5859import org.openstreetmap.josm.data.osm.DataSource;
    59 import org.openstreetmap.josm.data.osm.DataSetMerger;
    6060import org.openstreetmap.josm.data.osm.OsmPrimitive;
    6161import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
     
    14681468                        public void run() {
    14691469                            curLayer.fireDataChange();
     1470                            curLayer.onPostDownloadFromServer();
    14701471                        }
    14711472                    });
  • trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ParentRelationLoadingTask.java

    r2433 r2434  
    1313import org.openstreetmap.josm.Main;
    1414import org.openstreetmap.josm.data.osm.DataSet;
     15import org.openstreetmap.josm.data.osm.DataSetMerger;
    1516import org.openstreetmap.josm.data.osm.DataSource;
    16 import org.openstreetmap.josm.data.osm.DataSetMerger;
    1717import org.openstreetmap.josm.data.osm.Relation;
    1818import org.openstreetmap.josm.gui.PleaseWaitRunnable;
     
    179179                            public void run() {
    180180                                getLayer().fireDataChange();
     181                                getLayer().onPostDownloadFromServer();
    181182                            }
    182183                        }
  • trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java

    r2433 r2434  
    4949import org.openstreetmap.josm.data.osm.BackreferencedDataSet;
    5050import org.openstreetmap.josm.data.osm.DataSet;
     51import org.openstreetmap.josm.data.osm.DataSetMerger;
    5152import org.openstreetmap.josm.data.osm.DataSource;
    52 import org.openstreetmap.josm.data.osm.DataSetMerger;
    5353import org.openstreetmap.josm.data.osm.Node;
    5454import org.openstreetmap.josm.data.osm.OsmPrimitive;
     
    484484
    485485    /**
    486      * @return The number of not-deleted primitives in the list.
     486     * @return The number of not-deleted and visible primitives in the list.
    487487     */
    488488    private int undeletedSize(final Collection<? extends OsmPrimitive> list) {
    489489        int size = 0;
    490490        for (final OsmPrimitive osm : list)
    491             if (!osm.isDeleted()) {
     491            if (!osm.isDeleted() && osm.isVisible()) {
    492492                size++;
    493493            }
     
    692692    }
    693693
     694    public void onPostDownloadFromServer() {
     695        setRequiresSaveToFile(true);
     696        setRequiresUploadToServer(data.isModified());
     697    }
     698
    694699    /**
    695700     * Initializes the layer after a successful save of OSM data to a file
Note: See TracChangeset for help on using the changeset viewer.