Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectReferenceFolderNodeBuilder.cs')
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectReferenceFolderNodeBuilder.cs25
1 files changed, 14 insertions, 11 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectReferenceFolderNodeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectReferenceFolderNodeBuilder.cs
index 178ce4413c..fc5373e319 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectReferenceFolderNodeBuilder.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectReferenceFolderNodeBuilder.cs
@@ -85,15 +85,18 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
ctx.AddChild (pref);
// For portable libraries, add node that represents all framework assemblies
- var project = ctx.GetParentDataItem (typeof(DotNetProject), false) as PortableDotNetProject;
- if (project != null)
+ var project = (DotNetProject) ctx.GetParentDataItem (typeof(DotNetProject), false);
+ if (project != null && project.IsPortableLibrary)
ctx.AddChild (new PortableFrameworkSubset (project));
}
public override bool HasChildNodes (ITreeBuilder builder, object dataObject)
{
- return ((ProjectReferenceCollection) dataObject).Count > 0
- || builder.GetParentDataItem (typeof(DotNetProject), false) is PortableDotNetProject;
+ if (((ProjectReferenceCollection) dataObject).Count > 0)
+ return true;
+
+ var p = (DotNetProject) builder.GetParentDataItem (typeof(DotNetProject), false);
+ return p != null && p.IsPortableLibrary;
}
public override int CompareObjects (ITreeNavigator thisNode, ITreeNavigator otherNode)
@@ -129,7 +132,7 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
return dataObject is ProjectReference || dataObject is Project;
}
- public override void OnNodeDrop (object dataObject, DragOperation operation)
+ public async override void OnNodeDrop (object dataObject, DragOperation operation)
{
// It allows dropping either project references or projects.
// Dropping a project creates a new project reference to that project
@@ -146,7 +149,7 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
if (ProjectReferencesProject (p, project.Name))
return;
p.References.Add (pr);
- IdeApp.ProjectOperations.Save (p);
+ await IdeApp.ProjectOperations.SaveAsync (p);
return;
}
@@ -175,8 +178,8 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
}
p2.References.Add (pref);
- IdeApp.ProjectOperations.Save (p);
- IdeApp.ProjectOperations.Save (p2);
+ await IdeApp.ProjectOperations.SaveAsync (p);
+ await IdeApp.ProjectOperations.SaveAsync (p2);
} else {
nav.MoveToParent (typeof(DotNetProject));
DotNetProject p = nav.DataItem as DotNetProject;
@@ -194,7 +197,7 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
return;
}
p.References.Add ((ProjectReference) pref.Clone ());
- IdeApp.ProjectOperations.Save (p);
+ await IdeApp.ProjectOperations.SaveAsync (p);
}
}
@@ -204,12 +207,12 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
}
[CommandHandler (ProjectCommands.AddReference)]
- public void AddReferenceToProject ()
+ public async void AddReferenceToProject ()
{
DotNetProject p = (DotNetProject) CurrentNode.GetParentDataItem (typeof(DotNetProject), false);
if (IdeApp.ProjectOperations.AddReferenceToProject (p)) {
- IdeApp.ProjectOperations.Save (p);
CurrentNode.Expanded = true;
+ await IdeApp.ProjectOperations.SaveAsync (p);
}
}