fix: DisplaySettings focus mode, remove duplicate ApplyWindowMode
This commit is contained in:
@@ -129,7 +129,7 @@ public partial class SettingsManager : Node
|
|||||||
|
|
||||||
// ── apply helpers ────────────────────────────────────────────────────────
|
// ── apply helpers ────────────────────────────────────────────────────────
|
||||||
|
|
||||||
private void ApplyDisplaySettings()
|
public void ApplyDisplaySettings()
|
||||||
{
|
{
|
||||||
switch (WindowMode)
|
switch (WindowMode)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user