@@ -3,6 +3,8 @@ package com.apollographql.ijplugin.settings
3
3
import com.apollographql.ijplugin.ApolloBundle
4
4
import com.apollographql.ijplugin.project.apolloProjectService
5
5
import com.apollographql.ijplugin.settings.studio.ApiKeyDialog
6
+ import com.apollographql.ijplugin.util.isGradlePluginPresent
7
+ import com.apollographql.ijplugin.util.isKotlinPluginPresent
6
8
import com.intellij.openapi.observable.properties.PropertyGraph
7
9
import com.intellij.openapi.project.Project
8
10
import com.intellij.ui.AddEditRemovePanel
@@ -32,21 +34,22 @@ class SettingsComponent(private val project: Project) {
32
34
private var addEditRemovePanel: AddEditRemovePanel <ApolloKotlinServiceConfiguration >? = null
33
35
34
36
val panel: JPanel = panel {
37
+ // Some options are irrelevant without the Kotlin or Gradle plugins (e.g. in RustRover).
35
38
group(ApolloBundle .message(" settings.codegen.title" )) {
36
39
row {
37
40
chkAutomaticCodegenTriggering = checkBox(ApolloBundle .message(" settings.codegen.automaticCodegenTriggering.text" ))
38
41
.comment(ApolloBundle .message(" settings.codegen.automaticCodegenTriggering.comment" ))
39
42
.bindSelected(automaticCodegenTriggeringProperty)
40
43
.component
41
44
}
42
- }
45
+ }.visible(isKotlinPluginPresent && isGradlePluginPresent)
43
46
group(ApolloBundle .message(" settings.graphqlPlugin.title" )) {
44
47
row {
45
48
checkBox(ApolloBundle .message(" settings.graphqlPlugin.contributeConfigurationToGraphqlPlugin.text" ))
46
49
.comment(ApolloBundle .message(" settings.graphqlPlugin.contributeConfigurationToGraphqlPlugin.comment" ))
47
50
.bindSelected(contributeConfigurationToGraphqlPluginProperty)
48
51
}
49
- }
52
+ }.visible(isKotlinPluginPresent && isGradlePluginPresent)
50
53
group(ApolloBundle .message(" settings.studio.title" )) {
51
54
if (! project.apolloProjectService.apolloVersion.isAtLeastV4) {
52
55
row { label(ApolloBundle .message(" settings.studio.apiKeys.needV4.message" )) }
@@ -98,7 +101,7 @@ class SettingsComponent(private val project: Project) {
98
101
.comment(ApolloBundle .message(" settings.studio.apiKeys.comment" ))
99
102
}
100
103
}
101
- }
104
+ }.visible(isKotlinPluginPresent && isGradlePluginPresent)
102
105
103
106
group(ApolloBundle .message(" settings.telemetry.telemetryEnabled.title" )) {
104
107
row {
0 commit comments