From df9704410aabfb5832856c8a269a4222fe38565d Mon Sep 17 00:00:00 2001 From: Julia Beliaeva Date: Fri, 3 Jul 2015 23:24:26 +0300 Subject: [PATCH] [vcs-log] do not show current branch highlighting if filtered by current branch --- .../vcs/log/ui/CurrentBranchHighlighter.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/CurrentBranchHighlighter.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/CurrentBranchHighlighter.java index 1b1d4788666e..0dc206167487 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/CurrentBranchHighlighter.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/CurrentBranchHighlighter.java @@ -24,15 +24,20 @@ import com.intellij.vcs.log.data.VcsLogUiProperties; import org.jetbrains.annotations.NotNull; import java.awt.*; +import java.util.Collections; public class CurrentBranchHighlighter implements VcsLogHighlighter { private static final JBColor CURRENT_BRANCH_BG = new JBColor(new Color(228, 250, 255), new Color(63, 71, 73)); @NotNull private final VcsLogUiProperties myUiProperties; @NotNull private final VcsLogDataHolder myDataHolder; + @NotNull private final VcsLogFilterUi myFilterUi; - public CurrentBranchHighlighter(@NotNull VcsLogDataHolder logDataHolder, @NotNull VcsLogUiProperties uiProperties) { + public CurrentBranchHighlighter(@NotNull VcsLogDataHolder logDataHolder, + @NotNull VcsLogUiProperties uiProperties, + @NotNull VcsLogFilterUi filterUi) { myDataHolder = logDataHolder; myUiProperties = uiProperties; + myFilterUi = filterUi; } @NotNull @@ -43,7 +48,9 @@ public class CurrentBranchHighlighter implements VcsLogHighlighter { if (details != null && !(details instanceof LoadingDetails)) { VcsLogProvider provider = myDataHolder.getLogProvider(details.getRoot()); String currentBranch = provider.getCurrentBranch(details.getRoot()); - if (currentBranch != null) { + VcsLogBranchFilter branchFilter = myFilterUi.getFilters().getBranchFilter(); + if (currentBranch != null && + (branchFilter == null || !Collections.singleton(currentBranch).containsAll(branchFilter.getBranchNames()))) { Condition condition = myDataHolder.getContainingBranchesGetter().getContainedInBranchCondition(currentBranch, details.getRoot()); if (condition.value(details.getId())) { return VcsCommitStyleFactory.background(CURRENT_BRANCH_BG); @@ -60,7 +67,7 @@ public class CurrentBranchHighlighter implements VcsLogHighlighter { @NotNull @Override public VcsLogHighlighter createHighlighter(@NotNull VcsLogDataHolder logDataHolder, @NotNull VcsLogUiProperties uiProperties, @NotNull VcsLogFilterUi filterUi) { - return new CurrentBranchHighlighter(logDataHolder, uiProperties); + return new CurrentBranchHighlighter(logDataHolder, uiProperties, filterUi); } @NotNull