From a06f99d85912b3c46bce7d937dc588665bbca50c Mon Sep 17 00:00:00 2001 From: Aleksey Pivovarov Date: Tue, 5 Feb 2019 19:21:56 +0300 Subject: [PATCH] ui: remove ambiguity in mnemonics parsing Disabling mnemonics should not change displayed action text. --- .../openapi/actionSystem/Presentation.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/platform/editor-ui-api/src/com/intellij/openapi/actionSystem/Presentation.java b/platform/editor-ui-api/src/com/intellij/openapi/actionSystem/Presentation.java index 5de033eed823..57b59bfdac0a 100644 --- a/platform/editor-ui-api/src/com/intellij/openapi/actionSystem/Presentation.java +++ b/platform/editor-ui-api/src/com/intellij/openapi/actionSystem/Presentation.java @@ -148,14 +148,8 @@ public final class Presentation implements Cloneable { if (i >= text.length()) break; ch = text.charAt(i); if (ch != '_' && ch != '&') { - if (UISettings.getInstance().getDisableMnemonicsInControls()) { - myMnemonic = 0; - myDisplayedMnemonicIndex = -1; - } - else { - myMnemonic = Character.toUpperCase(ch); // mnemonics are case insensitive - myDisplayedMnemonicIndex = i - 1 - backShift; - } + myMnemonic = Character.toUpperCase(ch); // mnemonics are case insensitive + myDisplayedMnemonicIndex = i - 1 - backShift; } else { backShift++; @@ -173,6 +167,11 @@ public final class Presentation implements Cloneable { myText = null; } + if (UISettings.getInstance().getDisableMnemonicsInControls()) { + myMnemonic = 0; + myDisplayedMnemonicIndex = -1; + } + fireObjectPropertyChange(PROP_TEXT, oldText, myText); fireObjectPropertyChange(PROP_MNEMONIC_KEY, oldMnemonic, myMnemonic); fireObjectPropertyChange(PROP_MNEMONIC_INDEX, oldDisplayedMnemonicIndex, myDisplayedMnemonicIndex);