mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-06-07 01:08:18 +08:00
Refactoring directory path for storage
This commit is contained in:
parent
b1ed51e72c
commit
c8a932b6b3
@ -17,15 +17,7 @@ namespace Wox.Plugin.CMD
|
||||
[JsonProperty]
|
||||
public Dictionary<string, int> CMDHistory = new Dictionary<string, int>();
|
||||
|
||||
protected override string ConfigFolder
|
||||
{
|
||||
get { return Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); }
|
||||
}
|
||||
|
||||
protected override string ConfigName
|
||||
{
|
||||
get { return "CMDHistory"; }
|
||||
}
|
||||
protected override string FileName { get; } = "CMDHistory";
|
||||
|
||||
protected override CMDStorage LoadDefault()
|
||||
{
|
||||
|
@ -15,15 +15,7 @@ namespace Wox.Plugin.Everything
|
||||
|
||||
public IPublicAPI API { get; set; }
|
||||
|
||||
protected override string ConfigName
|
||||
{
|
||||
get { return "EverythingContextMenu"; }
|
||||
}
|
||||
|
||||
protected override string ConfigFolder
|
||||
{
|
||||
get { return Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); }
|
||||
}
|
||||
protected override string FileName { get; } = "EverythingContextMenu";
|
||||
|
||||
protected override void OnAfterLoad(ContextMenuStorage obj)
|
||||
{
|
||||
|
@ -10,14 +10,7 @@ namespace Wox.Plugin.Folder
|
||||
{
|
||||
[JsonProperty]
|
||||
public List<FolderLink> FolderLinks { get; set; }
|
||||
protected override string ConfigFolder
|
||||
{
|
||||
get { return Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); }
|
||||
}
|
||||
|
||||
protected override string ConfigName
|
||||
{
|
||||
get { return "setting"; }
|
||||
}
|
||||
protected override string FileName { get; } = "settings_folder_plugin";
|
||||
}
|
||||
}
|
||||
|
@ -11,14 +11,6 @@ namespace Wox.Plugin.Program
|
||||
{
|
||||
public List<Program> Programs = new List<Program>();
|
||||
|
||||
protected override string ConfigFolder
|
||||
{
|
||||
get { return Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); }
|
||||
}
|
||||
|
||||
protected override string ConfigName
|
||||
{
|
||||
get { return "ProgramIndexCache"; }
|
||||
}
|
||||
protected override string FileName { get; } = "ProgramIndexCache";
|
||||
}
|
||||
}
|
@ -23,11 +23,6 @@ namespace Wox.Plugin.Program
|
||||
[DefaultValue(true)]
|
||||
public bool EnableRegistrySource { get; set; }
|
||||
|
||||
protected override string ConfigFolder
|
||||
{
|
||||
get { return Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); }
|
||||
}
|
||||
|
||||
protected override ProgramStorage LoadDefault()
|
||||
{
|
||||
ProgramSources = new List<ProgramSource>();
|
||||
@ -44,9 +39,6 @@ namespace Wox.Plugin.Program
|
||||
}
|
||||
}
|
||||
|
||||
protected override string ConfigName
|
||||
{
|
||||
get { return "setting"; }
|
||||
}
|
||||
protected override string FileName { get; } = "settings_plugin_program";
|
||||
}
|
||||
}
|
||||
|
@ -17,14 +17,6 @@ namespace Wox.Plugin.WebSearch
|
||||
[JsonProperty]
|
||||
public string WebSearchSuggestionSource { get; set; }
|
||||
|
||||
protected override string ConfigFolder
|
||||
{
|
||||
get { return Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); }
|
||||
}
|
||||
|
||||
protected override string ConfigName
|
||||
{
|
||||
get { return "setting"; }
|
||||
}
|
||||
protected override string FileName { get; } = "settings_plugin_websearch";
|
||||
}
|
||||
}
|
||||
|
@ -107,17 +107,7 @@ namespace Wox.Core.UserSettings
|
||||
[JsonProperty]
|
||||
public int MaxResultsToShow { get; set; }
|
||||
|
||||
protected override string ConfigFolder
|
||||
{
|
||||
get { return Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "Config"); }
|
||||
}
|
||||
|
||||
protected override string ConfigName
|
||||
{
|
||||
get { return "config"; }
|
||||
}
|
||||
|
||||
|
||||
protected override string FileName { get; } = "Settings";
|
||||
|
||||
public void IncreaseActivateTimes()
|
||||
{
|
||||
|
@ -4,23 +4,18 @@ using System.IO;
|
||||
namespace Wox.Infrastructure.Storage
|
||||
{
|
||||
[Serializable]
|
||||
public abstract class BaseStorage<T> : IStorage where T : class,IStorage, new()
|
||||
public abstract class BaseStorage<T> : IStorage where T : class, IStorage, new()
|
||||
{
|
||||
protected abstract string ConfigFolder { get; }
|
||||
protected string DirectoryPath { get; } = Path.Combine(WoxDirectroy.Executable, "Config");
|
||||
|
||||
protected string ConfigPath
|
||||
{
|
||||
get
|
||||
{
|
||||
return Path.Combine(ConfigFolder, ConfigName + FileSuffix);
|
||||
}
|
||||
}
|
||||
protected string FilePath => Path.Combine(DirectoryPath, FileName + FileSuffix);
|
||||
|
||||
protected abstract string FileSuffix { get; }
|
||||
|
||||
protected abstract string ConfigName { get; }
|
||||
protected abstract string FileName { get; }
|
||||
|
||||
private static object locker = new object();
|
||||
|
||||
protected static T serializedObject;
|
||||
|
||||
public event Action<T> AfterLoad;
|
||||
@ -64,13 +59,13 @@ namespace Wox.Infrastructure.Storage
|
||||
|
||||
public void Load()
|
||||
{
|
||||
if (!File.Exists(ConfigPath))
|
||||
if (!File.Exists(FilePath))
|
||||
{
|
||||
if (!Directory.Exists(ConfigFolder))
|
||||
if (!Directory.Exists(DirectoryPath))
|
||||
{
|
||||
Directory.CreateDirectory(ConfigFolder);
|
||||
Directory.CreateDirectory(DirectoryPath);
|
||||
}
|
||||
File.Create(ConfigPath).Close();
|
||||
File.Create(FilePath).Close();
|
||||
}
|
||||
LoadInternal();
|
||||
OnAfterLoad(serializedObject);
|
||||
|
@ -28,7 +28,7 @@ namespace Wox.Infrastructure.Storage
|
||||
AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;
|
||||
try
|
||||
{
|
||||
using (FileStream fileStream = new FileStream(ConfigPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
|
||||
using (FileStream fileStream = new FileStream(FilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
|
||||
{
|
||||
if (fileStream.Length > 0)
|
||||
{
|
||||
@ -93,7 +93,7 @@ namespace Wox.Infrastructure.Storage
|
||||
{
|
||||
try
|
||||
{
|
||||
FileStream fileStream = new FileStream(ConfigPath, FileMode.Create);
|
||||
FileStream fileStream = new FileStream(FilePath, FileMode.Create);
|
||||
BinaryFormatter binaryFormatter = new BinaryFormatter
|
||||
{
|
||||
AssemblyFormat = FormatterAssemblyStyle.Simple
|
||||
|
@ -17,7 +17,7 @@ namespace Wox.Infrastructure.Storage
|
||||
|
||||
protected override void LoadInternal()
|
||||
{
|
||||
string json = File.ReadAllText(ConfigPath);
|
||||
string json = File.ReadAllText(FilePath);
|
||||
if (!string.IsNullOrEmpty(json))
|
||||
{
|
||||
try
|
||||
@ -42,7 +42,7 @@ namespace Wox.Infrastructure.Storage
|
||||
lock (syncObject)
|
||||
{
|
||||
string json = JsonConvert.SerializeObject(serializedObject, Formatting.Indented);
|
||||
File.WriteAllText(ConfigPath, json);
|
||||
File.WriteAllText(FilePath, json);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -40,14 +40,6 @@ namespace Wox.UpdateFeedGenerator
|
||||
}
|
||||
}
|
||||
|
||||
protected override string ConfigFolder
|
||||
{
|
||||
get { return Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); }
|
||||
}
|
||||
|
||||
protected override string ConfigName
|
||||
{
|
||||
get { return "config"; }
|
||||
}
|
||||
protected override string FileName { get; } = "config";
|
||||
}
|
||||
}
|
||||
|
@ -14,15 +14,7 @@ namespace Wox.ImageLoader
|
||||
private const int maxCached = 200;
|
||||
public Dictionary<string, int> TopUsedImages = new Dictionary<string, int>();
|
||||
|
||||
protected override string ConfigFolder
|
||||
{
|
||||
get { return Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "Config"); }
|
||||
}
|
||||
|
||||
protected override string ConfigName
|
||||
{
|
||||
get { return "ImageCache"; }
|
||||
}
|
||||
protected override string FileName { get; } = "ImageCache";
|
||||
|
||||
public void Add(string path)
|
||||
{
|
||||
|
@ -20,15 +20,7 @@ namespace Wox.Storage
|
||||
public static PluginMetadata MetaData { get; } = new PluginMetadata
|
||||
{ ID = "Query history", Name = "Query history" };
|
||||
|
||||
protected override string ConfigFolder
|
||||
{
|
||||
get { return Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "Config"); }
|
||||
}
|
||||
|
||||
protected override string ConfigName
|
||||
{
|
||||
get { return "QueryHistory"; }
|
||||
}
|
||||
protected override string FileName { get; } = "QueryHistory";
|
||||
|
||||
public HistoryItem Previous()
|
||||
{
|
||||
|
@ -11,15 +11,7 @@ namespace Wox.Storage
|
||||
{
|
||||
public Dictionary<string, TopMostRecord> records = new Dictionary<string, TopMostRecord>();
|
||||
|
||||
protected override string ConfigFolder
|
||||
{
|
||||
get { return Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "Config"); }
|
||||
}
|
||||
|
||||
protected override string ConfigName
|
||||
{
|
||||
get { return "TopMostRecords"; }
|
||||
}
|
||||
protected override string FileName { get; } = "TopMostRecords";
|
||||
|
||||
internal bool IsTopMost(Result result)
|
||||
{
|
||||
@ -50,10 +42,10 @@ namespace Wox.Storage
|
||||
{
|
||||
records.Add(result.OriginQuery.RawQuery, new TopMostRecord
|
||||
{
|
||||
PluginID = result.PluginID,
|
||||
Title = result.Title,
|
||||
SubTitle = result.SubTitle
|
||||
});
|
||||
PluginID = result.PluginID,
|
||||
Title = result.Title,
|
||||
SubTitle = result.SubTitle
|
||||
});
|
||||
}
|
||||
|
||||
Save();
|
||||
|
@ -12,15 +12,7 @@ namespace Wox.Storage
|
||||
[JsonProperty]
|
||||
private Dictionary<string, int> records = new Dictionary<string, int>();
|
||||
|
||||
protected override string ConfigFolder
|
||||
{
|
||||
get { return Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "Config"); }
|
||||
}
|
||||
|
||||
protected override string ConfigName
|
||||
{
|
||||
get { return "UserSelectedRecords"; }
|
||||
}
|
||||
protected override string FileName { get; } = "UserSelectedRecords";
|
||||
|
||||
public void Add(Result result)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user