Browse Source

Fixed SD2-798 - New items are not sorted in the project browser.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@3469 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Christian Hornung 18 years ago
parent
commit
05ab24a760
  1. 62
      src/Main/Base/Project/Src/Gui/Components/ExtTreeView/ExtTreeNode.cs
  2. 2
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/DefaultFileNodeCommands.cs
  3. 8
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/FolderNodeCommands.cs
  4. 2
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/ReferenceFolderNodeCommands.cs
  5. 2
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/SolutionNodeCommands.cs
  6. 2
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/NodeBuilder/DefaultDotNetNodeBuilder.cs
  7. 4
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/NodeBuilder/WebReferenceNodeBuilder.cs
  8. 2
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/ProjectBrowserControl.cs
  9. 22
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/DirectoryNode.cs
  10. 2
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/FileNode.cs
  11. 2
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/ReferenceFolder.cs
  12. 14
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/SolutionFolderNode.cs
  13. 6
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/SolutionNode.cs

62
src/Main/Base/Project/Src/Gui/Components/ExtTreeView/ExtTreeNode.cs

@ -74,12 +74,14 @@ namespace ICSharpCode.SharpDevelop.Gui
{ {
internalParent = parentNode; internalParent = parentNode;
parentNode.Nodes.Insert(index, this); parentNode.Nodes.Insert(index, this);
Refresh();
} }
public void Insert(int index, TreeView view) public void Insert(int index, TreeView view)
{ {
internalParent = null; internalParent = null;
view.Nodes.Insert(index, this); view.Nodes.Insert(index, this);
Refresh();
} }
void AddTo(TreeNodeCollection nodes) void AddTo(TreeNodeCollection nodes)
@ -502,6 +504,66 @@ namespace ICSharpCode.SharpDevelop.Gui
return Text; return Text;
} }
} }
int GetInsertionIndex(TreeNodeCollection nodes, TreeView treeView)
{
if (treeView == null) {
return nodes.Count;
}
Comparison<TreeNode> comparison = null;
ExtTreeView etv = treeView as ExtTreeView;
if (etv == null) {
if (!treeView.Sorted) {
return nodes.Count;
}
if (treeView.TreeViewNodeSorter != null) {
comparison = treeView.TreeViewNodeSorter.Compare;
}
} else {
if (!etv.IsSorted) {
return nodes.Count;
}
if (etv.NodeSorter != null) {
comparison = etv.NodeSorter.Compare;
}
}
if (comparison == null) {
return nodes.Count;
}
for (int i = 0; i < nodes.Count; ++i) {
if (comparison(this, nodes[i]) < 0) {
return i;
}
}
return nodes.Count;
}
/// <summary>
/// Inserts this node into the specified TreeView at the position
/// determined by the comparer of the TreeView, assuming that
/// all other immediate child nodes of the TreeView are in sorted order.
/// </summary>
public void InsertSorted(TreeView treeView)
{
this.Insert(this.GetInsertionIndex(treeView.Nodes, treeView), treeView);
}
/// <summary>
/// Inserts this node into the specified <paramref name="parentNode"/>
/// at the position determined by the comparer
/// of the TreeView which contains the <paramref name="parentNode"/>,
/// assuming that all other immediate child nodes of the <paramref name="parentNode"/>
/// are in sorted order.
/// </summary>
public void InsertSorted(TreeNode parentNode)
{
this.Insert(this.GetInsertionIndex(parentNode.Nodes, parentNode.TreeView), parentNode);
}
#endregion #endregion
} }
} }

2
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/DefaultFileNodeCommands.cs

@ -318,7 +318,7 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
pair.Value.DependentUpon = Path.GetFileName(fileNode.FileName); pair.Value.DependentUpon = Path.GetFileName(fileNode.FileName);
pair.Key.Remove(); pair.Key.Remove();
pair.Key.FileNodeStatus = FileNodeStatus.BehindFile; pair.Key.FileNodeStatus = FileNodeStatus.BehindFile;
pair.Key.AddTo(fileNode); pair.Key.InsertSorted(fileNode);
} }
fileNode.Project.Save(); fileNode.Project.Save();

