Ability to hide file types in Game List (#4555)
* Added HiddenFileTypes to config state, and check to file enumeration * Added hiddenfiletypes checkboxes to the UI * Added Ava version of HiddenFileTypes * Inverted Hide to Show with file types, minor formatting * all variables with a reference to 'hidden' is now 'shown' * one more variable name changed * review feedback * added FileTypes extension methof to get the correlating config value * moved extension method to new folder and file in Ryujinx.Ui.Common * added default case for ToggleFileType * changed exception type to OutOfRangeException
This commit is contained in:
parent
5c89e22bb9
commit
c5258cf082
12 changed files with 321 additions and 5 deletions
|
@ -60,6 +60,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>
|
||||
|
@ -75,6 +98,11 @@ namespace Ryujinx.Ui.Common.Configuration
|
|||
/// </summary>
|
||||
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>
|
||||
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue