TreeNode AddSessionNode(TreeNode parentNode, SessionData session, bool isInitializing)
{
TreeNode addedNode = null;
if (parentNode.Nodes.ContainsKey(session.SessionName))
{
SuperPuTTY.ReportStatus("Node with the same name exists. New node ({0}) NOT added", session.SessionName);
}
else
{
addedNode = parentNode.Nodes.Add(session.SessionName, session.SessionName, ImageKeySession, ImageKeySession);
addedNode.Tag = session;
addedNode.ContextMenuStrip = this.contextMenuStripAddTreeItem;
addedNode.ToolTipText = session.ToString();
// Override with custom icon if valid
if (IsValidImage(session.ImageKey))
{
addedNode.ImageKey = session.ImageKey;
addedNode.SelectedImageKey = session.ImageKey;
}
}
session.OnPropertyChanged += SessionPropertyChanged;
session.OnPropertyChanging += SessionPropertyChanging;
return addedNode;
}