Menu and Keyboard Shortcut Design

From OpenPetra Wiki
Jump to navigation Jump to search

This page is still under development and is still being discussed!

Menus

Menus in Open Petra should follow a consistent design that means that users have the same experience whichever screen they are working on. Most screens in Open Petra are auto-generated from templates which include a basic menu structure. This consists of

  • a &File menu that contains items to &Save, &Print and &Close
  • an &Edit menu that contains items to Filte&r and &Find
  • a &Help menu that contains items for &OpenPetra Help, Bug &Report, &About OpenPetra and &The Development Team

Some advanced screens may add one or two more menus relating to the work that screen does. If so they must use different letters for the Alt key combination from the ones already reserved.

An additional factor to consider is that most screens have buttons for mouse users to complete the most common tasks. These buttons should also have Alt key functionality but the key letters must be chosen so as not to conflict with any top level menu item.

The following keyboard combinations are reserved and cannot be used for any other purpose - even on screens that do not have the specified functionality. So even if a screen does not have 'Print' you must not use Alt+F, P for any other purpose.

  • Alt+F, S always means 'Save'
  • Alt+F, P always means 'Print'
  • Alt+F, C always means 'Close'. Other ways of closing a screen are Alt+F4 (on Windows) and the ESC key (if the user option is enabled).
  • Alt+E, R always means 'Show Filter Panel' and bring the Filter tab to the top. (This is not the same as Alt+R which toggles the filter/Find panel on and off. The Find tab will be displayed if it was the active tab beforehand.) Focus always moves to the first control in the Filter panel.
  • Alt+E, F always means 'Show Find Panel' and bring the Find tab to the top. Focus always moves to the first control in the Find panel.

Keyboard Shortcuts

Keyboard shortcuts are an even more powerful way of executing actions since they usually achieve their result with a single key press rather than a combination. Typically we use shortcuts for the commonest tasks in a user's workflow to enable them to make the most of keyboard input.

We have one very important rule about shortcut keys ...

A particular shortcut key performs the same action throughout the whole OpenPetra application.

This gives rise to another important corollary.

If a screen does not require the particular action that is usually performed by a shortcut key, the screen is not permitted to use the shortcut for a different task.

Because shortcut keys are so powerful and because of the rule(s) above, we do not assign shortcut keys for every task on a given screen because

  • this would usually break our rule that a given key combination has to apply throughout the application
  • most tasks have buttons and can therefore be accessed by an ALT+key combination.

The tables below list all the shortcut keys implemented in OpenPetra.

Standard Windows Shortcuts

These standard shortcuts of course continue to work in OpenPetra.

Shortcut Description Focus Comment
Ctrl+C Copy text to the clipboard No change Applies to controls that have text
Ctrl+X Cut text to the clipboard No change Applies to controls that have text
Ctrl+V Paste text from the clipboard No change Applies to controls that have text

There are no plans to introduce cut/copy/paste of data records. Cut/copy/paste applies only to text copied from one control to another.

Other Common Shortcuts

Ctrl+S will save a record throughout OpenPetra.

Ctrl+P is reserved for future use for printing the current screen data

Filter and Find

These shortcuts only apply to screens that have a Filter/Find panel associated with a grid.

Shortcut Description Focus Comment
Ctrl+F Show the Filter/Find panel and Activate the Find tab Focus the first control on the Find tab
Ctrl+R Show the Filter/Find panel and activate the Filter tab Focus the first control on the Filter tab
F3 Activate the Filter/Find panel, show the Find tab and find the next instance of the 'Find' panel search criteria The focus is on the grid so that the user can press the ENTER key if the found row is the one that is to be 'opened'.
Shift+F3 Activate the Filter/Find panel, show the Find tab and find the previous instance of the 'Find' panel search criteria The focus is on the grid so that the user can press the ENTER key if the found row is the one that is to be 'opened'.

In the special case of screens that have two grids that both have a filter/find panel these shortcuts operate on the second grid

Shortcut Description Focus Comment
Shift+Ctrl+F Show the Filter/Find panel and Activate the Find tab Focus the first control on the Find tab Applies to the second grid
Shift+Ctrl+R Show the Filter/Find panel and activate the Filter tab Focus the first control on the Filter tab Applies to the second grid
Ctrl+F3 Activate the Filter/Find panel, show the Find tab and find the next instance of the 'Find' panel search criteria The focus is on the grid so that the user can press the ENTER key if the found row is the one that is to be 'opened'. Applies to the second grid
Shift+Ctrl+F3 Activate the Filter/Find panel, show the Find tab and find the previous instance of the 'Find' panel search criteria The focus is on the grid so that the user can press the ENTER key if the found row is the one that is to be 'opened'. Applies to the second grid

Navigation

These shortcuts only apply to screens that have a grid.

Shortcut Description Focus Comment
Ctrl+Home Go to the first record in the grid and show its details. For screens that have a details panel the focus moves to the first editable control on that panel. Otherwise the focus is on the grid.
Ctrl+Up arrow Go to the previous record in the grid and show its details. For screens that have a details panel the focus moves to the first editable control on that panel. Otherwise the focus is on the grid.
Ctrl+Down arrow Go to the next record in the grid and show its details. For screens that have a details panel the focus moves to the first editable control on that panel. Otherwise the focus is on the grid.
Ctrl+End Go to the last record in the grid and show its details. For screens that have a details panel the focus moves to the first editable control on that panel. Otherwise the focus is on the grid.
Ctrl+G Keep the current record but set the focus on the grid. The current grid row.

These shortcuts only apply to screens that have a second grid.

Shortcut Description Focus Comment
Shift+Ctrl+Home Go to the first record in the grid and show its details. For screens that have a details panel the focus moves to the first editable control on that panel. Otherwise the focus is on the grid.
Shift+Ctrl+Up arrow Go to the previous record in the grid and show its details. For screens that have a details panel the focus moves to the first editable control on that panel. Otherwise the focus is on the grid.
Shift+Ctrl+Down arrow Go to the next record in the grid and show its details. For screens that have a details panel the focus moves to the first editable control on that panel. Otherwise the focus is on the grid.
Shift+Ctrl+End Go to the last record in the grid and show its details. For screens that have a details panel the focus moves to the first editable control on that panel. Otherwise the focus is on the grid.
Shift+Ctrl+G Keep the current record but set the focus on the grid. The current grid row.

Grid Navigation

For reference, this table shows the navigation controls when the grid itself has the focus. You will see that the whole screen navigation shortcuts directly relate to the grid shortcuts by the addition of the CTRL key.

Shortcut Description
Home Go to the first record in the grid and show its details. Focus remains on the grid.
Up arrow Go to the previous record in the grid and show its details. Focus remains on the grid.
Down arrow Go to the next record in the grid and show its details. Focus remains on the grid.
End Go to the last record in the grid and show its details. Focus remains on the grid.
PgUp Go up one 'view page'. This has no equivalent whole screen shortcut.
PgDn Go down one 'view page'. This has no equivalent whole screen shortcut.
Ins Insert a new row. This has no equivalent whole screen shortcut.
Del Delete the current row. This has no equivalent whole screen shortcut.