@@ -12,16 +12,18 @@ import javax.swing.JComponent
12
12
import javax.swing.JTextField
13
13
14
14
// Docker Make project config
15
- class DockDockBuildConfigurable (project : Project ? ) : Configurable {
15
+ class DockDockBuildConfigurable (project : Project ) : Configurable {
16
16
17
- private val settings = DockDockBuildProjectSettings ( )
17
+ private val settings = project.getService( DockDockBuildProjectSettings :: class .java )
18
18
private val dockerPathField = TextFieldWithBrowseButton ()
19
19
private val codePathField = TextFieldWithBrowseButton ()
20
20
private val mavenCachePathField = TextFieldWithBrowseButton ()
21
21
private val advancedDockerSettingsField = JTextField ()
22
- private val defaultCodePath = getDefaultCodePath(project!! )
23
22
24
23
init {
24
+ // a hack since we don't always have 'project' in DockDockBuildProjectSettings
25
+ settings.settings.codePath = settings.settings.codePath.ifEmpty { getDefaultCodePath(project) }
26
+
25
27
dockerPathField.addBrowseFolderListener(PLUGIN_NAME , " Path to Docker executable" , project,
26
28
FileChooserDescriptor (true , false , false , false , false , false ))
27
29
codePathField.addBrowseFolderListener(PLUGIN_NAME , " Path to code root" , project,
@@ -31,19 +33,19 @@ class DockDockBuildConfigurable(project: Project?) : Configurable {
31
33
}
32
34
33
35
override fun isModified (): Boolean {
34
- return (settings.settings? .dockerPath != dockerPathField.text) ||
35
- (settings.settings? .codePath != codePathField.text) ||
36
- (settings.settings? .mavenCachePath != mavenCachePathField.text) ||
37
- (settings.settings? .advancedDockerSettings != advancedDockerSettingsField.text)
36
+ return (settings.settings.dockerPath != dockerPathField.text) ||
37
+ (settings.settings.codePath != codePathField.text) ||
38
+ (settings.settings.mavenCachePath != mavenCachePathField.text) ||
39
+ (settings.settings.advancedDockerSettings != advancedDockerSettingsField.text)
38
40
}
39
41
40
42
override fun getDisplayName () = PLUGIN_NAME
41
43
42
44
override fun apply () {
43
- settings.settings? .dockerPath = dockerPathField.text
44
- settings.settings? .codePath = codePathField.text
45
- settings.settings? .mavenCachePath = mavenCachePathField.text
46
- settings.settings? .advancedDockerSettings = advancedDockerSettingsField.text
45
+ settings.settings.dockerPath = dockerPathField.text
46
+ settings.settings.codePath = codePathField.text
47
+ settings.settings.mavenCachePath = mavenCachePathField.text
48
+ settings.settings.advancedDockerSettings = advancedDockerSettingsField.text
47
49
}
48
50
49
51
override fun createComponent (): JComponent {
@@ -64,11 +66,11 @@ class DockDockBuildConfigurable(project: Project?) : Configurable {
64
66
}
65
67
66
68
override fun reset () {
67
- dockerPathField.text = settings.settings? .dockerPath ? : getDefaultDockerPath()
68
- codePathField.text = settings.settings? .codePath ? : defaultCodePath
69
- mavenCachePathField.text = settings.settings? .mavenCachePath ? : getDefaultM2Path()
70
- advancedDockerSettingsField.text = settings.settings? .advancedDockerSettings ? : " "
69
+ dockerPathField.text = settings.settings.dockerPath
70
+ codePathField.text = settings.settings.codePath
71
+ mavenCachePathField.text = settings.settings.mavenCachePath
72
+ advancedDockerSettingsField.text = settings.settings.advancedDockerSettings
71
73
}
72
74
73
75
override fun getHelpTopic () = null
74
- }
76
+ }
0 commit comments