@@ -3,6 +3,7 @@ package org.utbot.intellij.plugin.ui.components
3
3
import com.intellij.openapi.application.ReadAction
4
4
import com.intellij.openapi.fileChooser.FileChooser
5
5
import com.intellij.openapi.fileChooser.FileChooserDescriptor
6
+ import com.intellij.openapi.module.ModuleUtil
6
7
import com.intellij.openapi.project.guessProjectDir
7
8
import com.intellij.openapi.ui.ComboBox
8
9
import com.intellij.openapi.ui.ComponentWithBrowseButton
@@ -81,7 +82,7 @@ class TestFolderComboWithBrowseButton(private val model: GenerateTestsModel) :
81
82
}
82
83
83
84
addActionListener {
84
- val testSourceRoot = createNewTestSourceRoot (model)
85
+ val testSourceRoot = chooseTestRoot (model)
85
86
testSourceRoot?.let {
86
87
model.setSourceRootAndFindTestModule(it)
87
88
@@ -97,9 +98,13 @@ class TestFolderComboWithBrowseButton(private val model: GenerateTestsModel) :
97
98
}
98
99
}
99
100
100
- private fun createNewTestSourceRoot (model : GenerateTestsModel ): VirtualFile ? =
101
+ private fun chooseTestRoot (model : GenerateTestsModel ): VirtualFile ? =
101
102
ReadAction .compute<VirtualFile , RuntimeException > {
102
- val desc = FileChooserDescriptor (false , true , false , false , false , false )
103
+ val desc = object : FileChooserDescriptor (false , true , false , false , false , false ) {
104
+ override fun isFileSelectable (file : VirtualFile ? ): Boolean {
105
+ return file != null && ModuleUtil .findModuleForFile(file, model.project) != null && super .isFileSelectable(file)
106
+ }
107
+ }
103
108
val initialFile = model.project.guessProjectDir()
104
109
105
110
val files = FileChooser .chooseFiles(desc, model.project, initialFile)
0 commit comments