From 28fdfc245f80a9e3ada6f9f41232b81810c78614 Mon Sep 17 00:00:00 2001 From: Dmitry Batkovich Date: Tue, 5 Jul 2016 12:52:24 +0300 Subject: [PATCH] inspection toolwindow: do not enable selected profile as active from toolwindow inspection settings IDEA-156825 --- .../ex/EditInspectionToolsSettingsAction.java | 8 +++++++- .../codeInspection/ui/actions/EditSettingsAction.java | 4 ++-- .../ui/header/InspectionToolsConfigurable.java | 6 +++++- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInspection/ex/EditInspectionToolsSettingsAction.java b/platform/lang-impl/src/com/intellij/codeInspection/ex/EditInspectionToolsSettingsAction.java index abebb0c70ec4..4c2331d24b38 100644 --- a/platform/lang-impl/src/com/intellij/codeInspection/ex/EditInspectionToolsSettingsAction.java +++ b/platform/lang-impl/src/com/intellij/codeInspection/ex/EditInspectionToolsSettingsAction.java @@ -104,7 +104,13 @@ public class EditInspectionToolsSettingsAction implements IntentionAction, Icona final ErrorsConfigurable errorsConfigurable; if (!canChooseDifferentProfile) { errorsConfigurable = new ProjectInspectionToolsConfigurable(InspectionProfileManager.getInstance(), - InspectionProjectProfileManager.getInstance(project)); + InspectionProjectProfileManager.getInstance(project)) { + + @Override + protected boolean setActiveProfileAsDefaultOnApply() { + return false; + } + }; } else { errorsConfigurable = ErrorsConfigurable.SERVICE.createConfigurable(project); diff --git a/platform/lang-impl/src/com/intellij/codeInspection/ui/actions/EditSettingsAction.java b/platform/lang-impl/src/com/intellij/codeInspection/ui/actions/EditSettingsAction.java index 87e459aae522..7d62ba9d93e0 100644 --- a/platform/lang-impl/src/com/intellij/codeInspection/ui/actions/EditSettingsAction.java +++ b/platform/lang-impl/src/com/intellij/codeInspection/ui/actions/EditSettingsAction.java @@ -80,7 +80,7 @@ public class EditSettingsAction extends InspectionViewActionBase { if (toolWrapper != null) { final HighlightDisplayKey key = HighlightDisplayKey.find(toolWrapper.getShortName()); //do not search for dead code entry point tool if (key != null) { - if (new EditInspectionToolsSettingsAction(key).editToolSettings(view.getProject(), (InspectionProfileImpl)inspectionProfile, true)) { + if (new EditInspectionToolsSettingsAction(key).editToolSettings(view.getProject(), (InspectionProfileImpl)inspectionProfile, false)) { view.updateCurrentProfile(); } return; @@ -88,7 +88,7 @@ public class EditSettingsAction extends InspectionViewActionBase { } final String[] path = view.getTree().getSelectedGroupPath(); - if (EditInspectionToolsSettingsAction.editSettings(view.getProject(), inspectionProfile, true, (c) -> { + if (EditInspectionToolsSettingsAction.editSettings(view.getProject(), inspectionProfile, false, (c) -> { if (path != null) { c.selectInspectionGroup(path); } diff --git a/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/header/InspectionToolsConfigurable.java b/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/header/InspectionToolsConfigurable.java index a78b00703237..85deb8994189 100644 --- a/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/header/InspectionToolsConfigurable.java +++ b/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/header/InspectionToolsConfigurable.java @@ -162,6 +162,10 @@ public abstract class InspectionToolsConfigurable extends BaseConfigurable myProfiles.getProfilesComboBox().selectProfile(model); } + protected boolean setActiveProfileAsDefaultOnApply() { + return true; + } + @Override public String getDisplayName() { return DISPLAY_NAME; @@ -530,7 +534,7 @@ public abstract class InspectionToolsConfigurable extends BaseConfigurable else { final SingleInspectionProfilePanel panel = getProfilePanel(inspectionProfile); panel.apply(); - if (panel == selectedPanel) { + if (setActiveProfileAsDefaultOnApply() && panel == selectedPanel) { applyRootProfile(panel.getCurrentProfileName(), panel.isProjectLevel()); } }