accept nested editing transactions in refactoring dialogs

This commit is contained in:
peter
2016-03-11 10:58:25 +01:00
parent 23df4bf2a1
commit dd3e6acfc9
17 changed files with 55 additions and 7 deletions
@@ -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;
@@ -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();
@@ -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";
@@ -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;
@@ -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";
@@ -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 {
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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();
}
});
@@ -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;
@@ -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<GrIntroduceConstantSettings> {
@@ -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>, GrIntroduceFieldSettings {
private JPanel myContentPane;
private NameSuggestionsField myNameField;
@@ -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;
@@ -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<GroovyIntroduceVariableSettings> {
private static final String REFACTORING_NAME = GroovyRefactoringBundle.message("introduce.variable.title");
@@ -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;