mirror of
https://github.com/mRemoteNG/mRemoteNG.git
synced 2026-02-17 22:11:48 +08:00
resolved issue with deleting the last folder in the tree
This commit is contained in:
@@ -1,4 +1,8 @@
|
||||
using mRemoteNG.UI.Controls;
|
||||
using System.Threading;
|
||||
using mRemoteNG.Container;
|
||||
using mRemoteNG.Tree;
|
||||
using mRemoteNG.Tree.Root;
|
||||
using mRemoteNG.UI.Controls;
|
||||
using NUnit.Framework;
|
||||
|
||||
|
||||
@@ -7,10 +11,12 @@ namespace mRemoteNGTests.Tree
|
||||
public class ConnectionTreeTests
|
||||
{
|
||||
private ConnectionTree _connectionTree;
|
||||
private ConnectionTreeModel _connectionTreeModel;
|
||||
|
||||
[SetUp]
|
||||
public void Setup()
|
||||
{
|
||||
_connectionTreeModel = CreateConnectionTreeModel();
|
||||
_connectionTree = new ConnectionTree();
|
||||
}
|
||||
|
||||
@@ -21,9 +27,22 @@ namespace mRemoteNGTests.Tree
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public void test()
|
||||
[Test, Apartment(ApartmentState.STA)]
|
||||
public void CanDeleteLastFolderInTheTree()
|
||||
{
|
||||
var lastFolder = new ContainerInfo();
|
||||
_connectionTreeModel.RootNodes[0].AddChild(lastFolder);
|
||||
_connectionTree.ConnectionTreeModel = _connectionTreeModel;
|
||||
_connectionTree.SelectObject(lastFolder);
|
||||
_connectionTree.DeleteSelectedNode();
|
||||
Assert.That(_connectionTree.GetRootConnectionNode().HasChildren, Is.False);
|
||||
}
|
||||
|
||||
private ConnectionTreeModel CreateConnectionTreeModel()
|
||||
{
|
||||
var connectionTreeModel = new ConnectionTreeModel();
|
||||
connectionTreeModel.AddRootNode(new RootNodeInfo(RootNodeType.Connection));
|
||||
return connectionTreeModel;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -26,7 +26,7 @@ namespace mRemoteNG.UI.Controls
|
||||
private ImageList _imgListTree;
|
||||
|
||||
|
||||
public ConnectionInfo SelectedNode => (ConnectionInfo)SelectedObject;
|
||||
public ConnectionInfo SelectedNode => (ConnectionInfo) SelectedObject;
|
||||
|
||||
public NodeSearcher NodeSearcher { get; private set; }
|
||||
|
||||
@@ -239,7 +239,10 @@ namespace mRemoteNG.UI.Controls
|
||||
RefreshTreeObject(otherChild ?? senderAsContainerInfo);
|
||||
break;
|
||||
case NotifyCollectionChangedAction.Remove:
|
||||
RefreshTreeObjects(args.OldItems);
|
||||
if (senderAsContainerInfo?.Children.Count > 0)
|
||||
RefreshTreeObjects(args.OldItems);
|
||||
else
|
||||
RefreshTreeObject(senderAsContainerInfo);
|
||||
break;
|
||||
case NotifyCollectionChangedAction.Move:
|
||||
RefreshTreeObjects(args.OldItems);
|
||||
|
||||
Reference in New Issue
Block a user