8
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/FolderNodeCommands.cs

@ -102,7 +102,7 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
FileService.CopyFile(directoryName, copiedFileName, true, false); FileService.CopyFile(directoryName, copiedFileName, true, false);
DirectoryNode newNode = new DirectoryNode(copiedFileName); DirectoryNode newNode = new DirectoryNode(copiedFileName);
newNode.AddTo(node); newNode.InsertSorted(node);
if (includeInProject) { if (includeInProject) {
IncludeFileInProject.IncludeDirectoryNode(newNode, false); IncludeFileInProject.IncludeDirectoryNode(newNode, false);
} }
@ -141,7 +141,7 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
} }
} }
fileNode = new FileNode(copiedFileName); fileNode = new FileNode(copiedFileName);
fileNode.AddTo(node); fileNode.InsertSorted(node);
return IncludeFileInProject.IncludeFileNode(fileNode); return IncludeFileInProject.IncludeFileNode(fileNode);
} }
return null; return null;
@ -228,7 +228,7 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
fileProjectItem.DependentUpon = pair.Value; fileProjectItem.DependentUpon = pair.Value;
addedItems.Add(fileProjectItem); addedItems.Add(fileProjectItem);
fileNode.ProjectItem = fileProjectItem; fileNode.ProjectItem = fileProjectItem;
fileNode.AddTo(node); fileNode.InsertSorted(node);
ProjectService.AddProjectItem(node.Project, fileProjectItem); ProjectService.AddProjectItem(node.Project, fileProjectItem);
} }
node.Project.Save(); node.Project.Save();
@ -342,7 +342,7 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
FileService.FireFileCreated(directoryName, true); FileService.FireFileCreated(directoryName, true);
DirectoryNode directoryNode = new DirectoryNode(directoryName, FileNodeStatus.InProject); DirectoryNode directoryNode = new DirectoryNode(directoryName, FileNodeStatus.InProject);
directoryNode.AddTo(upper); directoryNode.InsertSorted(upper);
IncludeFileInProject.IncludeDirectoryNode(directoryNode, false); IncludeFileInProject.IncludeDirectoryNode(directoryNode, false);
return directoryNode; return directoryNode;

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

@ -61,7 +61,7 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
foreach (ProjectItem newItem in changes.NewItems) { foreach (ProjectItem newItem in changes.NewItems) {
ProjectService.AddProjectItem(url.Project, newItem); ProjectService.AddProjectItem(url.Project, newItem);
FileNode fileNode = new FileNode(newItem.FileName, FileNodeStatus.InProject); FileNode fileNode = new FileNode(newItem.FileName, FileNodeStatus.InProject);
fileNode.AddTo(node); fileNode.InsertSorted(node);
} }
ProjectBrowserPad.Instance.ProjectBrowserControl.TreeView.Sort(); ProjectBrowserPad.Instance.ProjectBrowserControl.TreeView.Sort();
url.Project.Save(); url.Project.Save();

2
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/SolutionNodeCommands.cs

@ -138,7 +138,7 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
solutionFolderNode.Solution.Save(); solutionFolderNode.Solution.Save();
SolutionFolderNode newSolutionFolderNode = new SolutionFolderNode(solutionFolderNode.Solution, newSolutionFolder); SolutionFolderNode newSolutionFolderNode = new SolutionFolderNode(solutionFolderNode.Solution, newSolutionFolder);
newSolutionFolderNode.AddTo(node); newSolutionFolderNode.InsertSorted(node);
ProjectBrowserPad.Instance.StartLabelEdit(newSolutionFolderNode); ProjectBrowserPad.Instance.StartLabelEdit(newSolutionFolderNode);
} }
} }

2
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/NodeBuilder/DefaultDotNetNodeBuilder.cs

