diff --git a/platform/dvcs-impl/src/com/intellij/dvcs/actions/SetRepositoryChangesGroupingAction.kt b/platform/dvcs-impl/src/com/intellij/dvcs/actions/SetRepositoryChangesGroupingAction.kt index 1de2a4f9eb40..4a1f8bec953c 100644 --- a/platform/dvcs-impl/src/com/intellij/dvcs/actions/SetRepositoryChangesGroupingAction.kt +++ b/platform/dvcs-impl/src/com/intellij/dvcs/actions/SetRepositoryChangesGroupingAction.kt @@ -12,6 +12,6 @@ class SetRepositoryChangesGroupingAction : SetChangesGroupingAction() { override fun update(e: AnActionEvent): Unit = super.update(e).also { val colorManager = e.project?.let(::getColorManager) - e.presentation.isEnabledAndVisible = e.presentation.isEnabledAndVisible && colorManager?.isMultipleRoots ?: false + e.presentation.isEnabledAndVisible = e.presentation.isEnabledAndVisible && colorManager?.hasMultiplePaths() ?: false } } \ No newline at end of file diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/statistics/VcsLogFeaturesCollector.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/statistics/VcsLogFeaturesCollector.java index 4b7f62f5ac7a..b0f9b1f0b0c4 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/statistics/VcsLogFeaturesCollector.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/statistics/VcsLogFeaturesCollector.java @@ -44,7 +44,7 @@ public class VcsLogFeaturesCollector extends ProjectUsagesCollector { addEnumUsage(properties, defaultProperties, usages, "sort", BEK_SORT_TYPE); - if (ui.getColorManager().isMultipleRoots()) { + if (ui.getColorManager().hasMultiplePaths()) { addBooleanUsage(properties, defaultProperties, usages, "roots", CommonUiProperties.SHOW_ROOT_NAMES); } diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsLogColorManager.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsLogColorManager.java index 1e479eb29cd6..b45c144d5268 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsLogColorManager.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsLogColorManager.java @@ -32,7 +32,9 @@ public interface VcsLogColorManager { /** * Tells if there are several paths currently shown in the log. */ - boolean isMultipleRoots(); + default boolean hasMultiplePaths() { + return getPaths().size() > 1; + } /** * Returns paths managed by this manager. diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsLogColorManagerImpl.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsLogColorManagerImpl.java index d81861cd878b..0487293feab2 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsLogColorManagerImpl.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsLogColorManagerImpl.java @@ -56,12 +56,7 @@ public class VcsLogColorManagerImpl implements VcsLogColorManager { public static JBColor getBackgroundColor(@NotNull final Color baseRootColor) { return new JBColor(() -> ColorUtil.mix(baseRootColor, UIUtil.getTableBackground(), 0.75)); } - - @Override - public boolean isMultipleRoots() { - return myPaths2Colors.size() > 1; - } - + @NotNull @Override public Color getPathColor(@NotNull FilePath path) { diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/actions/GoToHashOrRefPopup.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/actions/GoToHashOrRefPopup.java index 2f2e2802307a..6110c8e163d6 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/actions/GoToHashOrRefPopup.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/actions/GoToHashOrRefPopup.java @@ -149,7 +149,7 @@ public class GoToHashOrRefPopup { @Override public LookupElementBuilder createLookupBuilder(@NotNull VcsRef item) { LookupElementBuilder lookupBuilder = super.createLookupBuilder(item); - if (myColorManager.isMultipleRoots()) { + if (myColorManager.hasMultiplePaths()) { ColorIcon icon = JBUI.scale(new ColorIcon(15, VcsLogGraphTable.getRootBackgroundColor(item.getRoot(), myColorManager))); lookupBuilder = lookupBuilder.withTypeText(getTypeText(item), icon, true).withTypeIconRightAligned(true); } @@ -165,14 +165,14 @@ public class GoToHashOrRefPopup { @Nullable @Override protected String getTailText(@NotNull VcsRef item) { - if (!myColorManager.isMultipleRoots()) return null; + if (!myColorManager.hasMultiplePaths()) return null; return ""; } @Nullable @Override protected String getTypeText(@NotNull VcsRef item) { - if (!myColorManager.isMultipleRoots()) return null; + if (!myColorManager.hasMultiplePaths()) return null; String text = myCachedRootNames.get(item.getRoot()); if (text == null) { return VcsImplUtil.getShortVcsRootName(myProject, item.getRoot()); diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/actions/ShowRootsColumnAction.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/actions/ShowRootsColumnAction.java index 04f86835cc9a..6591be298f65 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/actions/ShowRootsColumnAction.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/actions/ShowRootsColumnAction.java @@ -38,6 +38,6 @@ public class ShowRootsColumnAction extends BooleanPropertyToggleAction { public void update(@NotNull AnActionEvent e) { super.update(e); VcsLogUi ui = e.getData(VcsLogDataKeys.VCS_LOG_UI); - if (ui == null || !((AbstractVcsLogUi)ui).getColorManager().isMultipleRoots()) e.getPresentation().setEnabledAndVisible(false); + if (ui == null || !((AbstractVcsLogUi)ui).getColorManager().hasMultiplePaths()) e.getPresentation().setEnabledAndVisible(false); } } diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/filter/StructureFilterPopupComponent.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/filter/StructureFilterPopupComponent.java index f9c82618117a..874dbb1b71ee 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/filter/StructureFilterPopupComponent.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/filter/StructureFilterPopupComponent.java @@ -176,7 +176,7 @@ class StructureFilterPopupComponent extends FilterPopupComponent roots = getAllRoots(); List rootActions = new ArrayList<>(); - if (myColorManager.isMultipleRoots()) { + if (myColorManager.hasMultiplePaths()) { for (VirtualFile root : ContainerUtil.sorted(roots, FILE_BY_NAME_COMPARATOR)) { rootActions.add(new SelectVisibleRootAction(root)); } diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/CommitPanel.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/CommitPanel.java index e1242d9b7c37..2bdb3cbc60e5 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/CommitPanel.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/CommitPanel.java @@ -298,7 +298,7 @@ public class CommitPanel extends JBPanel { } public void setRoot(@NotNull VirtualFile root) { - if (myColorManager.isMultipleRoots()) { + if (myColorManager.hasMultiplePaths()) { JBColor color = VcsLogGraphTable.getRootBackgroundColor(root, myColorManager); myIcon = JBUI.scale(new ColorIcon(ROOT_ICON_SIZE, color)); myTooltipText = root.getPath(); diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/table/GraphTableController.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/table/GraphTableController.java index 4bf7885de12e..baf185ab5389 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/table/GraphTableController.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/table/GraphTableController.java @@ -162,7 +162,7 @@ public class GraphTableController { CommitId commitId = myLogData.getCommitId(commit); if (commitId != null) { balloonText = "Jump to commit" + " " + commitId.getHash().toShortString(); - if (myColorManager.isMultipleRoots()) { + if (myColorManager.hasMultiplePaths()) { balloonText += " in " + commitId.getRoot().getName(); } } @@ -208,7 +208,7 @@ public class GraphTableController { } private void performRootColumnAction() { - if (myColorManager.isMultipleRoots() && myProperties.exists(CommonUiProperties.SHOW_ROOT_NAMES)) { + if (myColorManager.hasMultiplePaths() && myProperties.exists(CommonUiProperties.SHOW_ROOT_NAMES)) { VcsLogUsageTriggerCollector.triggerUsage("RootColumnClick"); myProperties.set(CommonUiProperties.SHOW_ROOT_NAMES, !myProperties.get(CommonUiProperties.SHOW_ROOT_NAMES)); } diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/table/VcsLogGraphTable.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/table/VcsLogGraphTable.java index 3961696cacc7..ecb788c95e02 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/table/VcsLogGraphTable.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/table/VcsLogGraphTable.java @@ -398,7 +398,7 @@ public class VcsLogGraphTable extends TableWithProgress implements DataProvider, private void setRootColumnSize() { TableColumn column = getRootColumn(); int rootWidth; - if (!myColorManager.isMultipleRoots()) { + if (!myColorManager.hasMultiplePaths()) { rootWidth = 0; } else if (!isShowRootNames()) { @@ -669,7 +669,7 @@ public class VcsLogGraphTable extends TableWithProgress implements DataProvider, if (lastRow >= 0) { g.setColor(getStyle(lastRow, convertColumnIndexToView(COMMIT_COLUMN), hasFocus(), false).getBackground()); g.fillRect(x, y, width, height); - if (myColorManager.isMultipleRoots()) { + if (myColorManager.hasMultiplePaths()) { g.setColor(getPathBackgroundColor((FilePath)getModel().getValueAt(lastRow, ROOT_COLUMN), myColorManager)); int rootWidth = getRootColumn().getWidth();