diff --git a/java/idea-ui/src/com/intellij/facet/impl/ui/libraries/LibraryOptionsPanel.java b/java/idea-ui/src/com/intellij/facet/impl/ui/libraries/LibraryOptionsPanel.java index f70ed4717890..daf4a64dfbdb 100644 --- a/java/idea-ui/src/com/intellij/facet/impl/ui/libraries/LibraryOptionsPanel.java +++ b/java/idea-ui/src/com/intellij/facet/impl/ui/libraries/LibraryOptionsPanel.java @@ -26,8 +26,6 @@ import com.intellij.openapi.Disposable; import com.intellij.openapi.application.Result; import com.intellij.openapi.application.WriteAction; import com.intellij.openapi.diagnostic.Logger; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.project.ProjectManager; import com.intellij.openapi.roots.OrderRootType; @@ -291,7 +289,7 @@ public class LibraryOptionsPanel implements Disposable { }); myConfigureButton.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, () -> doConfigure()); + doConfigure(); } }); updateState(); diff --git a/java/idea-ui/src/com/intellij/framework/addSupport/impl/AddSupportForSingleFrameworkDialog.java b/java/idea-ui/src/com/intellij/framework/addSupport/impl/AddSupportForSingleFrameworkDialog.java index 86775b8a4efb..479944a97345 100644 --- a/java/idea-ui/src/com/intellij/framework/addSupport/impl/AddSupportForSingleFrameworkDialog.java +++ b/java/idea-ui/src/com/intellij/framework/addSupport/impl/AddSupportForSingleFrameworkDialog.java @@ -28,8 +28,6 @@ import com.intellij.ide.util.newProjectWizard.impl.FrameworkSupportModelBase; import com.intellij.openapi.application.Result; import com.intellij.openapi.application.WriteAction; import com.intellij.openapi.module.Module; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.ProjectBundle; import com.intellij.openapi.roots.*; import com.intellij.openapi.roots.libraries.Library; @@ -40,7 +38,6 @@ import com.intellij.openapi.roots.ui.configuration.projectRoot.LibrariesContaine import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.ui.Messages; import com.intellij.openapi.util.Disposer; -import com.intellij.openapi.util.Ref; import com.intellij.openapi.vfs.VirtualFile; import org.jetbrains.annotations.NotNull; @@ -90,10 +87,7 @@ public class AddSupportForSingleFrameworkDialog extends DialogWrapper { } protected void doOKAction() { - final Ref result = Ref.create(false); - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, () -> result.set(addSupport())); - - if (result.get()) { + if (addSupport()) { super.doOKAction(); } } diff --git a/java/idea-ui/src/com/intellij/ide/projectView/actions/CreateLibraryFromFilesDialog.java b/java/idea-ui/src/com/intellij/ide/projectView/actions/CreateLibraryFromFilesDialog.java index a44353bb0760..bd169dee2b13 100644 --- a/java/idea-ui/src/com/intellij/ide/projectView/actions/CreateLibraryFromFilesDialog.java +++ b/java/idea-ui/src/com/intellij/ide/projectView/actions/CreateLibraryFromFilesDialog.java @@ -19,8 +19,6 @@ import com.intellij.application.options.ModulesComboBox; import com.intellij.openapi.application.WriteAction; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleUtil; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.ModifiableRootModel; import com.intellij.openapi.roots.ModuleRootManager; @@ -132,7 +130,7 @@ public class CreateLibraryFromFilesDialog extends DialogWrapper { @Override protected void doOKAction() { - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, () -> addLibrary()); + addLibrary(); super.doOKAction(); } diff --git a/java/idea-ui/src/com/intellij/ide/util/frameworkSupport/AddFrameworkSupportDialog.java b/java/idea-ui/src/com/intellij/ide/util/frameworkSupport/AddFrameworkSupportDialog.java index 055f57985d82..3656e64b199e 100644 --- a/java/idea-ui/src/com/intellij/ide/util/frameworkSupport/AddFrameworkSupportDialog.java +++ b/java/idea-ui/src/com/intellij/ide/util/frameworkSupport/AddFrameworkSupportDialog.java @@ -22,8 +22,6 @@ import com.intellij.ide.util.newProjectWizard.impl.FrameworkSupportModelBase; import com.intellij.openapi.application.Result; import com.intellij.openapi.application.WriteAction; import com.intellij.openapi.module.Module; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.ProjectBundle; import com.intellij.openapi.roots.ModifiableRootModel; import com.intellij.openapi.roots.ModuleRootManager; @@ -89,13 +87,13 @@ public class AddFrameworkSupportDialog extends DialogWrapper { if (!myAddSupportPanel.validate()) return; if (!myAddSupportPanel.downloadLibraries(myAddSupportPanel.getMainPanel())) return; - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, () -> new WriteAction() { + new WriteAction() { protected void run(@NotNull final Result result) { ModifiableRootModel model = ModuleRootManager.getInstance(myModule).getModifiableModel(); myAddSupportPanel.addSupport(myModule, model); model.commit(); } - }.execute()); + }.execute(); } super.doOKAction(); } diff --git a/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AbstractProjectWizard.java b/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AbstractProjectWizard.java index 6c3d1f817017..806c61ac0573 100644 --- a/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AbstractProjectWizard.java +++ b/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AbstractProjectWizard.java @@ -27,14 +27,11 @@ import com.intellij.ide.wizard.StepWithSubSteps; import com.intellij.openapi.Disposable; import com.intellij.openapi.components.StorageScheme; import com.intellij.openapi.options.ConfigurationException; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.project.ProjectManager; import com.intellij.openapi.projectRoots.Sdk; import com.intellij.openapi.roots.ProjectRootManager; import com.intellij.openapi.ui.Messages; -import com.intellij.openapi.util.Ref; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.text.StringUtil; import com.intellij.ui.IdeBorderFactory; @@ -164,9 +161,7 @@ public abstract class AbstractProjectWizard extends AbstractWizard result = Ref.create(false); - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, () -> result.set(doFinishAction())); - if (!result.get()) return; + if (!doFinishAction()) return; super.doOKAction(); } diff --git a/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AddSupportForFrameworksPanel.java b/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AddSupportForFrameworksPanel.java index edcf6de77804..90c33b88ad75 100644 --- a/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AddSupportForFrameworksPanel.java +++ b/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AddSupportForFrameworksPanel.java @@ -33,8 +33,6 @@ import com.intellij.ide.util.newProjectWizard.impl.FrameworkSupportModelBase; import com.intellij.openapi.Disposable; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.module.Module; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.ProjectBundle; import com.intellij.openapi.roots.IdeaModifiableModelsProvider; import com.intellij.openapi.roots.ModifiableRootModel; @@ -43,7 +41,6 @@ import com.intellij.openapi.roots.ui.configuration.projectRoot.LibrariesContaine import com.intellij.openapi.ui.Messages; import com.intellij.openapi.ui.Splitter; import com.intellij.openapi.util.Comparing; -import com.intellij.openapi.util.Ref; import com.intellij.openapi.util.text.StringUtil; import com.intellij.ui.CheckedTreeNode; import com.intellij.ui.IdeBorderFactory; @@ -402,27 +399,18 @@ public class AddSupportForFrameworksPanel implements Disposable { } public boolean downloadLibraries(@NotNull final JComponent parentComponent) { - final Ref result = Ref.create(true); - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, () -> { - applyLibraryOptionsForSelected(); - List list = getLibrariesCompositionSettingsList(); - for (LibraryCompositionSettings compositionSettings : list) { - if (!compositionSettings.downloadFiles(parentComponent)) { - result.set(false); - return; - } - } - }); - - if (!result.get()) { - int answer = Messages.showYesNoDialog(parentComponent, - ProjectBundle.message("warning.message.some.required.libraries.wasn.t.downloaded"), - CommonBundle.getWarningTitle(), Messages.getWarningIcon()); - if (answer != Messages.YES) { - return false; + applyLibraryOptionsForSelected(); + List list = getLibrariesCompositionSettingsList(); + for (LibraryCompositionSettings compositionSettings : list) { + if (!compositionSettings.downloadFiles(parentComponent)) { + return true; } } - return true; + + int answer = Messages.showYesNoDialog(parentComponent, + ProjectBundle.message("warning.message.some.required.libraries.wasn.t.downloaded"), + CommonBundle.getWarningTitle(), Messages.getWarningIcon()); + return answer == Messages.YES; } public boolean validate() { diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ModulesConfigurator.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ModulesConfigurator.java index b251194ce9a0..d1db913acec9 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ModulesConfigurator.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ModulesConfigurator.java @@ -32,8 +32,6 @@ import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleManager; import com.intellij.openapi.options.ConfigurationException; import com.intellij.openapi.options.ShowSettingsUtil; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.project.ProjectBundle; import com.intellij.openapi.projectRoots.Sdk; @@ -374,24 +372,22 @@ public class ModulesConfigurator implements ModulesProvider, ModuleEditor.Change final ProjectBuilder builder = runModuleWizard(parent, anImport); if (builder != null ) { final List modules = new ArrayList<>(); - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, () -> { - final List committedModules; - if (builder instanceof ProjectImportBuilder) { - final ModifiableArtifactModel artifactModel = - ProjectStructureConfigurable.getInstance(myProject).getArtifactsStructureConfigurable().getModifiableArtifactModel(); - committedModules = ((ProjectImportBuilder)builder).commit(myProject, myModuleModel, this, artifactModel); + final List committedModules; + if (builder instanceof ProjectImportBuilder) { + final ModifiableArtifactModel artifactModel = + ProjectStructureConfigurable.getInstance(myProject).getArtifactsStructureConfigurable().getModifiableArtifactModel(); + committedModules = ((ProjectImportBuilder)builder).commit(myProject, myModuleModel, this, artifactModel); + } + else { + committedModules = builder.commit(myProject, myModuleModel, this); + } + if (committedModules != null) { + modules.addAll(committedModules); + } + ApplicationManager.getApplication().runWriteAction(() -> { + for (Module module : modules) { + getOrCreateModuleEditor(module); } - else { - committedModules = builder.commit(myProject, myModuleModel, this); - } - if (committedModules != null) { - modules.addAll(committedModules); - } - ApplicationManager.getApplication().runWriteAction(() -> { - for (Module module : modules) { - getOrCreateModuleEditor(module); - } - }); }); return modules; } diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraries/AddCustomLibraryDialog.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraries/AddCustomLibraryDialog.java index 2bbc6fd318c6..be590cc2a7c9 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraries/AddCustomLibraryDialog.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraries/AddCustomLibraryDialog.java @@ -22,8 +22,6 @@ import com.intellij.ide.IdeBundle; import com.intellij.openapi.application.Result; import com.intellij.openapi.application.WriteAction; import com.intellij.openapi.module.Module; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.roots.ModifiableRootModel; import com.intellij.openapi.roots.ModuleRootManager; import com.intellij.openapi.roots.libraries.Library; @@ -89,25 +87,23 @@ public class AddCustomLibraryDialog extends DialogWrapper { @Override protected void doOKAction() { final LibraryCompositionSettings settings = myPanel.apply(); - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, () -> { - if (settings != null && settings.downloadFiles(myPanel.getMainPanel())) { - if (myModifiableRootModel == null) { - final ModifiableRootModel model = ModuleRootManager.getInstance(myModule).getModifiableModel(); - new WriteAction() { - @Override - protected void run(@NotNull final Result result) { - addLibraries(model, settings); - model.commit(); - } - }.execute(); - } - else { - addLibraries(myModifiableRootModel, settings); - } - + if (settings != null && settings.downloadFiles(myPanel.getMainPanel())) { + if (myModifiableRootModel == null) { + final ModifiableRootModel model = ModuleRootManager.getInstance(myModule).getModifiableModel(); + new WriteAction() { + @Override + protected void run(@NotNull final Result result) { + addLibraries(model, settings); + model.commit(); + } + }.execute(); } - super.doOKAction(); - }); + else { + addLibraries(myModifiableRootModel, settings); + } + + } + super.doOKAction(); } private void addLibraries(ModifiableRootModel model, final LibraryCompositionSettings settings) { diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/projectRoot/ChangeLibraryLevelAction.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/projectRoot/ChangeLibraryLevelAction.java index af600301c20a..33c2541ecf1e 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/projectRoot/ChangeLibraryLevelAction.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/projectRoot/ChangeLibraryLevelAction.java @@ -17,15 +17,15 @@ package com.intellij.openapi.roots.ui.configuration.projectRoot; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.diagnostic.Logger; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.impl.libraries.LibraryEx; import com.intellij.openapi.roots.libraries.Library; import com.intellij.openapi.roots.ui.configuration.LibraryTableModifiableModelProvider; import com.intellij.openapi.roots.ui.configuration.ProjectStructureConfigurable; import com.intellij.openapi.roots.ui.configuration.classpath.ChangeLibraryLevelActionBase; -import com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.*; +import com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.LibraryProjectStructureElement; +import com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.ProjectStructureElement; +import com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.ProjectStructureElementUsage; import org.jetbrains.annotations.NotNull; import javax.swing.*; @@ -59,20 +59,18 @@ public class ChangeLibraryLevelAction extends ChangeLibraryLevelActionBase { final LibraryEx oldLibrary = (LibraryEx)context.getLibrary(libraryElement.getLibrary().getName(), mySourceConfigurable.getLevel()); LOG.assertTrue(oldLibrary != null); - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, () -> { - final Library newLibrary = doCopy(oldLibrary); - if (newLibrary == null) return; + final Library newLibrary = doCopy(oldLibrary); + if (newLibrary == null) return; - final Collection usages = context.getDaemonAnalyzer().getUsages(libraryElement); - for (ProjectStructureElementUsage usage : usages) { - usage.replaceElement(new LibraryProjectStructureElement(context, newLibrary)); - } + final Collection usages = context.getDaemonAnalyzer().getUsages(libraryElement); + for (ProjectStructureElementUsage usage : usages) { + usage.replaceElement(new LibraryProjectStructureElement(context, newLibrary)); + } - if (!myCopy) { - mySourceConfigurable.removeLibrary(libraryElement); - } - ProjectStructureConfigurable.getInstance(myProject).selectProjectOrGlobalLibrary(newLibrary, true); - }); + if (!myCopy) { + mySourceConfigurable.removeLibrary(libraryElement); + } + ProjectStructureConfigurable.getInstance(myProject).selectProjectOrGlobalLibrary(newLibrary, true); } @Override diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/projectRoot/ModuleStructureConfigurable.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/projectRoot/ModuleStructureConfigurable.java index 3c14262bf4a0..e57117ffc473 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/projectRoot/ModuleStructureConfigurable.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/projectRoot/ModuleStructureConfigurable.java @@ -33,7 +33,9 @@ import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.module.*; import com.intellij.openapi.options.ConfigurationException; -import com.intellij.openapi.project.*; +import com.intellij.openapi.project.DumbAware; +import com.intellij.openapi.project.Project; +import com.intellij.openapi.project.ProjectBundle; import com.intellij.openapi.roots.*; import com.intellij.openapi.roots.impl.ClonableOrderEntry; import com.intellij.openapi.roots.impl.ProjectRootManagerImpl; @@ -58,8 +60,6 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.pointers.VirtualFilePointerManager; import com.intellij.openapi.wm.WindowManager; import com.intellij.ui.navigation.Place; -import com.intellij.util.Consumer; -import com.intellij.util.Function; import com.intellij.util.PathUtil; import com.intellij.util.PlatformIcons; import com.intellij.util.containers.ContainerUtil; @@ -907,12 +907,10 @@ public class ModuleStructureConfigurable extends BaseStructureConfigurable imple }; builder.setName(component.getNameValue()); builder.setModuleFilePath(path + "/" + builder.getName() + ModuleFileType.DOT_DEFAULT_EXTENSION); - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, () -> { - final Module module = myContext.myModulesConfigurator.addModule(builder); - if (module != null) { - addModuleNode(module); - } - }); + final Module module = myContext.myModulesConfigurator.addModule(builder); + if (module != null) { + addModuleNode(module); + } } catch (Exception e1) { LOG.error(e1); diff --git a/java/java-impl/src/com/intellij/testIntegration/createTest/CreateTestDialog.java b/java/java-impl/src/com/intellij/testIntegration/createTest/CreateTestDialog.java index c10ad5ffaca4..8801e6e0985c 100644 --- a/java/java-impl/src/com/intellij/testIntegration/createTest/CreateTestDialog.java +++ b/java/java-impl/src/com/intellij/testIntegration/createTest/CreateTestDialog.java @@ -34,7 +34,6 @@ import com.intellij.openapi.editor.event.DocumentEvent; import com.intellij.openapi.extensions.Extensions; import com.intellij.openapi.help.HelpManager; import com.intellij.openapi.module.Module; -import com.intellij.openapi.project.DumbModePermission; import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.JavaProjectRootsUtil; @@ -400,14 +399,13 @@ public class CreateTestDialog extends DialogWrapper { myFixLibraryButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, - () -> ApplicationManager.getApplication().runWriteAction(() -> { - if (mySelectedFramework instanceof JavaTestFramework) { - ((JavaTestFramework)mySelectedFramework).setupLibrary(myTargetModule); - } else { - OrderEntryFix.addJarToRoots(mySelectedFramework.getLibraryPath(), myTargetModule, null); - } - })); + ApplicationManager.getApplication().runWriteAction(() -> { + if (mySelectedFramework instanceof JavaTestFramework) { + ((JavaTestFramework)mySelectedFramework).setupLibrary(myTargetModule); + } else { + OrderEntryFix.addJarToRoots(mySelectedFramework.getLibraryPath(), myTargetModule, null); + } + }); myFixLibraryPanel.setVisible(false); } }); diff --git a/platform/diff-impl/src/com/intellij/diff/requests/UnknownFileTypeDiffRequest.java b/platform/diff-impl/src/com/intellij/diff/requests/UnknownFileTypeDiffRequest.java index fe1eb3cbec23..667ede984349 100644 --- a/platform/diff-impl/src/com/intellij/diff/requests/UnknownFileTypeDiffRequest.java +++ b/platform/diff-impl/src/com/intellij/diff/requests/UnknownFileTypeDiffRequest.java @@ -22,8 +22,6 @@ import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.fileTypes.FileTypeManager; import com.intellij.openapi.fileTypes.UnknownFileType; import com.intellij.openapi.fileTypes.ex.FileTypeChooser; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.vcs.changes.issueLinks.LinkMouseListenerBase; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.ui.SimpleColoredComponent; @@ -60,10 +58,8 @@ public class UnknownFileTypeDiffRequest extends ComponentDiffRequest { label.append("Associate", SimpleTextAttributes.LINK_ATTRIBUTES, new Runnable() { @Override public void run() { - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, () -> { - FileType type = FileTypeChooser.associateFileType(myFileName); - if (type != null) onSuccess(context); - }); + FileType type = FileTypeChooser.associateFileType(myFileName); + if (type != null) onSuccess(context); } }); LinkMouseListenerBase.installSingleTagOn(label); diff --git a/platform/lang-impl/src/com/intellij/codeInspection/ex/PerformFixesModalTask.java b/platform/lang-impl/src/com/intellij/codeInspection/ex/PerformFixesModalTask.java index 023aa8625306..4e050b4b5d2a 100644 --- a/platform/lang-impl/src/com/intellij/codeInspection/ex/PerformFixesModalTask.java +++ b/platform/lang-impl/src/com/intellij/codeInspection/ex/PerformFixesModalTask.java @@ -15,14 +15,11 @@ */ package com.intellij.codeInspection.ex; -import com.intellij.codeInsight.intention.IntentionAction; import com.intellij.codeInspection.CommonProblemDescriptor; import com.intellij.codeInspection.ProblemDescriptor; import com.intellij.codeInspection.QuickFix; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.progress.ProgressIndicator; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiDocumentManager; import com.intellij.psi.PsiElement; @@ -86,17 +83,15 @@ public abstract class PerformFixesModalTask implements SequentialTask { } } - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_MODAL, () -> { - ApplicationManager.getApplication().runWriteAction(() -> { - myDocumentManager.commitAllDocuments(); - if (!runInReadAction[0]) { - applyFix(myProject, descriptor); - } - }); - if (runInReadAction[0]) { + ApplicationManager.getApplication().runWriteAction(() -> { + myDocumentManager.commitAllDocuments(); + if (!runInReadAction[0]) { applyFix(myProject, descriptor); } }); + if (runInReadAction[0]) { + applyFix(myProject, descriptor); + } return isDone(); } diff --git a/platform/lang-impl/src/com/intellij/codeInspection/ui/actions/suppress/SuppressActionSequentialTask.java b/platform/lang-impl/src/com/intellij/codeInspection/ui/actions/suppress/SuppressActionSequentialTask.java index d1c941785aad..87345182ad62 100644 --- a/platform/lang-impl/src/com/intellij/codeInspection/ui/actions/suppress/SuppressActionSequentialTask.java +++ b/platform/lang-impl/src/com/intellij/codeInspection/ui/actions/suppress/SuppressActionSequentialTask.java @@ -27,8 +27,6 @@ import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.progress.ProgressIndicator; import com.intellij.openapi.progress.ProgressManager; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Pair; import com.intellij.psi.PsiDocumentManager; @@ -74,15 +72,13 @@ public class SuppressActionSequentialTask implements SequentialTask { indicator.setFraction((double)myCount / myNodesToSuppress.length); } - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_MODAL, () -> { - final Pair content = node.getSuppressContent(); - if (content.first != null) { - final PsiElement element = content.first; - RefEntity refEntity = node.getElement(); - LOG.assertTrue(refEntity != null); - suppress(element, content.second, mySuppressAction, refEntity, myWrapper, node); - } - }); + final Pair content = node.getSuppressContent(); + if (content.first != null) { + final PsiElement element = content.first; + RefEntity refEntity = node.getElement(); + LOG.assertTrue(refEntity != null); + suppress(element, content.second, mySuppressAction, refEntity, myWrapper, node); + } return false; } diff --git a/platform/lang-impl/src/com/intellij/execution/impl/EditConfigurationsDialog.java b/platform/lang-impl/src/com/intellij/execution/impl/EditConfigurationsDialog.java index 6b4a0e99b096..42ea1de3e7b7 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/EditConfigurationsDialog.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/EditConfigurationsDialog.java @@ -21,8 +21,6 @@ import com.intellij.execution.Executor; import com.intellij.execution.configurations.ConfigurationFactory; import com.intellij.execution.configurations.RunConfiguration; import com.intellij.openapi.options.ex.SingleConfigurableEditor; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -47,13 +45,6 @@ public class EditConfigurationsDialog extends SingleConfigurableEditor implement } } - @Override - public void show() { - // run configurations don't support dumb mode yet, but some code inside them may trigger root change and start it - // so let it be modal to prevent IndexNotReadyException from the configuration editors - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_MODAL, () -> super.show()); - } - public void addRunConfiguration(@NotNull final ConfigurationFactory factory) { final RunConfigurable configurable = (RunConfigurable)getConfigurable(); final SingleConfigurationConfigurable configuration = configurable.createNewConfiguration(factory); diff --git a/platform/lang-impl/src/com/intellij/ide/actions/CreateDirectoryOrPackageAction.java b/platform/lang-impl/src/com/intellij/ide/actions/CreateDirectoryOrPackageAction.java index 527f954d8e0b..e84ff92db71f 100644 --- a/platform/lang-impl/src/com/intellij/ide/actions/CreateDirectoryOrPackageAction.java +++ b/platform/lang-impl/src/com/intellij/ide/actions/CreateDirectoryOrPackageAction.java @@ -21,8 +21,6 @@ import com.intellij.ide.IdeView; import com.intellij.ide.util.DirectoryChooserUtil; import com.intellij.openapi.actionSystem.*; import com.intellij.openapi.project.DumbAware; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.Messages; import com.intellij.psi.PsiDirectory; @@ -50,11 +48,12 @@ public class CreateDirectoryOrPackageAction extends AnAction implements DumbAwar final CreateDirectoryOrPackageHandler validator = new CreateDirectoryOrPackageHandler(project, directory, isDirectory, isDirectory ? "\\/" : "."); - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, () -> Messages.showInputDialog(project, isDirectory - ? IdeBundle.message("prompt.enter.new.directory.name") - : IdeBundle.message("prompt.enter.new.package.name"), - isDirectory ? IdeBundle.message("title.new.directory") : IdeBundle.message("title.new.package"), - Messages.getQuestionIcon(), "", validator)); + Messages.showInputDialog(project, + isDirectory ? IdeBundle.message("prompt.enter.new.directory.name") + : IdeBundle.message("prompt.enter.new.package.name"), + isDirectory ? IdeBundle.message("title.new.directory") + : IdeBundle.message("title.new.package"), + Messages.getQuestionIcon(), "", validator); final PsiElement result = validator.getCreatedElement(); if (result != null) { diff --git a/platform/lang-impl/src/com/intellij/ide/actions/CreateFileAction.java b/platform/lang-impl/src/com/intellij/ide/actions/CreateFileAction.java index adaad1e7aa38..b55241004bfc 100644 --- a/platform/lang-impl/src/com/intellij/ide/actions/CreateFileAction.java +++ b/platform/lang-impl/src/com/intellij/ide/actions/CreateFileAction.java @@ -20,12 +20,9 @@ import com.intellij.icons.AllIcons; import com.intellij.ide.IdeBundle; import com.intellij.internal.statistic.UsageTrigger; import com.intellij.openapi.application.ApplicationManager; -import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.fileTypes.FileTypeManager; import com.intellij.openapi.fileTypes.ex.FileTypeChooser; import com.intellij.openapi.project.DumbAware; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.InputValidatorEx; import com.intellij.openapi.ui.Messages; @@ -231,10 +228,8 @@ public class CreateFileAction extends CreateElementActionBase implements DumbAwa final Project project = psiDirectory.getProject(); final boolean[] result = {false}; - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, () -> { - FileTypeChooser.getKnownFileTypeOrAssociate(psiDirectory.getVirtualFile(), getFileName(inputString), project); - result[0] = super.canClose(getFileName(inputString)); - }); + FileTypeChooser.getKnownFileTypeOrAssociate(psiDirectory.getVirtualFile(), getFileName(inputString), project); + result[0] = super.canClose(getFileName(inputString)); return result[0]; } } diff --git a/platform/lang-impl/src/com/intellij/ide/actions/CreateFileFromTemplateAction.java b/platform/lang-impl/src/com/intellij/ide/actions/CreateFileFromTemplateAction.java index 6872aa59936a..972ebc79bc3a 100644 --- a/platform/lang-impl/src/com/intellij/ide/actions/CreateFileFromTemplateAction.java +++ b/platform/lang-impl/src/com/intellij/ide/actions/CreateFileFromTemplateAction.java @@ -21,8 +21,6 @@ import com.intellij.ide.fileTemplates.FileTemplateUtil; import com.intellij.ide.fileTemplates.actions.CreateFromTemplateActionBase; import com.intellij.ide.util.PropertiesComponent; import com.intellij.openapi.fileEditor.FileEditorManager; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.Messages; import com.intellij.openapi.vfs.VirtualFile; @@ -46,10 +44,7 @@ public abstract class CreateFileFromTemplateAction extends CreateFromTemplateAct } protected PsiFile createFileFromTemplate(final String name, final FileTemplate template, final PsiDirectory dir) { - final PsiFile[] file = new PsiFile[1]; - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, - () -> file[0] = createFileFromTemplate(name, template, dir, getDefaultTemplateProperty(), true)); - return file[0]; + return createFileFromTemplate(name, template, dir, getDefaultTemplateProperty(), true); } @Nullable diff --git a/platform/lang-impl/src/com/intellij/ide/projectView/actions/MarkRootActionBase.java b/platform/lang-impl/src/com/intellij/ide/projectView/actions/MarkRootActionBase.java index 422bc7ba2af1..4e85a2c91c77 100644 --- a/platform/lang-impl/src/com/intellij/ide/projectView/actions/MarkRootActionBase.java +++ b/platform/lang-impl/src/com/intellij/ide/projectView/actions/MarkRootActionBase.java @@ -22,8 +22,6 @@ import com.intellij.openapi.actionSystem.LangDataKeys; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.module.Module; import com.intellij.openapi.project.DumbAwareAction; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.*; import com.intellij.openapi.roots.impl.DirectoryIndex; @@ -81,11 +79,10 @@ public abstract class MarkRootActionBase extends DumbAwareAction { } static void commitModel(@NotNull Module module, ModifiableRootModel model) { - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, - () -> ApplicationManager.getApplication().runWriteAction(() -> { - model.commit(); - module.getProject().save(); - })); + ApplicationManager.getApplication().runWriteAction(() -> { + model.commit(); + module.getProject().save(); + }); } protected abstract void modifyRoots(VirtualFile file, ContentEntry entry); diff --git a/platform/lang-impl/src/com/intellij/ide/projectView/impl/RenameModuleHandler.java b/platform/lang-impl/src/com/intellij/ide/projectView/impl/RenameModuleHandler.java index 63a2ed17ea68..dd2b6bc45e4c 100644 --- a/platform/lang-impl/src/com/intellij/ide/projectView/impl/RenameModuleHandler.java +++ b/platform/lang-impl/src/com/intellij/ide/projectView/impl/RenameModuleHandler.java @@ -28,8 +28,6 @@ import com.intellij.openapi.module.ModifiableModuleModel; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleManager; import com.intellij.openapi.module.ModuleWithNameAlreadyExists; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.InputValidator; import com.intellij.openapi.ui.Messages; @@ -98,8 +96,7 @@ public class RenameModuleHandler implements RenameHandler, TitledHandler { final String oldName = myModule.getName(); final ModifiableModuleModel modifiableModel = renameModule(inputString); if (modifiableModel == null) return false; - CommandProcessor.getInstance().executeCommand(myProject, () -> DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, - () -> ApplicationManager.getApplication().runWriteAction(() -> modifiableModel.commit())), IdeBundle.message("command.renaming.module", oldName), null); + CommandProcessor.getInstance().executeCommand(myProject, () -> ApplicationManager.getApplication().runWriteAction(() -> modifiableModel.commit()), IdeBundle.message("command.renaming.module", oldName), null); return true; } diff --git a/platform/lang-impl/src/com/intellij/ide/util/projectWizard/AbstractNewProjectDialog.java b/platform/lang-impl/src/com/intellij/ide/util/projectWizard/AbstractNewProjectDialog.java index c4e7b86f8bf9..126b5734b0c3 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/projectWizard/AbstractNewProjectDialog.java +++ b/platform/lang-impl/src/com/intellij/ide/util/projectWizard/AbstractNewProjectDialog.java @@ -19,8 +19,6 @@ import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.DefaultActionGroup; import com.intellij.openapi.extensions.Extensions; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.ProjectManager; import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.util.Pair; @@ -103,8 +101,4 @@ public abstract class AbstractNewProjectDialog extends DialogWrapper { return new Action[0]; } - @Override - public void show() { - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, super::show); - } } diff --git a/platform/lang-impl/src/com/intellij/ide/util/projectWizard/ProjectSettingsStepBase.java b/platform/lang-impl/src/com/intellij/ide/util/projectWizard/ProjectSettingsStepBase.java index dda254f7454c..c436c1eecbe0 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/projectWizard/ProjectSettingsStepBase.java +++ b/platform/lang-impl/src/com/intellij/ide/util/projectWizard/ProjectSettingsStepBase.java @@ -23,8 +23,6 @@ import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.fileChooser.FileChooserDescriptor; import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory; import com.intellij.openapi.project.DumbAware; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.ui.*; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.wm.impl.welcomeScreen.AbstractActionWithPanel; @@ -127,8 +125,7 @@ public class ProjectSettingsStepBase extends AbstractActionWithPanel implements if (dialog != null) { dialog.close(DialogWrapper.OK_EXIT_CODE); } - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, - () -> myCallback.consume(ProjectSettingsStepBase.this)); + myCallback.consume(ProjectSettingsStepBase.this); } } }; diff --git a/platform/lang-impl/src/com/intellij/openapi/roots/ui/configuration/projectRoot/ProjectSdksModel.java b/platform/lang-impl/src/com/intellij/openapi/roots/ui/configuration/projectRoot/ProjectSdksModel.java index 8e7bfa5999df..87ab99f56f33 100644 --- a/platform/lang-impl/src/com/intellij/openapi/roots/ui/configuration/projectRoot/ProjectSdksModel.java +++ b/platform/lang-impl/src/com/intellij/openapi/roots/ui/configuration/projectRoot/ProjectSdksModel.java @@ -130,7 +130,7 @@ public class ProjectSdksModel implements SdkModel { throw new ConfigurationException(errorString[0]); } - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, () -> doApply()); + doApply(); myModified = false; } diff --git a/platform/lang-impl/src/com/intellij/platform/renameProject/RenameProjectHandler.java b/platform/lang-impl/src/com/intellij/platform/renameProject/RenameProjectHandler.java index a94d7248d616..018fa54b854b 100644 --- a/platform/lang-impl/src/com/intellij/platform/renameProject/RenameProjectHandler.java +++ b/platform/lang-impl/src/com/intellij/platform/renameProject/RenameProjectHandler.java @@ -27,8 +27,6 @@ import com.intellij.openapi.module.ModifiableModuleModel; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleManager; import com.intellij.openapi.module.ModuleWithNameAlreadyExists; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.project.ex.ProjectEx; import com.intellij.openapi.ui.InputValidator; @@ -121,7 +119,9 @@ public class RenameProjectHandler implements RenameHandler, TitledHandler { return false; } final Ref success = Ref.create(Boolean.TRUE); - CommandProcessor.getInstance().executeCommand(project, () -> ApplicationManager.getApplication().runWriteAction(() -> DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, () -> modifiableModel.commit())), IdeBundle.message("command.renaming.module", module.getName()), null); + CommandProcessor.getInstance().executeCommand(project, + () -> ApplicationManager.getApplication().runWriteAction(() -> modifiableModel.commit()), + IdeBundle.message("command.renaming.module", module.getName()), null); return success.get().booleanValue(); } return true; diff --git a/platform/lang-impl/src/com/intellij/refactoring/copy/CopyFilesOrDirectoriesHandler.java b/platform/lang-impl/src/com/intellij/refactoring/copy/CopyFilesOrDirectoriesHandler.java index 7389f7edc630..4d7704a953b2 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/copy/CopyFilesOrDirectoriesHandler.java +++ b/platform/lang-impl/src/com/intellij/refactoring/copy/CopyFilesOrDirectoriesHandler.java @@ -23,8 +23,6 @@ import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.Result; import com.intellij.openapi.command.WriteCommandAction; import com.intellij.openapi.diagnostic.Logger; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.ProjectRootManager; import com.intellij.openapi.ui.Messages; @@ -103,8 +101,7 @@ public class CopyFilesOrDirectoriesHandler extends CopyHandlerDelegateBase { } public static void copyAsFiles(PsiElement[] elements, @Nullable PsiDirectory defaultTargetDirectory, Project project) { - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_MODAL, () -> - doCopyAsFiles(elements, defaultTargetDirectory, project)); + doCopyAsFiles(elements, defaultTargetDirectory, project); } private static void doCopyAsFiles(PsiElement[] elements, @Nullable PsiDirectory defaultTargetDirectory, Project project) { diff --git a/platform/lang-impl/src/com/intellij/refactoring/move/moveFilesOrDirectories/MoveFilesOrDirectoriesDialog.java b/platform/lang-impl/src/com/intellij/refactoring/move/moveFilesOrDirectories/MoveFilesOrDirectoriesDialog.java index 9755cd426ba1..a7ed55525d58 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/move/moveFilesOrDirectories/MoveFilesOrDirectoriesDialog.java +++ b/platform/lang-impl/src/com/intellij/refactoring/move/moveFilesOrDirectories/MoveFilesOrDirectoriesDialog.java @@ -27,7 +27,6 @@ import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory; import com.intellij.openapi.fileChooser.FileChooserFactory; import com.intellij.openapi.help.HelpManager; import com.intellij.openapi.keymap.KeymapUtil; -import com.intellij.openapi.project.DumbModePermission; import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; @@ -208,7 +207,7 @@ public class MoveFilesOrDirectoriesDialog extends DialogWrapper { Messages.showMessageDialog(myProject, "Move refactoring is not available while indexing is in progress", "Indexing", null); return; } - + CommandProcessor.getInstance().executeCommand(myProject, () -> { final Runnable action = () -> { String directoryName = myTargetDirectoryField.getChildComponent().getText().replace(File.separatorChar, '/'); @@ -220,15 +219,13 @@ public class MoveFilesOrDirectoriesDialog extends DialogWrapper { } }; - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_MODAL, () -> { - ApplicationManager.getApplication().runWriteAction(action); - if (myTargetDirectory == null) { - CommonRefactoringUtil.showErrorMessage(getTitle(), - RefactoringBundle.message("cannot.create.directory"), myHelpID, myProject); - return; - } - myCallback.run(this); - }); + ApplicationManager.getApplication().runWriteAction(action); + if (myTargetDirectory == null) { + CommonRefactoringUtil.showErrorMessage(getTitle(), + RefactoringBundle.message("cannot.create.directory"), myHelpID, myProject); + return; + } + myCallback.run(this); }, RefactoringBundle.message("move.title"), null); } @@ -236,9 +233,4 @@ public class MoveFilesOrDirectoriesDialog extends DialogWrapper { return myTargetDirectory; } - @Override - public void show() { - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_MODAL, () -> super.show()); - } - } diff --git a/platform/lang-impl/src/com/intellij/refactoring/safeDelete/SafeDeleteDialog.java b/platform/lang-impl/src/com/intellij/refactoring/safeDelete/SafeDeleteDialog.java index cd0bd871da21..8faa197ce9b6 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/safeDelete/SafeDeleteDialog.java +++ b/platform/lang-impl/src/com/intellij/refactoring/safeDelete/SafeDeleteDialog.java @@ -21,7 +21,6 @@ import com.intellij.ide.util.DeleteUtil; import com.intellij.openapi.extensions.Extensions; import com.intellij.openapi.fileEditor.impl.NonProjectFileWritingAccessProvider; import com.intellij.openapi.help.HelpManager; -import com.intellij.openapi.project.DumbModePermission; import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; @@ -202,14 +201,14 @@ public class SafeDeleteDialog extends DialogWrapper { return; } - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_MODAL, () -> NonProjectFileWritingAccessProvider.disableChecksDuring(() -> { + NonProjectFileWritingAccessProvider.disableChecksDuring(() -> { if (myCallback != null && isSafeDelete()) { myCallback.run(this); } else { super.doOKAction(); } - })); + }); final RefactoringSettings refactoringSettings = RefactoringSettings.getInstance(); if (myCbSafeDelete != null) { diff --git a/platform/lang-impl/src/com/intellij/refactoring/safeDelete/SafeDeleteProcessor.java b/platform/lang-impl/src/com/intellij/refactoring/safeDelete/SafeDeleteProcessor.java index 6cb99de89333..f43d74e3c70b 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/safeDelete/SafeDeleteProcessor.java +++ b/platform/lang-impl/src/com/intellij/refactoring/safeDelete/SafeDeleteProcessor.java @@ -23,8 +23,6 @@ import com.intellij.lang.refactoring.RefactoringSupportProvider; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.extensions.Extensions; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Condition; import com.intellij.openapi.util.Ref; @@ -51,7 +49,6 @@ import com.intellij.usageView.UsageViewUtil; import com.intellij.usages.*; import com.intellij.util.ArrayUtil; import com.intellij.util.IncorrectOperationException; -import com.intellij.util.Processor; import com.intellij.util.containers.HashMap; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -385,17 +382,15 @@ public class SafeDeleteProcessor extends BaseRefactoringProcessor { } } - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_MODAL, () -> { - for (PsiElement element : myElements) { - for (SafeDeleteProcessorDelegate delegate : Extensions.getExtensions(SafeDeleteProcessorDelegate.EP_NAME)) { - if (delegate.handlesElement(element)) { - delegate.prepareForDeletion(element); - } + for (PsiElement element : myElements) { + for (SafeDeleteProcessorDelegate delegate : Extensions.getExtensions(SafeDeleteProcessorDelegate.EP_NAME)) { + if (delegate.handlesElement(element)) { + delegate.prepareForDeletion(element); } - - element.delete(); } - }); + + element.delete(); + } } catch (IncorrectOperationException e) { RefactoringUIUtil.processIncorrectOperation(myProject, e); } diff --git a/platform/lang-impl/src/com/intellij/refactoring/ui/RefactoringDialog.java b/platform/lang-impl/src/com/intellij/refactoring/ui/RefactoringDialog.java index 46cfaf472cf1..653db59613b2 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/ui/RefactoringDialog.java +++ b/platform/lang-impl/src/com/intellij/refactoring/ui/RefactoringDialog.java @@ -16,7 +16,6 @@ package com.intellij.refactoring.ui; import com.intellij.openapi.options.ConfigurationException; -import com.intellij.openapi.project.DumbModePermission; import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; @@ -184,9 +183,4 @@ public abstract class RefactoringDialog extends DialogWrapper { processor.run(); } - @Override - public void show() { - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_MODAL, () -> super.show()); - } - } diff --git a/platform/platform-impl/src/com/intellij/openapi/diff/impl/external/ExtMergeFiles.java b/platform/platform-impl/src/com/intellij/openapi/diff/impl/external/ExtMergeFiles.java index f9bd11bad5a8..f05f6ad7052a 100644 --- a/platform/platform-impl/src/com/intellij/openapi/diff/impl/external/ExtMergeFiles.java +++ b/platform/platform-impl/src/com/intellij/openapi/diff/impl/external/ExtMergeFiles.java @@ -25,8 +25,6 @@ import com.intellij.openapi.diff.impl.mergeTool.MergeRequestImpl; import com.intellij.openapi.progress.ProgressIndicator; import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.progress.Task; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.ui.Messages; import com.intellij.openapi.util.text.StringUtil; @@ -101,8 +99,7 @@ public class ExtMergeFiles extends BaseExternalTool { "Merge In External Tool", "Mark as Resolved", "Revert", null)) { result = DialogWrapper.OK_EXIT_CODE; } - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, - () -> ((MergeRequestImpl)request).getResultContent().getFile().refresh(false, false)); + ((MergeRequestImpl)request).getResultContent().getFile().refresh(false, false); // We can actually check exit code of external tool, but some of them could work with tabs -> do not close at all } catch (Exception e) { diff --git a/platform/platform-impl/src/com/intellij/openapi/fileChooser/ex/FileChooserDialogImpl.java b/platform/platform-impl/src/com/intellij/openapi/fileChooser/ex/FileChooserDialogImpl.java index 24965ef91f0c..ef8882112db0 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileChooser/ex/FileChooserDialogImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileChooser/ex/FileChooserDialogImpl.java @@ -31,8 +31,6 @@ import com.intellij.openapi.fileChooser.*; import com.intellij.openapi.fileChooser.impl.FileChooserFactoryImpl; import com.intellij.openapi.fileChooser.impl.FileChooserUtil; import com.intellij.openapi.ide.CopyPasteManager; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.ui.Messages; @@ -351,8 +349,7 @@ public class FileChooserDialogImpl extends DialogWrapper implements FileChooserD .subscribe(ApplicationActivationListener.TOPIC, new ApplicationActivationListener.Adapter() { @Override public void applicationActivated(IdeFrame ideFrame) { - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_MODAL, - () -> ((SaveAndSyncHandlerImpl)SaveAndSyncHandler.getInstance()).maybeRefresh(ModalityState.current())); + ((SaveAndSyncHandlerImpl)SaveAndSyncHandler.getInstance()).maybeRefresh(ModalityState.current()); } }); diff --git a/platform/platform-impl/src/com/intellij/openapi/fileChooser/ex/FileSystemTreeImpl.java b/platform/platform-impl/src/com/intellij/openapi/fileChooser/ex/FileSystemTreeImpl.java index cc89503d7dae..fe1b961007a4 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileChooser/ex/FileSystemTreeImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileChooser/ex/FileSystemTreeImpl.java @@ -33,8 +33,6 @@ import com.intellij.openapi.fileChooser.impl.FileComparator; import com.intellij.openapi.fileChooser.impl.FileTreeBuilder; import com.intellij.openapi.fileChooser.impl.FileTreeStructure; import com.intellij.openapi.fileTypes.FileType; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.text.StringUtil; @@ -281,25 +279,20 @@ public class FileSystemTreeImpl implements FileSystemTree { CommandProcessor.getInstance().executeCommand( myProject, new Runnable() { public void run() { - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_MODAL, new Runnable() { - @Override + ApplicationManager.getApplication().runWriteAction(new Runnable() { public void run() { - ApplicationManager.getApplication().runWriteAction(new Runnable() { - public void run() { - try { - VirtualFile parent = parentDirectory; - for (String name : StringUtil.tokenize(newFolderName, "\\/")) { - VirtualFile folder = parent.createChildDirectory(this, name); - updateTree(); - select(folder, null); - parent = folder; - } - } - catch (IOException e) { - failReason[0] = e; - } + try { + VirtualFile parent = parentDirectory; + for (String name : StringUtil.tokenize(newFolderName, "\\/")) { + VirtualFile folder = parent.createChildDirectory(this, name); + updateTree(); + select(folder, null); + parent = folder; } - }); + } + catch (IOException e) { + failReason[0] = e; + } } }); } @@ -467,14 +460,12 @@ public class FileSystemTreeImpl implements FileSystemTree { final boolean async = myTreeBuilder.isToBuildChildrenInBackground(virtualFile); - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_MODAL, () -> { - if (virtualFile instanceof NewVirtualFile) { - RefreshQueue.getInstance().refresh(async, false, null, ModalityState.stateForComponent(myTree), virtualFile); - } - else { - virtualFile.refresh(async, false); - } - }); + if (virtualFile instanceof NewVirtualFile) { + RefreshQueue.getInstance().refresh(async, false, null, ModalityState.stateForComponent(myTree), virtualFile); + } + else { + virtualFile.refresh(async, false); + } } } } diff --git a/platform/platform-impl/src/com/intellij/openapi/options/ex/SingleConfigurableEditor.java b/platform/platform-impl/src/com/intellij/openapi/options/ex/SingleConfigurableEditor.java index d96393e5575b..e1da2497b818 100644 --- a/platform/platform-impl/src/com/intellij/openapi/options/ex/SingleConfigurableEditor.java +++ b/platform/platform-impl/src/com/intellij/openapi/options/ex/SingleConfigurableEditor.java @@ -24,8 +24,6 @@ import com.intellij.openapi.help.HelpManager; import com.intellij.openapi.options.BaseConfigurable; import com.intellij.openapi.options.Configurable; import com.intellij.openapi.options.ConfigurationException; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.IndexNotReadyException; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; @@ -122,11 +120,6 @@ public class SingleConfigurableEditor extends DialogWrapper { this(parent, configurable, ShowSettingsUtilImpl.createDimensionKey(configurable)); } - @Override - public void show() { - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, () -> super.show()); - } - public Configurable getConfigurable() { return myConfigurable; } diff --git a/platform/platform-impl/src/com/intellij/openapi/options/newEditor/ConfigurableEditor.java b/platform/platform-impl/src/com/intellij/openapi/options/newEditor/ConfigurableEditor.java index cd3991d65b4a..40155a620d3b 100644 --- a/platform/platform-impl/src/com/intellij/openapi/options/newEditor/ConfigurableEditor.java +++ b/platform/platform-impl/src/com/intellij/openapi/options/newEditor/ConfigurableEditor.java @@ -31,8 +31,6 @@ import com.intellij.openapi.options.ShowSettingsUtil; import com.intellij.openapi.options.ex.ConfigurableCardPanel; import com.intellij.openapi.options.ex.ConfigurableExtensionPointUtil; import com.intellij.openapi.options.ex.ConfigurableVisitor; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.ui.Messages; import com.intellij.openapi.util.ActionCallback; import com.intellij.openapi.util.Disposer; @@ -75,7 +73,7 @@ class ConfigurableEditor extends AbstractEditor implements AnActionListener, AWT private final AbstractAction myApplyAction = new AbstractAction(CommonBundle.getApplyButtonText()) { @Override public void actionPerformed(ActionEvent event) { - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, () -> apply()); + apply(); } }; private final AbstractAction myResetAction = new AbstractAction(RESET_NAME) { diff --git a/platform/platform-impl/src/com/intellij/openapi/options/newEditor/SettingsDialog.java b/platform/platform-impl/src/com/intellij/openapi/options/newEditor/SettingsDialog.java index f1692ae57ac6..e0aba405f984 100644 --- a/platform/platform-impl/src/com/intellij/openapi/options/newEditor/SettingsDialog.java +++ b/platform/platform-impl/src/com/intellij/openapi/options/newEditor/SettingsDialog.java @@ -22,8 +22,6 @@ import com.intellij.openapi.application.TransactionGuard; import com.intellij.openapi.help.HelpManager; import com.intellij.openapi.options.Configurable; import com.intellij.openapi.options.ConfigurableGroup; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; import org.jetbrains.annotations.NonNls; @@ -75,9 +73,7 @@ public class SettingsDialog extends DialogWrapper implements DataProvider { @Override public void show() { - TransactionGuard.getInstance().submitTransactionAndWait( - () -> DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, () -> - super.show())); + TransactionGuard.getInstance().submitTransactionAndWait(() -> super.show()); } diff --git a/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/RefreshSessionImpl.java b/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/RefreshSessionImpl.java index 90253f1f4d0a..c4cc1e800d8a 100644 --- a/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/RefreshSessionImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/RefreshSessionImpl.java @@ -17,8 +17,6 @@ package com.intellij.openapi.vfs.newvfs; import com.intellij.openapi.application.*; import com.intellij.openapi.diagnostic.Logger; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.DumbServiceImpl; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; @@ -48,7 +46,6 @@ public class RefreshSessionImpl extends RefreshSession { private final boolean myIsRecursive; private final Runnable myFinishRunnable; private final ModalityState myModalityState; - private final DumbModePermission myDumbModePermission; private final Throwable myStartTrace; private final Semaphore mySemaphore = new Semaphore(); @@ -68,11 +65,9 @@ public class RefreshSessionImpl extends RefreshSession { LOG.assertTrue(modalityState == ModalityState.NON_MODAL || modalityState != ModalityState.any(), "Refresh session should have a specific modality"); if (modalityState == ModalityState.NON_MODAL) { - myDumbModePermission = null; myStartTrace = null; } else { - myDumbModePermission = DumbServiceImpl.getExplicitPermission(); myStartTrace = new Throwable(); // please report exceptions here to peter } } @@ -181,13 +176,7 @@ public class RefreshSessionImpl extends RefreshSession { } try (AccessToken ignore = myStartTrace == null ? null : DumbServiceImpl.forceDumbModeStartTrace(myStartTrace)) { - WriteAction.run(() -> { - if (myDumbModePermission != null) { - DumbService.allowStartingDumbModeInside(myDumbModePermission, this::fireEventsInWriteAction); - } else { - fireEventsInWriteAction(); - } - }); + WriteAction.run(this::fireEventsInWriteAction); } finally { mySemaphore.up(); diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/AbstractMissingFilesAction.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/AbstractMissingFilesAction.java index 69cbd76807e3..b2fe04eeed88 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/AbstractMissingFilesAction.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/AbstractMissingFilesAction.java @@ -27,8 +27,6 @@ import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.CommonDataKeys; import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.project.DumbAware; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.vcs.AbstractVcs; import com.intellij.openapi.vcs.AbstractVcsHelper; @@ -79,12 +77,7 @@ public abstract class AbstractMissingFilesAction extends AnAction implements Dum if (synchronously()) { action.run(); } else { - progressManager.runProcessWithProgressSynchronously(new Runnable() { - @Override - public void run() { - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, action); - } - }, getName(), true, project); + progressManager.runProcessWithProgressSynchronously(action, getName(), true, project); } } diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/DeleteUnversionedFilesAction.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/DeleteUnversionedFilesAction.java index e44bea6bee4f..f8e20782a708 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/DeleteUnversionedFilesAction.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/DeleteUnversionedFilesAction.java @@ -26,8 +26,6 @@ import com.intellij.ide.DeleteProvider; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.PlatformDataKeys; import com.intellij.openapi.project.DumbAwareAction; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.util.IconUtil; public class DeleteUnversionedFilesAction extends DumbAwareAction { @@ -36,14 +34,9 @@ public class DeleteUnversionedFilesAction extends DumbAwareAction { } public void actionPerformed(final AnActionEvent e) { - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, new Runnable() { - @Override - public void run() { - DeleteProvider deleteProvider = e.getData(PlatformDataKeys.DELETE_ELEMENT_PROVIDER); - if (deleteProvider == null) return; - deleteProvider.deleteElement(e.getDataContext()); - } - }); + DeleteProvider deleteProvider = e.getData(PlatformDataKeys.DELETE_ELEMENT_PROVIDER); + if (deleteProvider == null) return; + deleteProvider.deleteElement(e.getDataContext()); } @Override diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/ShelveChangesManager.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/ShelveChangesManager.java index dc9449616b4c..23e57b8e68e7 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/ShelveChangesManager.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/ShelveChangesManager.java @@ -35,8 +35,6 @@ import com.intellij.openapi.options.SchemeManagerFactory; import com.intellij.openapi.progress.ProgressIndicator; import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.progress.Task; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.*; import com.intellij.openapi.util.io.FileUtil; @@ -651,7 +649,7 @@ public class ShelveChangesManager extends AbstractProjectComponent implements JD @CalledInAwt public void shelveSilentlyUnderProgress(@NotNull List changes) { final boolean completed = ProgressManager.getInstance().runProcessWithProgressSynchronously( - () -> DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, () -> shelveChangesInSeparatedLists(changes)), + () -> shelveChangesInSeparatedLists(changes), VcsBundle.getString("shelve.changes.progress.title"), true, myProject); if (completed) { diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitChangeListDialog.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitChangeListDialog.java index 7613749fa73f..c758ea8cff31 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitChangeListDialog.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitChangeListDialog.java @@ -27,8 +27,6 @@ import com.intellij.openapi.application.ModalityState; import com.intellij.openapi.extensions.Extensions; import com.intellij.openapi.fileEditor.FileDocumentManager; import com.intellij.openapi.progress.ProgressManager; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.*; import com.intellij.openapi.util.Comparing; @@ -688,12 +686,7 @@ public class CommitChangeListDialog extends DialogWrapper implements CheckinProj new Runnable() { @Override public void run() { - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, new Runnable() { - @Override - public void run() { - session.execute(getIncludedChanges(), getCommitMessage()); - } - }); + session.execute(getIncludedChanges(), getCommitMessage()); } }, commitExecutor.getActionText(), true, getProject()); diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/RollbackWorker.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/RollbackWorker.java index f92e119ce2f2..bc1fda02a575 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/RollbackWorker.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/RollbackWorker.java @@ -21,8 +21,6 @@ import com.intellij.lifecycle.PeriodicalTasksCloser; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.ModalityState; import com.intellij.openapi.progress.*; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Comparing; import com.intellij.openapi.util.io.FileUtil; @@ -102,7 +100,7 @@ public class RollbackWorker { ProgressManager.getInstance().run(new Task.Modal(myProject, myOperationName, true) { @Override public void run(@NotNull ProgressIndicator indicator) { - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, rollbackAction); + rollbackAction.run(); } }); } diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/SelectFilesDialog.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/SelectFilesDialog.java index 4e4411b47aab..c7045d726132 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/SelectFilesDialog.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/SelectFilesDialog.java @@ -21,8 +21,6 @@ import com.google.common.collect.Collections2; import com.intellij.ide.DeleteProvider; import com.intellij.openapi.actionSystem.*; import com.intellij.openapi.fileChooser.actions.VirtualFileDeleteProvider; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.vcs.VcsShowConfirmationOption; import com.intellij.openapi.vcs.changes.actions.DeleteUnversionedFilesAction; @@ -95,16 +93,6 @@ public class SelectFilesDialog extends AbstractSelectFilesDialog { return defaultGroup; } - @Override - public void show() { - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, new Runnable() { - @Override - public void run() { - SelectFilesDialog.super.show(); - } - }); - } - public static class VirtualFileList extends ChangesTreeList { @Nullable private final DeleteProvider myDeleteProvider; diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/checkout/CheckoutAction.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/checkout/CheckoutAction.java index 224cacbc79e0..2408c4293d5e 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/checkout/CheckoutAction.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/checkout/CheckoutAction.java @@ -31,14 +31,9 @@ public class CheckoutAction extends AnAction implements DumbAware { } public void actionPerformed(final AnActionEvent e) { - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, new Runnable() { - @Override - public void run() { - Project project = e.getData(CommonDataKeys.PROJECT); - project = (project == null) ? ProjectManager.getInstance().getDefaultProject() : project; - myProvider.doCheckout(project, getListener(project)); - } - }); + Project project = e.getData(CommonDataKeys.PROJECT); + project = (project == null) ? ProjectManager.getInstance().getDefaultProject() : project; + myProvider.doCheckout(project, getListener(project)); } protected CheckoutProvider.Listener getListener(Project project) { diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/merge/MultipleFileMergeDialog.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/merge/MultipleFileMergeDialog.java index b853840639cc..518a236940ef 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/merge/MultipleFileMergeDialog.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/merge/MultipleFileMergeDialog.java @@ -31,8 +31,6 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.diff.impl.mergeTool.MergeVersion; import com.intellij.openapi.editor.Document; import com.intellij.openapi.fileEditor.FileDocumentManager; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.project.ex.ProjectManagerEx; import com.intellij.openapi.ui.DialogWrapper; @@ -430,11 +428,6 @@ public class MultipleFileMergeDialog extends DialogWrapper { return myProcessedFiles; } - @Override - public void show() { - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, () -> super.show()); - } - private class VirtualFileRenderer extends ColoredTableCellRenderer { @Override protected void customizeCellRenderer(JTable table, Object value, boolean selected, boolean hasFocus, int row, int column) { diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/library/RepositoryAttachHandler.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/library/RepositoryAttachHandler.java index 6f90373382bb..0027df2096b0 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/library/RepositoryAttachHandler.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/library/RepositoryAttachHandler.java @@ -24,8 +24,6 @@ import com.intellij.openapi.application.WriteAction; import com.intellij.openapi.progress.ProgressIndicator; import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.progress.Task; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.JavadocOrderRootType; import com.intellij.openapi.roots.OrderRootType; @@ -344,9 +342,7 @@ public class RepositoryAttachHandler { finally { manager.release(embedder); if (!cancelled && resultProcessor != null) { - ApplicationManager.getApplication().invokeAndWait(() -> DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, - () -> resultProcessor.process( - new ArrayList<>(result))), indicator.getModalityState()); + ApplicationManager.getApplication().invokeAndWait(() -> resultProcessor.process(new ArrayList<>(result))); } } } diff --git a/python/educational-core/course-creator/src/com/jetbrains/edu/coursecreator/CCUtils.java b/python/educational-core/course-creator/src/com/jetbrains/edu/coursecreator/CCUtils.java index 27e5c6534f4b..ebd5030f7b73 100644 --- a/python/educational-core/course-creator/src/com/jetbrains/edu/coursecreator/CCUtils.java +++ b/python/educational-core/course-creator/src/com/jetbrains/edu/coursecreator/CCUtils.java @@ -8,8 +8,6 @@ import com.intellij.openapi.actionSystem.Presentation; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.module.Module; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.ModuleRootModificationUtil; import com.intellij.openapi.roots.ProjectRootManager; @@ -118,26 +116,21 @@ public class CCUtils { return folder; } final Ref generatedRoot = new Ref<>(); - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, new Runnable() { + ApplicationManager.getApplication().runWriteAction(new Runnable() { @Override public void run() { - ApplicationManager.getApplication().runWriteAction(new Runnable() { - @Override - public void run() { - try { - generatedRoot.set(baseDir.createChildDirectory(this, GENERATED_FILES_FOLDER)); - VirtualFile contentRootForFile = - ProjectRootManager.getInstance(module.getProject()).getFileIndex().getContentRootForFile(generatedRoot.get()); - if (contentRootForFile == null) { - return; - } - ModuleRootModificationUtil.updateExcludedFolders(module, contentRootForFile, Collections.emptyList(), Collections.singletonList(generatedRoot.get().getUrl())); - } - catch (IOException e) { - LOG.info("Failed to create folder for generated files", e); - } + try { + generatedRoot.set(baseDir.createChildDirectory(this, GENERATED_FILES_FOLDER)); + VirtualFile contentRootForFile = + ProjectRootManager.getInstance(module.getProject()).getFileIndex().getContentRootForFile(generatedRoot.get()); + if (contentRootForFile == null) { + return; } - }); + ModuleRootModificationUtil.updateExcludedFolders(module, contentRootForFile, Collections.emptyList(), Collections.singletonList(generatedRoot.get().getUrl())); + } + catch (IOException e) { + LOG.info("Failed to create folder for generated files", e); + } } }); return generatedRoot.get(); diff --git a/python/python-community-configure/src/com/jetbrains/python/configuration/PythonSdkDetailsDialog.java b/python/python-community-configure/src/com/jetbrains/python/configuration/PythonSdkDetailsDialog.java index 9fbec16b0f34..7c90492371b3 100644 --- a/python/python-community-configure/src/com/jetbrains/python/configuration/PythonSdkDetailsDialog.java +++ b/python/python-community-configure/src/com/jetbrains/python/configuration/PythonSdkDetailsDialog.java @@ -26,8 +26,6 @@ import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory; import com.intellij.openapi.module.Module; import com.intellij.openapi.options.ConfigurationException; import com.intellij.openapi.project.DumbAware; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.projectRoots.Sdk; import com.intellij.openapi.projectRoots.SdkModel; @@ -388,7 +386,7 @@ public class PythonSdkDetailsDialog extends DialogWrapper { final Sdk currentSdk = getSelectedSdk(); if (currentSdk != null) { final Sdk sdk = myProjectSdksModel.findSdk(currentSdk); - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_MODAL, () -> SdkConfigurationUtil.removeSdk(sdk)); + SdkConfigurationUtil.removeSdk(sdk); myProjectSdksModel.removeSdk(sdk); myProjectSdksModel.removeSdk(currentSdk); diff --git a/python/src/com/jetbrains/python/actions/CreatePackageAction.java b/python/src/com/jetbrains/python/actions/CreatePackageAction.java index 91a62e32d14e..acc01d8e36eb 100644 --- a/python/src/com/jetbrains/python/actions/CreatePackageAction.java +++ b/python/src/com/jetbrains/python/actions/CreatePackageAction.java @@ -27,8 +27,6 @@ import com.intellij.openapi.actionSystem.CommonDataKeys; import com.intellij.openapi.actionSystem.LangDataKeys; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.DumbAwareAction; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.Messages; import com.intellij.psi.PsiDirectory; @@ -63,10 +61,9 @@ public class CreatePackageAction extends DumbAwareAction { } } }; - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, - () -> Messages.showInputDialog(project, IdeBundle.message("prompt.enter.new.package.name"), - IdeBundle.message("title.new.package"), - Messages.getQuestionIcon(), "", validator)); + Messages.showInputDialog(project, IdeBundle.message("prompt.enter.new.package.name"), + IdeBundle.message("title.new.package"), + Messages.getQuestionIcon(), "", validator); final PsiFileSystemItem result = validator.getCreatedElement(); if (result != null) { view.selectElement(result); diff --git a/python/src/com/jetbrains/python/sdk/AbstractCreateVirtualEnvDialog.java b/python/src/com/jetbrains/python/sdk/AbstractCreateVirtualEnvDialog.java index af2757ee2e07..ee7a42c4d7ca 100644 --- a/python/src/com/jetbrains/python/sdk/AbstractCreateVirtualEnvDialog.java +++ b/python/src/com/jetbrains/python/sdk/AbstractCreateVirtualEnvDialog.java @@ -23,8 +23,6 @@ import com.intellij.openapi.application.ModalityState; import com.intellij.openapi.progress.ProgressIndicator; import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.progress.Task; -import com.intellij.openapi.project.DumbModePermission; -import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.projectRoots.Sdk; import com.intellij.openapi.projectRoots.impl.SdkConfigurationUtil; @@ -263,8 +261,7 @@ public abstract class AbstractCreateVirtualEnvDialog extends IdeaDialog { @Override public void onSuccess() { if (myPath != null) { - ApplicationManager.getApplication().invokeLater(() -> DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, - () -> setupVirtualEnvSdk(myPath, associateWithProject(), callback))); + ApplicationManager.getApplication().invokeLater(() -> setupVirtualEnvSdk(myPath, associateWithProject(), callback)); } } };