From d9b70e69f327689682cfe7760264d0b05b6b3f11 Mon Sep 17 00:00:00 2001
From: Vic <10308169+VictoriousRaptor@users.noreply.github.com>
Date: Tue, 25 Apr 2023 22:38:36 +0800
Subject: [PATCH] Refactor save settings logic
SettingWindowViewModel.Save() only saves Flow settings
---
Flow.Launcher.Core/Plugin/PluginManager.cs | 3 +++
Flow.Launcher/PublicAPIInstance.cs | 5 ++++-
Flow.Launcher/SettingWindow.xaml.cs | 1 +
Flow.Launcher/ViewModel/SettingWindowViewModel.cs | 4 +++-
4 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/Flow.Launcher.Core/Plugin/PluginManager.cs b/Flow.Launcher.Core/Plugin/PluginManager.cs
index 3b4a6e445..f8c9a3f17 100644
--- a/Flow.Launcher.Core/Plugin/PluginManager.cs
+++ b/Flow.Launcher.Core/Plugin/PluginManager.cs
@@ -48,6 +48,9 @@ namespace Flow.Launcher.Core.Plugin
}
}
+ ///
+ /// Save json and ISavable
+ ///
public static void Save()
{
foreach (var plugin in AllPlugins)
diff --git a/Flow.Launcher/PublicAPIInstance.cs b/Flow.Launcher/PublicAPIInstance.cs
index 80addcbee..636699ad0 100644
--- a/Flow.Launcher/PublicAPIInstance.cs
+++ b/Flow.Launcher/PublicAPIInstance.cs
@@ -77,7 +77,7 @@ namespace Flow.Launcher
public void SaveAppAllSettings()
{
- SavePluginSettings();
+ PluginManager.Save();
_mainVM.Save();
_settingsVM.Save();
ImageLoader.Save();
@@ -158,6 +158,9 @@ namespace Flow.Launcher
private readonly ConcurrentDictionary _pluginJsonStorages = new();
+ ///
+ /// Save plugin settings.
+ ///
public void SavePluginSettings()
{
foreach (var value in _pluginJsonStorages.Values)
diff --git a/Flow.Launcher/SettingWindow.xaml.cs b/Flow.Launcher/SettingWindow.xaml.cs
index f39974142..b80208a0c 100644
--- a/Flow.Launcher/SettingWindow.xaml.cs
+++ b/Flow.Launcher/SettingWindow.xaml.cs
@@ -226,6 +226,7 @@ namespace Flow.Launcher
settings.SettingWindowTop = Top;
settings.SettingWindowLeft = Left;
viewModel.Save();
+ API.SavePluginSettings();
}
private void OnCloseExecuted(object sender, ExecutedRoutedEventArgs e)
diff --git a/Flow.Launcher/ViewModel/SettingWindowViewModel.cs b/Flow.Launcher/ViewModel/SettingWindowViewModel.cs
index 9bdf2db4d..47a5cd672 100644
--- a/Flow.Launcher/ViewModel/SettingWindowViewModel.cs
+++ b/Flow.Launcher/ViewModel/SettingWindowViewModel.cs
@@ -133,6 +133,9 @@ namespace Flow.Launcher.ViewModel
}
}
+ ///
+ /// Save Flow settings. Plugins settings are not included.
+ ///
public void Save()
{
foreach (var vm in PluginViewModels)
@@ -143,7 +146,6 @@ namespace Flow.Launcher.ViewModel
Settings.PluginSettings.Plugins[id].Priority = vm.Priority;
}
- PluginManager.Save();
_storage.Save();
}