Move: Do not ignore target directory selected in the dialog (DnD mode)

#KT-13901 Fixed
This commit is contained in:
Alexey Sedunov
2016-09-19 17:05:42 +03:00
parent 65a1ecc464
commit 4cd4b8781d
2 changed files with 10 additions and 8 deletions
@@ -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();