From bb74d46f1fe7ea2374f464060423885281563010 Mon Sep 17 00:00:00 2001 From: maxim-shlain Date: Fri, 8 Jul 2022 19:34:42 +0300 Subject: [PATCH] Implement Show/Hide file menu in view menu --- mRemoteNG/Language/Language.Designer.cs | 22 ++++++++++++++++++++ mRemoteNG/Language/Language.resx | 6 ++++++ mRemoteNG/UI/Forms/frmMain.Designer.cs | 21 ++++++++++++++++--- mRemoteNG/UI/Forms/frmMain.cs | 15 ++++++++++++++ mRemoteNG/UI/Menu/msMain/ViewMenu.cs | 27 +++++++++++++++++++++++-- 5 files changed, 86 insertions(+), 5 deletions(-) diff --git a/mRemoteNG/Language/Language.Designer.cs b/mRemoteNG/Language/Language.Designer.cs index 6b753d3c..3d7dad16 100644 --- a/mRemoteNG/Language/Language.Designer.cs +++ b/mRemoteNG/Language/Language.Designer.cs @@ -1041,6 +1041,17 @@ namespace mRemoteNG.Resources.Language { } } + /// + /// Looks up a localized string similar to Are you sure you want to reset the panels to their default layout?. + /// + internal static string FileMenuWillBeHiddenNow + { + get + { + return ResourceManager.GetString("FileMenuWillBeHiddenNow", resourceCulture); + } + } + /// /// Looks up a localized string similar to Connect. /// @@ -3150,6 +3161,17 @@ namespace mRemoteNG.Resources.Language { } } + /// + /// Looks up a localized string similar to FileMenu. + /// + internal static string FileMenu + { + get + { + return ResourceManager.GetString("FileMenu", resourceCulture); + } + } + /// /// Looks up a localized string similar to No update available. /// diff --git a/mRemoteNG/Language/Language.resx b/mRemoteNG/Language/Language.resx index 639fdd7f..a11591d5 100644 --- a/mRemoteNG/Language/Language.resx +++ b/mRemoteNG/Language/Language.resx @@ -2280,4 +2280,10 @@ Nightly Channel includes Alphas, Betas & Release Candidates. Remote Desktop Manager Files (*.csv) + + File menu + + + File menu is hidded now. Press Alt button to peek + \ No newline at end of file diff --git a/mRemoteNG/UI/Forms/frmMain.Designer.cs b/mRemoteNG/UI/Forms/frmMain.Designer.cs index 0ff629f4..9df0696d 100644 --- a/mRemoteNG/UI/Forms/frmMain.Designer.cs +++ b/mRemoteNG/UI/Forms/frmMain.Designer.cs @@ -1,4 +1,6 @@ -namespace mRemoteNG.UI.Forms +using System.Windows.Forms; + +namespace mRemoteNG.UI.Forms { public partial class FrmMain : System.Windows.Forms.Form { @@ -229,9 +231,22 @@ this.tsContainer.ResumeLayout(false); this.tsContainer.PerformLayout(); this.ResumeLayout(false); - } - internal WeifenLuo.WinFormsUI.Docking.DockPanel pnlDock; + + protected override bool ProcessCmdKey(ref Message msg, Keys keyData) + { + if (keyData == (Keys.Alt | Keys.Menu)) + { + if(!msMain.Visible) + { + msMain.Visible = true; + } + } + + return base.ProcessCmdKey(ref msg, keyData); + } + + internal WeifenLuo.WinFormsUI.Docking.DockPanel pnlDock; internal System.Windows.Forms.MenuStrip msMain; internal System.Windows.Forms.ToolStripContainer tsContainer; internal System.Windows.Forms.Timer tmrAutoSave; diff --git a/mRemoteNG/UI/Forms/frmMain.cs b/mRemoteNG/UI/Forms/frmMain.cs index 4e1277d2..aa1cc45e 100644 --- a/mRemoteNG/UI/Forms/frmMain.cs +++ b/mRemoteNG/UI/Forms/frmMain.cs @@ -727,9 +727,24 @@ namespace mRemoteNG.UI.Forms Windows.ErrorsForm.Show(pnlDock, DockState.DockBottomAutoHide); viewMenu._mMenViewErrorsAndInfos.Checked = true; + ShowFileMenu(); + pnlDock.Visible = true; } + public void ShowFileMenu() + { + msMain.Visible = true; + viewMenu._mMenViewFileMenu.Checked = true; + } + + public void HideFileMenu() + { + msMain.Visible = false; + viewMenu._mMenViewFileMenu.Checked = false; + MessageBox.Show(Language.FileMenuWillBeHiddenNow, string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Information); + } + public void SetLayout() { pnlDock.Visible = false; diff --git a/mRemoteNG/UI/Menu/msMain/ViewMenu.cs b/mRemoteNG/UI/Menu/msMain/ViewMenu.cs index 533aee41..248b4863 100644 --- a/mRemoteNG/UI/Menu/msMain/ViewMenu.cs +++ b/mRemoteNG/UI/Menu/msMain/ViewMenu.cs @@ -1,12 +1,11 @@ using System; using System.Windows.Forms; using mRemoteNG.App; -using mRemoteNG.Connection; using mRemoteNG.Properties; +using mRemoteNG.Resources.Language; using mRemoteNG.UI.Forms; using mRemoteNG.UI.Panels; using mRemoteNG.UI.Window; -using mRemoteNG.Resources.Language; namespace mRemoteNG.UI.Menu { @@ -16,6 +15,7 @@ namespace mRemoteNG.UI.Menu private ToolStripMenuItem _mMenReconnectAll; private ToolStripSeparator _mMenViewSep1; public ToolStripMenuItem _mMenViewErrorsAndInfos; + public ToolStripMenuItem _mMenViewFileMenu; private ToolStripMenuItem _mMenViewAddConnectionPanel; private ToolStripSeparator _mMenViewSep2; private ToolStripMenuItem _mMenViewFullscreen; @@ -45,6 +45,7 @@ namespace mRemoteNG.UI.Menu _mMenViewAddConnectionPanel = new ToolStripMenuItem(); _mMenViewConnectionPanels = new ToolStripMenuItem(); _mMenViewSep1 = new ToolStripSeparator(); + _mMenViewFileMenu = new ToolStripMenuItem(); _mMenViewErrorsAndInfos = new ToolStripMenuItem(); _mMenViewResetLayout = new ToolStripMenuItem(); _mMenViewLockToolbars = new ToolStripMenuItem(); @@ -60,6 +61,7 @@ namespace mRemoteNG.UI.Menu // DropDownItems.AddRange(new ToolStripItem[] { + _mMenViewFileMenu, _mMenViewErrorsAndInfos, _mMenViewQuickConnectToolbar, _mMenViewExtAppsToolbar, @@ -106,6 +108,15 @@ namespace mRemoteNG.UI.Menu _mMenViewSep1.Name = "mMenViewSep1"; _mMenViewSep1.Size = new System.Drawing.Size(225, 6); // + // mMenViewFile + // + _mMenViewFileMenu.Checked = true; + _mMenViewFileMenu.CheckState = CheckState.Checked; + _mMenViewFileMenu.Name = "mMenViewFile"; + _mMenViewFileMenu.Size = new System.Drawing.Size(228, 22); + _mMenViewFileMenu.Text = Language.FileMenu; + _mMenViewFileMenu.Click += mMenViewFileMenu_Click; + // // mMenViewErrorsAndInfos // _mMenViewErrorsAndInfos.Checked = true; @@ -224,6 +235,18 @@ namespace mRemoteNG.UI.Menu } } + private void mMenViewFileMenu_Click(object sender, EventArgs e) + { + if (_mMenViewFileMenu.Checked == false) + { + MainForm.ShowFileMenu(); + } + else + { + MainForm.HideFileMenu(); + } + } + private void mMenViewResetLayout_Click(object sender, EventArgs e) { var msgBoxResult = MessageBox.Show(Language.ConfirmResetLayout, string.Empty, MessageBoxButtons.YesNo, MessageBoxIcon.Question);