void CreateMenu()
{
this.newSessionToolStripMenuItem.Visible = SuperPuTTY.Settings.PuttyPanelShowNewSessionMenu;
if (SuperPuTTY.Settings.PuttyPanelShowNewSessionMenu)
{
this.contextMenuStrip1.SuspendLayout();
// BBB: do i need to dispose each one?
newSessionToolStripMenuItem.DropDownItems.Clear();
foreach (SessionData session in SuperPuTTY.GetAllSessions())
{
ToolStripMenuItem tsmiParent = newSessionToolStripMenuItem;
foreach (string part in SessionData.GetSessionNameParts(session.SessionId))
{
if (part == session.SessionName)
{
ToolStripMenuItem newSessionTSMI = new ToolStripMenuItem();
newSessionTSMI.Tag = session;
newSessionTSMI.Text = session.SessionName;
newSessionTSMI.Click += new System.EventHandler(newSessionTSMI_Click);
newSessionTSMI.ToolTipText = session.ToString();
tsmiParent.DropDownItems.Add(newSessionTSMI);
}
else
{
if (tsmiParent.DropDownItems.ContainsKey(part))
{
tsmiParent = (ToolStripMenuItem)tsmiParent.DropDownItems[part];
}
else
{
ToolStripMenuItem newSessionFolder = new ToolStripMenuItem(part);
newSessionFolder.Name = part;
tsmiParent.DropDownItems.Add(newSessionFolder);
tsmiParent = newSessionFolder;
}
}
}
}
this.contextMenuStrip1.ResumeLayout();
}
DockPane pane = GetDockPane();
if (pane != null)
{
this.closeOthersToTheRightToolStripMenuItem.Enabled =
pane.Contents.IndexOf(this) != pane.Contents.Count - 1;
}
this.closeOthersToolStripMenuItem.Enabled = this.DockPanel.DocumentsCount > 1;
this.closeAllToolStripMenuItem.Enabled = this.DockPanel.DocumentsCount > 1;
}