diff --git a/Plugins/Wox.Plugin.Sys/Main.cs b/Plugins/Wox.Plugin.Sys/Main.cs index 1334034a3b..7cb35c55f8 100644 --- a/Plugins/Wox.Plugin.Sys/Main.cs +++ b/Plugins/Wox.Plugin.Sys/Main.cs @@ -168,6 +168,18 @@ namespace Wox.Plugin.Sys } }, new Result + { + Title = "Save Settings", + SubTitle = "Save all Wox settings", + IcoPath = "Images\\app.png", + Action = c => + { + context.API.SaveAppAllSettings(); + context.API.ShowMsg("Success","All Wox settings saved"); + return true; + } + }, + new Result { Title = "Restart Wox", SubTitle = context.API.GetTranslation("wox_plugin_sys_restart"), diff --git a/Wox.Plugin/IPublicAPI.cs b/Wox.Plugin/IPublicAPI.cs index c726c962a6..7dcac48440 100644 --- a/Wox.Plugin/IPublicAPI.cs +++ b/Wox.Plugin/IPublicAPI.cs @@ -57,6 +57,11 @@ namespace Wox.Plugin [Obsolete] void ShowApp(); + /// + /// Save all Wox settings + /// + void SaveAppAllSettings(); + /// /// Show message box /// diff --git a/Wox/PublicAPIInstance.cs b/Wox/PublicAPIInstance.cs index 748c7aac65..9c8e7008bd 100644 --- a/Wox/PublicAPIInstance.cs +++ b/Wox/PublicAPIInstance.cs @@ -59,13 +59,18 @@ namespace Wox // we must manually save // UpdateManager.RestartApp() will call Environment.Exit(0) // which will cause ungraceful exit + SaveAppAllSettings(); + + UpdateManager.RestartApp(); + } + + public void SaveAppAllSettings() + { _mainVM.Save(); _settingsVM.Save(); PluginManager.Save(); ImageLoader.Save(); Alphabet.Save(); - - UpdateManager.RestartApp(); } [Obsolete]