@ -23,7 +23,7 @@ namespace ICSharpCode.SharpDevelop.Project
public TreeNode AddProjectNode(TreeNode motherNode, IProject project) public TreeNode AddProjectNode(TreeNode motherNode, IProject project)
{ {
ProjectNode projectNode = new ProjectNode(project); ProjectNode projectNode = new ProjectNode(project);
projectNode.AddTo(motherNode); projectNode.InsertSorted(motherNode);
if (project is MissingProject) { if (project is MissingProject) {
CustomNode missingNode = new CustomNode(); CustomNode missingNode = new CustomNode();

4
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/NodeBuilder/WebReferenceNodeBuilder.cs

@ -22,7 +22,7 @@ namespace ICSharpCode.SharpDevelop.Project
if (webReference.WebReferencesProjectItem != null) { if (webReference.WebReferencesProjectItem != null) {
WebReferencesFolderNode webReferencesFolderNode = new WebReferencesFolderNode(webReference.WebReferencesProjectItem); WebReferencesFolderNode webReferencesFolderNode = new WebReferencesFolderNode(webReference.WebReferencesProjectItem);
webReferencesFolderNode.FileNodeStatus = FileNodeStatus.InProject; webReferencesFolderNode.FileNodeStatus = FileNodeStatus.InProject;
webReferencesFolderNode.AddTo(projectNode); webReferencesFolderNode.InsertSorted(projectNode);
return webReferencesFolderNode; return webReferencesFolderNode;
} }
return null; return null;
@ -32,7 +32,7 @@ namespace ICSharpCode.SharpDevelop.Project
{ {
WebReferenceNode node = new WebReferenceNode(webReference); WebReferenceNode node = new WebReferenceNode(webReference);
node.FileNodeStatus = FileNodeStatus.InProject; node.FileNodeStatus = FileNodeStatus.InProject;
node.AddTo(webReferencesFolderNode); node.InsertSorted(webReferencesFolderNode);
return node; return node;
} }
} }

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

@ -393,7 +393,7 @@ namespace ICSharpCode.SharpDevelop.Project
NodeBuilders.AddProjectNode(solutionNode, (IProject)treeObject); NodeBuilders.AddProjectNode(solutionNode, (IProject)treeObject);
} else { } else {
SolutionFolderNode folderNode = new SolutionFolderNode(solution, (SolutionFolder)treeObject); SolutionFolderNode folderNode = new SolutionFolderNode(solution, (SolutionFolder)treeObject);
folderNode.AddTo(solutionNode); folderNode.InsertSorted(solutionNode);
} }
} }

22
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/DirectoryNode.cs

