From ce29eddb44c1f2be08a7ba0c7291fcc67139e0d3 Mon Sep 17 00:00:00 2001 From: Anish Mishra Date: Sun, 18 May 2025 18:13:26 +0530 Subject: [PATCH] Ready for alpha 2 release (seriously this time) - Add granularity in auto scaling. - Make 1.5 as base scaling. - Add "duplicate" and "Save" as default in shortcut panel. --- src/autoload/Configs.gd | 2 +- src/autoload/HandlerGUI.gd | 25 ++++++++++++++++++------- src/ui_parts/settings_menu.gd | 16 ++++++++++------ 3 files changed, 29 insertions(+), 14 deletions(-) diff --git a/src/autoload/Configs.gd b/src/autoload/Configs.gd index e2323d8..072df73 100644 --- a/src/autoload/Configs.gd +++ b/src/autoload/Configs.gd @@ -75,7 +75,7 @@ func reset_settings() -> void: savedata = SaveData.new() savedata.reset_to_default() savedata.language = "en" - savedata.set_shortcut_panel_slots({ 0: "ui_undo", 1: "ui_redo" }) + savedata.set_shortcut_panel_slots({ 0: "ui_undo", 1: "ui_redo", 2: "duplicate", 3: "save" }) savedata.set_palettes([Palette.new("Pure", Palette.Preset.PURE)]) save() diff --git a/src/autoload/HandlerGUI.gd b/src/autoload/HandlerGUI.gd index a6074c4..77c33a4 100644 --- a/src/autoload/HandlerGUI.gd +++ b/src/autoload/HandlerGUI.gd @@ -366,23 +366,34 @@ func get_min_ui_scale() -> float: func get_auto_ui_scale() -> float: var dpi := DisplayServer.screen_get_dpi(DisplayServer.window_get_current_screen()) + if dpi <= 120: - return 0.75 # ldpi + return 0.75 elif dpi <= 160: - return 1.0 # mdpi + return 1.0 + elif dpi <= 200: + return 1.25 elif dpi <= 240: - return 1.5 # hdpi + return 1.5 + elif dpi <= 280: + return 1.75 elif dpi <= 320: - return 2.0 # xhdpi + return 2.0 + elif dpi <= 360: + return 2.25 elif dpi <= 400: return 2.5 + elif dpi <= 440: + return 2.75 elif dpi <= 480: - return 3.0 # xxhdpi + return 3.0 + elif dpi <= 560: + return 3.5 elif dpi <= 640: - return 4.0 # xxxhdpi + return 4.0 else: return 5.0 - + func update_ui_scale() -> void: var window := get_window() diff --git a/src/ui_parts/settings_menu.gd b/src/ui_parts/settings_menu.gd index 8714256..091d044 100644 --- a/src/ui_parts/settings_menu.gd +++ b/src/ui_parts/settings_menu.gd @@ -249,6 +249,8 @@ func setup_content() -> void: current_setup_setting = "ui_scale" var dropdown_values := [ SaveData.ScalingApproach.AUTO, + SaveData.ScalingApproach.CONSTANT_100, + SaveData.ScalingApproach.CONSTANT_125, SaveData.ScalingApproach.CONSTANT_150, SaveData.ScalingApproach.CONSTANT_175, SaveData.ScalingApproach.CONSTANT_200, @@ -257,12 +259,14 @@ func setup_content() -> void: ] # Dictionary[SaveData.ScalingApproach, String] var dropdown_map: Dictionary = { - SaveData.ScalingApproach.AUTO: "Auto (%d%%)" % int(HandlerGUI.get_auto_ui_scale() / 2.0 * 100), - SaveData.ScalingApproach.CONSTANT_150: "75%", - SaveData.ScalingApproach.CONSTANT_175: "88%", - SaveData.ScalingApproach.CONSTANT_200: "100%", - SaveData.ScalingApproach.CONSTANT_250: "125%", - SaveData.ScalingApproach.CONSTANT_300: "150%" + SaveData.ScalingApproach.AUTO: "Auto (%d%%)" % int(HandlerGUI.get_auto_ui_scale()/ 1.5 * 100), + SaveData.ScalingApproach.CONSTANT_100: "66%", + SaveData.ScalingApproach.CONSTANT_125: "83%", + SaveData.ScalingApproach.CONSTANT_150: "100%", + SaveData.ScalingApproach.CONSTANT_175: "116%", + SaveData.ScalingApproach.CONSTANT_200: "133%", + SaveData.ScalingApproach.CONSTANT_250: "166%", + SaveData.ScalingApproach.CONSTANT_300: "200%" } add_dropdown(Translator.translate("UI scale"), dropdown_values, dropdown_map) add_advice(Translator.translate("Changes the scale factor for the interface."))