fix: DisplaySettings focus mode, remove duplicate ApplyWindowMode

This commit is contained in:
2026-03-19 03:35:28 +01:00
parent 8cce1866b1
commit 3e74959bb9
2 changed files with 5 additions and 20 deletions

View File

@@ -129,7 +129,7 @@ public partial class SettingsManager : Node
// ── apply helpers ──────────────────────────────────────────────────────── // ── apply helpers ────────────────────────────────────────────────────────
private void ApplyDisplaySettings() public void ApplyDisplaySettings()
{ {
switch (WindowMode) switch (WindowMode)
{ {

View File

@@ -19,6 +19,9 @@ public partial class DisplaySettings : Control
WindowModeButton.ItemSelected += OnWindowModeChanged; WindowModeButton.ItemSelected += OnWindowModeChanged;
ResolutionButton.ItemSelected += OnResolutionChanged; ResolutionButton.ItemSelected += OnResolutionChanged;
WindowModeButton.FocusMode = Control.FocusModeEnum.All;
ResolutionButton.FocusMode = Control.FocusModeEnum.All;
LoadSettings(); LoadSettings();
if (InputDeviceManager.Instance != null) if (InputDeviceManager.Instance != null)
@@ -85,8 +88,8 @@ public partial class DisplaySettings : Control
_ => "windowed" _ => "windowed"
}; };
ApplyWindowMode(mode);
SettingsManager.Instance.WindowMode = mode; SettingsManager.Instance.WindowMode = mode;
SettingsManager.Instance.ApplyDisplaySettings();
ResolutionButton.Disabled = mode == "fullscreen"; ResolutionButton.Disabled = mode == "fullscreen";
SettingsManager.Instance.SaveDisplaySettings(); SettingsManager.Instance.SaveDisplaySettings();
} }
@@ -106,24 +109,6 @@ public partial class DisplaySettings : Control
SettingsManager.Instance.SaveDisplaySettings(); 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() private void LoadSettings()
{ {
var mode = SettingsManager.Instance.WindowMode; var mode = SettingsManager.Instance.WindowMode;