diff options
author | NitroTears <73270647+NitroTears@users.noreply.github.com> | 2023-04-16 11:03:35 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-16 01:03:35 +0000 |
commit | c5258cf082b10f335f81487f22b7eeb86075e09e (patch) | |
tree | 2909f61284f29cd86f75f40020ea69cc6447730c /Ryujinx.Ui.Common/App/ApplicationLibrary.cs | |
parent | 5c89e22bb98072adc240c2eb2d26d25fa119fe7d (diff) |
Ability to hide file types in Game List (#4555)1.1.711
* 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
Diffstat (limited to 'Ryujinx.Ui.Common/App/ApplicationLibrary.cs')
-rw-r--r-- | Ryujinx.Ui.Common/App/ApplicationLibrary.cs | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/Ryujinx.Ui.Common/App/ApplicationLibrary.cs b/Ryujinx.Ui.Common/App/ApplicationLibrary.cs index 66cb7c73..b7b57f1a 100644 --- a/Ryujinx.Ui.Common/App/ApplicationLibrary.cs +++ b/Ryujinx.Ui.Common/App/ApplicationLibrary.cs @@ -14,9 +14,11 @@ using Ryujinx.Common.Utilities; using Ryujinx.HLE.FileSystem; using Ryujinx.HLE.HOS.SystemState; using Ryujinx.HLE.Loaders.Npdm; +using Ryujinx.Ui.Common.Configuration; using Ryujinx.Ui.Common.Configuration.System; using System; using System.Collections.Generic; +using System.Linq; using System.Globalization; using System.IO; using System.Reflection; @@ -109,7 +111,18 @@ namespace Ryujinx.Ui.App.Common try { - foreach (string app in Directory.EnumerateFiles(appDir, "*", SearchOption.AllDirectories)) + IEnumerable<string> files = Directory.EnumerateFiles(appDir, "*", SearchOption.AllDirectories).Where(file => + { + return + (Path.GetExtension(file).ToLower() is ".nsp" && ConfigurationState.Instance.Ui.ShownFileTypes.NSP.Value) || + (Path.GetExtension(file).ToLower() is ".pfs0" && ConfigurationState.Instance.Ui.ShownFileTypes.PFS0.Value) || + (Path.GetExtension(file).ToLower() is ".xci" && ConfigurationState.Instance.Ui.ShownFileTypes.XCI.Value) || + (Path.GetExtension(file).ToLower() is ".nca" && ConfigurationState.Instance.Ui.ShownFileTypes.NCA.Value) || + (Path.GetExtension(file).ToLower() is ".nro" && ConfigurationState.Instance.Ui.ShownFileTypes.NRO.Value) || + (Path.GetExtension(file).ToLower() is ".nso" && ConfigurationState.Instance.Ui.ShownFileTypes.NSO.Value); + }); + + foreach (string app in files) { if (_cancellationToken.Token.IsCancellationRequested) { |