From aef24435288d5a26e0fc86b5c838d0a7a0c9461a Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Thu, 18 Jun 2015 19:07:58 +0300 Subject: [PATCH] Move: Add "Update package directive" option to dialog #KT-6084 Fixed --- .../MoveKotlinTopLevelDeclarationsDialog.form | 21 +++++++++++++------ .../MoveKotlinTopLevelDeclarationsDialog.java | 9 +++++++- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveTopLevelDeclarations/ui/MoveKotlinTopLevelDeclarationsDialog.form b/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveTopLevelDeclarations/ui/MoveKotlinTopLevelDeclarationsDialog.form index e7b5bf8bdbb..b53fe4293e2 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveTopLevelDeclarations/ui/MoveKotlinTopLevelDeclarationsDialog.form +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveTopLevelDeclarations/ui/MoveKotlinTopLevelDeclarationsDialog.form @@ -26,7 +26,7 @@ - + @@ -50,13 +50,13 @@ - + - + @@ -64,7 +64,7 @@ - + @@ -73,7 +73,7 @@ - + @@ -103,7 +103,7 @@ - + @@ -125,6 +125,15 @@ + + + + + + + + + diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveTopLevelDeclarations/ui/MoveKotlinTopLevelDeclarationsDialog.java b/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveTopLevelDeclarations/ui/MoveKotlinTopLevelDeclarationsDialog.java index 0bb2bef1a4f..14fc64c91b7 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveTopLevelDeclarations/ui/MoveKotlinTopLevelDeclarationsDialog.java +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveTopLevelDeclarations/ui/MoveKotlinTopLevelDeclarationsDialog.java @@ -55,6 +55,7 @@ import kotlin.jvm.functions.Function0; import kotlin.jvm.functions.Function1; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.jetbrains.kotlin.idea.core.CorePackage; import org.jetbrains.kotlin.idea.core.refactoring.RefactoringPackage; import org.jetbrains.kotlin.idea.refactoring.JetRefactoringBundle; import org.jetbrains.kotlin.idea.refactoring.KotlinMemberInfo; @@ -110,6 +111,7 @@ public class MoveKotlinTopLevelDeclarationsDialog extends RefactoringDialog { private JPanel memberInfoPanel; private JTextField tfFileNameInPackage; private JCheckBox cbSpecifyFileNameInPackage; + private JCheckBox cbUpdatePackageDirective; private KotlinMemberSelectionTable memberTable; private final JetFile sourceFile; @@ -238,6 +240,8 @@ public class MoveKotlinTopLevelDeclarationsDialog extends RefactoringDialog { } } ); + + cbUpdatePackageDirective.setSelected(CorePackage.packageMatchesDirectory(sourceFile)); } private void initSearchOptions(boolean searchInComments, boolean searchForTextOccurences) { @@ -316,6 +320,7 @@ public class MoveKotlinTopLevelDeclarationsDialog extends RefactoringDialog { classPackageChooser.setEnabled(moveToPackage); updateFileNameInPackageField(); fileChooser.setEnabled(!moveToPackage); + cbUpdatePackageDirective.setEnabled(moveToPackage); UIUtil.setEnabled(targetPanel, moveToPackage && hasAnySourceRoots(), true); updateSuggestedFileName(); validateButtons(); @@ -375,7 +380,8 @@ public class MoveKotlinTopLevelDeclarationsDialog extends RefactoringDialog { directory.getVirtualFile().getPath() + "/" + targetFileName + - "' already exists. Do you want to move selected declarations to this file?"; + "' already exists." + + "Do you want to move selected declarations to this file?"; int ret = Messages.showYesNoDialog(myProject, question, RefactoringBundle.message("move.title"), Messages.getQuestionIcon()); if (ret != Messages.YES) return null; } @@ -531,6 +537,7 @@ public class MoveKotlinTopLevelDeclarationsDialog extends RefactoringDialog { } } ); + MovePackage.setUpdatePackageDirective(sourceFile, cbUpdatePackageDirective.isSelected()); invokeRefactoring( new MoveFilesOrDirectoriesProcessor( myProject,