Changeset 450 in josm


Ignore:
Timestamp:
2007-11-01T20:29:14+01:00 (15 years ago)
Author:
(none)
Message:

"usability cleanup" of main menu and default toolbar

main menu:

  • add keyboard shortcuts to menu item texts (make recognizing shortcuts easier)
  • move "Connection" items to File menu
  • make "View" visible by default (as all the other menus)
  • resort "Tools" menu items

default toolbar:

  • remove "new" item (very rarely used IMHO)
  • use the same sequence as used in the menu
Location:
trunk/src/org/openstreetmap/josm
Files:
4 edited

Legend:

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

    r298 r450  
    2323abstract public class JosmAction extends AbstractAction implements Destroyable {
    2424
    25         private KeyStroke shortCut;
     25        public KeyStroke shortCut;
    2626
    2727        public JosmAction(String name, String iconName, String tooltip, int shortCut, int modifier, boolean register) {
  • trunk/src/org/openstreetmap/josm/gui/MainMenu.java

    r422 r450  
    66import java.awt.event.ActionEvent;
    77import java.awt.event.ActionListener;
     8import java.awt.event.InputEvent;
     9import java.awt.event.KeyEvent;
    810
    911import javax.swing.Action;
     
    1113import javax.swing.JMenuBar;
    1214import javax.swing.JMenuItem;
     15import javax.swing.KeyStroke;
    1316
     17import org.openstreetmap.josm.actions.JosmAction;
    1418import org.openstreetmap.josm.actions.AboutAction;
    1519import org.openstreetmap.josm.actions.AlignInCircleAction;
     
    5054public class MainMenu extends JMenuBar {
    5155
     56        /* File menu */
     57        public final NewAction newAction = new NewAction();
     58        public final OpenAction open = new OpenAction();
     59        public final JosmAction save = new SaveAction(null);
     60        public final JosmAction saveAs = new SaveAsAction(null);
     61        public final JosmAction gpxExport = new GpxExportAction(null);
     62        public final DownloadAction download = new DownloadAction();
     63        public final JosmAction upload = new UploadAction();
     64        public final JosmAction exit = new ExitAction();
     65   
     66        /* Edit menu */
    5267        public final UndoAction undo = new UndoAction();
    5368        public final RedoAction redo = new RedoAction();
    54         public final Action copy = new CopyAction();
    55         public final Action paste = new PasteAction();
    56         public final Action duplicate = new DuplicateAction();
    57         public final Action selectAll = new SelectAllAction();
    58         public final Action unselectAll = new UnselectAllAction();
    59         public final Action search = new SearchAction();
    60         public final NewAction newAction = new NewAction();
    61         public final OpenAction open = new OpenAction();
    62         public final DownloadAction download = new DownloadAction();
    63         public final Action reverseWay = new ReverseWayAction();
    64         public final Action splitWay = new SplitWayAction();
    65         public final Action combineWay = new CombineWayAction();
    66         public final Action alignInCircle = new AlignInCircleAction();
    67         public final Action alignInLine = new AlignInLineAction();
    68         public final Action mergeNodes = new MergeNodesAction();
    69         public final Action upload = new UploadAction();
    70         public final Action save = new SaveAction(null);
    71         public final Action saveAs = new SaveAsAction(null);
    72         public final Action gpxExport = new GpxExportAction(null);
    73         public final Action exit = new ExitAction();
    74         public final Action preferences = new PreferencesAction();
     69        public final JosmAction copy = new CopyAction();
     70        public final JosmAction paste = new PasteAction();
     71        public final JosmAction duplicate = new DuplicateAction();
     72        public final JosmAction selectAll = new SelectAllAction();
     73        public final JosmAction unselectAll = new UnselectAllAction();
     74    /* crashes when loading data, if using JosmAction for search */
     75        public final JosmAction search = new SearchAction();
     76        public final JosmAction preferences = new PreferencesAction();
     77       
     78        /* View menu */
     79   
     80        /* Tools menu */
     81        public final JosmAction splitWay = new SplitWayAction();
     82        public final JosmAction combineWay = new CombineWayAction();
     83        public final JosmAction reverseWay = new ReverseWayAction();
     84        public final JosmAction alignInCircle = new AlignInCircleAction();
     85        public final JosmAction alignInLine = new AlignInLineAction();
     86        public final JosmAction mergeNodes = new MergeNodesAction();
     87
     88        /* Help menu */
    7589        public final HelpAction help = new HelpAction();
    76         public final Action about = new AboutAction();
     90        public final JosmAction about = new AboutAction();
    7791       
    78         public final JMenu layerMenu = new JMenu(tr("Layer"));
     92        public final JMenu fileMenu = new JMenu(tr("File"));
    7993        public final JMenu editMenu = new JMenu(tr("Edit"));
    8094        public final JMenu viewMenu = new JMenu(tr("View"));
    81         public final JMenu helpMenu = new JMenu(tr("Help"));
    82         public final JMenu fileMenu = new JMenu(tr("Files"));
    83         public final JMenu connectionMenu = new JMenu(tr("Connection"));
    8495        public final JMenu toolsMenu = new JMenu(tr("Tools"));
    8596        public final JMenu presetsMenu = new JMenu(tr("Presets"));
    86 
    87         public final JMenu zoomToMenu = new JMenu(tr("Zoom To"));
     97        public final JMenu helpMenu = new JMenu(tr("Help"));
     98       
     99    /* not used */
     100        public final JMenu layerMenu = new JMenu(tr("Layer"));
    88101
    89102
    90103        public MainMenu() {
     104        JMenuItem current;
     105       
    91106                fileMenu.setMnemonic('F');
    92                 fileMenu.add(newAction);
    93                 fileMenu.add(open);
    94                 fileMenu.add(save);
    95                 fileMenu.add(saveAs);
    96                 fileMenu.add(gpxExport);
     107                current = fileMenu.add(newAction);
     108                current.setAccelerator(newAction.shortCut);
     109                current = fileMenu.add(open);
     110                current.setAccelerator(open.shortCut);
     111                current = fileMenu.add(save);
     112                current.setAccelerator(save.shortCut);
     113                current = fileMenu.add(saveAs);
     114                current.setAccelerator(saveAs.shortCut);
     115                current = fileMenu.add(gpxExport);
     116                current.setAccelerator(gpxExport.shortCut);
    97117                fileMenu.addSeparator();
    98                 fileMenu.add(exit);
     118                current = fileMenu.add(download);
     119                current.setAccelerator(download.shortCut);
     120                current = fileMenu.add(upload);
     121                current.setAccelerator(upload.shortCut);
     122                fileMenu.addSeparator();
     123                current = fileMenu.add(exit);
     124                current.setAccelerator(exit.shortCut);
    99125                add(fileMenu);
    100126
    101127                editMenu.setMnemonic('E');
    102                 editMenu.add(undo);
    103                 editMenu.add(redo);
     128                current = editMenu.add(undo);
     129                current.setAccelerator(undo.shortCut);
     130                current = editMenu.add(redo);
     131                current.setAccelerator(redo.shortCut);
    104132                editMenu.addSeparator();
    105                 editMenu.add(copy);
    106                 editMenu.add(paste);
    107                 editMenu.add(duplicate);
    108                
     133                current = editMenu.add(copy);
     134                current.setAccelerator(copy.shortCut);
     135                current = editMenu.add(paste);
     136                current.setAccelerator(paste.shortCut);
     137                current = editMenu.add(duplicate);
     138                current.setAccelerator(duplicate.shortCut);
    109139                editMenu.addSeparator();
    110                 editMenu.add(selectAll);
    111                 editMenu.add(unselectAll);
     140                current = editMenu.add(selectAll);
     141                current.setAccelerator(selectAll.shortCut);
     142                current = editMenu.add(unselectAll);
     143                current.setAccelerator(unselectAll.shortCut);
    112144                editMenu.addSeparator();
    113                 editMenu.add(search);
     145                current = editMenu.add(search);
     146                current.setAccelerator(search.shortCut);
    114147                editMenu.addSeparator();
    115                 editMenu.add(preferences);
     148                current = editMenu.add(preferences);
     149                current.setAccelerator(preferences.shortCut);
    116150                add(editMenu);
    117151               
    118152                viewMenu.setMnemonic('V');
    119                 viewMenu.setVisible(false);
    120                 viewMenu.add(zoomToMenu);
    121                 for (String mode : AutoScaleAction.modes)
    122                         zoomToMenu.add(new AutoScaleAction(mode));
     153        for (String mode : AutoScaleAction.modes) {
     154            JosmAction autoScaleAction = new AutoScaleAction(mode);
     155                        current = viewMenu.add(autoScaleAction);
     156                    current.setAccelerator(autoScaleAction.shortCut);
     157        }
    123158                add(viewMenu);
    124159
    125160                toolsMenu.setMnemonic('T');
    126                 toolsMenu.add(alignInCircle);
    127                 toolsMenu.add(alignInLine);
     161                current = toolsMenu.add(splitWay);
     162                current.setAccelerator(splitWay.shortCut);
     163                current = toolsMenu.add(combineWay);
     164                current.setAccelerator(combineWay.shortCut);
    128165                toolsMenu.addSeparator();
    129                 toolsMenu.add(reverseWay);
     166                current = toolsMenu.add(reverseWay);
     167                current.setAccelerator(reverseWay.shortCut);
    130168                toolsMenu.addSeparator();
    131                 toolsMenu.add(splitWay);
    132                 toolsMenu.add(combineWay);
     169                current = toolsMenu.add(alignInCircle);
     170                current.setAccelerator(alignInCircle.shortCut);
     171                current = toolsMenu.add(alignInLine);
     172                current.setAccelerator(alignInLine.shortCut);
    133173                toolsMenu.addSeparator();
    134                 toolsMenu.add(mergeNodes);
     174                current = toolsMenu.add(mergeNodes);
     175                current.setAccelerator(mergeNodes.shortCut);
    135176                add(toolsMenu);
    136 
    137                 connectionMenu.setMnemonic('C');
    138                 connectionMenu.add(download);
    139                 connectionMenu.add(upload);
    140                 add(connectionMenu);
    141177
    142178                layerMenu.setMnemonic('L');
     
    147183                presetsMenu.setMnemonic('P');
    148184               
     185                helpMenu.setMnemonic('H');
    149186                JMenuItem check = new JMenuItem("DEBUG: Check Dataset");
    150187                check.addActionListener(new ActionListener(){
     
    153190            }
    154191                });
    155                 helpMenu.add(check);
    156 
    157                 helpMenu.setMnemonic('H');
    158                 helpMenu.add(help);
    159                 helpMenu.add(about);
     192                current = helpMenu.add(check);
     193                current = helpMenu.add(help);
     194                //current.setAccelerator(help.shortCut);
     195                current = helpMenu.add(about);
     196                current.setAccelerator(about.shortCut);
    160197                add(helpMenu);
    161                
    162198    }
    163199}
  • trunk/src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java

    r343 r450  
    2828import org.openstreetmap.josm.gui.OsmPrimitivRenderer;
    2929import org.openstreetmap.josm.tools.ImageProvider;
     30import org.openstreetmap.josm.actions.JosmAction;
    3031
    3132/**
     
    7576                }));
    7677
    77                 buttonPanel.add(createButton("Search", "dialogs/search", "Search for objects.", Main.main.menu.search));
     78                buttonPanel.add(createButton("Search", "dialogs/search", "Search for objects.", (JosmAction) Main.main.menu.search));
    7879
    7980                add(buttonPanel, BorderLayout.SOUTH);
  • trunk/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java

    r298 r450  
    208208
    209209        private String[] getToolString() {
    210                 String s = Main.pref.get("toolbar", "download;upload;|;new;open;save;exportgpx;|;undo;redo;|;preference");
     210                String s = Main.pref.get("toolbar", "open;save;exportgpx;|;download;upload;|;undo;redo;|;preference");
    211211                if (s == null || s.equals("null") || s.equals(""))
    212212                        return new String[0];
Note: See TracChangeset for help on using the changeset viewer.