Changeset 6020 in josm for trunk/src/org


Ignore:
Timestamp:
2013-06-24T17:32:19+02:00 (11 years ago)
Author:
akks
Message:

see #8652: use Tab for toggling panels even if focus is on toolbar buttons or scaling slider

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

Legend:

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

    r5965 r6020  
    1010import java.awt.Font;
    1111import java.awt.GridBagLayout;
    12 import java.awt.KeyboardFocusManager;
    1312import java.awt.Rectangle;
    1413import java.awt.event.ActionEvent;
     
    1918import java.util.Collection;
    2019import java.util.HashMap;
    21 import java.util.HashSet;
    2220import java.util.List;
    2321import java.util.Map;
     
    7674import org.openstreetmap.josm.tools.Destroyable;
    7775import org.openstreetmap.josm.tools.GBC;
     76import org.openstreetmap.josm.tools.Shortcut;
    7877
    7978
     
    145144    private final DialogsPanel dialogsPanel;
    146145
     146    private final boolean unregisterTab;
     147   
    147148    /**
    148149     * Default width of the toggle dialog area.
     
    237238        statusLine = new MapStatus(this);
    238239        MapView.addLayerChangeListener(this);
     240
     241        unregisterTab = Shortcut.findShortcut(KeyEvent.VK_TAB, 0)!=null;
     242        if (unregisterTab) {
     243            for (JComponent c: allDialogButtons) c.setFocusTraversalKeysEnabled(false);
     244            for (JComponent c: allMapModeButtons) c.setFocusTraversalKeysEnabled(false);
     245        }
    239246    }
    240247
     
    404411            toolBarActions.setInheritsPopupMenu(true);
    405412            sideToolBar.add(toolBarActions);
    406         listAllMapModesButton.setAlignmentX(0.5f);
    407         listAllMapModesButton.setBorder(null);
    408         listAllMapModesButton.setFont(listAllMapModesButton.getFont().deriveFont(Font.PLAIN));
     413            listAllMapModesButton.setAlignmentX(0.5f);
     414            listAllMapModesButton.setBorder(null);
     415            listAllMapModesButton.setFont(listAllMapModesButton.getFont().deriveFont(Font.PLAIN));
    409416            listAllMapModesButton.setInheritsPopupMenu(true);
    410417            sideToolBar.add(listAllMapModesButton);
  • trunk/src/org/openstreetmap/josm/gui/MapView.java

    r6019 r6020  
    66import java.awt.AlphaComposite;
    77import java.awt.Color;
     8
    89import java.awt.Dimension;
    910import java.awt.Graphics;
     
    229230    public MapView(final JPanel contentPane, final ViewportData viewportData) {
    230231        Main.pref.addPreferenceChangeListener(this);
     232        final boolean unregisterTab = Shortcut.findShortcut(KeyEvent.VK_TAB, 0)!=null;
    231233
    232234        addComponentListener(new ComponentAdapter(){
     
    237239                add(zoomSlider);
    238240                zoomSlider.setBounds(3, 0, 114, 30);
     241                zoomSlider.setFocusTraversalKeysEnabled(!unregisterTab);
    239242
    240243                MapScaler scaler = new MapScaler(MapView.this);
     
    277280        });
    278281
    279         if (Shortcut.findShortcut(KeyEvent.VK_TAB, 0)!=null)
    280         {
     282        if (Shortcut.findShortcut(KeyEvent.VK_TAB, 0)!=null) {
    281283            setFocusTraversalKeysEnabled(false);
    282284        }
  • trunk/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java

    r5979 r6020  
    10241024        control.removeAll();
    10251025        buttonActions.clear();
     1026        boolean unregisterTab = Shortcut.findShortcut(KeyEvent.VK_TAB, 0)!=null;
    10261027
    10271028        for (ActionDefinition action : getDefinedActions()) {
     
    10481049                }
    10491050                b.setInheritsPopupMenu(true);
    1050             }
    1051         }
     1051                b.setFocusTraversalKeysEnabled(!unregisterTab);
     1052            }
     1053        }
     1054        control.setFocusTraversalKeysEnabled(!unregisterTab);
    10521055        control.setVisible(control.getComponentCount() != 0);
    10531056    }
Note: See TracChangeset for help on using the changeset viewer.