diff --git a/java/java-impl/src/com/intellij/refactoring/anonymousToInner/AnonymousToInnerDialog.java b/java/java-impl/src/com/intellij/refactoring/anonymousToInner/AnonymousToInnerDialog.java index ad2a88c025a3..23f5cc8f5a0f 100644 --- a/java/java-impl/src/com/intellij/refactoring/anonymousToInner/AnonymousToInnerDialog.java +++ b/java/java-impl/src/com/intellij/refactoring/anonymousToInner/AnonymousToInnerDialog.java @@ -15,6 +15,8 @@ */ package com.intellij.refactoring.anonymousToInner; +import com.intellij.openapi.application.AcceptNestedTransactions; +import com.intellij.openapi.application.TransactionKind; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.help.HelpManager; import com.intellij.openapi.project.Project; @@ -42,7 +44,7 @@ import javax.swing.*; import java.awt.*; import java.util.Map; -class AnonymousToInnerDialog extends DialogWrapper{ +@AcceptNestedTransactions(TransactionKind.Common.TEXT_EDITING)class AnonymousToInnerDialog extends DialogWrapper{ private static final Logger LOG = Logger.getInstance("#com.intellij.refactoring.anonymousToInner.AnonymousToInnerDialog"); private final Project myProject; diff --git a/java/java-impl/src/com/intellij/refactoring/copy/CopyClassDialog.java b/java/java-impl/src/com/intellij/refactoring/copy/CopyClassDialog.java index f0a4fee2a073..8d351834091d 100644 --- a/java/java-impl/src/com/intellij/refactoring/copy/CopyClassDialog.java +++ b/java/java-impl/src/com/intellij/refactoring/copy/CopyClassDialog.java @@ -15,6 +15,8 @@ */ package com.intellij.refactoring.copy; +import com.intellij.openapi.application.AcceptNestedTransactions; +import com.intellij.openapi.application.TransactionKind; import com.intellij.openapi.help.HelpManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.JavaProjectRootsUtil; @@ -42,6 +44,7 @@ import org.jetbrains.annotations.NotNull; import javax.swing.*; import java.awt.*; +@AcceptNestedTransactions(TransactionKind.Common.TEXT_EDITING) class CopyClassDialog extends DialogWrapper{ @NonNls private static final String RECENTS_KEY = "CopyClassDialog.RECENTS_KEY"; private final JLabel myInformationLabel = new JLabel(); diff --git a/java/java-impl/src/com/intellij/refactoring/extractMethod/ExtractMethodDialog.java b/java/java-impl/src/com/intellij/refactoring/extractMethod/ExtractMethodDialog.java index ef3df4acafc5..1ff1bf2291f4 100644 --- a/java/java-impl/src/com/intellij/refactoring/extractMethod/ExtractMethodDialog.java +++ b/java/java-impl/src/com/intellij/refactoring/extractMethod/ExtractMethodDialog.java @@ -19,6 +19,8 @@ import com.intellij.codeInsight.NullableNotNullManager; import com.intellij.codeInspection.dataFlow.Nullness; import com.intellij.ide.highlighter.JavaFileType; import com.intellij.ide.util.PropertiesComponent; +import com.intellij.openapi.application.AcceptNestedTransactions; +import com.intellij.openapi.application.TransactionKind; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.ComboBox; import com.intellij.openapi.ui.DialogWrapper; @@ -59,6 +61,7 @@ import java.awt.event.*; /** * @author Konstantin Bulenkov */ +@AcceptNestedTransactions(TransactionKind.Common.TEXT_EDITING) public class ExtractMethodDialog extends DialogWrapper implements AbstractExtractDialog { private static final String EXTRACT_METHOD_DEFAULT_VISIBILITY = "extract.method.default.visibility"; public static final String EXTRACT_METHOD_GENERATE_ANNOTATIONS = "extractMethod.generateAnnotations"; diff --git a/java/java-impl/src/com/intellij/refactoring/extractMethodObject/ExtractMethodObjectDialog.java b/java/java-impl/src/com/intellij/refactoring/extractMethodObject/ExtractMethodObjectDialog.java index be4e56dc2119..b7120141d00e 100644 --- a/java/java-impl/src/com/intellij/refactoring/extractMethodObject/ExtractMethodObjectDialog.java +++ b/java/java-impl/src/com/intellij/refactoring/extractMethodObject/ExtractMethodObjectDialog.java @@ -15,6 +15,8 @@ */ package com.intellij.refactoring.extractMethodObject; +import com.intellij.openapi.application.AcceptNestedTransactions; +import com.intellij.openapi.application.TransactionKind; import com.intellij.openapi.editor.event.DocumentAdapter; import com.intellij.openapi.editor.event.DocumentEvent; import com.intellij.openapi.help.HelpManager; @@ -45,6 +47,7 @@ import java.awt.event.ActionListener; import java.util.Enumeration; +@AcceptNestedTransactions(TransactionKind.Common.TEXT_EDITING) public class ExtractMethodObjectDialog extends DialogWrapper implements AbstractExtractDialog { private final Project myProject; private final PsiType myReturnType; diff --git a/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceConstantDialog.java b/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceConstantDialog.java index d6d76aec7996..dbca72eb0999 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceConstantDialog.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceConstantDialog.java @@ -21,6 +21,8 @@ import com.intellij.ide.util.ClassFilter; import com.intellij.ide.util.PropertiesComponent; import com.intellij.ide.util.TreeClassChooser; import com.intellij.ide.util.TreeClassChooserFactory; +import com.intellij.openapi.application.AcceptNestedTransactions; +import com.intellij.openapi.application.TransactionKind; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.event.DocumentAdapter; import com.intellij.openapi.editor.event.DocumentEvent; @@ -67,6 +69,7 @@ import java.util.Iterator; import java.util.LinkedHashSet; import java.util.Set; +@AcceptNestedTransactions(TransactionKind.Common.TEXT_EDITING) class IntroduceConstantDialog extends DialogWrapper { private static final Logger LOG = Logger.getInstance("#com.intellij.refactoring.introduceField.IntroduceConstantDialog"); @NonNls private static final String RECENTS_KEY = "IntroduceConstantDialog.RECENTS_KEY"; diff --git a/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceFieldDialog.java b/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceFieldDialog.java index e71e6c3317ae..c732eafa820c 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceFieldDialog.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceFieldDialog.java @@ -16,6 +16,8 @@ package com.intellij.refactoring.introduceField; import com.intellij.codeInsight.completion.JavaCompletionUtil; +import com.intellij.openapi.application.AcceptNestedTransactions; +import com.intellij.openapi.application.TransactionKind; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.help.HelpManager; import com.intellij.openapi.project.Project; @@ -41,6 +43,7 @@ import org.jetbrains.annotations.Nullable; import javax.swing.*; import java.awt.*; +@AcceptNestedTransactions(TransactionKind.Common.TEXT_EDITING) class IntroduceFieldDialog extends DialogWrapper { diff --git a/java/java-impl/src/com/intellij/refactoring/introduceParameter/IntroduceParameterDialog.java b/java/java-impl/src/com/intellij/refactoring/introduceParameter/IntroduceParameterDialog.java index 194f0163d193..816674bf219e 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceParameter/IntroduceParameterDialog.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceParameter/IntroduceParameterDialog.java @@ -27,6 +27,8 @@ package com.intellij.refactoring.introduceParameter; import com.intellij.codeInspection.AnonymousCanBeLambdaInspection; import com.intellij.codeInspection.LambdaCanBeMethodReferenceInspection; import com.intellij.ide.util.PropertiesComponent; +import com.intellij.openapi.application.AcceptNestedTransactions; +import com.intellij.openapi.application.TransactionKind; import com.intellij.openapi.help.HelpManager; import com.intellij.openapi.options.ConfigurationException; import com.intellij.openapi.project.Project; @@ -46,6 +48,7 @@ import javax.swing.*; import java.awt.*; import java.util.List; +@AcceptNestedTransactions(TransactionKind.Common.TEXT_EDITING) public class IntroduceParameterDialog extends RefactoringDialog { private static final String INTRODUCE_PARAMETER_LAMBDA = "introduce.parameter.lambda"; private TypeSelector myTypeSelector; diff --git a/java/java-impl/src/com/intellij/refactoring/migration/EditMigrationEntryDialog.java b/java/java-impl/src/com/intellij/refactoring/migration/EditMigrationEntryDialog.java index 6834a09693a8..a6bb4a5ae0c5 100644 --- a/java/java-impl/src/com/intellij/refactoring/migration/EditMigrationEntryDialog.java +++ b/java/java-impl/src/com/intellij/refactoring/migration/EditMigrationEntryDialog.java @@ -18,6 +18,8 @@ package com.intellij.refactoring.migration; import com.intellij.lang.Language; import com.intellij.lang.java.JavaLanguage; +import com.intellij.openapi.application.AcceptNestedTransactions; +import com.intellij.openapi.application.TransactionKind; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.event.DocumentAdapter; import com.intellij.openapi.editor.event.DocumentEvent; @@ -32,6 +34,7 @@ import org.jetbrains.annotations.Nullable; import javax.swing.*; import java.awt.*; +@AcceptNestedTransactions(TransactionKind.Common.TEXT_EDITING) public class EditMigrationEntryDialog extends DialogWrapper{ private JRadioButton myRbPackage; private JRadioButton myRbClass; diff --git a/java/java-impl/src/com/intellij/refactoring/wrapreturnvalue/WrapReturnValueDialog.java b/java/java-impl/src/com/intellij/refactoring/wrapreturnvalue/WrapReturnValueDialog.java index 6c0eb5c41f53..72af692807e7 100644 --- a/java/java-impl/src/com/intellij/refactoring/wrapreturnvalue/WrapReturnValueDialog.java +++ b/java/java-impl/src/com/intellij/refactoring/wrapreturnvalue/WrapReturnValueDialog.java @@ -15,10 +15,10 @@ */ package com.intellij.refactoring.wrapreturnvalue; -import com.intellij.psi.util.PsiUtil; -import com.intellij.ui.ListCellRendererWrapper; import com.intellij.ide.util.TreeClassChooser; import com.intellij.ide.util.TreeClassChooserFactory; +import com.intellij.openapi.application.AcceptNestedTransactions; +import com.intellij.openapi.application.TransactionKind; import com.intellij.openapi.help.HelpManager; import com.intellij.openapi.options.ConfigurationException; import com.intellij.openapi.project.Project; @@ -37,6 +37,7 @@ import com.intellij.refactoring.ui.PackageNameReferenceEditorCombo; import com.intellij.refactoring.ui.RefactoringDialog; import com.intellij.ui.ComboboxWithBrowseButton; import com.intellij.ui.DocumentAdapter; +import com.intellij.ui.ListCellRendererWrapper; import com.intellij.ui.ReferenceEditorComboWithBrowseButton; import com.intellij.util.ui.UIUtil; import org.jetbrains.annotations.NotNull; @@ -48,6 +49,7 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @SuppressWarnings({"OverridableMethodCallInConstructor"}) +@AcceptNestedTransactions(TransactionKind.Common.TEXT_EDITING) class WrapReturnValueDialog extends RefactoringDialog { private final PsiMethod sourceMethod; diff --git a/platform/lang-impl/src/com/intellij/refactoring/copy/CopyFilesOrDirectoriesDialog.java b/platform/lang-impl/src/com/intellij/refactoring/copy/CopyFilesOrDirectoriesDialog.java index e405a5c29757..d6698c5ec9d8 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/copy/CopyFilesOrDirectoriesDialog.java +++ b/platform/lang-impl/src/com/intellij/refactoring/copy/CopyFilesOrDirectoriesDialog.java @@ -19,7 +19,9 @@ import com.intellij.ide.util.DirectoryUtil; import com.intellij.ide.util.PropertiesComponent; import com.intellij.openapi.actionSystem.ActionManager; import com.intellij.openapi.actionSystem.IdeActions; +import com.intellij.openapi.application.AcceptNestedTransactions; import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.application.TransactionKind; import com.intellij.openapi.command.CommandProcessor; import com.intellij.openapi.fileChooser.FileChooserDescriptor; import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory; @@ -55,6 +57,7 @@ import javax.swing.event.DocumentListener; import java.awt.*; import java.util.List; +@AcceptNestedTransactions(TransactionKind.Common.TEXT_EDITING) public class CopyFilesOrDirectoriesDialog extends DialogWrapper { public static final int MAX_PATH_LENGTH = 70; 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 5fc9f8567c41..c6b14d5811d5 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/ui/RefactoringDialog.java +++ b/platform/lang-impl/src/com/intellij/refactoring/ui/RefactoringDialog.java @@ -15,6 +15,9 @@ */ package com.intellij.refactoring.ui; +import com.intellij.openapi.application.AccessToken; +import com.intellij.openapi.application.TransactionGuard; +import com.intellij.openapi.application.TransactionKind; import com.intellij.openapi.options.ConfigurationException; import com.intellij.openapi.project.DumbModePermission; import com.intellij.openapi.project.DumbService; @@ -191,9 +194,8 @@ public abstract class RefactoringDialog extends DialogWrapper { @Override public void show() { - DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_MODAL, new Runnable() { - @Override - public void run() { + DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_MODAL, () -> { + try (AccessToken ignored = TransactionGuard.getInstance().acceptNestedTransactions(TransactionKind.TEXT_EDITING)) { RefactoringDialog.super.show(); } }); diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/extract/method/GroovyExtractMethodDialog.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/extract/method/GroovyExtractMethodDialog.java index 60a41dae6c1c..436c739f0db5 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/extract/method/GroovyExtractMethodDialog.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/extract/method/GroovyExtractMethodDialog.java @@ -16,6 +16,8 @@ package org.jetbrains.plugins.groovy.refactoring.extract.method; +import com.intellij.openapi.application.AcceptNestedTransactions; +import com.intellij.openapi.application.TransactionKind; import com.intellij.openapi.editor.event.DocumentEvent; import com.intellij.openapi.editor.event.DocumentListener; import com.intellij.openapi.help.HelpManager; @@ -63,6 +65,7 @@ import java.util.Map; /** * @author ilyas */ +@AcceptNestedTransactions(TransactionKind.Common.TEXT_EDITING) public class GroovyExtractMethodDialog extends DialogWrapper { private final ExtractMethodInfoHelper myHelper; diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/constant/GrIntroduceConstantDialog.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/constant/GrIntroduceConstantDialog.java index a6f9673fbe62..b14995d6ad80 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/constant/GrIntroduceConstantDialog.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/constant/GrIntroduceConstantDialog.java @@ -16,8 +16,10 @@ package org.jetbrains.plugins.groovy.refactoring.introduce.constant; import com.intellij.ide.util.*; +import com.intellij.openapi.application.AcceptNestedTransactions; import com.intellij.openapi.application.AccessToken; import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.application.TransactionKind; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.event.DocumentAdapter; import com.intellij.openapi.editor.event.DocumentEvent; @@ -76,6 +78,7 @@ import java.util.List; /** * @author Maxim.Medvedev */ +@AcceptNestedTransactions(TransactionKind.Common.TEXT_EDITING) public class GrIntroduceConstantDialog extends DialogWrapper implements GrIntroduceConstantSettings, GrIntroduceDialog { diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/field/GrIntroduceFieldDialog.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/field/GrIntroduceFieldDialog.java index ffacc0d6b8dc..46a1b8639dae 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/field/GrIntroduceFieldDialog.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/field/GrIntroduceFieldDialog.java @@ -16,6 +16,8 @@ package org.jetbrains.plugins.groovy.refactoring.introduce.field; import com.intellij.codeInsight.TestFrameworks; +import com.intellij.openapi.application.AcceptNestedTransactions; +import com.intellij.openapi.application.TransactionKind; import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.ui.Messages; import com.intellij.openapi.util.text.StringUtil; @@ -43,10 +45,10 @@ import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.literals import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrTypeDefinition; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMember; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMethod; +import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyNamesUtil; import org.jetbrains.plugins.groovy.lang.psi.impl.PsiImplUtil; import org.jetbrains.plugins.groovy.lang.psi.impl.synthetic.GroovyScriptClass; import org.jetbrains.plugins.groovy.lang.psi.util.PsiUtil; -import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyNamesUtil; import org.jetbrains.plugins.groovy.refactoring.GroovyRefactoringBundle; import org.jetbrains.plugins.groovy.refactoring.introduce.GrIntroduceContext; import org.jetbrains.plugins.groovy.refactoring.introduce.GrIntroduceDialog; @@ -61,6 +63,7 @@ import java.util.ArrayList; import java.util.LinkedHashSet; import java.util.List; +@AcceptNestedTransactions(TransactionKind.Common.TEXT_EDITING) public class GrIntroduceFieldDialog extends DialogWrapper implements GrIntroduceDialog, GrIntroduceFieldSettings { private JPanel myContentPane; private NameSuggestionsField myNameField; diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/parameter/GrIntroduceParameterDialog.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/parameter/GrIntroduceParameterDialog.java index 85d638f1f296..a8a8669fac4c 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/parameter/GrIntroduceParameterDialog.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/parameter/GrIntroduceParameterDialog.java @@ -15,7 +15,9 @@ */ package org.jetbrains.plugins.groovy.refactoring.introduce.parameter; +import com.intellij.openapi.application.AcceptNestedTransactions; import com.intellij.openapi.application.AccessToken; +import com.intellij.openapi.application.TransactionKind; import com.intellij.openapi.application.WriteAction; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; @@ -76,6 +78,7 @@ import java.util.ArrayList; import java.util.LinkedHashSet; import java.util.List; +@AcceptNestedTransactions(TransactionKind.Common.TEXT_EDITING) public class GrIntroduceParameterDialog extends DialogWrapper { private GrTypeComboBox myTypeComboBox; private NameSuggestionsField myNameSuggestionsField; diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/variable/GroovyIntroduceVariableDialog.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/variable/GroovyIntroduceVariableDialog.java index d6b3dc968126..7a0c31bdb1e2 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/variable/GroovyIntroduceVariableDialog.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/variable/GroovyIntroduceVariableDialog.java @@ -16,6 +16,8 @@ package org.jetbrains.plugins.groovy.refactoring.introduce.variable; +import com.intellij.openapi.application.AcceptNestedTransactions; +import com.intellij.openapi.application.TransactionKind; import com.intellij.openapi.help.HelpManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; @@ -40,6 +42,7 @@ import javax.swing.*; import java.awt.*; import java.util.LinkedHashSet; +@AcceptNestedTransactions(TransactionKind.Common.TEXT_EDITING) public class GroovyIntroduceVariableDialog extends DialogWrapper implements GrIntroduceDialog { private static final String REFACTORING_NAME = GroovyRefactoringBundle.message("introduce.variable.title"); diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/refactorings/introduce/IntroducePropertyDialog.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/refactorings/introduce/IntroducePropertyDialog.java index 7245313c6767..c09295cabc4a 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/refactorings/introduce/IntroducePropertyDialog.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/refactorings/introduce/IntroducePropertyDialog.java @@ -15,6 +15,8 @@ */ package org.jetbrains.idea.maven.dom.refactorings.introduce; +import com.intellij.openapi.application.AcceptNestedTransactions; +import com.intellij.openapi.application.TransactionKind; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.util.Pair; @@ -48,6 +50,7 @@ import java.util.Collection; import java.util.Collections; import java.util.List; +@AcceptNestedTransactions(TransactionKind.Common.TEXT_EDITING) public class IntroducePropertyDialog extends DialogWrapper { private final Project myProject;