diff --git a/src/main/kotlin/com/marvinelsen/willow/ui/controllers/MenuController.kt b/src/main/kotlin/com/marvinelsen/willow/ui/controllers/MenuController.kt index 10851e3..9157b11 100644 --- a/src/main/kotlin/com/marvinelsen/willow/ui/controllers/MenuController.kt +++ b/src/main/kotlin/com/marvinelsen/willow/ui/controllers/MenuController.kt @@ -8,9 +8,13 @@ import javafx.beans.binding.Bindings import javafx.fxml.FXML import javafx.scene.control.MenuBar import javafx.scene.control.MenuItem +import java.util.ResourceBundle @Suppress("UnusedPrivateMember") class MenuController(private val model: Model, private val config: Config) { + @FXML + private lateinit var resources: ResourceBundle + @FXML private lateinit var menuBar: MenuBar @@ -28,10 +32,10 @@ class MenuController(private val model: Model, private val config: Config) { @FXML private fun onMenuItemPreferencesAction() { - PreferencesDialog(menuBar.scene.window, config).showAndWait().ifPresent { result -> + PreferencesDialog(menuBar.scene.window, config, resources).showAndWait().ifPresent { result -> when (result) { - PreferencesDialog.Result.CHANGES -> config.save() - PreferencesDialog.Result.NO_CHANGES -> config.load() + PreferencesDialog.Result.SAVE_CHANGES -> config.save() + PreferencesDialog.Result.DO_NOT_SAVE_CHANGES -> config.load() } } } diff --git a/src/main/kotlin/com/marvinelsen/willow/ui/controllers/dialogs/PreferencesDialogController.kt b/src/main/kotlin/com/marvinelsen/willow/ui/controllers/dialogs/PreferencesDialogController.kt new file mode 100644 index 0000000..08f70df --- /dev/null +++ b/src/main/kotlin/com/marvinelsen/willow/ui/controllers/dialogs/PreferencesDialogController.kt @@ -0,0 +1,108 @@ +package com.marvinelsen.willow.ui.controllers.dialogs + +import com.marvinelsen.willow.config.Config +import com.marvinelsen.willow.config.Pronunciation +import com.marvinelsen.willow.config.Script +import com.marvinelsen.willow.config.Theme +import com.marvinelsen.willow.ui.formatters.FontSizeTextFormatter +import javafx.fxml.FXML +import javafx.scene.control.CheckBox +import javafx.scene.control.ComboBox +import javafx.scene.control.Spinner +import java.util.Locale + +@Suppress("UnusedPrivateMember") +class PreferencesDialogController(private val config: Config) { + @FXML + private lateinit var comboBoxLocale: ComboBox + + @FXML + private lateinit var comboBoxTheme: ComboBox + + @FXML + private lateinit var comboBoxScript: ComboBox