Ignore:
Timestamp:
20.07.2010 08:54:22 (22 months ago)
Author:
jttt
Message:

Fix #2662 Auto-save

File:
1 edited

Legend:

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

    r3287 r3378  
    2525 
    2626import org.openstreetmap.josm.Main; 
     27import org.openstreetmap.josm.data.AutosaveTask; 
     28import org.openstreetmap.josm.gui.layer.OsmDataLayer; 
    2729import org.openstreetmap.josm.gui.preferences.server.OAuthAccessTokenHolder; 
    2830import org.openstreetmap.josm.gui.progress.ProgressMonitor; 
     
    5961        mainFrame.addWindowListener(new WindowAdapter(){ 
    6062            @Override public void windowClosing(final WindowEvent arg0) { 
    61                 if (!Main.saveUnsavedModifications()) 
    62                     return; 
    63                 Main.saveGuiGeometry(); 
    64                 System.exit(0); 
     63                Main.exitJosm(true); 
    6564            } 
    6665        }); 
     
    240239        } 
    241240 
     241        AutosaveTask autosaveTask = new AutosaveTask(); 
     242        List<OsmDataLayer> unsavedLayers = autosaveTask.getUnsavedLayers(); 
     243        if (!unsavedLayers.isEmpty()) { 
     244            ExtendedDialog dialog = new ExtendedDialog( 
     245                    Main.parent, 
     246                    tr("Unsaved osm data"), 
     247                    new String[] {tr("Restore"), tr("Cancel")} 
     248            ); 
     249            dialog.setContent(tr("JOSM found {0} unsaved osm data layers. It looks like JOSM crashed last time. Do you want to restore data?", 
     250                    unsavedLayers.size())); 
     251            dialog.setButtonIcons(new String[] {"ok.png", "cancel.png"}); 
     252            dialog.showDialog(); 
     253            if (dialog.getValue() == 1) { 
     254                for (OsmDataLayer layer: unsavedLayers) { 
     255                    Main.main.addLayer(layer); 
     256                } 
     257            } 
     258 
     259 
     260        } 
     261        autosaveTask.schedule(); 
     262 
     263 
    242264        EventQueue.invokeLater(new Runnable() { 
    243265            public void run() { 
Note: See TracChangeset for help on using the changeset viewer.