Move file to package matching directory: run write action manually to avoid AWT events inside

This commit is contained in:
Mikhail Glukhikh
2017-01-31 21:24:24 +03:00
parent 72b8b85563
commit a204e57877
@@ -29,6 +29,7 @@ import com.intellij.refactoring.util.RefactoringMessageUtil
import org.jetbrains.kotlin.idea.core.packageMatchesDirectory
import org.jetbrains.kotlin.idea.intentions.SelfTargetingOffsetIndependentIntention
import org.jetbrains.kotlin.idea.refactoring.isInsideInjectedFragment
import org.jetbrains.kotlin.idea.util.application.runWriteAction
import org.jetbrains.kotlin.psi.KtPackageDirective
class MoveFileToPackageMatchingDirectoryIntention : SelfTargetingOffsetIndependentIntention<KtPackageDirective>(
@@ -44,6 +45,8 @@ class MoveFileToPackageMatchingDirectoryIntention : SelfTargetingOffsetIndepende
return true
}
override fun startInWriteAction() = false
override fun applyTo(element: KtPackageDirective, editor: Editor?) {
val file = element.getContainingKtFile()
val project = file.project
@@ -67,6 +70,8 @@ class MoveFileToPackageMatchingDirectoryIntention : SelfTargetingOffsetIndepende
return
}
MoveFilesOrDirectoriesUtil.doMoveFile(file, targetDirectory)
runWriteAction {
MoveFilesOrDirectoriesUtil.doMoveFile(file, targetDirectory)
}
}
}