aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.UI.Common
diff options
context:
space:
mode:
authorMutantAura <44103205+MutantAura@users.noreply.github.com>2024-05-01 17:21:24 +0100
committerGitHub <noreply@github.com>2024-05-01 18:21:24 +0200
commitd0cc13ce0b2a149c3d19aa58a2f12ddc6cc0196f (patch)
tree83eb9571151171ed2bf28830987bb319698020ee /src/Ryujinx.UI.Common
parent65c035cdf8093b2e303ded1dc7253f994570b115 (diff)
UI: Fix some MainWindow bugs and implement menubar items to change window size. (#6750)
* Do not save window dimensions when maximized. * Implement option to disable window size/position memory. * Remove logging statements * Implement menubar items for common window sizes. * formatting fixes * Set 720p window as a composite value. * Remove unused using * Fix exception paramter. * Force restore window when a size change is requested * Fix some resizing bugs.
Diffstat (limited to 'src/Ryujinx.UI.Common')
-rw-r--r--src/Ryujinx.UI.Common/Configuration/ConfigurationFileFormat.cs7
-rw-r--r--src/Ryujinx.UI.Common/Configuration/ConfigurationState.cs18
2 files changed, 24 insertions, 1 deletions
diff --git a/src/Ryujinx.UI.Common/Configuration/ConfigurationFileFormat.cs b/src/Ryujinx.UI.Common/Configuration/ConfigurationFileFormat.cs
index 3387e1be..af3ad0a1 100644
--- a/src/Ryujinx.UI.Common/Configuration/ConfigurationFileFormat.cs
+++ b/src/Ryujinx.UI.Common/Configuration/ConfigurationFileFormat.cs
@@ -15,7 +15,7 @@ namespace Ryujinx.UI.Common.Configuration
/// <summary>
/// The current version of the file format
/// </summary>
- public const int CurrentVersion = 50;
+ public const int CurrentVersion = 51;
/// <summary>
/// Version of the configuration file format
@@ -163,6 +163,11 @@ namespace Ryujinx.UI.Common.Configuration
public bool ShowConfirmExit { get; set; }
/// <summary>
+ /// Enables or disables save window size, position and state on close.
+ /// </summary>
+ public bool RememberWindowState { get; set; }
+
+ /// <summary>
/// Enables hardware-accelerated rendering for Avalonia
/// </summary>
public bool EnableHardwareAcceleration { get; set; }
diff --git a/src/Ryujinx.UI.Common/Configuration/ConfigurationState.cs b/src/Ryujinx.UI.Common/Configuration/ConfigurationState.cs
index 2609dc9b..01c60a5e 100644
--- a/src/Ryujinx.UI.Common/Configuration/ConfigurationState.cs
+++ b/src/Ryujinx.UI.Common/Configuration/ConfigurationState.cs
@@ -627,6 +627,11 @@ namespace Ryujinx.UI.Common.Configuration
public ReactiveObject<bool> ShowConfirmExit { get; private set; }
/// <summary>
+ /// Enables or disables save window size, position and state on close.
+ /// </summary>
+ public ReactiveObject<bool> RememberWindowState { get; private set; }
+
+ /// <summary>
/// Enables hardware-accelerated rendering for Avalonia
/// </summary>
public ReactiveObject<bool> EnableHardwareAcceleration { get; private set; }
@@ -647,6 +652,7 @@ namespace Ryujinx.UI.Common.Configuration
EnableDiscordIntegration = new ReactiveObject<bool>();
CheckUpdatesOnStart = new ReactiveObject<bool>();
ShowConfirmExit = new ReactiveObject<bool>();
+ RememberWindowState = new ReactiveObject<bool>();
EnableHardwareAcceleration = new ReactiveObject<bool>();
HideCursor = new ReactiveObject<HideCursorMode>();
}
@@ -684,6 +690,7 @@ namespace Ryujinx.UI.Common.Configuration
EnableDiscordIntegration = EnableDiscordIntegration,
CheckUpdatesOnStart = CheckUpdatesOnStart,
ShowConfirmExit = ShowConfirmExit,
+ RememberWindowState = RememberWindowState,
EnableHardwareAcceleration = EnableHardwareAcceleration,
HideCursor = HideCursor,
EnableVsync = Graphics.EnableVsync,
@@ -792,6 +799,7 @@ namespace Ryujinx.UI.Common.Configuration
EnableDiscordIntegration.Value = true;
CheckUpdatesOnStart.Value = true;
ShowConfirmExit.Value = true;
+ RememberWindowState.Value = true;
EnableHardwareAcceleration.Value = true;
HideCursor.Value = HideCursorMode.OnIdle;
Graphics.EnableVsync.Value = true;
@@ -1459,6 +1467,15 @@ namespace Ryujinx.UI.Common.Configuration
configurationFileUpdated = true;
}
+ if (configurationFileFormat.Version < 51)
+ {
+ Ryujinx.Common.Logging.Logger.Warning?.Print(LogClass.Application, $"Outdated configuration version {configurationFileFormat.Version}, migrating to version 51.");
+
+ configurationFileFormat.RememberWindowState = true;
+
+ configurationFileUpdated = true;
+ }
+
Logger.EnableFileLog.Value = configurationFileFormat.EnableFileLog;
Graphics.ResScale.Value = configurationFileFormat.ResScale;
Graphics.ResScaleCustom.Value = configurationFileFormat.ResScaleCustom;
@@ -1489,6 +1506,7 @@ namespace Ryujinx.UI.Common.Configuration
EnableDiscordIntegration.Value = configurationFileFormat.EnableDiscordIntegration;
CheckUpdatesOnStart.Value = configurationFileFormat.CheckUpdatesOnStart;
ShowConfirmExit.Value = configurationFileFormat.ShowConfirmExit;
+ RememberWindowState.Value = configurationFileFormat.RememberWindowState;
EnableHardwareAcceleration.Value = configurationFileFormat.EnableHardwareAcceleration;
HideCursor.Value = configurationFileFormat.HideCursor;
Graphics.EnableVsync.Value = configurationFileFormat.EnableVsync;