From 95f60c78b399566af046dd976ff7cc4143a1b6df Mon Sep 17 00:00:00 2001 From: mkw-ssd Date: Fri, 1 Mar 2019 16:22:12 +0800 Subject: [PATCH 01/10] Add show/hide main menu function to connection tree toolbar. --- mRemoteV1/App/Runtime.cs | 20 +- .../Resources/Language/Language.Designer.cs | 11 + mRemoteV1/Resources/Language/Language.resx | 119 ++-- .../Window/ConnectionTreeWindow.Designer.cs | 540 ++++++++++-------- mRemoteV1/UI/Window/ConnectionTreeWindow.cs | 47 +- 5 files changed, 446 insertions(+), 291 deletions(-) diff --git a/mRemoteV1/App/Runtime.cs b/mRemoteV1/App/Runtime.cs index 2c86269c8..f4be16022 100644 --- a/mRemoteV1/App/Runtime.cs +++ b/mRemoteV1/App/Runtime.cs @@ -1,4 +1,4 @@ -using mRemoteNG.App.Info; +using mRemoteNG.App.Info; using mRemoteNG.Config.Putty; using mRemoteNG.Connection; using mRemoteNG.Credential; @@ -216,8 +216,22 @@ namespace mRemoteNG.App Application.Exit(); } } - } - + } + + #endregion + + #region Main Form Menu Visible + public static bool MainFormMenuVisible + { + get + { + return FrmMain.Default.msMain.Visible; + } + set + { + FrmMain.Default.msMain.Visible = value; + } + } #endregion } } \ No newline at end of file diff --git a/mRemoteV1/Resources/Language/Language.Designer.cs b/mRemoteV1/Resources/Language/Language.Designer.cs index d0431b915..ff237b9f8 100644 --- a/mRemoteV1/Resources/Language/Language.Designer.cs +++ b/mRemoteV1/Resources/Language/Language.Designer.cs @@ -7965,5 +7965,16 @@ namespace mRemoteNG { return ResourceManager.GetString("Unlocking", resourceCulture); } } + + /// + /// Looks up a localized string similar to Show/Hide Main Menu. + /// + internal static string strShowHideMainMenu + { + get + { + return ResourceManager.GetString("strShowHideMainMenu", resourceCulture); + } + } } } diff --git a/mRemoteV1/Resources/Language/Language.resx b/mRemoteV1/Resources/Language/Language.resx index 6cf2ec228..41d07afb2 100644 --- a/mRemoteV1/Resources/Language/Language.resx +++ b/mRemoteV1/Resources/Language/Language.resx @@ -1,63 +1,63 @@  - @@ -2774,5 +2774,8 @@ Development Channel includes Alphas, Betas & Release Candidates. Favorites + + + Show/Hide Main Menu \ No newline at end of file diff --git a/mRemoteV1/UI/Window/ConnectionTreeWindow.Designer.cs b/mRemoteV1/UI/Window/ConnectionTreeWindow.Designer.cs index 821c74960..c2280765a 100644 --- a/mRemoteV1/UI/Window/ConnectionTreeWindow.Designer.cs +++ b/mRemoteV1/UI/Window/ConnectionTreeWindow.Designer.cs @@ -1,229 +1,311 @@ - - -using mRemoteNG.Connection; -using mRemoteNG.Tree; - -namespace mRemoteNG.UI.Window -{ - public partial class ConnectionTreeWindow : BaseWindow - { - #region Windows Form Designer generated code - internal System.Windows.Forms.MenuStrip msMain; - internal System.Windows.Forms.ToolStripMenuItem mMenViewExpandAllFolders; - internal System.Windows.Forms.ToolStripMenuItem mMenViewCollapseAllFolders; - internal System.Windows.Forms.ToolStripMenuItem mMenSortAscending; - internal System.Windows.Forms.ToolStripMenuItem mMenAddConnection; - internal System.Windows.Forms.ToolStripMenuItem mMenAddFolder; - public System.Windows.Forms.TreeView tvConnections; - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - mRemoteNG.Tree.ConnectionTreeModel connectionTreeModel2 = new mRemoteNG.Tree.ConnectionTreeModel(); - mRemoteNG.Tree.TreeNodeCompositeClickHandler treeNodeCompositeClickHandler3 = new mRemoteNG.Tree.TreeNodeCompositeClickHandler(); - mRemoteNG.Tree.AlwaysConfirmYes alwaysConfirmYes2 = new mRemoteNG.Tree.AlwaysConfirmYes(); - mRemoteNG.Tree.TreeNodeCompositeClickHandler treeNodeCompositeClickHandler4 = new mRemoteNG.Tree.TreeNodeCompositeClickHandler(); - this.olvConnections = new mRemoteNG.UI.Controls.ConnectionTree(); - this.msMain = new System.Windows.Forms.MenuStrip(); - this.mMenAddConnection = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenAddFolder = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenViewExpandAllFolders = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenViewCollapseAllFolders = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenSortAscending = new System.Windows.Forms.ToolStripMenuItem(); - this.vsToolStripExtender = new WeifenLuo.WinFormsUI.Docking.VisualStudioToolStripExtender(this.components); - this.PictureBoxSearch = new mRemoteNG.UI.Controls.Base.NGPictureBox(this.components); - this.txtSearch = new mRemoteNG.UI.Controls.Base.NGTextBox(); - this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); - this.mMenFavorites = new System.Windows.Forms.ToolStripMenuItem(); - ((System.ComponentModel.ISupportInitialize)(this.olvConnections)).BeginInit(); - this.msMain.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.PictureBoxSearch)).BeginInit(); - this.tableLayoutPanel1.SuspendLayout(); - this.SuspendLayout(); - // - // olvConnections - // - this.olvConnections.AllowDrop = true; - this.olvConnections.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.olvConnections.CellEditUseWholeCell = false; - this.olvConnections.ConnectionTreeModel = connectionTreeModel2; - this.olvConnections.Cursor = System.Windows.Forms.Cursors.Default; - this.olvConnections.Dock = System.Windows.Forms.DockStyle.Fill; - treeNodeCompositeClickHandler3.ClickHandlers = new mRemoteNG.Tree.ITreeNodeClickHandler[0]; - this.olvConnections.DoubleClickHandler = treeNodeCompositeClickHandler3; - this.olvConnections.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.olvConnections.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None; - this.olvConnections.HideSelection = false; - this.olvConnections.IsSimpleDragSource = true; - this.olvConnections.IsSimpleDropSink = true; - this.olvConnections.LabelEdit = true; - this.olvConnections.Location = new System.Drawing.Point(0, 24); - this.olvConnections.MultiSelect = false; - this.olvConnections.Name = "olvConnections"; - this.olvConnections.NodeDeletionConfirmer = alwaysConfirmYes2; - this.olvConnections.PostSetupActions = new mRemoteNG.UI.Controls.IConnectionTreeDelegate[0]; - this.olvConnections.SelectedBackColor = System.Drawing.SystemColors.Highlight; - this.olvConnections.SelectedForeColor = System.Drawing.SystemColors.HighlightText; - this.olvConnections.ShowGroups = false; - treeNodeCompositeClickHandler4.ClickHandlers = new mRemoteNG.Tree.ITreeNodeClickHandler[0]; - this.olvConnections.SingleClickHandler = treeNodeCompositeClickHandler4; - this.olvConnections.Size = new System.Drawing.Size(204, 366); - this.olvConnections.TabIndex = 20; - this.olvConnections.UnfocusedSelectedBackColor = System.Drawing.SystemColors.Highlight; - this.olvConnections.UnfocusedSelectedForeColor = System.Drawing.SystemColors.HighlightText; - this.olvConnections.UseCompatibleStateImageBehavior = false; - this.olvConnections.UseOverlays = false; - this.olvConnections.View = System.Windows.Forms.View.Details; - this.olvConnections.VirtualMode = true; - // - // msMain - // - this.msMain.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.msMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.mMenAddConnection, - this.mMenAddFolder, - this.mMenViewExpandAllFolders, - this.mMenViewCollapseAllFolders, - this.mMenSortAscending, - this.mMenFavorites}); - this.msMain.Location = new System.Drawing.Point(0, 0); - this.msMain.Name = "msMain"; - this.msMain.Padding = new System.Windows.Forms.Padding(0, 2, 0, 2); - this.msMain.ShowItemToolTips = true; - this.msMain.Size = new System.Drawing.Size(204, 24); - this.msMain.TabIndex = 10; - this.msMain.Text = "MenuStrip1"; - // - // mMenAddConnection - // - this.mMenAddConnection.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.mMenAddConnection.Image = global::mRemoteNG.Resources.Connection_Add; - this.mMenAddConnection.Name = "mMenAddConnection"; - this.mMenAddConnection.Padding = new System.Windows.Forms.Padding(0, 0, 4, 0); - this.mMenAddConnection.Size = new System.Drawing.Size(24, 20); - this.mMenAddConnection.Click += new System.EventHandler(this.cMenTreeAddConnection_Click); - // - // mMenAddFolder - // - this.mMenAddFolder.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.mMenAddFolder.Image = global::mRemoteNG.Resources.Folder_Add; - this.mMenAddFolder.Name = "mMenAddFolder"; - this.mMenAddFolder.Size = new System.Drawing.Size(28, 20); - this.mMenAddFolder.Click += new System.EventHandler(this.cMenTreeAddFolder_Click); - // - // mMenViewExpandAllFolders - // - this.mMenViewExpandAllFolders.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.mMenViewExpandAllFolders.Image = global::mRemoteNG.Resources.Expand; - this.mMenViewExpandAllFolders.Name = "mMenViewExpandAllFolders"; - this.mMenViewExpandAllFolders.Size = new System.Drawing.Size(28, 20); - this.mMenViewExpandAllFolders.Text = "Expand all folders"; - // - // mMenViewCollapseAllFolders - // - this.mMenViewCollapseAllFolders.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.mMenViewCollapseAllFolders.Image = global::mRemoteNG.Resources.Collapse; - this.mMenViewCollapseAllFolders.Name = "mMenViewCollapseAllFolders"; - this.mMenViewCollapseAllFolders.Size = new System.Drawing.Size(28, 20); - this.mMenViewCollapseAllFolders.Text = "Collapse all folders"; - // - // mMenSortAscending - // - this.mMenSortAscending.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.mMenSortAscending.Image = global::mRemoteNG.Resources.Sort_AZ; - this.mMenSortAscending.Name = "mMenSortAscending"; - this.mMenSortAscending.Size = new System.Drawing.Size(28, 20); - // - // vsToolStripExtender - // - this.vsToolStripExtender.DefaultRenderer = null; - // - // PictureBoxSearch - // - this.PictureBoxSearch.Dock = System.Windows.Forms.DockStyle.Fill; - this.PictureBoxSearch.Image = global::mRemoteNG.Resources.Search; - this.PictureBoxSearch.Location = new System.Drawing.Point(0, 0); - this.PictureBoxSearch.Margin = new System.Windows.Forms.Padding(0); - this.PictureBoxSearch.Name = "PictureBoxSearch"; - this.PictureBoxSearch.Size = new System.Drawing.Size(26, 21); - this.PictureBoxSearch.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.PictureBoxSearch.TabIndex = 1; - this.PictureBoxSearch.TabStop = false; - // - // txtSearch - // - this.txtSearch.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtSearch.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.txtSearch.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.txtSearch.ForeColor = System.Drawing.SystemColors.GrayText; - this.txtSearch.Location = new System.Drawing.Point(26, 3); - this.txtSearch.Margin = new System.Windows.Forms.Padding(0); - this.txtSearch.Name = "txtSearch"; - this.txtSearch.Size = new System.Drawing.Size(178, 15); - this.txtSearch.TabIndex = 30; - this.txtSearch.TabStop = false; - this.txtSearch.Text = "Search"; - this.txtSearch.TextChanged += new System.EventHandler(this.txtSearch_TextChanged); - this.txtSearch.GotFocus += new System.EventHandler(this.txtSearch_GotFocus); - this.txtSearch.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtSearch_KeyDown); - this.txtSearch.LostFocus += new System.EventHandler(this.txtSearch_LostFocus); - // - // tableLayoutPanel1 - // - this.tableLayoutPanel1.BackColor = System.Drawing.SystemColors.Control; - this.tableLayoutPanel1.ColumnCount = 2; - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 26F)); - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel1.Controls.Add(this.PictureBoxSearch, 0, 0); - this.tableLayoutPanel1.Controls.Add(this.txtSearch); - this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Bottom; - this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 390); - this.tableLayoutPanel1.Name = "tableLayoutPanel1"; - this.tableLayoutPanel1.RowCount = 1; - this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel1.Size = new System.Drawing.Size(204, 21); - this.tableLayoutPanel1.TabIndex = 32; - // - // mMenFavorites - // - this.mMenFavorites.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.mMenFavorites.Image = global::mRemoteNG.Resources.star; - this.mMenFavorites.Name = "mMenFavorites"; - this.mMenFavorites.Size = new System.Drawing.Size(28, 20); - this.mMenFavorites.Text = "Favorites"; - // - // ConnectionTreeWindow - // - this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; - this.ClientSize = new System.Drawing.Size(204, 411); - this.Controls.Add(this.olvConnections); - this.Controls.Add(this.tableLayoutPanel1); - this.Controls.Add(this.msMain); - this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.HideOnClose = true; - this.Icon = global::mRemoteNG.Resources.Root_Icon; - this.Name = "ConnectionTreeWindow"; - this.TabText = "Connections"; - this.Text = "Connections"; - this.Load += new System.EventHandler(this.Tree_Load); - ((System.ComponentModel.ISupportInitialize)(this.olvConnections)).EndInit(); - this.msMain.ResumeLayout(false); - this.msMain.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.PictureBoxSearch)).EndInit(); - this.tableLayoutPanel1.ResumeLayout(false); - this.tableLayoutPanel1.PerformLayout(); - this.ResumeLayout(false); - this.PerformLayout(); - - } - #endregion - - private System.ComponentModel.IContainer components; - private Controls.ConnectionTree olvConnections; - private WeifenLuo.WinFormsUI.Docking.VisualStudioToolStripExtender vsToolStripExtender; - internal Controls.Base.NGPictureBox PictureBoxSearch; - internal Controls.Base.NGTextBox txtSearch; - public System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; - internal System.Windows.Forms.ToolStripMenuItem mMenFavorites; - } -} + + +using mRemoteNG.Connection; +using mRemoteNG.Tree; + +namespace mRemoteNG.UI.Window +{ + public partial class ConnectionTreeWindow : BaseWindow + { + #region Windows Form Designer generated code + internal System.Windows.Forms.MenuStrip msMain; + internal System.Windows.Forms.ToolStripMenuItem mMenViewExpandAllFolders; + internal System.Windows.Forms.ToolStripMenuItem mMenViewCollapseAllFolders; + internal System.Windows.Forms.ToolStripMenuItem mMenSortAscending; + internal System.Windows.Forms.ToolStripMenuItem mMenAddConnection; + internal System.Windows.Forms.ToolStripMenuItem mMenAddFolder; + internal System.Windows.Forms.ToolStripMenuItem mMenOptions; + internal System.Windows.Forms.ToolStripMenuItem mMenOptionsOpenConnFile; + internal System.Windows.Forms.ToolStripMenuItem mMenOptionsSaveConnFile; + internal System.Windows.Forms.ToolStripSeparator toolStripSeparator1; + internal System.Windows.Forms.ToolStripMenuItem mMenOptionsShowHideMenu; + internal System.Windows.Forms.ToolStripMenuItem mMenOptionsOpenOptions; + internal System.Windows.Forms.ToolStripSeparator toolStripSeparator2; + internal System.Windows.Forms.ToolStripMenuItem mMenOptionsExit; + public System.Windows.Forms.TreeView tvConnections; + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + mRemoteNG.Tree.ConnectionTreeModel connectionTreeModel2 = new mRemoteNG.Tree.ConnectionTreeModel(); + mRemoteNG.Tree.TreeNodeCompositeClickHandler treeNodeCompositeClickHandler3 = new mRemoteNG.Tree.TreeNodeCompositeClickHandler(); + mRemoteNG.Tree.AlwaysConfirmYes alwaysConfirmYes2 = new mRemoteNG.Tree.AlwaysConfirmYes(); + mRemoteNG.Tree.TreeNodeCompositeClickHandler treeNodeCompositeClickHandler4 = new mRemoteNG.Tree.TreeNodeCompositeClickHandler(); + this.olvConnections = new mRemoteNG.UI.Controls.ConnectionTree(); + this.msMain = new System.Windows.Forms.MenuStrip(); + this.mMenAddConnection = new System.Windows.Forms.ToolStripMenuItem(); + this.mMenAddFolder = new System.Windows.Forms.ToolStripMenuItem(); + this.mMenViewExpandAllFolders = new System.Windows.Forms.ToolStripMenuItem(); + this.mMenViewCollapseAllFolders = new System.Windows.Forms.ToolStripMenuItem(); + this.mMenSortAscending = new System.Windows.Forms.ToolStripMenuItem(); + this.mMenOptions = new System.Windows.Forms.ToolStripMenuItem(); + this.mMenOptionsOpenConnFile = new System.Windows.Forms.ToolStripMenuItem(); + this.mMenOptionsSaveConnFile = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.mMenOptionsShowHideMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.mMenOptionsOpenOptions = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.mMenOptionsExit = new System.Windows.Forms.ToolStripMenuItem(); + this.vsToolStripExtender = new WeifenLuo.WinFormsUI.Docking.VisualStudioToolStripExtender(this.components); + this.PictureBoxSearch = new mRemoteNG.UI.Controls.Base.NGPictureBox(this.components); + this.txtSearch = new mRemoteNG.UI.Controls.Base.NGTextBox(); + this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.mMenFavorites = new System.Windows.Forms.ToolStripMenuItem(); + ((System.ComponentModel.ISupportInitialize)(this.olvConnections)).BeginInit(); + this.msMain.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PictureBoxSearch)).BeginInit(); + this.tableLayoutPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // olvConnections + // + this.olvConnections.AllowDrop = true; + this.olvConnections.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.olvConnections.CellEditUseWholeCell = false; + this.olvConnections.ConnectionTreeModel = connectionTreeModel2; + this.olvConnections.Cursor = System.Windows.Forms.Cursors.Default; + this.olvConnections.Dock = System.Windows.Forms.DockStyle.Fill; + treeNodeCompositeClickHandler3.ClickHandlers = new mRemoteNG.Tree.ITreeNodeClickHandler[0]; + this.olvConnections.DoubleClickHandler = treeNodeCompositeClickHandler3; + this.olvConnections.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.olvConnections.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None; + this.olvConnections.HideSelection = false; + this.olvConnections.IsSimpleDragSource = true; + this.olvConnections.IsSimpleDropSink = true; + this.olvConnections.LabelEdit = true; + this.olvConnections.Location = new System.Drawing.Point(0, 24); + this.olvConnections.MultiSelect = false; + this.olvConnections.Name = "olvConnections"; + this.olvConnections.NodeDeletionConfirmer = alwaysConfirmYes2; + this.olvConnections.PostSetupActions = new mRemoteNG.UI.Controls.IConnectionTreeDelegate[0]; + this.olvConnections.SelectedBackColor = System.Drawing.SystemColors.Highlight; + this.olvConnections.SelectedForeColor = System.Drawing.SystemColors.HighlightText; + this.olvConnections.ShowGroups = false; + treeNodeCompositeClickHandler4.ClickHandlers = new mRemoteNG.Tree.ITreeNodeClickHandler[0]; + this.olvConnections.SingleClickHandler = treeNodeCompositeClickHandler4; + this.olvConnections.Size = new System.Drawing.Size(204, 366); + this.olvConnections.TabIndex = 20; + this.olvConnections.UnfocusedSelectedBackColor = System.Drawing.SystemColors.Highlight; + this.olvConnections.UnfocusedSelectedForeColor = System.Drawing.SystemColors.HighlightText; + this.olvConnections.UseCompatibleStateImageBehavior = false; + this.olvConnections.UseOverlays = false; + this.olvConnections.View = System.Windows.Forms.View.Details; + this.olvConnections.VirtualMode = true; + // + // msMain + // + this.msMain.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.msMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.mMenAddConnection, + this.mMenAddFolder, + this.mMenViewExpandAllFolders, + this.mMenViewCollapseAllFolders, + this.mMenSortAscending, + this.mMenFavorites, + this.mMenOptions}); + this.msMain.Location = new System.Drawing.Point(0, 0); + this.msMain.Name = "msMain"; + this.msMain.Padding = new System.Windows.Forms.Padding(0, 2, 0, 2); + this.msMain.ShowItemToolTips = true; + this.msMain.Size = new System.Drawing.Size(204, 24); + this.msMain.TabIndex = 10; + this.msMain.Text = "MenuStrip1"; + // + // mMenAddConnection + // + this.mMenAddConnection.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.mMenAddConnection.Image = global::mRemoteNG.Resources.Connection_Add; + this.mMenAddConnection.Name = "mMenAddConnection"; + this.mMenAddConnection.Padding = new System.Windows.Forms.Padding(0, 0, 4, 0); + this.mMenAddConnection.Size = new System.Drawing.Size(24, 20); + this.mMenAddConnection.Click += new System.EventHandler(this.cMenTreeAddConnection_Click); + // + // mMenAddFolder + // + this.mMenAddFolder.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.mMenAddFolder.Image = global::mRemoteNG.Resources.Folder_Add; + this.mMenAddFolder.Name = "mMenAddFolder"; + this.mMenAddFolder.Size = new System.Drawing.Size(28, 20); + this.mMenAddFolder.Click += new System.EventHandler(this.cMenTreeAddFolder_Click); + // + // mMenViewExpandAllFolders + // + this.mMenViewExpandAllFolders.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.mMenViewExpandAllFolders.Image = global::mRemoteNG.Resources.Expand; + this.mMenViewExpandAllFolders.Name = "mMenViewExpandAllFolders"; + this.mMenViewExpandAllFolders.Size = new System.Drawing.Size(28, 20); + this.mMenViewExpandAllFolders.Text = "Expand all folders"; + // + // mMenViewCollapseAllFolders + // + this.mMenViewCollapseAllFolders.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.mMenViewCollapseAllFolders.Image = global::mRemoteNG.Resources.Collapse; + this.mMenViewCollapseAllFolders.Name = "mMenViewCollapseAllFolders"; + this.mMenViewCollapseAllFolders.Size = new System.Drawing.Size(28, 20); + this.mMenViewCollapseAllFolders.Text = "Collapse all folders"; + // + // mMenSortAscending + // + this.mMenSortAscending.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.mMenSortAscending.Image = global::mRemoteNG.Resources.Sort_AZ; + this.mMenSortAscending.Name = "mMenSortAscending"; + this.mMenSortAscending.Size = new System.Drawing.Size(28, 20); + // + // mMenOptions + // + this.mMenOptions.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.mMenOptions.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.mMenOptionsOpenConnFile, + this.mMenOptionsSaveConnFile, + this.toolStripSeparator1, + this.mMenOptionsShowHideMenu, + this.mMenOptionsOpenOptions, + this.toolStripSeparator2, + this.mMenOptionsExit}); + this.mMenOptions.Image = global::mRemoteNG.Resources.cog; + this.mMenOptions.Name = "mMenOptions"; + this.mMenOptions.Size = new System.Drawing.Size(28, 20); + // + // mMenOptionsOpenConnFile + // + this.mMenOptionsOpenConnFile.Image = global::mRemoteNG.Resources.Connections_Load; + this.mMenOptionsOpenConnFile.Name = "mMenOptionsOpenConnFile"; + this.mMenOptionsOpenConnFile.Size = new System.Drawing.Size(196, 22); + this.mMenOptionsOpenConnFile.Text = "Open Connection File..."; + this.mMenOptionsOpenConnFile.Click += new System.EventHandler(this.mMenOptionsOpenConnFile_Click); + // + // mMenOptionsSaveConnFile + // + this.mMenOptionsSaveConnFile.Image = global::mRemoteNG.Resources.Connections_Save; + this.mMenOptionsSaveConnFile.Name = "mMenOptionsSaveConnFile"; + this.mMenOptionsSaveConnFile.Size = new System.Drawing.Size(196, 22); + this.mMenOptionsSaveConnFile.Text = "Save Connection File"; + this.mMenOptionsSaveConnFile.Click += new System.EventHandler(this.mMenOptionsSaveConnFile_Click); + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(193, 6); + // + // mMenOptionsShowHideMenu + // + this.mMenOptionsShowHideMenu.Image = global::mRemoteNG.Resources.application_side_tree; + this.mMenOptionsShowHideMenu.Name = "mMenOptionsShowHideMenu"; + this.mMenOptionsShowHideMenu.Size = new System.Drawing.Size(196, 22); + this.mMenOptionsShowHideMenu.Text = "Show/Hide Main Menu"; + this.mMenOptionsShowHideMenu.Click += new System.EventHandler(this.mMenOptionsShowHideMenu_Click); + // + // mMenOptionsOpenOptions + // + this.mMenOptionsOpenOptions.Image = global::mRemoteNG.Resources.Options; + this.mMenOptionsOpenOptions.Name = "mMenOptionsOpenOptions"; + this.mMenOptionsOpenOptions.Size = new System.Drawing.Size(196, 22); + this.mMenOptionsOpenOptions.Text = "Options"; + this.mMenOptionsOpenOptions.Click += new System.EventHandler(this.mMenOptionsOpenOptions_Click); + // + // toolStripSeparator2 + // + this.toolStripSeparator2.Name = "toolStripSeparator2"; + this.toolStripSeparator2.Size = new System.Drawing.Size(193, 6); + // + // mMenOptionsExit + // + this.mMenOptionsExit.Image = global::mRemoteNG.Resources.Quit; + this.mMenOptionsExit.Name = "mMenOptionsExit"; + this.mMenOptionsExit.Size = new System.Drawing.Size(196, 22); + this.mMenOptionsExit.Text = "Exit"; + this.mMenOptionsExit.Click += new System.EventHandler(this.mMenOptionsExit_Click); + // + // vsToolStripExtender + // + this.vsToolStripExtender.DefaultRenderer = null; + // + // PictureBoxSearch + // + this.PictureBoxSearch.Dock = System.Windows.Forms.DockStyle.Fill; + this.PictureBoxSearch.Image = global::mRemoteNG.Resources.Search; + this.PictureBoxSearch.Location = new System.Drawing.Point(0, 0); + this.PictureBoxSearch.Margin = new System.Windows.Forms.Padding(0); + this.PictureBoxSearch.Name = "PictureBoxSearch"; + this.PictureBoxSearch.Size = new System.Drawing.Size(26, 21); + this.PictureBoxSearch.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.PictureBoxSearch.TabIndex = 1; + this.PictureBoxSearch.TabStop = false; + // + // txtSearch + // + this.txtSearch.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.txtSearch.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.txtSearch.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.txtSearch.ForeColor = System.Drawing.SystemColors.GrayText; + this.txtSearch.Location = new System.Drawing.Point(26, 3); + this.txtSearch.Margin = new System.Windows.Forms.Padding(0); + this.txtSearch.Name = "txtSearch"; + this.txtSearch.Size = new System.Drawing.Size(178, 15); + this.txtSearch.TabIndex = 30; + this.txtSearch.TabStop = false; + this.txtSearch.Text = "Search"; + this.txtSearch.TextChanged += new System.EventHandler(this.txtSearch_TextChanged); + this.txtSearch.GotFocus += new System.EventHandler(this.txtSearch_GotFocus); + this.txtSearch.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtSearch_KeyDown); + this.txtSearch.LostFocus += new System.EventHandler(this.txtSearch_LostFocus); + // + // tableLayoutPanel1 + // + this.tableLayoutPanel1.BackColor = System.Drawing.SystemColors.Control; + this.tableLayoutPanel1.ColumnCount = 2; + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 26F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel1.Controls.Add(this.PictureBoxSearch, 0, 0); + this.tableLayoutPanel1.Controls.Add(this.txtSearch); + this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Bottom; + this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 390); + this.tableLayoutPanel1.Name = "tableLayoutPanel1"; + this.tableLayoutPanel1.RowCount = 1; + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel1.Size = new System.Drawing.Size(204, 21); + this.tableLayoutPanel1.TabIndex = 32; + // + // mMenFavorites + // + this.mMenFavorites.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.mMenFavorites.Image = global::mRemoteNG.Resources.star; + this.mMenFavorites.Name = "mMenFavorites"; + this.mMenFavorites.Size = new System.Drawing.Size(28, 20); + this.mMenFavorites.Text = "Favorites"; + // + // ConnectionTreeWindow + // + this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; + this.ClientSize = new System.Drawing.Size(204, 411); + this.Controls.Add(this.olvConnections); + this.Controls.Add(this.tableLayoutPanel1); + this.Controls.Add(this.msMain); + this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.HideOnClose = true; + this.Icon = global::mRemoteNG.Resources.Root_Icon; + this.Name = "ConnectionTreeWindow"; + this.TabText = "Connections"; + this.Text = "Connections"; + this.Load += new System.EventHandler(this.Tree_Load); + ((System.ComponentModel.ISupportInitialize)(this.olvConnections)).EndInit(); + this.msMain.ResumeLayout(false); + this.msMain.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PictureBoxSearch)).EndInit(); + this.tableLayoutPanel1.ResumeLayout(false); + this.tableLayoutPanel1.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + #endregion + + private System.ComponentModel.IContainer components; + private Controls.ConnectionTree olvConnections; + private WeifenLuo.WinFormsUI.Docking.VisualStudioToolStripExtender vsToolStripExtender; + internal Controls.Base.NGPictureBox PictureBoxSearch; + internal Controls.Base.NGTextBox txtSearch; + public System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; + internal System.Windows.Forms.ToolStripMenuItem mMenFavorites; + } +} diff --git a/mRemoteV1/UI/Window/ConnectionTreeWindow.cs b/mRemoteV1/UI/Window/ConnectionTreeWindow.cs index b3723d319..f8a5218ff 100644 --- a/mRemoteV1/UI/Window/ConnectionTreeWindow.cs +++ b/mRemoteV1/UI/Window/ConnectionTreeWindow.cs @@ -90,7 +90,13 @@ namespace mRemoteNG.UI.Window mMenViewExpandAllFolders.ToolTipText = Language.strExpandAllFolders; mMenViewCollapseAllFolders.ToolTipText = Language.strCollapseAllFolders; mMenSortAscending.ToolTipText = Language.strSortAsc; - mMenFavorites.ToolTipText = Language.Favorites; + mMenFavorites.ToolTipText = Language.Favorites; + mMenOptions.Text = Language.strMenuOptions; + mMenOptionsOpenConnFile.Text = Language.strMenuOpenConnectionFile; + mMenOptionsSaveConnFile.Text = Language.strMenuSaveConnectionFile; + mMenOptionsShowHideMenu.Text = Language.strShowHideMainMenu; + mMenOptionsOpenOptions.Text = Language.strMenuOptions; + mMenOptionsExit.Text = Language.strMenuExit; txtSearch.Text = Language.strSearchPrompt; } @@ -247,6 +253,45 @@ namespace mRemoteNG.UI.Window { olvConnections.AddFolder(); } + + private void mMenOptionsOpenConnFile_Click(object sender, EventArgs e) + { + if (Runtime.ConnectionsService.IsConnectionsFileLoaded) + { + var msgBoxResult = MessageBox.Show(Language.strSaveConnectionsFileBeforeOpeningAnother, + Language.strSave, MessageBoxButtons.YesNoCancel); + // ReSharper disable once SwitchStatementMissingSomeCases + switch (msgBoxResult) + { + case DialogResult.Yes: + Runtime.ConnectionsService.SaveConnections(); + break; + case DialogResult.Cancel: + return; + } + } + Runtime.LoadConnections(true); + } + + private void mMenOptionsSaveConnFile_Click(object sender, EventArgs e) + { + Runtime.ConnectionsService.SaveConnections(); + } + + private void mMenOptionsShowHideMenu_Click(object sender, EventArgs e) + { + Runtime.MainFormMenuVisible = !Runtime.MainFormMenuVisible; + } + + private void mMenOptionsOpenOptions_Click(object sender, EventArgs e) + { + Windows.Show(WindowType.Options); + } + + private void mMenOptionsExit_Click(object sender, EventArgs e) + { + Shutdown.Quit(); + } #endregion From b0458ddda5bfd9446a5bc62312a45e1d28365c0e Mon Sep 17 00:00:00 2001 From: Faryan Rezagholi Date: Tue, 19 Mar 2019 23:25:21 +0100 Subject: [PATCH 02/10] Revert "Add show/hide main menu function to connection tree toolbar." This reverts commit 95f60c78b399566af046dd976ff7cc4143a1b6df. --- mRemoteV1/App/Runtime.cs | 20 +- .../Resources/Language/Language.Designer.cs | 11 - mRemoteV1/Resources/Language/Language.resx | 119 ++-- .../Window/ConnectionTreeWindow.Designer.cs | 540 ++++++++---------- mRemoteV1/UI/Window/ConnectionTreeWindow.cs | 47 +- 5 files changed, 291 insertions(+), 446 deletions(-) diff --git a/mRemoteV1/App/Runtime.cs b/mRemoteV1/App/Runtime.cs index f4be16022..2c86269c8 100644 --- a/mRemoteV1/App/Runtime.cs +++ b/mRemoteV1/App/Runtime.cs @@ -1,4 +1,4 @@ -using mRemoteNG.App.Info; +using mRemoteNG.App.Info; using mRemoteNG.Config.Putty; using mRemoteNG.Connection; using mRemoteNG.Credential; @@ -216,22 +216,8 @@ namespace mRemoteNG.App Application.Exit(); } } - } - - #endregion - - #region Main Form Menu Visible - public static bool MainFormMenuVisible - { - get - { - return FrmMain.Default.msMain.Visible; - } - set - { - FrmMain.Default.msMain.Visible = value; - } - } + } + #endregion } } \ No newline at end of file diff --git a/mRemoteV1/Resources/Language/Language.Designer.cs b/mRemoteV1/Resources/Language/Language.Designer.cs index ff237b9f8..d0431b915 100644 --- a/mRemoteV1/Resources/Language/Language.Designer.cs +++ b/mRemoteV1/Resources/Language/Language.Designer.cs @@ -7965,16 +7965,5 @@ namespace mRemoteNG { return ResourceManager.GetString("Unlocking", resourceCulture); } } - - /// - /// Looks up a localized string similar to Show/Hide Main Menu. - /// - internal static string strShowHideMainMenu - { - get - { - return ResourceManager.GetString("strShowHideMainMenu", resourceCulture); - } - } } } diff --git a/mRemoteV1/Resources/Language/Language.resx b/mRemoteV1/Resources/Language/Language.resx index 41d07afb2..6cf2ec228 100644 --- a/mRemoteV1/Resources/Language/Language.resx +++ b/mRemoteV1/Resources/Language/Language.resx @@ -1,63 +1,63 @@  - @@ -2774,8 +2774,5 @@ Development Channel includes Alphas, Betas & Release Candidates. Favorites - - - Show/Hide Main Menu \ No newline at end of file diff --git a/mRemoteV1/UI/Window/ConnectionTreeWindow.Designer.cs b/mRemoteV1/UI/Window/ConnectionTreeWindow.Designer.cs index c2280765a..821c74960 100644 --- a/mRemoteV1/UI/Window/ConnectionTreeWindow.Designer.cs +++ b/mRemoteV1/UI/Window/ConnectionTreeWindow.Designer.cs @@ -1,311 +1,229 @@ - - -using mRemoteNG.Connection; -using mRemoteNG.Tree; - -namespace mRemoteNG.UI.Window -{ - public partial class ConnectionTreeWindow : BaseWindow - { - #region Windows Form Designer generated code - internal System.Windows.Forms.MenuStrip msMain; - internal System.Windows.Forms.ToolStripMenuItem mMenViewExpandAllFolders; - internal System.Windows.Forms.ToolStripMenuItem mMenViewCollapseAllFolders; - internal System.Windows.Forms.ToolStripMenuItem mMenSortAscending; - internal System.Windows.Forms.ToolStripMenuItem mMenAddConnection; - internal System.Windows.Forms.ToolStripMenuItem mMenAddFolder; - internal System.Windows.Forms.ToolStripMenuItem mMenOptions; - internal System.Windows.Forms.ToolStripMenuItem mMenOptionsOpenConnFile; - internal System.Windows.Forms.ToolStripMenuItem mMenOptionsSaveConnFile; - internal System.Windows.Forms.ToolStripSeparator toolStripSeparator1; - internal System.Windows.Forms.ToolStripMenuItem mMenOptionsShowHideMenu; - internal System.Windows.Forms.ToolStripMenuItem mMenOptionsOpenOptions; - internal System.Windows.Forms.ToolStripSeparator toolStripSeparator2; - internal System.Windows.Forms.ToolStripMenuItem mMenOptionsExit; - public System.Windows.Forms.TreeView tvConnections; - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - mRemoteNG.Tree.ConnectionTreeModel connectionTreeModel2 = new mRemoteNG.Tree.ConnectionTreeModel(); - mRemoteNG.Tree.TreeNodeCompositeClickHandler treeNodeCompositeClickHandler3 = new mRemoteNG.Tree.TreeNodeCompositeClickHandler(); - mRemoteNG.Tree.AlwaysConfirmYes alwaysConfirmYes2 = new mRemoteNG.Tree.AlwaysConfirmYes(); - mRemoteNG.Tree.TreeNodeCompositeClickHandler treeNodeCompositeClickHandler4 = new mRemoteNG.Tree.TreeNodeCompositeClickHandler(); - this.olvConnections = new mRemoteNG.UI.Controls.ConnectionTree(); - this.msMain = new System.Windows.Forms.MenuStrip(); - this.mMenAddConnection = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenAddFolder = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenViewExpandAllFolders = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenViewCollapseAllFolders = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenSortAscending = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenOptions = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenOptionsOpenConnFile = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenOptionsSaveConnFile = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); - this.mMenOptionsShowHideMenu = new System.Windows.Forms.ToolStripMenuItem(); - this.mMenOptionsOpenOptions = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); - this.mMenOptionsExit = new System.Windows.Forms.ToolStripMenuItem(); - this.vsToolStripExtender = new WeifenLuo.WinFormsUI.Docking.VisualStudioToolStripExtender(this.components); - this.PictureBoxSearch = new mRemoteNG.UI.Controls.Base.NGPictureBox(this.components); - this.txtSearch = new mRemoteNG.UI.Controls.Base.NGTextBox(); - this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); - this.mMenFavorites = new System.Windows.Forms.ToolStripMenuItem(); - ((System.ComponentModel.ISupportInitialize)(this.olvConnections)).BeginInit(); - this.msMain.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.PictureBoxSearch)).BeginInit(); - this.tableLayoutPanel1.SuspendLayout(); - this.SuspendLayout(); - // - // olvConnections - // - this.olvConnections.AllowDrop = true; - this.olvConnections.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.olvConnections.CellEditUseWholeCell = false; - this.olvConnections.ConnectionTreeModel = connectionTreeModel2; - this.olvConnections.Cursor = System.Windows.Forms.Cursors.Default; - this.olvConnections.Dock = System.Windows.Forms.DockStyle.Fill; - treeNodeCompositeClickHandler3.ClickHandlers = new mRemoteNG.Tree.ITreeNodeClickHandler[0]; - this.olvConnections.DoubleClickHandler = treeNodeCompositeClickHandler3; - this.olvConnections.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.olvConnections.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None; - this.olvConnections.HideSelection = false; - this.olvConnections.IsSimpleDragSource = true; - this.olvConnections.IsSimpleDropSink = true; - this.olvConnections.LabelEdit = true; - this.olvConnections.Location = new System.Drawing.Point(0, 24); - this.olvConnections.MultiSelect = false; - this.olvConnections.Name = "olvConnections"; - this.olvConnections.NodeDeletionConfirmer = alwaysConfirmYes2; - this.olvConnections.PostSetupActions = new mRemoteNG.UI.Controls.IConnectionTreeDelegate[0]; - this.olvConnections.SelectedBackColor = System.Drawing.SystemColors.Highlight; - this.olvConnections.SelectedForeColor = System.Drawing.SystemColors.HighlightText; - this.olvConnections.ShowGroups = false; - treeNodeCompositeClickHandler4.ClickHandlers = new mRemoteNG.Tree.ITreeNodeClickHandler[0]; - this.olvConnections.SingleClickHandler = treeNodeCompositeClickHandler4; - this.olvConnections.Size = new System.Drawing.Size(204, 366); - this.olvConnections.TabIndex = 20; - this.olvConnections.UnfocusedSelectedBackColor = System.Drawing.SystemColors.Highlight; - this.olvConnections.UnfocusedSelectedForeColor = System.Drawing.SystemColors.HighlightText; - this.olvConnections.UseCompatibleStateImageBehavior = false; - this.olvConnections.UseOverlays = false; - this.olvConnections.View = System.Windows.Forms.View.Details; - this.olvConnections.VirtualMode = true; - // - // msMain - // - this.msMain.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.msMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.mMenAddConnection, - this.mMenAddFolder, - this.mMenViewExpandAllFolders, - this.mMenViewCollapseAllFolders, - this.mMenSortAscending, - this.mMenFavorites, - this.mMenOptions}); - this.msMain.Location = new System.Drawing.Point(0, 0); - this.msMain.Name = "msMain"; - this.msMain.Padding = new System.Windows.Forms.Padding(0, 2, 0, 2); - this.msMain.ShowItemToolTips = true; - this.msMain.Size = new System.Drawing.Size(204, 24); - this.msMain.TabIndex = 10; - this.msMain.Text = "MenuStrip1"; - // - // mMenAddConnection - // - this.mMenAddConnection.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.mMenAddConnection.Image = global::mRemoteNG.Resources.Connection_Add; - this.mMenAddConnection.Name = "mMenAddConnection"; - this.mMenAddConnection.Padding = new System.Windows.Forms.Padding(0, 0, 4, 0); - this.mMenAddConnection.Size = new System.Drawing.Size(24, 20); - this.mMenAddConnection.Click += new System.EventHandler(this.cMenTreeAddConnection_Click); - // - // mMenAddFolder - // - this.mMenAddFolder.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.mMenAddFolder.Image = global::mRemoteNG.Resources.Folder_Add; - this.mMenAddFolder.Name = "mMenAddFolder"; - this.mMenAddFolder.Size = new System.Drawing.Size(28, 20); - this.mMenAddFolder.Click += new System.EventHandler(this.cMenTreeAddFolder_Click); - // - // mMenViewExpandAllFolders - // - this.mMenViewExpandAllFolders.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.mMenViewExpandAllFolders.Image = global::mRemoteNG.Resources.Expand; - this.mMenViewExpandAllFolders.Name = "mMenViewExpandAllFolders"; - this.mMenViewExpandAllFolders.Size = new System.Drawing.Size(28, 20); - this.mMenViewExpandAllFolders.Text = "Expand all folders"; - // - // mMenViewCollapseAllFolders - // - this.mMenViewCollapseAllFolders.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.mMenViewCollapseAllFolders.Image = global::mRemoteNG.Resources.Collapse; - this.mMenViewCollapseAllFolders.Name = "mMenViewCollapseAllFolders"; - this.mMenViewCollapseAllFolders.Size = new System.Drawing.Size(28, 20); - this.mMenViewCollapseAllFolders.Text = "Collapse all folders"; - // - // mMenSortAscending - // - this.mMenSortAscending.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.mMenSortAscending.Image = global::mRemoteNG.Resources.Sort_AZ; - this.mMenSortAscending.Name = "mMenSortAscending"; - this.mMenSortAscending.Size = new System.Drawing.Size(28, 20); - // - // mMenOptions - // - this.mMenOptions.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.mMenOptions.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.mMenOptionsOpenConnFile, - this.mMenOptionsSaveConnFile, - this.toolStripSeparator1, - this.mMenOptionsShowHideMenu, - this.mMenOptionsOpenOptions, - this.toolStripSeparator2, - this.mMenOptionsExit}); - this.mMenOptions.Image = global::mRemoteNG.Resources.cog; - this.mMenOptions.Name = "mMenOptions"; - this.mMenOptions.Size = new System.Drawing.Size(28, 20); - // - // mMenOptionsOpenConnFile - // - this.mMenOptionsOpenConnFile.Image = global::mRemoteNG.Resources.Connections_Load; - this.mMenOptionsOpenConnFile.Name = "mMenOptionsOpenConnFile"; - this.mMenOptionsOpenConnFile.Size = new System.Drawing.Size(196, 22); - this.mMenOptionsOpenConnFile.Text = "Open Connection File..."; - this.mMenOptionsOpenConnFile.Click += new System.EventHandler(this.mMenOptionsOpenConnFile_Click); - // - // mMenOptionsSaveConnFile - // - this.mMenOptionsSaveConnFile.Image = global::mRemoteNG.Resources.Connections_Save; - this.mMenOptionsSaveConnFile.Name = "mMenOptionsSaveConnFile"; - this.mMenOptionsSaveConnFile.Size = new System.Drawing.Size(196, 22); - this.mMenOptionsSaveConnFile.Text = "Save Connection File"; - this.mMenOptionsSaveConnFile.Click += new System.EventHandler(this.mMenOptionsSaveConnFile_Click); - // - // toolStripSeparator1 - // - this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(193, 6); - // - // mMenOptionsShowHideMenu - // - this.mMenOptionsShowHideMenu.Image = global::mRemoteNG.Resources.application_side_tree; - this.mMenOptionsShowHideMenu.Name = "mMenOptionsShowHideMenu"; - this.mMenOptionsShowHideMenu.Size = new System.Drawing.Size(196, 22); - this.mMenOptionsShowHideMenu.Text = "Show/Hide Main Menu"; - this.mMenOptionsShowHideMenu.Click += new System.EventHandler(this.mMenOptionsShowHideMenu_Click); - // - // mMenOptionsOpenOptions - // - this.mMenOptionsOpenOptions.Image = global::mRemoteNG.Resources.Options; - this.mMenOptionsOpenOptions.Name = "mMenOptionsOpenOptions"; - this.mMenOptionsOpenOptions.Size = new System.Drawing.Size(196, 22); - this.mMenOptionsOpenOptions.Text = "Options"; - this.mMenOptionsOpenOptions.Click += new System.EventHandler(this.mMenOptionsOpenOptions_Click); - // - // toolStripSeparator2 - // - this.toolStripSeparator2.Name = "toolStripSeparator2"; - this.toolStripSeparator2.Size = new System.Drawing.Size(193, 6); - // - // mMenOptionsExit - // - this.mMenOptionsExit.Image = global::mRemoteNG.Resources.Quit; - this.mMenOptionsExit.Name = "mMenOptionsExit"; - this.mMenOptionsExit.Size = new System.Drawing.Size(196, 22); - this.mMenOptionsExit.Text = "Exit"; - this.mMenOptionsExit.Click += new System.EventHandler(this.mMenOptionsExit_Click); - // - // vsToolStripExtender - // - this.vsToolStripExtender.DefaultRenderer = null; - // - // PictureBoxSearch - // - this.PictureBoxSearch.Dock = System.Windows.Forms.DockStyle.Fill; - this.PictureBoxSearch.Image = global::mRemoteNG.Resources.Search; - this.PictureBoxSearch.Location = new System.Drawing.Point(0, 0); - this.PictureBoxSearch.Margin = new System.Windows.Forms.Padding(0); - this.PictureBoxSearch.Name = "PictureBoxSearch"; - this.PictureBoxSearch.Size = new System.Drawing.Size(26, 21); - this.PictureBoxSearch.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.PictureBoxSearch.TabIndex = 1; - this.PictureBoxSearch.TabStop = false; - // - // txtSearch - // - this.txtSearch.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtSearch.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.txtSearch.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.txtSearch.ForeColor = System.Drawing.SystemColors.GrayText; - this.txtSearch.Location = new System.Drawing.Point(26, 3); - this.txtSearch.Margin = new System.Windows.Forms.Padding(0); - this.txtSearch.Name = "txtSearch"; - this.txtSearch.Size = new System.Drawing.Size(178, 15); - this.txtSearch.TabIndex = 30; - this.txtSearch.TabStop = false; - this.txtSearch.Text = "Search"; - this.txtSearch.TextChanged += new System.EventHandler(this.txtSearch_TextChanged); - this.txtSearch.GotFocus += new System.EventHandler(this.txtSearch_GotFocus); - this.txtSearch.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtSearch_KeyDown); - this.txtSearch.LostFocus += new System.EventHandler(this.txtSearch_LostFocus); - // - // tableLayoutPanel1 - // - this.tableLayoutPanel1.BackColor = System.Drawing.SystemColors.Control; - this.tableLayoutPanel1.ColumnCount = 2; - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 26F)); - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel1.Controls.Add(this.PictureBoxSearch, 0, 0); - this.tableLayoutPanel1.Controls.Add(this.txtSearch); - this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Bottom; - this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 390); - this.tableLayoutPanel1.Name = "tableLayoutPanel1"; - this.tableLayoutPanel1.RowCount = 1; - this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel1.Size = new System.Drawing.Size(204, 21); - this.tableLayoutPanel1.TabIndex = 32; - // - // mMenFavorites - // - this.mMenFavorites.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.mMenFavorites.Image = global::mRemoteNG.Resources.star; - this.mMenFavorites.Name = "mMenFavorites"; - this.mMenFavorites.Size = new System.Drawing.Size(28, 20); - this.mMenFavorites.Text = "Favorites"; - // - // ConnectionTreeWindow - // - this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; - this.ClientSize = new System.Drawing.Size(204, 411); - this.Controls.Add(this.olvConnections); - this.Controls.Add(this.tableLayoutPanel1); - this.Controls.Add(this.msMain); - this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.HideOnClose = true; - this.Icon = global::mRemoteNG.Resources.Root_Icon; - this.Name = "ConnectionTreeWindow"; - this.TabText = "Connections"; - this.Text = "Connections"; - this.Load += new System.EventHandler(this.Tree_Load); - ((System.ComponentModel.ISupportInitialize)(this.olvConnections)).EndInit(); - this.msMain.ResumeLayout(false); - this.msMain.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.PictureBoxSearch)).EndInit(); - this.tableLayoutPanel1.ResumeLayout(false); - this.tableLayoutPanel1.PerformLayout(); - this.ResumeLayout(false); - this.PerformLayout(); - - } - #endregion - - private System.ComponentModel.IContainer components; - private Controls.ConnectionTree olvConnections; - private WeifenLuo.WinFormsUI.Docking.VisualStudioToolStripExtender vsToolStripExtender; - internal Controls.Base.NGPictureBox PictureBoxSearch; - internal Controls.Base.NGTextBox txtSearch; - public System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; - internal System.Windows.Forms.ToolStripMenuItem mMenFavorites; - } -} + + +using mRemoteNG.Connection; +using mRemoteNG.Tree; + +namespace mRemoteNG.UI.Window +{ + public partial class ConnectionTreeWindow : BaseWindow + { + #region Windows Form Designer generated code + internal System.Windows.Forms.MenuStrip msMain; + internal System.Windows.Forms.ToolStripMenuItem mMenViewExpandAllFolders; + internal System.Windows.Forms.ToolStripMenuItem mMenViewCollapseAllFolders; + internal System.Windows.Forms.ToolStripMenuItem mMenSortAscending; + internal System.Windows.Forms.ToolStripMenuItem mMenAddConnection; + internal System.Windows.Forms.ToolStripMenuItem mMenAddFolder; + public System.Windows.Forms.TreeView tvConnections; + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + mRemoteNG.Tree.ConnectionTreeModel connectionTreeModel2 = new mRemoteNG.Tree.ConnectionTreeModel(); + mRemoteNG.Tree.TreeNodeCompositeClickHandler treeNodeCompositeClickHandler3 = new mRemoteNG.Tree.TreeNodeCompositeClickHandler(); + mRemoteNG.Tree.AlwaysConfirmYes alwaysConfirmYes2 = new mRemoteNG.Tree.AlwaysConfirmYes(); + mRemoteNG.Tree.TreeNodeCompositeClickHandler treeNodeCompositeClickHandler4 = new mRemoteNG.Tree.TreeNodeCompositeClickHandler(); + this.olvConnections = new mRemoteNG.UI.Controls.ConnectionTree(); + this.msMain = new System.Windows.Forms.MenuStrip(); + this.mMenAddConnection = new System.Windows.Forms.ToolStripMenuItem(); + this.mMenAddFolder = new System.Windows.Forms.ToolStripMenuItem(); + this.mMenViewExpandAllFolders = new System.Windows.Forms.ToolStripMenuItem(); + this.mMenViewCollapseAllFolders = new System.Windows.Forms.ToolStripMenuItem(); + this.mMenSortAscending = new System.Windows.Forms.ToolStripMenuItem(); + this.vsToolStripExtender = new WeifenLuo.WinFormsUI.Docking.VisualStudioToolStripExtender(this.components); + this.PictureBoxSearch = new mRemoteNG.UI.Controls.Base.NGPictureBox(this.components); + this.txtSearch = new mRemoteNG.UI.Controls.Base.NGTextBox(); + this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.mMenFavorites = new System.Windows.Forms.ToolStripMenuItem(); + ((System.ComponentModel.ISupportInitialize)(this.olvConnections)).BeginInit(); + this.msMain.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PictureBoxSearch)).BeginInit(); + this.tableLayoutPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // olvConnections + // + this.olvConnections.AllowDrop = true; + this.olvConnections.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.olvConnections.CellEditUseWholeCell = false; + this.olvConnections.ConnectionTreeModel = connectionTreeModel2; + this.olvConnections.Cursor = System.Windows.Forms.Cursors.Default; + this.olvConnections.Dock = System.Windows.Forms.DockStyle.Fill; + treeNodeCompositeClickHandler3.ClickHandlers = new mRemoteNG.Tree.ITreeNodeClickHandler[0]; + this.olvConnections.DoubleClickHandler = treeNodeCompositeClickHandler3; + this.olvConnections.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.olvConnections.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None; + this.olvConnections.HideSelection = false; + this.olvConnections.IsSimpleDragSource = true; + this.olvConnections.IsSimpleDropSink = true; + this.olvConnections.LabelEdit = true; + this.olvConnections.Location = new System.Drawing.Point(0, 24); + this.olvConnections.MultiSelect = false; + this.olvConnections.Name = "olvConnections"; + this.olvConnections.NodeDeletionConfirmer = alwaysConfirmYes2; + this.olvConnections.PostSetupActions = new mRemoteNG.UI.Controls.IConnectionTreeDelegate[0]; + this.olvConnections.SelectedBackColor = System.Drawing.SystemColors.Highlight; + this.olvConnections.SelectedForeColor = System.Drawing.SystemColors.HighlightText; + this.olvConnections.ShowGroups = false; + treeNodeCompositeClickHandler4.ClickHandlers = new mRemoteNG.Tree.ITreeNodeClickHandler[0]; + this.olvConnections.SingleClickHandler = treeNodeCompositeClickHandler4; + this.olvConnections.Size = new System.Drawing.Size(204, 366); + this.olvConnections.TabIndex = 20; + this.olvConnections.UnfocusedSelectedBackColor = System.Drawing.SystemColors.Highlight; + this.olvConnections.UnfocusedSelectedForeColor = System.Drawing.SystemColors.HighlightText; + this.olvConnections.UseCompatibleStateImageBehavior = false; + this.olvConnections.UseOverlays = false; + this.olvConnections.View = System.Windows.Forms.View.Details; + this.olvConnections.VirtualMode = true; + // + // msMain + // + this.msMain.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.msMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.mMenAddConnection, + this.mMenAddFolder, + this.mMenViewExpandAllFolders, + this.mMenViewCollapseAllFolders, + this.mMenSortAscending, + this.mMenFavorites}); + this.msMain.Location = new System.Drawing.Point(0, 0); + this.msMain.Name = "msMain"; + this.msMain.Padding = new System.Windows.Forms.Padding(0, 2, 0, 2); + this.msMain.ShowItemToolTips = true; + this.msMain.Size = new System.Drawing.Size(204, 24); + this.msMain.TabIndex = 10; + this.msMain.Text = "MenuStrip1"; + // + // mMenAddConnection + // + this.mMenAddConnection.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.mMenAddConnection.Image = global::mRemoteNG.Resources.Connection_Add; + this.mMenAddConnection.Name = "mMenAddConnection"; + this.mMenAddConnection.Padding = new System.Windows.Forms.Padding(0, 0, 4, 0); + this.mMenAddConnection.Size = new System.Drawing.Size(24, 20); + this.mMenAddConnection.Click += new System.EventHandler(this.cMenTreeAddConnection_Click); + // + // mMenAddFolder + // + this.mMenAddFolder.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.mMenAddFolder.Image = global::mRemoteNG.Resources.Folder_Add; + this.mMenAddFolder.Name = "mMenAddFolder"; + this.mMenAddFolder.Size = new System.Drawing.Size(28, 20); + this.mMenAddFolder.Click += new System.EventHandler(this.cMenTreeAddFolder_Click); + // + // mMenViewExpandAllFolders + // + this.mMenViewExpandAllFolders.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.mMenViewExpandAllFolders.Image = global::mRemoteNG.Resources.Expand; + this.mMenViewExpandAllFolders.Name = "mMenViewExpandAllFolders"; + this.mMenViewExpandAllFolders.Size = new System.Drawing.Size(28, 20); + this.mMenViewExpandAllFolders.Text = "Expand all folders"; + // + // mMenViewCollapseAllFolders + // + this.mMenViewCollapseAllFolders.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.mMenViewCollapseAllFolders.Image = global::mRemoteNG.Resources.Collapse; + this.mMenViewCollapseAllFolders.Name = "mMenViewCollapseAllFolders"; + this.mMenViewCollapseAllFolders.Size = new System.Drawing.Size(28, 20); + this.mMenViewCollapseAllFolders.Text = "Collapse all folders"; + // + // mMenSortAscending + // + this.mMenSortAscending.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.mMenSortAscending.Image = global::mRemoteNG.Resources.Sort_AZ; + this.mMenSortAscending.Name = "mMenSortAscending"; + this.mMenSortAscending.Size = new System.Drawing.Size(28, 20); + // + // vsToolStripExtender + // + this.vsToolStripExtender.DefaultRenderer = null; + // + // PictureBoxSearch + // + this.PictureBoxSearch.Dock = System.Windows.Forms.DockStyle.Fill; + this.PictureBoxSearch.Image = global::mRemoteNG.Resources.Search; + this.PictureBoxSearch.Location = new System.Drawing.Point(0, 0); + this.PictureBoxSearch.Margin = new System.Windows.Forms.Padding(0); + this.PictureBoxSearch.Name = "PictureBoxSearch"; + this.PictureBoxSearch.Size = new System.Drawing.Size(26, 21); + this.PictureBoxSearch.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.PictureBoxSearch.TabIndex = 1; + this.PictureBoxSearch.TabStop = false; + // + // txtSearch + // + this.txtSearch.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.txtSearch.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.txtSearch.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.txtSearch.ForeColor = System.Drawing.SystemColors.GrayText; + this.txtSearch.Location = new System.Drawing.Point(26, 3); + this.txtSearch.Margin = new System.Windows.Forms.Padding(0); + this.txtSearch.Name = "txtSearch"; + this.txtSearch.Size = new System.Drawing.Size(178, 15); + this.txtSearch.TabIndex = 30; + this.txtSearch.TabStop = false; + this.txtSearch.Text = "Search"; + this.txtSearch.TextChanged += new System.EventHandler(this.txtSearch_TextChanged); + this.txtSearch.GotFocus += new System.EventHandler(this.txtSearch_GotFocus); + this.txtSearch.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtSearch_KeyDown); + this.txtSearch.LostFocus += new System.EventHandler(this.txtSearch_LostFocus); + // + // tableLayoutPanel1 + // + this.tableLayoutPanel1.BackColor = System.Drawing.SystemColors.Control; + this.tableLayoutPanel1.ColumnCount = 2; + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 26F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel1.Controls.Add(this.PictureBoxSearch, 0, 0); + this.tableLayoutPanel1.Controls.Add(this.txtSearch); + this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Bottom; + this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 390); + this.tableLayoutPanel1.Name = "tableLayoutPanel1"; + this.tableLayoutPanel1.RowCount = 1; + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel1.Size = new System.Drawing.Size(204, 21); + this.tableLayoutPanel1.TabIndex = 32; + // + // mMenFavorites + // + this.mMenFavorites.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.mMenFavorites.Image = global::mRemoteNG.Resources.star; + this.mMenFavorites.Name = "mMenFavorites"; + this.mMenFavorites.Size = new System.Drawing.Size(28, 20); + this.mMenFavorites.Text = "Favorites"; + // + // ConnectionTreeWindow + // + this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; + this.ClientSize = new System.Drawing.Size(204, 411); + this.Controls.Add(this.olvConnections); + this.Controls.Add(this.tableLayoutPanel1); + this.Controls.Add(this.msMain); + this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.HideOnClose = true; + this.Icon = global::mRemoteNG.Resources.Root_Icon; + this.Name = "ConnectionTreeWindow"; + this.TabText = "Connections"; + this.Text = "Connections"; + this.Load += new System.EventHandler(this.Tree_Load); + ((System.ComponentModel.ISupportInitialize)(this.olvConnections)).EndInit(); + this.msMain.ResumeLayout(false); + this.msMain.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PictureBoxSearch)).EndInit(); + this.tableLayoutPanel1.ResumeLayout(false); + this.tableLayoutPanel1.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + #endregion + + private System.ComponentModel.IContainer components; + private Controls.ConnectionTree olvConnections; + private WeifenLuo.WinFormsUI.Docking.VisualStudioToolStripExtender vsToolStripExtender; + internal Controls.Base.NGPictureBox PictureBoxSearch; + internal Controls.Base.NGTextBox txtSearch; + public System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; + internal System.Windows.Forms.ToolStripMenuItem mMenFavorites; + } +} diff --git a/mRemoteV1/UI/Window/ConnectionTreeWindow.cs b/mRemoteV1/UI/Window/ConnectionTreeWindow.cs index f8a5218ff..b3723d319 100644 --- a/mRemoteV1/UI/Window/ConnectionTreeWindow.cs +++ b/mRemoteV1/UI/Window/ConnectionTreeWindow.cs @@ -90,13 +90,7 @@ namespace mRemoteNG.UI.Window mMenViewExpandAllFolders.ToolTipText = Language.strExpandAllFolders; mMenViewCollapseAllFolders.ToolTipText = Language.strCollapseAllFolders; mMenSortAscending.ToolTipText = Language.strSortAsc; - mMenFavorites.ToolTipText = Language.Favorites; - mMenOptions.Text = Language.strMenuOptions; - mMenOptionsOpenConnFile.Text = Language.strMenuOpenConnectionFile; - mMenOptionsSaveConnFile.Text = Language.strMenuSaveConnectionFile; - mMenOptionsShowHideMenu.Text = Language.strShowHideMainMenu; - mMenOptionsOpenOptions.Text = Language.strMenuOptions; - mMenOptionsExit.Text = Language.strMenuExit; + mMenFavorites.ToolTipText = Language.Favorites; txtSearch.Text = Language.strSearchPrompt; } @@ -253,45 +247,6 @@ namespace mRemoteNG.UI.Window { olvConnections.AddFolder(); } - - private void mMenOptionsOpenConnFile_Click(object sender, EventArgs e) - { - if (Runtime.ConnectionsService.IsConnectionsFileLoaded) - { - var msgBoxResult = MessageBox.Show(Language.strSaveConnectionsFileBeforeOpeningAnother, - Language.strSave, MessageBoxButtons.YesNoCancel); - // ReSharper disable once SwitchStatementMissingSomeCases - switch (msgBoxResult) - { - case DialogResult.Yes: - Runtime.ConnectionsService.SaveConnections(); - break; - case DialogResult.Cancel: - return; - } - } - Runtime.LoadConnections(true); - } - - private void mMenOptionsSaveConnFile_Click(object sender, EventArgs e) - { - Runtime.ConnectionsService.SaveConnections(); - } - - private void mMenOptionsShowHideMenu_Click(object sender, EventArgs e) - { - Runtime.MainFormMenuVisible = !Runtime.MainFormMenuVisible; - } - - private void mMenOptionsOpenOptions_Click(object sender, EventArgs e) - { - Windows.Show(WindowType.Options); - } - - private void mMenOptionsExit_Click(object sender, EventArgs e) - { - Shutdown.Quit(); - } #endregion From aca775a96e3de862d556ea01b18fb1d49da3c0bb Mon Sep 17 00:00:00 2001 From: Faryan Rezagholi Date: Wed, 20 Mar 2019 00:34:11 +0100 Subject: [PATCH 03/10] Added entry to window menu to hide/show toolstrips --- mRemoteV1/App/ProgramRoot.cs | 9 ++++----- mRemoteV1/Resources/Language/Language.Designer.cs | 9 +++++++++ mRemoteV1/Resources/Language/Language.de.resx | 3 +++ mRemoteV1/Resources/Language/Language.resx | 3 +++ mRemoteV1/UI/Forms/frmMain.cs | 10 ++++++---- mRemoteV1/UI/Menu/ScreenSelectionSystemMenu.cs | 7 +++++-- 6 files changed, 30 insertions(+), 11 deletions(-) diff --git a/mRemoteV1/App/ProgramRoot.cs b/mRemoteV1/App/ProgramRoot.cs index 5906d2e09..83f1d6937 100644 --- a/mRemoteV1/App/ProgramRoot.cs +++ b/mRemoteV1/App/ProgramRoot.cs @@ -8,7 +8,7 @@ namespace mRemoteNG.App { public static class ProgramRoot { - private static Mutex mutex; + private static Mutex _mutex; /// /// The main entry point for the application. @@ -34,14 +34,13 @@ namespace mRemoteNG.App public static void CloseSingletonInstanceMutex() { - mutex?.Close(); + _mutex?.Close(); } private static void StartApplicationAsSingleInstance() { const string mutexID = "mRemoteNG_SingleInstanceMutex"; - bool newInstanceCreated; - mutex = new Mutex(false, mutexID, out newInstanceCreated); + _mutex = new Mutex(false, mutexID, out var newInstanceCreated); if (!newInstanceCreated) { SwitchToCurrentInstance(); @@ -49,7 +48,7 @@ namespace mRemoteNG.App } StartApplication(); - GC.KeepAlive(mutex); + GC.KeepAlive(_mutex); } private static void SwitchToCurrentInstance() diff --git a/mRemoteV1/Resources/Language/Language.Designer.cs b/mRemoteV1/Resources/Language/Language.Designer.cs index d0431b915..e25cf33a4 100644 --- a/mRemoteV1/Resources/Language/Language.Designer.cs +++ b/mRemoteV1/Resources/Language/Language.Designer.cs @@ -276,6 +276,15 @@ namespace mRemoteNG { } } + /// + /// Looks up a localized string similar to Show/Hide Menu Strip. + /// + internal static string ShowHideMenu { + get { + return ResourceManager.GetString("ShowHideMenu", resourceCulture); + } + } + /// /// Looks up a localized string similar to Source. /// diff --git a/mRemoteV1/Resources/Language/Language.de.resx b/mRemoteV1/Resources/Language/Language.de.resx index ca3d30256..68fa711b3 100644 --- a/mRemoteV1/Resources/Language/Language.de.resx +++ b/mRemoteV1/Resources/Language/Language.de.resx @@ -2660,4 +2660,7 @@ Development umfasst Alphas, Betas und Release Candidates. Favoriten + + Verstecke/Zeige Menü + \ No newline at end of file diff --git a/mRemoteV1/Resources/Language/Language.resx b/mRemoteV1/Resources/Language/Language.resx index 6cf2ec228..36a819c4e 100644 --- a/mRemoteV1/Resources/Language/Language.resx +++ b/mRemoteV1/Resources/Language/Language.resx @@ -2775,4 +2775,7 @@ Development Channel includes Alphas, Betas & Release Candidates. Favorites + + Show/Hide Menu Strip + \ No newline at end of file diff --git a/mRemoteV1/UI/Forms/frmMain.cs b/mRemoteV1/UI/Forms/frmMain.cs index b21e6fd27..e285d0876 100644 --- a/mRemoteV1/UI/Forms/frmMain.cs +++ b/mRemoteV1/UI/Forms/frmMain.cs @@ -1,4 +1,4 @@ -using Microsoft.Win32; +using Microsoft.Win32; using mRemoteNG.App; using mRemoteNG.App.Info; using mRemoteNG.App.Initialization; @@ -535,9 +535,9 @@ namespace mRemoteNG.UI.Forms break; case NativeMethods.WM_SYSCOMMAND: - var screen = _screenSystemMenu.GetScreenById(m.WParam.ToInt32()); - if (screen != null) - Screens.SendFormToScreen(screen); + //var screen = _screenSystemMenu.GetScreenById(m.WParam.ToInt32()); + //if (screen != null) + // Screens.SendFormToScreen(screen); break; case NativeMethods.WM_DRAWCLIPBOARD: NativeMethods.SendMessage(_fpChainedWindowHandle, m.Msg, m.LParam, m.WParam); @@ -708,6 +708,8 @@ namespace mRemoteNG.UI.Forms pnlDock.Visible = true; } + public void ShowHideMenu() => tsContainer.TopToolStripPanelVisible = !tsContainer.TopToolStripPanelVisible; + #endregion #region Events diff --git a/mRemoteV1/UI/Menu/ScreenSelectionSystemMenu.cs b/mRemoteV1/UI/Menu/ScreenSelectionSystemMenu.cs index f91a43796..705557134 100644 --- a/mRemoteV1/UI/Menu/ScreenSelectionSystemMenu.cs +++ b/mRemoteV1/UI/Menu/ScreenSelectionSystemMenu.cs @@ -49,9 +49,12 @@ namespace mRemoteNG.UI.Menu } _systemMenu.InsertMenuItem(_systemMenu.SystemMenuHandle, 0, - SystemMenu.Flags.MF_POPUP | SystemMenu.Flags.MF_BYPOSITION, popMen, - Language.strSendTo); + SystemMenu.Flags.MF_POPUP | SystemMenu.Flags.MF_BYPOSITION, popMen, + Language.strSendTo); _systemMenu.InsertMenuItem(_systemMenu.SystemMenuHandle, 1, + SystemMenu.Flags.MF_POPUP | SystemMenu.Flags.MF_BYPOSITION, new IntPtr(0), + Language.ShowHideMenu); + _systemMenu.InsertMenuItem(_systemMenu.SystemMenuHandle, 2, SystemMenu.Flags.MF_BYPOSITION | SystemMenu.Flags.MF_SEPARATOR, IntPtr.Zero, null); } From 851b460a323c5635ada8fa8df2b228770ca349d4 Mon Sep 17 00:00:00 2001 From: Faryan Rezagholi Date: Wed, 20 Mar 2019 00:40:27 +0100 Subject: [PATCH 04/10] renamed class --- .../{Tools.SystemMenu.cs => WindowMenu.cs} | 6 ++-- mRemoteV1/UI/Forms/frmMain.Designer.cs | 4 +-- mRemoteV1/UI/Forms/frmMain.cs | 10 +++---- ...ionSystemMenu.cs => AdvancedWindowMenu.cs} | 30 +++++++++---------- mRemoteV1/mRemoteV1.csproj | 4 +-- 5 files changed, 27 insertions(+), 27 deletions(-) rename mRemoteV1/Tools/{Tools.SystemMenu.cs => WindowMenu.cs} (96%) rename mRemoteV1/UI/Menu/{ScreenSelectionSystemMenu.cs => AdvancedWindowMenu.cs} (63%) diff --git a/mRemoteV1/Tools/Tools.SystemMenu.cs b/mRemoteV1/Tools/WindowMenu.cs similarity index 96% rename from mRemoteV1/Tools/Tools.SystemMenu.cs rename to mRemoteV1/Tools/WindowMenu.cs index 13a11ac44..c4518fff6 100644 --- a/mRemoteV1/Tools/Tools.SystemMenu.cs +++ b/mRemoteV1/Tools/WindowMenu.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Drawing; using mRemoteNG.App; using Microsoft.Win32.SafeHandles; @@ -7,7 +7,7 @@ using Microsoft.Win32.SafeHandles; namespace mRemoteNG.Tools { - public sealed class SystemMenu : SafeHandleZeroOrMinusOneIsInvalid, IDisposable + public sealed class WindowMenu : SafeHandleZeroOrMinusOneIsInvalid, IDisposable { [Flags] public enum Flags @@ -24,7 +24,7 @@ namespace mRemoteNG.Tools internal IntPtr SystemMenuHandle; private readonly IntPtr FormHandle; - public SystemMenu(IntPtr Handle) : base(true) + public WindowMenu(IntPtr Handle) : base(true) { FormHandle = Handle; SystemMenuHandle = NativeMethods.GetSystemMenu(FormHandle, false); diff --git a/mRemoteV1/UI/Forms/frmMain.Designer.cs b/mRemoteV1/UI/Forms/frmMain.Designer.cs index dc8c75a75..a3db7a305 100644 --- a/mRemoteV1/UI/Forms/frmMain.Designer.cs +++ b/mRemoteV1/UI/Forms/frmMain.Designer.cs @@ -14,8 +14,8 @@ if(components != null) components.Dispose(); - if(_screenSystemMenu != null) - _screenSystemMenu.Dispose(); + if(_advancedWindowMenu != null) + _advancedWindowMenu.Dispose(); } } diff --git a/mRemoteV1/UI/Forms/frmMain.cs b/mRemoteV1/UI/Forms/frmMain.cs index e285d0876..99e5abf88 100644 --- a/mRemoteV1/UI/Forms/frmMain.cs +++ b/mRemoteV1/UI/Forms/frmMain.cs @@ -44,7 +44,7 @@ namespace mRemoteNG.UI.Forms private bool _usingSqlServer; private string _connectionsFileName; private bool _showFullPathInTitle; - private readonly ScreenSelectionSystemMenu _screenSystemMenu; + private readonly AdvancedWindowMenu _advancedWindowMenu; private ConnectionInfo _selectedConnection; private readonly IList _messageWriters = new List(); private readonly ThemeManager _themeManager; @@ -66,7 +66,7 @@ namespace mRemoteNG.UI.Forms vsToolStripExtender.DefaultRenderer = _toolStripProfessionalRenderer; ApplyTheme(); - _screenSystemMenu = new ScreenSelectionSystemMenu(this); + _advancedWindowMenu = new AdvancedWindowMenu(this); } #region Properties @@ -182,8 +182,8 @@ namespace mRemoteNG.UI.Forms Startup.Instance.CreateConnectionsProvider(messageCollector); - _screenSystemMenu.BuildScreenList(); - SystemEvents.DisplaySettingsChanged += _screenSystemMenu.OnDisplayChanged; + _advancedWindowMenu.BuildScreenList(); + SystemEvents.DisplaySettingsChanged += _advancedWindowMenu.OnDisplayChanged; ApplyLanguage(); Opacity = 1; @@ -535,7 +535,7 @@ namespace mRemoteNG.UI.Forms break; case NativeMethods.WM_SYSCOMMAND: - //var screen = _screenSystemMenu.GetScreenById(m.WParam.ToInt32()); + //var screen = _advancedWindowMenu.GetScreenById(m.WParam.ToInt32()); //if (screen != null) // Screens.SendFormToScreen(screen); break; diff --git a/mRemoteV1/UI/Menu/ScreenSelectionSystemMenu.cs b/mRemoteV1/UI/Menu/AdvancedWindowMenu.cs similarity index 63% rename from mRemoteV1/UI/Menu/ScreenSelectionSystemMenu.cs rename to mRemoteV1/UI/Menu/AdvancedWindowMenu.cs index 705557134..bd66e5e41 100644 --- a/mRemoteV1/UI/Menu/ScreenSelectionSystemMenu.cs +++ b/mRemoteV1/UI/Menu/AdvancedWindowMenu.cs @@ -5,14 +5,14 @@ using mRemoteNG.Tools; namespace mRemoteNG.UI.Menu { // This class creates new menu items to menu that appears when you right click the top of the app (where the window title is) - public class ScreenSelectionSystemMenu : IDisposable + public class AdvancedWindowMenu : IDisposable { - private readonly SystemMenu _systemMenu; + private readonly WindowMenu _windowMenu; private readonly int[] _sysMenSubItems = new int[51]; - public ScreenSelectionSystemMenu(IWin32Window boundControl) + public AdvancedWindowMenu(IWin32Window boundControl) { - _systemMenu = new SystemMenu(boundControl.Handle); + _windowMenu = new WindowMenu(boundControl.Handle); } public Screen GetScreenById(int id) @@ -34,28 +34,28 @@ namespace mRemoteNG.UI.Menu private void ResetScreenList() { - _systemMenu.Reset(); + _windowMenu.Reset(); } public void BuildScreenList() { - var popMen = _systemMenu.CreatePopupMenuItem(); + var popMen = _windowMenu.CreatePopupMenuItem(); for (var i = 0; i <= Screen.AllScreens.Length - 1; i++) { _sysMenSubItems[i] = 200 + i; - _systemMenu.AppendMenuItem(popMen, SystemMenu.Flags.MF_STRING, new IntPtr(_sysMenSubItems[i]), + _windowMenu.AppendMenuItem(popMen, WindowMenu.Flags.MF_STRING, new IntPtr(_sysMenSubItems[i]), Language.strScreen + " " + Convert.ToString(i + 1)); } - _systemMenu.InsertMenuItem(_systemMenu.SystemMenuHandle, 0, - SystemMenu.Flags.MF_POPUP | SystemMenu.Flags.MF_BYPOSITION, popMen, + _windowMenu.InsertMenuItem(_windowMenu.SystemMenuHandle, 0, + WindowMenu.Flags.MF_POPUP | WindowMenu.Flags.MF_BYPOSITION, popMen, Language.strSendTo); - _systemMenu.InsertMenuItem(_systemMenu.SystemMenuHandle, 1, - SystemMenu.Flags.MF_POPUP | SystemMenu.Flags.MF_BYPOSITION, new IntPtr(0), + _windowMenu.InsertMenuItem(_windowMenu.SystemMenuHandle, 1, + WindowMenu.Flags.MF_POPUP | WindowMenu.Flags.MF_BYPOSITION, new IntPtr(0), Language.ShowHideMenu); - _systemMenu.InsertMenuItem(_systemMenu.SystemMenuHandle, 2, - SystemMenu.Flags.MF_BYPOSITION | SystemMenu.Flags.MF_SEPARATOR, IntPtr.Zero, + _windowMenu.InsertMenuItem(_windowMenu.SystemMenuHandle, 2, + WindowMenu.Flags.MF_BYPOSITION | WindowMenu.Flags.MF_SEPARATOR, IntPtr.Zero, null); } @@ -63,8 +63,8 @@ namespace mRemoteNG.UI.Menu { if (!disposing) return; - if(_systemMenu != null) - _systemMenu.Dispose(); + if(_windowMenu != null) + _windowMenu.Dispose(); } public void Dispose() diff --git a/mRemoteV1/mRemoteV1.csproj b/mRemoteV1/mRemoteV1.csproj index 7e7a1419b..2a63792b9 100644 --- a/mRemoteV1/mRemoteV1.csproj +++ b/mRemoteV1/mRemoteV1.csproj @@ -661,7 +661,7 @@ - + Component @@ -680,7 +680,7 @@ Component - + Component From a717ec0ae76bebfde0b60c09012c04aa6c64b393 Mon Sep 17 00:00:00 2001 From: Faryan Rezagholi Date: Wed, 20 Mar 2019 21:20:34 +0100 Subject: [PATCH 05/10] added functionality to window menu items --- mRemoteV1/Tools/WindowMenu.cs | 6 +- mRemoteV1/UI/Forms/frmMain.cs | 11 +- mRemoteV1/UI/Menu/AdvancedWindowMenu.cs | 14 +- mRemoteV1/app.config | 1521 +++++++++++------------ mRemoteV1/mRemoteV1.csproj | 5 +- 5 files changed, 780 insertions(+), 777 deletions(-) diff --git a/mRemoteV1/Tools/WindowMenu.cs b/mRemoteV1/Tools/WindowMenu.cs index c4518fff6..b0813f022 100644 --- a/mRemoteV1/Tools/WindowMenu.cs +++ b/mRemoteV1/Tools/WindowMenu.cs @@ -20,7 +20,7 @@ namespace mRemoteNG.Tools WM_SYSCOMMAND = NativeMethods.WM_SYSCOMMAND } - private bool disposed; + private bool _disposed; internal IntPtr SystemMenuHandle; private readonly IntPtr FormHandle; @@ -85,12 +85,12 @@ namespace mRemoteNG.Tools protected override void Dispose(bool disposing) { - if (disposed) return; + if (_disposed) return; if (!disposing) return; ReleaseHandle(); - disposed = true; + _disposed = true; } } } \ No newline at end of file diff --git a/mRemoteV1/UI/Forms/frmMain.cs b/mRemoteV1/UI/Forms/frmMain.cs index 99e5abf88..c1bacf128 100644 --- a/mRemoteV1/UI/Forms/frmMain.cs +++ b/mRemoteV1/UI/Forms/frmMain.cs @@ -182,7 +182,7 @@ namespace mRemoteNG.UI.Forms Startup.Instance.CreateConnectionsProvider(messageCollector); - _advancedWindowMenu.BuildScreenList(); + _advancedWindowMenu.BuildAdditionalMenuItems(); SystemEvents.DisplaySettingsChanged += _advancedWindowMenu.OnDisplayChanged; ApplyLanguage(); @@ -535,9 +535,12 @@ namespace mRemoteNG.UI.Forms break; case NativeMethods.WM_SYSCOMMAND: - //var screen = _advancedWindowMenu.GetScreenById(m.WParam.ToInt32()); - //if (screen != null) - // Screens.SendFormToScreen(screen); + if (m.WParam == new IntPtr(0)) + ShowHideMenu(); + var screen = _advancedWindowMenu.GetScreenById(m.WParam.ToInt32()); + if (screen != null) + Screens.SendFormToScreen(screen); + Console.WriteLine(_advancedWindowMenu.GetScreenById(m.WParam.ToInt32()).ToString()); break; case NativeMethods.WM_DRAWCLIPBOARD: NativeMethods.SendMessage(_fpChainedWindowHandle, m.Msg, m.LParam, m.WParam); diff --git a/mRemoteV1/UI/Menu/AdvancedWindowMenu.cs b/mRemoteV1/UI/Menu/AdvancedWindowMenu.cs index bd66e5e41..208ee146b 100644 --- a/mRemoteV1/UI/Menu/AdvancedWindowMenu.cs +++ b/mRemoteV1/UI/Menu/AdvancedWindowMenu.cs @@ -29,7 +29,7 @@ namespace mRemoteNG.UI.Menu public void OnDisplayChanged(object sender, EventArgs e) { ResetScreenList(); - BuildScreenList(); + BuildAdditionalMenuItems(); } private void ResetScreenList() @@ -37,23 +37,24 @@ namespace mRemoteNG.UI.Menu _windowMenu.Reset(); } - public void BuildScreenList() + public void BuildAdditionalMenuItems() { + // option to send main form to another screen var popMen = _windowMenu.CreatePopupMenuItem(); - for (var i = 0; i <= Screen.AllScreens.Length - 1; i++) { _sysMenSubItems[i] = 200 + i; _windowMenu.AppendMenuItem(popMen, WindowMenu.Flags.MF_STRING, new IntPtr(_sysMenSubItems[i]), Language.strScreen + " " + Convert.ToString(i + 1)); } - _windowMenu.InsertMenuItem(_windowMenu.SystemMenuHandle, 0, WindowMenu.Flags.MF_POPUP | WindowMenu.Flags.MF_BYPOSITION, popMen, Language.strSendTo); + // option to show/hide menu strips _windowMenu.InsertMenuItem(_windowMenu.SystemMenuHandle, 1, - WindowMenu.Flags.MF_POPUP | WindowMenu.Flags.MF_BYPOSITION, new IntPtr(0), + WindowMenu.Flags.MF_BYPOSITION, new IntPtr(0), Language.ShowHideMenu); + // separator _windowMenu.InsertMenuItem(_windowMenu.SystemMenuHandle, 2, WindowMenu.Flags.MF_BYPOSITION | WindowMenu.Flags.MF_SEPARATOR, IntPtr.Zero, null); @@ -63,8 +64,7 @@ namespace mRemoteNG.UI.Menu { if (!disposing) return; - if(_windowMenu != null) - _windowMenu.Dispose(); + _windowMenu?.Dispose(); } public void Dispose() diff --git a/mRemoteV1/app.config b/mRemoteV1/app.config index 6986d55c5..49a7060e9 100644 --- a/mRemoteV1/app.config +++ b/mRemoteV1/app.config @@ -1,765 +1,762 @@  - - -
- -
- - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0, 0 - - - 0, 0 - - - Normal - - - False - - - True - - - - - - True - - - True - - - True - - - False - - - False - - - - - - True - - - True - - - False - - - False - - - True - - - False - - - False - - - noinfo - - - - - - - - - - - - False - - - True - - - False - - - False - - - False - - - - - - 80 - - - False - - - - - - - - - - - - RDP - - - Default Settings - - - False - - - FitToWindow - - - Colors16Bit - - - False - - - False - - - False - - - False - - - False - - - False - - - False - - - False - - - False - - - DoNotPlay - - - 2 - - - False - - - False - - - False - - - 0 - - - False - - - True - - - 0, 0 - - - Bottom - - - True - - - 3, 24 - - - Top - - - False - - - False - - - - - - - - - - - - False - - - False - - - False - - - False - - - False - - - False - - - False - - - False - - - False - - - False - - - False - - - False - - - False - - - False - - - False - - - False - - - False - - - False - - - False - - - False - - - False - - - False - - - EncrBasic - - - False - - - - - - - - - False - - - False - - - False - - - True - - - False - - - False - - - AuthVNC - - - ColNormal - - - SmartSAspect - - - False - - - CompNone - - - EncHextile - - - - - - - - - 0 - - - ProxyNone - - - - - - False - - - False - - - False - - - False - - - False - - - False - - - False - - - False - - - False - - - False - - - False - - - False - - - False - - - NoAuth - - - False - - - 5500 - - - False - - - - - - IE - - - False - - - - - - False - - - False - - - - - - False - - - - - - False - - - False - - - 14 - - - 1980-01-01 - - - False - - - Never - - - Yes - - - mRemoteNG - - - False - - - False - - - False - - - False - - - False - - - False - - - 5 - - - - - - - - - - - - - - - - - - False - - - False - - - False - - - False - - - 4 - - - mRemoteNG - - - 10 - - - {0}.{1:yyyyMMdd-HHmmssffff}.backup - - - False - - - True - - - False - - - False - - - release - - - - - - True - - - - - - - - - True - - - - - - True - - - False - - - False - - - RDP - - - 9/9, 33/8 - - - 9/8, 34/8 - - - False - - - 20 - - - AES - - - GCM - - - 1000 - - - Dynamic - - - False - - - 0 - - - False - - - False - - - False - - - False - - - 00000000-0000-0000-0000-000000000000 - - - - - - False - - - True - - - True - - - True - - - False - - - False - - - True - - - True - - - False - - - False - - - False - - - False - - - True - - - True - - - True - - - - - - - - - - - - General - - - True - - - False - - - False - - - False - - - False - - - 0, 0 - - - - - - False - - - False - - - General - - - False - - - False - - - True - - - False - - - False - - - False - - - - - - - https://mremoteng.org/ - - - cs-CZ,de,el,en,en-US,es-AR,es,fr,hu,it,ja-JP,ko-KR,nb-NO,nl,pt,pt-BR,pl,ru,uk,tr-TR,zh-CN,zh-TW - - - - - - - - - - - - - - - - - + +
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0, 0 + + + 0, 0 + + + Normal + + + False + + + True + + + + + + True + + + True + + + True + + + False + + + False + + + + + + True + + + True + + + False + + + False + + + True + + + False + + + False + + + noinfo + + + + + + + + + + + + False + + + True + + + False + + + False + + + False + + + + + + 80 + + + False + + + + + + + + + + + + RDP + + + Default Settings + + + False + + + FitToWindow + + + Colors16Bit + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + DoNotPlay + + + 2 + + + False + + + False + + + False + + + 0 + + + False + + + True + + + 0, 0 + + + Bottom + + + True + + + 3, 24 + + + Top + + + False + + + False + + + + + + + + + + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + EncrBasic + + + False + + + + + + + + + False + + + False + + + False + + + True + + + False + + + False + + + AuthVNC + + + ColNormal + + + SmartSAspect + + + False + + + CompNone + + + EncHextile + + + + + + + + + 0 + + + ProxyNone + + + + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + NoAuth + + + False + + + 5500 + + + False + + + + + + IE + + + False + + + + + + False + + + False + + + + + + False + + + + + + False + + + False + + + 14 + + + 1980-01-01 + + + False + + + Never + + + Yes + + + mRemoteNG + + + False + + + False + + + False + + + False + + + False + + + False + + + 5 + + + + + + + + + + + + + + + + + + False + + + False + + + False + + + False + + + 4 + + + mRemoteNG + + + 10 + + + {0}.{1:yyyyMMdd-HHmmssffff}.backup + + + False + + + True + + + False + + + False + + + release + + + + + + True + + + + + + + + + True + + + + + + True + + + False + + + False + + + RDP + + + 9/9, 33/8 + + + 9/8, 34/8 + + + False + + + 20 + + + AES + + + GCM + + + 1000 + + + Dynamic + + + False + + + 0 + + + False + + + False + + + False + + + False + + + 00000000-0000-0000-0000-000000000000 + + + + + + False + + + True + + + True + + + True + + + False + + + False + + + True + + + True + + + False + + + False + + + False + + + False + + + True + + + True + + + True + + + + + + + + + + + + General + + + True + + + False + + + False + + + False + + + False + + + 0, 0 + + + + + + False + + + False + + + General + + + False + + + False + + + True + + + False + + + False + + + False + + + + + + + https://mremoteng.org/ + + + cs-CZ,de,el,en,en-US,es-AR,es,fr,hu,it,ja-JP,ko-KR,nb-NO,nl,pt,pt-BR,pl,ru,uk,tr-TR,zh-CN,zh-TW + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mRemoteV1/mRemoteV1.csproj b/mRemoteV1/mRemoteV1.csproj index 2a63792b9..2c6f4e936 100644 --- a/mRemoteV1/mRemoteV1.csproj +++ b/mRemoteV1/mRemoteV1.csproj @@ -77,6 +77,7 @@ + @@ -1074,7 +1075,9 @@ - + + Designer + From 94f8c495d29ef745feaac2a76b9f778181a80aa6 Mon Sep 17 00:00:00 2001 From: Faryan Rezagholi Date: Sun, 23 Jun 2019 17:12:31 +0200 Subject: [PATCH 06/10] updated changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c2fc6e921..7e919b272 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## [Unreleased] ### Added +- #1332: Added option to hide menu strip container ### Changed - #1468: Improved mRemoteNG startup time - #1443: Chinese (simplified) translation improvements From aecaf3fae953b6e8b0f7380c004bdb613c0e3b3b Mon Sep 17 00:00:00 2001 From: Faryan Rezagholi Date: Sun, 31 May 2020 02:12:36 +0200 Subject: [PATCH 07/10] fixed typo --- mRemoteV1/Tools/WindowMenu.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mRemoteV1/Tools/WindowMenu.cs b/mRemoteV1/Tools/WindowMenu.cs index 478e84f99..74776eb14 100644 --- a/mRemoteV1/Tools/WindowMenu.cs +++ b/mRemoteV1/Tools/WindowMenu.cs @@ -85,7 +85,7 @@ namespace mRemoteNG.Tools protected override void Dispose(bool disposing) { - if (disposed) return; + if (_disposed) return; if (disposing) return; ReleaseHandle(); From 382af99ade535bc9681d0a50582df570fb2b0bf4 Mon Sep 17 00:00:00 2001 From: Faryan Rezagholi Date: Sun, 31 May 2020 18:26:36 +0200 Subject: [PATCH 08/10] fixed merge errors --- .../Resources/Language/Language.Designer.cs | 20 +++++++++---------- mRemoteV1/Resources/Language/Language.de.resx | 1 + mRemoteV1/Resources/Language/Language.resx | 1 + mRemoteV1/UI/Menu/AdvancedWindowMenu.cs | 4 ++-- 4 files changed, 14 insertions(+), 12 deletions(-) diff --git a/mRemoteV1/Resources/Language/Language.Designer.cs b/mRemoteV1/Resources/Language/Language.Designer.cs index 9aeb2276d..d8d30b5b1 100644 --- a/mRemoteV1/Resources/Language/Language.Designer.cs +++ b/mRemoteV1/Resources/Language/Language.Designer.cs @@ -349,16 +349,7 @@ namespace mRemoteNG { } /// - /// Looks up a localized string similar to Show/Hide Menu Strip. - /// - internal static string ShowHideMenu { - get { - return ResourceManager.GetString("ShowHideMenu", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Source. + /// Looks up a localized string similar to Always show panel tabs. /// internal static string AlwaysShowPanelTabs { get { @@ -5520,6 +5511,15 @@ namespace mRemoteNG { } } + /// + /// Looks up a localized string similar to Show/Hide Menu Strip. + /// + internal static string ShowHideMenu { + get { + return ResourceManager.GetString("ShowHideMenu", resourceCulture); + } + } + /// /// Looks up a localized string similar to Show logon information on tab names. /// diff --git a/mRemoteV1/Resources/Language/Language.de.resx b/mRemoteV1/Resources/Language/Language.de.resx index 0096ea352..ef665d187 100644 --- a/mRemoteV1/Resources/Language/Language.de.resx +++ b/mRemoteV1/Resources/Language/Language.de.resx @@ -2107,6 +2107,7 @@ Development umfasst Alphas, Betas und Release Candidates. Legt fest, ob der Fensterinhalt angezeigt wird, wenn Sie das Fenster an eine neue Position ziehen. + Verstecke/Zeige Menü diff --git a/mRemoteV1/Resources/Language/Language.resx b/mRemoteV1/Resources/Language/Language.resx index bb5787add..5b7b728d2 100644 --- a/mRemoteV1/Resources/Language/Language.resx +++ b/mRemoteV1/Resources/Language/Language.resx @@ -2269,6 +2269,7 @@ Development Channel includes Alphas, Betas & Release Candidates. Failed to contruct the URL to load + Show/Hide Menu Strip diff --git a/mRemoteV1/UI/Menu/AdvancedWindowMenu.cs b/mRemoteV1/UI/Menu/AdvancedWindowMenu.cs index 208ee146b..eb43d314f 100644 --- a/mRemoteV1/UI/Menu/AdvancedWindowMenu.cs +++ b/mRemoteV1/UI/Menu/AdvancedWindowMenu.cs @@ -45,11 +45,11 @@ namespace mRemoteNG.UI.Menu { _sysMenSubItems[i] = 200 + i; _windowMenu.AppendMenuItem(popMen, WindowMenu.Flags.MF_STRING, new IntPtr(_sysMenSubItems[i]), - Language.strScreen + " " + Convert.ToString(i + 1)); + Language.Screen + " " + Convert.ToString(i + 1)); } _windowMenu.InsertMenuItem(_windowMenu.SystemMenuHandle, 0, WindowMenu.Flags.MF_POPUP | WindowMenu.Flags.MF_BYPOSITION, popMen, - Language.strSendTo); + Language.SendTo); // option to show/hide menu strips _windowMenu.InsertMenuItem(_windowMenu.SystemMenuHandle, 1, WindowMenu.Flags.MF_BYPOSITION, new IntPtr(0), From 381850ec4ba466d7480c2f6296f6b9f61f452db6 Mon Sep 17 00:00:00 2001 From: Faryan Rezagholi Date: Sun, 31 May 2020 18:43:06 +0200 Subject: [PATCH 09/10] updated documentation --- .../images/menus_hide_menu_strip.png | Bin 0 -> 3948 bytes mRemoteV1/Documentation/user_interface.rst | 2 +- .../{menus.rst => menu_container.rst} | 28 ++++++++++++------ mRemoteV1/UI/Forms/frmMain.cs | 9 +----- mRemoteV1/mRemoteV1.csproj | 3 +- 5 files changed, 23 insertions(+), 19 deletions(-) create mode 100644 mRemoteV1/Documentation/images/menus_hide_menu_strip.png rename mRemoteV1/Documentation/user_interface/{menus.rst => menu_container.rst} (93%) diff --git a/mRemoteV1/Documentation/images/menus_hide_menu_strip.png b/mRemoteV1/Documentation/images/menus_hide_menu_strip.png new file mode 100644 index 0000000000000000000000000000000000000000..e659cc855eb7861963bf30b130af24fa50431ccf GIT binary patch literal 3948 zcmbW4XEfYf+s6MQ(HUk0(a9h=i5ewgLxG?{)9J_S$RheP7pJH_8BhpP7N10RRAI9c>N6 z^SE_RD;>@GxYW5;eIBU%4DYK0m0x(*&XbEyYInVzrJ=Z=z6c_RxF>xzgHl z>~TTmkKMOr_mlaR4Re-uci90GIxw{Z%Rhi~gNH<2Wx35nT}3m^US_{e=yFx`Dj5>p zG}Y@G3wg_{%HnRlaA=em<`aLqHqfsE`G`B+p_13??C5r5u9l^ZC!j@fan1h~E^#q&+~Fx3 zl`1mkWo}PmMdRzFdp;N1US4U=sLKeK%{E@sYa`3AjQONaJy~#^HT+)L1dtaK73K`Q zu&0<;oM~}54kZY8>I<_G8yxe}{;z;MEoc5LW_l8h!o)7Kl%qXfwg5?KoF)<#u&IBX zq|`zsq&}5q8K-=>h??(x`tHxy7d_qelzaQCr$IT3#6CVSL9vXnG?F-Pe8+|7o4d15 zEJL}@N|(tk2TX`ov6Ljc82%S!^%;f-;nD3(pt-FS^keSwShKc7E=`23ptS1Bzj22z z2q2A;RSq@stgw~vf)JX(l(QB}lj7;mdjUtYK?^of%lJ54GWI}Sxz%6i#LiYBUs`wE8*8SJFui0|Bp%2X&RsI{o}8)FB)0f#-=j>og%* z$1Lt`bPrRqmc`Q5m%QhxA$$)f&kp5s?w-YWQ8S4?_cjM*C0&L&hL&8r*P?ahR%8Qf zwN>id#$vb>E6-?_kel0A1{F)^DiWd^P`bvAYqxGU$aimp0 zc|vQW=Jo2(59>$7uqTvXwtbp}n7YVw_>DgD*S7Uz zERs>UrhQRoO-*2?kh%Zs&`1MoFk6IaE9ukELj+;xm}7ixz^#qnY5p*Ie-VS=yuvHP zU&!gAV`1Z1t4Tf1gyBG)de^4aUn8SNKNl^>(c0zm?-o5?a6Gd+3G_gIV1%a-r}K$g z4aCeTc-4-;Mr_E@j^I{__O~vRDOa>*WET&#O;Ewsk5x-wbZ(%mKWH$aVr?TVu465U z7#;I1Sd@K}<;mjy3wiG2=h`J<*m7O#m6O=xPy*R{O4EHLIHC>eXJ2+jv}rd<&4K1+ z*(%yE#P(|_QJZfNJik@ETbOXUDx-?rWzyCjAH&fja9~+5RmX`LnZxck&o;sFp4p{u zbHclStMAXTddla+G5PoFEVZxgJ!Wdq;$m_VWB(kv)OC-tUWls>O$p8slr9ILbD}xu zgZX~9HoK2Ia&u-uRIdWg% zeO2ob!}BLSUC_XpMn77>q^C9X75_5vwyYxt;WcQ_y%ctpSe>+Ig4tn04endZN89{*H#7x^qwZt=O@9 zC?z(!3H%gcK7ml2W#uZyRGRnB*X(>X^`Z#oR(W&d<(MYL0lBjnUza_m4^Gn`9vane zsN1F{Ep7wg5;U$%gLDzN3HrxR_s^g2pE>*jcxc=~*6?lb!yYB$oi)=$Eql4V?hqg) z0cS7AulvTlEtRV<(*c_QkRi2n$8pZxa9|jco{R%zdbMGBWGqCkY;@Jt)zJyP7q1B0sy1Oq>Wnv}qPz z;~YEyuB2z+>Keqs+%7q{Tt4OY-@tU5;YWQT%!2nv)9}&5pUhV%V06&Oy_;mpYZ-OE z2r(26Dlu&9BaN68sw$|e@9>_682v~V>%6(Hdp;EvBbK=fmH*^(tq4t|OFj*Ky-o9k zT|$9GcX)nQ1P<`#NZ}In`)?Rc!QTxxwJWfZ(dUoWzfPsvvoFGtPoLkk8ck&*L_p)M zhgkrcbk*Clm~E{VF4e|}&p!>2i?&Fl5LLviP$~~1P%}xr%XKZ!xf6t5abVsy>jVd8 z{N;$*a^}mUEBAG$O+HmeKMk^>)zMwJ08!+*vY3q#atXf2WOHBVTi4`xjz@oW6H|N` z>QrjFXw0+|ESSxM@X@x=E${fQg`dGl!RBSx1$(2%04XLYO%LyXLGDE;Mqj!P_S{Hf z&|W}CR$p9>lYw;&A>r^f6hJ`PP~EPutR%ttWJm*iJ%`O}ZI>?!TiB9-+Cc*$I z=+!O%%Cn=gpzp?aEt=9z@%fXCLsOhoMKk4As;X6E%TZ-h4_;w%5zM%Z9h^tS>adIWp{8XP?F)~;Yoc|y^|lA0KMP@$by;30?C)w& z+^v{n7!ftQHY2mlks*ieRn|$wMGdELv_M;fx9oZ;nsq-g%*U=sq;>h2)(pKGugZ)^ z=FNBYMvavpLzUP~N^9Chi!~)t1)-$(5k#}Tu=j8tA2Id!yYB1#VXQelAr6%ZY1^ILRjOi}uq9v{z zl?1T`wR3jG3@a{Ws@q*n&SAD}sHkV0yk6r;K-Z3dA~w$Nh>=qw4i+}Q_JYwaPyXD@ z+u3CvVDrVjV?2=kPKLZ;H)eitwrMmf40>$0V|~#%KR_7d*HH zY9(SQ2H1rBUkpQDVk=K62(XEkg8XOe@gD{(1CI4FmtrJp-mt!q%jWgGqieg%iQg^M zr!(|~yS)>#A#Kv~&JGN2zAQpcSA5*9&E%#U?xC-CdvZP8k8ek!95?ZxOla;wg?=t> zv+r7%6f`E&PE)3zkGB1iy?DMUM~$i-fiekYAx3a*f`ry1nq^*!l`WILzguQezY>(z zURQ*uN~?z8w+g%U?reSz=x(XusF35=b|PsB2kKa?Z14%7pJIe+R!9?N%Lul?99G?8 z-*`GDgM29@TM)?FPOMs)s`bQ|XTLZ`z3Ski`dwL^N4DTh_|(Ih>ou`uZqqWpwD!K5 zObn&7&FGj`WUtt|>Qrx9Ws>n7{Rd*TH^@_ostbIb$9kki$1l;~`td5OtuYx$PT=gt zbEn24HyatQV?mF^UZhWDO^MW4Pa5R*WM4+Oa|VJGtbXgw&Db88k!#!ql@f50rbRt1 zA`;exCJR>YL^BZ@GpM7;NwJ3wN_@EvD!G+}ZFuqV=n1-LFlo7(FF$xDcuSI$SZlS| zUpA$?kRtvCx7q2kx$Ls~WlGYNv0p-+6y@KU1}`UgWn3SfHU5M<_OL+RTxx@lyb7>v z;?Xz%>|K6mUbdxJ*J8m~IN$=1MT?@6`8Q6BVCp|z)$Ae$&M6Nmrho!3lnC@Ud&i!4 P$bgO}T%%Im=Ec7N>mFq% literal 0 HcmV?d00001 diff --git a/mRemoteV1/Documentation/user_interface.rst b/mRemoteV1/Documentation/user_interface.rst index 61a85abeb..67d20949c 100644 --- a/mRemoteV1/Documentation/user_interface.rst +++ b/mRemoteV1/Documentation/user_interface.rst @@ -9,7 +9,7 @@ User Interface user_interface/main_window.rst user_interface/panels.rst - user_interface/menus.rst + user_interface/menu_container.rst user_interface/connections.rst user_interface/default_connection_properties.rst user_interface/quick_connect.rst diff --git a/mRemoteV1/Documentation/user_interface/menus.rst b/mRemoteV1/Documentation/user_interface/menu_container.rst similarity index 93% rename from mRemoteV1/Documentation/user_interface/menus.rst rename to mRemoteV1/Documentation/user_interface/menu_container.rst index 45eee60d6..c6c64a78a 100644 --- a/mRemoteV1/Documentation/user_interface/menus.rst +++ b/mRemoteV1/Documentation/user_interface/menu_container.rst @@ -1,16 +1,26 @@ -***** -Menus -***** +************** +Menu Container +************** -.. figure:: /images/menus_main_menu.png +Hide Menu Container +=================== -In this section we are going to explain the menus located in mRemoteNG. The above screenshot shows the main menu with colors. +You can hide the Menu Container when right-clicking the mRemoteNG title bar. + +.. figure:: /images/menus_hide_menu_strip.png + +Main Menu +========= + +In this section we are going to explain the menus located in mRemoteNG. - **Red** - Anchor to move menu around the interface - **Green** - The menu items +.. figure:: /images/menus_main_menu.png + File Menu -========= +--------- Contains standard commands for the application. .. list-table:: @@ -43,7 +53,7 @@ Contains standard commands for the application. - Exit mRemoteNG application View Menu -========= +--------- Menu for additional dialogs for mRemoteNG. .. list-table:: @@ -80,7 +90,7 @@ Menu for additional dialogs for mRemoteNG. - Fullscreen mRemoteNG (will not fullscreen connection window but only the mRemoteNG application) Tools Menu -========== +---------- Additional tools that can be used and triggered in mRemoteNG. .. list-table:: @@ -99,7 +109,7 @@ Additional tools that can be used and triggered in mRemoteNG. - Opens mRemoteNG global settings and options dialog Help Menu -========= +--------- Get more information for the application. .. list-table:: diff --git a/mRemoteV1/UI/Forms/frmMain.cs b/mRemoteV1/UI/Forms/frmMain.cs index b28389f77..e13e6eb2d 100644 --- a/mRemoteV1/UI/Forms/frmMain.cs +++ b/mRemoteV1/UI/Forms/frmMain.cs @@ -535,12 +535,7 @@ namespace mRemoteNG.UI.Forms case NativeMethods.WM_ACTIVATEAPP: var candidateTabToFocus = FromChildHandle(NativeMethods.WindowFromPoint(MousePosition)) ?? GetChildAtPoint(MousePosition); - - if (candidateTabToFocus is InterfaceControl) - { - candidateTabToFocus.Parent.Focus(); - } - + if (candidateTabToFocus is InterfaceControl) candidateTabToFocus.Parent.Focus(); _inMouseActivate = false; break; case NativeMethods.WM_ACTIVATE: @@ -578,7 +573,6 @@ namespace mRemoteNG.UI.Forms } } } - break; case NativeMethods.WM_WINDOWPOSCHANGED: // Ignore this message if the window wasn't activated @@ -589,7 +583,6 @@ namespace mRemoteNG.UI.Forms if (!_inMouseActivate && !_inSizeMove) ActivateConnection(); } - break; case NativeMethods.WM_SYSCOMMAND: if (m.WParam == new IntPtr(0)) diff --git a/mRemoteV1/mRemoteV1.csproj b/mRemoteV1/mRemoteV1.csproj index c80d55818..50c69e0f6 100644 --- a/mRemoteV1/mRemoteV1.csproj +++ b/mRemoteV1/mRemoteV1.csproj @@ -1095,7 +1095,7 @@ - + @@ -1147,6 +1147,7 @@ + From e767dcc5cf5b9f8e4eb99436a4ae5c591babea47 Mon Sep 17 00:00:00 2001 From: Faryan Rezagholi Date: Sun, 31 May 2020 18:51:11 +0200 Subject: [PATCH 10/10] fixed null pointer reference due to missing parantheses --- mRemoteV1/UI/Forms/frmMain.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mRemoteV1/UI/Forms/frmMain.cs b/mRemoteV1/UI/Forms/frmMain.cs index e13e6eb2d..5d7a63196 100644 --- a/mRemoteV1/UI/Forms/frmMain.cs +++ b/mRemoteV1/UI/Forms/frmMain.cs @@ -589,8 +589,10 @@ namespace mRemoteNG.UI.Forms ShowHideMenu(); var screen = _advancedWindowMenu.GetScreenById(m.WParam.ToInt32()); if (screen != null) + { Screens.SendFormToScreen(screen); - Console.WriteLine(_advancedWindowMenu.GetScreenById(m.WParam.ToInt32()).ToString()); + Console.WriteLine(_advancedWindowMenu.GetScreenById(m.WParam.ToInt32()).ToString()); + } break; case NativeMethods.WM_DRAWCLIPBOARD: NativeMethods.SendMessage(_fpChainedWindowHandle, m.Msg, m.LParam, m.WParam);