IDEA-96532 (Orders in Severities Editor and in Severity Chooser are opposite)

This commit is contained in:
Bas Leijdekkers
2016-06-23 14:51:19 +02:00
parent 78b84acd0f
commit 368aa2f5ca
3 changed files with 14 additions and 20 deletions
@@ -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<HighlightSeverity> getSeverities(final SeverityRegistrar severityRegistrar) {
public static List<HighlightSeverity> getSeverities(final SeverityRegistrar severityRegistrar) {
return getSeverities(severityRegistrar, true);
}
public static SortedSet<HighlightSeverity> getSeverities(final SeverityRegistrar severityRegistrar,
boolean includeDoNotShow) {
final SortedSet<HighlightSeverity> severities = new TreeSet<HighlightSeverity>(severityRegistrar);
public static List<HighlightSeverity> getSeverities(final SeverityRegistrar severityRegistrar,
boolean includeDoNotShow) {
final List<HighlightSeverity> severities = new ArrayList<HighlightSeverity>();
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;
}
@@ -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<HighlightSeverity> severities = LevelChooserAction.getSeverities(mySeverityRegistrar);
for (final HighlightSeverity severity : severities) {
for (final HighlightSeverity severity : LevelChooserAction.getSeverities(mySeverityRegistrar)) {
add(new ShowWithSpecifiedSeverityInspectionsAction(severity));
}
addSeparator();
@@ -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<SeverityState> {
}
public static SeverityRenderer create(final InspectionProfileImpl inspectionProfile, @Nullable final Runnable onClose) {
final SortedSet<HighlightSeverity> severities =
final List<HighlightSeverity> severities =
LevelChooserAction.getSeverities(((SeverityProvider)inspectionProfile.getProfileManager()).getOwnSeverityRegistrar());
return new SeverityRenderer(ContainerUtil.map2Array(severities, new SeverityState[severities.size()], severity -> new SeverityState(severity, true, false)), onClose);
}