aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Ui.Common/Configuration/ConfigurationState.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Ui.Common/Configuration/ConfigurationState.cs')
-rw-r--r--Ryujinx.Ui.Common/Configuration/ConfigurationState.cs71
1 files changed, 69 insertions, 2 deletions
diff --git a/Ryujinx.Ui.Common/Configuration/ConfigurationState.cs b/Ryujinx.Ui.Common/Configuration/ConfigurationState.cs
index 82a331c1..12cc1b8f 100644
--- a/Ryujinx.Ui.Common/Configuration/ConfigurationState.cs
+++ b/Ryujinx.Ui.Common/Configuration/ConfigurationState.cs
@@ -61,6 +61,29 @@ namespace Ryujinx.Ui.Common.Configuration
}
/// <summary>
+ /// Used to toggle which file types are shown in the UI
+ /// </summary>
+ public class ShownFileTypeSettings
+ {
+ public ReactiveObject<bool> NSP { get; private set; }
+ public ReactiveObject<bool> PFS0 { get; private set; }
+ public ReactiveObject<bool> XCI { get; private set; }
+ public ReactiveObject<bool> NCA { get; private set; }
+ public ReactiveObject<bool> NRO { get; private set; }
+ public ReactiveObject<bool> NSO { get; private set; }
+
+ public ShownFileTypeSettings()
+ {
+ NSP = new ReactiveObject<bool>();
+ PFS0 = new ReactiveObject<bool>();
+ XCI = new ReactiveObject<bool>();
+ NCA = new ReactiveObject<bool>();
+ NRO = new ReactiveObject<bool>();
+ NSO = new ReactiveObject<bool>();
+ }
+ }
+
+ /// <summary>
/// Used to toggle columns in the GUI
/// </summary>
public Columns GuiColumns { get; private set; }
@@ -76,6 +99,11 @@ namespace Ryujinx.Ui.Common.Configuration
public ReactiveObject<List<string>> GameDirs { get; private set; }
/// <summary>
+ /// A list of file types to be hidden in the games List
+ /// </summary>
+ public ShownFileTypeSettings ShownFileTypes { get; private set; }
+
+ /// <summary>
/// Language Code for the UI
/// </summary>
public ReactiveObject<string> LanguageCode { get; private set; }
@@ -135,6 +163,7 @@ namespace Ryujinx.Ui.Common.Configuration
GuiColumns = new Columns();
ColumnSort = new ColumnSortSettings();
GameDirs = new ReactiveObject<List<string>>();
+ ShownFileTypes = new ShownFileTypeSettings();
EnableCustomTheme = new ReactiveObject<bool>();
CustomThemePath = new ReactiveObject<string>();
BaseStyle = new ReactiveObject<string>();
@@ -618,6 +647,15 @@ namespace Ryujinx.Ui.Common.Configuration
SortAscending = Ui.ColumnSort.SortAscending
},
GameDirs = Ui.GameDirs,
+ ShownFileTypes = new ShownFileTypes
+ {
+ NSP = Ui.ShownFileTypes.NSP,
+ PFS0 = Ui.ShownFileTypes.PFS0,
+ XCI = Ui.ShownFileTypes.XCI,
+ NCA = Ui.ShownFileTypes.NCA,
+ NRO = Ui.ShownFileTypes.NRO,
+ NSO = Ui.ShownFileTypes.NSO,
+ },
LanguageCode = Ui.LanguageCode,
EnableCustomTheme = Ui.EnableCustomTheme,
CustomThemePath = Ui.CustomThemePath,
@@ -702,7 +740,13 @@ namespace Ryujinx.Ui.Common.Configuration
Ui.ColumnSort.SortColumnId.Value = 0;
Ui.ColumnSort.SortAscending.Value = false;
Ui.GameDirs.Value = new List<string>();
- Ui.EnableCustomTheme.Value = false;
+ Ui.ShownFileTypes.NSP.Value = true;
+ Ui.ShownFileTypes.PFS0.Value = true;
+ Ui.ShownFileTypes.XCI.Value = true;
+ Ui.ShownFileTypes.NCA.Value = true;
+ Ui.ShownFileTypes.NRO.Value = true;
+ Ui.ShownFileTypes.NSO.Value = true;
+ Ui.EnableCustomTheme.Value = true;
Ui.LanguageCode.Value = "en_US";
Ui.CustomThemePath.Value = "";
Ui.BaseStyle.Value = "Dark";
@@ -1238,7 +1282,7 @@ namespace Ryujinx.Ui.Common.Configuration
if (configurationFileFormat.Version < 44)
{
- Ryujinx.Common.Logging.Logger.Warning?.Print(LogClass.Application, $"Outdated configuration version {configurationFileFormat.Version}, migrating to version 42.");
+ Ryujinx.Common.Logging.Logger.Warning?.Print(LogClass.Application, $"Outdated configuration version {configurationFileFormat.Version}, migrating to version 44.");
configurationFileFormat.AntiAliasing = AntiAliasing.None;
configurationFileFormat.ScalingFilter = ScalingFilter.Bilinear;
@@ -1247,6 +1291,23 @@ namespace Ryujinx.Ui.Common.Configuration
configurationFileUpdated = true;
}
+ if (configurationFileFormat.Version < 45)
+ {
+ Ryujinx.Common.Logging.Logger.Warning?.Print(LogClass.Application, $"Outdated configuration version {configurationFileFormat.Version}, migrating to version 45.");
+
+ configurationFileFormat.ShownFileTypes = new ShownFileTypes
+ {
+ NSP = true,
+ PFS0 = true,
+ XCI = true,
+ NCA = true,
+ NRO = true,
+ NSO = true
+ };
+
+ configurationFileUpdated = true;
+ }
+
Logger.EnableFileLog.Value = configurationFileFormat.EnableFileLog;
Graphics.ResScale.Value = configurationFileFormat.ResScale;
Graphics.ResScaleCustom.Value = configurationFileFormat.ResScaleCustom;
@@ -1305,6 +1366,12 @@ namespace Ryujinx.Ui.Common.Configuration
Ui.ColumnSort.SortColumnId.Value = configurationFileFormat.ColumnSort.SortColumnId;
Ui.ColumnSort.SortAscending.Value = configurationFileFormat.ColumnSort.SortAscending;
Ui.GameDirs.Value = configurationFileFormat.GameDirs;
+ Ui.ShownFileTypes.NSP.Value = configurationFileFormat.ShownFileTypes.NSP;
+ Ui.ShownFileTypes.PFS0.Value = configurationFileFormat.ShownFileTypes.PFS0;
+ Ui.ShownFileTypes.XCI.Value = configurationFileFormat.ShownFileTypes.XCI;
+ Ui.ShownFileTypes.NCA.Value = configurationFileFormat.ShownFileTypes.NCA;
+ Ui.ShownFileTypes.NRO.Value = configurationFileFormat.ShownFileTypes.NRO;
+ Ui.ShownFileTypes.NSO.Value = configurationFileFormat.ShownFileTypes.NSO;
Ui.EnableCustomTheme.Value = configurationFileFormat.EnableCustomTheme;
Ui.LanguageCode.Value = configurationFileFormat.LanguageCode;
Ui.CustomThemePath.Value = configurationFileFormat.CustomThemePath;