From c588d9c992ece5ef3a7eab50611516a73b66cfd7 Mon Sep 17 00:00:00 2001 From: Konstantin Kolosovsky Date: Thu, 25 Jul 2013 18:03:25 +0400 Subject: [PATCH] IDEA-110016 Fixed font for tree cell renderer - so clickable area corresponds to rendered text --- .../src/com/intellij/ui/ColoredTreeCellRenderer.java | 9 +++++++++ .../changes/committed/CommittedChangeListRenderer.java | 5 ++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/platform/platform-api/src/com/intellij/ui/ColoredTreeCellRenderer.java b/platform/platform-api/src/com/intellij/ui/ColoredTreeCellRenderer.java index b7a58c165c04..d7e66ea8546b 100644 --- a/platform/platform-api/src/com/intellij/ui/ColoredTreeCellRenderer.java +++ b/platform/platform-api/src/com/intellij/ui/ColoredTreeCellRenderer.java @@ -142,6 +142,15 @@ public abstract class ColoredTreeCellRenderer extends SimpleColoredComponent imp super.setOpaque(isOpaque); } + @Override + public Font getFont() { + Font font = super.getFont(); + + // Cell renderers could have no parent and no explicit set font. + // Take tree font in this case. + return font != null ? font : getTree().getFont(); + } + /** * When the item is selected then we use default tree's selection foreground. * It guaranties readability of selected text in any LAF. diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/committed/CommittedChangeListRenderer.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/committed/CommittedChangeListRenderer.java index 8bf3e6c5a9f1..6493ac1537d3 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/committed/CommittedChangeListRenderer.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/committed/CommittedChangeListRenderer.java @@ -37,7 +37,6 @@ import java.util.Date; import java.util.List; public class CommittedChangeListRenderer extends ColoredTreeCellRenderer { - private static final SimpleTextAttributes LINK_ATTRIBUTES = new SimpleTextAttributes(SimpleTextAttributes.STYLE_UNDERLINE, Color.blue); private final IssueLinkRenderer myRenderer; private final List myDecorators; private final Project myProject; @@ -153,9 +152,9 @@ public class CommittedChangeListRenderer extends ColoredTreeCellRenderer { myRenderer.appendTextWithLinks(description); if (!StringUtil.isEmpty(description)) { append(" ", SimpleTextAttributes.REGULAR_ATTRIBUTES); - append(moreMarker, LINK_ATTRIBUTES, new CommittedChangesTreeBrowser.MoreLauncher(myProject, changeList)); + append(moreMarker, SimpleTextAttributes.LINK_ATTRIBUTES, new CommittedChangesTreeBrowser.MoreLauncher(myProject, changeList)); } else if (remainingWidth > 0) { - append(moreMarker, LINK_ATTRIBUTES, new CommittedChangesTreeBrowser.MoreLauncher(myProject, changeList)); + append(moreMarker, SimpleTextAttributes.LINK_ATTRIBUTES, new CommittedChangesTreeBrowser.MoreLauncher(myProject, changeList)); } // align value is for the latest added piece appendFixedTextFragmentWidth(descMaxWidth);