diff --git a/Flow.Launcher.Core/Plugin/PluginManager.cs b/Flow.Launcher.Core/Plugin/PluginManager.cs
index b3a4ad0e1..59f34de74 100644
--- a/Flow.Launcher.Core/Plugin/PluginManager.cs
+++ b/Flow.Launcher.Core/Plugin/PluginManager.cs
@@ -7,9 +7,9 @@ using System.Threading;
using System.Threading.Tasks;
using Flow.Launcher.Infrastructure;
using Flow.Launcher.Infrastructure.Logger;
-using Flow.Launcher.Infrastructure.Storage;
using Flow.Launcher.Infrastructure.UserSettings;
using Flow.Launcher.Plugin;
+using ISavable = Flow.Launcher.Plugin.ISavable;
namespace Flow.Launcher.Core.Plugin
{
@@ -48,7 +48,7 @@ namespace Flow.Launcher.Core.Plugin
{
foreach (var plugin in AllPlugins)
{
- var savable = plugin.Plugin as ISettingsSavable;
+ var savable = plugin.Plugin as ISavable;
savable?.Save();
}
diff --git a/Flow.Launcher.Infrastructure/Storage/ISavable.cs b/Flow.Launcher.Infrastructure/Storage/ISavable.cs
index 2fc577e86..ba2b58c6a 100644
--- a/Flow.Launcher.Infrastructure/Storage/ISavable.cs
+++ b/Flow.Launcher.Infrastructure/Storage/ISavable.cs
@@ -1,10 +1,8 @@
-using Flow.Launcher.Plugin;
+using System;
namespace Flow.Launcher.Infrastructure.Storage
{
- ///
- /// Save plugin settings/cache,
- /// todo should be merged into a abstract class intead of seperate interface
- ///
- public interface ISavable : ISettingsSavable { }
+ [Obsolete("Deprecated as of Flow Launcher v1.8.0, on 2021.06.21. " +
+ "This is used only for Everything plugin v1.4.9 or below backwards compatibility")]
+ public interface ISavable : Plugin.ISavable { }
}
\ No newline at end of file
diff --git a/Flow.Launcher.Infrastructure/Storage/JsonStorage.cs b/Flow.Launcher.Infrastructure/Storage/JsonStorage.cs
index 9a863f9fa..0083ccb87 100644
--- a/Flow.Launcher.Infrastructure/Storage/JsonStorage.cs
+++ b/Flow.Launcher.Infrastructure/Storage/JsonStorage.cs
@@ -88,5 +88,7 @@ namespace Flow.Launcher.Infrastructure.Storage
}
}
+ [Obsolete("Deprecated as of Flow Launcher v1.8.0, on 2021.06.21. " +
+ "This is used only for Everything plugin v1.4.9 or below backwards compatibility")]
public class JsonStrorage : JsonStorage where T : new() { }
}
diff --git a/Flow.Launcher.Plugin/Interfaces/ISettingsSavable.cs b/Flow.Launcher.Plugin/Interfaces/ISavable.cs
similarity index 91%
rename from Flow.Launcher.Plugin/Interfaces/ISettingsSavable.cs
rename to Flow.Launcher.Plugin/Interfaces/ISavable.cs
index 120a18adc..6f408dc2e 100644
--- a/Flow.Launcher.Plugin/Interfaces/ISettingsSavable.cs
+++ b/Flow.Launcher.Plugin/Interfaces/ISavable.cs
@@ -5,7 +5,7 @@
/// Otherwise if LoadSettingJsonStorage or SaveSettingJsonStorage has been callded,
/// plugin settings will be automatically saved (see Flow.Launcher/PublicAPIInstance.SavePluginSettings) by Flow
///
- public interface ISettingsSavable
+ public interface ISavable
{
void Save();
}
diff --git a/Flow.Launcher/ViewModel/MainViewModel.cs b/Flow.Launcher/ViewModel/MainViewModel.cs
index 469be42c1..4f6d3be84 100644
--- a/Flow.Launcher/ViewModel/MainViewModel.cs
+++ b/Flow.Launcher/ViewModel/MainViewModel.cs
@@ -20,10 +20,11 @@ using Flow.Launcher.Plugin.SharedCommands;
using Flow.Launcher.Storage;
using Flow.Launcher.Infrastructure.Logger;
using System.Threading.Channels;
+using ISavable = Flow.Launcher.Plugin.ISavable;
namespace Flow.Launcher.ViewModel
{
- public class MainViewModel : BaseModel, ISettingsSavable
+ public class MainViewModel : BaseModel, ISavable
{
#region Private Fields
diff --git a/Plugins/Flow.Launcher.Plugin.Program/Main.cs b/Plugins/Flow.Launcher.Plugin.Program/Main.cs
index 59bd4809d..5175970fd 100644
--- a/Plugins/Flow.Launcher.Plugin.Program/Main.cs
+++ b/Plugins/Flow.Launcher.Plugin.Program/Main.cs
@@ -13,7 +13,7 @@ using Stopwatch = Flow.Launcher.Infrastructure.Stopwatch;
namespace Flow.Launcher.Plugin.Program
{
- public class Main : ISettingProvider, IAsyncPlugin, IPluginI18n, IContextMenu, ISettingsSavable, IAsyncReloadable
+ public class Main : ISettingProvider, IAsyncPlugin, IPluginI18n, IContextMenu, ISavable, IAsyncReloadable
{
internal static Win32[] _win32s { get; set; }
internal static UWP.Application[] _uwps { get; set; }