@@ -79,8 +79,8 @@ class SelectLanguagesDialog(private val project: Project) : ComposeDialog(projec
7979 get() = 900 to 620
8080
8181 private val translatorService = TranslatorService .getInstance()
82- private val translator = translatorService.getSelectedTranslator()
83- private val supportedLanguages = translator.supportedLanguages.sortedBy { it.code }
82+ private var translator by mutableStateOf( translatorService.getSelectedTranslator() )
83+ private var supportedLanguages by mutableStateOf( translator.supportedLanguages.sortedBy { it.code })
8484 private val defaultFavoriteCodes = Languages .defaultFavoriteCodes()
8585
8686 private val favoriteLanguages = mutableStateListOf<Lang >()
@@ -143,8 +143,8 @@ class SelectLanguagesDialog(private val project: Project) : ComposeDialog(projec
143143 return
144144 }
145145
146- val languages by remember(favoriteLanguages) {
147- derivedStateOf { translator. supportedLanguages.filterNot { favoriteLanguages.contains(it) } }
146+ val languages by remember(favoriteLanguages, supportedLanguages ) {
147+ derivedStateOf { supportedLanguages.filterNot { favoriteLanguages.contains(it) } }
148148 }
149149
150150 SelectLanguagesContent (
@@ -178,6 +178,7 @@ class SelectLanguagesDialog(private val project: Project) : ComposeDialog(projec
178178 }
179179
180180 private fun loadState () {
181+ stateInitialized = false
181182 val properties = properties()
182183
183184 favoriteLanguages.clear()
@@ -251,6 +252,18 @@ class SelectLanguagesDialog(private val project: Project) : ComposeDialog(projec
251252
252253 private fun openPluginSettings () {
253254 ShowSettingsUtil .getInstance().showSettingsDialog(project, SettingsConfigurable ::class .java)
255+ refreshSettingsFromConfig()
256+ }
257+
258+ private fun refreshSettingsFromConfig () {
259+ val updatedTranslator = translatorService.getSelectedTranslator()
260+ val updatedSupportedLanguages = updatedTranslator.supportedLanguages.sortedBy { it.code }
261+ if (translator.key == updatedTranslator.key && supportedLanguages == updatedSupportedLanguages) {
262+ return
263+ }
264+ translator = updatedTranslator
265+ supportedLanguages = updatedSupportedLanguages
266+ loadState()
254267 }
255268}
256269
@@ -709,4 +722,4 @@ private fun TranslatorFooter(translator: AbstractTranslator, onOpenSettings: ()
709722 }
710723 }
711724 }
712- }
725+ }
0 commit comments