From 0ac39af40422aaf398684f5b300b4127bba0d70b Mon Sep 17 00:00:00 2001 From: BlueBlock Date: Thu, 9 Feb 2023 13:41:31 -0500 Subject: [PATCH] modify "auto reconnect" to really auto-reconnect The auto-reconnect does not automatically reconnect but instead displays a reconnect dialog. A second Options checkbox is added to allow true auto-reconnect. --- mRemoteNG/Config/Settings/SettingsSaver.cs | 1 - mRemoteNG/Language/Language.resx | 7 +- mRemoteNG/Properties/App.Designer.cs | 14 +- mRemoteNG/Properties/App.settings | 3 - .../OptionsAdvancedPage.Designer.cs | 14 +- .../Properties/OptionsAdvancedPage.settings | 3 + mRemoteNG/Properties/Settings.Designer.cs | 12 - mRemoteNG/Properties/Settings.settings | 3 - .../Cmdline/StartupArgumentsInterpreter.cs | 2 +- mRemoteNG/Tools/ReconnectGroup.cs | 2 + .../OptionsPages/AdvancedPage.Designer.cs | 372 ++++++++++-------- .../UI/Forms/OptionsPages/AdvancedPage.cs | 16 + .../UI/Forms/OptionsPages/AdvancedPage.resx | 62 +-- mRemoteNG/UI/Window/ConnectionTreeWindow.cs | 2 +- 14 files changed, 244 insertions(+), 269 deletions(-) diff --git a/mRemoteNG/Config/Settings/SettingsSaver.cs b/mRemoteNG/Config/Settings/SettingsSaver.cs index ff31d23f..da967c54 100644 --- a/mRemoteNG/Config/Settings/SettingsSaver.cs +++ b/mRemoteNG/Config/Settings/SettingsSaver.cs @@ -41,7 +41,6 @@ namespace mRemoteNG.Config.Settings Properties.App.Default.FirstStart = false; Properties.App.Default.ResetPanels = false; Properties.App.Default.ResetToolbars = false; - Properties.Settings.Default.NoReconnect = false; SaveExternalAppsToolbarLocation(externalToolsToolStrip); SaveQuickConnectToolbarLocation(quickConnectToolStrip); diff --git a/mRemoteNG/Language/Language.resx b/mRemoteNG/Language/Language.resx index 511f1633..55d6dd04 100644 --- a/mRemoteNG/Language/Language.resx +++ b/mRemoteNG/Language/Language.resx @@ -247,7 +247,7 @@ Check failed! - Automatically try to reconnect when disconnected from server (RDP && ICA only) + Display reconnection dialog when disconnected from server (RDP && ICA only) Do not show this message again. @@ -1367,7 +1367,7 @@ If you run into such an error, please create a new connection file! Couldn't create RDP control, please check mRemoteNG requirements. - Disable Cursor blinking + Disable Cursor Blinking Disable Cursor Shadow @@ -2313,4 +2313,7 @@ Nightly Channel includes Alphas, Betas & Release Candidates. Use External Credential Provider + + Automatically try to reconnect when disconnected from server (RDP && ICA only) + \ No newline at end of file diff --git a/mRemoteNG/Properties/App.Designer.cs b/mRemoteNG/Properties/App.Designer.cs index ee3ac449..b4ae4e4d 100644 --- a/mRemoteNG/Properties/App.Designer.cs +++ b/mRemoteNG/Properties/App.Designer.cs @@ -12,7 +12,7 @@ namespace mRemoteNG.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.1.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.4.0.0")] internal sealed partial class App : global::System.Configuration.ApplicationSettingsBase { private static App defaultInstance = ((App)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new App()))); @@ -143,18 +143,6 @@ namespace mRemoteNG.Properties { } } - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("False")] - public bool NoReconnect { - get { - return ((bool)(this["NoReconnect"])); - } - set { - this["NoReconnect"] = value; - } - } - [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute("True")] diff --git a/mRemoteNG/Properties/App.settings b/mRemoteNG/Properties/App.settings index c97c38e7..0797d47a 100644 --- a/mRemoteNG/Properties/App.settings +++ b/mRemoteNG/Properties/App.settings @@ -32,9 +32,6 @@ False - - False - True diff --git a/mRemoteNG/Properties/OptionsAdvancedPage.Designer.cs b/mRemoteNG/Properties/OptionsAdvancedPage.Designer.cs index 7852e03e..dacc9f39 100644 --- a/mRemoteNG/Properties/OptionsAdvancedPage.Designer.cs +++ b/mRemoteNG/Properties/OptionsAdvancedPage.Designer.cs @@ -12,7 +12,7 @@ namespace mRemoteNG.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.1.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.4.0.0")] internal sealed partial class OptionsAdvancedPage : global::System.Configuration.ApplicationSettingsBase { private static OptionsAdvancedPage defaultInstance = ((OptionsAdvancedPage)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new OptionsAdvancedPage()))); @@ -106,5 +106,17 @@ namespace mRemoteNG.Properties { this["cbAdvancedPageInOptionMenu"] = value; } } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool NoReconnect { + get { + return ((bool)(this["NoReconnect"])); + } + set { + this["NoReconnect"] = value; + } + } } } diff --git a/mRemoteNG/Properties/OptionsAdvancedPage.settings b/mRemoteNG/Properties/OptionsAdvancedPage.settings index be0c1629..877c681a 100644 --- a/mRemoteNG/Properties/OptionsAdvancedPage.settings +++ b/mRemoteNG/Properties/OptionsAdvancedPage.settings @@ -23,5 +23,8 @@ True + + False + \ No newline at end of file diff --git a/mRemoteNG/Properties/Settings.Designer.cs b/mRemoteNG/Properties/Settings.Designer.cs index 45be5029..272e6d86 100644 --- a/mRemoteNG/Properties/Settings.Designer.cs +++ b/mRemoteNG/Properties/Settings.Designer.cs @@ -251,18 +251,6 @@ namespace mRemoteNG.Properties { } } - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("False")] - public bool NoReconnect { - get { - return ((bool)(this["NoReconnect"])); - } - set { - this["NoReconnect"] = value; - } - } - [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute("False")] diff --git a/mRemoteNG/Properties/Settings.settings b/mRemoteNG/Properties/Settings.settings index b3d508d7..cd6d992f 100644 --- a/mRemoteNG/Properties/Settings.settings +++ b/mRemoteNG/Properties/Settings.settings @@ -59,9 +59,6 @@ False - - False - False diff --git a/mRemoteNG/Tools/Cmdline/StartupArgumentsInterpreter.cs b/mRemoteNG/Tools/Cmdline/StartupArgumentsInterpreter.cs index ca02d778..c61b34d2 100644 --- a/mRemoteNG/Tools/Cmdline/StartupArgumentsInterpreter.cs +++ b/mRemoteNG/Tools/Cmdline/StartupArgumentsInterpreter.cs @@ -77,7 +77,7 @@ namespace mRemoteNG.Tools.Cmdline if (args["noreconnect"] == null && args["norc"] == null) return; _messageCollector.AddMessage(MessageClass.DebugMsg, "Cmdline arg: Disabling reconnection to previously connected hosts"); - Properties.App.Default.NoReconnect = true; + Properties.OptionsAdvancedPage.Default.NoReconnect = true; } private void ParseCustomConnectionPathArg(CmdArgumentsInterpreter args) diff --git a/mRemoteNG/Tools/ReconnectGroup.cs b/mRemoteNG/Tools/ReconnectGroup.cs index 6aa9bc26..b631527f 100644 --- a/mRemoteNG/Tools/ReconnectGroup.cs +++ b/mRemoteNG/Tools/ReconnectGroup.cs @@ -1,5 +1,6 @@ using System; using System.Drawing; +using Google.Protobuf; using mRemoteNG.Resources.Language; namespace mRemoteNG.Tools @@ -9,6 +10,7 @@ namespace mRemoteNG.Tools public ReconnectGroup() { InitializeComponent(); + chkReconnectWhenReady.Checked = !Properties.OptionsAdvancedPage.Default.NoReconnect; } private bool _ServerReady; diff --git a/mRemoteNG/UI/Forms/OptionsPages/AdvancedPage.Designer.cs b/mRemoteNG/UI/Forms/OptionsPages/AdvancedPage.Designer.cs index 18220d25..b036d2e5 100644 --- a/mRemoteNG/UI/Forms/OptionsPages/AdvancedPage.Designer.cs +++ b/mRemoteNG/UI/Forms/OptionsPages/AdvancedPage.Designer.cs @@ -32,193 +32,222 @@ namespace mRemoteNG.UI.Forms.OptionsPages [System.Diagnostics.DebuggerStepThrough()] private void InitializeComponent() { - this.lblMaximumPuttyWaitTime = new mRemoteNG.UI.Controls.MrngLabel(); - this.chkAutomaticReconnect = new MrngCheckBox(); - this.numPuttyWaitTime = new mRemoteNG.UI.Controls.MrngNumericUpDown(); - this.chkUseCustomPuttyPath = new MrngCheckBox(); - this.lblConfigurePuttySessions = new mRemoteNG.UI.Controls.MrngLabel(); - this.numUVNCSCPort = new mRemoteNG.UI.Controls.MrngNumericUpDown(); - this.txtCustomPuttyPath = new mRemoteNG.UI.Controls.MrngTextBox(); - this.btnLaunchPutty = new MrngButton(); - this.lblUVNCSCPort = new mRemoteNG.UI.Controls.MrngLabel(); - this.lblSeconds = new mRemoteNG.UI.Controls.MrngLabel(); - this.btnBrowseCustomPuttyPath = new MrngButton(); - this.chkLoadBalanceInfoUseUtf8 = new MrngCheckBox(); - ((System.ComponentModel.ISupportInitialize)(this.numPuttyWaitTime)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.numUVNCSCPort)).BeginInit(); - this.SuspendLayout(); - // - // lblMaximumPuttyWaitTime - // - this.lblMaximumPuttyWaitTime.Location = new System.Drawing.Point(3, 145); - this.lblMaximumPuttyWaitTime.Name = "lblMaximumPuttyWaitTime"; - this.lblMaximumPuttyWaitTime.Size = new System.Drawing.Size(364, 20); - this.lblMaximumPuttyWaitTime.TabIndex = 7; - this.lblMaximumPuttyWaitTime.Text = "Maximum PuTTY wait time:"; - this.lblMaximumPuttyWaitTime.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // chkAutomaticReconnect - // - this.chkAutomaticReconnect._mice = MrngCheckBox.MouseState.OUT; - this.chkAutomaticReconnect.AutoSize = true; - this.chkAutomaticReconnect.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.chkAutomaticReconnect.Location = new System.Drawing.Point(3, 3); - this.chkAutomaticReconnect.Name = "chkAutomaticReconnect"; - this.chkAutomaticReconnect.Size = new System.Drawing.Size(430, 17); - this.chkAutomaticReconnect.TabIndex = 1; - this.chkAutomaticReconnect.Text = "Automatically try to reconnect when disconnected from server (RDP && ICA only)"; - this.chkAutomaticReconnect.UseVisualStyleBackColor = true; - // - // numPuttyWaitTime - // - this.numPuttyWaitTime.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.numPuttyWaitTime.Location = new System.Drawing.Point(373, 143); - this.numPuttyWaitTime.Maximum = new decimal(new int[] { + this.lblMaximumPuttyWaitTime = new mRemoteNG.UI.Controls.MrngLabel(); + this.chkAutomaticReconnect = new mRemoteNG.UI.Controls.MrngCheckBox(); + this.numPuttyWaitTime = new mRemoteNG.UI.Controls.MrngNumericUpDown(); + this.chkUseCustomPuttyPath = new mRemoteNG.UI.Controls.MrngCheckBox(); + this.lblConfigurePuttySessions = new mRemoteNG.UI.Controls.MrngLabel(); + this.numUVNCSCPort = new mRemoteNG.UI.Controls.MrngNumericUpDown(); + this.txtCustomPuttyPath = new mRemoteNG.UI.Controls.MrngTextBox(); + this.btnLaunchPutty = new mRemoteNG.UI.Controls.MrngButton(); + this.lblUVNCSCPort = new mRemoteNG.UI.Controls.MrngLabel(); + this.lblSeconds = new mRemoteNG.UI.Controls.MrngLabel(); + this.btnBrowseCustomPuttyPath = new mRemoteNG.UI.Controls.MrngButton(); + this.chkLoadBalanceInfoUseUtf8 = new mRemoteNG.UI.Controls.MrngCheckBox(); + this.chkNoReconnect = new mRemoteNG.UI.Controls.MrngCheckBox(); + ((System.ComponentModel.ISupportInitialize)(this.numPuttyWaitTime)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numUVNCSCPort)).BeginInit(); + this.SuspendLayout(); + // + // lblMaximumPuttyWaitTime + // + this.lblMaximumPuttyWaitTime.Location = new System.Drawing.Point(4, 253); + this.lblMaximumPuttyWaitTime.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblMaximumPuttyWaitTime.Name = "lblMaximumPuttyWaitTime"; + this.lblMaximumPuttyWaitTime.Size = new System.Drawing.Size(546, 30); + this.lblMaximumPuttyWaitTime.TabIndex = 7; + this.lblMaximumPuttyWaitTime.Text = "Maximum PuTTY wait time:"; + this.lblMaximumPuttyWaitTime.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // chkAutomaticReconnect + // + this.chkAutomaticReconnect._mice = mRemoteNG.UI.Controls.MrngCheckBox.MouseState.OUT; + this.chkAutomaticReconnect.AutoSize = true; + this.chkAutomaticReconnect.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point); + this.chkAutomaticReconnect.Location = new System.Drawing.Point(4, 4); + this.chkAutomaticReconnect.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.chkAutomaticReconnect.Name = "chkAutomaticReconnect"; + this.chkAutomaticReconnect.Size = new System.Drawing.Size(625, 27); + this.chkAutomaticReconnect.TabIndex = 1; + this.chkAutomaticReconnect.Text = "Display reconnection dialog when disconnected from server (RDP && ICA only)"; + this.chkAutomaticReconnect.UseVisualStyleBackColor = true; + this.chkAutomaticReconnect.CheckedChanged += new System.EventHandler(this.chkAutomaticReconnect_CheckedChanged); + // + // chkNoReconnect + // + this.chkNoReconnect._mice = mRemoteNG.UI.Controls.MrngCheckBox.MouseState.OUT; + this.chkNoReconnect.AutoSize = true; + this.chkNoReconnect.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point); + this.chkNoReconnect.Location = new System.Drawing.Point(32, 39); + this.chkNoReconnect.Margin = new System.Windows.Forms.Padding(4); + this.chkNoReconnect.Name = "chkNoReconnect"; + this.chkNoReconnect.Size = new System.Drawing.Size(645, 27); + this.chkNoReconnect.TabIndex = 11; + this.chkNoReconnect.Text = "Automatically try to reconnect when disconnected from server (RDP && ICA only)"; + this.chkNoReconnect.UseVisualStyleBackColor = true; + this.chkNoReconnect.CheckedChanged += new System.EventHandler(this.chkNoReconnect_CheckedChanged); + // + // numPuttyWaitTime + // + this.numPuttyWaitTime.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.numPuttyWaitTime.Location = new System.Drawing.Point(1260, 482); + this.numPuttyWaitTime.Margin = new System.Windows.Forms.Padding(9, 9, 9, 9); + this.numPuttyWaitTime.Maximum = new decimal(new int[] { 999, 0, 0, 0}); - this.numPuttyWaitTime.Name = "numPuttyWaitTime"; - this.numPuttyWaitTime.Size = new System.Drawing.Size(60, 22); - this.numPuttyWaitTime.TabIndex = 7; - this.numPuttyWaitTime.Value = new decimal(new int[] { + this.numPuttyWaitTime.Name = "numPuttyWaitTime"; + this.numPuttyWaitTime.Size = new System.Drawing.Size(202, 29); + this.numPuttyWaitTime.TabIndex = 7; + this.numPuttyWaitTime.Value = new decimal(new int[] { 5, 0, 0, 0}); - // - // chkUseCustomPuttyPath - // - this.chkUseCustomPuttyPath._mice = MrngCheckBox.MouseState.OUT; - this.chkUseCustomPuttyPath.AutoSize = true; - this.chkUseCustomPuttyPath.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.chkUseCustomPuttyPath.Location = new System.Drawing.Point(3, 49); - this.chkUseCustomPuttyPath.Name = "chkUseCustomPuttyPath"; - this.chkUseCustomPuttyPath.Size = new System.Drawing.Size(146, 17); - this.chkUseCustomPuttyPath.TabIndex = 3; - this.chkUseCustomPuttyPath.Text = "Use custom PuTTY path:"; - this.chkUseCustomPuttyPath.UseVisualStyleBackColor = true; - this.chkUseCustomPuttyPath.CheckedChanged += new System.EventHandler(this.chkUseCustomPuttyPath_CheckedChanged); - // - // lblConfigurePuttySessions - // - this.lblConfigurePuttySessions.Location = new System.Drawing.Point(3, 109); - this.lblConfigurePuttySessions.Name = "lblConfigurePuttySessions"; - this.lblConfigurePuttySessions.Size = new System.Drawing.Size(364, 25); - this.lblConfigurePuttySessions.TabIndex = 5; - this.lblConfigurePuttySessions.Text = "To configure PuTTY sessions click this button:"; - this.lblConfigurePuttySessions.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // numUVNCSCPort - // - this.numUVNCSCPort.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.numUVNCSCPort.Location = new System.Drawing.Point(373, 171); - this.numUVNCSCPort.Maximum = new decimal(new int[] { + // + // chkUseCustomPuttyPath + // + this.chkUseCustomPuttyPath._mice = mRemoteNG.UI.Controls.MrngCheckBox.MouseState.OUT; + this.chkUseCustomPuttyPath.AutoSize = true; + this.chkUseCustomPuttyPath.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point); + this.chkUseCustomPuttyPath.Location = new System.Drawing.Point(4, 109); + this.chkUseCustomPuttyPath.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.chkUseCustomPuttyPath.Name = "chkUseCustomPuttyPath"; + this.chkUseCustomPuttyPath.Size = new System.Drawing.Size(221, 27); + this.chkUseCustomPuttyPath.TabIndex = 3; + this.chkUseCustomPuttyPath.Text = "Use custom PuTTY path:"; + this.chkUseCustomPuttyPath.UseVisualStyleBackColor = true; + this.chkUseCustomPuttyPath.CheckedChanged += new System.EventHandler(this.chkUseCustomPuttyPath_CheckedChanged); + // + // lblConfigurePuttySessions + // + this.lblConfigurePuttySessions.Location = new System.Drawing.Point(4, 199); + this.lblConfigurePuttySessions.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblConfigurePuttySessions.Name = "lblConfigurePuttySessions"; + this.lblConfigurePuttySessions.Size = new System.Drawing.Size(546, 38); + this.lblConfigurePuttySessions.TabIndex = 5; + this.lblConfigurePuttySessions.Text = "To configure PuTTY sessions click this button:"; + this.lblConfigurePuttySessions.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // numUVNCSCPort + // + this.numUVNCSCPort.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.numUVNCSCPort.Location = new System.Drawing.Point(1260, 576); + this.numUVNCSCPort.Margin = new System.Windows.Forms.Padding(9, 9, 9, 9); + this.numUVNCSCPort.Maximum = new decimal(new int[] { 65535, 0, 0, 0}); - this.numUVNCSCPort.Name = "numUVNCSCPort"; - this.numUVNCSCPort.Size = new System.Drawing.Size(60, 22); - this.numUVNCSCPort.TabIndex = 8; - this.numUVNCSCPort.Value = new decimal(new int[] { + this.numUVNCSCPort.Name = "numUVNCSCPort"; + this.numUVNCSCPort.Size = new System.Drawing.Size(202, 29); + this.numUVNCSCPort.TabIndex = 8; + this.numUVNCSCPort.Value = new decimal(new int[] { 5500, 0, 0, 0}); - this.numUVNCSCPort.Visible = false; - // - // txtCustomPuttyPath - // - this.txtCustomPuttyPath.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.txtCustomPuttyPath.Enabled = false; - this.txtCustomPuttyPath.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.txtCustomPuttyPath.Location = new System.Drawing.Point(21, 72); - this.txtCustomPuttyPath.Name = "txtCustomPuttyPath"; - this.txtCustomPuttyPath.Size = new System.Drawing.Size(346, 22); - this.txtCustomPuttyPath.TabIndex = 4; - this.txtCustomPuttyPath.TextChanged += new System.EventHandler(this.txtCustomPuttyPath_TextChanged); - // - // btnLaunchPutty - // - this.btnLaunchPutty._mice = MrngButton.MouseState.OUT; - this.btnLaunchPutty.Image = global::mRemoteNG.Properties.Resources.PuttyConfig; - this.btnLaunchPutty.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; - this.btnLaunchPutty.Location = new System.Drawing.Point(373, 109); - this.btnLaunchPutty.Name = "btnLaunchPutty"; - this.btnLaunchPutty.Size = new System.Drawing.Size(122, 25); - this.btnLaunchPutty.TabIndex = 6; - this.btnLaunchPutty.Text = "Launch PuTTY"; - this.btnLaunchPutty.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.btnLaunchPutty.UseVisualStyleBackColor = true; - this.btnLaunchPutty.Click += new System.EventHandler(this.btnLaunchPutty_Click); - // - // lblUVNCSCPort - // - this.lblUVNCSCPort.Location = new System.Drawing.Point(3, 174); - this.lblUVNCSCPort.Name = "lblUVNCSCPort"; - this.lblUVNCSCPort.Size = new System.Drawing.Size(364, 19); - this.lblUVNCSCPort.TabIndex = 10; - this.lblUVNCSCPort.Text = "UltraVNC SingleClick Listening Port:"; - this.lblUVNCSCPort.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.lblUVNCSCPort.Visible = false; - // - // lblSeconds - // - this.lblSeconds.AutoSize = true; - this.lblSeconds.Location = new System.Drawing.Point(439, 149); - this.lblSeconds.Name = "lblSeconds"; - this.lblSeconds.Size = new System.Drawing.Size(49, 13); - this.lblSeconds.TabIndex = 9; - this.lblSeconds.Text = "seconds"; - // - // btnBrowseCustomPuttyPath - // - this.btnBrowseCustomPuttyPath._mice = MrngButton.MouseState.OUT; - this.btnBrowseCustomPuttyPath.Enabled = false; - this.btnBrowseCustomPuttyPath.Location = new System.Drawing.Point(373, 71); - this.btnBrowseCustomPuttyPath.Name = "btnBrowseCustomPuttyPath"; - this.btnBrowseCustomPuttyPath.Size = new System.Drawing.Size(122, 25); - this.btnBrowseCustomPuttyPath.TabIndex = 5; - this.btnBrowseCustomPuttyPath.Text = "Browse..."; - this.btnBrowseCustomPuttyPath.UseVisualStyleBackColor = true; - this.btnBrowseCustomPuttyPath.Click += new System.EventHandler(this.btnBrowseCustomPuttyPath_Click); - // - // chkLoadBalanceInfoUseUtf8 - // - this.chkLoadBalanceInfoUseUtf8._mice = MrngCheckBox.MouseState.OUT; - this.chkLoadBalanceInfoUseUtf8.AutoSize = true; - this.chkLoadBalanceInfoUseUtf8.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.chkLoadBalanceInfoUseUtf8.Location = new System.Drawing.Point(3, 26); - this.chkLoadBalanceInfoUseUtf8.Name = "chkLoadBalanceInfoUseUtf8"; - this.chkLoadBalanceInfoUseUtf8.Size = new System.Drawing.Size(317, 17); - this.chkLoadBalanceInfoUseUtf8.TabIndex = 2; - this.chkLoadBalanceInfoUseUtf8.Text = "Use UTF8 encoding for RDP \"Load Balance Info\" property"; - this.chkLoadBalanceInfoUseUtf8.UseVisualStyleBackColor = true; - // - // AdvancedPage - // - this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; - this.Controls.Add(this.chkLoadBalanceInfoUseUtf8); - this.Controls.Add(this.lblMaximumPuttyWaitTime); - this.Controls.Add(this.chkAutomaticReconnect); - this.Controls.Add(this.numPuttyWaitTime); - this.Controls.Add(this.chkUseCustomPuttyPath); - this.Controls.Add(this.lblConfigurePuttySessions); - this.Controls.Add(this.numUVNCSCPort); - this.Controls.Add(this.txtCustomPuttyPath); - this.Controls.Add(this.btnLaunchPutty); - this.Controls.Add(this.lblUVNCSCPort); - this.Controls.Add(this.lblSeconds); - this.Controls.Add(this.btnBrowseCustomPuttyPath); - this.Margin = new System.Windows.Forms.Padding(4); - this.Name = "AdvancedPage"; - this.Size = new System.Drawing.Size(610, 490); - ((System.ComponentModel.ISupportInitialize)(this.numPuttyWaitTime)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.numUVNCSCPort)).EndInit(); - this.ResumeLayout(false); - this.PerformLayout(); + this.numUVNCSCPort.Visible = false; + // + // txtCustomPuttyPath + // + this.txtCustomPuttyPath.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.txtCustomPuttyPath.Enabled = false; + this.txtCustomPuttyPath.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point); + this.txtCustomPuttyPath.Location = new System.Drawing.Point(32, 143); + this.txtCustomPuttyPath.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.txtCustomPuttyPath.Name = "txtCustomPuttyPath"; + this.txtCustomPuttyPath.Size = new System.Drawing.Size(518, 29); + this.txtCustomPuttyPath.TabIndex = 4; + this.txtCustomPuttyPath.TextChanged += new System.EventHandler(this.txtCustomPuttyPath_TextChanged); + // + // btnLaunchPutty + // + this.btnLaunchPutty._mice = mRemoteNG.UI.Controls.MrngButton.MouseState.OUT; + this.btnLaunchPutty.Image = global::mRemoteNG.Properties.Resources.PuttyConfig; + this.btnLaunchPutty.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnLaunchPutty.Location = new System.Drawing.Point(560, 199); + this.btnLaunchPutty.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.btnLaunchPutty.Name = "btnLaunchPutty"; + this.btnLaunchPutty.Size = new System.Drawing.Size(183, 38); + this.btnLaunchPutty.TabIndex = 6; + this.btnLaunchPutty.Text = "Launch PuTTY"; + this.btnLaunchPutty.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.btnLaunchPutty.UseVisualStyleBackColor = true; + this.btnLaunchPutty.Click += new System.EventHandler(this.btnLaunchPutty_Click); + // + // lblUVNCSCPort + // + this.lblUVNCSCPort.Location = new System.Drawing.Point(4, 296); + this.lblUVNCSCPort.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblUVNCSCPort.Name = "lblUVNCSCPort"; + this.lblUVNCSCPort.Size = new System.Drawing.Size(546, 28); + this.lblUVNCSCPort.TabIndex = 10; + this.lblUVNCSCPort.Text = "UltraVNC SingleClick Listening Port:"; + this.lblUVNCSCPort.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.lblUVNCSCPort.Visible = false; + // + // lblSeconds + // + this.lblSeconds.AutoSize = true; + this.lblSeconds.Location = new System.Drawing.Point(658, 259); + this.lblSeconds.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblSeconds.Name = "lblSeconds"; + this.lblSeconds.Size = new System.Drawing.Size(71, 23); + this.lblSeconds.TabIndex = 9; + this.lblSeconds.Text = "seconds"; + // + // btnBrowseCustomPuttyPath + // + this.btnBrowseCustomPuttyPath._mice = mRemoteNG.UI.Controls.MrngButton.MouseState.OUT; + this.btnBrowseCustomPuttyPath.Enabled = false; + this.btnBrowseCustomPuttyPath.Location = new System.Drawing.Point(560, 141); + this.btnBrowseCustomPuttyPath.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.btnBrowseCustomPuttyPath.Name = "btnBrowseCustomPuttyPath"; + this.btnBrowseCustomPuttyPath.Size = new System.Drawing.Size(183, 38); + this.btnBrowseCustomPuttyPath.TabIndex = 5; + this.btnBrowseCustomPuttyPath.Text = "Browse..."; + this.btnBrowseCustomPuttyPath.UseVisualStyleBackColor = true; + this.btnBrowseCustomPuttyPath.Click += new System.EventHandler(this.btnBrowseCustomPuttyPath_Click); + // + // chkLoadBalanceInfoUseUtf8 + // + this.chkLoadBalanceInfoUseUtf8._mice = mRemoteNG.UI.Controls.MrngCheckBox.MouseState.OUT; + this.chkLoadBalanceInfoUseUtf8.AutoSize = true; + this.chkLoadBalanceInfoUseUtf8.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point); + this.chkLoadBalanceInfoUseUtf8.Location = new System.Drawing.Point(4, 74); + this.chkLoadBalanceInfoUseUtf8.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.chkLoadBalanceInfoUseUtf8.Name = "chkLoadBalanceInfoUseUtf8"; + this.chkLoadBalanceInfoUseUtf8.Size = new System.Drawing.Size(471, 27); + this.chkLoadBalanceInfoUseUtf8.TabIndex = 2; + this.chkLoadBalanceInfoUseUtf8.Text = "Use UTF8 encoding for RDP \"Load Balance Info\" property"; + this.chkLoadBalanceInfoUseUtf8.UseVisualStyleBackColor = true; + // + // AdvancedPage + // + this.AutoScaleDimensions = new System.Drawing.SizeF(144F, 144F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; + this.Controls.Add(this.chkNoReconnect); + this.Controls.Add(this.chkLoadBalanceInfoUseUtf8); + this.Controls.Add(this.lblMaximumPuttyWaitTime); + this.Controls.Add(this.chkAutomaticReconnect); + this.Controls.Add(this.numPuttyWaitTime); + this.Controls.Add(this.chkUseCustomPuttyPath); + this.Controls.Add(this.lblConfigurePuttySessions); + this.Controls.Add(this.numUVNCSCPort); + this.Controls.Add(this.txtCustomPuttyPath); + this.Controls.Add(this.btnLaunchPutty); + this.Controls.Add(this.lblUVNCSCPort); + this.Controls.Add(this.lblSeconds); + this.Controls.Add(this.btnBrowseCustomPuttyPath); + this.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); + this.Name = "AdvancedPage"; + this.Size = new System.Drawing.Size(915, 735); + ((System.ComponentModel.ISupportInitialize)(this.numPuttyWaitTime)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numUVNCSCPort)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); } internal Controls.MrngLabel lblMaximumPuttyWaitTime; @@ -233,5 +262,6 @@ namespace mRemoteNG.UI.Forms.OptionsPages internal Controls.MrngLabel lblSeconds; internal MrngButton btnBrowseCustomPuttyPath; private MrngCheckBox chkLoadBalanceInfoUseUtf8; + internal MrngCheckBox chkNoReconnect; } } diff --git a/mRemoteNG/UI/Forms/OptionsPages/AdvancedPage.cs b/mRemoteNG/UI/Forms/OptionsPages/AdvancedPage.cs index 52174348..6dcc9af2 100644 --- a/mRemoteNG/UI/Forms/OptionsPages/AdvancedPage.cs +++ b/mRemoteNG/UI/Forms/OptionsPages/AdvancedPage.cs @@ -38,6 +38,7 @@ namespace mRemoteNG.UI.Forms.OptionsPages lblSeconds.Text = Language.Seconds; lblMaximumPuttyWaitTime.Text = Language.PuttyTimeout; chkAutomaticReconnect.Text = Language.CheckboxAutomaticReconnect; + //chkNoReconnect.Text = Language.; chkLoadBalanceInfoUseUtf8.Text = Language.LoadBalanceInfoUseUtf8; lblConfigurePuttySessions.Text = Language.PuttySessionsConfig; btnLaunchPutty.Text = Language.ButtonLaunchPutty; @@ -49,6 +50,9 @@ namespace mRemoteNG.UI.Forms.OptionsPages public override void LoadSettings() { chkAutomaticReconnect.Checked = Properties.OptionsAdvancedPage.Default.ReconnectOnDisconnect; + chkNoReconnect.Checked = Properties.OptionsAdvancedPage.Default.NoReconnect; + chkNoReconnect.Enabled = Properties.OptionsAdvancedPage.Default.ReconnectOnDisconnect; + chkLoadBalanceInfoUseUtf8.Checked = Properties.OptionsAdvancedPage.Default.RdpLoadBalanceInfoUseUtf8; numPuttyWaitTime.Value = Properties.OptionsAdvancedPage.Default.MaxPuttyWaitTime; @@ -62,6 +66,7 @@ namespace mRemoteNG.UI.Forms.OptionsPages public override void SaveSettings() { Properties.OptionsAdvancedPage.Default.ReconnectOnDisconnect = chkAutomaticReconnect.Checked; + Properties.OptionsAdvancedPage.Default.NoReconnect= chkNoReconnect.Checked; Properties.OptionsAdvancedPage.Default.RdpLoadBalanceInfoUseUtf8 = chkLoadBalanceInfoUseUtf8.Checked; var puttyPathChanged = false; @@ -158,7 +163,18 @@ namespace mRemoteNG.UI.Forms.OptionsPages lblConfigurePuttySessions.Enabled = exists; btnLaunchPutty.Enabled = exists; } + + private void chkNoReconnect_CheckedChanged(object sender, EventArgs e) + { + + } + + private void chkAutomaticReconnect_CheckedChanged(object sender, EventArgs e) + { + chkNoReconnect.Enabled = chkAutomaticReconnect.Checked; + } #endregion + } } \ No newline at end of file diff --git a/mRemoteNG/UI/Forms/OptionsPages/AdvancedPage.resx b/mRemoteNG/UI/Forms/OptionsPages/AdvancedPage.resx index 1af7de15..f298a7be 100644 --- a/mRemoteNG/UI/Forms/OptionsPages/AdvancedPage.resx +++ b/mRemoteNG/UI/Forms/OptionsPages/AdvancedPage.resx @@ -1,64 +1,4 @@ - - - + diff --git a/mRemoteNG/UI/Window/ConnectionTreeWindow.cs b/mRemoteNG/UI/Window/ConnectionTreeWindow.cs index 5c9ff5a0..d99fc1b5 100644 --- a/mRemoteNG/UI/Window/ConnectionTreeWindow.cs +++ b/mRemoteNG/UI/Window/ConnectionTreeWindow.cs @@ -141,7 +141,7 @@ namespace mRemoteNG.UI.Window new RootNodeExpander() }; - if (Properties.OptionsStartupExitPage.Default.OpenConsFromLastSession && !Settings.Default.NoReconnect) + if (Properties.OptionsStartupExitPage.Default.OpenConsFromLastSession && !Properties.OptionsAdvancedPage.Default.NoReconnect) actions.Add(new PreviousSessionOpener(Runtime.ConnectionInitiator)); ConnectionTree.PostSetupActions = actions;