|
1 | 1 | package com.dinosaur.dinosaurexploder.view; |
2 | 2 |
|
3 | 3 | import static com.almasb.fxgl.dsl.FXGLForKtKt.getUIFactoryService; |
| 4 | +import static com.dinosaur.dinosaurexploder.utils.LanguageManager.DEFAULT_LANGUAGE; |
4 | 5 |
|
5 | 6 | import com.almasb.fxgl.app.scene.FXGLMenu; |
6 | 7 | import com.almasb.fxgl.app.scene.MenuType; |
|
19 | 20 | import javafx.animation.TranslateTransition; |
20 | 21 | import javafx.geometry.Insets; |
21 | 22 | import javafx.geometry.Pos; |
22 | | -import javafx.scene.control.Button; |
23 | | -import javafx.scene.control.ComboBox; |
24 | | -import javafx.scene.control.Label; |
25 | | -import javafx.scene.control.Slider; |
| 23 | +import javafx.scene.control.*; |
26 | 24 | import javafx.scene.image.Image; |
27 | 25 | import javafx.scene.image.ImageView; |
28 | 26 | import javafx.scene.layout.StackPane; |
@@ -165,12 +163,34 @@ private VBox createLanguageSelector() { |
165 | 163 | languageComboBox.setPrefWidth(ComboBox.USE_COMPUTED_SIZE); |
166 | 164 | languageComboBox.setMinWidth(ComboBox.USE_COMPUTED_SIZE); |
167 | 165 |
|
168 | | - languageComboBox.setValue(settings.getLanguage() != null ? settings.getLanguage() : "English"); |
| 166 | + languageComboBox.setValue( |
| 167 | + settings.getLanguage() != null ? settings.getLanguage() : DEFAULT_LANGUAGE); |
169 | 168 |
|
170 | 169 | if (settings.getLanguage() != null) { |
171 | 170 | changeLanguage(settings.getLanguage()); |
172 | 171 | } |
173 | 172 |
|
| 173 | + // Define what text is drawn, keeping orignal item value (Draws text->"Français" while item |
| 174 | + // value->"French" |
| 175 | + languageComboBox.setCellFactory( |
| 176 | + cb -> |
| 177 | + new ListCell<>() { |
| 178 | + @Override |
| 179 | + protected void updateItem(String item, boolean empty) { |
| 180 | + super.updateItem(item, empty); |
| 181 | + setText(empty || item == null ? null : languageManager.getNativeLanguageName(item)); |
| 182 | + } |
| 183 | + }); |
| 184 | + |
| 185 | + languageComboBox.setButtonCell( |
| 186 | + new ListCell<>() { |
| 187 | + @Override |
| 188 | + protected void updateItem(String item, boolean empty) { |
| 189 | + super.updateItem(item, empty); |
| 190 | + setText(empty || item == null ? null : languageManager.getNativeLanguageName(item)); |
| 191 | + } |
| 192 | + }); |
| 193 | + |
174 | 194 | applyStylesheet(languageComboBox); |
175 | 195 | languageComboBox.setOnAction( |
176 | 196 | event -> { |
|
0 commit comments