diff options
author | Dimitrij <kvarkas@gmail.com> | 2022-01-18 12:47:36 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-18 12:47:36 +0300 |
commit | 22e7825d65bd3d00172145fa59c29cb5d2aca4c3 (patch) | |
tree | 1de729ec12d5647db5e3a63801bb57ee9d378817 | |
parent | 62862141a807f9812abe82b0483d06c8e14d4bdc (diff) | |
parent | f5d0e93ecd575320df31b55c6cae03ec0d9c72c5 (diff) |
Merge pull request #2126 from david-sway/v1.77.2-dev-RefactorConnectionInitiator
Combined instances of ConnectionInitiator to help with issue #2119
-rw-r--r-- | mRemoteNG/App/Runtime.cs | 2 | ||||
-rw-r--r-- | mRemoteNG/Connection/WebHelper.cs | 6 | ||||
-rw-r--r-- | mRemoteNG/Tools/ExternalTool.cs | 3 | ||||
-rw-r--r-- | mRemoteNG/Tools/NotificationAreaIcon.cs | 3 | ||||
-rw-r--r-- | mRemoteNG/UI/Controls/ConnectionContextMenu.cs | 57 | ||||
-rw-r--r-- | mRemoteNG/UI/Controls/QuickConnectToolStrip.cs | 15 | ||||
-rw-r--r-- | mRemoteNG/UI/Forms/frmMain.Designer.cs | 5 | ||||
-rw-r--r-- | mRemoteNG/UI/Forms/frmMain.cs | 4 | ||||
-rw-r--r-- | mRemoteNG/UI/Menu/FileMenu.cs | 1 | ||||
-rw-r--r-- | mRemoteNG/UI/Menu/ViewMenu.cs | 3 | ||||
-rw-r--r-- | mRemoteNG/UI/Window/ConnectionTreeWindow.cs | 45 | ||||
-rw-r--r-- | mRemoteNG/UI/Window/ConnectionWindow.cs | 51 |
12 files changed, 86 insertions, 109 deletions
diff --git a/mRemoteNG/App/Runtime.cs b/mRemoteNG/App/Runtime.cs index bf34daf5..2347d074 100644 --- a/mRemoteNG/App/Runtime.cs +++ b/mRemoteNG/App/Runtime.cs @@ -49,6 +49,8 @@ namespace mRemoteNG.App public static ICredentialRepositoryList CredentialProviderCatalog { get; } = new CredentialRepositoryList(); + public static ConnectionInitiator ConnectionInitiator { get; set; } = new ConnectionInitiator(); + public static ConnectionsService ConnectionsService { get; } = new ConnectionsService(PuttySessionsManager.Instance); diff --git a/mRemoteNG/Connection/WebHelper.cs b/mRemoteNG/Connection/WebHelper.cs index fa86cef7..e2fe5085 100644 --- a/mRemoteNG/Connection/WebHelper.cs +++ b/mRemoteNG/Connection/WebHelper.cs @@ -1,4 +1,5 @@ -using mRemoteNG.Connection.Protocol; +using mRemoteNG.App; +using mRemoteNG.Connection.Protocol; using mRemoteNG.Resources.Language; namespace mRemoteNG.Connection @@ -17,8 +18,7 @@ namespace mRemoteNG.Connection if (string.IsNullOrEmpty(connectionInfo.Panel)) connectionInfo.Panel = Language.General; connectionInfo.IsQuickConnect = true; - var connectionInitiator = new ConnectionInitiator(); - connectionInitiator.OpenConnection(connectionInfo, ConnectionInfo.Force.DoNotJump); + Runtime.ConnectionInitiator.OpenConnection(connectionInfo, ConnectionInfo.Force.DoNotJump); } } }
\ No newline at end of file diff --git a/mRemoteNG/Tools/ExternalTool.cs b/mRemoteNG/Tools/ExternalTool.cs index a574e52d..7133a9d9 100644 --- a/mRemoteNG/Tools/ExternalTool.cs +++ b/mRemoteNG/Tools/ExternalTool.cs @@ -17,7 +17,6 @@ namespace mRemoteNG.Tools { public class ExternalTool : INotifyPropertyChanged { - private readonly IConnectionInitiator _connectionInitiator = new ConnectionInitiator(); private string _displayName; private string _fileName; private bool _waitForExit; @@ -166,7 +165,7 @@ namespace mRemoteNG.Tools try { var newConnectionInfo = BuildConnectionInfoForIntegratedApp(); - _connectionInitiator.OpenConnection(newConnectionInfo); + Runtime.ConnectionInitiator.OpenConnection(newConnectionInfo); } catch (Exception ex) { diff --git a/mRemoteNG/Tools/NotificationAreaIcon.cs b/mRemoteNG/Tools/NotificationAreaIcon.cs index 14902a2a..13e67989 100644 --- a/mRemoteNG/Tools/NotificationAreaIcon.cs +++ b/mRemoteNG/Tools/NotificationAreaIcon.cs @@ -16,7 +16,6 @@ namespace mRemoteNG.Tools private readonly NotifyIcon _nI; private readonly ContextMenuStrip _cMen; private readonly ToolStripMenuItem _cMenCons; - private readonly IConnectionInitiator _connectionInitiator = new ConnectionInitiator(); private static readonly FrmMain FrmMain = FrmMain.Default; public bool Disposed { get; private set; } @@ -129,7 +128,7 @@ namespace mRemoteNG.Tools if (((ToolStripMenuItem)sender).Tag is ContainerInfo) return; if (FrmMain.Visible == false) ShowForm(); - _connectionInitiator.OpenConnection((ConnectionInfo)((ToolStripMenuItem)sender).Tag); + Runtime.ConnectionInitiator.OpenConnection((ConnectionInfo)((ToolStripMenuItem)sender).Tag); } private static void cMenExit_Click(object sender, EventArgs e) diff --git a/mRemoteNG/UI/Controls/ConnectionContextMenu.cs b/mRemoteNG/UI/Controls/ConnectionContextMenu.cs index 7d68cde8..38143ba3 100644 --- a/mRemoteNG/UI/Controls/ConnectionContextMenu.cs +++ b/mRemoteNG/UI/Controls/ConnectionContextMenu.cs @@ -55,13 +55,11 @@ namespace mRemoteNG.UI.Controls private ToolStripMenuItem _cMenTreeApplyInheritanceToChildren; private ToolStripMenuItem _cMenTreeApplyDefaultInheritance; private readonly ConnectionTree.ConnectionTree _connectionTree; - private readonly IConnectionInitiator _connectionInitiator; public ConnectionContextMenu(ConnectionTree.ConnectionTree connectionTree) { _connectionTree = connectionTree; - _connectionInitiator = new ConnectionInitiator(); InitializeComponent(); ApplyLanguage(); EnableShortcutKeys(); @@ -692,75 +690,76 @@ namespace mRemoteNG.UI.Controls { var selectedNodeAsContainer = _connectionTree.SelectedNode as ContainerInfo; if (selectedNodeAsContainer != null) - _connectionInitiator.OpenConnection(selectedNodeAsContainer, ConnectionInfo.Force.DoNotJump); + Runtime.ConnectionInitiator.OpenConnection(selectedNodeAsContainer, ConnectionInfo.Force.DoNotJump); else - _connectionInitiator.OpenConnection(_connectionTree.SelectedNode, ConnectionInfo.Force.DoNotJump); + Runtime.ConnectionInitiator.OpenConnection(_connectionTree.SelectedNode, ConnectionInfo.Force.DoNotJump); } private void OnConnectToConsoleSessionClicked(object sender, EventArgs e) { var selectedNodeAsContainer = _connectionTree.SelectedNode as ContainerInfo; if (selectedNodeAsContainer != null) - _connectionInitiator.OpenConnection(selectedNodeAsContainer, - ConnectionInfo.Force.UseConsoleSession | - ConnectionInfo.Force.DoNotJump); + Runtime.ConnectionInitiator.OpenConnection(selectedNodeAsContainer, + ConnectionInfo.Force.UseConsoleSession | + ConnectionInfo.Force.DoNotJump); else - _connectionInitiator.OpenConnection(_connectionTree.SelectedNode, - ConnectionInfo.Force.UseConsoleSession | - ConnectionInfo.Force.DoNotJump); + Runtime.ConnectionInitiator.OpenConnection(_connectionTree.SelectedNode, + ConnectionInfo.Force.UseConsoleSession | + ConnectionInfo.Force.DoNotJump); + } private void OnDontConnectToConsoleSessionClicked(object sender, EventArgs e) { var selectedNodeAsContainer = _connectionTree.SelectedNode as ContainerInfo; if (selectedNodeAsContainer != null) - _connectionInitiator.OpenConnection(selectedNodeAsContainer, - ConnectionInfo.Force.DontUseConsoleSession | - ConnectionInfo.Force.DoNotJump); + Runtime.ConnectionInitiator.OpenConnection(selectedNodeAsContainer, + ConnectionInfo.Force.DontUseConsoleSession | + ConnectionInfo.Force.DoNotJump); else - _connectionInitiator.OpenConnection(_connectionTree.SelectedNode, - ConnectionInfo.Force.DontUseConsoleSession | - ConnectionInfo.Force.DoNotJump); + Runtime.ConnectionInitiator.OpenConnection(_connectionTree.SelectedNode, + ConnectionInfo.Force.DontUseConsoleSession | + ConnectionInfo.Force.DoNotJump); } private void OnConnectInFullscreenClicked(object sender, EventArgs e) { var selectedNodeAsContainer = _connectionTree.SelectedNode as ContainerInfo; if (selectedNodeAsContainer != null) - _connectionInitiator.OpenConnection(selectedNodeAsContainer, - ConnectionInfo.Force.Fullscreen | ConnectionInfo.Force.DoNotJump); + Runtime.ConnectionInitiator.OpenConnection(selectedNodeAsContainer, + ConnectionInfo.Force.Fullscreen | ConnectionInfo.Force.DoNotJump); else - _connectionInitiator.OpenConnection(_connectionTree.SelectedNode, - ConnectionInfo.Force.Fullscreen | ConnectionInfo.Force.DoNotJump); + Runtime.ConnectionInitiator.OpenConnection(_connectionTree.SelectedNode, + ConnectionInfo.Force.Fullscreen | ConnectionInfo.Force.DoNotJump); } private void OnConnectWithNoCredentialsClick(object sender, EventArgs e) { var selectedNodeAsContainer = _connectionTree.SelectedNode as ContainerInfo; if (selectedNodeAsContainer != null) - _connectionInitiator.OpenConnection(selectedNodeAsContainer, ConnectionInfo.Force.NoCredentials); + Runtime.ConnectionInitiator.OpenConnection(selectedNodeAsContainer, ConnectionInfo.Force.NoCredentials); else - _connectionInitiator.OpenConnection(_connectionTree.SelectedNode, ConnectionInfo.Force.NoCredentials); + Runtime.ConnectionInitiator.OpenConnection(_connectionTree.SelectedNode, ConnectionInfo.Force.NoCredentials); } private void OnChoosePanelBeforeConnectingClicked(object sender, EventArgs e) { var selectedNodeAsContainer = _connectionTree.SelectedNode as ContainerInfo; if (selectedNodeAsContainer != null) - _connectionInitiator.OpenConnection(selectedNodeAsContainer, - ConnectionInfo.Force.OverridePanel | - ConnectionInfo.Force.DoNotJump); + Runtime.ConnectionInitiator.OpenConnection(selectedNodeAsContainer, + ConnectionInfo.Force.OverridePanel | + ConnectionInfo.Force.DoNotJump); else - _connectionInitiator.OpenConnection(_connectionTree.SelectedNode, - ConnectionInfo.Force.OverridePanel | - ConnectionInfo.Force.DoNotJump); + Runtime.ConnectionInitiator.OpenConnection(_connectionTree.SelectedNode, + ConnectionInfo.Force.OverridePanel | + ConnectionInfo.Force.DoNotJump); } private void ConnectWithOptionsViewOnlyOnClick(object sender, EventArgs e) { var connectionTarget = _connectionTree.SelectedNode as ContainerInfo ?? _connectionTree.SelectedNode; - _connectionInitiator.OpenConnection(connectionTarget, ConnectionInfo.Force.ViewOnly); + Runtime.ConnectionInitiator.OpenConnection(connectionTarget, ConnectionInfo.Force.ViewOnly); } private void OnDisconnectClicked(object sender, EventArgs e) diff --git a/mRemoteNG/UI/Controls/QuickConnectToolStrip.cs b/mRemoteNG/UI/Controls/QuickConnectToolStrip.cs index 2586a853..6f838bc9 100644 --- a/mRemoteNG/UI/Controls/QuickConnectToolStrip.cs +++ b/mRemoteNG/UI/Controls/QuickConnectToolStrip.cs @@ -24,21 +24,10 @@ namespace mRemoteNG.UI.Controls private ContextMenuStrip _mnuQuickConnectProtocol; private QuickConnectComboBox _cmbQuickConnect; private ContextMenuStrip _mnuConnections; - private IConnectionInitiator _connectionInitiator = new ConnectionInitiator(); private readonly ThemeManager _themeManager; private WeifenLuo.WinFormsUI.Docking.VisualStudioToolStripExtender vsToolStripExtender; private readonly DisplayProperties _display; - public IConnectionInitiator ConnectionInitiator - { - get => _connectionInitiator; - set - { - if (value == null) - return; - _connectionInitiator = value; - } - } public QuickConnectToolStrip() { @@ -208,7 +197,7 @@ namespace mRemoteNG.UI.Controls } _cmbQuickConnect.Add(connectionInfo); - ConnectionInitiator.OpenConnection(connectionInfo, ConnectionInfo.Force.DoNotJump); + Runtime.ConnectionInitiator.OpenConnection(connectionInfo, ConnectionInfo.Force.DoNotJump); } catch (Exception ex) { @@ -293,7 +282,7 @@ namespace mRemoteNG.UI.Controls case ContainerInfo _: return; case ConnectionInfo connectionInfo: - ConnectionInitiator.OpenConnection(connectionInfo); + Runtime.ConnectionInitiator.OpenConnection(connectionInfo); break; } } diff --git a/mRemoteNG/UI/Forms/frmMain.Designer.cs b/mRemoteNG/UI/Forms/frmMain.Designer.cs index 124247ab..5a26f2cf 100644 --- a/mRemoteNG/UI/Forms/frmMain.Designer.cs +++ b/mRemoteNG/UI/Forms/frmMain.Designer.cs @@ -32,7 +32,6 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - mRemoteNG.Connection.ConnectionInitiator connectionInitiator1 = new mRemoteNG.Connection.ConnectionInitiator(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmMain)); this.pnlDock = new WeifenLuo.WinFormsUI.Docking.DockPanel(); this.msMain = new System.Windows.Forms.MenuStrip(); @@ -84,8 +83,7 @@ this.msMain.Text = "Main Toolbar"; // // fileMenu - // - this.fileMenu.ConnectionInitiator = null; + // this.fileMenu.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); this.fileMenu.Name = "mMenFile"; this.fileMenu.Size = new System.Drawing.Size(37, 19); @@ -152,7 +150,6 @@ // _quickConnectToolStrip // this._quickConnectToolStrip.BackColor = System.Drawing.SystemColors.Control; - this._quickConnectToolStrip.ConnectionInitiator = connectionInitiator1; this._quickConnectToolStrip.Dock = System.Windows.Forms.DockStyle.None; this._quickConnectToolStrip.ForeColor = System.Drawing.SystemColors.ControlText; this._quickConnectToolStrip.Location = new System.Drawing.Point(114, 25); diff --git a/mRemoteNG/UI/Forms/frmMain.cs b/mRemoteNG/UI/Forms/frmMain.cs index d8c25c3e..d914cffa 100644 --- a/mRemoteNG/UI/Forms/frmMain.cs +++ b/mRemoteNG/UI/Forms/frmMain.cs @@ -280,9 +280,7 @@ namespace mRemoteNG.UI.Forms private void SetMenuDependencies() { - var connectionInitiator = new ConnectionInitiator(); fileMenu.TreeWindow = Windows.TreeForm; - fileMenu.ConnectionInitiator = connectionInitiator; viewMenu.TsExternalTools = _externalToolsToolStrip; viewMenu.TsQuickConnect = _quickConnectToolStrip; @@ -292,8 +290,6 @@ namespace mRemoteNG.UI.Forms toolsMenu.MainForm = this; toolsMenu.CredentialProviderCatalog = Runtime.CredentialProviderCatalog; - - _quickConnectToolStrip.ConnectionInitiator = connectionInitiator; } //Theming support diff --git a/mRemoteNG/UI/Menu/FileMenu.cs b/mRemoteNG/UI/Menu/FileMenu.cs index 80ba2965..f12cdea8 100644 --- a/mRemoteNG/UI/Menu/FileMenu.cs +++ b/mRemoteNG/UI/Menu/FileMenu.cs @@ -22,7 +22,6 @@ namespace mRemoteNG.UI.Menu private ToolStripSeparator _mMenFileSep1; public ConnectionTreeWindow TreeWindow { get; set; } - public IConnectionInitiator ConnectionInitiator { get; set; } public FileMenu() { diff --git a/mRemoteNG/UI/Menu/ViewMenu.cs b/mRemoteNG/UI/Menu/ViewMenu.cs index ddc93eb9..3ae4b540 100644 --- a/mRemoteNG/UI/Menu/ViewMenu.cs +++ b/mRemoteNG/UI/Menu/ViewMenu.cs @@ -32,7 +32,6 @@ namespace mRemoteNG.UI.Menu public ToolStrip TsMultiSsh { get; set; } public FullscreenHandler FullscreenHandler { get; set; } public FrmMain MainForm { get; set; } - public IConnectionInitiator ConnectionInitiator { get; set; } public ViewMenu() @@ -317,7 +316,7 @@ namespace mRemoteNG.UI.Menu if (!(window is ConnectionWindow connectionWindow)) return; - connectionWindow.reconnectAll(ConnectionInitiator); + connectionWindow.reconnectAll(Runtime.ConnectionInitiator); } } diff --git a/mRemoteNG/UI/Window/ConnectionTreeWindow.cs b/mRemoteNG/UI/Window/ConnectionTreeWindow.cs index bc32b3f3..3a5e4436 100644 --- a/mRemoteNG/UI/Window/ConnectionTreeWindow.cs +++ b/mRemoteNG/UI/Window/ConnectionTreeWindow.cs @@ -24,7 +24,6 @@ namespace mRemoteNG.UI.Window { public partial class ConnectionTreeWindow { - private readonly IConnectionInitiator _connectionInitiator = new ConnectionInitiator(); private ThemeManager _themeManager; private bool _sortedAz = true; @@ -126,7 +125,7 @@ namespace mRemoteNG.UI.Window { ConnectionTree.NodeDeletionConfirmer = new SelectedConnectionDeletionConfirmer(prompt => CTaskDialog.MessageBox( - Application.ProductName,prompt,"",ETaskDialogButtons.YesNo,ESysIcons.Question)); + Application.ProductName, prompt, "", ETaskDialogButtons.YesNo, ESysIcons.Question)); ConnectionTree.KeyDown += TvConnections_KeyDown; ConnectionTree.KeyPress += TvConnections_KeyPress; SetTreePostSetupActions(); @@ -143,7 +142,7 @@ namespace mRemoteNG.UI.Window }; if (Settings.Default.OpenConsFromLastSession && !Settings.Default.NoReconnect) - actions.Add(new PreviousSessionOpener(_connectionInitiator)); + actions.Add(new PreviousSessionOpener(Runtime.ConnectionInitiator)); ConnectionTree.PostSetupActions = actions; } @@ -157,15 +156,15 @@ namespace mRemoteNG.UI.Window }; if (Settings.Default.SingleClickOnConnectionOpensIt) - singleClickHandlers.Add(new OpenConnectionClickHandler(_connectionInitiator)); + singleClickHandlers.Add(new OpenConnectionClickHandler(Runtime.ConnectionInitiator)); else - doubleClickHandlers.Add(new OpenConnectionClickHandler(_connectionInitiator)); + doubleClickHandlers.Add(new OpenConnectionClickHandler(Runtime.ConnectionInitiator)); if (Settings.Default.SingleClickSwitchesToOpenConnection) - singleClickHandlers.Add(new SwitchToConnectionClickHandler(_connectionInitiator)); + singleClickHandlers.Add(new SwitchToConnectionClickHandler(Runtime.ConnectionInitiator)); - ConnectionTree.SingleClickHandler = new TreeNodeCompositeClickHandler {ClickHandlers = singleClickHandlers}; - ConnectionTree.DoubleClickHandler = new TreeNodeCompositeClickHandler {ClickHandlers = doubleClickHandlers}; + ConnectionTree.SingleClickHandler = new TreeNodeCompositeClickHandler { ClickHandlers = singleClickHandlers }; + ConnectionTree.DoubleClickHandler = new TreeNodeCompositeClickHandler { ClickHandlers = doubleClickHandlers }; } private void ConnectionsServiceOnConnectionsLoaded(object o, ConnectionsLoadedEventArgs connectionsLoadedEventArgs) @@ -237,7 +236,7 @@ namespace mRemoteNG.UI.Window private void FavoriteMenuItem_MouseUp(object sender, MouseEventArgs e) { if (((ToolStripMenuItem)sender).Tag is ContainerInfo) return; - _connectionInitiator.OpenConnection((ConnectionInfo)((ToolStripMenuItem)sender).Tag); + Runtime.ConnectionInitiator.OpenConnection((ConnectionInfo)((ToolStripMenuItem)sender).Tag); } #endregion @@ -269,19 +268,19 @@ namespace mRemoteNG.UI.Window ConnectionTree.Focus(); break; case Keys.Up: - { - var match = ConnectionTree.NodeSearcher.PreviousMatch(); - JumpToNode(match); - e.Handled = true; - break; - } + { + var match = ConnectionTree.NodeSearcher.PreviousMatch(); + JumpToNode(match); + e.Handled = true; + break; + } case Keys.Down: - { - var match = ConnectionTree.NodeSearcher.NextMatch(); - JumpToNode(match); - e.Handled = true; - break; - } + { + var match = ConnectionTree.NodeSearcher.NextMatch(); + JumpToNode(match); + e.Handled = true; + break; + } default: TvConnections_KeyDown(sender, e); break; @@ -365,7 +364,7 @@ namespace mRemoteNG.UI.Window e.Handled = true; if (SelectedNode == null) return; - _connectionInitiator.OpenConnection(SelectedNode); + Runtime.ConnectionInitiator.OpenConnection(SelectedNode); } else if (e.Control && e.KeyCode == Keys.F) { @@ -382,4 +381,4 @@ namespace mRemoteNG.UI.Window #endregion } -}
\ No newline at end of file +} diff --git a/mRemoteNG/UI/Window/ConnectionWindow.cs b/mRemoteNG/UI/Window/ConnectionWindow.cs index 0af2b66f..792a8b6f 100644 --- a/mRemoteNG/UI/Window/ConnectionWindow.cs +++ b/mRemoteNG/UI/Window/ConnectionWindow.cs @@ -24,7 +24,6 @@ namespace mRemoteNG.UI.Window { public partial class ConnectionWindow : BaseWindow { - private readonly IConnectionInitiator _connectionInitiator = new ConnectionInitiator(); private VisualStudioToolStripExtender vsToolStripExtender; private readonly ToolStripRenderer _toolStripProfessionalRenderer = new ToolStripProfessionalRenderer(); @@ -232,33 +231,33 @@ namespace mRemoteNG.UI.Window switch (DockState) { case DockState.Float: - { - if (_documentHandlersAdded) { - FrmMain.Default.ResizeBegin -= Connection_ResizeBegin; - FrmMain.Default.ResizeEnd -= Connection_ResizeEnd; - _documentHandlersAdded = false; + if (_documentHandlersAdded) + { + FrmMain.Default.ResizeBegin -= Connection_ResizeBegin; + FrmMain.Default.ResizeEnd -= Connection_ResizeEnd; + _documentHandlersAdded = false; + } + + DockHandler.FloatPane.FloatWindow.ResizeBegin += Connection_ResizeBegin; + DockHandler.FloatPane.FloatWindow.ResizeEnd += Connection_ResizeEnd; + _floatHandlersAdded = true; + break; } - - DockHandler.FloatPane.FloatWindow.ResizeBegin += Connection_ResizeBegin; - DockHandler.FloatPane.FloatWindow.ResizeEnd += Connection_ResizeEnd; - _floatHandlersAdded = true; - break; - } case DockState.Document: - { - if (_floatHandlersAdded) { - DockHandler.FloatPane.FloatWindow.ResizeBegin -= Connection_ResizeBegin; - DockHandler.FloatPane.FloatWindow.ResizeEnd -= Connection_ResizeEnd; - _floatHandlersAdded = false; + if (_floatHandlersAdded) + { + DockHandler.FloatPane.FloatWindow.ResizeBegin -= Connection_ResizeBegin; + DockHandler.FloatPane.FloatWindow.ResizeEnd -= Connection_ResizeEnd; + _floatHandlersAdded = false; + } + + FrmMain.Default.ResizeBegin += Connection_ResizeBegin; + FrmMain.Default.ResizeEnd += Connection_ResizeEnd; + _documentHandlersAdded = true; + break; } - - FrmMain.Default.ResizeBegin += Connection_ResizeBegin; - FrmMain.Default.ResizeEnd += Connection_ResizeEnd; - _documentHandlersAdded = true; - break; - } } } @@ -725,7 +724,7 @@ namespace mRemoteNG.UI.Window { var interfaceControl = GetInterfaceControl(); if (interfaceControl == null) return; - _connectionInitiator.OpenConnection(interfaceControl.Info, ConnectionInfo.Force.DoNotJump); + Runtime.ConnectionInitiator.OpenConnection(interfaceControl.Info, ConnectionInfo.Force.DoNotJump); } catch (Exception ex) { @@ -746,7 +745,7 @@ namespace mRemoteNG.UI.Window } Invoke(new Action(() => Prot_Event_Closed(interfaceControl.Protocol))); - _connectionInitiator.OpenConnection(interfaceControl.Info, ConnectionInfo.Force.DoNotJump); + Runtime.ConnectionInitiator.OpenConnection(interfaceControl.Info, ConnectionInfo.Force.DoNotJump); } catch (Exception ex) { @@ -790,4 +789,4 @@ namespace mRemoteNG.UI.Window #endregion } -}
\ No newline at end of file +} |