瀏覽代碼

misc: Move the rest of Ryujinx.UI.Common into other parts of the project.

Evan Husted 1 年之前
父節點
當前提交
f5ce539de9
共有 61 個文件被更改,包括 90 次插入114 次删除
  1. 0 6
      Ryujinx.sln
  2. 1 1
      src/Ryujinx.Common/Helpers/ConsoleHelper.cs
  3. 1 1
      src/Ryujinx.Common/Helpers/FileAssociationHelper.cs
  4. 1 1
      src/Ryujinx.Common/Helpers/LinuxHelper.cs
  5. 1 1
      src/Ryujinx.Common/Helpers/ObjectiveC.cs
  6. 1 1
      src/Ryujinx.Common/Helpers/OpenHelper.cs
  7. 0 12
      src/Ryujinx.UI.Common/Configuration/FileTypes.cs
  8. 1 3
      src/Ryujinx/AppHost.cs
  9. 2 2
      src/Ryujinx/Common/ApplicationHelper.cs
  10. 1 1
      src/Ryujinx/Common/LocaleManager.cs
  11. 1 1
      src/Ryujinx/DiscordIntegrationModule.cs
  12. 1 2
      src/Ryujinx/Headless/HeadlessRyujinx.Init.cs
  13. 1 1
      src/Ryujinx/Headless/HeadlessRyujinx.cs
  14. 1 1
      src/Ryujinx/Headless/Options.cs
  15. 2 6
      src/Ryujinx/Program.cs
  16. 2 1
      src/Ryujinx/Ryujinx.csproj
  17. 2 2
      src/Ryujinx/RyujinxApp.axaml.cs
  18. 1 1
      src/Ryujinx/UI/Applet/AvaHostUIHandler.cs
  19. 1 1
      src/Ryujinx/UI/Controls/ApplicationContextMenu.axaml.cs
  20. 0 1
      src/Ryujinx/UI/Helpers/MultiplayerInfoConverter.cs
  21. 0 1
      src/Ryujinx/UI/Helpers/UserErrorDialog.cs
  22. 1 1
      src/Ryujinx/UI/Models/SaveModel.cs
  23. 2 2
      src/Ryujinx/UI/Renderer/EmbeddedWindow.cs
  24. 1 1
      src/Ryujinx/UI/Renderer/EmbeddedWindowOpenGL.cs
  25. 1 1
      src/Ryujinx/UI/Renderer/RendererHost.axaml.cs
  26. 1 1
      src/Ryujinx/UI/ViewModels/AboutWindowViewModel.cs
  27. 1 1
      src/Ryujinx/UI/ViewModels/Input/InputViewModel.cs
  28. 2 3
      src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs
  29. 2 2
      src/Ryujinx/UI/ViewModels/SettingsViewModel.cs
  30. 2 3
      src/Ryujinx/UI/Views/Main/MainMenuBarView.axaml.cs
  31. 1 1
      src/Ryujinx/UI/Views/Main/MainStatusBarView.axaml.cs
  32. 0 1
      src/Ryujinx/UI/Views/Settings/SettingsHacksView.axaml.cs
  33. 1 1
      src/Ryujinx/UI/Windows/AboutWindow.axaml.cs
  34. 1 1
      src/Ryujinx/UI/Windows/CheatWindow.axaml.cs
  35. 1 1
      src/Ryujinx/UI/Windows/DownloadableContentManagerWindow.axaml.cs
  36. 3 3
      src/Ryujinx/UI/Windows/MainWindow.axaml.cs
  37. 1 1
      src/Ryujinx/UI/Windows/ModManagerWindow.axaml.cs
  38. 1 1
      src/Ryujinx/UI/Windows/TitleUpdateWindow.axaml.cs
  39. 2 1
      src/Ryujinx/Updater.cs
  40. 1 4
      src/Ryujinx/Utilities/AppLibrary/ApplicationData.cs
  41. 2 2
      src/Ryujinx/Utilities/AppLibrary/ApplicationLibrary.cs
  42. 1 1
      src/Ryujinx/Utilities/CommandLineState.cs
  43. 1 1
      src/Ryujinx/Utilities/Configuration/AudioBackend.cs
  44. 3 3
      src/Ryujinx/Utilities/Configuration/ConfigurationFileFormat.cs
  45. 1 1
      src/Ryujinx/Utilities/Configuration/ConfigurationFileFormatSettings.cs
  46. 2 4
      src/Ryujinx/Utilities/Configuration/ConfigurationJsonSerializerContext.cs
  47. 3 3
      src/Ryujinx/Utilities/Configuration/ConfigurationState.Migration.cs
  48. 3 3
      src/Ryujinx/Utilities/Configuration/ConfigurationState.Model.cs
  49. 3 3
      src/Ryujinx/Utilities/Configuration/ConfigurationState.cs
  50. 14 3
      src/Ryujinx/Utilities/Configuration/FileTypes.cs
  51. 1 1
      src/Ryujinx/Utilities/Configuration/LoggerModule.cs
  52. 1 2
      src/Ryujinx/Utilities/Configuration/System/Language.cs
  53. 1 1
      src/Ryujinx/Utilities/Configuration/System/Region.cs
  54. 1 1
      src/Ryujinx/Utilities/Configuration/UI/ColumnSort.cs
  55. 1 1
      src/Ryujinx/Utilities/Configuration/UI/GuiColumns.cs
  56. 1 1
      src/Ryujinx/Utilities/Configuration/UI/ShownFileTypes.cs
  57. 1 1
      src/Ryujinx/Utilities/Configuration/UI/WindowStartup.cs
  58. 0 1
      src/Ryujinx/Utilities/ShortcutHelper.cs
  59. 0 1
      src/Ryujinx/Utilities/SystemInfo/SystemInfo.cs
  60. 1 1
      src/Ryujinx/Utilities/TitleUpdatesHelper.cs
  61. 3 2
      src/Ryujinx/Utilities/ValueFormatUtils.cs

+ 0 - 6
Ryujinx.sln

