removed some more default frmmain uses

This commit is contained in:
David Sparer
2018-05-20 20:18:58 -05:00
parent 66b307bff9
commit b21f2ffe65
7 changed files with 29 additions and 23 deletions

View File

@@ -63,6 +63,7 @@ namespace mRemoteNGTests.Connection.Protocol
private InterfaceControl BuildInterfaceControl(string extAppName, ProtocolBase sut)
{
var frmMain = new FrmMain();
var import = new Import();
var connectionsService = new ConnectionsService(PuttySessionsManager.Instance, import);
var configWindow = new ConfigWindow(new DockContent());
@@ -75,10 +76,10 @@ namespace mRemoteNGTests.Connection.Protocol
connectionTreeWindow.ConnectionTreeContextMenu = connectionTreeContextMenu;
var errorAndInfoWindow = new ErrorAndInfoWindow(new DockContent(), connectionTreeWindow);
var screenshotManagerWindow = new ScreenshotManagerWindow(new DockContent());
var shutdown = new Shutdown(new SettingsSaver(new ExternalToolsService()), new ConnectionsService(PuttySessionsManager.Instance, import), FrmMain.Default);
var shutdown = new Shutdown(new SettingsSaver(new ExternalToolsService()), new ConnectionsService(PuttySessionsManager.Instance, import), frmMain);
var appUpdater = new AppUpdater(encryptionKeySelectionFunc);
Func<UpdateWindow> updateWindowBuilder = () => new UpdateWindow(new DockContent(), shutdown, appUpdater);
Func<NotificationAreaIcon> notificationAreaIconBuilder = () => new NotificationAreaIcon(FrmMain.Default, _connectionInitiator, shutdown);
Func<NotificationAreaIcon> notificationAreaIconBuilder = () => new NotificationAreaIcon(frmMain, _connectionInitiator, shutdown);
Func<ExternalToolsWindow> externalToolsWindowBuilder = () => new ExternalToolsWindow(_connectionInitiator, _externalToolsService, () => connectionTree.SelectedNode);
Func<PortScanWindow> portScanWindowBuilder = () => new PortScanWindow(() => connectionTreeWindow.SelectedNode, import);
Func<ActiveDirectoryImportWindow> activeDirectoryImportWindowBuilder = () => new ActiveDirectoryImportWindow(() => connectionTreeWindow.SelectedNode, import);
@@ -86,7 +87,7 @@ namespace mRemoteNGTests.Connection.Protocol
var windows = new Windows(_connectionInitiator, connectionTreeWindow, configWindow, errorAndInfoWindow, screenshotManagerWindow,
sshTransferWindow, updateWindowBuilder, notificationAreaIconBuilder, externalToolsWindowBuilder,
connectionsService, portScanWindowBuilder, activeDirectoryImportWindowBuilder, appUpdater, databaseConnectorFactory);
var connectionWindow = new ConnectionWindow(new DockContent(), _connectionInitiator, windows, _externalToolsService);
var connectionWindow = new ConnectionWindow(new DockContent(), _connectionInitiator, windows, _externalToolsService, frmMain);
var connectionInfo = new ConnectionInfo {ExtApp = extAppName};
return new InterfaceControl(connectionWindow, sut, connectionInfo);
}

View File

@@ -10,7 +10,7 @@ namespace mRemoteNGTests.UI.Forms
[Apartment(ApartmentState.STA)]
public void CanCreateFrmMain()
{
var frmMain = FrmMain.Default;
var frmMain = new FrmMain();
}
}
}

View File

