Ticket #12442: SessionSaveAsMapFrameListener.patch

File SessionSaveAsMapFrameListener.patch, 1.8 KB (added by kolesar, 8 years ago)
  • src/org/openstreetmap/josm/actions/SessionSaveAsAction.java

    diff --git a/src/org/openstreetmap/josm/actions/SessionSaveAsAction.java b/src/org/openstreetmap/josm/actions/SessionSaveAsAction.java
    index 7a71460..88fb89b 100644
    a b import javax.swing.filechooser.FileFilter;  
    3434import org.openstreetmap.josm.Main;
    3535import org.openstreetmap.josm.gui.ExtendedDialog;
    3636import org.openstreetmap.josm.gui.HelpAwareOptionPane;
     37import org.openstreetmap.josm.gui.MapFrame;
     38import org.openstreetmap.josm.gui.MapFrameListener;
    3739import org.openstreetmap.josm.gui.layer.Layer;
    3840import org.openstreetmap.josm.gui.widgets.AbstractFileChooser;
    3941import org.openstreetmap.josm.io.session.SessionLayerExporter;
    import org.openstreetmap.josm.tools.WindowGeometry;  
    4850 * Saves a JOSM session
    4951 * @since 4685
    5052 */
    51 public class SessionSaveAsAction extends DiskAccessAction {
     53public class SessionSaveAsAction extends DiskAccessAction implements MapFrameListener {
    5254
    5355    private transient List<Layer> layers;
    5456    private transient Map<Layer, SessionLayerExporter> exporters;
    public class SessionSaveAsAction extends DiskAccessAction {  
    7072        super(tr("Save Session As..."), "session", tr("Save the current session to a new file."),
    7173                null, toolbar, "save_as-session", installAdapters);
    7274        putValue("help", ht("/Action/SessionSaveAs"));
     75        Main.addMapFrameListener(this);
    7376    }
    7477
    7578    @Override
    public class SessionSaveAsAction extends DiskAccessAction {  
    283286    protected void updateEnabledState() {
    284287        setEnabled(Main.isDisplayingMapView());
    285288    }
     289
     290    @Override
     291    public void mapFrameInitialized(MapFrame oldFrame, MapFrame newFrame) {
     292        updateEnabledState();
     293    };
    286294}