diff options
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels')
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/NamespaceSynchronisationPanel.cs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/NamespaceSynchronisationPanel.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/NamespaceSynchronisationPanel.cs index c41957a92f..5251683340 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/NamespaceSynchronisationPanel.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/NamespaceSynchronisationPanel.cs @@ -32,6 +32,7 @@ using MonoDevelop.Core; using MonoDevelop.Projects; using MonoDevelop.Projects.Policies; using MonoDevelop.Ide.Gui.Dialogs; +using System.Linq; namespace MonoDevelop.Ide.Projects.OptionPanels { @@ -40,6 +41,19 @@ namespace MonoDevelop.Ide.Projects.OptionPanels NamespaceSynchronisationPanelWidget widget; bool migrateIds; + public override bool IsVisible () + { + //FIXME: this GetAllItems lookup is kinda expensive, maybe it should be cached in ParentDialog + var item = ParentDialog.DataObject; + if (item is DotNetProject) + return true; + var slnFolder = item as SolutionFolder ?? ((item is Solution)? ((Solution)item).RootFolder : null); + if (slnFolder != null) + return slnFolder.GetAllItems<DotNetProject> ().Any (); + + return false; + } + public override Widget CreatePanelWidget () { widget = new NamespaceSynchronisationPanelWidget (this); |