From e207c327a0b5f94642a8ba97d4e6d3a020b39304 Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Tue, 27 Mar 2012 12:12:53 +0400 Subject: [PATCH] displaying mnemonics fixed for IdeaTitledBorder (actually they do not work here) (cherry picked from commit 591c2cf) --- .../src/com/intellij/ui/border/IdeaTitledBorder.java | 9 ++++++++- .../src/com/intellij/util/ui/DialogUtil.java | 5 +++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/platform/platform-api/src/com/intellij/ui/border/IdeaTitledBorder.java b/platform/platform-api/src/com/intellij/ui/border/IdeaTitledBorder.java index 4d5cf2d20b6b..f1f86b754ab1 100644 --- a/platform/platform-api/src/com/intellij/ui/border/IdeaTitledBorder.java +++ b/platform/platform-api/src/com/intellij/ui/border/IdeaTitledBorder.java @@ -1,6 +1,7 @@ package com.intellij.ui.border; import com.intellij.ui.TitledSeparator; +import com.intellij.util.ui.DialogUtil; import com.intellij.util.ui.UIUtil; import javax.swing.*; @@ -20,19 +21,25 @@ public class IdeaTitledBorder extends TitledBorder { super(title); titledSeparator = new TitledSeparator(title); titledSeparator.setText(title); + DialogUtil.registerMnemonic(titledSeparator.getLabel(), null); this.outsideInsets = new Insets(insets.top, insets.left, insets.bottom, insets.right); this.insideInsets = new Insets(TitledSeparator.BOTTOM_INSET, indent, 0, 0); } + @Override + public void setTitle(String title) { + super.setTitle(title); + titledSeparator.setText(title); + } + @Override public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) { int labelX = x + outsideInsets.left; int labelY = y + outsideInsets.top; TitledSeparator titledSeparator = getTitledSeparator(c); - titledSeparator.setText(title); JLabel label = titledSeparator.getLabel(); Dimension labelSize = label.getPreferredSize(); label.setSize(labelSize); diff --git a/platform/platform-api/src/com/intellij/util/ui/DialogUtil.java b/platform/platform-api/src/com/intellij/util/ui/DialogUtil.java index 27f0ac706660..6a04e529ffaa 100644 --- a/platform/platform-api/src/com/intellij/util/ui/DialogUtil.java +++ b/platform/platform-api/src/com/intellij/util/ui/DialogUtil.java @@ -16,6 +16,7 @@ package com.intellij.util.ui; import com.intellij.ide.ui.UISettings; +import org.jetbrains.annotations.Nullable; import javax.swing.*; @@ -66,7 +67,7 @@ public class DialogUtil{ } } - public static void registerMnemonic(JLabel label, JComponent target) { + public static void registerMnemonic(JLabel label, @Nullable JComponent target) { registerMnemonic(label, target, UIUtil.MNEMONIC); } @@ -76,7 +77,7 @@ public class DialogUtil{ * @param mn mnemonic char * @since 11.0 */ - public static void registerMnemonic(JLabel label, JComponent target, char mn) { + public static void registerMnemonic(JLabel label, @Nullable JComponent target, char mn) { String text = label.getText(); if (text != null) { final StringBuilder realText = new StringBuilder(text.length());