From 4cd4b8781d60dd5ebe695d8577e8aa057162fb4e Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Mon, 19 Sep 2016 17:05:42 +0300 Subject: [PATCH] Move: Do not ignore target directory selected in the dialog (DnD mode) #KT-13901 Fixed --- ChangeLog.md | 1 + .../MoveKotlinTopLevelDeclarationsDialog.java | 17 +++++++++-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index 18504b4af82..eb50655b63a 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -132,6 +132,7 @@ These artifacts include extensions for the types available in the latter JDKs, s - [`KT-13903`](https://youtrack.jetbrains.com/issue/KT-13903) Move: Remove companion object which becomes empty after the move - [`KT-13916`](https://youtrack.jetbrains.com/issue/KT-13916) Move: Report visibility conflicts in import directives - [`KT-13906`](https://youtrack.jetbrains.com/issue/KT-13906) Move Nested Class to Upper Level: Do not show directory selection dialog twice +- [`KT-13901`](https://youtrack.jetbrains.com/issue/KT-13901) Move: Do not ignore target directory selected in the dialog (DnD mode) ##### New features diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveDeclarations/ui/MoveKotlinTopLevelDeclarationsDialog.java b/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveDeclarations/ui/MoveKotlinTopLevelDeclarationsDialog.java index fec9aea6804..e47b75a4d5b 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveDeclarations/ui/MoveKotlinTopLevelDeclarationsDialog.java +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveDeclarations/ui/MoveKotlinTopLevelDeclarationsDialog.java @@ -453,14 +453,15 @@ public class MoveKotlinTopLevelDeclarationsDialog extends RefactoringDialog { if (ret != Messages.YES) return null; } - PsiDirectory selectedPsiDirectory; - if (initialTargetDirectory == null) { - DirectoryChooser.ItemWrapper selectedItem = (DirectoryChooser.ItemWrapper)destinationFolderCB.getComboBox().getSelectedItem(); - selectedPsiDirectory = selectedItem != null ? selectedItem.getDirectory() : null; - if (selectedPsiDirectory == null) return Pair.create(null, new MultipleRootsMoveDestination(targetPackage)); - } - else { - selectedPsiDirectory = initialTargetDirectory; + DirectoryChooser.ItemWrapper selectedItem = (DirectoryChooser.ItemWrapper)destinationFolderCB.getComboBox().getSelectedItem(); + PsiDirectory selectedPsiDirectory = selectedItem != null ? selectedItem.getDirectory() : null; + if (selectedPsiDirectory == null) { + if (initialTargetDirectory != null) { + selectedPsiDirectory = initialTargetDirectory; + } + else { + return Pair.create(null, new MultipleRootsMoveDestination(targetPackage)); + } } VirtualFile targetDirectory = selectedPsiDirectory.getVirtualFile();