diff options
author | Tor Norbye <tnorbye@google.com> | 2014-07-25 13:10:36 -0700 |
---|---|---|
committer | Tor Norbye <tnorbye@google.com> | 2014-07-25 13:10:36 -0700 |
commit | e5266e2343c8d275d79fa0be725180d0fe3a993c (patch) | |
tree | 0ba72f5de1949e0527874a799baa224cbe1537e0 /platform/platform-impl/src/com/intellij/help/impl/KeymapGenerator.java | |
parent | b03a5855292feb8c331815f883fe64372aacd872 (diff) | |
parent | 2e5965e996aad62ab1338b09d54caaf99ff3dd6a (diff) | |
download | idea-e5266e2343c8d275d79fa0be725180d0fe3a993c.tar.gz |
Merge remote-tracking branch 'aosp/upstream-master' into merge
Conflicts:
.idea/modules.xml
Change-Id: I5e3d04bc83cdc26b2b56fca66b44b1dd8941b143
Diffstat (limited to 'platform/platform-impl/src/com/intellij/help/impl/KeymapGenerator.java')
-rw-r--r-- | platform/platform-impl/src/com/intellij/help/impl/KeymapGenerator.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/platform/platform-impl/src/com/intellij/help/impl/KeymapGenerator.java b/platform/platform-impl/src/com/intellij/help/impl/KeymapGenerator.java index acd74f9c8f54..f38ef84a2b93 100644 --- a/platform/platform-impl/src/com/intellij/help/impl/KeymapGenerator.java +++ b/platform/platform-impl/src/com/intellij/help/impl/KeymapGenerator.java @@ -23,9 +23,11 @@ import com.intellij.openapi.keymap.KeymapUtil; import com.intellij.openapi.keymap.ex.KeymapManagerEx; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.text.StringUtil; +import gnu.trove.THashSet; import java.io.File; import java.io.IOException; +import java.util.Set; /** * @author Konstantin Bulenkov @@ -47,13 +49,20 @@ public class KeymapGenerator implements ApplicationStarter { xml.append("<Keymaps>\n"); for (Keymap keymap : KeymapManagerEx.getInstanceEx().getAllKeymaps()) { - xml.append(" <Keymap name=\"").append(keymap.getName()).append("\">\n"); + + xml.append(" <Keymap name=\"").append(keymap.getPresentableName()).append("\">\n"); for (String id : keymap.getActionIds()) { String shortcuts = KeymapUtil.getShortcutsText(keymap.getShortcuts(id)); if (!StringUtil.isEmpty(shortcuts)) { xml.append(" <Action id=\"").append(id).append("\">\n"); + Set<String> addedShortcuts = new THashSet<String>(); for (Shortcut shortcut : keymap.getShortcuts(id)) { - xml.append(" <Shortcut>").append(KeymapUtil.getShortcutText(shortcut)).append("</Shortcut>\n"); + // Different shortcuts may have equal display strings (e.g. shift+minus and shift+subtract) + // We don't want them do be duplicated for users + String shortcutText = KeymapUtil.getShortcutText(shortcut); + if (addedShortcuts.add(shortcutText)) { + xml.append(" <Shortcut>").append(shortcutText).append("</Shortcut>\n"); + } } xml.append(" </Action>\n"); } |