#KT-19799: Add initialDirectory to KotlinAwareMoveFilesOrDirectoriesDialog
This commit is contained in:
+1
-1
@@ -113,7 +113,7 @@ class MoveKotlinDeclarationsHandler : MoveHandlerDelegate() {
|
||||
else -> null
|
||||
}
|
||||
val initialTargetDirectory = MoveFilesOrDirectoriesUtil.resolveToDirectory(project, initialTargetElement)
|
||||
val dialog = KotlinAwareMoveFilesOrDirectoriesDialog(project) {
|
||||
val dialog = KotlinAwareMoveFilesOrDirectoriesDialog(project, initialTargetDirectory) {
|
||||
invokeMoveFilesOrDirectoriesRefactoring(it, project, elements, initialTargetDirectory, callback)
|
||||
}
|
||||
dialog.setData(elements, initialTargetDirectory, "refactoring.moveFile")
|
||||
|
||||
+7
-1
@@ -42,6 +42,7 @@ import javax.swing.JComponent
|
||||
|
||||
class KotlinAwareMoveFilesOrDirectoriesDialog(
|
||||
private val project: Project,
|
||||
private val initialDirectory: PsiDirectory?,
|
||||
private val callback: (KotlinAwareMoveFilesOrDirectoriesDialog?) -> Unit
|
||||
) : DialogWrapper(project, true) {
|
||||
companion object {
|
||||
@@ -163,7 +164,12 @@ class KotlinAwareMoveFilesOrDirectoriesDialog(
|
||||
|
||||
project.executeCommand(RefactoringBundle.message("move.title"), null) {
|
||||
runWriteAction {
|
||||
val directoryName = targetDirectoryField.childComponent.text.replace(File.separatorChar, '/')
|
||||
val directoryName = targetDirectoryField.childComponent.text.replace(File.separatorChar, '/').let {
|
||||
when {
|
||||
it.startsWith(".") -> (initialDirectory?.virtualFile?.path ?: "") + "/" + it
|
||||
else -> it
|
||||
}
|
||||
}
|
||||
try {
|
||||
targetDirectory = DirectoryUtil.mkdirs(PsiManager.getInstance(project), directoryName)
|
||||
}
|
||||
|
||||
@@ -123,7 +123,7 @@ fun moveFilesOrDirectories(
|
||||
return
|
||||
}
|
||||
|
||||
with(KotlinAwareMoveFilesOrDirectoriesDialog(project, ::doRun)) {
|
||||
with(KotlinAwareMoveFilesOrDirectoriesDialog(project, initialTargetDirectory, ::doRun)) {
|
||||
setData(elements, initialTargetDirectory, "refactoring.moveFile")
|
||||
show()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user