11package com.github.cnrture.quickprojectwizard.dialog
22
3- import androidx.compose.foundation.BorderStroke
4- import androidx.compose.foundation.background
5- import androidx.compose.foundation.clickable
3+ import androidx.compose.foundation.*
64import androidx.compose.foundation.layout.*
75import androidx.compose.foundation.shape.RoundedCornerShape
86import androidx.compose.material.Card
@@ -30,7 +28,6 @@ import com.github.cnrture.quickprojectwizard.common.rootDirectoryStringDropLast
3028import com.github.cnrture.quickprojectwizard.components.*
3129import com.github.cnrture.quickprojectwizard.data.FeatureTemplate
3230import com.github.cnrture.quickprojectwizard.data.SettingsService
33- import com.github.cnrture.quickprojectwizard.data.getDefaultFeatureTemplates
3431import com.github.cnrture.quickprojectwizard.theme.QPWTheme
3532import com.intellij.openapi.application.ApplicationManager
3633import com.intellij.openapi.components.service
@@ -42,8 +39,8 @@ class FeatureMakerDialog(
4239 private val project : Project ,
4340 startingLocation : VirtualFile ? ,
4441) : QPWDialogWrapper(
45- width = Constants . FEATURE_MAKER_WINDOW_WIDTH ,
46- height = Constants . FEATURE_MAKER_WINDOW_HEIGHT ,
42+ width = 600 ,
43+ height = 540 ,
4744) {
4845
4946 private val fileWriter = FileWriter ()
@@ -100,19 +97,8 @@ class FeatureMakerDialog(
10097 val selectedSrc = remember { selectedSrc }
10198 val featureName = remember { featureName }
10299 val settings = ApplicationManager .getApplication().service<SettingsService >()
103- val defaultTemplate = remember { settings.getDefaultFeatureTemplate() }
104- val availableTemplates = remember {
105- val currentTemplates = settings.state.featureTemplates.toMutableList()
106- if (currentTemplates.isEmpty()) {
107- currentTemplates.addAll(getDefaultFeatureTemplates())
108- }
109- currentTemplates
110- }
111- var selectedTemplate by remember {
112- mutableStateOf(
113- defaultTemplate ? : if (availableTemplates.isNotEmpty()) availableTemplates.first() else null
114- )
115- }
100+ var selectedTemplate by remember { mutableStateOf(settings.getDefaultFeatureTemplate()) }
101+ val availableTemplates = remember { settings.getFeatureTemplates() }
116102
117103 Scaffold (
118104 modifier = modifier,
@@ -150,7 +136,9 @@ class FeatureMakerDialog(
150136 }
151137 ) { padding ->
152138 Column (
153- modifier = Modifier .fillMaxSize(),
139+ modifier = Modifier
140+ .fillMaxSize()
141+ .verticalScroll(rememberScrollState()),
154142 ) {
155143 QPWText (
156144 text = " Selected root: ${selectedSrc.value} " ,
@@ -167,9 +155,9 @@ class FeatureMakerDialog(
167155 TemplateSelectionContent (
168156 templates = availableTemplates,
169157 selectedTemplate = selectedTemplate,
170- defaultTemplateId = defaultTemplate ?.id ? : " " ,
158+ defaultTemplateId = settings.getDefaultFeatureTemplate() ?.id.orEmpty() ,
171159 onTemplateSelected = { template ->
172- selectedTemplate = template ? : defaultTemplate
160+ selectedTemplate = template ? : settings.getDefaultFeatureTemplate()
173161 }
174162 )
175163 }
0 commit comments