From 4e5c53992aa23e658561dbc6a4256f1f6529c363 Mon Sep 17 00:00:00 2001 From: Alexander Kirillin Date: Tue, 10 Apr 2012 20:36:59 +0400 Subject: [PATCH] Provided a way not to show some inspections in the inspections profile view --- .../com/intellij/codeInspection/ex/Descriptor.java | 14 ++++++++++++++ .../codeInspection/ex/InspectionProfileImpl.java | 4 ---- .../ui/SingleInspectionProfilePanel.java | 12 +++--------- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInspection/ex/Descriptor.java b/platform/lang-impl/src/com/intellij/codeInspection/ex/Descriptor.java index 8f3d92c65875..49de7ada2039 100644 --- a/platform/lang-impl/src/com/intellij/codeInspection/ex/Descriptor.java +++ b/platform/lang-impl/src/com/intellij/codeInspection/ex/Descriptor.java @@ -19,6 +19,7 @@ package com.intellij.codeInspection.ex; import com.intellij.codeHighlighting.HighlightDisplayLevel; import com.intellij.codeInsight.daemon.HighlightDisplayKey; import com.intellij.codeInspection.InspectionProfileEntry; +import com.intellij.codeInspection.LocalDummyInspectionTool; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.WriteExternalException; import com.intellij.psi.search.scope.packageSet.NamedScope; @@ -43,6 +44,7 @@ public class Descriptor { private static final Logger LOG = Logger.getInstance("#com.intellij.codeInspection.ex.Descriptor"); private final ScopeToolState myState; private final InspectionProfileImpl myInspectionProfile; + private boolean myShouldBeShown = true; public Descriptor(ScopeToolState pair, InspectionProfileImpl inspectionProfile) { myState = pair; @@ -56,6 +58,14 @@ public class Descriptor { myEnabled = ((InspectionProfileImpl)inspectionProfile).isToolEnabled(myKey, pair.getScope()); myTool = tool; myScope = pair.getScope(); + + if (tool instanceof InspectionToolWrapper) { + InspectionProfileEntry inspection = ((InspectionToolWrapper)tool).getTool(); + + if (inspection instanceof LocalDummyInspectionTool) { + myShouldBeShown = ((LocalDummyInspectionTool)inspection).shouldBeShownInInspectionProfile(); + } + } } public boolean equals(Object obj) { @@ -80,6 +90,10 @@ public class Descriptor { myEnabled = enabled; } + public boolean shouldBeShown() { + return myShouldBeShown; + } + public String getText() { return myText; } diff --git a/platform/lang-impl/src/com/intellij/codeInspection/ex/InspectionProfileImpl.java b/platform/lang-impl/src/com/intellij/codeInspection/ex/InspectionProfileImpl.java index 42c07c5d5d43..401c3110e0f1 100644 --- a/platform/lang-impl/src/com/intellij/codeInspection/ex/InspectionProfileImpl.java +++ b/platform/lang-impl/src/com/intellij/codeInspection/ex/InspectionProfileImpl.java @@ -444,10 +444,6 @@ public class InspectionProfileImpl extends ProfileEx implements ModifiableModel, return false; } for (InspectionToolWrapper tool : tools) { - if (tool.getTool() instanceof LocalDummyInspectionTool && !((LocalDummyInspectionTool)tool.getTool()).shouldBeShownInInspectionProfile()) { - continue; - } - final String shortName = tool.getShortName(); HighlightDisplayKey key = HighlightDisplayKey.find(shortName); if (key == null) { diff --git a/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/SingleInspectionProfilePanel.java b/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/SingleInspectionProfilePanel.java index c93c098d9f67..a8d9f80553ab 100644 --- a/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/SingleInspectionProfilePanel.java +++ b/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/SingleInspectionProfilePanel.java @@ -21,14 +21,8 @@ import com.intellij.codeHighlighting.HighlightDisplayLevel; import com.intellij.codeInsight.daemon.HighlightDisplayKey; import com.intellij.codeInsight.daemon.impl.HighlightInfoType; import com.intellij.codeInsight.daemon.impl.SeverityRegistrar; -import com.intellij.codeInspection.InspectionProfile; -import com.intellij.codeInspection.InspectionProfileEntry; -import com.intellij.codeInspection.InspectionsBundle; -import com.intellij.codeInspection.ModifiableModel; -import com.intellij.codeInspection.ex.Descriptor; -import com.intellij.codeInspection.ex.InspectionProfileImpl; -import com.intellij.codeInspection.ex.InspectionToolRegistrar; -import com.intellij.codeInspection.ex.ScopeToolState; +import com.intellij.codeInspection.*; +import com.intellij.codeInspection.ex.*; import com.intellij.ide.CommonActionsManager; import com.intellij.ide.DefaultTreeExpander; import com.intellij.ide.IdeTooltipManager; @@ -685,7 +679,7 @@ public class SingleInspectionProfilePanel extends JPanel { keySetList.addAll(SearchUtil.findKeys(filter, quated)); } for (Descriptor descriptor : myDescriptors.keySet()) { - if (filter != null && filter.length() > 0 && !isDescriptorAccepted(descriptor, filter, forceInclude, keySetList, quated)) { + if (!descriptor.shouldBeShown() || filter != null && filter.length() > 0 && !isDescriptorAccepted(descriptor, filter, forceInclude, keySetList, quated)) { continue; } final List nonDefaultTools = mySelectedProfile.getNonDefaultTools(descriptor.getKey().toString());