}
AnalysisScope scope = getInspectionScope(dataContext);
final boolean rememberScope = e.getPlace().equals(ActionPlaces.MAIN_MENU);
final AnalysisUIOptions uiOptions = AnalysisUIOptions.getInstance(project);
final PsiElement element = LangDataKeys.PSI_ELEMENT.getData(dataContext);
final BaseAnalysisActionDialog dlg = new BaseAnalysisActionDialog(AnalysisScopeBundle.message("specify.analysis.scope", "FindBugs Analyze"),
AnalysisScopeBundle.message("analysis.scope.title", "Analyze"),
project,
scope,
module != null && scope.getScopeType() != AnalysisScope.MODULE ? getModuleNameInReadAction(module) : null,
rememberScope, AnalysisUIOptions.getInstance(project), element) {
@Override
@Nullable
protected JComponent getAdditionalActionSettings(final Project project) {
return BaseAnalyzeAction.this.getAdditionalActionSettings(project, this);
}
@Override
protected void doHelpAction() {
HelpManager.getInstance().invokeHelp(getHelpTopic());
}
@SuppressFBWarnings({"RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"})
@NotNull
@Override
protected Action[] createActions() {
return new Action[]{getOKAction(), getCancelAction(), getHelpAction()};
}
};
dlg.show();
if (!dlg.isOK()) {
canceled();
return;
}
final int oldScopeType = uiOptions.SCOPE_TYPE;
scope = dlg.getScope(uiOptions, scope, project, module);
if (!rememberScope) {
uiOptions.SCOPE_TYPE = oldScopeType;
}
uiOptions.ANALYZE_TEST_SOURCES = dlg.isInspectTestSources();
FileDocumentManager.getInstance().saveAllDocuments();
analyze(project, scope);
}