public void Init(PluginInitContext context) { var s = Utilities.GetInstalledPath(); if (string.IsNullOrEmpty(s)) { Task.Run(async delegate { context.API.ShowMsg(context.API.GetTranslation("flowlauncher_plugin_everything_installing_title"), context.API.GetTranslation("flowlauncher_plugin_everything_installing_subtitle"), "", useMainWindowAsOwner: false); await DroplexPackage.Drop(App.Everything1_3_4_686).ConfigureAwait(false); context.API.ShowMsg(context.API.GetTranslation("flowlauncher_plugin_everything_installing_title"), context.API.GetTranslation("flowlauncher_plugin_everything_installationsuccess_subtitle"), "", useMainWindowAsOwner: false); SharedCommands.FilesFolders.OpenPath(installationFilePath); }).ContinueWith(t => { Log.Exception("Main", $"Failed to install Everything service", t.Exception.InnerException, "DroplexPackage.Drop"); MessageBox.Show(context.API.GetTranslation("flowlauncher_plugin_everything_installationfailed_subtitle"), context.API.GetTranslation("flowlauncher_plugin_everything_installing_title")); }, TaskContinuationOptions.OnlyOnFaulted); } else { installationFilePath = s; } _context = context; _storage = new PluginJsonStorage <Settings>(); _settings = _storage.Load(); if (_settings.MaxSearchCount <= 0) { _settings.MaxSearchCount = Settings.DefaultMaxSearchCount; } var pluginDirectory = context.CurrentPluginMetadata.PluginDirectory; const string sdk = "EverythingSDK"; var bundledSDKDirectory = Path.Combine(pluginDirectory, sdk, CpuType()); var sdkDirectory = Path.Combine(_storage.DirectoryPath, sdk, CpuType()); Helper.ValidateDataDirectory(bundledSDKDirectory, sdkDirectory); var sdkPath = Path.Combine(sdkDirectory, DLL); _api.Load(sdkPath); }
public void Init(PluginInitContext context) { _context = context; _storage = new PluginJsonStorage <Settings>(); _settings = _storage.Load(); if (_settings.MaxSearchCount <= 0) { _settings.MaxSearchCount = Settings.DefaultMaxSearchCount; } var pluginDirectory = context.CurrentPluginMetadata.PluginDirectory; const string sdk = "EverythingSDK"; var sdkDirectory = Path.Combine(pluginDirectory, sdk, CpuType()); var sdkPath = Path.Combine(sdkDirectory, DLL); Logger.WoxInfo("Everything", $"sdk path {sdkPath}"); Constant.EverythingSDKPath = sdkPath; _api.Load(sdkPath); }
public void Init(PluginInitContext context) { _context = context; _storage = new PluginJsonStorage <Settings>(); _settings = _storage.Load(); if (_settings.MaxSearchCount <= 0) { _settings.MaxSearchCount = Settings.DefaultMaxSearchCount; } var pluginDirectory = context.CurrentPluginMetadata.PluginDirectory; const string sdk = "EverythingSDK"; var bundledSDKDirectory = Path.Combine(pluginDirectory, sdk, CpuType()); var sdkDirectory = Path.Combine(_storage.DirectoryPath, sdk, CpuType()); Helper.ValidateDataDirectory(bundledSDKDirectory, sdkDirectory); var sdkPath = Path.Combine(sdkDirectory, DLL); Constant.EverythingSDKPath = sdkPath; _api.Load(sdkPath); }
public void Init(PluginInitContext context) { _context = context; _settings = context.API.LoadSettingJsonStorage <Settings>(); SortOptionTranlationHelper.API = context.API; if (_settings.MaxSearchCount <= 0) { _settings.MaxSearchCount = Settings.DefaultMaxSearchCount; } if (!_settings.EverythingInstalledPath.FileExists()) { var installedLocation = Utilities.GetInstalledPath(); if (string.IsNullOrEmpty(installedLocation) && System.Windows.Forms.MessageBox.Show( string.Format(context.API.GetTranslation("flowlauncher_plugin_everything_installing_select"), Environment.NewLine), context.API.GetTranslation("flowlauncher_plugin_everything_installing_title"), System.Windows.Forms.MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) { // Solves single thread apartment (STA) mode requirement error when using OpenFileDialog Thread t = new Thread(() => { var dlg = new System.Windows.Forms.OpenFileDialog { InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) }; var result = dlg.ShowDialog(); if (result == System.Windows.Forms.DialogResult.OK && !string.IsNullOrEmpty(dlg.FileName)) { installedLocation = dlg.FileName; } }); // Run your code from a thread that joins the STA Thread t.SetApartmentState(ApartmentState.STA); t.Start(); t.Join(); } if (string.IsNullOrEmpty(installedLocation)) { Task.Run(async delegate { context.API.ShowMsg(context.API.GetTranslation("flowlauncher_plugin_everything_installing_title"), context.API.GetTranslation("flowlauncher_plugin_everything_installing_subtitle"), "", useMainWindowAsOwner: false); await DroplexPackage.Drop(App.Everything1_4_1_1009).ConfigureAwait(false); context.API.ShowMsg(context.API.GetTranslation("flowlauncher_plugin_everything_installing_title"), context.API.GetTranslation("flowlauncher_plugin_everything_installationsuccess_subtitle"), "", useMainWindowAsOwner: false); _settings.EverythingInstalledPath = "C:\\Program Files\\Everything\\Everything.exe"; FilesFolders.OpenPath(_settings.EverythingInstalledPath); }).ContinueWith(t => { _context.API.LogException("Everything.Main", $"Failed to install Everything service", t.Exception.InnerException, "DroplexPackage.Drop"); MessageBox.Show(context.API.GetTranslation("flowlauncher_plugin_everything_installationfailed_subtitle"), context.API.GetTranslation("flowlauncher_plugin_everything_installing_title")); }, TaskContinuationOptions.OnlyOnFaulted); } else { _settings.EverythingInstalledPath = installedLocation; } } var pluginDirectory = context.CurrentPluginMetadata.PluginDirectory; const string sdk = "EverythingSDK"; var bundledSdkDirectory = Path.Combine(pluginDirectory, sdk, CpuType()); var sdkPath = Path.Combine(bundledSdkDirectory, DLL); _api.Load(sdkPath); }