@@ -61,8 +61,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ryujinx.Graphics.Nvdec.FFmp
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ryujinx", "src\Ryujinx\Ryujinx.csproj", "{7C1B2721-13DA-4B62-B046-C626605ECCE6}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ryujinx.UI.Common", "src\Ryujinx.UI.Common\Ryujinx.UI.Common.csproj", "{BA161CA0-CD65-4E6E-B644-51C8D1E542DC}"
-EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ryujinx.Horizon.Generators", "src\Ryujinx.Horizon.Generators\Ryujinx.Horizon.Generators.csproj", "{6AE2A5E8-4C5A-48B9-997B-E1455C0355C6}"
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ryujinx.Graphics.Vulkan", "src\Ryujinx.Graphics.Vulkan\Ryujinx.Graphics.Vulkan.csproj", "{D4D09B08-D580-4D69-B886-C35D2853F6C8}"
@@ -219,10 +217,6 @@ Global
 		{7C1B2721-13DA-4B62-B046-C626605ECCE6}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{7C1B2721-13DA-4B62-B046-C626605ECCE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{7C1B2721-13DA-4B62-B046-C626605ECCE6}.Release|Any CPU.Build.0 = Release|Any CPU
-		{BA161CA0-CD65-4E6E-B644-51C8D1E542DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{BA161CA0-CD65-4E6E-B644-51C8D1E542DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{BA161CA0-CD65-4E6E-B644-51C8D1E542DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{BA161CA0-CD65-4E6E-B644-51C8D1E542DC}.Release|Any CPU.Build.0 = Release|Any CPU
 		{6AE2A5E8-4C5A-48B9-997B-E1455C0355C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{6AE2A5E8-4C5A-48B9-997B-E1455C0355C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{6AE2A5E8-4C5A-48B9-997B-E1455C0355C6}.Release|Any CPU.ActiveCfg = Release|Any CPU

+ 1 - 1
src/Ryujinx.Common/Helpers/ConsoleHelper.cs

@@ -3,7 +3,7 @@ using System;
 using System.Runtime.InteropServices;
 using System.Runtime.Versioning;
 
-namespace Ryujinx.UI.Common.Helper
+namespace Ryujinx.Common.Helper
 {
     public static partial class ConsoleHelper
     {

+ 1 - 1
src/Ryujinx.Common/Helpers/FileAssociationHelper.cs

@@ -8,7 +8,7 @@ using System.Linq;
 using System.Runtime.InteropServices;
 using System.Runtime.Versioning;
 
-namespace Ryujinx.UI.Common.Helper
+namespace Ryujinx.Common.Helper
 {
     public static partial class FileAssociationHelper
     {

+ 1 - 1
src/Ryujinx.Common/Helpers/LinuxHelper.cs

@@ -3,7 +3,7 @@ using System.Diagnostics;
 using System.IO;
 using System.Runtime.Versioning;
 
-namespace Ryujinx.UI.Common.Helper
+namespace Ryujinx.Common.Helper
 {
     [SupportedOSPlatform("linux")]
     public static class LinuxHelper

+ 1 - 1
src/Ryujinx.Common/Helpers/ObjectiveC.cs

@@ -2,7 +2,7 @@ using System;
 using System.Runtime.InteropServices;
 using System.Runtime.Versioning;
 
-namespace Ryujinx.UI.Common.Helper
+namespace Ryujinx.Common.Helper
 {
     [SupportedOSPlatform("macos")]
     public static partial class ObjectiveC

+ 1 - 1
src/Ryujinx.Common/Helpers/OpenHelper.cs

@@ -5,7 +5,7 @@ using System.Diagnostics;
 using System.IO;
 using System.Runtime.InteropServices;
 
-namespace Ryujinx.UI.Common.Helper
+namespace Ryujinx.Common.Helper
 {
     public static partial class OpenHelper
     {

+ 0 - 12
src/Ryujinx.UI.Common/Configuration/FileTypes.cs

@@ -1,12 +0,0 @@
-namespace Ryujinx.UI.Common
-{
-    public enum FileTypes
-    {
-        NSP,
-        PFS0,
-        XCI,
-        NCA,
-        NRO,
-        NSO
-    }
-}

+ 1 - 3
src/Ryujinx/AppHost.cs

@@ -22,6 +22,7 @@ using Ryujinx.Ava.UI.ViewModels;
 using Ryujinx.Ava.UI.Windows;
 using Ryujinx.Ava.Utilities;
 using Ryujinx.Ava.Utilities.AppLibrary;
+using Ryujinx.Ava.Utilities.Configuration;
 using Ryujinx.Common;
 using Ryujinx.Common.Configuration;
 using Ryujinx.Common.Configuration.Multiplayer;
@@ -42,9 +43,6 @@ using Ryujinx.HLE.HOS.Services.Account.Acc;
 using Ryujinx.HLE.HOS.SystemState;
 using Ryujinx.Input;
 using Ryujinx.Input.HLE;
-using Ryujinx.UI.Common;
-using Ryujinx.UI.Common.Configuration;
-using Ryujinx.UI.Common.Helper;
 using Silk.NET.Vulkan;
 using SkiaSharp;
 using SPB.Graphics.Vulkan;

+ 2 - 2
src/Ryujinx/Common/ApplicationHelper.cs

@@ -15,12 +15,12 @@ using LibHac.Tools.FsSystem.NcaUtils;
 using Ryujinx.Ava.Common.Locale;
 using Ryujinx.Ava.UI.Controls;
 using Ryujinx.Ava.UI.Helpers;
+using Ryujinx.Ava.Utilities.Configuration;
+using Ryujinx.Common.Helper;
 using Ryujinx.Common.Logging;
 using Ryujinx.HLE.FileSystem;
 using Ryujinx.HLE.HOS.Services.Account.Acc;
 using Ryujinx.HLE.Loaders.Processes.Extensions;
-using Ryujinx.UI.Common.Configuration;
-using Ryujinx.UI.Common.Helper;
 using System;
 using System.Buffers;
 using System.IO;

+ 1 - 1
src/Ryujinx/Common/LocaleManager.cs

@@ -1,8 +1,8 @@
 using Gommon;
 using Ryujinx.Ava.UI.ViewModels;
+using Ryujinx.Ava.Utilities.Configuration;
 using Ryujinx.Common;
 using Ryujinx.Common.Utilities;
-using Ryujinx.UI.Common.Configuration;
 using System;
 using System.Collections.Concurrent;
 using System.Collections.Generic;

+ 1 - 1
src/Ryujinx/DiscordIntegrationModule.cs

@@ -2,10 +2,10 @@ using DiscordRPC;
 using Humanizer;
 using Humanizer.Localisation;
 using Ryujinx.Ava.Utilities.AppLibrary;
+using Ryujinx.Ava.Utilities.Configuration;
 using Ryujinx.Common;
 using Ryujinx.HLE;
 using Ryujinx.HLE.Loaders.Processes;
-using Ryujinx.UI.Common.Configuration;
 using System.Text;
 
 namespace Ryujinx.Ava

+ 1 - 2
src/Ryujinx/Headless/HeadlessRyujinx.Init.cs

@@ -2,6 +2,7 @@
 using LibHac.Tools.FsSystem;
 using Ryujinx.Audio.Backends.SDL2;
 using Ryujinx.Ava;
+using Ryujinx.Ava.Utilities.Configuration;
 using Ryujinx.Common.Configuration;
 using Ryujinx.Common.Configuration.Hid;
 using Ryujinx.Common.Configuration.Hid.Controller;
@@ -16,8 +17,6 @@ using Ryujinx.Graphics.OpenGL;
 using Ryujinx.Graphics.Vulkan;
 using Ryujinx.HLE;
 using Ryujinx.Input;
-using Ryujinx.UI.Common;
-using Ryujinx.UI.Common.Configuration;
 using Silk.NET.Vulkan;
 using System;
 using System.IO;

+ 1 - 1
src/Ryujinx/Headless/HeadlessRyujinx.cs

@@ -1,6 +1,7 @@
 using CommandLine;
 using Gommon;
 using Ryujinx.Ava;
+using Ryujinx.Ava.Utilities.Configuration;
 using Ryujinx.Common;
 using Ryujinx.Common.Configuration;
 using Ryujinx.Common.Configuration.Hid;
@@ -25,7 +26,6 @@ using Ryujinx.Input;
 using Ryujinx.Input.HLE;
 using Ryujinx.Input.SDL2;
 using Ryujinx.SDL2.Common;
-using Ryujinx.UI.Common.Configuration;
 using System;
 using System.Collections.Generic;
 using System.IO;

+ 1 - 1
src/Ryujinx/Headless/Options.cs

@@ -1,11 +1,11 @@
 using CommandLine;
 using Gommon;
+using Ryujinx.Ava.Utilities.Configuration;
 using Ryujinx.Common.Configuration;
 using Ryujinx.Common.Configuration.Hid;
 using Ryujinx.HLE;
 using Ryujinx.HLE.HOS.Services.Account.Acc;
 using Ryujinx.HLE.HOS.SystemState;
-using Ryujinx.UI.Common.Configuration;
 using System;
 using System.Collections.Generic;
 using System.Linq;

+ 2 - 6
src/Ryujinx/Program.cs

@@ -8,7 +8,9 @@ using Projektanker.Icons.Avalonia.MaterialDesign;
 using Ryujinx.Ava.Common.Locale;
 using Ryujinx.Ava.UI.Helpers;
 using Ryujinx.Ava.UI.Windows;
+using Ryujinx.Ava.Utilities;
 using Ryujinx.Ava.Utilities.AppLibrary;
+using Ryujinx.Ava.Utilities.Configuration;
 using Ryujinx.Ava.Utilities.SystemInfo;
 using Ryujinx.Common;
 using Ryujinx.Common.Configuration;
@@ -18,9 +20,6 @@ using Ryujinx.Common.SystemInterop;
 using Ryujinx.Graphics.Vulkan.MoltenVK;
 using Ryujinx.Headless;
 using Ryujinx.SDL2.Common;
-using Ryujinx.UI.Common;
-using Ryujinx.UI.Common.Configuration;
-using Ryujinx.UI.Common.Helper;
 using System;
 using System.IO;
 using System.Linq;
@@ -117,9 +116,6 @@ namespace Ryujinx.Ava
             // Setup base data directory.
             AppDataManager.Initialize(CommandLineState.BaseDirPathArg);
 
-            // Set the delegate for localizing the word "never" in the UI
-            ApplicationData.LocalizedNever = () => LocaleManager.Instance[LocaleKeys.Never];
-
             // Initialize the configuration.
             ConfigurationState.Initialize();
 

+ 2 - 1
src/Ryujinx/Ryujinx.csproj

@@ -48,6 +48,7 @@
     <PackageReference Include="Avalonia.Svg" />
     <PackageReference Include="Avalonia.Svg.Skia" />
     <PackageReference Include="CommandLineParser" />
+    <PackageReference Include="DiscordRichPresence" />
     <PackageReference Include="DynamicData" />
     <PackageReference Include="FluentAvaloniaUI" />
     <PackageReference Include="Projektanker.Icons.Avalonia" />
@@ -57,6 +58,7 @@
     <PackageReference Include="Ryujinx.Audio.OpenAL.Dependencies" Condition="'$(RuntimeIdentifier)' != 'linux-x64' AND '$(RuntimeIdentifier)' != 'linux-arm64' AND '$(RuntimeIdentifier)' != 'osx-x64' AND '$(RuntimeIdentifier)' != 'osx-arm64'" />
     <PackageReference Include="Ryujinx.Graphics.Nvdec.Dependencies" />
     <PackageReference Include="Ryujinx.Graphics.Vulkan.Dependencies.MoltenVK" Condition="'$(RuntimeIdentifier)' != 'linux-x64' AND '$(RuntimeIdentifier)' != 'linux-arm64' AND '$(RuntimeIdentifier)' != 'win-x64'" />
+    <PackageReference Include="securifybv.ShellLink" />
     <PackageReference Include="Silk.NET.Vulkan" />
     <PackageReference Include="Silk.NET.Vulkan.Extensions.EXT" />
     <PackageReference Include="Silk.NET.Vulkan.Extensions.KHR" />
@@ -77,7 +79,6 @@
     <ProjectReference Include="..\Ryujinx.HLE\Ryujinx.HLE.csproj" />
     <ProjectReference Include="..\ARMeilleure\ARMeilleure.csproj" />
     <ProjectReference Include="..\Ryujinx.Graphics.Gpu\Ryujinx.Graphics.Gpu.csproj" />
-    <ProjectReference Include="..\Ryujinx.UI.Common\Ryujinx.UI.Common.csproj" />
     <ProjectReference Include="..\Ryujinx.UI.LocaleGenerator\Ryujinx.UI.LocaleGenerator.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
   </ItemGroup>
 

+ 2 - 2
src/Ryujinx/RyujinxApp.axaml.cs

@@ -11,10 +11,10 @@ using Ryujinx.Ava.Common;
 using Ryujinx.Ava.Common.Locale;
 using Ryujinx.Ava.UI.Helpers;
 using Ryujinx.Ava.UI.Windows;
+using Ryujinx.Ava.Utilities;
+using Ryujinx.Ava.Utilities.Configuration;
 using Ryujinx.Common;
 using Ryujinx.Common.Logging;
-using Ryujinx.UI.Common.Configuration;
-using Ryujinx.UI.Common.Helper;
 using System;
 using System.Diagnostics;
 

+ 1 - 1
src/Ryujinx/UI/Applet/AvaHostUIHandler.cs

@@ -5,12 +5,12 @@ using Ryujinx.Ava.Common.Locale;
 using Ryujinx.Ava.UI.Controls;
 using Ryujinx.Ava.UI.Helpers;
 using Ryujinx.Ava.UI.Windows;
+using Ryujinx.Ava.Utilities.Configuration;
 using Ryujinx.HLE;
 using Ryujinx.HLE.HOS.Applets;
 using Ryujinx.HLE.HOS.Applets.SoftwareKeyboard;
 using Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.ApplicationProxy.Types;
 using Ryujinx.HLE.UI;
-using Ryujinx.UI.Common.Configuration;
 using System;
 using System.Threading;
 

+ 1 - 1
src/Ryujinx/UI/Controls/ApplicationContextMenu.axaml.cs

@@ -13,8 +13,8 @@ using Ryujinx.Ava.UI.Windows;
 using Ryujinx.Ava.Utilities;
 using Ryujinx.Ava.Utilities.AppLibrary;
 using Ryujinx.Common.Configuration;
+using Ryujinx.Common.Helper;
 using Ryujinx.HLE.HOS;
-using Ryujinx.UI.Common.Helper;
 using SkiaSharp;
 using System;
 using System.Collections.Generic;

+ 0 - 1
src/Ryujinx/UI/Helpers/MultiplayerInfoConverter.cs

@@ -2,7 +2,6 @@ using Avalonia.Data.Converters;
 using Avalonia.Markup.Xaml;
 using Ryujinx.Ava.Common.Locale;
 using Ryujinx.Ava.Utilities.AppLibrary;
-using Ryujinx.UI.Common.Helper;
 using System;
 using System.Globalization;
 

+ 0 - 1
src/Ryujinx/UI/Helpers/UserErrorDialog.cs

@@ -1,6 +1,5 @@
 using Ryujinx.Ava.Common.Locale;
 using Ryujinx.Common.UI;
-using Ryujinx.UI.Common;
 using System.Threading.Tasks;
 
 namespace Ryujinx.Ava.UI.Helpers

+ 1 - 1
src/Ryujinx/UI/Models/SaveModel.cs

@@ -3,9 +3,9 @@ using LibHac.Fs;
 using LibHac.Ncm;
 using Ryujinx.Ava.UI.ViewModels;
 using Ryujinx.Ava.UI.Windows;
+using Ryujinx.Ava.Utilities;
 using Ryujinx.Ava.Utilities.AppLibrary;
 using Ryujinx.HLE.FileSystem;
-using Ryujinx.UI.Common.Helper;
 using System;
 using System.IO;
 using System.Linq;

+ 2 - 2
src/Ryujinx/UI/Renderer/EmbeddedWindow.cs

@@ -2,9 +2,9 @@ using Avalonia;
 using Avalonia.Controls;
 using Avalonia.Input;
 using Avalonia.Platform;
+using Ryujinx.Ava.Utilities.Configuration;
 using Ryujinx.Common.Configuration;
-using Ryujinx.UI.Common.Configuration;
-using Ryujinx.UI.Common.Helper;
+using Ryujinx.Common.Helper;
 using SPB.Graphics;
 using SPB.Platform;
 using SPB.Platform.GLX;

+ 1 - 1
src/Ryujinx/UI/Renderer/EmbeddedWindowOpenGL.cs

@@ -1,9 +1,9 @@
 using OpenTK.Graphics.OpenGL;
+using Ryujinx.Ava.Utilities.Configuration;
 using Ryujinx.Common.Configuration;
 using Ryujinx.Common.Logging;
 using Ryujinx.Graphics.GAL;
 using Ryujinx.Graphics.OpenGL;
-using Ryujinx.UI.Common.Configuration;
 using SPB.Graphics;
 using SPB.Graphics.Exceptions;
 using SPB.Graphics.OpenGL;

+ 1 - 1
src/Ryujinx/UI/Renderer/RendererHost.axaml.cs

@@ -1,10 +1,10 @@
 using Avalonia;
 using Avalonia.Controls;
 using Gommon;
+using Ryujinx.Ava.Utilities.Configuration;
 using Ryujinx.Common;
 using Ryujinx.Common.Configuration;
 using Ryujinx.Common.Logging;
-using Ryujinx.UI.Common.Configuration;
 using System;
 using System.Runtime.InteropServices;
 

+ 1 - 1
src/Ryujinx/UI/ViewModels/AboutWindowViewModel.cs

@@ -3,7 +3,7 @@ using Avalonia.Styling;
 using Avalonia.Threading;
 using Ryujinx.Ava.Common;
 using Ryujinx.Ava.Common.Locale;
-using Ryujinx.UI.Common.Configuration;
+using Ryujinx.Ava.Utilities.Configuration;
 using System;
 
 namespace Ryujinx.Ava.UI.ViewModels

+ 1 - 1
src/Ryujinx/UI/ViewModels/Input/InputViewModel.cs

@@ -10,6 +10,7 @@ using Ryujinx.Ava.UI.Helpers;
 using Ryujinx.Ava.UI.Models;
 using Ryujinx.Ava.UI.Models.Input;
 using Ryujinx.Ava.UI.Windows;
+using Ryujinx.Ava.Utilities.Configuration;
 using Ryujinx.Common;
 using Ryujinx.Common.Configuration;
 using Ryujinx.Common.Configuration.Hid;
@@ -19,7 +20,6 @@ using Ryujinx.Common.Configuration.Hid.Keyboard;
 using Ryujinx.Common.Logging;
 using Ryujinx.Common.Utilities;
 using Ryujinx.Input;
-using Ryujinx.UI.Common.Configuration;
 using System;
 using System.Collections.Generic;
 using System.Collections.ObjectModel;

+ 2 - 3
src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs

@@ -22,8 +22,10 @@ using Ryujinx.Ava.UI.Models.Generic;
 using Ryujinx.Ava.UI.Renderer;
 using Ryujinx.Ava.UI.Windows;
 using Ryujinx.Ava.Utilities.AppLibrary;
+using Ryujinx.Ava.Utilities.Configuration;
 using Ryujinx.Common;
 using Ryujinx.Common.Configuration;
+using Ryujinx.Common.Helper;
 using Ryujinx.Common.Logging;
 using Ryujinx.Common.UI;
 using Ryujinx.Common.Utilities;
@@ -35,9 +37,6 @@ using Ryujinx.HLE.HOS.Services.Account.Acc;
 using Ryujinx.HLE.HOS.Services.Nfc.AmiiboDecryption;
 using Ryujinx.HLE.UI;
 using Ryujinx.Input.HLE;
-using Ryujinx.UI.Common;
-using Ryujinx.UI.Common.Configuration;
-using Ryujinx.UI.Common.Helper;
 using Silk.NET.Vulkan;
 using SkiaSharp;
 using System;

+ 2 - 2
src/Ryujinx/UI/ViewModels/SettingsViewModel.cs

@@ -10,6 +10,8 @@ using Ryujinx.Ava.Common.Locale;
 using Ryujinx.Ava.UI.Helpers;
 using Ryujinx.Ava.UI.Models.Input;
 using Ryujinx.Ava.UI.Windows;
+using Ryujinx.Ava.Utilities.Configuration;
+using Ryujinx.Ava.Utilities.Configuration.System;
 using Ryujinx.Common.Configuration;
 using Ryujinx.Common.Configuration.Multiplayer;
 using Ryujinx.Common.GraphicsDriver;
@@ -18,8 +20,6 @@ using Ryujinx.Graphics.Vulkan;
 using Ryujinx.HLE;
 using Ryujinx.HLE.FileSystem;
 using Ryujinx.HLE.HOS.Services.Time.TimeZone;
-using Ryujinx.UI.Common.Configuration;
-using Ryujinx.UI.Common.Configuration.System;
 using System;
 using System.Collections.Generic;
 using System.Collections.ObjectModel;

+ 2 - 3
src/Ryujinx/UI/Views/Main/MainMenuBarView.axaml.cs

@@ -8,12 +8,11 @@ using Ryujinx.Ava.UI.Helpers;
 using Ryujinx.Ava.UI.ViewModels;
 using Ryujinx.Ava.UI.Windows;
 using Ryujinx.Ava.Utilities;
+using Ryujinx.Ava.Utilities.Configuration;
 using Ryujinx.Common;
+using Ryujinx.Common.Helper;
 using Ryujinx.Common.Utilities;
 using Ryujinx.HLE.HOS.Services.Nfc.AmiiboDecryption;
-using Ryujinx.UI.Common;
-using Ryujinx.UI.Common.Configuration;
-using Ryujinx.UI.Common.Helper;
 using System;
 using System.Collections.Generic;
 using System.Linq;

+ 1 - 1
src/Ryujinx/UI/Views/Main/MainStatusBarView.axaml.cs

@@ -5,10 +5,10 @@ using Avalonia.Interactivity;
 using Avalonia.Threading;
 using Ryujinx.Ava.Common.Locale;
 using Ryujinx.Ava.UI.Windows;
+using Ryujinx.Ava.Utilities.Configuration;
 using Ryujinx.Common;
 using Ryujinx.Common.Configuration;
 using Ryujinx.Common.Logging;
-using Ryujinx.UI.Common.Configuration;
 using System;
 
 namespace Ryujinx.Ava.UI.Views.Main

+ 0 - 1
src/Ryujinx/UI/Views/Settings/SettingsHacksView.axaml.cs

@@ -1,7 +1,6 @@
 using Avalonia.Controls;
 using Avalonia.Interactivity;
 using Ryujinx.Ava.UI.ViewModels;
-using Ryujinx.UI.Common.Configuration;
 
 namespace Ryujinx.Ava.UI.Views.Settings
 {

+ 1 - 1
src/Ryujinx/UI/Windows/AboutWindow.axaml.cs

@@ -8,7 +8,7 @@ using Ryujinx.Ava.Common.Locale;
 using Ryujinx.Ava.UI.Helpers;
 using Ryujinx.Ava.UI.ViewModels;
 using Ryujinx.Common;
-using Ryujinx.UI.Common.Helper;
+using Ryujinx.Common.Helper;
 using System.Threading.Tasks;
 using Button = Avalonia.Controls.Button;
 

+ 1 - 1
src/Ryujinx/UI/Windows/CheatWindow.axaml.cs

@@ -3,9 +3,9 @@ using LibHac.Tools.FsSystem;
 using Ryujinx.Ava.Common.Locale;
 using Ryujinx.Ava.UI.Models;
 using Ryujinx.Ava.Utilities.AppLibrary;
+using Ryujinx.Ava.Utilities.Configuration;
 using Ryujinx.HLE.FileSystem;
 using Ryujinx.HLE.HOS;
-using Ryujinx.UI.Common.Configuration;
 using System.Globalization;
 using System.IO;
 using System.Linq;

+ 1 - 1
src/Ryujinx/UI/Windows/DownloadableContentManagerWindow.axaml.cs

@@ -6,7 +6,7 @@ using Ryujinx.Ava.Common.Locale;
 using Ryujinx.Ava.Common.Models;
 using Ryujinx.Ava.UI.ViewModels;
 using Ryujinx.Ava.Utilities.AppLibrary;
-using Ryujinx.UI.Common.Helper;
+using Ryujinx.Common.Helper;
 using System.Threading.Tasks;
 
 namespace Ryujinx.Ava.UI.Windows

+ 3 - 3
src/Ryujinx/UI/Windows/MainWindow.axaml.cs

@@ -15,8 +15,11 @@ using Ryujinx.Ava.Input;
 using Ryujinx.Ava.UI.Applet;
 using Ryujinx.Ava.UI.Helpers;
 using Ryujinx.Ava.UI.ViewModels;
+using Ryujinx.Ava.Utilities;
 using Ryujinx.Ava.Utilities.AppLibrary;
+using Ryujinx.Ava.Utilities.Configuration;
 using Ryujinx.Common;
+using Ryujinx.Common.Helper;
 using Ryujinx.Common.Logging;
 using Ryujinx.Common.UI;
 using Ryujinx.Graphics.Gpu;
@@ -25,9 +28,6 @@ using Ryujinx.HLE.HOS;
 using Ryujinx.HLE.HOS.Services.Account.Acc;
 using Ryujinx.Input.HLE;
 using Ryujinx.Input.SDL2;
-using Ryujinx.UI.Common;
-using Ryujinx.UI.Common.Configuration;
-using Ryujinx.UI.Common.Helper;
 using System;
 using System.Collections.Generic;
 using System.Linq;

+ 1 - 1
src/Ryujinx/UI/Windows/ModManagerWindow.axaml.cs

@@ -6,7 +6,7 @@ using Ryujinx.Ava.Common.Locale;
 using Ryujinx.Ava.UI.Helpers;
 using Ryujinx.Ava.UI.Models;
 using Ryujinx.Ava.UI.ViewModels;
-using Ryujinx.UI.Common.Helper;
+using Ryujinx.Common.Helper;
 using System.Threading.Tasks;
 using Button = Avalonia.Controls.Button;
 

+ 1 - 1
src/Ryujinx/UI/Windows/TitleUpdateWindow.axaml.cs

@@ -6,7 +6,7 @@ using Ryujinx.Ava.Common.Locale;
 using Ryujinx.Ava.Common.Models;
 using Ryujinx.Ava.UI.ViewModels;
 using Ryujinx.Ava.Utilities.AppLibrary;
-using Ryujinx.UI.Common.Helper;
+using Ryujinx.Common.Helper;
 using System.Threading.Tasks;
 
 namespace Ryujinx.Ava.UI.Windows

+ 2 - 1
src/Ryujinx/Updater.cs

@@ -7,10 +7,11 @@ using ICSharpCode.SharpZipLib.Zip;
 using Ryujinx.Ava.Common.Locale;
 using Ryujinx.Ava.Common.Models.Github;
 using Ryujinx.Ava.UI.Helpers;
+using Ryujinx.Ava.Utilities;
 using Ryujinx.Common;
+using Ryujinx.Common.Helper;
 using Ryujinx.Common.Logging;
 using Ryujinx.Common.Utilities;
-using Ryujinx.UI.Common.Helper;
 using System;
 using System.Collections.Generic;
 using System.Diagnostics;

+ 1 - 4
src/Ryujinx/Utilities/AppLibrary/ApplicationData.cs

@@ -10,7 +10,6 @@ using LibHac.Tools.FsSystem.NcaUtils;
 using Ryujinx.Common.Logging;
 using Ryujinx.HLE.FileSystem;
 using Ryujinx.HLE.Loaders.Processes.Extensions;
-using Ryujinx.UI.Common.Helper;
 using System;
 using System.IO;
 using System.Text.Json.Serialization;
@@ -19,8 +18,6 @@ namespace Ryujinx.Ava.Utilities.AppLibrary
 {
     public class ApplicationData
     {
-        public static Func<string> LocalizedNever { get; set; } = () => "Never";
-
         public bool Favorite { get; set; }
         public byte[] Icon { get; set; }
         public string Name { get; set; } = "Unknown";
@@ -40,7 +37,7 @@ namespace Ryujinx.Ava.Utilities.AppLibrary
 
         public string TimePlayedString => ValueFormatUtils.FormatTimeSpan(TimePlayed);
 
-        public string LastPlayedString => ValueFormatUtils.FormatDateTime(LastPlayed)?.Replace(" ", "\n") ?? LocalizedNever();
+        public string LastPlayedString => ValueFormatUtils.FormatDateTime(LastPlayed)?.Replace(" ", "\n");
 
         public string FileSizeString => ValueFormatUtils.FormatFileSize(FileSize);
 

+ 2 - 2
src/Ryujinx/Utilities/AppLibrary/ApplicationLibrary.cs

@@ -11,6 +11,8 @@ using LibHac.Tools.Fs;
 using LibHac.Tools.FsSystem;
 using LibHac.Tools.FsSystem.NcaUtils;
 using Ryujinx.Ava.Common.Models;
+using Ryujinx.Ava.Utilities.Configuration;
+using Ryujinx.Ava.Utilities.Configuration.System;
 using Ryujinx.Common;
 using Ryujinx.Common.Configuration;
 using Ryujinx.Common.Configuration.Multiplayer;
@@ -21,8 +23,6 @@ using Ryujinx.HLE.HOS.SystemState;
 using Ryujinx.HLE.Loaders.Npdm;
 using Ryujinx.HLE.Loaders.Processes.Extensions;
 using Ryujinx.HLE.Utilities;
-using Ryujinx.UI.Common.Configuration;
-using Ryujinx.UI.Common.Configuration.System;
 using System;
 using System.Collections.Generic;
 using System.IO;

+ 1 - 1
src/Ryujinx.Common/Helpers/CommandLineState.cs → src/Ryujinx/Utilities/CommandLineState.cs

@@ -1,7 +1,7 @@
 using Ryujinx.Common.Logging;
 using System.Collections.Generic;
 
-namespace Ryujinx.UI.Common.Helper
+namespace Ryujinx.Ava.Utilities
 {
     public static class CommandLineState
     {

+ 1 - 1
src/Ryujinx.UI.Common/Configuration/AudioBackend.cs → src/Ryujinx/Utilities/Configuration/AudioBackend.cs

@@ -1,7 +1,7 @@
 using Ryujinx.Common.Utilities;
 using System.Text.Json.Serialization;
 
-namespace Ryujinx.UI.Common.Configuration
+namespace Ryujinx.Ava.Utilities.Configuration
 {
     [JsonConverter(typeof(TypedStringEnumConverter<AudioBackend>))]
     public enum AudioBackend

+ 3 - 3
src/Ryujinx.UI.Common/Configuration/ConfigurationFileFormat.cs → src/Ryujinx/Utilities/Configuration/ConfigurationFileFormat.cs

@@ -1,3 +1,5 @@
+using Ryujinx.Ava.Utilities.Configuration.System;
+using Ryujinx.Ava.Utilities.Configuration.UI;
 using Ryujinx.Common;
 using Ryujinx.Common.Configuration;
 using Ryujinx.Common.Configuration.Hid;
@@ -5,12 +7,10 @@ using Ryujinx.Common.Configuration.Multiplayer;
 using Ryujinx.Common.Logging;
 using Ryujinx.Common.Utilities;
 using Ryujinx.HLE;
-using Ryujinx.UI.Common.Configuration.System;
-using Ryujinx.UI.Common.Configuration.UI;
 using System.Collections.Generic;
 using System.Text.Json.Nodes;
 
-namespace Ryujinx.UI.Common.Configuration
+namespace Ryujinx.Ava.Utilities.Configuration
 {
     public class ConfigurationFileFormat
     {

+ 1 - 1
src/Ryujinx.UI.Common/Configuration/ConfigurationFileFormatSettings.cs → src/Ryujinx/Utilities/Configuration/ConfigurationFileFormatSettings.cs

@@ -1,6 +1,6 @@
 using Ryujinx.Common.Utilities;
 
-namespace Ryujinx.UI.Common.Configuration
+namespace Ryujinx.Ava.Utilities.Configuration
 {
     internal static class ConfigurationFileFormatSettings
     {

+ 2 - 4
src/Ryujinx.UI.Common/Configuration/ConfigurationJsonSerializerContext.cs → src/Ryujinx/Utilities/Configuration/ConfigurationJsonSerializerContext.cs

@@ -1,10 +1,8 @@
 using System.Text.Json.Serialization;
 
-namespace Ryujinx.UI.Common.Configuration
+namespace Ryujinx.Ava.Utilities.Configuration
 {
     [JsonSourceGenerationOptions(WriteIndented = true)]
     [JsonSerializable(typeof(ConfigurationFileFormat))]
-    internal partial class ConfigurationJsonSerializerContext : JsonSerializerContext
-    {
-    }
+    internal partial class ConfigurationJsonSerializerContext : JsonSerializerContext;
 }

+ 3 - 3
src/Ryujinx.UI.Common/Configuration/ConfigurationState.Migration.cs → src/Ryujinx/Utilities/Configuration/ConfigurationState.Migration.cs

@@ -1,3 +1,5 @@
+using Ryujinx.Ava.Utilities.Configuration.System;
+using Ryujinx.Ava.Utilities.Configuration.UI;
 using Ryujinx.Common.Configuration;
 using Ryujinx.Common.Configuration.Hid;
 using Ryujinx.Common.Configuration.Hid.Controller;
@@ -5,12 +7,10 @@ using Ryujinx.Common.Configuration.Hid.Keyboard;
 using Ryujinx.Common.Configuration.Multiplayer;
 using Ryujinx.Common.Logging;
 using Ryujinx.HLE;
-using Ryujinx.UI.Common.Configuration.System;
-using Ryujinx.UI.Common.Configuration.UI;
 using System;
 using System.Collections.Generic;
 
-namespace Ryujinx.UI.Common.Configuration
+namespace Ryujinx.Ava.Utilities.Configuration
 {
     public partial class ConfigurationState
     {

+ 3 - 3
src/Ryujinx.UI.Common/Configuration/ConfigurationState.Model.cs → src/Ryujinx/Utilities/Configuration/ConfigurationState.Model.cs

@@ -1,16 +1,16 @@
 using ARMeilleure;
 using Gommon;
+using Ryujinx.Ava.Utilities.Configuration.System;
 using Ryujinx.Common;
 using Ryujinx.Common.Configuration;
 using Ryujinx.Common.Configuration.Hid;
 using Ryujinx.Common.Configuration.Multiplayer;
+using Ryujinx.Common.Helper;
 using Ryujinx.Common.Logging;
 using Ryujinx.HLE;
-using Ryujinx.UI.Common.Configuration.System;
-using Ryujinx.UI.Common.Helper;
 using System.Collections.Generic;
 
-namespace Ryujinx.UI.Common.Configuration
+namespace Ryujinx.Ava.Utilities.Configuration
 {
     public partial class ConfigurationState
     {

+ 3 - 3
src/Ryujinx.UI.Common/Configuration/ConfigurationState.cs → src/Ryujinx/Utilities/Configuration/ConfigurationState.cs

@@ -1,14 +1,14 @@
+using Ryujinx.Ava.Utilities.Configuration.System;
+using Ryujinx.Ava.Utilities.Configuration.UI;
 using Ryujinx.Common.Configuration;
 using Ryujinx.Common.Configuration.Hid;
 using Ryujinx.Common.Configuration.Hid.Keyboard;
 using Ryujinx.Common.Configuration.Multiplayer;
 using Ryujinx.Graphics.Vulkan;
 using Ryujinx.HLE;
-using Ryujinx.UI.Common.Configuration.System;
-using Ryujinx.UI.Common.Configuration.UI;
 using System;
 
-namespace Ryujinx.UI.Common.Configuration
+namespace Ryujinx.Ava.Utilities.Configuration
 {
     public partial class ConfigurationState
     {

+ 14 - 3
src/Ryujinx.UI.Common/Extensions/FileTypeExtensions.cs → src/Ryujinx/Utilities/Configuration/FileTypes.cs

@@ -1,8 +1,19 @@
 using System;
-using static Ryujinx.UI.Common.Configuration.ConfigurationState.UISection;
 
-namespace Ryujinx.UI.Common
+using static Ryujinx.Ava.Utilities.Configuration.ConfigurationState.UISection;
+
+namespace Ryujinx.Ava.Utilities.Configuration
 {
+    public enum FileTypes
+    {
+        NSP,
+        PFS0,
+        XCI,
+        NCA,
+        NRO,
+        NSO
+    }
+    
     public static class FileTypesExtensions
     {
         /// <summary>
@@ -10,7 +21,7 @@ namespace Ryujinx.UI.Common
         /// </summary>
         /// <param name="type">The name of the <see cref="ShownFileTypeSettings"/> parameter to get the value of.</param>
         /// <param name="config">The config instance to get the value from.</param>
-        /// <returns>The current value of the setting. Value is <see langword="true"/> if the file type is the be shown on the games list, <see langword="false"/> otherwise.</returns>
+        /// <returns>The current value of the setting. Value is <see langword="true"/> if the file type is to be shown on the games list, <see langword="false"/> otherwise.</returns>
         public static bool GetConfigValue(this FileTypes type, ShownFileTypeSettings config) => type switch
         {
             FileTypes.NSP => config.NSP.Value,

+ 1 - 1
src/Ryujinx.UI.Common/Configuration/LoggerModule.cs → src/Ryujinx/Utilities/Configuration/LoggerModule.cs

@@ -4,7 +4,7 @@ using Ryujinx.Common.Logging.Targets;
 using System;
 using System.IO;
 
-namespace Ryujinx.UI.Common.Configuration
+namespace Ryujinx.Ava.Utilities.Configuration
 {
     public static class LoggerModule
     {

+ 1 - 2
src/Ryujinx.UI.Common/Configuration/System/Language.cs → src/Ryujinx/Utilities/Configuration/System/Language.cs

@@ -1,8 +1,7 @@
 using Ryujinx.Common.Utilities;
-using Ryujinx.HLE.HOS.SystemState;
 using System.Text.Json.Serialization;
 
-namespace Ryujinx.UI.Common.Configuration.System
+namespace Ryujinx.Ava.Utilities.Configuration.System
 {
     [JsonConverter(typeof(TypedStringEnumConverter<Language>))]
     public enum Language

+ 1 - 1
src/Ryujinx.UI.Common/Configuration/System/Region.cs → src/Ryujinx/Utilities/Configuration/System/Region.cs

@@ -1,7 +1,7 @@
 using Ryujinx.Common.Utilities;
 using System.Text.Json.Serialization;
 
-namespace Ryujinx.UI.Common.Configuration.System
+namespace Ryujinx.Ava.Utilities.Configuration.System
 {
     [JsonConverter(typeof(TypedStringEnumConverter<Region>))]
     public enum Region

+ 1 - 1
src/Ryujinx.UI.Common/Configuration/UI/ColumnSort.cs → src/Ryujinx/Utilities/Configuration/UI/ColumnSort.cs

@@ -1,4 +1,4 @@
-namespace Ryujinx.UI.Common.Configuration.UI
+namespace Ryujinx.Ava.Utilities.Configuration.UI
 {
     public struct ColumnSort
     {

+ 1 - 1
src/Ryujinx.UI.Common/Configuration/UI/GuiColumns.cs → src/Ryujinx/Utilities/Configuration/UI/GuiColumns.cs

@@ -1,4 +1,4 @@
-namespace Ryujinx.UI.Common.Configuration.UI
+namespace Ryujinx.Ava.Utilities.Configuration.UI
 {
     public struct GuiColumns
     {

+ 1 - 1
src/Ryujinx.UI.Common/Configuration/UI/ShownFileTypes.cs → src/Ryujinx/Utilities/Configuration/UI/ShownFileTypes.cs

@@ -1,4 +1,4 @@
-namespace Ryujinx.UI.Common.Configuration.UI
+namespace Ryujinx.Ava.Utilities.Configuration.UI
 {
     public struct ShownFileTypes
     {

+ 1 - 1
src/Ryujinx.UI.Common/Configuration/UI/WindowStartup.cs → src/Ryujinx/Utilities/Configuration/UI/WindowStartup.cs

@@ -1,4 +1,4 @@
-namespace Ryujinx.UI.Common.Configuration.UI
+namespace Ryujinx.Ava.Utilities.Configuration.UI
 {
     public struct WindowStartup
     {

+ 0 - 1
src/Ryujinx/Utilities/ShortcutHelper.cs

@@ -1,6 +1,5 @@
 using Ryujinx.Common;
 using Ryujinx.Common.Configuration;
-using Ryujinx.UI.Common.Helper;
 using ShellLink;
 using SkiaSharp;
 using System;

+ 0 - 1
src/Ryujinx/Utilities/SystemInfo/SystemInfo.cs

@@ -1,5 +1,4 @@
 using Ryujinx.Common.Logging;
-using Ryujinx.UI.Common.Helper;
 using System;
 using System.Runtime.InteropServices;
 using System.Runtime.Intrinsics.X86;

+ 1 - 1
src/Ryujinx/Utilities/TitleUpdatesHelper.cs

@@ -7,13 +7,13 @@ using LibHac.Ns;
 using LibHac.Tools.FsSystem;
 using LibHac.Tools.FsSystem.NcaUtils;
 using Ryujinx.Ava.Common.Models;
+using Ryujinx.Ava.Utilities.Configuration;
 using Ryujinx.Common.Configuration;
 using Ryujinx.Common.Logging;
 using Ryujinx.Common.Utilities;
 using Ryujinx.HLE.FileSystem;
 using Ryujinx.HLE.Loaders.Processes.Extensions;
 using Ryujinx.HLE.Utilities;
-using Ryujinx.UI.Common.Configuration;
 using System;
 using System.Collections.Generic;
 using System.IO;

+ 3 - 2
src/Ryujinx.Common/Helpers/ValueFormatUtils.cs → src/Ryujinx/Utilities/ValueFormatUtils.cs

@@ -1,8 +1,9 @@
+using Ryujinx.Ava.Common.Locale;
 using System;
 using System.Globalization;
 using System.Linq;
 
-namespace Ryujinx.UI.Common.Helper
+namespace Ryujinx.Ava.Utilities
 {
     public static class ValueFormatUtils
     {
@@ -75,7 +76,7 @@ namespace Ryujinx.UI.Common.Helper
         {
             culture ??= CultureInfo.CurrentCulture;
 
-            return utcDateTime?.ToLocalTime().ToString(culture);
+            return utcDateTime?.ToLocalTime().ToString(culture) ?? LocaleManager.Instance[LocaleKeys.Never];
         }
 
         /// <summary>