From 525621ccaa50bfd85182a20e36a3f192ab9626b2 Mon Sep 17 00:00:00 2001 From: Julia Beliaeva Date: Fri, 29 Sep 2017 18:48:39 +0300 Subject: [PATCH] [vcs-log] do not show icon for show details action in quick settings In quick settings icon conflicts with the check mark. --- .../vcs/log/ui/VcsLogActionPlaces.java | 1 + .../vcs/log/ui/actions/ShowDetailsAction.java | 23 ++++++++++++++++++- .../log/ui/actions/VcsLogGearActionGroup.java | 4 ++-- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsLogActionPlaces.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsLogActionPlaces.java index be50435e76bc..4cad9339a015 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsLogActionPlaces.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsLogActionPlaces.java @@ -30,6 +30,7 @@ public class VcsLogActionPlaces { public static final String VCS_LOG_TOOLBAR_PLACE = "Vcs.Log.Toolbar"; public static final String VCS_HISTORY_PLACE = "Vcs.FileHistory.ContextMenu"; public static final String VCS_HISTORY_TOOLBAR_PLACE = "Vcs.FileHistory.Toolbar"; + public static final String VCS_LOG_GEAR_POPUP_PLACE = "Vcs.Log.Gear.Popup"; // action ids public static final String VCS_LOG_INTELLI_SORT_ACTION = "Vcs.Log.IntelliSortChooser"; diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/actions/ShowDetailsAction.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/actions/ShowDetailsAction.java index 5d26389807de..1a9c8a932116 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/actions/ShowDetailsAction.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/actions/ShowDetailsAction.java @@ -16,17 +16,38 @@ package com.intellij.vcs.log.ui.actions; import com.intellij.icons.AllIcons; +import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.vcs.log.impl.CommonUiProperties; import com.intellij.vcs.log.impl.VcsLogUiProperties; +import com.intellij.vcs.log.ui.VcsLogActionPlaces; +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; public class ShowDetailsAction extends BooleanPropertyToggleAction { public ShowDetailsAction() { - super("Show Details", "Display details panel", AllIcons.Actions.Preview); + super("Show Details", "Display details panel", getIcon()); } @Override protected VcsLogUiProperties.VcsLogUiProperty getProperty() { return CommonUiProperties.SHOW_DETAILS; } + + @Override + public void update(@NotNull AnActionEvent e) { + if (e.getPlace().equals(VcsLogActionPlaces.VCS_LOG_GEAR_POPUP_PLACE)) { + e.getPresentation().setIcon(null); + } else { + e.getPresentation().setIcon(getIcon()); + } + + super.update(e); + } + + @NotNull + private static Icon getIcon() { + return AllIcons.Actions.Preview; + } } diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/actions/VcsLogGearActionGroup.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/actions/VcsLogGearActionGroup.java index 57302ec94c1f..a16fd36dbd33 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/actions/VcsLogGearActionGroup.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/actions/VcsLogGearActionGroup.java @@ -23,9 +23,9 @@ import com.intellij.openapi.project.DumbAwareAction; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.popup.JBPopupFactory; import com.intellij.openapi.ui.popup.ListPopup; -import com.intellij.openapi.wm.impl.content.ToolWindowContentUi; import com.intellij.vcs.log.VcsLogDataKeys; import com.intellij.vcs.log.VcsLogUi; +import com.intellij.vcs.log.ui.VcsLogActionPlaces; import org.jetbrains.annotations.NotNull; import java.awt.*; @@ -44,7 +44,7 @@ public class VcsLogGearActionGroup extends DumbAwareAction { ListPopup popup = JBPopupFactory.getInstance() .createActionGroupPopup(null, group, e.getDataContext(), JBPopupFactory.ActionSelectionAid.MNEMONICS, true, - ToolWindowContentUi.POPUP_PLACE); + VcsLogActionPlaces.VCS_LOG_GEAR_POPUP_PLACE); Component component = e.getInputEvent().getComponent(); if (component instanceof ActionButtonComponent) { popup.showUnderneathOf(component);