[coverage] Clean up HideCoverageInfoAction

GitOrigin-RevId: 37352acc2652f3bd6198b55f9eb5aedc6a56bc11
This commit is contained in:
Maksim Zuev
2024-09-10 10:04:17 +02:00
committed by intellij-monorepo-bot
parent e52c7130f3
commit c0bc2d78a8
2 changed files with 11 additions and 32 deletions

View File

@@ -14,8 +14,6 @@ coverage.data.show.selected.button=Show Selected
coverage.do.not.apply.collected.coverage=Do Not Apply &Collected Coverage
coverage.edit.colors.action.name=Edit Coverage Colors
coverage.edit.colors.description=Edit coverage colors
coverage.hide.coverage.action.description=Hide coverage data
coverage.hide.coverage.action.name=Hide coverage
coverage.next.change.fully.covered=Fully Covered
coverage.next.change.partial.covered=Partial Covered
coverage.next.change.uncovered=Uncovered
@@ -103,4 +101,7 @@ action.ImportCoverage.description=Import a report collected in CI from disk
action.GenerateCoverageReport.text=_Generate Coverage Report\u2026
action.GenerateCoverageReport.description=Export coverage report to HTML
action.SwitchCoverage.text=Manage Coverage Reports\u2026
action.SwitchCoverage.description=Inspect previously opened coverage reports
action.SwitchCoverage.description=Inspect previously opened coverage reports
action.HideCoverage.text=Hide Coverage
action.HideCoverage.description=Close all opened coverage reports
coverage.hide.coverage.link.name=Hide coverage

View File

@@ -12,7 +12,6 @@ import com.intellij.openapi.roots.ui.configuration.actions.IconWithTextAction;
import com.intellij.ui.components.labels.LinkLabel;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.util.Collection;
@@ -20,17 +19,6 @@ import java.util.Objects;
@ApiStatus.Internal
public class HideCoverageInfoAction extends IconWithTextAction {
@Nullable private final CoverageSuitesBundle myCoverageSuite;
public HideCoverageInfoAction() {
this(null);
}
public HideCoverageInfoAction(@Nullable CoverageSuitesBundle bundle) {
super(CoverageBundle.messagePointer("coverage.hide.coverage.action.name"),
CoverageBundle.messagePointer("coverage.hide.coverage.action.description"), null);
myCoverageSuite = bundle;
}
@Override
public void actionPerformed(@NotNull final AnActionEvent e) {
@@ -38,22 +26,17 @@ public class HideCoverageInfoAction extends IconWithTextAction {
doAction(project);
}
private void doAction(Project project) {
private static void doAction(Project project) {
CoverageDataManager manager = CoverageDataManager.getInstance(project);
if (myCoverageSuite == null) {
for (CoverageSuitesBundle bundle : manager.activeSuites()) {
manager.closeSuitesBundle(bundle);
}
}
else {
manager.closeSuitesBundle(myCoverageSuite);
for (CoverageSuitesBundle bundle : manager.activeSuites()) {
manager.closeSuitesBundle(bundle);
}
}
@NotNull
@Override
public JComponent createCustomComponent(@NotNull Presentation presentation, @NotNull String place) {
return new LinkLabel(presentation.getText(), null) {
return new LinkLabel<>(CoverageBundle.message("coverage.hide.coverage.link.name"), null) {
@Override
public void doClick() {
DataContext dataContext = DataManager.getInstance().getDataContext(this);
@@ -71,14 +54,9 @@ public class HideCoverageInfoAction extends IconWithTextAction {
@Override
public void update(@NotNull AnActionEvent e) {
final Presentation presentation = e.getPresentation();
presentation.setEnabled(false);
presentation.setVisible(e.isFromActionToolbar());
final Project project = e.getProject();
if (project != null) {
Collection<CoverageSuitesBundle> activeSuites = CoverageDataManager.getInstance(project).activeSuites();
boolean enabled = myCoverageSuite == null ? !activeSuites.isEmpty() : activeSuites.contains(myCoverageSuite);
presentation.setEnabledAndVisible(enabled);
}
if (project == null) return;
Collection<CoverageSuitesBundle> activeSuites = CoverageDataManager.getInstance(project).activeSuites();
e.getPresentation().setEnabledAndVisible(!activeSuites.isEmpty());
}
}