Files
mRemoteNG/mRemoteV1/UI/Menu/ToolsMenu.cs
2017-05-03 17:54:51 -06:00

181 lines
7.2 KiB
C#

using System;
using System.Windows.Forms;
using mRemoteNG.App;
using mRemoteNG.Credential;
using mRemoteNG.Credential.Repositories;
using mRemoteNG.UI.Forms;
using mRemoteNG.UI.Forms.CredentialManagerPages;
namespace mRemoteNG.UI.Menu
{
public class ToolsMenu : ToolStripMenuItem
{
private ToolStripSeparator _mMenToolsSep1;
private ToolStripMenuItem _mMenToolsOptions;
private ToolStripMenuItem _mMenToolsSshTransfer;
private ToolStripMenuItem _mMenToolsExternalApps;
private ToolStripMenuItem _mMenToolsPortScan;
private ToolStripMenuItem _mMenToolsUvncsc;
private ToolStripMenuItem _mMenToolsComponentsCheck;
private ToolStripMenuItem _credentialManagerToolStripMenuItem;
private ToolStripMenuItem _testItem;
public Form MainForm { get; set; }
public ICredentialRepositoryList CredentialProviderCatalog { get; set; }
public UnlockerFormFactory UnlockerFormFactory { get; set; }
public ToolsMenu()
{
Initialize();
}
private void Initialize()
{
_credentialManagerToolStripMenuItem = new ToolStripMenuItem();
_mMenToolsSshTransfer = new ToolStripMenuItem();
_mMenToolsUvncsc = new ToolStripMenuItem();
_mMenToolsExternalApps = new ToolStripMenuItem();
_mMenToolsPortScan = new ToolStripMenuItem();
_mMenToolsSep1 = new ToolStripSeparator();
_mMenToolsComponentsCheck = new ToolStripMenuItem();
_mMenToolsOptions = new ToolStripMenuItem();
_testItem = new ToolStripMenuItem();
//
// mMenTools
//
DropDownItems.AddRange(new ToolStripItem[] {
_credentialManagerToolStripMenuItem,
_mMenToolsSshTransfer,
_mMenToolsUvncsc,
_mMenToolsExternalApps,
_mMenToolsPortScan,
_mMenToolsSep1,
_mMenToolsComponentsCheck,
_mMenToolsOptions,
_testItem});
Name = "mMenTools";
Size = new System.Drawing.Size(48, 20);
Text = Language.strMenuTools;
//
// credentialManagerToolStripMenuItem
//
_credentialManagerToolStripMenuItem.Image = Resources.key;
_credentialManagerToolStripMenuItem.Name = "credentialManagerToolStripMenuItem";
_credentialManagerToolStripMenuItem.Size = new System.Drawing.Size(184, 22);
_credentialManagerToolStripMenuItem.Text = "Credential Manager";
_credentialManagerToolStripMenuItem.Click += credentialManagerToolStripMenuItem_Click;
//
// mMenToolsSSHTransfer
//
_mMenToolsSshTransfer.Image = Resources.SSHTransfer;
_mMenToolsSshTransfer.Name = "mMenToolsSSHTransfer";
_mMenToolsSshTransfer.Size = new System.Drawing.Size(184, 22);
_mMenToolsSshTransfer.Text = Language.strMenuSSHFileTransfer;
_mMenToolsSshTransfer.Click += mMenToolsSSHTransfer_Click;
//
// mMenToolsUVNCSC
//
_mMenToolsUvncsc.Image = Resources.UVNC_SC;
_mMenToolsUvncsc.Name = "mMenToolsUVNCSC";
_mMenToolsUvncsc.Size = new System.Drawing.Size(184, 22);
_mMenToolsUvncsc.Text = "UltraVNC SingleClick";
_mMenToolsUvncsc.Visible = false;
_mMenToolsUvncsc.Click += mMenToolsUVNCSC_Click;
//
// mMenToolsExternalApps
//
_mMenToolsExternalApps.Image = Resources.ExtApp;
_mMenToolsExternalApps.Name = "mMenToolsExternalApps";
_mMenToolsExternalApps.Size = new System.Drawing.Size(184, 22);
_mMenToolsExternalApps.Text = Language.strMenuExternalTools;
_mMenToolsExternalApps.Click += mMenToolsExternalApps_Click;
//
// mMenToolsPortScan
//
_mMenToolsPortScan.Image = Resources.PortScan;
_mMenToolsPortScan.Name = "mMenToolsPortScan";
_mMenToolsPortScan.Size = new System.Drawing.Size(184, 22);
_mMenToolsPortScan.Text = Language.strMenuPortScan;
_mMenToolsPortScan.Click += mMenToolsPortScan_Click;
//
// mMenToolsSep1
//
_mMenToolsSep1.Name = "mMenToolsSep1";
_mMenToolsSep1.Size = new System.Drawing.Size(181, 6);
//
// mMenToolsComponentsCheck
//
_mMenToolsComponentsCheck.Image = Resources.cog_error;
_mMenToolsComponentsCheck.Name = "mMenToolsComponentsCheck";
_mMenToolsComponentsCheck.Size = new System.Drawing.Size(184, 22);
_mMenToolsComponentsCheck.Text = Language.strComponentsCheck;
_mMenToolsComponentsCheck.Click += mMenToolsComponentsCheck_Click;
//
// mMenToolsOptions
//
_mMenToolsOptions.Image = Resources.Options;
_mMenToolsOptions.Name = "mMenToolsOptions";
_mMenToolsOptions.Size = new System.Drawing.Size(184, 22);
_mMenToolsOptions.Text = Language.strMenuOptions;
_mMenToolsOptions.Click += mMenToolsOptions_Click;
//
// testItem
//
_testItem.Image = Resources.Options;
_testItem.Name = "testItem";
_testItem.Size = new System.Drawing.Size(184, 22);
_testItem.Text = "testItem";
var unlockerBuilder = new CredentialRepoUnlockerBuilder();
_testItem.Click += (sender, args) => new CompositeCredentialRepoUnlockerForm(unlockerBuilder.Build(CredentialProviderCatalog.CredentialProviders)).Show();
}
#region Tools
private void credentialManagerToolStripMenuItem_Click(object sender, EventArgs e)
{
var pages = new UserControl[]
{
new CredentialListPage(CredentialProviderCatalog)
{
DeletionConfirmer = new CredentialDeletionMsgBoxConfirmer(MessageBox.Show)
},
new CredentialRepositoriesPage(CredentialProviderCatalog, UnlockerFormFactory)
};
var credentialManagerForm = new CredentialManagerForm(pages);
credentialManagerForm.CenterOnTarget(MainForm);
credentialManagerForm.Show();
}
private void mMenToolsSSHTransfer_Click(object sender, EventArgs e)
{
Windows.Show(WindowType.SSHTransfer);
}
private void mMenToolsUVNCSC_Click(object sender, EventArgs e)
{
Windows.Show(WindowType.UltraVNCSC);
}
private void mMenToolsExternalApps_Click(object sender, EventArgs e)
{
Windows.Show(WindowType.ExternalApps);
}
private void mMenToolsPortScan_Click(object sender, EventArgs e)
{
Windows.Show(WindowType.PortScan);
}
private void mMenToolsComponentsCheck_Click(object sender, EventArgs e)
{
Windows.Show(WindowType.ComponentsCheck);
}
private void mMenToolsOptions_Click(object sender, EventArgs e)
{
Windows.Show(WindowType.Options);
}
#endregion
}
}