Projects/Usability/HIG/Menu Bar: Difference between revisions
m (→Guidelines: don't => do not) |
(Added Implementation section) |
||
Line 1: | Line 1: | ||
== Purpose == | |||
The menubar appears at the top of a main window and provides access to all commands and most of the settings available in an application. It contains menu titles which describe the content of each menu. Each menu title is accessible by accelerator keys, which must be set by the developer. | The menubar appears at the top of a main window and provides access to all commands and most of the settings available in an application. It contains menu titles which describe the content of each menu. Each menu title is accessible by accelerator keys, which must be set by the developer. | ||
== Guidelines == | |||
* Group menus in consistency with the KDE standard menu bar. | * Group menus in consistency with the KDE standard menu bar. | ||
Line 14: | Line 16: | ||
* '''Do not''' make the menubar 'hideable', users may not easily be able to make the menubar viewable again | * '''Do not''' make the menubar 'hideable', users may not easily be able to make the menubar viewable again | ||
== | == Standard Menu Bar == | ||
This is the order of menu items in a standard menu bar. If an application does not have options under one of the standard menu items, do not include it in the menu. At the minimum, all windows should have a File (or File equivalent, such as in the case if Konqueror and Amarok) and Help menu. | This is the order of menu items in a standard menu bar. If an application does not have options under one of the standard menu items, do not include it in the menu. At the minimum, all windows should have a File (or File equivalent, such as in the case if Konqueror and Amarok) and Help menu. | ||
Line 20: | Line 22: | ||
| File | Edit | View | Insert | Format | ''Application Specific Menus'' | Go | Bookmarks | Tools | Settings | Window | Help | | | File | Edit | View | Insert | Format | ''Application Specific Menus'' | Go | Bookmarks | Tools | Settings | Window | Help | | ||
[[File:Menu_bar.png]] | |||
[[ | == Implementation == | ||
* [http://api.kde.org/4.10-api/kdelibs-apidocs/kdeui/html/classKMenuBar.html KMenuBar], but in most case you should instead define the content of the menu bar using [http://api.kde.org/4.10-api/kdelibs-apidocs/kdeui/html/classKXmlGuiWindow.html KXmlGuiWindow.html] |
Revision as of 15:27, 27 June 2013
Purpose
The menubar appears at the top of a main window and provides access to all commands and most of the settings available in an application. It contains menu titles which describe the content of each menu. Each menu title is accessible by accelerator keys, which must be set by the developer.
Guidelines
- Group menus in consistency with the KDE standard menu bar.
- Provide a menubar in every application main window
- Menu item titles should be listed in a standard order
- Menu titles on a menubar appear as a single word with the first letter capitalized
- Provide accelerator keys for every menu title in the menubar
- Turning "on" an item in the menu should always enable the option. Negative options create a double negative which can be confusing. For example, use "Show hidden files" instead of "Hide hidden files".
- Do not display menubars in secondary or internal windows
- Do not disable menu titles even if no items under that menu are available
- Do not use compound words (e.g. ToolOptions), and hyphens (e.g. Tool-Options) in label names; they make words harder to read and recognize
- Do not make the menubar 'hideable', users may not easily be able to make the menubar viewable again
Standard Menu Bar
This is the order of menu items in a standard menu bar. If an application does not have options under one of the standard menu items, do not include it in the menu. At the minimum, all windows should have a File (or File equivalent, such as in the case if Konqueror and Amarok) and Help menu.
| File | Edit | View | Insert | Format | Application Specific Menus | Go | Bookmarks | Tools | Settings | Window | Help |
Implementation
- KMenuBar, but in most case you should instead define the content of the menu bar using KXmlGuiWindow.html