From bfadfaf2612ae36a5e4f69c456e92aae93a3ce9e Mon Sep 17 00:00:00 2001 From: David Sparer Date: Tue, 7 Feb 2017 10:14:06 -0700 Subject: [PATCH] moved main and view menus to new classes. they will be further split up to their component parts --- mRemoteV1/Config/Settings/SettingsLoader.cs | 1 - mRemoteV1/UI/Forms/frmMain.Designer.cs | 427 +---------------- mRemoteV1/UI/Forms/frmMain.cs | 403 +--------------- mRemoteV1/UI/Menu/MainFileMenu.cs | 481 ++++++++++++++++++++ mRemoteV1/UI/Menu/ViewMenu.cs | 397 ++++++++++++++++ mRemoteV1/mRemoteV1.csproj | 6 + 6 files changed, 891 insertions(+), 824 deletions(-) create mode 100644 mRemoteV1/UI/Menu/MainFileMenu.cs create mode 100644 mRemoteV1/UI/Menu/ViewMenu.cs diff --git a/mRemoteV1/Config/Settings/SettingsLoader.cs b/mRemoteV1/Config/Settings/SettingsLoader.cs index ad108c3d..b771e70f 100644 --- a/mRemoteV1/Config/Settings/SettingsLoader.cs +++ b/mRemoteV1/Config/Settings/SettingsLoader.cs @@ -136,7 +136,6 @@ namespace mRemoteNG.Config.Settings { if (!mRemoteNG.Settings.Default.MainFormKiosk) return; MainForm._fullscreen.Value = true; - MainForm.mMenViewFullscreen.Checked = true; } private static void SetShowSystemTrayIcon() diff --git a/mRemoteV1/UI/Forms/frmMain.Designer.cs b/mRemoteV1/UI/Forms/frmMain.Designer.cs index 969ed3b8..b13f8318 100644 --- a/mRemoteV1/UI/Forms/frmMain.Designer.cs +++ b/mRemoteV1/UI/Forms/frmMain.Designer.cs @@ -32,45 +32,7 @@ namespace mRemoteNG.UI.Forms this.pnlDock = new WeifenLuo.WinFormsUI.Docking.DockPanel(); this.msMain = new System.Windows.Forms.MenuStrip(); this.mMenFile = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenFileNewConnection = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenFileNewFolder = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenFileSep1 = new System.Windows.Forms.ToolStripSeparator(); - this.mMenFileNew = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenFileLoad = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenFileSave = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenFileSaveAs = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenFileSep2 = new System.Windows.Forms.ToolStripSeparator(); - this.mMenFileDelete = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenFileRename = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenFileDuplicate = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenFileSep4 = new System.Windows.Forms.ToolStripSeparator(); - this.mMenReconnectAll = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenFileSep3 = new System.Windows.Forms.ToolStripSeparator(); - this.mMenFileImport = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenFileImportFromFile = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenFileImportFromActiveDirectory = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenFileImportFromPortScan = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenFileExport = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenFileSep5 = new System.Windows.Forms.ToolStripSeparator(); - this.mMenFileExit = new System.Windows.Forms.ToolStripMenuItem(); this.mMenView = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenViewAddConnectionPanel = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenViewConnectionPanels = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenViewSep1 = new System.Windows.Forms.ToolStripSeparator(); - this.mMenViewConnections = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenViewConfig = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenViewErrorsAndInfos = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenViewScreenshotManager = new System.Windows.Forms.ToolStripMenuItem(); - this.ToolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); - this.mMenViewJumpTo = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenViewJumpToConnectionsConfig = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenViewJumpToErrorsInfos = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenViewResetLayout = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenViewSep2 = new System.Windows.Forms.ToolStripSeparator(); - this.mMenViewQuickConnectToolbar = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenViewExtAppsToolbar = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenViewSep3 = new System.Windows.Forms.ToolStripSeparator(); - this.mMenViewFullscreen = new System.Windows.Forms.ToolStripMenuItem(); this.mMenTools = new System.Windows.Forms.ToolStripMenuItem(); this.credentialManagerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.mMenToolsSSHTransfer = new System.Windows.Forms.ToolStripMenuItem(); @@ -130,8 +92,6 @@ namespace mRemoteNG.UI.Forms this.msMain.Dock = System.Windows.Forms.DockStyle.None; this.msMain.GripMargin = new System.Windows.Forms.Padding(0); this.msMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.mMenFile, - this.mMenView, this.mMenTools, this.mMenInfo}); this.msMain.Location = new System.Drawing.Point(3, 0); @@ -141,350 +101,7 @@ namespace mRemoteNG.UI.Forms this.msMain.Stretch = false; this.msMain.TabIndex = 16; this.msMain.Text = "Main Toolbar"; - // - // mMenFile - // - this.mMenFile.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.mMenFileNewConnection, - this.mMenFileNewFolder, - this.mMenFileSep1, - this.mMenFileNew, - this.mMenFileLoad, - this.mMenFileSave, - this.mMenFileSaveAs, - this.mMenFileSep2, - this.mMenFileDelete, - this.mMenFileRename, - this.mMenFileDuplicate, - this.mMenFileSep4, - this.mMenReconnectAll, - this.mMenFileSep3, - this.mMenFileImport, - this.mMenFileExport, - this.mMenFileSep5, - this.mMenFileExit}); - this.mMenFile.Name = "mMenFile"; - this.mMenFile.Size = new System.Drawing.Size(37, 20); - this.mMenFile.Text = "&File"; - this.mMenFile.DropDownOpening += new System.EventHandler(this.mMenFile_DropDownOpening); - // - // mMenFileNewConnection - // - this.mMenFileNewConnection.Image = global::mRemoteNG.Resources.Connection_Add; - this.mMenFileNewConnection.Name = "mMenFileNewConnection"; - this.mMenFileNewConnection.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N))); - this.mMenFileNewConnection.Size = new System.Drawing.Size(281, 22); - this.mMenFileNewConnection.Text = "New Connection"; - this.mMenFileNewConnection.Click += new System.EventHandler(this.mMenFileNewConnection_Click); - // - // mMenFileNewFolder - // - this.mMenFileNewFolder.Image = global::mRemoteNG.Resources.Folder_Add; - this.mMenFileNewFolder.Name = "mMenFileNewFolder"; - this.mMenFileNewFolder.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) - | System.Windows.Forms.Keys.N))); - this.mMenFileNewFolder.Size = new System.Drawing.Size(281, 22); - this.mMenFileNewFolder.Text = "New Folder"; - this.mMenFileNewFolder.Click += new System.EventHandler(this.mMenFileNewFolder_Click); - // - // mMenFileSep1 - // - this.mMenFileSep1.Name = "mMenFileSep1"; - this.mMenFileSep1.Size = new System.Drawing.Size(278, 6); - // - // mMenFileNew - // - this.mMenFileNew.Image = global::mRemoteNG.Resources.Connections_New; - this.mMenFileNew.Name = "mMenFileNew"; - this.mMenFileNew.Size = new System.Drawing.Size(281, 22); - this.mMenFileNew.Text = "New Connection File"; - this.mMenFileNew.Click += new System.EventHandler(this.mMenFileNew_Click); - // - // mMenFileLoad - // - this.mMenFileLoad.Image = global::mRemoteNG.Resources.Connections_Load; - this.mMenFileLoad.Name = "mMenFileLoad"; - this.mMenFileLoad.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O))); - this.mMenFileLoad.Size = new System.Drawing.Size(281, 22); - this.mMenFileLoad.Text = "Open Connection File..."; - this.mMenFileLoad.Click += new System.EventHandler(this.mMenFileLoad_Click); - // - // mMenFileSave - // - this.mMenFileSave.Image = global::mRemoteNG.Resources.Connections_Save; - this.mMenFileSave.Name = "mMenFileSave"; - this.mMenFileSave.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S))); - this.mMenFileSave.Size = new System.Drawing.Size(281, 22); - this.mMenFileSave.Text = "Save Connection File"; - this.mMenFileSave.Click += new System.EventHandler(this.mMenFileSave_Click); - // - // mMenFileSaveAs - // - this.mMenFileSaveAs.Image = global::mRemoteNG.Resources.Connections_SaveAs; - this.mMenFileSaveAs.Name = "mMenFileSaveAs"; - this.mMenFileSaveAs.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) - | System.Windows.Forms.Keys.S))); - this.mMenFileSaveAs.Size = new System.Drawing.Size(281, 22); - this.mMenFileSaveAs.Text = "Save Connection File As..."; - this.mMenFileSaveAs.Click += new System.EventHandler(this.mMenFileSaveAs_Click); - // - // mMenFileSep2 - // - this.mMenFileSep2.Name = "mMenFileSep2"; - this.mMenFileSep2.Size = new System.Drawing.Size(278, 6); - // - // mMenFileDelete - // - this.mMenFileDelete.Image = global::mRemoteNG.Resources.Delete; - this.mMenFileDelete.Name = "mMenFileDelete"; - this.mMenFileDelete.Size = new System.Drawing.Size(281, 22); - this.mMenFileDelete.Text = "Delete..."; - this.mMenFileDelete.Click += new System.EventHandler(this.mMenFileDelete_Click); - // - // mMenFileRename - // - this.mMenFileRename.Image = global::mRemoteNG.Resources.Rename; - this.mMenFileRename.Name = "mMenFileRename"; - this.mMenFileRename.Size = new System.Drawing.Size(281, 22); - this.mMenFileRename.Text = "Rename"; - this.mMenFileRename.Click += new System.EventHandler(this.mMenFileRename_Click); - // - // mMenFileDuplicate - // - this.mMenFileDuplicate.Image = global::mRemoteNG.Resources.page_copy; - this.mMenFileDuplicate.Name = "mMenFileDuplicate"; - this.mMenFileDuplicate.Size = new System.Drawing.Size(281, 22); - this.mMenFileDuplicate.Text = "Duplicate"; - this.mMenFileDuplicate.Click += new System.EventHandler(this.mMenFileDuplicate_Click); - // - // mMenFileSep4 - // - this.mMenFileSep4.Name = "mMenFileSep4"; - this.mMenFileSep4.Size = new System.Drawing.Size(278, 6); - // - // mMenReconnectAll - // - this.mMenReconnectAll.Image = global::mRemoteNG.Resources.Refresh; - this.mMenReconnectAll.Name = "mMenReconnectAll"; - this.mMenReconnectAll.Size = new System.Drawing.Size(281, 22); - this.mMenReconnectAll.Text = "Reconnect All Connections"; - this.mMenReconnectAll.Click += new System.EventHandler(this.mMenReconnectAll_Click); - // - // mMenFileSep3 - // - this.mMenFileSep3.Name = "mMenFileSep3"; - this.mMenFileSep3.Size = new System.Drawing.Size(278, 6); - // - // mMenFileImport - // - this.mMenFileImport.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.mMenFileImportFromFile, - this.mMenFileImportFromActiveDirectory, - this.mMenFileImportFromPortScan}); - this.mMenFileImport.Name = "mMenFileImport"; - this.mMenFileImport.Size = new System.Drawing.Size(281, 22); - this.mMenFileImport.Text = "&Import"; - // - // mMenFileImportFromFile - // - this.mMenFileImportFromFile.Name = "mMenFileImportFromFile"; - this.mMenFileImportFromFile.Size = new System.Drawing.Size(235, 22); - this.mMenFileImportFromFile.Text = "Import from &File..."; - this.mMenFileImportFromFile.Click += new System.EventHandler(this.mMenFileImportFromFile_Click); - // - // mMenFileImportFromActiveDirectory - // - this.mMenFileImportFromActiveDirectory.Name = "mMenFileImportFromActiveDirectory"; - this.mMenFileImportFromActiveDirectory.Size = new System.Drawing.Size(235, 22); - this.mMenFileImportFromActiveDirectory.Text = "Import from &Active Directory..."; - this.mMenFileImportFromActiveDirectory.Click += new System.EventHandler(this.mMenFileImportFromActiveDirectory_Click); - // - // mMenFileImportFromPortScan - // - this.mMenFileImportFromPortScan.Name = "mMenFileImportFromPortScan"; - this.mMenFileImportFromPortScan.Size = new System.Drawing.Size(235, 22); - this.mMenFileImportFromPortScan.Text = "Import from &Port Scan..."; - this.mMenFileImportFromPortScan.Click += new System.EventHandler(this.mMenFileImportFromPortScan_Click); - // - // mMenFileExport - // - this.mMenFileExport.Name = "mMenFileExport"; - this.mMenFileExport.Size = new System.Drawing.Size(281, 22); - this.mMenFileExport.Text = "&Export to File..."; - this.mMenFileExport.Click += new System.EventHandler(this.mMenFileExport_Click); - // - // mMenFileSep5 - // - this.mMenFileSep5.Name = "mMenFileSep5"; - this.mMenFileSep5.Size = new System.Drawing.Size(278, 6); - // - // mMenFileExit - // - this.mMenFileExit.Image = global::mRemoteNG.Resources.Quit; - this.mMenFileExit.Name = "mMenFileExit"; - this.mMenFileExit.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4))); - this.mMenFileExit.Size = new System.Drawing.Size(281, 22); - this.mMenFileExit.Text = "Exit"; - this.mMenFileExit.Click += new System.EventHandler(this.mMenFileExit_Click); - // - // mMenView - // - this.mMenView.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.mMenViewAddConnectionPanel, - this.mMenViewConnectionPanels, - this.mMenViewSep1, - this.mMenViewConnections, - this.mMenViewConfig, - this.mMenViewErrorsAndInfos, - this.mMenViewScreenshotManager, - this.ToolStripSeparator1, - this.mMenViewJumpTo, - this.mMenViewResetLayout, - this.mMenViewSep2, - this.mMenViewQuickConnectToolbar, - this.mMenViewExtAppsToolbar, - this.mMenViewSep3, - this.mMenViewFullscreen}); - this.mMenView.Name = "mMenView"; - this.mMenView.Size = new System.Drawing.Size(44, 20); - this.mMenView.Text = "&View"; - this.mMenView.DropDownOpening += new System.EventHandler(this.mMenView_DropDownOpening); - // - // mMenViewAddConnectionPanel - // - this.mMenViewAddConnectionPanel.Image = global::mRemoteNG.Resources.Panel_Add; - this.mMenViewAddConnectionPanel.Name = "mMenViewAddConnectionPanel"; - this.mMenViewAddConnectionPanel.Size = new System.Drawing.Size(228, 22); - this.mMenViewAddConnectionPanel.Text = "Add Connection Panel"; - this.mMenViewAddConnectionPanel.Click += new System.EventHandler(this.mMenViewAddConnectionPanel_Click); - // - // mMenViewConnectionPanels - // - this.mMenViewConnectionPanels.Image = global::mRemoteNG.Resources.Panels; - this.mMenViewConnectionPanels.Name = "mMenViewConnectionPanels"; - this.mMenViewConnectionPanels.Size = new System.Drawing.Size(228, 22); - this.mMenViewConnectionPanels.Text = "Connection Panels"; - // - // mMenViewSep1 - // - this.mMenViewSep1.Name = "mMenViewSep1"; - this.mMenViewSep1.Size = new System.Drawing.Size(225, 6); - // - // mMenViewConnections - // - this.mMenViewConnections.Checked = true; - this.mMenViewConnections.CheckState = System.Windows.Forms.CheckState.Checked; - this.mMenViewConnections.Image = global::mRemoteNG.Resources.Root; - this.mMenViewConnections.Name = "mMenViewConnections"; - this.mMenViewConnections.Size = new System.Drawing.Size(228, 22); - this.mMenViewConnections.Text = "Connections"; - this.mMenViewConnections.Click += new System.EventHandler(this.mMenViewConnections_Click); - // - // mMenViewConfig - // - this.mMenViewConfig.Checked = true; - this.mMenViewConfig.CheckState = System.Windows.Forms.CheckState.Checked; - this.mMenViewConfig.Image = global::mRemoteNG.Resources.cog; - this.mMenViewConfig.Name = "mMenViewConfig"; - this.mMenViewConfig.Size = new System.Drawing.Size(228, 22); - this.mMenViewConfig.Text = "Config"; - this.mMenViewConfig.Click += new System.EventHandler(this.mMenViewConfig_Click); - // - // mMenViewErrorsAndInfos - // - this.mMenViewErrorsAndInfos.Checked = true; - this.mMenViewErrorsAndInfos.CheckState = System.Windows.Forms.CheckState.Checked; - this.mMenViewErrorsAndInfos.Image = global::mRemoteNG.Resources.ErrorsAndInfos; - this.mMenViewErrorsAndInfos.Name = "mMenViewErrorsAndInfos"; - this.mMenViewErrorsAndInfos.Size = new System.Drawing.Size(228, 22); - this.mMenViewErrorsAndInfos.Text = "Errors and Infos"; - this.mMenViewErrorsAndInfos.Click += new System.EventHandler(this.mMenViewErrorsAndInfos_Click); - // - // mMenViewScreenshotManager - // - this.mMenViewScreenshotManager.Image = global::mRemoteNG.Resources.Screenshot; - this.mMenViewScreenshotManager.Name = "mMenViewScreenshotManager"; - this.mMenViewScreenshotManager.Size = new System.Drawing.Size(228, 22); - this.mMenViewScreenshotManager.Text = "Screenshot Manager"; - this.mMenViewScreenshotManager.Click += new System.EventHandler(this.mMenViewScreenshotManager_Click); - // - // ToolStripSeparator1 - // - this.ToolStripSeparator1.Name = "ToolStripSeparator1"; - this.ToolStripSeparator1.Size = new System.Drawing.Size(225, 6); - // - // mMenViewJumpTo - // - this.mMenViewJumpTo.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.mMenViewJumpToConnectionsConfig, - this.mMenViewJumpToErrorsInfos}); - this.mMenViewJumpTo.Image = global::mRemoteNG.Resources.JumpTo; - this.mMenViewJumpTo.Name = "mMenViewJumpTo"; - this.mMenViewJumpTo.Size = new System.Drawing.Size(228, 22); - this.mMenViewJumpTo.Text = "Jump To"; - // - // mMenViewJumpToConnectionsConfig - // - this.mMenViewJumpToConnectionsConfig.Image = global::mRemoteNG.Resources.Root; - this.mMenViewJumpToConnectionsConfig.Name = "mMenViewJumpToConnectionsConfig"; - this.mMenViewJumpToConnectionsConfig.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Alt) - | System.Windows.Forms.Keys.C))); - this.mMenViewJumpToConnectionsConfig.Size = new System.Drawing.Size(258, 22); - this.mMenViewJumpToConnectionsConfig.Text = "Connections && Config"; - this.mMenViewJumpToConnectionsConfig.Click += new System.EventHandler(this.mMenViewJumpToConnectionsConfig_Click); - // - // mMenViewJumpToErrorsInfos - // - this.mMenViewJumpToErrorsInfos.Image = global::mRemoteNG.Resources.InformationSmall; - this.mMenViewJumpToErrorsInfos.Name = "mMenViewJumpToErrorsInfos"; - this.mMenViewJumpToErrorsInfos.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Alt) - | System.Windows.Forms.Keys.E))); - this.mMenViewJumpToErrorsInfos.Size = new System.Drawing.Size(258, 22); - this.mMenViewJumpToErrorsInfos.Text = "Errors && Infos"; - this.mMenViewJumpToErrorsInfos.Click += new System.EventHandler(this.mMenViewJumpToErrorsInfos_Click); - // - // mMenViewResetLayout - // - this.mMenViewResetLayout.Image = global::mRemoteNG.Resources.application_side_tree; - this.mMenViewResetLayout.Name = "mMenViewResetLayout"; - this.mMenViewResetLayout.Size = new System.Drawing.Size(228, 22); - this.mMenViewResetLayout.Text = "Reset Layout"; - this.mMenViewResetLayout.Click += new System.EventHandler(this.mMenViewResetLayout_Click); - // - // mMenViewSep2 - // - this.mMenViewSep2.Name = "mMenViewSep2"; - this.mMenViewSep2.Size = new System.Drawing.Size(225, 6); - // - // mMenViewQuickConnectToolbar - // - this.mMenViewQuickConnectToolbar.Image = global::mRemoteNG.Resources.Play_Quick; - this.mMenViewQuickConnectToolbar.Name = "mMenViewQuickConnectToolbar"; - this.mMenViewQuickConnectToolbar.Size = new System.Drawing.Size(228, 22); - this.mMenViewQuickConnectToolbar.Text = "Quick Connect Toolbar"; - this.mMenViewQuickConnectToolbar.Click += new System.EventHandler(this.mMenViewQuickConnectToolbar_Click); - // - // mMenViewExtAppsToolbar - // - this.mMenViewExtAppsToolbar.Image = global::mRemoteNG.Resources.ExtApp; - this.mMenViewExtAppsToolbar.Name = "mMenViewExtAppsToolbar"; - this.mMenViewExtAppsToolbar.Size = new System.Drawing.Size(228, 22); - this.mMenViewExtAppsToolbar.Text = "External Applications Toolbar"; - this.mMenViewExtAppsToolbar.Click += new System.EventHandler(this.mMenViewExtAppsToolbar_Click); - // - // mMenViewSep3 - // - this.mMenViewSep3.Name = "mMenViewSep3"; - this.mMenViewSep3.Size = new System.Drawing.Size(225, 6); - // - // mMenViewFullscreen - // - this.mMenViewFullscreen.Image = global::mRemoteNG.Resources.arrow_out; - this.mMenViewFullscreen.Name = "mMenViewFullscreen"; - this.mMenViewFullscreen.ShortcutKeys = System.Windows.Forms.Keys.F11; - this.mMenViewFullscreen.Size = new System.Drawing.Size(228, 22); - this.mMenViewFullscreen.Text = "Full Screen"; - this.mMenViewFullscreen.Click += new System.EventHandler(this.mMenViewFullscreen_Click); + // // mMenTools // @@ -815,47 +432,25 @@ namespace mRemoteNG.UI.Forms internal System.Windows.Forms.ToolStripMenuItem mMenTools; internal System.Windows.Forms.ToolStripLabel lblQuickConnect; internal System.Windows.Forms.ToolStripMenuItem mMenInfo; - internal System.Windows.Forms.ToolStripMenuItem mMenFileNew; - internal System.Windows.Forms.ToolStripMenuItem mMenFileLoad; - internal System.Windows.Forms.ToolStripMenuItem mMenFileSave; - internal System.Windows.Forms.ToolStripMenuItem mMenFileSaveAs; - internal System.Windows.Forms.ToolStripSeparator mMenFileSep1; - internal System.Windows.Forms.ToolStripMenuItem mMenFileExit; internal System.Windows.Forms.ToolStripSeparator mMenToolsSep1; internal System.Windows.Forms.ToolStripMenuItem mMenToolsOptions; internal System.Windows.Forms.ToolStripMenuItem mMenInfoHelp; internal System.Windows.Forms.ToolStripMenuItem mMenInfoWebsite; internal System.Windows.Forms.ToolStripSeparator mMenInfoSep1; internal System.Windows.Forms.ToolStripMenuItem mMenInfoAbout; - internal System.Windows.Forms.ToolStripMenuItem mMenViewConnectionPanels; - internal System.Windows.Forms.ToolStripSeparator mMenViewSep1; - internal System.Windows.Forms.ToolStripMenuItem mMenViewConnections; - internal System.Windows.Forms.ToolStripMenuItem mMenViewConfig; - internal System.Windows.Forms.ToolStripMenuItem mMenViewErrorsAndInfos; - internal System.Windows.Forms.ToolStripMenuItem mMenViewScreenshotManager; - internal System.Windows.Forms.ToolStripMenuItem mMenViewAddConnectionPanel; - internal QuickConnectComboBox cmbQuickConnect; - internal System.Windows.Forms.ToolStripSeparator mMenViewSep2; - internal System.Windows.Forms.ToolStripMenuItem mMenViewFullscreen; - internal System.Windows.Forms.ToolStripMenuItem mMenToolsSSHTransfer; + internal QuickConnectComboBox cmbQuickConnect; + internal System.Windows.Forms.ToolStripMenuItem mMenToolsSSHTransfer; internal System.Windows.Forms.ToolStripContainer tsContainer; internal System.Windows.Forms.ToolStripMenuItem mMenToolsExternalApps; internal System.Windows.Forms.Timer tmrAutoSave; internal System.Windows.Forms.ToolStrip tsExternalTools; - internal System.Windows.Forms.ToolStripMenuItem mMenViewExtAppsToolbar; internal System.Windows.Forms.ContextMenuStrip cMenExtAppsToolbar; internal System.Windows.Forms.ToolStripMenuItem cMenToolbarShowText; internal System.Windows.Forms.ToolStripMenuItem mMenToolsPortScan; internal System.Windows.Forms.ToolStrip tsQuickConnect; - internal System.Windows.Forms.ToolStripMenuItem mMenViewQuickConnectToolbar; internal System.Windows.Forms.ToolStripSeparator mMenSep3; internal System.Windows.Forms.ToolStripMenuItem mMenInfoDonate; - internal System.Windows.Forms.ToolStripSeparator mMenViewSep3; internal ToolStripSplitButton btnQuickConnect; - internal System.Windows.Forms.ToolStripMenuItem mMenViewJumpTo; - internal System.Windows.Forms.ToolStripMenuItem mMenViewJumpToConnectionsConfig; - internal System.Windows.Forms.ToolStripMenuItem mMenViewJumpToErrorsInfos; - internal System.Windows.Forms.ToolStripSeparator ToolStripSeparator1; internal System.Windows.Forms.ToolStripMenuItem mMenToolsUVNCSC; internal System.Windows.Forms.ToolStripMenuItem mMenToolsComponentsCheck; internal System.Windows.Forms.ToolStripSeparator mMenInfoSep2; @@ -863,25 +458,9 @@ namespace mRemoteNG.UI.Forms internal System.Windows.Forms.ToolStripSeparator ToolStripSeparator2; internal System.Windows.Forms.ToolStripMenuItem mMenInfoForum; internal System.Windows.Forms.ToolStripMenuItem mMenToolsUpdate; - internal System.Windows.Forms.ToolStripMenuItem mMenViewResetLayout; - internal System.Windows.Forms.ToolStripMenuItem mMenFileDuplicate; - internal System.Windows.Forms.ToolStripMenuItem mMenReconnectAll; - internal System.Windows.Forms.ToolStripSeparator mMenFileSep2; - internal System.Windows.Forms.ToolStripMenuItem mMenFileNewConnection; - internal System.Windows.Forms.ToolStripMenuItem mMenFileNewFolder; - internal System.Windows.Forms.ToolStripSeparator mMenFileSep3; - internal System.Windows.Forms.ToolStripSeparator mMenFileSep4; - internal System.Windows.Forms.ToolStripMenuItem mMenFileDelete; - internal System.Windows.Forms.ToolStripMenuItem mMenFileRename; - internal System.Windows.Forms.ToolStripSeparator mMenFileSep5; internal System.Windows.Forms.ContextMenuStrip mnuQuickConnectProtocol; internal System.Windows.Forms.ToolStripDropDownButton btnConnections; internal System.Windows.Forms.ContextMenuStrip mnuConnections; - internal System.Windows.Forms.ToolStripMenuItem mMenFileExport; - internal System.Windows.Forms.ToolStripMenuItem mMenFileImportFromFile; - internal System.Windows.Forms.ToolStripMenuItem mMenFileImportFromActiveDirectory; - internal System.Windows.Forms.ToolStripMenuItem mMenFileImportFromPortScan; - internal System.Windows.Forms.ToolStripMenuItem mMenFileImport; private System.ComponentModel.IContainer components; private System.Windows.Forms.ToolStripMenuItem credentialManagerToolStripMenuItem; } diff --git a/mRemoteV1/UI/Forms/frmMain.cs b/mRemoteV1/UI/Forms/frmMain.cs index 2177c3d6..e582f4e6 100644 --- a/mRemoteV1/UI/Forms/frmMain.cs +++ b/mRemoteV1/UI/Forms/frmMain.cs @@ -7,7 +7,6 @@ using System.IO; using System.Runtime.InteropServices; using System.Text; using System.Windows.Forms; -using System.Collections.Generic; using System.Linq; using mRemoteNG.App; using mRemoteNG.App.Info; @@ -61,7 +60,7 @@ namespace mRemoteNG.UI.Forms _fullscreen = new FullscreenHandler(this); pnlDock.Theme = new VS2012LightTheme(); _screenSystemMenu = new ScreenSelectionSystemMenu(this); - } + } static FrmMain() { @@ -168,39 +167,13 @@ namespace mRemoteNG.UI.Forms Opacity = 1; ConnectionTreeWindow = Windows.TreeForm; + + msMain.Items.Add(new MainFileMenu(ConnectionTreeWindow, _connectionInitiator)); + msMain.Items.Add(new ViewMenu(tsExternalTools, tsQuickConnect, _fullscreen, this)); } private void ApplyLanguage() { - mMenFile.Text = Language.strMenuFile; - mMenFileNew.Text = Language.strMenuNewConnectionFile; - mMenFileNewConnection.Text = Language.strNewConnection; - mMenFileNewFolder.Text = Language.strNewFolder; - mMenFileLoad.Text = Language.strMenuOpenConnectionFile; - mMenFileSave.Text = Language.strMenuSaveConnectionFile; - mMenFileSaveAs.Text = Language.strMenuSaveConnectionFileAs; - mMenFileImport.Text = Language.strImportMenuItem; - mMenFileImportFromFile.Text = Language.strImportFromFileMenuItem; - mMenFileImportFromActiveDirectory.Text = Language.strImportAD; - mMenFileImportFromPortScan.Text = Language.strImportPortScan; - mMenFileExport.Text = Language.strExportToFileMenuItem; - mMenFileExit.Text = Language.strMenuExit; - - mMenView.Text = Language.strMenuView; - mMenViewAddConnectionPanel.Text = Language.strMenuAddConnectionPanel; - mMenViewConnectionPanels.Text = Language.strMenuConnectionPanels; - mMenViewConnections.Text = Language.strMenuConnections; - mMenViewConfig.Text = Language.strMenuConfig; - mMenViewErrorsAndInfos.Text = Language.strMenuNotifications; - mMenViewScreenshotManager.Text = Language.strScreenshots; - mMenViewJumpTo.Text = Language.strMenuJumpTo; - mMenViewJumpToConnectionsConfig.Text = Language.strMenuConnectionsAndConfig; - mMenViewJumpToErrorsInfos.Text = Language.strMenuNotifications; - mMenViewResetLayout.Text = Language.strMenuResetLayout; - mMenViewQuickConnectToolbar.Text = Language.strMenuQuickConnectToolbar; - mMenViewExtAppsToolbar.Text = Language.strMenuExternalToolsToolbar; - mMenViewFullscreen.Text = Language.strMenuFullScreen; - mMenTools.Text = Language.strMenuTools; mMenToolsSSHTransfer.Text = Language.strMenuSSHFileTransfer; mMenToolsExternalApps.Text = Language.strMenuExternalTools; @@ -428,374 +401,6 @@ namespace mRemoteNG.UI.Forms #endregion #region Menu - #region File - private void mMenFile_DropDownOpening(object sender, EventArgs e) - { - var selectedNodeType = ConnectionTreeWindow.SelectedNode?.GetTreeNodeType(); - // ReSharper disable once SwitchStatementMissingSomeCases - switch (selectedNodeType) - { - case TreeNodeType.Root: - mMenFileNewConnection.Enabled = true; - mMenFileNewFolder.Enabled = true; - mMenFileDelete.Enabled = false; - mMenFileRename.Enabled = true; - mMenFileDuplicate.Enabled = false; - mMenReconnectAll.Enabled = true; - mMenFileDelete.Text = Language.strMenuDelete; - mMenFileRename.Text = Language.strMenuRenameFolder; - mMenFileDuplicate.Text = Language.strMenuDuplicate; - mMenReconnectAll.Text = Language.strMenuReconnectAll; - break; - case TreeNodeType.Container: - mMenFileNewConnection.Enabled = true; - mMenFileNewFolder.Enabled = true; - mMenFileDelete.Enabled = true; - mMenFileRename.Enabled = true; - mMenFileDuplicate.Enabled = true; - mMenReconnectAll.Enabled = true; - mMenFileDelete.Text = Language.strMenuDeleteFolder; - mMenFileRename.Text = Language.strMenuRenameFolder; - mMenFileDuplicate.Text = Language.strMenuDuplicateFolder; - mMenReconnectAll.Text = Language.strMenuReconnectAll; - break; - case TreeNodeType.Connection: - mMenFileNewConnection.Enabled = true; - mMenFileNewFolder.Enabled = true; - mMenFileDelete.Enabled = true; - mMenFileRename.Enabled = true; - mMenFileDuplicate.Enabled = true; - mMenReconnectAll.Enabled = true; - mMenFileDelete.Text = Language.strMenuDeleteConnection; - mMenFileRename.Text = Language.strMenuRenameConnection; - mMenFileDuplicate.Text = Language.strMenuDuplicateConnection; - mMenReconnectAll.Text = Language.strMenuReconnectAll; - break; - case TreeNodeType.PuttyRoot: - case TreeNodeType.PuttySession: - mMenFileNewConnection.Enabled = false; - mMenFileNewFolder.Enabled = false; - mMenFileDelete.Enabled = false; - mMenFileRename.Enabled = false; - mMenFileDuplicate.Enabled = false; - mMenReconnectAll.Enabled = true; - mMenFileDelete.Text = Language.strMenuDelete; - mMenFileRename.Text = Language.strMenuRename; - mMenFileDuplicate.Text = Language.strMenuDuplicate; - mMenReconnectAll.Text = Language.strMenuReconnectAll; - break; - default: - mMenFileNewConnection.Enabled = true; - mMenFileNewFolder.Enabled = true; - mMenFileDelete.Enabled = false; - mMenFileRename.Enabled = false; - mMenFileDuplicate.Enabled = false; - mMenReconnectAll.Enabled = true; - mMenFileDelete.Text = Language.strMenuDelete; - mMenFileRename.Text = Language.strMenuRename; - mMenFileDuplicate.Text = Language.strMenuDuplicate; - mMenReconnectAll.Text = Language.strMenuReconnectAll; - break; - } - } - - private void mMenFileNewConnection_Click(object sender, EventArgs e) - { - ConnectionTreeWindow.ConnectionTree.AddConnection(); - Runtime.SaveConnectionsAsync(); - } - - private void mMenFileNewFolder_Click(object sender, EventArgs e) - { - ConnectionTreeWindow.ConnectionTree.AddFolder(); - Runtime.SaveConnectionsAsync(); - } - - private void mMenFileNew_Click(object sender, EventArgs e) - { - var saveFileDialog = ConnectionsSaveAsDialog(); - if (saveFileDialog.ShowDialog() != DialogResult.OK) - { - return; - } - - Runtime.NewConnections(saveFileDialog.FileName); - } - - private void mMenFileLoad_Click(object sender, EventArgs e) - { - if (Runtime.IsConnectionsFileLoaded) - { - var msgBoxResult = MessageBox.Show(Language.strSaveConnectionsFileBeforeOpeningAnother, Language.strSave, MessageBoxButtons.YesNoCancel); - // ReSharper disable once SwitchStatementMissingSomeCases - switch (msgBoxResult) - { - case DialogResult.Yes: - Runtime.SaveConnections(); - break; - case DialogResult.Cancel: - return; - } - } - - Runtime.LoadConnections(true); - } - - private void mMenFileSave_Click(object sender, EventArgs e) - { - Runtime.SaveConnectionsAsync(); - } - - private void mMenFileSaveAs_Click(object sender, EventArgs e) - { - Runtime.SaveConnectionsAs(); - } - - private void mMenFileDelete_Click(object sender, EventArgs e) - { - ConnectionTreeWindow.ConnectionTree.DeleteSelectedNode(); - Runtime.SaveConnectionsAsync(); - } - - private void mMenFileRename_Click(object sender, EventArgs e) - { - ConnectionTreeWindow.ConnectionTree.RenameSelectedNode(); - Runtime.SaveConnectionsAsync(); - } - - private void mMenFileDuplicate_Click(object sender, EventArgs e) - { - ConnectionTreeWindow.ConnectionTree.DuplicateSelectedNode(); - Runtime.SaveConnectionsAsync(); - } - - private void mMenReconnectAll_Click(object sender, EventArgs e) - { - if (Runtime.WindowList == null || Runtime.WindowList.Count == 0) return; - foreach (BaseWindow window in Runtime.WindowList) - { - var connectionWindow = window as ConnectionWindow; - if (connectionWindow == null) - return; - - var icList = new List(); - foreach (Crownwood.Magic.Controls.TabPage tab in connectionWindow.TabController.TabPages) - { - var tag = tab.Tag as InterfaceControl; - if (tag != null) - { - icList.Add(tag); - } - } - - foreach (var i in icList) - { - i.Protocol.Close(); - _connectionInitiator.OpenConnection(i.Info, ConnectionInfo.Force.DoNotJump); - } - - // throw it on the garbage collector - // ReSharper disable once RedundantAssignment - icList = null; - } - } - - private void mMenFileImportFromFile_Click(object sender, EventArgs e) - { - var selectedNode = ConnectionTreeWindow.SelectedNode; - ContainerInfo importDestination; - if (selectedNode == null) - importDestination = Runtime.ConnectionTreeModel.RootNodes.First(); - else - importDestination = selectedNode as ContainerInfo ?? selectedNode.Parent; - Import.ImportFromFile(importDestination); - } - - private void mMenFileImportFromActiveDirectory_Click(object sender, EventArgs e) - { - Windows.Show(WindowType.ActiveDirectoryImport); - } - - private void mMenFileImportFromPortScan_Click(object sender, EventArgs e) - { - Windows.Show(WindowType.PortScan); - } - - private void mMenFileExport_Click(object sender, EventArgs e) - { - Export.ExportToFile(Windows.TreeForm.SelectedNode, Runtime.ConnectionTreeModel); - } - - private void mMenFileExit_Click(object sender, EventArgs e) - { - Shutdown.Quit(); - } - - public static SaveFileDialog ConnectionsSaveAsDialog() - { - return new SaveFileDialog - { - CheckPathExists = true, - InitialDirectory = ConnectionsFileInfo.DefaultConnectionsPath, - FileName = ConnectionsFileInfo.DefaultConnectionsFile, - OverwritePrompt = true, - Filter = Language.strFiltermRemoteXML + @"|*.xml|" + Language.strFilterAll + @"|*.*" - }; - } - #endregion - - #region View - private void mMenView_DropDownOpening(object sender, EventArgs e) - { - mMenViewConnections.Checked = !Windows.TreeForm.IsHidden; - mMenViewConfig.Checked = !Windows.ConfigForm.IsHidden; - mMenViewErrorsAndInfos.Checked = !Windows.ErrorsForm.IsHidden; - mMenViewScreenshotManager.Checked = !Windows.ScreenshotForm.IsHidden; - - mMenViewExtAppsToolbar.Checked = tsExternalTools.Visible; - mMenViewQuickConnectToolbar.Checked = tsQuickConnect.Visible; - - mMenViewConnectionPanels.DropDownItems.Clear(); - - for (var i = 0; i <= Runtime.WindowList.Count - 1; i++) - { - var tItem = new ToolStripMenuItem(Runtime.WindowList[i].Text, - Runtime.WindowList[i].Icon.ToBitmap(), ConnectionPanelMenuItem_Click) {Tag = Runtime.WindowList[i]}; - mMenViewConnectionPanels.DropDownItems.Add(tItem); - } - - mMenViewConnectionPanels.Enabled = mMenViewConnectionPanels.DropDownItems.Count > 0; - } - - private void ConnectionPanelMenuItem_Click(object sender, EventArgs e) - { - ((BaseWindow) ((ToolStripMenuItem)sender).Tag).Show(pnlDock); - ((BaseWindow) ((ToolStripMenuItem)sender).Tag).Focus(); - } - - private void mMenViewConnections_Click(object sender, EventArgs e) - { - if (mMenViewConnections.Checked == false) - { - Windows.TreeForm.Show(pnlDock); - mMenViewConnections.Checked = true; - } - else - { - Windows.TreeForm.Hide(); - mMenViewConnections.Checked = false; - } - } - - private void mMenViewConfig_Click(object sender, EventArgs e) - { - if (mMenViewConfig.Checked == false) - { - Windows.ConfigForm.Show(pnlDock); - mMenViewConfig.Checked = true; - } - else - { - Windows.ConfigForm.Hide(); - mMenViewConfig.Checked = false; - } - } - - private void mMenViewErrorsAndInfos_Click(object sender, EventArgs e) - { - if (mMenViewErrorsAndInfos.Checked == false) - { - Windows.ErrorsForm.Show(pnlDock); - mMenViewErrorsAndInfos.Checked = true; - } - else - { - Windows.ErrorsForm.Hide(); - mMenViewErrorsAndInfos.Checked = false; - } - } - - private void mMenViewScreenshotManager_Click(object sender, EventArgs e) - { - if (mMenViewScreenshotManager.Checked == false) - { - Windows.ScreenshotForm.Show(pnlDock); - mMenViewScreenshotManager.Checked = true; - } - else - { - Windows.ScreenshotForm.Hide(); - mMenViewScreenshotManager.Checked = false; - } - } - - private void mMenViewJumpToConnectionsConfig_Click(object sender, EventArgs e) - { - if (pnlDock.ActiveContent == Windows.TreeForm) - { - Windows.ConfigForm.Activate(); - } - else - { - Windows.TreeForm.Activate(); - } - } - - private void mMenViewJumpToErrorsInfos_Click(object sender, EventArgs e) - { - Windows.ErrorsForm.Activate(); - } - - private void mMenViewResetLayout_Click(object sender, EventArgs e) - { - var msgBoxResult = MessageBox.Show(Language.strConfirmResetLayout, string.Empty, MessageBoxButtons.YesNo, - MessageBoxIcon.Question); - if (msgBoxResult == DialogResult.Yes) - { - Default.SetDefaultLayout(); - } - } - - private void mMenViewAddConnectionPanel_Click(object sender, EventArgs e) - { - Runtime.AddPanel(); - } - - private void mMenViewExtAppsToolbar_Click(object sender, EventArgs e) - { - if (mMenViewExtAppsToolbar.Checked == false) - { - tsExternalTools.Visible = true; - mMenViewExtAppsToolbar.Checked = true; - } - else - { - tsExternalTools.Visible = false; - mMenViewExtAppsToolbar.Checked = false; - } - } - - private void mMenViewQuickConnectToolbar_Click(object sender, EventArgs e) - { - if (mMenViewQuickConnectToolbar.Checked == false) - { - tsQuickConnect.Visible = true; - mMenViewQuickConnectToolbar.Checked = true; - } - else - { - tsQuickConnect.Visible = false; - mMenViewQuickConnectToolbar.Checked = false; - } - } - - private void mMenViewFullscreen_Click(object sender, EventArgs e) - { - _fullscreen.Value = !_fullscreen.Value; - mMenViewFullscreen.Checked = _fullscreen.Value; - } - #endregion - #region Tools private void credentialManagerToolStripMenuItem_Click(object sender, EventArgs e) { diff --git a/mRemoteV1/UI/Menu/MainFileMenu.cs b/mRemoteV1/UI/Menu/MainFileMenu.cs new file mode 100644 index 00000000..60e39ae1 --- /dev/null +++ b/mRemoteV1/UI/Menu/MainFileMenu.cs @@ -0,0 +1,481 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Windows.Forms; +using mRemoteNG.App; +using mRemoteNG.App.Info; +using mRemoteNG.Connection; +using mRemoteNG.Container; +using mRemoteNG.Tree; +using mRemoteNG.UI.Window; + +namespace mRemoteNG.UI.Menu +{ + public class MainFileMenu : ToolStripMenuItem + { + private ToolStripMenuItem _mMenFileNew; + private ToolStripMenuItem _mMenFileLoad; + private ToolStripMenuItem _mMenFileSave; + private ToolStripMenuItem _mMenFileSaveAs; + private ToolStripSeparator _mMenFileSep1; + private ToolStripMenuItem _mMenFileExit; + private ToolStripMenuItem _mMenFileDuplicate; + private ToolStripSeparator _mMenFileSep2; + private ToolStripMenuItem _mMenFileNewConnection; + private ToolStripMenuItem _mMenFileNewFolder; + private ToolStripSeparator _mMenFileSep3; + private ToolStripSeparator _mMenFileSep4; + private ToolStripMenuItem _mMenFileDelete; + private ToolStripMenuItem _mMenFileRename; + private ToolStripSeparator _mMenFileSep5; + private ToolStripMenuItem _mMenFileExport; + private ToolStripMenuItem _mMenFileImportFromFile; + private ToolStripMenuItem _mMenFileImportFromActiveDirectory; + private ToolStripMenuItem _mMenFileImportFromPortScan; + private ToolStripMenuItem _mMenFileImport; + private ToolStripMenuItem _mMenReconnectAll; + + private readonly ConnectionTreeWindow _connectionTreeWindow; + private readonly IConnectionInitiator _connectionInitiator; + + public MainFileMenu(ConnectionTreeWindow connectionTreeWindow, IConnectionInitiator connectionInitiator) + { + if (connectionTreeWindow == null) + throw new ArgumentNullException(nameof(connectionTreeWindow)); + if (connectionInitiator == null) + throw new ArgumentNullException(nameof(connectionInitiator)); + + _connectionTreeWindow = connectionTreeWindow; + _connectionInitiator = connectionInitiator; + Initialize(); + } + + private void Initialize() + { + _mMenFileNewConnection = new ToolStripMenuItem(); + _mMenFileNewFolder = new ToolStripMenuItem(); + _mMenFileSep1 = new ToolStripSeparator(); + _mMenFileNew = new ToolStripMenuItem(); + _mMenFileLoad = new ToolStripMenuItem(); + _mMenFileSave = new ToolStripMenuItem(); + _mMenFileSaveAs = new ToolStripMenuItem(); + _mMenFileSep2 = new ToolStripSeparator(); + _mMenFileDelete = new ToolStripMenuItem(); + _mMenFileRename = new ToolStripMenuItem(); + _mMenFileDuplicate = new ToolStripMenuItem(); + _mMenFileSep4 = new ToolStripSeparator(); + _mMenReconnectAll = new ToolStripMenuItem(); + _mMenFileSep3 = new ToolStripSeparator(); + _mMenFileImport = new ToolStripMenuItem(); + _mMenFileImportFromFile = new ToolStripMenuItem(); + _mMenFileImportFromActiveDirectory = new ToolStripMenuItem(); + _mMenFileImportFromPortScan = new ToolStripMenuItem(); + _mMenFileExport = new ToolStripMenuItem(); + _mMenFileSep5 = new ToolStripSeparator(); + _mMenFileExit = new ToolStripMenuItem(); + + // + // mMenFile + // + DropDownItems.AddRange(new ToolStripItem[] { + _mMenFileNewConnection, + _mMenFileNewFolder, + _mMenFileSep1, + _mMenFileNew, + _mMenFileLoad, + _mMenFileSave, + _mMenFileSaveAs, + _mMenFileSep2, + _mMenFileDelete, + _mMenFileRename, + _mMenFileDuplicate, + _mMenFileSep4, + _mMenReconnectAll, + _mMenFileSep3, + _mMenFileImport, + _mMenFileExport, + _mMenFileSep5, + _mMenFileExit + }); + Name = "mMenFile"; + Size = new System.Drawing.Size(37, 20); + Text = Language.strMenuFile; + DropDownOpening += mMenFile_DropDownOpening; + // + // mMenFileNewConnection + // + _mMenFileNewConnection.Image = Resources.Connection_Add; + _mMenFileNewConnection.Name = "mMenFileNewConnection"; + _mMenFileNewConnection.ShortcutKeys = Keys.Control | Keys.N; + _mMenFileNewConnection.Size = new System.Drawing.Size(281, 22); + _mMenFileNewConnection.Text = Language.strNewConnection; + _mMenFileNewConnection.Click += mMenFileNewConnection_Click; + // + // mMenFileNewFolder + // + _mMenFileNewFolder.Image = Resources.Folder_Add; + _mMenFileNewFolder.Name = "mMenFileNewFolder"; + _mMenFileNewFolder.ShortcutKeys = (Keys.Control | Keys.Shift) + | Keys.N; + _mMenFileNewFolder.Size = new System.Drawing.Size(281, 22); + _mMenFileNewFolder.Text = Language.strNewFolder; + _mMenFileNewFolder.Click += mMenFileNewFolder_Click; + // + // mMenFileSep1 + // + _mMenFileSep1.Name = "mMenFileSep1"; + _mMenFileSep1.Size = new System.Drawing.Size(278, 6); + // + // mMenFileNew + // + _mMenFileNew.Image = Resources.Connections_New; + _mMenFileNew.Name = "mMenFileNew"; + _mMenFileNew.Size = new System.Drawing.Size(281, 22); + _mMenFileNew.Text = Language.strMenuNewConnectionFile; + _mMenFileNew.Click += mMenFileNew_Click; + // + // mMenFileLoad + // + _mMenFileLoad.Image = Resources.Connections_Load; + _mMenFileLoad.Name = "mMenFileLoad"; + _mMenFileLoad.ShortcutKeys = Keys.Control | Keys.O; + _mMenFileLoad.Size = new System.Drawing.Size(281, 22); + _mMenFileLoad.Text = Language.strMenuOpenConnectionFile; + _mMenFileLoad.Click += mMenFileLoad_Click; + // + // mMenFileSave + // + _mMenFileSave.Image = Resources.Connections_Save; + _mMenFileSave.Name = "mMenFileSave"; + _mMenFileSave.ShortcutKeys = Keys.Control | Keys.S; + _mMenFileSave.Size = new System.Drawing.Size(281, 22); + _mMenFileSave.Text = Language.strMenuSaveConnectionFile; + _mMenFileSave.Click += mMenFileSave_Click; + // + // mMenFileSaveAs + // + _mMenFileSaveAs.Image = Resources.Connections_SaveAs; + _mMenFileSaveAs.Name = "mMenFileSaveAs"; + _mMenFileSaveAs.ShortcutKeys = (Keys.Control | Keys.Shift) + | Keys.S; + _mMenFileSaveAs.Size = new System.Drawing.Size(281, 22); + _mMenFileSaveAs.Text = Language.strMenuSaveConnectionFileAs; + _mMenFileSaveAs.Click += mMenFileSaveAs_Click; + // + // mMenFileSep2 + // + _mMenFileSep2.Name = "mMenFileSep2"; + _mMenFileSep2.Size = new System.Drawing.Size(278, 6); + // + // mMenFileDelete + // + _mMenFileDelete.Image = Resources.Delete; + _mMenFileDelete.Name = "mMenFileDelete"; + _mMenFileDelete.Size = new System.Drawing.Size(281, 22); + _mMenFileDelete.Text = "Delete..."; + _mMenFileDelete.Click += mMenFileDelete_Click; + // + // mMenFileRename + // + _mMenFileRename.Image = Resources.Rename; + _mMenFileRename.Name = "mMenFileRename"; + _mMenFileRename.Size = new System.Drawing.Size(281, 22); + _mMenFileRename.Text = "Rename"; + _mMenFileRename.Click += mMenFileRename_Click; + // + // mMenFileDuplicate + // + _mMenFileDuplicate.Image = Resources.page_copy; + _mMenFileDuplicate.Name = "mMenFileDuplicate"; + _mMenFileDuplicate.Size = new System.Drawing.Size(281, 22); + _mMenFileDuplicate.Text = "Duplicate"; + _mMenFileDuplicate.Click += mMenFileDuplicate_Click; + // + // mMenFileSep4 + // + _mMenFileSep4.Name = "mMenFileSep4"; + _mMenFileSep4.Size = new System.Drawing.Size(278, 6); + // + // mMenReconnectAll + // + _mMenReconnectAll.Image = Resources.Refresh; + _mMenReconnectAll.Name = "mMenReconnectAll"; + _mMenReconnectAll.Size = new System.Drawing.Size(281, 22); + _mMenReconnectAll.Text = "Reconnect All Connections"; + _mMenReconnectAll.Click += mMenReconnectAll_Click; + // + // mMenFileSep3 + // + _mMenFileSep3.Name = "mMenFileSep3"; + _mMenFileSep3.Size = new System.Drawing.Size(278, 6); + // + // mMenFileImport + // + _mMenFileImport.DropDownItems.AddRange(new ToolStripItem[] { + _mMenFileImportFromFile, + _mMenFileImportFromActiveDirectory, + _mMenFileImportFromPortScan}); + _mMenFileImport.Name = "mMenFileImport"; + _mMenFileImport.Size = new System.Drawing.Size(281, 22); + _mMenFileImport.Text = Language.strImportMenuItem; + // + // mMenFileImportFromFile + // + _mMenFileImportFromFile.Name = "mMenFileImportFromFile"; + _mMenFileImportFromFile.Size = new System.Drawing.Size(235, 22); + _mMenFileImportFromFile.Text = Language.strImportFromFileMenuItem; + _mMenFileImportFromFile.Click += mMenFileImportFromFile_Click; + // + // mMenFileImportFromActiveDirectory + // + _mMenFileImportFromActiveDirectory.Name = "mMenFileImportFromActiveDirectory"; + _mMenFileImportFromActiveDirectory.Size = new System.Drawing.Size(235, 22); + _mMenFileImportFromActiveDirectory.Text = Language.strImportAD; + _mMenFileImportFromActiveDirectory.Click += mMenFileImportFromActiveDirectory_Click; + // + // mMenFileImportFromPortScan + // + _mMenFileImportFromPortScan.Name = "mMenFileImportFromPortScan"; + _mMenFileImportFromPortScan.Size = new System.Drawing.Size(235, 22); + _mMenFileImportFromPortScan.Text = Language.strImportPortScan; + _mMenFileImportFromPortScan.Click += mMenFileImportFromPortScan_Click; + // + // mMenFileExport + // + _mMenFileExport.Name = "mMenFileExport"; + _mMenFileExport.Size = new System.Drawing.Size(281, 22); + _mMenFileExport.Text = Language.strExportToFileMenuItem; + _mMenFileExport.Click += mMenFileExport_Click; + // + // mMenFileSep5 + // + _mMenFileSep5.Name = "mMenFileSep5"; + _mMenFileSep5.Size = new System.Drawing.Size(278, 6); + // + // mMenFileExit + // + _mMenFileExit.Image = Resources.Quit; + _mMenFileExit.Name = "mMenFileExit"; + _mMenFileExit.ShortcutKeys = Keys.Alt | Keys.F4; + _mMenFileExit.Size = new System.Drawing.Size(281, 22); + _mMenFileExit.Text = Language.strMenuExit; + _mMenFileExit.Click += mMenFileExit_Click; + } + + #region File + private void mMenFile_DropDownOpening(object sender, EventArgs e) + { + var selectedNodeType = _connectionTreeWindow.SelectedNode?.GetTreeNodeType(); + // ReSharper disable once SwitchStatementMissingSomeCases + switch (selectedNodeType) + { + case TreeNodeType.Root: + _mMenFileNewConnection.Enabled = true; + _mMenFileNewFolder.Enabled = true; + _mMenFileDelete.Enabled = false; + _mMenFileRename.Enabled = true; + _mMenFileDuplicate.Enabled = false; + _mMenReconnectAll.Enabled = true; + _mMenFileDelete.Text = Language.strMenuDelete; + _mMenFileRename.Text = Language.strMenuRenameFolder; + _mMenFileDuplicate.Text = Language.strMenuDuplicate; + _mMenReconnectAll.Text = Language.strMenuReconnectAll; + break; + case TreeNodeType.Container: + _mMenFileNewConnection.Enabled = true; + _mMenFileNewFolder.Enabled = true; + _mMenFileDelete.Enabled = true; + _mMenFileRename.Enabled = true; + _mMenFileDuplicate.Enabled = true; + _mMenReconnectAll.Enabled = true; + _mMenFileDelete.Text = Language.strMenuDeleteFolder; + _mMenFileRename.Text = Language.strMenuRenameFolder; + _mMenFileDuplicate.Text = Language.strMenuDuplicateFolder; + _mMenReconnectAll.Text = Language.strMenuReconnectAll; + break; + case TreeNodeType.Connection: + _mMenFileNewConnection.Enabled = true; + _mMenFileNewFolder.Enabled = true; + _mMenFileDelete.Enabled = true; + _mMenFileRename.Enabled = true; + _mMenFileDuplicate.Enabled = true; + _mMenReconnectAll.Enabled = true; + _mMenFileDelete.Text = Language.strMenuDeleteConnection; + _mMenFileRename.Text = Language.strMenuRenameConnection; + _mMenFileDuplicate.Text = Language.strMenuDuplicateConnection; + _mMenReconnectAll.Text = Language.strMenuReconnectAll; + break; + case TreeNodeType.PuttyRoot: + case TreeNodeType.PuttySession: + _mMenFileNewConnection.Enabled = false; + _mMenFileNewFolder.Enabled = false; + _mMenFileDelete.Enabled = false; + _mMenFileRename.Enabled = false; + _mMenFileDuplicate.Enabled = false; + _mMenReconnectAll.Enabled = true; + _mMenFileDelete.Text = Language.strMenuDelete; + _mMenFileRename.Text = Language.strMenuRename; + _mMenFileDuplicate.Text = Language.strMenuDuplicate; + _mMenReconnectAll.Text = Language.strMenuReconnectAll; + break; + default: + _mMenFileNewConnection.Enabled = true; + _mMenFileNewFolder.Enabled = true; + _mMenFileDelete.Enabled = false; + _mMenFileRename.Enabled = false; + _mMenFileDuplicate.Enabled = false; + _mMenReconnectAll.Enabled = true; + _mMenFileDelete.Text = Language.strMenuDelete; + _mMenFileRename.Text = Language.strMenuRename; + _mMenFileDuplicate.Text = Language.strMenuDuplicate; + _mMenReconnectAll.Text = Language.strMenuReconnectAll; + break; + } + } + + private void mMenFileNewConnection_Click(object sender, EventArgs e) + { + _connectionTreeWindow.ConnectionTree.AddConnection(); + Runtime.SaveConnectionsAsync(); + } + + private void mMenFileNewFolder_Click(object sender, EventArgs e) + { + _connectionTreeWindow.ConnectionTree.AddFolder(); + Runtime.SaveConnectionsAsync(); + } + + private void mMenFileNew_Click(object sender, EventArgs e) + { + var saveFileDialog = ConnectionsSaveAsDialog(); + if (saveFileDialog.ShowDialog() != DialogResult.OK) + { + return; + } + + Runtime.NewConnections(saveFileDialog.FileName); + } + + private void mMenFileLoad_Click(object sender, EventArgs e) + { + if (Runtime.IsConnectionsFileLoaded) + { + var msgBoxResult = MessageBox.Show(Language.strSaveConnectionsFileBeforeOpeningAnother, Language.strSave, MessageBoxButtons.YesNoCancel); + // ReSharper disable once SwitchStatementMissingSomeCases + switch (msgBoxResult) + { + case DialogResult.Yes: + Runtime.SaveConnections(); + break; + case DialogResult.Cancel: + return; + } + } + + Runtime.LoadConnections(true); + } + + private void mMenFileSave_Click(object sender, EventArgs e) + { + Runtime.SaveConnectionsAsync(); + } + + private void mMenFileSaveAs_Click(object sender, EventArgs e) + { + Runtime.SaveConnectionsAs(); + } + + private void mMenFileDelete_Click(object sender, EventArgs e) + { + _connectionTreeWindow.ConnectionTree.DeleteSelectedNode(); + Runtime.SaveConnectionsAsync(); + } + + private void mMenFileRename_Click(object sender, EventArgs e) + { + _connectionTreeWindow.ConnectionTree.RenameSelectedNode(); + Runtime.SaveConnectionsAsync(); + } + + private void mMenFileDuplicate_Click(object sender, EventArgs e) + { + _connectionTreeWindow.ConnectionTree.DuplicateSelectedNode(); + Runtime.SaveConnectionsAsync(); + } + + private void mMenReconnectAll_Click(object sender, EventArgs e) + { + if (Runtime.WindowList == null || Runtime.WindowList.Count == 0) return; + foreach (BaseWindow window in Runtime.WindowList) + { + var connectionWindow = window as ConnectionWindow; + if (connectionWindow == null) + return; + + var icList = new List(); + foreach (Crownwood.Magic.Controls.TabPage tab in connectionWindow.TabController.TabPages) + { + var tag = tab.Tag as InterfaceControl; + if (tag != null) + { + icList.Add(tag); + } + } + + foreach (var i in icList) + { + i.Protocol.Close(); + _connectionInitiator.OpenConnection(i.Info, ConnectionInfo.Force.DoNotJump); + } + + // throw it on the garbage collector + // ReSharper disable once RedundantAssignment + icList = null; + } + } + + private void mMenFileImportFromFile_Click(object sender, EventArgs e) + { + var selectedNode = _connectionTreeWindow.SelectedNode; + ContainerInfo importDestination; + if (selectedNode == null) + importDestination = Runtime.ConnectionTreeModel.RootNodes.First(); + else + importDestination = selectedNode as ContainerInfo ?? selectedNode.Parent; + Import.ImportFromFile(importDestination); + } + + private void mMenFileImportFromActiveDirectory_Click(object sender, EventArgs e) + { + Windows.Show(WindowType.ActiveDirectoryImport); + } + + private void mMenFileImportFromPortScan_Click(object sender, EventArgs e) + { + Windows.Show(WindowType.PortScan); + } + + private void mMenFileExport_Click(object sender, EventArgs e) + { + Export.ExportToFile(Windows.TreeForm.SelectedNode, Runtime.ConnectionTreeModel); + } + + private void mMenFileExit_Click(object sender, EventArgs e) + { + Shutdown.Quit(); + } + + public static SaveFileDialog ConnectionsSaveAsDialog() + { + return new SaveFileDialog + { + CheckPathExists = true, + InitialDirectory = ConnectionsFileInfo.DefaultConnectionsPath, + FileName = ConnectionsFileInfo.DefaultConnectionsFile, + OverwritePrompt = true, + Filter = Language.strFiltermRemoteXML + @"|*.xml|" + Language.strFilterAll + @"|*.*" + }; + } + #endregion + } +} \ No newline at end of file diff --git a/mRemoteV1/UI/Menu/ViewMenu.cs b/mRemoteV1/UI/Menu/ViewMenu.cs new file mode 100644 index 00000000..dcd26c3f --- /dev/null +++ b/mRemoteV1/UI/Menu/ViewMenu.cs @@ -0,0 +1,397 @@ +using System; +using System.Windows.Forms; +using mRemoteNG.App; +using mRemoteNG.UI.Forms; +using mRemoteNG.UI.Window; + +namespace mRemoteNG.UI.Menu +{ + public class ViewMenu : ToolStripMenuItem + { + private ToolStripMenuItem _mMenViewConnectionPanels; + private ToolStripSeparator _mMenViewSep1; + private ToolStripMenuItem _mMenViewConnections; + private ToolStripMenuItem _mMenViewConfig; + private ToolStripMenuItem _mMenViewErrorsAndInfos; + private ToolStripMenuItem _mMenViewScreenshotManager; + private ToolStripMenuItem _mMenViewAddConnectionPanel; + private ToolStripSeparator _mMenViewSep2; + private ToolStripMenuItem _mMenViewFullscreen; + private ToolStripMenuItem _mMenViewExtAppsToolbar; + private ToolStripMenuItem _mMenViewQuickConnectToolbar; + private ToolStripSeparator _mMenViewSep3; + private ToolStripMenuItem _mMenViewJumpTo; + private ToolStripMenuItem _mMenViewJumpToConnectionsConfig; + private ToolStripMenuItem _mMenViewJumpToErrorsInfos; + private ToolStripMenuItem _mMenViewResetLayout; + private ToolStripSeparator _toolStripSeparator1; + private readonly ToolStrip _tsExternalTools; + private readonly ToolStrip _tsQuickConnect; + private readonly FullscreenHandler _fullscreenHandler; + private readonly FrmMain _mainForm; + + + public ViewMenu(ToolStrip tsExternalTools, ToolStrip tsQuickConnect, FullscreenHandler fullscreenHandler, FrmMain mainForm) + { + _tsExternalTools = tsExternalTools; + _tsQuickConnect = tsQuickConnect; + _fullscreenHandler = fullscreenHandler; + _mainForm = mainForm; + + Initialize(); + ApplyLanguage(); + } + + private void Initialize() + { + _mMenViewAddConnectionPanel = new ToolStripMenuItem(); + _mMenViewConnectionPanels = new ToolStripMenuItem(); + _mMenViewSep1 = new ToolStripSeparator(); + _mMenViewConnections = new ToolStripMenuItem(); + _mMenViewConfig = new ToolStripMenuItem(); + _mMenViewErrorsAndInfos = new ToolStripMenuItem(); + _mMenViewScreenshotManager = new ToolStripMenuItem(); + _mMenViewJumpTo = new ToolStripMenuItem(); + _mMenViewJumpToConnectionsConfig = new ToolStripMenuItem(); + _mMenViewJumpToErrorsInfos = new ToolStripMenuItem(); + _mMenViewResetLayout = new ToolStripMenuItem(); + _mMenViewSep2 = new ToolStripSeparator(); + _mMenViewQuickConnectToolbar = new ToolStripMenuItem(); + _mMenViewExtAppsToolbar = new ToolStripMenuItem(); + _mMenViewSep3 = new ToolStripSeparator(); + _mMenViewFullscreen = new ToolStripMenuItem(); + _toolStripSeparator1 = new ToolStripSeparator(); + + // + // mMenView + // + DropDownItems.AddRange(new ToolStripItem[] { + _mMenViewAddConnectionPanel, + _mMenViewConnectionPanels, + _mMenViewSep1, + _mMenViewConnections, + _mMenViewConfig, + _mMenViewErrorsAndInfos, + _mMenViewScreenshotManager, + _toolStripSeparator1, + _mMenViewJumpTo, + _mMenViewResetLayout, + _mMenViewSep2, + _mMenViewQuickConnectToolbar, + _mMenViewExtAppsToolbar, + _mMenViewSep3, + _mMenViewFullscreen}); + Name = "mMenView"; + Size = new System.Drawing.Size(44, 20); + Text = Language.strMenuView; + DropDownOpening += mMenView_DropDownOpening; + // + // mMenViewAddConnectionPanel + // + _mMenViewAddConnectionPanel.Image = Resources.Panel_Add; + _mMenViewAddConnectionPanel.Name = "mMenViewAddConnectionPanel"; + _mMenViewAddConnectionPanel.Size = new System.Drawing.Size(228, 22); + _mMenViewAddConnectionPanel.Text = "Add Connection Panel"; + _mMenViewAddConnectionPanel.Click += mMenViewAddConnectionPanel_Click; + // + // mMenViewConnectionPanels + // + _mMenViewConnectionPanels.Image = Resources.Panels; + _mMenViewConnectionPanels.Name = "mMenViewConnectionPanels"; + _mMenViewConnectionPanels.Size = new System.Drawing.Size(228, 22); + _mMenViewConnectionPanels.Text = "Connection Panels"; + // + // mMenViewSep1 + // + _mMenViewSep1.Name = "mMenViewSep1"; + _mMenViewSep1.Size = new System.Drawing.Size(225, 6); + // + // mMenViewConnections + // + _mMenViewConnections.Checked = true; + _mMenViewConnections.CheckState = CheckState.Checked; + _mMenViewConnections.Image = Resources.Root; + _mMenViewConnections.Name = "mMenViewConnections"; + _mMenViewConnections.Size = new System.Drawing.Size(228, 22); + _mMenViewConnections.Text = "Connections"; + _mMenViewConnections.Click += mMenViewConnections_Click; + // + // mMenViewConfig + // + _mMenViewConfig.Checked = true; + _mMenViewConfig.CheckState = CheckState.Checked; + _mMenViewConfig.Image = Resources.cog; + _mMenViewConfig.Name = "mMenViewConfig"; + _mMenViewConfig.Size = new System.Drawing.Size(228, 22); + _mMenViewConfig.Text = "Config"; + _mMenViewConfig.Click += mMenViewConfig_Click; + // + // mMenViewErrorsAndInfos + // + _mMenViewErrorsAndInfos.Checked = true; + _mMenViewErrorsAndInfos.CheckState = CheckState.Checked; + _mMenViewErrorsAndInfos.Image = Resources.ErrorsAndInfos; + _mMenViewErrorsAndInfos.Name = "mMenViewErrorsAndInfos"; + _mMenViewErrorsAndInfos.Size = new System.Drawing.Size(228, 22); + _mMenViewErrorsAndInfos.Text = "Errors and Infos"; + _mMenViewErrorsAndInfos.Click += mMenViewErrorsAndInfos_Click; + // + // mMenViewScreenshotManager + // + _mMenViewScreenshotManager.Image = Resources.Screenshot; + _mMenViewScreenshotManager.Name = "mMenViewScreenshotManager"; + _mMenViewScreenshotManager.Size = new System.Drawing.Size(228, 22); + _mMenViewScreenshotManager.Text = "Screenshot Manager"; + _mMenViewScreenshotManager.Click += mMenViewScreenshotManager_Click; + // + // ToolStripSeparator1 + // + _toolStripSeparator1.Name = "ToolStripSeparator1"; + _toolStripSeparator1.Size = new System.Drawing.Size(225, 6); + // + // mMenViewJumpTo + // + _mMenViewJumpTo.DropDownItems.AddRange(new ToolStripItem[] { + _mMenViewJumpToConnectionsConfig, + _mMenViewJumpToErrorsInfos}); + _mMenViewJumpTo.Image = Resources.JumpTo; + _mMenViewJumpTo.Name = "mMenViewJumpTo"; + _mMenViewJumpTo.Size = new System.Drawing.Size(228, 22); + _mMenViewJumpTo.Text = "Jump To"; + // + // mMenViewJumpToConnectionsConfig + // + _mMenViewJumpToConnectionsConfig.Image = Resources.Root; + _mMenViewJumpToConnectionsConfig.Name = "mMenViewJumpToConnectionsConfig"; + _mMenViewJumpToConnectionsConfig.ShortcutKeys = ((Keys)(((Keys.Control | Keys.Alt) + | Keys.C))); + _mMenViewJumpToConnectionsConfig.Size = new System.Drawing.Size(258, 22); + _mMenViewJumpToConnectionsConfig.Text = "Connections && Config"; + _mMenViewJumpToConnectionsConfig.Click += mMenViewJumpToConnectionsConfig_Click; + // + // mMenViewJumpToErrorsInfos + // + _mMenViewJumpToErrorsInfos.Image = Resources.InformationSmall; + _mMenViewJumpToErrorsInfos.Name = "mMenViewJumpToErrorsInfos"; + _mMenViewJumpToErrorsInfos.ShortcutKeys = ((Keys)(((Keys.Control | Keys.Alt) + | Keys.E))); + _mMenViewJumpToErrorsInfos.Size = new System.Drawing.Size(258, 22); + _mMenViewJumpToErrorsInfos.Text = "Errors && Infos"; + _mMenViewJumpToErrorsInfos.Click += mMenViewJumpToErrorsInfos_Click; + // + // mMenViewResetLayout + // + _mMenViewResetLayout.Image = Resources.application_side_tree; + _mMenViewResetLayout.Name = "mMenViewResetLayout"; + _mMenViewResetLayout.Size = new System.Drawing.Size(228, 22); + _mMenViewResetLayout.Text = "Reset Layout"; + _mMenViewResetLayout.Click += mMenViewResetLayout_Click; + // + // mMenViewSep2 + // + _mMenViewSep2.Name = "mMenViewSep2"; + _mMenViewSep2.Size = new System.Drawing.Size(225, 6); + // + // mMenViewQuickConnectToolbar + // + _mMenViewQuickConnectToolbar.Image = Resources.Play_Quick; + _mMenViewQuickConnectToolbar.Name = "mMenViewQuickConnectToolbar"; + _mMenViewQuickConnectToolbar.Size = new System.Drawing.Size(228, 22); + _mMenViewQuickConnectToolbar.Text = "Quick Connect Toolbar"; + _mMenViewQuickConnectToolbar.Click += mMenViewQuickConnectToolbar_Click; + // + // mMenViewExtAppsToolbar + // + _mMenViewExtAppsToolbar.Image = Resources.ExtApp; + _mMenViewExtAppsToolbar.Name = "mMenViewExtAppsToolbar"; + _mMenViewExtAppsToolbar.Size = new System.Drawing.Size(228, 22); + _mMenViewExtAppsToolbar.Text = "External Applications Toolbar"; + _mMenViewExtAppsToolbar.Click += mMenViewExtAppsToolbar_Click; + // + // mMenViewSep3 + // + _mMenViewSep3.Name = "mMenViewSep3"; + _mMenViewSep3.Size = new System.Drawing.Size(225, 6); + // + // mMenViewFullscreen + // + _mMenViewFullscreen.Image = Resources.arrow_out; + _mMenViewFullscreen.Name = "mMenViewFullscreen"; + _mMenViewFullscreen.ShortcutKeys = Keys.F11; + _mMenViewFullscreen.Size = new System.Drawing.Size(228, 22); + _mMenViewFullscreen.Text = "Full Screen"; + _mMenViewFullscreen.Checked = Settings.Default.MainFormKiosk; + _mMenViewFullscreen.Click += mMenViewFullscreen_Click; + } + + private void ApplyLanguage() + { + _mMenViewAddConnectionPanel.Text = Language.strMenuAddConnectionPanel; + _mMenViewConnectionPanels.Text = Language.strMenuConnectionPanels; + _mMenViewConnections.Text = Language.strMenuConnections; + _mMenViewConfig.Text = Language.strMenuConfig; + _mMenViewErrorsAndInfos.Text = Language.strMenuNotifications; + _mMenViewScreenshotManager.Text = Language.strScreenshots; + _mMenViewJumpTo.Text = Language.strMenuJumpTo; + _mMenViewJumpToConnectionsConfig.Text = Language.strMenuConnectionsAndConfig; + _mMenViewJumpToErrorsInfos.Text = Language.strMenuNotifications; + _mMenViewResetLayout.Text = Language.strMenuResetLayout; + _mMenViewQuickConnectToolbar.Text = Language.strMenuQuickConnectToolbar; + _mMenViewExtAppsToolbar.Text = Language.strMenuExternalToolsToolbar; + _mMenViewFullscreen.Text = Language.strMenuFullScreen; + } + + #region View + private void mMenView_DropDownOpening(object sender, EventArgs e) + { + _mMenViewConnections.Checked = !Windows.TreeForm.IsHidden; + _mMenViewConfig.Checked = !Windows.ConfigForm.IsHidden; + _mMenViewErrorsAndInfos.Checked = !Windows.ErrorsForm.IsHidden; + _mMenViewScreenshotManager.Checked = !Windows.ScreenshotForm.IsHidden; + + _mMenViewExtAppsToolbar.Checked = _tsExternalTools.Visible; + _mMenViewQuickConnectToolbar.Checked = _tsQuickConnect.Visible; + + _mMenViewConnectionPanels.DropDownItems.Clear(); + + for (var i = 0; i <= Runtime.WindowList.Count - 1; i++) + { + var tItem = new ToolStripMenuItem(Runtime.WindowList[i].Text, + Runtime.WindowList[i].Icon.ToBitmap(), ConnectionPanelMenuItem_Click) + { Tag = Runtime.WindowList[i] }; + _mMenViewConnectionPanels.DropDownItems.Add(tItem); + } + + _mMenViewConnectionPanels.Enabled = _mMenViewConnectionPanels.DropDownItems.Count > 0; + } + + private void ConnectionPanelMenuItem_Click(object sender, EventArgs e) + { + ((BaseWindow)((ToolStripMenuItem)sender).Tag).Show(_mainForm.pnlDock); + ((BaseWindow)((ToolStripMenuItem)sender).Tag).Focus(); + } + + private void mMenViewConnections_Click(object sender, EventArgs e) + { + if (_mMenViewConnections.Checked == false) + { + Windows.TreeForm.Show(_mainForm.pnlDock); + _mMenViewConnections.Checked = true; + } + else + { + Windows.TreeForm.Hide(); + _mMenViewConnections.Checked = false; + } + } + + private void mMenViewConfig_Click(object sender, EventArgs e) + { + if (_mMenViewConfig.Checked == false) + { + Windows.ConfigForm.Show(_mainForm.pnlDock); + _mMenViewConfig.Checked = true; + } + else + { + Windows.ConfigForm.Hide(); + _mMenViewConfig.Checked = false; + } + } + + private void mMenViewErrorsAndInfos_Click(object sender, EventArgs e) + { + if (_mMenViewErrorsAndInfos.Checked == false) + { + Windows.ErrorsForm.Show(_mainForm.pnlDock); + _mMenViewErrorsAndInfos.Checked = true; + } + else + { + Windows.ErrorsForm.Hide(); + _mMenViewErrorsAndInfos.Checked = false; + } + } + + private void mMenViewScreenshotManager_Click(object sender, EventArgs e) + { + if (_mMenViewScreenshotManager.Checked == false) + { + Windows.ScreenshotForm.Show(_mainForm.pnlDock); + _mMenViewScreenshotManager.Checked = true; + } + else + { + Windows.ScreenshotForm.Hide(); + _mMenViewScreenshotManager.Checked = false; + } + } + + private void mMenViewJumpToConnectionsConfig_Click(object sender, EventArgs e) + { + if (_mainForm.pnlDock.ActiveContent == Windows.TreeForm) + { + Windows.ConfigForm.Activate(); + } + else + { + Windows.TreeForm.Activate(); + } + } + + private void mMenViewJumpToErrorsInfos_Click(object sender, EventArgs e) + { + Windows.ErrorsForm.Activate(); + } + + private void mMenViewResetLayout_Click(object sender, EventArgs e) + { + var msgBoxResult = MessageBox.Show(Language.strConfirmResetLayout, string.Empty, MessageBoxButtons.YesNo, + MessageBoxIcon.Question); + if (msgBoxResult == DialogResult.Yes) + { + _mainForm.SetDefaultLayout(); + } + } + + private void mMenViewAddConnectionPanel_Click(object sender, EventArgs e) + { + Runtime.AddPanel(); + } + + private void mMenViewExtAppsToolbar_Click(object sender, EventArgs e) + { + if (_mMenViewExtAppsToolbar.Checked == false) + { + _tsExternalTools.Visible = true; + _mMenViewExtAppsToolbar.Checked = true; + } + else + { + _tsExternalTools.Visible = false; + _mMenViewExtAppsToolbar.Checked = false; + } + } + + private void mMenViewQuickConnectToolbar_Click(object sender, EventArgs e) + { + if (_mMenViewQuickConnectToolbar.Checked == false) + { + _tsQuickConnect.Visible = true; + _mMenViewQuickConnectToolbar.Checked = true; + } + else + { + _tsQuickConnect.Visible = false; + _mMenViewQuickConnectToolbar.Checked = false; + } + } + + private void mMenViewFullscreen_Click(object sender, EventArgs e) + { + _fullscreenHandler.Value = !_fullscreenHandler.Value; + _mMenViewFullscreen.Checked = _fullscreenHandler.Value; + } + #endregion + } +} \ No newline at end of file diff --git a/mRemoteV1/mRemoteV1.csproj b/mRemoteV1/mRemoteV1.csproj index a902315e..a0de2459 100644 --- a/mRemoteV1/mRemoteV1.csproj +++ b/mRemoteV1/mRemoteV1.csproj @@ -506,7 +506,13 @@ Component + + Component + + + Component + Component