From 39cbae858828423e81e9923d3ff7b8d096fa2c21 Mon Sep 17 00:00:00 2001 From: Andreas Weizel Date: Tue, 8 Jan 2013 22:08:10 +0100 Subject: [PATCH] Original AddInManager now only shows its menu item (Tools menu), if AddInManager2 is not installed or enabled. --- .../AddInManager/Project/AddInManager.addin | 9 ++++++--- .../Misc/AddInManager/Project/Src/Commands.cs | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/AddIns/Misc/AddInManager/Project/AddInManager.addin b/src/AddIns/Misc/AddInManager/Project/AddInManager.addin index 21d364a380..4faedd1fcc 100644 --- a/src/AddIns/Misc/AddInManager/Project/AddInManager.addin +++ b/src/AddIns/Misc/AddInManager/Project/AddInManager.addin @@ -11,13 +11,16 @@ + - + + + diff --git a/src/AddIns/Misc/AddInManager/Project/Src/Commands.cs b/src/AddIns/Misc/AddInManager/Project/Src/Commands.cs index bef2ef7e98..e815531cdd 100644 --- a/src/AddIns/Misc/AddInManager/Project/Src/Commands.cs +++ b/src/AddIns/Misc/AddInManager/Project/Src/Commands.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using ICSharpCode.Core; +using System.Linq; #if !STANDALONE using ICSharpCode.SharpDevelop; @@ -43,6 +44,24 @@ namespace ICSharpCode.AddInManager } } + public class AddInManager2NotInstalledConditionEvaluator : IConditionEvaluator + { + public bool IsValid(object caller, Condition condition) + { + #if !STANDALONE + AddIn addInManager2AddIn = SD.AddInTree.AddIns.Where( + a => ((a.Manifest != null) && (a.Manifest.PrimaryIdentity == "ICSharpCode.AddInManager2"))) + .FirstOrDefault(); + if (addInManager2AddIn != null) + { + return !addInManager2AddIn.Enabled; + } + #endif + + return true; + } + } + public class DisableCommand : AbstractMenuCommand { public override void Run()