diff --git a/platform/platform-api/src/com/intellij/ide/HelpTooltipManager.java b/platform/platform-api/src/com/intellij/ide/HelpTooltipManager.java index a0b94c2241c5..f5c8a9b68e29 100644 --- a/platform/platform-api/src/com/intellij/ide/HelpTooltipManager.java +++ b/platform/platform-api/src/com/intellij/ide/HelpTooltipManager.java @@ -3,6 +3,7 @@ package com.intellij.ide; import com.intellij.openapi.util.Key; import com.intellij.openapi.util.NlsSafe; +import com.intellij.openapi.util.text.HtmlChunk; import com.intellij.ui.ClientProperty; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; @@ -20,7 +21,8 @@ public final class HelpTooltipManager extends HelpTooltip { } public void showTooltip(@NotNull JComponent component, @NotNull MouseEvent event) { - setTitle(component.getToolTipText(event)); + String tooltipText = component.getToolTipText(event); + setTitle(tooltipText != null ? HtmlChunk.raw(tooltipText) : null); Supplier shortcutSupplier = ClientProperty.get(component, SHORTCUT_PROPERTY); setShortcut(shortcutSupplier == null ? null : shortcutSupplier.get()); diff --git a/platform/platform-impl/src/com/intellij/ide/actions/ui/JBListWithOpenInRightSplit.java b/platform/platform-impl/src/com/intellij/ide/actions/ui/JBListWithOpenInRightSplit.java index 610cffa29720..d751aee82d26 100644 --- a/platform/platform-impl/src/com/intellij/ide/actions/ui/JBListWithOpenInRightSplit.java +++ b/platform/platform-impl/src/com/intellij/ide/actions/ui/JBListWithOpenInRightSplit.java @@ -89,8 +89,9 @@ public final class JBListWithOpenInRightSplit extends JBList { AnAction action = ActionManager.getInstance().getAction(getActionId()); if (action != null) { - String text = KeymapUtil.getFirstKeyboardShortcutText(action); - myTooltip = new HelpTooltip().setTitle(StringUtil.notNullize(action.getTemplatePresentation().getText())).setShortcut(text); + String tooltipText = StringUtil.notNullize(action.getTemplatePresentation().getText()); + String shortcutText = KeymapUtil.getFirstKeyboardShortcutText(action); + myTooltip = new HelpTooltip().setPlainTextTitle(tooltipText).setShortcut(shortcutText); myTooltip.installOn(this); HelpTooltip.setMasterPopupOpenCondition(this, () -> { return isHovered(); diff --git a/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ActionButton.java b/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ActionButton.java index 8a61008cfdff..99131cf3f9c5 100644 --- a/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ActionButton.java +++ b/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ActionButton.java @@ -37,6 +37,7 @@ import com.intellij.openapi.util.IconLoader; import com.intellij.openapi.util.Key; import com.intellij.openapi.util.NlsContexts; import com.intellij.openapi.util.NlsSafe; +import com.intellij.openapi.util.text.HtmlChunk; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.util.text.Strings; import com.intellij.ui.ExperimentalUI; @@ -480,7 +481,7 @@ public class ActionButton extends JComponent implements ActionButtonComponent, A if (UISettings.isIdeHelpTooltipEnabled()) { HelpTooltip ht = myPresentation.getClientProperty(CUSTOM_HELP_TOOLTIP); if ((Strings.isNotEmpty(text) || Strings.isNotEmpty(description)) && ht == null) { - ht = new HelpTooltip().setTitle(text).setShortcut(getShortcutText()); + ht = new HelpTooltip().setPlainTextTitle(text).setShortcut(getShortcutText()); if (myAction instanceof TooltipLinkProvider) { TooltipLinkProvider.TooltipLink link = ((TooltipLinkProvider)myAction).getTooltipLink(this); if (link != null) { @@ -489,7 +490,7 @@ public class ActionButton extends JComponent implements ActionButtonComponent, A } String id = ActionManager.getInstance().getId(myAction); if (!Objects.equals(text, description) && ((id != null && WHITE_LIST.contains(id)) || myAction instanceof TooltipDescriptionProvider)) { - ht.setDescription(description); + ht.setDescription(HtmlChunk.raw(description)); } } if (ht != null) { diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/SquareStripeButton.kt b/platform/platform-impl/src/com/intellij/openapi/wm/impl/SquareStripeButton.kt index c2ef23bd62b1..ddf4a6ec5d17 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/SquareStripeButton.kt +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/SquareStripeButton.kt @@ -277,7 +277,7 @@ internal class SquareStripeButton(action: SquareAnActionButton, val toolWindow: override fun updateToolTipText() { @Suppress("DialogTitleCapitalization") HelpTooltip() - .setTitle(toolWindow.stripeTitleProvider) + .setPlainTextTitle(toolWindow.stripeTitleProvider) .setLocation(getAlignment(toolWindow.anchor, toolWindow.isSplitMode)) .setShortcut(ActionManager.getInstance().getKeyboardShortcut(ActivateToolWindowAction.Manager.getActionIdForToolWindow(toolWindow.id))) .setInitialDelay(0) diff --git a/platform/platform-impl/src/com/intellij/toolWindow/StripeButton.kt b/platform/platform-impl/src/com/intellij/toolWindow/StripeButton.kt index 7b2f2b33c035..a015869d02f6 100644 --- a/platform/platform-impl/src/com/intellij/toolWindow/StripeButton.kt +++ b/platform/platform-impl/src/com/intellij/toolWindow/StripeButton.kt @@ -98,7 +98,7 @@ class StripeButton internal constructor(@JvmField internal val toolWindow: ToolW private fun updateHelpTooltip() { HelpTooltip.dispose(this) val tooltip = HelpTooltip() - tooltip.setTitle(toolWindow.stripeTitleProvider) + tooltip.setPlainTextTitle(toolWindow.stripeTitleProvider) val activateActionId = ActivateToolWindowAction.Manager.getActionIdForToolWindow(toolWindow.id) tooltip.setShortcut(ActionManager.getInstance().getKeyboardShortcut(activateActionId)) tooltip.installOn(this)