@ -291,7 +291,7 @@ namespace ICSharpCode.SharpDevelop.Project
foreach (string subDirectory in System.IO.Directory.GetDirectories(Directory)) { foreach (string subDirectory in System.IO.Directory.GetDirectories(Directory)) {
if (Path.GetFileName(subDirectory) != ".svn") { if (Path.GetFileName(subDirectory) != ".svn") {
DirectoryNode newDirectoryNode = DirectoryNodeFactory.CreateDirectoryNode(this, Project, subDirectory); DirectoryNode newDirectoryNode = DirectoryNodeFactory.CreateDirectoryNode(this, Project, subDirectory);
newDirectoryNode.AddTo(this); newDirectoryNode.InsertSorted(this);
directoryNodeList[Path.GetFileName(subDirectory)] = newDirectoryNode; directoryNodeList[Path.GetFileName(subDirectory)] = newDirectoryNode;
} }
} }
@ -299,7 +299,7 @@ namespace ICSharpCode.SharpDevelop.Project
foreach (string file in System.IO.Directory.GetFiles(Directory)) { foreach (string file in System.IO.Directory.GetFiles(Directory)) {
FileNode fileNode = new FileNode(file); FileNode fileNode = new FileNode(file);
fileNodeDictionary[Path.GetFileName(file)] = fileNode; fileNodeDictionary[Path.GetFileName(file)] = fileNode;
fileNode.AddTo(this); fileNode.InsertSorted(this);
} }
} }
if (Nodes.Count == 0) { if (Nodes.Count == 0) {
@ -344,14 +344,14 @@ namespace ICSharpCode.SharpDevelop.Project
node.ProjectItem = item; node.ProjectItem = item;
} else { } else {
node = DirectoryNodeFactory.CreateDirectoryNode(item, FileNodeStatus.Missing); node = DirectoryNodeFactory.CreateDirectoryNode(item, FileNodeStatus.Missing);
node.AddTo(this); node.InsertSorted(this);
directoryNodeList[fileName] = node; directoryNodeList[fileName] = node;
} }
} else { } else {
FileNode node; FileNode node;
if (fileItem.IsLink) { if (fileItem.IsLink) {
node = new FileNode(fileItem.FileName, FileNodeStatus.InProject); node = new FileNode(fileItem.FileName, FileNodeStatus.InProject);
node.AddTo(this); node.InsertSorted(this);
fileNodeDictionary[fileName] = node; fileNodeDictionary[fileName] = node;
} else { } else {
if (fileNodeDictionary.TryGetValue(fileName, out node)) { if (fileNodeDictionary.TryGetValue(fileName, out node)) {
@ -360,7 +360,7 @@ namespace ICSharpCode.SharpDevelop.Project
} }
} else { } else {
node = new FileNode(fileItem.FileName, FileNodeStatus.Missing); node = new FileNode(fileItem.FileName, FileNodeStatus.Missing);
node.AddTo(this); node.InsertSorted(this);
fileNodeDictionary[fileName] = node; fileNodeDictionary[fileName] = node;
} }
} }
@ -383,9 +383,9 @@ namespace ICSharpCode.SharpDevelop.Project
if (NodeIsParent(parentNode, pair.Key)) { if (NodeIsParent(parentNode, pair.Key)) {
// is pair.Key a parent of parentNode? // is pair.Key a parent of parentNode?
// if yes, we have a parent cycle - break it by adding one node to the directory // if yes, we have a parent cycle - break it by adding one node to the directory
pair.Key.AddTo(this); pair.Key.InsertSorted(this);
} else { } else {
pair.Key.AddTo(parentNode); pair.Key.InsertSorted(parentNode);
if (pair.Key.FileNodeStatus != FileNodeStatus.Missing) { if (pair.Key.FileNodeStatus != FileNodeStatus.Missing) {
pair.Key.FileNodeStatus = FileNodeStatus.BehindFile; pair.Key.FileNodeStatus = FileNodeStatus.BehindFile;
} }
@ -418,7 +418,7 @@ namespace ICSharpCode.SharpDevelop.Project
this.Expanding(); this.Expanding();
FileNode fileNode = new FileNode(fileName, FileNodeStatus.InProject); FileNode fileNode = new FileNode(fileName, FileNodeStatus.InProject);
fileNode.AddTo(this); fileNode.InsertSorted(this);
fileNode.EnsureVisible(); fileNode.EnsureVisible();
return IncludeFileInProject.IncludeFileNode(fileNode); return IncludeFileInProject.IncludeFileNode(fileNode);
} }
@ -441,7 +441,7 @@ namespace ICSharpCode.SharpDevelop.Project
} }
} else { } else {
node = new DirectoryNode(Path.Combine(Directory, subFolderName), FileNodeStatus.Missing); node = new DirectoryNode(Path.Combine(Directory, subFolderName), FileNodeStatus.Missing);
node.AddTo(this); node.InsertSorted(this);
directoryNodeList[subFolderName] = node; directoryNodeList[subFolderName] = node;
} }
} }
@ -713,7 +713,7 @@ namespace ICSharpCode.SharpDevelop.Project
fileProjectItem.Include = relFileName; fileProjectItem.Include = relFileName;
fileProjectItem.SetEvaluatedMetadata("Link", Path.Combine(RelativePath, Path.GetFileName(node.FileName))); fileProjectItem.SetEvaluatedMetadata("Link", Path.Combine(RelativePath, Path.GetFileName(node.FileName)));
fileNode.ProjectItem = fileProjectItem; fileNode.ProjectItem = fileProjectItem;
fileNode.AddTo(this); fileNode.InsertSorted(this);
ProjectService.AddProjectItem(Project, fileProjectItem); ProjectService.AddProjectItem(Project, fileProjectItem);
if (performMove) { if (performMove) {
ProjectService.RemoveProjectItem(node.Project, node.ProjectItem); ProjectService.RemoveProjectItem(node.Project, node.ProjectItem);
@ -821,7 +821,7 @@ namespace ICSharpCode.SharpDevelop.Project
} else { } else {
fileNode.FileNodeStatus = FileNodeStatus.InProject; fileNode.FileNodeStatus = FileNodeStatus.InProject;
} }
fileNode.AddTo(this); fileNode.InsertSorted(this);
} }
} else if (dataObject.GetDataPresent(typeof(DirectoryNode))) { } else if (dataObject.GetDataPresent(typeof(DirectoryNode))) {
DirectoryNode directoryNode = (DirectoryNode)dataObject.GetData(typeof(DirectoryNode)); DirectoryNode directoryNode = (DirectoryNode)dataObject.GetData(typeof(DirectoryNode));

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

@ -234,7 +234,7 @@ namespace ICSharpCode.SharpDevelop.Project
other.Remove(); other.Remove();
((FileProjectItem)other.ProjectItem).DependentUpon = Path.GetFileName(this.FileName); ((FileProjectItem)other.ProjectItem).DependentUpon = Path.GetFileName(this.FileName);
other.FileNodeStatus = FileNodeStatus.BehindFile; other.FileNodeStatus = FileNodeStatus.BehindFile;
other.AddTo(this); other.InsertSorted(this);
LoggingService.Debug("-> Created new dependency, saving solution"); LoggingService.Debug("-> Created new dependency, saving solution");
ProjectService.SaveSolution(); ProjectService.SaveSolution();
} else { } else {

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

@ -40,7 +40,7 @@ namespace ICSharpCode.SharpDevelop.Project
foreach (ProjectItem item in project.Items) { foreach (ProjectItem item in project.Items) {
if (item is ReferenceProjectItem) { if (item is ReferenceProjectItem) {
ReferenceNode referenceNode = new ReferenceNode((ReferenceProjectItem)item); ReferenceNode referenceNode = new ReferenceNode((ReferenceProjectItem)item);
referenceNode.AddTo(this); referenceNode.InsertSorted(this);
} }
} }
UpdateIcon(); UpdateIcon();

14
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/SolutionFolderNode.cs

@ -88,7 +88,7 @@ namespace ICSharpCode.SharpDevelop.Project
string relativeFileName = FileUtility.GetRelativePath(solution.Directory, fileName); string relativeFileName = FileUtility.GetRelativePath(solution.Directory, fileName);
SolutionItem newItem = new SolutionItem(relativeFileName, relativeFileName); SolutionItem newItem = new SolutionItem(relativeFileName, relativeFileName);
folder.SolutionItems.Items.Add(newItem); folder.SolutionItems.Items.Add(newItem);
new SolutionItemNode(solution, newItem).AddTo(this); new SolutionItemNode(solution, newItem).InsertSorted(this);
} }
protected override void Initialize() protected override void Initialize()
@ -100,7 +100,7 @@ namespace ICSharpCode.SharpDevelop.Project
NodeBuilders.AddProjectNode(this, (IProject)treeObject); NodeBuilders.AddProjectNode(this, (IProject)treeObject);
} else if (treeObject is SolutionFolder) { } else if (treeObject is SolutionFolder) {
SolutionFolderNode folderNode = new SolutionFolderNode(solution, (SolutionFolder)treeObject); SolutionFolderNode folderNode = new SolutionFolderNode(solution, (SolutionFolder)treeObject);
folderNode.AddTo(this); folderNode.InsertSorted(this);
} else { } else {
MessageService.ShowWarning("SolutionFolderNode.Initialize(): unknown tree object : " + treeObject); MessageService.ShowWarning("SolutionFolderNode.Initialize(): unknown tree object : " + treeObject);
} }
@ -108,7 +108,7 @@ namespace ICSharpCode.SharpDevelop.Project
// add solution items (=files) from project sections. // add solution items (=files) from project sections.
foreach (SolutionItem item in folder.SolutionItems.Items) { foreach (SolutionItem item in folder.SolutionItems.Items) {
new SolutionItemNode(Solution, item).AddTo(this); new SolutionItemNode(Solution, item).InsertSorted(this);
} }
base.Initialize(); base.Initialize();
} }
@ -193,7 +193,7 @@ namespace ICSharpCode.SharpDevelop.Project
ExtTreeNode oldParent = node.Parent as ExtTreeNode; ExtTreeNode oldParent = node.Parent as ExtTreeNode;
node.Remove(); node.Remove();
node.AddTo(folderTreeNode); node.InsertSorted(folderTreeNode);
if (oldParent != null) { if (oldParent != null) {
oldParent.Refresh(); oldParent.Refresh();
} }
@ -264,7 +264,7 @@ namespace ICSharpCode.SharpDevelop.Project
AbstractProjectBrowserTreeNode parentNode = folderNode.Parent as AbstractProjectBrowserTreeNode; AbstractProjectBrowserTreeNode parentNode = folderNode.Parent as AbstractProjectBrowserTreeNode;
folderNode.Remove(); folderNode.Remove();
folderNode.AddTo(this); folderNode.InsertSorted(this);
folderNode.EnsureVisible(); folderNode.EnsureVisible();
this.folder.AddFolder(folderNode.Folder); this.folder.AddFolder(folderNode.Folder);
if (parentNode != null) { if (parentNode != null) {
@ -280,7 +280,7 @@ namespace ICSharpCode.SharpDevelop.Project
Container.SolutionItems.Items.Add(solutionItemNode.SolutionItem); Container.SolutionItems.Items.Add(solutionItemNode.SolutionItem);
solutionItemNode.Remove(); solutionItemNode.Remove();
solutionItemNode.AddTo(this); solutionItemNode.InsertSorted(this);
solutionItemNode.EnsureVisible(); solutionItemNode.EnsureVisible();
if (solutionItemNode.Parent != null) { if (solutionItemNode.Parent != null) {
((ExtTreeNode)solutionItemNode.Parent).Refresh(); ((ExtTreeNode)solutionItemNode.Parent).Refresh();
@ -291,7 +291,7 @@ namespace ICSharpCode.SharpDevelop.Project
ProjectNode projectNode = (ProjectNode)dataObject.GetData(typeof(ProjectNode)); ProjectNode projectNode = (ProjectNode)dataObject.GetData(typeof(ProjectNode));
projectNode.Remove(); projectNode.Remove();
projectNode.AddTo(this); projectNode.InsertSorted(this);
projectNode.EnsureVisible(); projectNode.EnsureVisible();
this.folder.AddFolder(projectNode.Project); this.folder.AddFolder(projectNode.Project);

6
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/SolutionNode.cs

@ -95,7 +95,7 @@ namespace ICSharpCode.SharpDevelop.Project
solution.Save(); solution.Save();
node = new SolutionFolderNode(solution, newSolutionFolder); node = new SolutionFolderNode(solution, newSolutionFolder);
node.AddTo(this); node.InsertSorted(this);
} }
node.AddItem(fileName); node.AddItem(fileName);
} }
@ -131,7 +131,7 @@ namespace ICSharpCode.SharpDevelop.Project
parentNode = folderNode.Parent as AbstractProjectBrowserTreeNode; parentNode = folderNode.Parent as AbstractProjectBrowserTreeNode;
folderNode.Remove(); folderNode.Remove();
folderNode.AddTo(this); folderNode.InsertSorted(this);
this.solution.AddFolder(folderNode.Folder); this.solution.AddFolder(folderNode.Folder);
} }
@ -140,7 +140,7 @@ namespace ICSharpCode.SharpDevelop.Project
parentNode = projectNode.Parent as AbstractProjectBrowserTreeNode; parentNode = projectNode.Parent as AbstractProjectBrowserTreeNode;
projectNode.Remove(); projectNode.Remove();
projectNode.AddTo(this); projectNode.InsertSorted(this);
projectNode.EnsureVisible(); projectNode.EnsureVisible();
this.solution.AddFolder(projectNode.Project); this.solution.AddFolder(projectNode.Project);
} }

Loading…
Cancel
Save