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; }