From aa14f6bf4f162fa75bfdf7bec95ed0d284ae2e1b Mon Sep 17 00:00:00 2001 From: Kirill Kirichenko Date: Thu, 6 Dec 2018 11:03:13 +0300 Subject: [PATCH] IDEA-202749 Missing mnemonics for labels --- .../ide/ui/laf/darcula/ui/DarculaLabelUI.java | 33 ++++++------------- 1 file changed, 10 insertions(+), 23 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaLabelUI.java b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaLabelUI.java index fb8ebb99bc1b..6f844729f80b 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaLabelUI.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaLabelUI.java @@ -1,6 +1,7 @@ // Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.ide.ui.laf.darcula.ui; +import com.intellij.ide.ui.laf.darcula.DarculaLaf; import sun.swing.SwingUtilities2; import javax.swing.*; @@ -9,39 +10,25 @@ import javax.swing.plaf.basic.BasicLabelUI; import java.awt.*; public class DarculaLabelUI extends BasicLabelUI { - private static boolean isMnemonicHidden = true; - @SuppressWarnings({"MethodOverridesStaticMethodOfSuperclass", "unused"}) - public static ComponentUI createUI(final JComponent c) { + public static ComponentUI createUI(JComponent c) { return new DarculaLabelUI(); } @Override - protected void paintEnabledText(final JLabel l, final Graphics g, final String s, final int textX, final int textY) { - int mnemIndex = l.getDisplayedMnemonicIndex(); - if (isMnemonicHidden()) { - mnemIndex = -1; - } - + protected void paintEnabledText(JLabel l, Graphics g, String s, int textX, int textY) { g.setColor(l.getForeground()); - SwingUtilities2.drawStringUnderlineCharAt(l, g, s, mnemIndex, textX, textY); + paintText(l, g, s, textX, textY); } @Override - protected void paintDisabledText(final JLabel l, final Graphics g, final String s, final int textX, final int textY) { - int mnemIndex = l.getDisplayedMnemonicIndex(); - if (isMnemonicHidden()) { - mnemIndex = -1; - } - + protected void paintDisabledText(JLabel l, Graphics g, String s, int textX, int textY) { g.setColor(UIManager.getColor("Label.disabledForeground")); + paintText(l, g, s, textX, textY); + } + + private static void paintText(JLabel l, Graphics g, String s, int textX, int textY) { + int mnemIndex = DarculaLaf.isAltPressed() ? l.getDisplayedMnemonicIndex() : -1; SwingUtilities2.drawStringUnderlineCharAt(l, g, s, mnemIndex, textX, textY); } - - private static boolean isMnemonicHidden() { - if (UIManager.getBoolean("Button.showMnemonics")) { - isMnemonicHidden = false; - } - return isMnemonicHidden; - } }