From c5258cf082b10f335f81487f22b7eeb86075e09e Mon Sep 17 00:00:00 2001
From: NitroTears <73270647+NitroTears@users.noreply.github.com>
Date: Sun, 16 Apr 2023 11:03:35 +1000
Subject: 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
---
Ryujinx.Ui.Common/Extensions/FileTypeExtensions.cs | 25 ++++++++++++++++++++++
1 file changed, 25 insertions(+)
create mode 100644 Ryujinx.Ui.Common/Extensions/FileTypeExtensions.cs
(limited to 'Ryujinx.Ui.Common/Extensions/FileTypeExtensions.cs')
diff --git a/Ryujinx.Ui.Common/Extensions/FileTypeExtensions.cs b/Ryujinx.Ui.Common/Extensions/FileTypeExtensions.cs
new file mode 100644
index 00000000..e2ac4950
--- /dev/null
+++ b/Ryujinx.Ui.Common/Extensions/FileTypeExtensions.cs
@@ -0,0 +1,25 @@
+using System;
+using static Ryujinx.Ui.Common.Configuration.ConfigurationState.UiSection;
+
+namespace Ryujinx.Ui.Common
+{
+ public static class FileTypesExtensions
+ {
+ ///
+ /// Gets the current value for the correlating FileType name.
+ ///
+ /// The name of the parameter to get the value of.
+ /// The config instance to get the value from.
+ /// The current value of the setting. Value is if the file type is the be shown on the games list, otherwise.
+ public static bool GetConfigValue(this FileTypes type, ShownFileTypeSettings config) => type switch
+ {
+ FileTypes.NSP => config.NSP.Value,
+ FileTypes.PFS0 => config.PFS0.Value,
+ FileTypes.XCI => config.XCI.Value,
+ FileTypes.NCA => config.NCA.Value,
+ FileTypes.NRO => config.NRO.Value,
+ FileTypes.NSO => config.NSO.Value,
+ _ => throw new ArgumentOutOfRangeException(nameof(type), type, null)
+ };
+ }
+}
--
cgit v1.2.3