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

Improved detection of modified state in OsmDataLayer.

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

Legend:

Unmodified
Added
Removed
  • 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.