mirror of
https://github.com/godotengine/godot.git
synced 2024-11-24 13:12:42 +00:00
Enable the display scale option in the Project manager's quick settings dialog
This commit is contained in:
parent
3978628c6c
commit
eaf85e6582
@ -43,7 +43,9 @@
|
|||||||
#include "scene/gui/panel_container.h"
|
#include "scene/gui/panel_container.h"
|
||||||
|
|
||||||
void QuickSettingsDialog::_fetch_setting_values() {
|
void QuickSettingsDialog::_fetch_setting_values() {
|
||||||
|
#ifndef ANDROID_ENABLED
|
||||||
editor_languages.clear();
|
editor_languages.clear();
|
||||||
|
#endif
|
||||||
editor_themes.clear();
|
editor_themes.clear();
|
||||||
editor_scales.clear();
|
editor_scales.clear();
|
||||||
editor_network_modes.clear();
|
editor_network_modes.clear();
|
||||||
@ -55,7 +57,9 @@ void QuickSettingsDialog::_fetch_setting_values() {
|
|||||||
|
|
||||||
for (const PropertyInfo &pi : editor_settings_properties) {
|
for (const PropertyInfo &pi : editor_settings_properties) {
|
||||||
if (pi.name == "interface/editor/editor_language") {
|
if (pi.name == "interface/editor/editor_language") {
|
||||||
|
#ifndef ANDROID_ENABLED
|
||||||
editor_languages = pi.hint_string.split(",");
|
editor_languages = pi.hint_string.split(",");
|
||||||
|
#endif
|
||||||
} else if (pi.name == "interface/theme/preset") {
|
} else if (pi.name == "interface/theme/preset") {
|
||||||
editor_themes = pi.hint_string.split(",");
|
editor_themes = pi.hint_string.split(",");
|
||||||
} else if (pi.name == "interface/editor/display_scale") {
|
} else if (pi.name == "interface/editor/display_scale") {
|
||||||
@ -70,6 +74,7 @@ void QuickSettingsDialog::_fetch_setting_values() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void QuickSettingsDialog::_update_current_values() {
|
void QuickSettingsDialog::_update_current_values() {
|
||||||
|
#ifndef ANDROID_ENABLED
|
||||||
// Language options.
|
// Language options.
|
||||||
{
|
{
|
||||||
const String current_lang = EDITOR_GET("interface/editor/editor_language");
|
const String current_lang = EDITOR_GET("interface/editor/editor_language");
|
||||||
@ -82,6 +87,7 @@ void QuickSettingsDialog::_update_current_values() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
// Theme options.
|
// Theme options.
|
||||||
{
|
{
|
||||||
@ -151,10 +157,12 @@ void QuickSettingsDialog::_add_setting_control(const String &p_text, Control *p_
|
|||||||
container->add_child(p_control);
|
container->add_child(p_control);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef ANDROID_ENABLED
|
||||||
void QuickSettingsDialog::_language_selected(int p_id) {
|
void QuickSettingsDialog::_language_selected(int p_id) {
|
||||||
const String selected_language = language_option_button->get_item_metadata(p_id);
|
const String selected_language = language_option_button->get_item_metadata(p_id);
|
||||||
_set_setting_value("interface/editor/editor_language", selected_language, true);
|
_set_setting_value("interface/editor/editor_language", selected_language, true);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void QuickSettingsDialog::_theme_selected(int p_id) {
|
void QuickSettingsDialog::_theme_selected(int p_id) {
|
||||||
const String selected_theme = theme_option_button->get_item_text(p_id);
|
const String selected_theme = theme_option_button->get_item_text(p_id);
|
||||||
@ -195,7 +203,9 @@ void QuickSettingsDialog::_request_restart() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void QuickSettingsDialog::update_size_limits(const Size2 &p_max_popup_size) {
|
void QuickSettingsDialog::update_size_limits(const Size2 &p_max_popup_size) {
|
||||||
|
#ifndef ANDROID_ENABLED
|
||||||
language_option_button->get_popup()->set_max_size(p_max_popup_size);
|
language_option_button->get_popup()->set_max_size(p_max_popup_size);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void QuickSettingsDialog::_notification(int p_what) {
|
void QuickSettingsDialog::_notification(int p_what) {
|
||||||
@ -237,6 +247,7 @@ QuickSettingsDialog::QuickSettingsDialog() {
|
|||||||
settings_list = memnew(VBoxContainer);
|
settings_list = memnew(VBoxContainer);
|
||||||
settings_list_panel->add_child(settings_list);
|
settings_list_panel->add_child(settings_list);
|
||||||
|
|
||||||
|
#ifndef ANDROID_ENABLED
|
||||||
// Language options.
|
// Language options.
|
||||||
{
|
{
|
||||||
language_option_button = memnew(OptionButton);
|
language_option_button = memnew(OptionButton);
|
||||||
@ -252,6 +263,7 @@ QuickSettingsDialog::QuickSettingsDialog() {
|
|||||||
|
|
||||||
_add_setting_control(TTR("Language"), language_option_button);
|
_add_setting_control(TTR("Language"), language_option_button);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
// Theme options.
|
// Theme options.
|
||||||
{
|
{
|
||||||
@ -319,13 +331,6 @@ QuickSettingsDialog::QuickSettingsDialog() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_update_current_values();
|
_update_current_values();
|
||||||
|
|
||||||
#ifdef ANDROID_ENABLED
|
|
||||||
// The language selection dropdown doesn't work on Android (as the setting isn't saved), see GH-60353.
|
|
||||||
// Also, the dropdown it spawns is very tall and can't be scrolled without a hardware mouse.
|
|
||||||
language_option_button->hide();
|
|
||||||
scale_option_button->hide();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Restart required panel.
|
// Restart required panel.
|
||||||
|
@ -43,7 +43,9 @@ class VBoxContainer;
|
|||||||
class QuickSettingsDialog : public AcceptDialog {
|
class QuickSettingsDialog : public AcceptDialog {
|
||||||
GDCLASS(QuickSettingsDialog, AcceptDialog);
|
GDCLASS(QuickSettingsDialog, AcceptDialog);
|
||||||
|
|
||||||
|
#ifndef ANDROID_ENABLED
|
||||||
Vector<String> editor_languages;
|
Vector<String> editor_languages;
|
||||||
|
#endif
|
||||||
Vector<String> editor_themes;
|
Vector<String> editor_themes;
|
||||||
Vector<String> editor_scales;
|
Vector<String> editor_scales;
|
||||||
Vector<String> editor_network_modes;
|
Vector<String> editor_network_modes;
|
||||||
@ -57,7 +59,11 @@ class QuickSettingsDialog : public AcceptDialog {
|
|||||||
|
|
||||||
void _add_setting_control(const String &p_text, Control *p_control);
|
void _add_setting_control(const String &p_text, Control *p_control);
|
||||||
|
|
||||||
|
#ifndef ANDROID_ENABLED
|
||||||
|
// The language selection dropdown doesn't work on Android (as the setting isn't saved), see GH-60353.
|
||||||
|
// Also, the dropdown it spawns is very tall and can't be scrolled without a hardware mouse.
|
||||||
OptionButton *language_option_button = nullptr;
|
OptionButton *language_option_button = nullptr;
|
||||||
|
#endif
|
||||||
OptionButton *theme_option_button = nullptr;
|
OptionButton *theme_option_button = nullptr;
|
||||||
OptionButton *scale_option_button = nullptr;
|
OptionButton *scale_option_button = nullptr;
|
||||||
OptionButton *network_mode_option_button = nullptr;
|
OptionButton *network_mode_option_button = nullptr;
|
||||||
@ -65,7 +71,9 @@ class QuickSettingsDialog : public AcceptDialog {
|
|||||||
|
|
||||||
Label *custom_theme_label = nullptr;
|
Label *custom_theme_label = nullptr;
|
||||||
|
|
||||||
|
#ifndef ANDROID_ENABLED
|
||||||
void _language_selected(int p_id);
|
void _language_selected(int p_id);
|
||||||
|
#endif
|
||||||
void _theme_selected(int p_id);
|
void _theme_selected(int p_id);
|
||||||
void _scale_selected(int p_id);
|
void _scale_selected(int p_id);
|
||||||
void _network_mode_selected(int p_id);
|
void _network_mode_selected(int p_id);
|
||||||
|
Loading…
Reference in New Issue
Block a user