diff --git a/platform/platform-api/src/com/intellij/ui/HyperlinkLabel.java b/platform/platform-api/src/com/intellij/ui/HyperlinkLabel.java index 3dec125ac557..32dba0682118 100644 --- a/platform/platform-api/src/com/intellij/ui/HyperlinkLabel.java +++ b/platform/platform-api/src/com/intellij/ui/HyperlinkLabel.java @@ -35,6 +35,7 @@ import java.util.List; public class HyperlinkLabel extends HighlightableComponent { private HighlightedText myHighlightedText; private final List myListeners = new ArrayList(); + private boolean myUseIconAsLink; private final Color myTextForegroundColor; private final Color myTextBackgroundColor; private final Color myTextEffectColor; @@ -62,6 +63,7 @@ public class HyperlinkLabel extends HighlightableComponent { } public void setHyperlinkText(String text) { + myUseIconAsLink = true; setHyperlinkText("", text, ""); } @@ -71,6 +73,10 @@ public class HyperlinkLabel extends HighlightableComponent { adjustSize(); } + public void setUseIconAsLink(boolean useIconAsLink) { + myUseIconAsLink = useIconAsLink; + } + private void adjustSize() { final Dimension preferredSize = this.getPreferredSize(); this.setMinimumSize(preferredSize); @@ -96,6 +102,9 @@ public class HyperlinkLabel extends HighlightableComponent { } private boolean isOnLink(int x) { + if (myUseIconAsLink && myIcon != null && x < myIcon.getIconWidth()) { + return true; + } return findRegionByX(x) != null; }