diff --git a/Autoloads/SettingsManager.cs b/Autoloads/SettingsManager.cs index 867970b..3d4bdd7 100644 --- a/Autoloads/SettingsManager.cs +++ b/Autoloads/SettingsManager.cs @@ -129,7 +129,7 @@ public partial class SettingsManager : Node // ── apply helpers ──────────────────────────────────────────────────────── - private void ApplyDisplaySettings() + public void ApplyDisplaySettings() { switch (WindowMode) { diff --git a/scripts/UI/DisplaySettings.cs b/scripts/UI/DisplaySettings.cs index 374581d..7399337 100644 --- a/scripts/UI/DisplaySettings.cs +++ b/scripts/UI/DisplaySettings.cs @@ -19,6 +19,9 @@ public partial class DisplaySettings : Control WindowModeButton.ItemSelected += OnWindowModeChanged; ResolutionButton.ItemSelected += OnResolutionChanged; + WindowModeButton.FocusMode = Control.FocusModeEnum.All; + ResolutionButton.FocusMode = Control.FocusModeEnum.All; + LoadSettings(); if (InputDeviceManager.Instance != null) @@ -85,8 +88,8 @@ public partial class DisplaySettings : Control _ => "windowed" }; - ApplyWindowMode(mode); SettingsManager.Instance.WindowMode = mode; + SettingsManager.Instance.ApplyDisplaySettings(); ResolutionButton.Disabled = mode == "fullscreen"; SettingsManager.Instance.SaveDisplaySettings(); } @@ -106,24 +109,6 @@ public partial class DisplaySettings : Control SettingsManager.Instance.SaveDisplaySettings(); } - private static void ApplyWindowMode(string mode) - { - switch (mode) - { - case "fullscreen": - DisplayServer.WindowSetMode(DisplayServer.WindowMode.Fullscreen); - break; - case "borderless": - DisplayServer.WindowSetMode(DisplayServer.WindowMode.Windowed); - DisplayServer.WindowSetFlag(DisplayServer.WindowFlags.Borderless, true); - break; - default: - DisplayServer.WindowSetMode(DisplayServer.WindowMode.Windowed); - DisplayServer.WindowSetFlag(DisplayServer.WindowFlags.Borderless, false); - break; - } - } - private void LoadSettings() { var mode = SettingsManager.Instance.WindowMode;