Changeset 16528 in josm


Ignore:
Timestamp:
2020-05-31T17:09:02+02:00 (4 years ago)
Author:
simon04
Message:

Introduce BooleanProperty TOOLBAR_VISIBLE, SIDE_TOOLBAR_VISIBLE

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

Legend:

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

    r14397 r16528  
    5252            boolean selected = isSelected();
    5353            if (!selected) {
    54                 toolbarPreviouslyVisible = Config.getPref().getBoolean("toolbar.visible", true);
    55                 sideToolbarPreviouslyVisible = Config.getPref().getBoolean("sidetoolbar.visible", true);
     54                toolbarPreviouslyVisible = MapFrame.TOOLBAR_VISIBLE.get();
     55                sideToolbarPreviouslyVisible = MapFrame.SIDE_TOOLBAR_VISIBLE.get();
    5656            }
    5757            MapFrame map = MainApplication.getMap();
     
    6161            // Toolbars listen to preference changes, use it here
    6262            if (!Config.getPref().getBoolean("toolbar.always-visible", true) && (!selected || toolbarPreviouslyVisible)) {
    63                 Config.getPref().putBoolean("toolbar.visible", selected);
     63                MapFrame.TOOLBAR_VISIBLE.put(selected);
    6464            }
    6565            if (!Config.getPref().getBoolean("sidetoolbar.always-visible", true) && (!selected || sideToolbarPreviouslyVisible)) {
    66                 Config.getPref().putBoolean("sidetoolbar.visible", selected);
     66                MapFrame.SIDE_TOOLBAR_VISIBLE.put(selected);
    6767            }
    6868            map.mapView.rememberLastPositionOnScreen();
  • trunk/src/org/openstreetmap/josm/gui/MainMenu.java

    r16285 r16528  
    823823        viewMenu.add(new PreferenceToggleAction(tr("Main toolbar"),
    824824                tr("Toggles the visibility of the main toolbar (i.e., the horizontal toolbar)"),
    825                 "toolbar.visible", true).getCheckbox());
     825                MapFrame.TOOLBAR_VISIBLE.getKey(), MapFrame.TOOLBAR_VISIBLE.getDefaultValue()).getCheckbox());
    826826        viewMenu.add(new PreferenceToggleAction(tr("Edit toolbar"),
    827827                tr("Toggles the visibility of the edit toolbar (i.e., the vertical tool)"),
    828                 "sidetoolbar.visible", true).getCheckbox());
     828                MapFrame.SIDE_TOOLBAR_VISIBLE.getKey(), MapFrame.SIDE_TOOLBAR_VISIBLE.getDefaultValue()).getCheckbox());
    829829        // -- dialogs panel toggle action
    830830        final JCheckBoxMenuItem dialogsToggle = new JCheckBoxMenuItem(dialogsToggleAction);
  • trunk/src/org/openstreetmap/josm/gui/MapFrame.java

    r16438 r16528  
    5757import org.openstreetmap.josm.actions.mapmode.ZoomAction;
    5858import org.openstreetmap.josm.data.ViewportData;
     59import org.openstreetmap.josm.data.preferences.AbstractProperty;
    5960import org.openstreetmap.josm.data.preferences.BooleanProperty;
    6061import org.openstreetmap.josm.data.preferences.IntegerProperty;
     
    8384import org.openstreetmap.josm.gui.util.AdvancedKeyPressDetector;
    8485import org.openstreetmap.josm.spi.preferences.Config;
    85 import org.openstreetmap.josm.spi.preferences.PreferenceChangedListener;
    8686import org.openstreetmap.josm.tools.Destroyable;
    8787import org.openstreetmap.josm.tools.GBC;
     
    108108     */
    109109    public static final BooleanProperty MODELESS = new BooleanProperty("modeless", false);
     110    /**
     111     * Whether the toolbar is visible
     112     */
     113    public static final BooleanProperty TOOLBAR_VISIBLE = new BooleanProperty("toolbar.visible", true);
     114    /**
     115     * Whether the side toolbar is visible
     116     */
     117    public static final BooleanProperty SIDE_TOOLBAR_VISIBLE = new BooleanProperty("sidetoolbar.visible", true);
    110118    /**
    111119     * The current mode, this frame operates.
     
    346354        rememberToggleDialogWidth();
    347355        dialogsPanel.destroy();
    348         Config.getPref().removePreferenceChangeListener(sidetoolbarPreferencesChangedListener);
     356        SIDE_TOOLBAR_VISIBLE.removeListener(sidetoolbarPreferencesChangedListener);
    349357        for (int i = 0; i < toolBarActions.getComponentCount(); ++i) {
    350358            if (toolBarActions.getComponent(i) instanceof Destroyable) {
     
    546554            sideToolBar = svp;
    547555        }
    548         sideToolBar.setVisible(Config.getPref().getBoolean("sidetoolbar.visible", true));
    549         sidetoolbarPreferencesChangedListener = e -> {
    550             if ("sidetoolbar.visible".equals(e.getKey())) {
    551                 sideToolBar.setVisible(Config.getPref().getBoolean("sidetoolbar.visible"));
    552             }
    553         };
    554         Config.getPref().addPreferenceChangeListener(sidetoolbarPreferencesChangedListener);
     556        sideToolBar.setVisible(SIDE_TOOLBAR_VISIBLE.get());
     557        sidetoolbarPreferencesChangedListener = e -> sideToolBar.setVisible(e.getProperty().get());
     558        SIDE_TOOLBAR_VISIBLE.addListener(sidetoolbarPreferencesChangedListener);
    555559
    556560        /**
     
    633637                @Override
    634638                public void actionPerformed(ActionEvent e) {
    635                     Config.getPref().putBoolean("sidetoolbar.visible", false);
     639                    SIDE_TOOLBAR_VISIBLE.put(false);
    636640                }
    637641            });
     
    802806    private static final CopyOnWriteArrayList<MapModeChangeListener> mapModeChangeListeners = new CopyOnWriteArrayList<>();
    803807
    804     private transient PreferenceChangedListener sidetoolbarPreferencesChangedListener;
     808    private transient AbstractProperty.ValueChangeListener<Boolean> sidetoolbarPreferencesChangedListener;
    805809    /**
    806810     * Adds a mapMode change listener
  • trunk/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java

    r16438 r16528  
    7070import org.openstreetmap.josm.data.imagery.ImageryLayerInfo;
    7171import org.openstreetmap.josm.gui.MainApplication;
     72import org.openstreetmap.josm.gui.MapFrame;
    7273import org.openstreetmap.josm.gui.help.HelpUtil;
    7374import org.openstreetmap.josm.gui.tagging.presets.TaggingPreset;
     
    10161017            control.setComponentPopupMenu(popupMenu);
    10171018        });
    1018         Config.getPref().addPreferenceChangeListener(e -> {
    1019             if ("toolbar.visible".equals(e.getKey())) {
    1020                 refreshToolbarControl();
    1021             }
    1022         });
     1019        MapFrame.TOOLBAR_VISIBLE.addListener(e -> refreshToolbarControl());
    10231020    }
    10241021
     
    12021199        }
    12031200
    1204         boolean visible = Config.getPref().getBoolean("toolbar.visible", true);
     1201        boolean visible = MapFrame.TOOLBAR_VISIBLE.get();
    12051202
    12061203        control.setFocusTraversalKeysEnabled(!unregisterTab);
Note: See TracChangeset for help on using the changeset viewer.