This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Summary: | Global shortcuts cannot be un-defined by a keymap profile | ||
---|---|---|---|
Product: | editor | Reporter: | Svata Dedic <sdedic> |
Component: | Key bindings | Assignee: | Svata Dedic <sdedic> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | apireviews, jglick |
Priority: | P3 | Keywords: | API, API_REVIEW_FAST |
Version: | 7.1 | ||
Hardware: | PC | ||
OS: | Linux | ||
Issue Type: | DEFECT | Exception Reporter: | |
Bug Depends on: | |||
Bug Blocks: | 201274, 201277 | ||
Attachments: | Proposed changes |
Description
Svata Dedic
2011-10-06 09:05:31 UTC
The API of the keymap options storage should be extended to mask out a global shortcut. The proposed way is to create a file "shortcut.removed", which will be interpreted by removing the parent's binding from the result merged key map. The change has to be code both in NbKeyMap (o.n.core) and keymap options. At the same time, I would like to remove ugly handling of keymap switch: currently when keymaps are switched, the global Shortcut folder is permanently altered: shortcuts NOT present in the current profile are deleted, shortcuts redefined are created or changed. But shipped keymaps generally only contain differences between the base Shortcut folder and the particular profile. When an effective keymap is built, then selected by the user as the current one, it will permanently change the base keymap (Shortcuts folder). Subsequent merges of Shortcuts + some keymap will produce different results, which is not desirable. The NbKeymap implementation already contains concept of overriding shortcuts by registrations found in a profile folder, so removing the 'sync' step should from keymap option implementation not have any impact. Created attachment 119558 [details]
Proposed changes
Will commit the change tomorrow if there are no objections implemened in http://hg.netbeans.org/jet-main/rev/3a432d963791 *.shadow_hidden would be more natural than *.removed, since it would align with the syntax of MultiFileSystem masks (and someday might actually be able to use MFS). Probably not important, just a suggestion. |