From d0976a99c96504aa7243a9f8de72ac98baaf2eec Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Thu, 5 Mar 2020 23:30:46 +1100 Subject: [PATCH] Update all applicable files to use the new data location class --- Plugins/Wox.Plugin.Program/Logger/ProgramLogger.cs | 5 +++-- Wox.Core/Configuration/Portable.cs | 2 +- Wox.Core/Plugin/PluginInstaller.cs | 2 +- Wox.Core/Plugin/PluginManager.cs | 8 ++++---- Wox.Core/Resource/Theme.cs | 2 +- Wox.Core/Updater.cs | 11 ++++++----- Wox.Infrastructure/Logger/Log.cs | 3 ++- Wox.Infrastructure/Storage/BinaryStorage.cs | 3 ++- Wox.Infrastructure/Storage/PluginJsonStorage.cs | 3 ++- Wox.Infrastructure/Storage/WoxJsonStorage.cs | 3 ++- 10 files changed, 24 insertions(+), 18 deletions(-) diff --git a/Plugins/Wox.Plugin.Program/Logger/ProgramLogger.cs b/Plugins/Wox.Plugin.Program/Logger/ProgramLogger.cs index 587aba685..d9f92bca2 100644 --- a/Plugins/Wox.Plugin.Program/Logger/ProgramLogger.cs +++ b/Plugins/Wox.Plugin.Program/Logger/ProgramLogger.cs @@ -1,4 +1,4 @@ -using NLog; +using NLog; using NLog.Config; using NLog.Targets; using System; @@ -7,6 +7,7 @@ using System.IO; using System.Runtime.CompilerServices; using System.Security; using Wox.Infrastructure; +using Wox.Infrastructure.UserSettings; namespace Wox.Plugin.Program.Logger { @@ -21,7 +22,7 @@ namespace Wox.Plugin.Program.Logger static ProgramLogger() { - var path = Path.Combine(Constant.DataDirectory, DirectoryName, Constant.Version); + var path = Path.Combine(DataLocation.DataDirectory(), DirectoryName, Constant.Version); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); diff --git a/Wox.Core/Configuration/Portable.cs b/Wox.Core/Configuration/Portable.cs index 3a1cdce6a..d2ce2f1a2 100644 --- a/Wox.Core/Configuration/Portable.cs +++ b/Wox.Core/Configuration/Portable.cs @@ -125,7 +125,7 @@ namespace Wox.Core.Configuration .CreateSubKey("Uninstall", RegistryKeyPermissionCheck.ReadWriteSubTree)) {; } var key = RegistryKey.OpenBaseKey(RegistryHive.CurrentUser, RegistryView.Default) - .CreateSubKey(uninstallRegSubKey + "\\" + applicationName, RegistryKeyPermissionCheck.ReadWriteSubTree); + .CreateSubKey(uninstallRegSubKey + "\\" + Constant.Wox, RegistryKeyPermissionCheck.ReadWriteSubTree); key.SetValue("DisplayIcon", Constant.ApplicationDirectory + "\\app.ico", RegistryValueKind.String); portabilityUpdater.CreateUninstallerRegistryEntry(); diff --git a/Wox.Core/Plugin/PluginInstaller.cs b/Wox.Core/Plugin/PluginInstaller.cs index ffdb0aa75..a867d2e10 100644 --- a/Wox.Core/Plugin/PluginInstaller.cs +++ b/Wox.Core/Plugin/PluginInstaller.cs @@ -34,7 +34,7 @@ namespace Wox.Core.Plugin return; } - string pluginFolerPath = Infrastructure.Constant.PluginsDirectory; + string pluginFolerPath = Infrastructure.UserSettings.DataLocation.PluginsDirectory; string newPluginName = plugin.Name .Replace("/", "_") diff --git a/Wox.Core/Plugin/PluginManager.cs b/Wox.Core/Plugin/PluginManager.cs index 0166690b7..15da91c98 100644 --- a/Wox.Core/Plugin/PluginManager.cs +++ b/Wox.Core/Plugin/PluginManager.cs @@ -32,20 +32,20 @@ namespace Wox.Core.Plugin // todo happlebao, this should not be public, the indicator function should be embeded public static PluginsSettings Settings; private static List _metadatas; - private static readonly string[] Directories = { Constant.PreinstalledDirectory, Constant.PluginsDirectory }; + private static readonly string[] Directories = { Constant.PreinstalledDirectory, DataLocation.PluginsDirectory }; private static void ValidateUserDirectory() { - if (!Directory.Exists(Constant.PluginsDirectory)) + if (!Directory.Exists(DataLocation.PluginsDirectory)) { - Directory.CreateDirectory(Constant.PluginsDirectory); + Directory.CreateDirectory(DataLocation.PluginsDirectory); } } private static void DeletePythonBinding() { const string binding = "wox.py"; - var directory = Constant.PluginsDirectory; + var directory = DataLocation.PluginsDirectory; foreach (var subDirectory in Directory.GetDirectories(directory)) { var path = Path.Combine(subDirectory, binding); diff --git a/Wox.Core/Resource/Theme.cs b/Wox.Core/Resource/Theme.cs index 4b8c37ccf..2d045ab19 100644 --- a/Wox.Core/Resource/Theme.cs +++ b/Wox.Core/Resource/Theme.cs @@ -23,7 +23,7 @@ namespace Wox.Core.Resource private const string Folder = "Themes"; private const string Extension = ".xaml"; private string DirectoryPath => Path.Combine(Constant.ProgramDirectory, Folder); - private string UserDirectoryPath => Path.Combine(Constant.DataDirectory, Folder); + private string UserDirectoryPath => Path.Combine(DataLocation.DataDirectory(), Folder); public Theme() { diff --git a/Wox.Core/Updater.cs b/Wox.Core/Updater.cs index 9262d78f4..b05984494 100644 --- a/Wox.Core/Updater.cs +++ b/Wox.Core/Updater.cs @@ -15,6 +15,7 @@ using Wox.Infrastructure; using Wox.Infrastructure.Http; using Wox.Infrastructure.Logger; using System.IO; +using Wox.Infrastructure.UserSettings; namespace Wox.Core { @@ -80,13 +81,13 @@ namespace Wox.Core await updateManager.ApplyReleases(newUpdateInfo); - if (Constant.IsPortableMode) + if (DataLocation.PortableDataLocationInUse) { - var targetDestination = updateManager.RootAppDirectory + $"\\app-{newReleaseVersion.ToString()}\\{Constant.PortableFolderName}"; - FilesFolders.Copy(Constant.PortableDataPath, targetDestination); - if (!FilesFolders.VerifyBothFolderFilesEqual(Constant.PortableDataPath, targetDestination)) + var targetDestination = updateManager.RootAppDirectory + $"\\app-{newReleaseVersion.ToString()}\\{DataLocation.PortableFolderName}"; + FilesFolders.Copy(DataLocation.PortableDataPath, targetDestination); + if (!FilesFolders.VerifyBothFolderFilesEqual(DataLocation.PortableDataPath, targetDestination)) MessageBox.Show(string.Format("Wox was not able to move your user profile data to the new update version. Please manually" + - "move your profile data folder from {0} to {1}", Constant.PortableDataPath, targetDestination)); + "move your profile data folder from {0} to {1}", DataLocation.PortableDataPath, targetDestination)); } else { diff --git a/Wox.Infrastructure/Logger/Log.cs b/Wox.Infrastructure/Logger/Log.cs index 349920076..4b7a97241 100644 --- a/Wox.Infrastructure/Logger/Log.cs +++ b/Wox.Infrastructure/Logger/Log.cs @@ -4,6 +4,7 @@ using System.Runtime.CompilerServices; using NLog; using NLog.Config; using NLog.Targets; +using Wox.Infrastructure.UserSettings; namespace Wox.Infrastructure.Logger { @@ -15,7 +16,7 @@ namespace Wox.Infrastructure.Logger static Log() { - CurrentLogDirectory = Path.Combine(Constant.DataDirectory, DirectoryName, Constant.Version); + CurrentLogDirectory = Path.Combine(DataLocation.DataDirectory(), DirectoryName, Constant.Version); if (!Directory.Exists(CurrentLogDirectory)) { Directory.CreateDirectory(CurrentLogDirectory); diff --git a/Wox.Infrastructure/Storage/BinaryStorage.cs b/Wox.Infrastructure/Storage/BinaryStorage.cs index d2c5a2da8..6f9031dde 100644 --- a/Wox.Infrastructure/Storage/BinaryStorage.cs +++ b/Wox.Infrastructure/Storage/BinaryStorage.cs @@ -5,6 +5,7 @@ using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters; using System.Runtime.Serialization.Formatters.Binary; using Wox.Infrastructure.Logger; +using Wox.Infrastructure.UserSettings; namespace Wox.Infrastructure.Storage { @@ -17,7 +18,7 @@ namespace Wox.Infrastructure.Storage public BinaryStorage(string filename) { const string directoryName = "Cache"; - var directoryPath = Path.Combine(Constant.DataDirectory, directoryName); + var directoryPath = Path.Combine(DataLocation.DataDirectory(), directoryName); Helper.ValidateDirectory(directoryPath); const string fileSuffix = ".cache"; diff --git a/Wox.Infrastructure/Storage/PluginJsonStorage.cs b/Wox.Infrastructure/Storage/PluginJsonStorage.cs index 27de500c7..77dd541c3 100644 --- a/Wox.Infrastructure/Storage/PluginJsonStorage.cs +++ b/Wox.Infrastructure/Storage/PluginJsonStorage.cs @@ -1,4 +1,5 @@ using System.IO; +using Wox.Infrastructure.UserSettings; namespace Wox.Infrastructure.Storage { @@ -9,7 +10,7 @@ namespace Wox.Infrastructure.Storage // C# releated, add python releated below var dataType = typeof(T); var assemblyName = typeof(T).Assembly.GetName().Name; - DirectoryPath = Path.Combine(Constant.DataDirectory, DirectoryName, Constant.Plugins, assemblyName); + DirectoryPath = Path.Combine(DataLocation.DataDirectory(), DirectoryName, Constant.Plugins, assemblyName); Helper.ValidateDirectory(DirectoryPath); FilePath = Path.Combine(DirectoryPath, $"{dataType.Name}{FileSuffix}"); diff --git a/Wox.Infrastructure/Storage/WoxJsonStorage.cs b/Wox.Infrastructure/Storage/WoxJsonStorage.cs index da0dbd073..1a6b22c4b 100644 --- a/Wox.Infrastructure/Storage/WoxJsonStorage.cs +++ b/Wox.Infrastructure/Storage/WoxJsonStorage.cs @@ -4,6 +4,7 @@ using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; +using Wox.Infrastructure.UserSettings; namespace Wox.Infrastructure.Storage { @@ -11,7 +12,7 @@ namespace Wox.Infrastructure.Storage { public WoxJsonStorage() { - var directoryPath = Path.Combine(Constant.DataDirectory, DirectoryName); + var directoryPath = Path.Combine(DataLocation.DataDirectory(), DirectoryName); Helper.ValidateDirectory(directoryPath); var filename = typeof(T).Name;