Tweak the "Auto" editor setting hints to be more indicative
This affects the editor scale and font hinting settings which will now display their automatically chosen value in parentheses.
This commit is contained in:
parent
49b5776e8b
commit
57654508c9
3 changed files with 29 additions and 2 deletions
|
@ -5581,6 +5581,8 @@ EditorNode::EditorNode() {
|
|||
switch (display_scale) {
|
||||
case 0: {
|
||||
// Try applying a suitable display scale automatically.
|
||||
// The code below is adapted in `editor/editor_settings.cpp` and `editor/project_manager.cpp`.
|
||||
// Make sure to update those when modifying the code below.
|
||||
#ifdef OSX_ENABLED
|
||||
editor_set_scale(DisplayServer::get_singleton()->screen_get_max_scale());
|
||||
#else
|
||||
|
|
|
@ -326,7 +326,26 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
|
|||
|
||||
// Editor
|
||||
_initial_set("interface/editor/display_scale", 0);
|
||||
hints["interface/editor/display_scale"] = PropertyInfo(Variant::INT, "interface/editor/display_scale", PROPERTY_HINT_ENUM, "Auto,75%,100%,125%,150%,175%,200%,Custom", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED);
|
||||
// Display what the Auto display scale setting effectively corresponds to.
|
||||
// The code below is adapted in `editor/editor_node.cpp` and `editor/project_manager.cpp`.
|
||||
// Make sure to update those when modifying the code below.
|
||||
#ifdef OSX_ENABLED
|
||||
float scale = DisplayServer::get_singleton()->screen_get_max_scale();
|
||||
#else
|
||||
const int screen = DisplayServer::get_singleton()->window_get_current_screen();
|
||||
float scale;
|
||||
if (DisplayServer::get_singleton()->screen_get_dpi(screen) >= 192 && DisplayServer::get_singleton()->screen_get_size(screen).y >= 1400) {
|
||||
// hiDPI display.
|
||||
scale = 2.0;
|
||||
} else if (DisplayServer::get_singleton()->screen_get_size(screen).y <= 800) {
|
||||
// Small loDPI display. Use a smaller display scale so that editor elements fit more easily.
|
||||
// Icons won't look great, but this is better than having editor elements overflow from its window.
|
||||
scale = 0.75;
|
||||
} else {
|
||||
scale = 1.0;
|
||||
}
|
||||
#endif
|
||||
hints["interface/editor/display_scale"] = PropertyInfo(Variant::INT, "interface/editor/display_scale", PROPERTY_HINT_ENUM, vformat("Auto (%d%%),75%%,100%%,125%%,150%%,175%%,200%%,Custom", Math::round(scale * 100)), PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED);
|
||||
_initial_set("interface/editor/custom_display_scale", 1.0f);
|
||||
hints["interface/editor/custom_display_scale"] = PropertyInfo(Variant::FLOAT, "interface/editor/custom_display_scale", PROPERTY_HINT_RANGE, "0.5,3,0.01", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED);
|
||||
_initial_set("interface/editor/main_font_size", 14);
|
||||
|
@ -339,7 +358,11 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
|
|||
_initial_set("interface/editor/code_font_custom_variations", "");
|
||||
_initial_set("interface/editor/font_antialiased", true);
|
||||
_initial_set("interface/editor/font_hinting", 0);
|
||||
hints["interface/editor/font_hinting"] = PropertyInfo(Variant::INT, "interface/editor/font_hinting", PROPERTY_HINT_ENUM, "Auto,None,Light,Normal", PROPERTY_USAGE_DEFAULT);
|
||||
#ifdef OSX_ENABLED
|
||||
hints["interface/editor/font_hinting"] = PropertyInfo(Variant::INT, "interface/editor/font_hinting", PROPERTY_HINT_ENUM, "Auto (None),None,Light,Normal", PROPERTY_USAGE_DEFAULT);
|
||||
#else
|
||||
hints["interface/editor/font_hinting"] = PropertyInfo(Variant::INT, "interface/editor/font_hinting", PROPERTY_HINT_ENUM, "Auto (Light),None,Light,Normal", PROPERTY_USAGE_DEFAULT);
|
||||
#endif
|
||||
_initial_set("interface/editor/main_font", "");
|
||||
hints["interface/editor/main_font"] = PropertyInfo(Variant::STRING, "interface/editor/main_font", PROPERTY_HINT_GLOBAL_FILE, "*.ttf,*.otf", PROPERTY_USAGE_DEFAULT);
|
||||
_initial_set("interface/editor/main_font_bold", "");
|
||||
|
|
|
@ -2371,6 +2371,8 @@ ProjectManager::ProjectManager() {
|
|||
switch (display_scale) {
|
||||
case 0: {
|
||||
// Try applying a suitable display scale automatically.
|
||||
// The code below is adapted in `editor/editor_settings.cpp` and `editor/editor_node.cpp`.
|
||||
// Make sure to update those when modifying the code below.
|
||||
#ifdef OSX_ENABLED
|
||||
editor_set_scale(DisplayServer::get_singleton()->screen_get_max_scale());
|
||||
#else
|
||||
|
|
Loading…
Reference in a new issue