@@ -25,15 +25,16 @@ namespace mRemoteNGTests.UI.Forms
[SetUp]
public void Setup()
{
var frmMain = new FrmMain();
var connectionInitiator = Substitute.For<IConnectionInitiator>();
var import = new Import();
var shutdown = new Shutdown(new SettingsSaver(new ExternalToolsService()), new ConnectionsService(PuttySessionsManager.Instance, import), FrmMain.Default);
Func<NotificationAreaIcon> notificationIconBuilder = () => new NotificationAreaIcon(FrmMain.Default, connectionInitiator, shutdown);
var shutdown = new Shutdown(new SettingsSaver(new ExternalToolsService()), new ConnectionsService(PuttySessionsManager.Instance, import), frmMain);
Func<NotificationAreaIcon> notificationIconBuilder = () => new NotificationAreaIcon(frmMain, connectionInitiator, shutdown);
var connectionsService = new ConnectionsService(PuttySessionsManager.Instance, import);
Func<SecureString> encryptionKeySelectionFunc = () => connectionsService.EncryptionKey;
var databaseConnectorFactory = new DatabaseConnectorFactory(encryptionKeySelectionFunc);
var appUpdater = new AppUpdater(encryptionKeySelectionFunc);
_optionsForm = new frmOptions(connectionInitiator, type => {}, notificationIconBuilder, connectionsService, appUpdater, databaseConnectorFactory, FrmMain.Default);
_optionsForm = new frmOptions(connectionInitiator, type => {}, notificationIconBuilder, connectionsService, appUpdater, databaseConnectorFactory, frmMain);
_optionsForm.Show();
}

View File

@@ -25,7 +25,7 @@ namespace mRemoteNG.Config.Settings
_dataProvider = dataProvider;
}
public void Save()
public void Save(DockPanel dockPanel)
{
try
{
@@ -34,7 +34,7 @@ namespace mRemoteNG.Config.Settings
Directory.CreateDirectory(SettingsFileInfo.SettingsPath);
}
var serializedLayout = _dockPanelSerializer.Serialize(FrmMain.Default.pnlDock);
var serializedLayout = _dockPanelSerializer.Serialize(dockPanel);
_dataProvider.Save(serializedLayout);
}
catch (Exception ex)

View File

@@ -6,6 +6,7 @@ using mRemoteNG.Config.DataProviders;
using mRemoteNG.Tools;
using mRemoteNG.UI.Controls;
using mRemoteNG.UI.Forms;
using WeifenLuo.WinFormsUI.Docking;
namespace mRemoteNG.Config.Settings
{
@@ -60,7 +61,7 @@ namespace mRemoteNG.Config.Settings
mRemoteNG.Settings.Default.Save();
SaveDockPanelLayout();
SaveDockPanelLayout(frmMain.pnlDock);
SaveExternalApps();
}
catch (Exception ex)
@@ -103,14 +104,14 @@ namespace mRemoteNG.Config.Settings
}
}
private void SaveDockPanelLayout()
private void SaveDockPanelLayout(DockPanel dockPanel)
{
var panelLayoutXmlFilePath = SettingsFileInfo.SettingsPath + "\\" + SettingsFileInfo.LayoutFileName;
var panelLayoutSaver = new DockPanelLayoutSaver(
new DockPanelLayoutSerializer(),
new FileDataProvider(panelLayoutXmlFilePath)
);
panelLayoutSaver.Save();
panelLayoutSaver.Save(dockPanel);
}
private void SaveExternalApps()

View File

