Ignore:
Timestamp:
2016-06-08T09:33:20+02:00 (8 years ago)
Author:
Don-vip
Message:

fix #12927 - Move title management and main frame layout to new class (patch by michael2402) - gsoc-core

File:
1 edited

Legend:

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

    r10332 r10340  
    3535import javax.swing.InputMap;
    3636import javax.swing.JComponent;
    37 import javax.swing.JFrame;
    3837import javax.swing.JPanel;
    3938
     
    9190 */
    9291public class MapView extends NavigatableComponent
    93 implements PropertyChangeListener, PreferenceChangedListener, OsmDataLayer.LayerStateChangeListener,
     92implements PropertyChangeListener, PreferenceChangedListener,
    9493LayerManager.LayerChangeListener, MainLayerManager.ActiveLayerChangeListener {
    9594    /**
     
    587586        }
    588587
    589         boolean isOsmDataLayer = layer instanceof OsmDataLayer;
    590         if (isOsmDataLayer) {
    591             ((OsmDataLayer) layer).addLayerStateChangeListener(this);
    592         }
    593 
    594588        layer.addPropertyChangeListener(this);
    595589        Main.addProjectionChangeListener(layer);
     
    674668    public void layerRemoving(LayerRemoveEvent e) {
    675669        Layer layer = e.getRemovedLayer();
    676         if (layer instanceof OsmDataLayer) {
    677             ((OsmDataLayer) layer).removeLayerPropertyChangeListener(this);
    678         }
    679670
    680671        Main.removeProjectionChangeListener(layer);
     
    10811072        }
    10821073        AudioPlayer.reset();
    1083         refreshTitle();
    10841074        repaint();
    10851075    }
     
    11641154                repaint();
    11651155            }
    1166         } else if (evt.getPropertyName().equals(OsmDataLayer.REQUIRES_SAVE_TO_DISK_PROP)
    1167                 || evt.getPropertyName().equals(OsmDataLayer.REQUIRES_UPLOAD_TO_SERVER_PROP)) {
    1168             OsmDataLayer layer = (OsmDataLayer) evt.getSource();
    1169             if (layer == getEditLayer()) {
    1170                 refreshTitle();
    1171             }
    11721156        }
    11731157    }
     
    11761160     * Sets the title of the JOSM main window, adding a star if there are dirty layers.
    11771161     * @see Main#parent
    1178      */
     1162     * @deprecated Replaced by {@link MainFrame#refreshTitle()}. The {@link MainFrame} should handle this by itself.
     1163     */
     1164    @Deprecated
    11791165    protected void refreshTitle() {
    11801166        if (Main.parent != null) {
    1181             OsmDataLayer editLayer = layerManager.getEditLayer();
    1182             boolean dirty = editLayer != null &&
    1183                     (editLayer.requiresSaveToFile() || (editLayer.requiresUploadToServer() && !editLayer.isUploadDiscouraged()));
    1184             ((JFrame) Main.parent).setTitle((dirty ? "* " : "") + tr("Java OpenStreetMap Editor"));
    1185             ((JFrame) Main.parent).getRootPane().putClientProperty("Window.documentModified", dirty);
     1167            ((MainFrame) Main.parent).refreshTitle();
    11861168        }
    11871169    }
     
    12131195        synchronized (temporaryLayers) {
    12141196            temporaryLayers.clear();
    1215         }
    1216     }
    1217 
    1218     @Override
    1219     public void uploadDiscouragedChanged(OsmDataLayer layer, boolean newValue) {
    1220         if (layer == layerManager.getEditLayer()) {
    1221             refreshTitle();
    12221197        }
    12231198    }
Note: See TracChangeset for help on using the changeset viewer.