mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
cs: apply silently from alt enter|show filled dialog from Ctrl-F6
This commit is contained in:
+8
-4
@@ -17,6 +17,7 @@ package com.intellij.refactoring.changeSignature;
|
||||
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.application.Result;
|
||||
import com.intellij.openapi.command.CommandProcessor;
|
||||
import com.intellij.openapi.command.WriteCommandAction;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
@@ -28,8 +29,11 @@ import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.search.PsiSearchHelper;
|
||||
import com.intellij.psi.search.SearchScope;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.refactoring.BaseRefactoringProcessor;
|
||||
import com.intellij.refactoring.RefactoringBundle;
|
||||
import com.intellij.refactoring.util.CanonicalTypes;
|
||||
import com.intellij.usageView.UsageInfo;
|
||||
import com.intellij.usageView.UsageViewUtil;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import com.intellij.util.VisibilityUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -212,16 +216,16 @@ public class JavaChangeSignatureDetector implements LanguageChangeSignatureDetec
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean showDialog(ChangeInfo changeInfo, @NotNull final String oldText) {
|
||||
public boolean showDialog(ChangeInfo changeInfo, @NotNull final String oldText, boolean silently) {
|
||||
if (changeInfo instanceof MyJavaChangeInfo) {
|
||||
final MyJavaChangeInfo info = (MyJavaChangeInfo)changeInfo;
|
||||
final PsiMethod method = info.getSuperMethod();
|
||||
|
||||
//if (ApplicationManager.getApplication().isUnitTestMode()) {
|
||||
if (silently || ApplicationManager.getApplication().isUnitTestMode()) {
|
||||
temporallyRevertChanges(info.getMethod(), oldText);
|
||||
createChangeSignatureProcessor(info, method).run();
|
||||
return true;
|
||||
/*}
|
||||
}
|
||||
final JavaChangeSignatureDialog dialog =
|
||||
new JavaChangeSignatureDialog(method.getProject(), new JavaMethodDescriptor(info.getMethod()) {
|
||||
@Override
|
||||
@@ -249,7 +253,7 @@ public class JavaChangeSignatureDetector implements LanguageChangeSignatureDetec
|
||||
}
|
||||
};
|
||||
dialog.show();
|
||||
return dialog.isOK();*/
|
||||
return dialog.isOK();
|
||||
}
|
||||
return false;
|
||||
|
||||
|
||||
+1
-1
@@ -49,7 +49,7 @@ public class JavaChangeSignatureHandler implements ChangeSignatureHandler {
|
||||
final ChangeSignatureGestureDetector detector = ChangeSignatureGestureDetector.getInstance(project);
|
||||
final PsiIdentifier nameIdentifier = ((PsiMethod)element).getNameIdentifier();
|
||||
if (nameIdentifier != null && detector.isChangeSignatureAvailable(nameIdentifier)) {
|
||||
detector.changeSignature(element.getContainingFile());
|
||||
detector.changeSignature(element.getContainingFile(), false);
|
||||
return;
|
||||
}
|
||||
invoke((PsiMethod) element, project, editor);
|
||||
|
||||
+1
-2
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.refactoring.changeSignature;
|
||||
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -57,7 +56,7 @@ public class ChangeSignatureDetectorAction extends PsiElementBaseIntentionAction
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
|
||||
ChangeSignatureGestureDetector.getInstance(project).changeSignature(file);
|
||||
ChangeSignatureGestureDetector.getInstance(project).changeSignature(file, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+2
-2
@@ -87,14 +87,14 @@ public class ChangeSignatureGestureDetector extends PsiTreeChangeAdapter impleme
|
||||
return adapter != null ? adapter.getCurrentInfo() : null;
|
||||
}
|
||||
|
||||
public void changeSignature(PsiFile file) {
|
||||
public void changeSignature(PsiFile file, final boolean silently) {
|
||||
try {
|
||||
myDeaf = true;
|
||||
final MyDocumentChangeAdapter changeBean = myListenerMap.get(file);
|
||||
final ChangeInfo currentInfo = changeBean.getCurrentInfo();
|
||||
if (currentInfo != null) {
|
||||
final LanguageChangeSignatureDetector detector = LanguageChangeSignatureDetectors.INSTANCE.forLanguage(currentInfo.getLanguage());
|
||||
if (detector.showDialog(currentInfo, changeBean.getInitialText())) {
|
||||
if (detector.showDialog(currentInfo, changeBean.getInitialText(), silently)) {
|
||||
changeBean.reinit();
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -32,7 +32,7 @@ public interface LanguageChangeSignatureDetector {
|
||||
ChangeInfo createCurrentChangeSignature(final @NotNull PsiElement element,
|
||||
final @Nullable ChangeInfo changeInfo);
|
||||
|
||||
boolean showDialog(ChangeInfo changeInfo, @NotNull String oldText);
|
||||
boolean showDialog(ChangeInfo changeInfo, @NotNull String oldText, boolean silently);
|
||||
|
||||
boolean isChangeSignatureAvailable(PsiElement element, ChangeInfo currentInfo);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user