Commit c9affb3b authored by Pavel Dolgov's avatar Pavel Dolgov
Browse files

Java: Show "Extract Method" dialog in transaction (IDEA-186521)

parent 2db810c1
Showing with 12 additions and 9 deletions
+12 -9
......@@ -16,6 +16,7 @@ import com.intellij.ide.DataManager;
import com.intellij.ide.util.PropertiesComponent;
import com.intellij.ide.util.PsiClassListCellRenderer;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.TransactionGuard;
import com.intellij.openapi.command.WriteCommandAction;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Editor;
......@@ -26,10 +27,7 @@ import com.intellij.openapi.editor.colors.EditorColorsManager;
import com.intellij.openapi.editor.markup.TextAttributes;
import com.intellij.openapi.progress.ProgressManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Comparing;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.util.Pass;
import com.intellij.openapi.util.TextRange;
import com.intellij.openapi.util.*;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.wm.WindowManager;
......@@ -576,11 +574,16 @@ public class ExtractMethodProcessor implements MatchProvider {
}
public boolean showDialog(final boolean direct) {
AbstractExtractDialog dialog = createExtractMethodDialog(direct);
dialog.show();
if (!dialog.isOK()) return false;
apply(dialog);
return true;
Ref<Boolean> result = Ref.create(Boolean.FALSE);
TransactionGuard.getInstance().submitTransactionAndWait(() -> {
AbstractExtractDialog dialog = createExtractMethodDialog(direct);
dialog.show();
if (dialog.isOK()) {
apply(dialog);
result.set(Boolean.TRUE);
}
});
return result.get();
}
protected void apply(final AbstractExtractDialog dialog) {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment