Skip to content

Commit 829c4d8

Browse files
committed
Some more improvements
1 parent 965c78d commit 829c4d8

File tree

4 files changed

+33
-21
lines changed

4 files changed

+33
-21
lines changed

clion-plugin/src/main/kotlin/org/utbot/cpp/clion/plugin/settings/UTBotAllProjectSettings.kt

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -41,33 +41,23 @@ class UTBotAllProjectSettings(val project: Project) {
4141

4242
val convertedProjectPath: String get() = projectPath.convertToRemotePathIfNeeded(project)
4343

44-
//TODO: it is unclear, requires a comment
44+
/**
45+
* If this property returns true, plugin must convert path sent and returned from server.
46+
* @see [String.convertToRemotePathIfNeeded], [String.convertFromRemotePathIfNeeded]
47+
*
48+
* If we are on Windows, this is not a server, so it is always a remote scenario.
49+
*/
4550
val isRemoteScenario: Boolean
4651
get() {
4752
val isLocalHost = projectIndependentSettings.serverName == "localhost" || projectIndependentSettings.serverName == "127.0.0.01"
4853
return !(storedSettings.remotePath == projectPath && isLocalHost) || isWindows
4954
}
5055

51-
fun asModel() = UTBotSettingsModel(storedSettings, projectIndependentSettings)
52-
5356
fun fromModel(model: UTBotSettingsModel) {
54-
projectIndependentSettings.port = model.globalSettings.port
55-
projectIndependentSettings.serverName = model.globalSettings.serverName
56-
storedSettings.buildDirRelativePath = model.projectSettings.buildDirRelativePath
57-
storedSettings.testDirPath = model.projectSettings.testDirPath
58-
storedSettings.targetPath = model.projectSettings.targetPath
59-
storedSettings.remotePath = model.projectSettings.remotePath
60-
storedSettings.sourceDirs = model.projectSettings.sourceDirs
61-
storedSettings.cmakeOptions = model.projectSettings.cmakeOptions
62-
storedSettings.generateForStaticFunctions = model.projectSettings.generateForStaticFunctions
63-
storedSettings.useStubs = model.projectSettings.useStubs
64-
storedSettings.useDeterministicSearcher = model.projectSettings.useDeterministicSearcher
65-
storedSettings.verbose = model.projectSettings.verbose
66-
storedSettings.timeoutPerFunction = model.projectSettings.timeoutPerFunction
67-
storedSettings.timeoutPerTest = model.projectSettings.timeoutPerTest
57+
storedSettings.fromSettingsModel(model)
58+
projectIndependentSettings.fromSettingsModel(model)
6859
}
6960

70-
7161
fun fireUTBotSettingsChanged() {
7262
project.messageBus.syncPublisher(UTBotSettingsChangedListener.TOPIC).settingsChanged(this)
7363
}

clion-plugin/src/main/kotlin/org/utbot/cpp/clion/plugin/settings/UTBotProjectIndependentSettings.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,12 @@ class UTBotProjectIndependentSettings : PersistentStateComponent<UTBotProjectInd
1717
data class State(
1818
var port: Int = UTBotAllProjectSettings.DEFAULT_PORT,
1919
var serverName: String = UTBotAllProjectSettings.DEFAULT_HOST,
20-
)
20+
) {
21+
fun fromSettingsModel(model: UTBotSettingsModel) {
22+
port = model.globalSettings.port
23+
serverName = model.globalSettings.serverName
24+
}
25+
}
2126

2227
private var myState: State = State()
2328
override fun getState(): State = myState

clion-plugin/src/main/kotlin/org/utbot/cpp/clion/plugin/settings/UTBotProjectStoredSettings.kt

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,22 @@ class UTBotProjectStoredSettings(val project: Project) : PersistentStateComponen
3333
var verbose: Boolean = false,
3434
var timeoutPerFunction: Int = 0,
3535
var timeoutPerTest: Int = 30
36-
)
36+
) {
37+
fun fromSettingsModel(model: UTBotSettingsModel) {
38+
buildDirRelativePath = model.projectSettings.buildDirRelativePath
39+
testDirPath = model.projectSettings.testDirPath
40+
targetPath = model.projectSettings.targetPath
41+
remotePath = model.projectSettings.remotePath
42+
sourceDirs = model.projectSettings.sourceDirs
43+
cmakeOptions = model.projectSettings.cmakeOptions
44+
generateForStaticFunctions = model.projectSettings.generateForStaticFunctions
45+
useStubs = model.projectSettings.useStubs
46+
useDeterministicSearcher = model.projectSettings.useDeterministicSearcher
47+
verbose = model.projectSettings.verbose
48+
timeoutPerFunction = model.projectSettings.timeoutPerFunction
49+
timeoutPerTest = model.projectSettings.timeoutPerTest
50+
}
51+
}
3752

3853
override fun getState() = myState
3954
override fun loadState(state: State) {

clion-plugin/src/main/kotlin/org/utbot/cpp/clion/plugin/ui/wizard/UTBotWizard.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import com.intellij.ide.BrowserUtil
44
import com.intellij.ide.wizard.AbstractWizard
55
import com.intellij.openapi.project.Project
66
import org.utbot.cpp.clion.plugin.UTBot
7+
import org.utbot.cpp.clion.plugin.settings.UTBotSettingsModel
8+
import org.utbot.cpp.clion.plugin.settings.projectIndependentSettings
79
import org.utbot.cpp.clion.plugin.settings.settings
810
import org.utbot.cpp.clion.plugin.ui.wizard.steps.BuildOptionsStep
911
import org.utbot.cpp.clion.plugin.ui.wizard.steps.ConnectionStep
@@ -12,7 +14,7 @@ import org.utbot.cpp.clion.plugin.ui.wizard.steps.SuccessStep
1214

1315
class UTBotWizard(private val project: Project) : AbstractWizard<UTBotWizardStep>("UTBot: Quickstart", project) {
1416
// copy of settings to make changes during wizard steps
15-
private val mySettingsModel = project.settings.asModel()
17+
private val mySettingsModel = UTBotSettingsModel(project.settings.storedSettings, projectIndependentSettings)
1618

1719
init {
1820
addStep(IntroStrep())

0 commit comments

Comments
 (0)