From 368aa2f5ca942720b271fba394eb48a635e3e8d0 Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Thu, 23 Jun 2016 14:43:21 +0200 Subject: [PATCH] IDEA-96532 (Orders in Severities Editor and in Severity Chooser are opposite) --- .../codeInspection/ui/LevelChooserAction.java | 22 ++++++++----------- .../ui/filter/InspectionFilterAction.java | 5 ++--- .../ui/table/SeverityRenderer.java | 7 +++--- 3 files changed, 14 insertions(+), 20 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/LevelChooserAction.java b/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/LevelChooserAction.java index 660d7b4fb1b2..0920f870d296 100644 --- a/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/LevelChooserAction.java +++ b/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/LevelChooserAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2014 JetBrains s.r.o. + * Copyright 2000-2016 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,7 +19,6 @@ import com.intellij.codeHighlighting.HighlightDisplayLevel; import com.intellij.codeInsight.daemon.impl.HighlightInfoType; import com.intellij.codeInsight.daemon.impl.SeverityRegistrar; import com.intellij.codeInsight.daemon.impl.SeverityUtil; -import com.intellij.codeInspection.ex.InspectionProfileImpl; import com.intellij.codeInspection.ex.SeverityEditorDialog; import com.intellij.lang.annotation.HighlightSeverity; import com.intellij.openapi.actionSystem.AnActionEvent; @@ -28,13 +27,13 @@ import com.intellij.openapi.actionSystem.Presentation; import com.intellij.openapi.actionSystem.ex.ComboBoxAction; import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.project.DumbAwareAction; -import com.intellij.profile.codeInspection.SeverityProvider; import com.intellij.profile.codeInspection.ui.table.SeverityRenderer; import org.jetbrains.annotations.NotNull; import javax.swing.*; -import java.util.SortedSet; -import java.util.TreeSet; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; /** * @author Dmitry Batkovich @@ -83,23 +82,20 @@ public abstract class LevelChooserAction extends ComboBoxAction implements DumbA return group; } - public static SortedSet getSeverities(final SeverityRegistrar severityRegistrar) { + public static List getSeverities(final SeverityRegistrar severityRegistrar) { return getSeverities(severityRegistrar, true); } - public static SortedSet getSeverities(final SeverityRegistrar severityRegistrar, - boolean includeDoNotShow) { - final SortedSet severities = new TreeSet(severityRegistrar); + public static List getSeverities(final SeverityRegistrar severityRegistrar, + boolean includeDoNotShow) { + final List severities = new ArrayList(); for (final SeverityRegistrar.SeverityBasedTextAttributes type : SeverityUtil.getRegisteredHighlightingInfoTypes(severityRegistrar)) { severities.add(type.getSeverity()); } - severities.add(HighlightSeverity.ERROR); - severities.add(HighlightSeverity.WARNING); - severities.add(HighlightSeverity.WEAK_WARNING); - severities.add(HighlightSeverity.GENERIC_SERVER_ERROR_OR_WARNING); if (includeDoNotShow) { severities.add(HighlightSeverity.INFORMATION); } + Collections.sort(severities, (a, b) -> -severityRegistrar.compare(a, b)); return severities; } diff --git a/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/filter/InspectionFilterAction.java b/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/filter/InspectionFilterAction.java index 9db40ed9ea99..d17160502620 100644 --- a/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/filter/InspectionFilterAction.java +++ b/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/filter/InspectionFilterAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2015 JetBrains s.r.o. + * Copyright 2000-2016 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -82,8 +82,7 @@ public class InspectionFilterAction extends DefaultActionGroup implements Toggle addAction(new ShowOnlyModifiedInspectionsAction()); addSeparator(); - final SortedSet severities = LevelChooserAction.getSeverities(mySeverityRegistrar); - for (final HighlightSeverity severity : severities) { + for (final HighlightSeverity severity : LevelChooserAction.getSeverities(mySeverityRegistrar)) { add(new ShowWithSpecifiedSeverityInspectionsAction(severity)); } addSeparator(); diff --git a/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/table/SeverityRenderer.java b/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/table/SeverityRenderer.java index 5db2970d8d9f..b8fea3dec0f6 100644 --- a/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/table/SeverityRenderer.java +++ b/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/table/SeverityRenderer.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2014 JetBrains s.r.o. + * Copyright 2000-2016 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,7 +23,6 @@ import com.intellij.openapi.ui.popup.LightweightWindowEvent; import com.intellij.profile.codeInspection.SeverityProvider; import com.intellij.profile.codeInspection.ui.LevelChooserAction; import com.intellij.profile.codeInspection.ui.SingleInspectionProfilePanel; -import com.intellij.util.Function; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.ui.ColorIcon; import com.intellij.util.ui.UIUtil; @@ -33,7 +32,7 @@ import org.jetbrains.annotations.Nullable; import javax.swing.*; import java.awt.event.MouseEvent; import java.util.EventObject; -import java.util.SortedSet; +import java.util.List; /** * @author Dmitry Batkovich @@ -49,7 +48,7 @@ public class SeverityRenderer extends ComboBoxTableRenderer { } public static SeverityRenderer create(final InspectionProfileImpl inspectionProfile, @Nullable final Runnable onClose) { - final SortedSet severities = + final List severities = LevelChooserAction.getSeverities(((SeverityProvider)inspectionProfile.getProfileManager()).getOwnSeverityRegistrar()); return new SeverityRenderer(ContainerUtil.map2Array(severities, new SeverityState[severities.size()], severity -> new SeverityState(severity, true, false)), onClose); }