mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[ui] IJPL-237218 Refactor: use setTitle with escaping in some API classes
Consider action presentation text shouldn't contain HTML. (cherry picked from commit 11a22949b3859e334e70232a9c06ee8da6806e93) IJ-CR-196509 GitOrigin-RevId: 63a897a872ddb7701a059f83242b7cd7bf48f25a
This commit is contained in:
committed by
intellij-monorepo-bot
parent
915ae821fe
commit
4e71849228
@@ -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<String> shortcutSupplier = ClientProperty.get(component, SHORTCUT_PROPERTY);
|
||||
setShortcut(shortcutSupplier == null ? null : shortcutSupplier.get());
|
||||
|
||||
|
||||
+3
-2
@@ -89,8 +89,9 @@ public final class JBListWithOpenInRightSplit<T> extends JBList<T> {
|
||||
|
||||
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();
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user