diff --git a/Plugins/Wox.Plugin.Program/Main.cs b/Plugins/Wox.Plugin.Program/Main.cs index e6bcc98687..0a6f37a4a0 100644 --- a/Plugins/Wox.Plugin.Program/Main.cs +++ b/Plugins/Wox.Plugin.Program/Main.cs @@ -1,11 +1,9 @@ using System; using System.Collections.Generic; -using System.ComponentModel; using System.Diagnostics; using System.Linq; using System.Threading.Tasks; using System.Windows.Controls; -using Wox.Infrastructure; using Wox.Infrastructure.Logger; using Wox.Infrastructure.Storage; using Wox.Plugin.Program.Programs; @@ -162,21 +160,24 @@ namespace Wox.Plugin.Program return menuOptions; } - private void DisableProgram(IProgram ProgramToDelete) + private void DisableProgram(IProgram programToDelete) { - if(_uwps.Any(x => x.UniqueIdentifier == ProgramToDelete.UniqueIdentifier)) - _uwps.Where(x => x.UniqueIdentifier == ProgramToDelete.UniqueIdentifier).FirstOrDefault().Enabled = false; + if (_settings.DisabledProgramSources.Any(x => x.UniqueIdentifier == programToDelete.UniqueIdentifier)) + return; - if (_win32s.Any(x => x.UniqueIdentifier == ProgramToDelete.UniqueIdentifier)) - _win32s.Where(x => x.UniqueIdentifier == ProgramToDelete.UniqueIdentifier).FirstOrDefault().Enabled = false; + if (_uwps.Any(x => x.UniqueIdentifier == programToDelete.UniqueIdentifier)) + _uwps.Where(x => x.UniqueIdentifier == programToDelete.UniqueIdentifier).FirstOrDefault().Enabled = false; + + if (_win32s.Any(x => x.UniqueIdentifier == programToDelete.UniqueIdentifier)) + _win32s.Where(x => x.UniqueIdentifier == programToDelete.UniqueIdentifier).FirstOrDefault().Enabled = false; _settings.DisabledProgramSources .Add( new Settings.DisabledProgramSource { - Name = ProgramToDelete.Name, - Location = ProgramToDelete.Location, - UniqueIdentifier = ProgramToDelete.UniqueIdentifier, + Name = programToDelete.Name, + Location = programToDelete.Location, + UniqueIdentifier = programToDelete.UniqueIdentifier, Enabled = false } );