@@ -59,6 +59,8 @@ void QuickSettingsDialog::_fetch_setting_values() {
5959#ifndef ANDROID_ENABLED
6060 editor_languages = pi.hint_string .split (" ;" , false );
6161#endif
62+ } else if (pi.name == " interface/theme/style" ) {
63+ editor_styles = pi.hint_string .split (" ," );
6264 } else if (pi.name == " interface/theme/color_preset" ) {
6365 editor_themes = pi.hint_string .split (" ," );
6466 } else if (pi.name == " interface/editor/display_scale" ) {
@@ -90,6 +92,19 @@ void QuickSettingsDialog::_update_current_values() {
9092 }
9193 }
9294#endif
95+ // Style options.
96+ {
97+ const String current_style = EDITOR_GET (" interface/theme/style" );
98+
99+ for (int i = 0 ; i < editor_styles.size (); i++) {
100+ const String &style_value = editor_styles[i];
101+ if (current_style == style_value) {
102+ style_option_button->set_text (current_style);
103+ style_option_button->select (i);
104+ style_option_button->set_auto_translate_mode (AUTO_TRANSLATE_MODE_DISABLED);
105+ }
106+ }
107+ }
93108
94109 // Theme options.
95110 {
@@ -183,6 +198,11 @@ void QuickSettingsDialog::_language_selected(int p_id) {
183198}
184199#endif
185200
201+ void QuickSettingsDialog::_style_selected (int p_id) {
202+ const String selected_style = style_option_button->get_item_text (p_id);
203+ _set_setting_value (" interface/theme/style" , selected_style);
204+ }
205+
186206void QuickSettingsDialog::_theme_selected (int p_id) {
187207 const String selected_theme = theme_option_button->get_item_text (p_id);
188208 _set_setting_value (" interface/theme/color_preset" , selected_theme);
@@ -295,6 +315,19 @@ QuickSettingsDialog::QuickSettingsDialog() {
295315 _add_setting_control (TTRC (" Language" ), language_option_button);
296316 }
297317#endif
318+ // Style options.
319+ {
320+ style_option_button = memnew (OptionButton);
321+ style_option_button->set_fit_to_longest_item (false );
322+ style_option_button->connect (SceneStringName (item_selected), callable_mp (this , &QuickSettingsDialog::_style_selected));
323+
324+ for (int i = 0 ; i < editor_styles.size (); i++) {
325+ const String &style_value = editor_styles[i];
326+ style_option_button->add_item (style_value, i);
327+ }
328+
329+ _add_setting_control (TTRC (" Style" ), style_option_button);
330+ }
298331
299332 // Theme options.
300333 {
0 commit comments