Browse Source

Fixed forum-15675: Stack overflow in ReferenceNode.ReferenceProjectItem in Project Browser

Implemented forum-15677: Refresh assembly reference in Project Browser

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/2.1@2438 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 19 years ago
parent
commit
f8f3121734
  1. 4
      AddIns/ICSharpCode.SharpDevelop.addin
  2. 21
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/ReferenceFolderNodeCommands.cs
  3. 2
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/ReferenceNode.cs

4
AddIns/ICSharpCode.SharpDevelop.addin

@ -606,6 +606,10 @@
</Path> </Path>
<Path name = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/ReferenceNode"> <Path name = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/ReferenceNode">
<MenuItem id = "RefreshReference"
icon = "Icons.16x16.BrowserRefresh"
label = "${res:AddIns.HtmlHelp2.Refresh}"
class = "ICSharpCode.SharpDevelop.Project.Commands.RefreshReference"/>
<MenuItem id = "Remove" <MenuItem id = "Remove"
label = "${res:Global.RemoveButtonText}" label = "${res:Global.RemoveButtonText}"
icon = "Icons.16x16.DeleteIcon" icon = "Icons.16x16.DeleteIcon"

21
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/ReferenceFolderNodeCommands.cs

@ -94,7 +94,7 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
credential = dialog.Credential; credential = dialog.Credential;
} else { } else {
retry = false; retry = false;
} }
} }
} else { } else {
throw ex; throw ex;
@ -117,7 +117,7 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
// Do not overwrite existing web references. // Do not overwrite existing web references.
refDialog.WebReference.Name = WebReference.GetReferenceName(refDialog.WebReference.WebReferencesDirectory, refDialog.WebReference.Name); refDialog.WebReference.Name = WebReference.GetReferenceName(refDialog.WebReference.WebReferencesDirectory, refDialog.WebReference.Name);
refDialog.WebReference.Save(); refDialog.WebReference.Save();
foreach (ProjectItem item in refDialog.WebReference.Items) { foreach (ProjectItem item in refDialog.WebReference.Items) {
ProjectService.AddProjectItem(node.Project, item); ProjectService.AddProjectItem(node.Project, item);
} }
@ -129,7 +129,7 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
node.Project.Save(); node.Project.Save();
} }
} }
} }
} }
@ -178,4 +178,19 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
return webReferencesNode; return webReferencesNode;
} }
} }
public class RefreshReference : AbstractMenuCommand
{
public override void Run()
{
ReferenceNode node = Owner as ReferenceNode;
if (node != null)
{
ReferenceProjectItem item = node.ReferenceProjectItem;
if (item != null) {
ParserService.RefreshProjectContentForReference(item);
}
}
}
}
} }

2
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/ReferenceNode.cs

@ -17,7 +17,7 @@ namespace ICSharpCode.SharpDevelop.Project
public ReferenceProjectItem ReferenceProjectItem { public ReferenceProjectItem ReferenceProjectItem {
get { get {
return ReferenceProjectItem; return referenceProjectItem;
} }
} }

Loading…
Cancel
Save