@@ -77,7 +77,7 @@ namespace mRemoteNG.UI.Forms
//Added theming support
private readonly ToolStripRenderer _toolStripProfessionalRenderer = new ToolStripProfessionalRenderer();
private FrmMain()
public FrmMain()
{
InitializeComponent();
@@ -116,7 +116,7 @@ namespace mRemoteNG.UI.Forms
_windows = new Windows(_connectionInitiator, connectionTreeWindow, configWindow, errorAndInfoWindow, screenshotManagerWindow,
sshTransferWindow, updateWindowBuilder, _notificationAreaIconBuilder, externalToolsWindowBuilder, _connectionsService,
portScanWindowBuilder, activeDirectoryImportWindowBuilder, _appUpdater, _databaseConnectorFactory);
Func<ConnectionWindow> connectionWindowBuilder = () => new ConnectionWindow(new DockContent(), _connectionInitiator, _windows, externalToolsService);
Func<ConnectionWindow> connectionWindowBuilder = () => new ConnectionWindow(new DockContent(), _connectionInitiator, _windows, externalToolsService, this);
_screens = new Screens(this);
_panelAdder = new PanelAdder(_windowList, connectionWindowBuilder, _screens);
_showFullPathInTitle = Settings.Default.ShowCompleteConsPathInTitle;

View File

@@ -32,13 +32,16 @@ namespace mRemoteNG.UI.Window
private readonly ToolStripRenderer _toolStripProfessionalRenderer = new ToolStripProfessionalRenderer();
private readonly Windows _windows;
private readonly ExternalToolsService _externalToolsService;
private readonly FrmMain _frmMain;
public ConnectionWindow(DockContent panel, IConnectionInitiator connectionInitiator, Windows windows, ExternalToolsService externalToolsService, string formText = "")
public ConnectionWindow(DockContent panel, IConnectionInitiator connectionInitiator,
Windows windows, ExternalToolsService externalToolsService, FrmMain frmMain, string formText = "")
{
DockPnl = panel.ThrowIfNull(nameof(panel));
_connectionInitiator = connectionInitiator.ThrowIfNull(nameof(connectionInitiator));
_windows = windows.ThrowIfNull(nameof(windows));
_externalToolsService = externalToolsService.ThrowIfNull(nameof(externalToolsService));
_frmMain = frmMain.ThrowIfNull(nameof(frmMain));
if (formText == "")
{
@@ -160,12 +163,12 @@ namespace mRemoteNG.UI.Window
{
if (TabController.SelectedTab == null)
{
FrmMain.Default.SelectedConnection = null;
_frmMain.SelectedConnection = null;
}
else
{
var interfaceControl = TabController.SelectedTab?.Tag as InterfaceControl;
FrmMain.Default.SelectedConnection = interfaceControl?.Info;
_frmMain.SelectedConnection = interfaceControl?.Info;
}
}
#endregion
@@ -200,8 +203,8 @@ namespace mRemoteNG.UI.Window
{
if (_documentHandlersAdded)
{
FrmMain.Default.ResizeBegin -= Connection_ResizeBegin;
FrmMain.Default.ResizeEnd -= Connection_ResizeEnd;
_frmMain.ResizeBegin -= Connection_ResizeBegin;
_frmMain.ResizeEnd -= Connection_ResizeEnd;
_documentHandlersAdded = false;
}
DockHandler.FloatPane.FloatWindow.ResizeBegin += Connection_ResizeBegin;
@@ -216,8 +219,8 @@ namespace mRemoteNG.UI.Window
DockHandler.FloatPane.FloatWindow.ResizeEnd -= Connection_ResizeEnd;
_floatHandlersAdded = false;
}
FrmMain.Default.ResizeBegin += Connection_ResizeBegin;
FrmMain.Default.ResizeEnd += Connection_ResizeEnd;
_frmMain.ResizeBegin += Connection_ResizeBegin;
_frmMain.ResizeEnd += Connection_ResizeEnd;
_documentHandlersAdded = true;
}
}
@@ -244,7 +247,7 @@ namespace mRemoteNG.UI.Window
private void Connection_FormClosing(object sender, FormClosingEventArgs e)
{
if (!FrmMain.Default.IsClosing &&
if (!_frmMain.IsClosing &&
(Settings.Default.ConfirmCloseConnection == (int)ConfirmCloseEnum.All & TabController.TabPages.Count > 0 ||
Settings.Default.ConfirmCloseConnection == (int)ConfirmCloseEnum.Multiple & TabController.TabPages.Count > 1))
{
@@ -790,7 +793,7 @@ namespace mRemoteNG.UI.Window
{
try
{
if (!(NativeMethods.GetForegroundWindow() == FrmMain.Default.Handle) && !_ignoreChangeSelectedTabClick)
if (!(NativeMethods.GetForegroundWindow() == _frmMain.Handle) && !_ignoreChangeSelectedTabClick)
{
var clickedTab = TabController.TabPageFromPoint(e.Location);
if (clickedTab != null && TabController.SelectedTab != clickedTab)