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,