mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-152058 "Run inspection by name" doesn't remember "File name filter" settings
This commit is contained in:
@@ -50,6 +50,7 @@ public class AnalysisUIOptions implements PersistentStateComponent<AnalysisUIOpt
|
||||
private final AutoScrollToSourceHandler myAutoScrollToSourceHandler;
|
||||
public boolean SHOW_ONLY_DIFF = false;
|
||||
public boolean SHOW_STRUCTURE = false;
|
||||
public String FILE_MASK;
|
||||
|
||||
public boolean ANALYSIS_IN_BACKGROUND = true;
|
||||
|
||||
|
||||
@@ -15,16 +15,20 @@
|
||||
*/
|
||||
package com.intellij.codeInspection.actions;
|
||||
|
||||
import com.intellij.analysis.AnalysisUIOptions;
|
||||
import com.intellij.find.impl.FindDialog;
|
||||
import com.intellij.find.impl.FindInProjectUtil;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
/**
|
||||
* @author Dmitry Avdeev
|
||||
@@ -35,8 +39,16 @@ class FileFilterPanel {
|
||||
private JComboBox myFileMask;
|
||||
private JPanel myPanel;
|
||||
|
||||
void init() {
|
||||
void init(AnalysisUIOptions options) {
|
||||
FindDialog.initFileFilter(myFileMask, myUseFileMask);
|
||||
myUseFileMask.setSelected(StringUtil.isNotEmpty(options.FILE_MASK));
|
||||
myFileMask.setEnabled(StringUtil.isNotEmpty(options.FILE_MASK));
|
||||
myUseFileMask.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
options.FILE_MASK = myUseFileMask.isSelected() ? (String)myFileMask.getSelectedItem() : null;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
@@ -128,15 +128,16 @@ public class RunInspectionAction extends GotoActionBase {
|
||||
}
|
||||
}
|
||||
|
||||
final AnalysisUIOptions options = AnalysisUIOptions.getInstance(project);
|
||||
final FileFilterPanel fileFilterPanel = new FileFilterPanel();
|
||||
fileFilterPanel.init();
|
||||
fileFilterPanel.init(options);
|
||||
|
||||
final AnalysisScope initialAnalysisScope = analysisScope;
|
||||
final BaseAnalysisActionDialog dialog = new BaseAnalysisActionDialog(
|
||||
"Run '" + toolWrapper.getDisplayName() + "'",
|
||||
AnalysisScopeBundle.message("analysis.scope.title", InspectionsBundle.message("inspection.action.noun")),
|
||||
project, analysisScope, module != null ? module.getName() : null,
|
||||
true, AnalysisUIOptions.getInstance(project), psiElement) {
|
||||
true, options, psiElement) {
|
||||
|
||||
@Override
|
||||
protected JComponent getAdditionalActionSettings(Project project) {
|
||||
@@ -159,7 +160,7 @@ public class RunInspectionAction extends GotoActionBase {
|
||||
}
|
||||
|
||||
private AnalysisScope getScope() {
|
||||
final AnalysisUIOptions uiOptions = AnalysisUIOptions.getInstance(project);
|
||||
final AnalysisUIOptions uiOptions = options;
|
||||
return getScope(uiOptions, initialAnalysisScope, project, module);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user