From 358460cb228a9ec6bb470301da81f4311b209069 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=BC=98=E9=9F=AC?= Date: Wed, 12 May 2021 19:38:29 +0800 Subject: [PATCH] Move storage to api call for websearch and calculator plugins --- .../Storage/PluginJsonStorage.cs | 2 +- Plugins/Flow.Launcher.Plugin.Calculator/Main.cs | 5 ++--- .../ViewModels/SettingsViewModel.cs | 9 +++------ .../ViewModels/SettingsViewModel.cs | 3 --- Plugins/Flow.Launcher.Plugin.WebSearch/Main.cs | 14 ++++++-------- .../SettingsViewModel.cs | 7 +++---- 6 files changed, 15 insertions(+), 25 deletions(-) diff --git a/Flow.Launcher.Infrastructure/Storage/PluginJsonStorage.cs b/Flow.Launcher.Infrastructure/Storage/PluginJsonStorage.cs index fb45c5e3e..c26aef95d 100644 --- a/Flow.Launcher.Infrastructure/Storage/PluginJsonStorage.cs +++ b/Flow.Launcher.Infrastructure/Storage/PluginJsonStorage.cs @@ -9,7 +9,7 @@ namespace Flow.Launcher.Infrastructure.Storage { // C# related, add python related below var dataType = typeof(T); - var assemblyName = typeof(T).Assembly.GetName().Name; + var assemblyName = dataType.Assembly.GetName().Name; DirectoryPath = Path.Combine(DataLocation.DataDirectory(), DirectoryName, Constant.Plugins, assemblyName); Helper.ValidateDirectory(DirectoryPath); diff --git a/Plugins/Flow.Launcher.Plugin.Calculator/Main.cs b/Plugins/Flow.Launcher.Plugin.Calculator/Main.cs index 96ff6edcb..fb632c9a1 100644 --- a/Plugins/Flow.Launcher.Plugin.Calculator/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.Calculator/Main.cs @@ -33,9 +33,8 @@ namespace Flow.Launcher.Plugin.Caculator public void Init(PluginInitContext context) { Context = context; - - _viewModel = new SettingsViewModel(); - _settings = _viewModel.Settings; + _settings = context.API.LoadJsonStorage(); + _viewModel = new SettingsViewModel(_settings); MagesEngine = new Engine(new Configuration { diff --git a/Plugins/Flow.Launcher.Plugin.Calculator/ViewModels/SettingsViewModel.cs b/Plugins/Flow.Launcher.Plugin.Calculator/ViewModels/SettingsViewModel.cs index 998f540b7..9ee95e840 100644 --- a/Plugins/Flow.Launcher.Plugin.Calculator/ViewModels/SettingsViewModel.cs +++ b/Plugins/Flow.Launcher.Plugin.Calculator/ViewModels/SettingsViewModel.cs @@ -10,15 +10,12 @@ namespace Flow.Launcher.Plugin.Caculator.ViewModels { public class SettingsViewModel : BaseModel { - private readonly PluginJsonStorage _storage; - - public SettingsViewModel() + public SettingsViewModel(Settings settings) { - _storage = new PluginJsonStorage(); - Settings = _storage.Load(); + Settings = settings; } - public Settings Settings { get; set; } + public Settings Settings { get; init; } public IEnumerable MaxDecimalPlacesRange => Enumerable.Range(1, 20); } diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/ViewModels/SettingsViewModel.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/ViewModels/SettingsViewModel.cs index fe9648371..8ca4c614a 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/ViewModels/SettingsViewModel.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/ViewModels/SettingsViewModel.cs @@ -5,8 +5,6 @@ namespace Flow.Launcher.Plugin.PluginsManager.ViewModels { internal class SettingsViewModel { - private readonly PluginJsonStorage storage; - internal Settings Settings { get; set; } internal PluginInitContext Context { get; set; } @@ -14,7 +12,6 @@ namespace Flow.Launcher.Plugin.PluginsManager.ViewModels public SettingsViewModel(PluginInitContext context, Settings settings) { Context = context; - storage = new PluginJsonStorage(); Settings = settings; } } diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/Main.cs b/Plugins/Flow.Launcher.Plugin.WebSearch/Main.cs index f5e7c83a4..6df2ef220 100644 --- a/Plugins/Flow.Launcher.Plugin.WebSearch/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.WebSearch/Main.cs @@ -18,8 +18,8 @@ namespace Flow.Launcher.Plugin.WebSearch { private PluginInitContext _context; - private readonly Settings _settings; - private readonly SettingsViewModel _viewModel; + private Settings _settings; + private SettingsViewModel _viewModel; internal const string Images = "Images"; internal static string DefaultImagesDirectory; @@ -160,12 +160,6 @@ namespace Flow.Launcher.Plugin.WebSearch return new List(); } - public Main() - { - _viewModel = new SettingsViewModel(); - _settings = _viewModel.Settings; - } - public Task InitAsync(PluginInitContext context) { return Task.Run(Init); @@ -173,6 +167,10 @@ namespace Flow.Launcher.Plugin.WebSearch void Init() { _context = context; + + _settings = _context.API.LoadJsonStorage(); + _viewModel = new SettingsViewModel(_settings); + var pluginDirectory = _context.CurrentPluginMetadata.PluginDirectory; var bundledImagesDirectory = Path.Combine(pluginDirectory, Images); diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/SettingsViewModel.cs b/Plugins/Flow.Launcher.Plugin.WebSearch/SettingsViewModel.cs index 5943b187e..a2538893b 100644 --- a/Plugins/Flow.Launcher.Plugin.WebSearch/SettingsViewModel.cs +++ b/Plugins/Flow.Launcher.Plugin.WebSearch/SettingsViewModel.cs @@ -6,13 +6,12 @@ namespace Flow.Launcher.Plugin.WebSearch { private readonly PluginJsonStorage _storage; - public SettingsViewModel() + public SettingsViewModel(Settings settings) { - _storage = new PluginJsonStorage(); - Settings = _storage.Load(); + Settings = settings; } - public Settings Settings { get; set; } + public Settings Settings { get; } public void Save() {