minimal code refractoring

This commit is contained in:
Faryan Rezagholi
2019-10-03 18:14:18 +02:00
parent d68c419bab
commit 1e374d3a25
2 changed files with 83 additions and 95 deletions

View File

@@ -17,7 +17,7 @@
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.ConnectionTree = 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();
@@ -29,7 +29,7 @@
this.pbSearch = new mRemoteNG.UI.Controls.Base.NGPictureBox(this.components);
this.txtSearch = new mRemoteNG.UI.Controls.Base.NGSearchBox();
this.searchBoxLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
((System.ComponentModel.ISupportInitialize)(this.olvConnections)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.ConnectionTree)).BeginInit();
this.msMain.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pbSearch)).BeginInit();
this.searchBoxLayoutPanel.SuspendLayout();
@@ -37,37 +37,37 @@
//
// 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;
this.ConnectionTree.AllowDrop = true;
this.ConnectionTree.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.ConnectionTree.CellEditUseWholeCell = false;
this.ConnectionTree.ConnectionTreeModel = connectionTreeModel2;
this.ConnectionTree.Cursor = System.Windows.Forms.Cursors.Default;
this.ConnectionTree.Dock = System.Windows.Forms.DockStyle.Fill;
treeNodeCompositeClickHandler3.ClickHandlers = new mRemoteNG.Tree.ITreeNodeClickHandler<mRemoteNG.Connection.ConnectionInfo>[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.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;
this.ConnectionTree.DoubleClickHandler = treeNodeCompositeClickHandler3;
this.ConnectionTree.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ConnectionTree.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
this.ConnectionTree.HideSelection = false;
this.ConnectionTree.IsSimpleDragSource = true;
this.ConnectionTree.LabelEdit = true;
this.ConnectionTree.Location = new System.Drawing.Point(0, 24);
this.ConnectionTree.MultiSelect = false;
this.ConnectionTree.Name = "ConnectionTree";
this.ConnectionTree.NodeDeletionConfirmer = alwaysConfirmYes2;
this.ConnectionTree.PostSetupActions = new mRemoteNG.UI.Controls.IConnectionTreeDelegate[0];
this.ConnectionTree.SelectedBackColor = System.Drawing.SystemColors.Highlight;
this.ConnectionTree.SelectedForeColor = System.Drawing.SystemColors.HighlightText;
this.ConnectionTree.ShowGroups = false;
treeNodeCompositeClickHandler4.ClickHandlers = new mRemoteNG.Tree.ITreeNodeClickHandler<mRemoteNG.Connection.ConnectionInfo>[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;
this.ConnectionTree.SingleClickHandler = treeNodeCompositeClickHandler4;
this.ConnectionTree.Size = new System.Drawing.Size(204, 366);
this.ConnectionTree.TabIndex = 20;
this.ConnectionTree.UnfocusedSelectedBackColor = System.Drawing.SystemColors.Highlight;
this.ConnectionTree.UnfocusedSelectedForeColor = System.Drawing.SystemColors.HighlightText;
this.ConnectionTree.UseCompatibleStateImageBehavior = false;
this.ConnectionTree.UseOverlays = false;
this.ConnectionTree.View = System.Windows.Forms.View.Details;
this.ConnectionTree.VirtualMode = true;
//
// msMain
//
@@ -94,7 +94,7 @@
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);
this.mMenAddConnection.Click += new System.EventHandler(this.CMenTreeAddConnection_Click);
//
// mMenAddFolder
//
@@ -102,7 +102,7 @@
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);
this.mMenAddFolder.Click += new System.EventHandler(this.CMenTreeAddFolder_Click);
//
// mMenViewExpandAllFolders
//
@@ -165,7 +165,7 @@
this.txtSearch.TabStop = false;
this.txtSearch.Text = "Search";
this.txtSearch.TextChanged += new System.EventHandler(this.txtSearch_TextChanged);
this.txtSearch.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtSearch_KeyDown);
this.txtSearch.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TxtSearch_KeyDown);
//
// tableLayoutPanel1
//
@@ -188,7 +188,7 @@
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.ConnectionTree);
this.Controls.Add(this.searchBoxLayoutPanel);
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)));
@@ -198,7 +198,7 @@
this.TabText = "Connections";
this.Text = "Connections";
this.Load += new System.EventHandler(this.Tree_Load);
((System.ComponentModel.ISupportInitialize)(this.olvConnections)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.ConnectionTree)).EndInit();
this.msMain.ResumeLayout(false);
this.msMain.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pbSearch)).EndInit();
@@ -211,7 +211,6 @@
#endregion
private System.ComponentModel.IContainer components;
private Controls.ConnectionTree olvConnections;
private WeifenLuo.WinFormsUI.Docking.VisualStudioToolStripExtender vsToolStripExtender;
internal Controls.Base.NGPictureBox pbSearch;
internal Controls.Base.NGSearchBox txtSearch;

View File

@@ -23,15 +23,11 @@ namespace mRemoteNG.UI.Window
{
private readonly IConnectionInitiator _connectionInitiator = new ConnectionInitiator();
private ThemeManager _themeManager;
private bool sortedAz = true;
private bool _sortedAz = true;
public ConnectionInfo SelectedNode => olvConnections.SelectedNode;
public ConnectionInfo SelectedNode => ConnectionTree.SelectedNode;
public ConnectionTree ConnectionTree
{
get { return olvConnections; }
set { olvConnections = value; }
}
public ConnectionTree ConnectionTree { get; set; }
public ConnectionTreeWindow() : this(new DockContent())
{
@@ -103,7 +99,7 @@ namespace mRemoteNG.UI.Window
var activeTheme = _themeManager.ActiveTheme;
vsToolStripExtender.SetStyle(msMain, activeTheme.Version, activeTheme.Theme);
vsToolStripExtender.SetStyle(olvConnections.ContextMenuStrip, activeTheme.Version,
vsToolStripExtender.SetStyle(ConnectionTree.ContextMenuStrip, activeTheme.Version,
activeTheme.Theme);
if (!_themeManager.ActiveAndExtended)
@@ -124,17 +120,11 @@ namespace mRemoteNG.UI.Window
private void SetConnectionTreeEventHandlers()
{
olvConnections.NodeDeletionConfirmer = new SelectedConnectionDeletionConfirmer(prompt =>
CTaskDialog
.MessageBox(Application.ProductName,
prompt,
"",
ETaskDialogButtons
.YesNo,
ESysIcons
.Question));
olvConnections.KeyDown += tvConnections_KeyDown;
olvConnections.KeyPress += tvConnections_KeyPress;
ConnectionTree.NodeDeletionConfirmer =
new SelectedConnectionDeletionConfirmer(prompt => CTaskDialog.MessageBox(
Application.ProductName,prompt,"",ETaskDialogButtons.YesNo,ESysIcons.Question));
ConnectionTree.KeyDown += TvConnections_KeyDown;
ConnectionTree.KeyPress += TvConnections_KeyPress;
SetTreePostSetupActions();
SetConnectionTreeClickHandlers();
Runtime.ConnectionsService.ConnectionsLoaded += ConnectionsServiceOnConnectionsLoaded;
@@ -151,7 +141,7 @@ namespace mRemoteNG.UI.Window
if (Settings.Default.OpenConsFromLastSession && !Settings.Default.NoReconnect)
actions.Add(new PreviousSessionOpener(_connectionInitiator));
olvConnections.PostSetupActions = actions;
ConnectionTree.PostSetupActions = actions;
}
private void SetConnectionTreeClickHandlers()
@@ -159,7 +149,7 @@ namespace mRemoteNG.UI.Window
var singleClickHandlers = new List<ITreeNodeClickHandler<ConnectionInfo>>();
var doubleClickHandlers = new List<ITreeNodeClickHandler<ConnectionInfo>>
{
new ExpandNodeClickHandler(olvConnections)
new ExpandNodeClickHandler(ConnectionTree)
};
if (Settings.Default.SingleClickOnConnectionOpensIt)
@@ -170,22 +160,21 @@ namespace mRemoteNG.UI.Window
if (Settings.Default.SingleClickSwitchesToOpenConnection)
singleClickHandlers.Add(new SwitchToConnectionClickHandler(_connectionInitiator));
olvConnections.SingleClickHandler = new TreeNodeCompositeClickHandler {ClickHandlers = singleClickHandlers};
olvConnections.DoubleClickHandler = new TreeNodeCompositeClickHandler {ClickHandlers = doubleClickHandlers};
ConnectionTree.SingleClickHandler = new TreeNodeCompositeClickHandler {ClickHandlers = singleClickHandlers};
ConnectionTree.DoubleClickHandler = new TreeNodeCompositeClickHandler {ClickHandlers = doubleClickHandlers};
}
private void ConnectionsServiceOnConnectionsLoaded(object o,
ConnectionsLoadedEventArgs connectionsLoadedEventArgs)
private void ConnectionsServiceOnConnectionsLoaded(object o, ConnectionsLoadedEventArgs connectionsLoadedEventArgs)
{
if (olvConnections.InvokeRequired)
if (ConnectionTree.InvokeRequired)
{
olvConnections.Invoke(() => ConnectionsServiceOnConnectionsLoaded(o, connectionsLoadedEventArgs));
ConnectionTree.Invoke(() => ConnectionsServiceOnConnectionsLoaded(o, connectionsLoadedEventArgs));
return;
}
olvConnections.ConnectionTreeModel = connectionsLoadedEventArgs.NewConnectionTreeModel;
olvConnections.SelectedObject = connectionsLoadedEventArgs.NewConnectionTreeModel.RootNodes
.OfType<RootNodeInfo>().FirstOrDefault();
ConnectionTree.ConnectionTreeModel = connectionsLoadedEventArgs.NewConnectionTreeModel;
ConnectionTree.SelectedObject =
connectionsLoadedEventArgs.NewConnectionTreeModel.RootNodes.OfType<RootNodeInfo>().FirstOrDefault();
}
#endregion
@@ -194,32 +183,32 @@ namespace mRemoteNG.UI.Window
private void SetMenuEventHandlers()
{
mMenViewExpandAllFolders.Click += (sender, args) => olvConnections.ExpandAll();
mMenViewExpandAllFolders.Click += (sender, args) => ConnectionTree.ExpandAll();
mMenViewCollapseAllFolders.Click += (sender, args) =>
{
olvConnections.CollapseAll();
olvConnections.Expand(olvConnections.GetRootConnectionNode());
ConnectionTree.CollapseAll();
ConnectionTree.Expand(ConnectionTree.GetRootConnectionNode());
};
mMenSort.Click += (sender, args) =>
{
if (sortedAz)
if (_sortedAz)
{
olvConnections.SortRecursive(olvConnections.GetRootConnectionNode(), ListSortDirection.Ascending);
ConnectionTree.SortRecursive(ConnectionTree.GetRootConnectionNode(), ListSortDirection.Ascending);
mMenSort.Image = mRemoteNG.Resources.Sort_ZA;
sortedAz = false;
_sortedAz = false;
}
else
{
olvConnections.SortRecursive(olvConnections.GetRootConnectionNode(), ListSortDirection.Descending);
ConnectionTree.SortRecursive(ConnectionTree.GetRootConnectionNode(), ListSortDirection.Descending);
mMenSort.Image = mRemoteNG.Resources.Sort_AZ;
sortedAz = true;
_sortedAz = true;
}
};
mMenFavorites.Click += (sender, args) =>
{
mMenFavorites.DropDownItems.Clear();
var rootNodes = Runtime.ConnectionsService.ConnectionTreeModel.RootNodes;
List<ToolStripMenuItem> favoritesList = new List<ToolStripMenuItem>();
var favoritesList = new List<ToolStripMenuItem>();
foreach (var node in rootNodes)
{
@@ -251,21 +240,21 @@ namespace mRemoteNG.UI.Window
#region Tree Context Menu
private void cMenTreeAddConnection_Click(object sender, EventArgs e)
private void CMenTreeAddConnection_Click(object sender, EventArgs e)
{
olvConnections.AddConnection();
ConnectionTree.AddConnection();
}
private void cMenTreeAddFolder_Click(object sender, EventArgs e)
private void CMenTreeAddFolder_Click(object sender, EventArgs e)
{
olvConnections.AddFolder();
ConnectionTree.AddFolder();
}
#endregion
#region Search
private void txtSearch_KeyDown(object sender, KeyEventArgs e)
private void TxtSearch_KeyDown(object sender, KeyEventArgs e)
{
try
{
@@ -273,24 +262,24 @@ namespace mRemoteNG.UI.Window
{
case Keys.Escape:
e.Handled = true;
olvConnections.Focus();
ConnectionTree.Focus();
break;
case Keys.Up:
{
var match = olvConnections.NodeSearcher.PreviousMatch();
var match = ConnectionTree.NodeSearcher.PreviousMatch();
JumpToNode(match);
e.Handled = true;
break;
}
case Keys.Down:
{
var match = olvConnections.NodeSearcher.NextMatch();
var match = ConnectionTree.NodeSearcher.NextMatch();
JumpToNode(match);
e.Handled = true;
break;
}
default:
tvConnections_KeyDown(sender, e);
TvConnections_KeyDown(sender, e);
break;
}
}
@@ -311,17 +300,17 @@ namespace mRemoteNG.UI.Window
{
if (txtSearch.Text == "" || txtSearch.Text == Language.strSearchPrompt)
{
olvConnections.RemoveFilter();
ConnectionTree.RemoveFilter();
return;
}
olvConnections.ApplyFilter(txtSearch.Text);
ConnectionTree.ApplyFilter(txtSearch.Text);
}
else
{
if (txtSearch.Text == "") return;
olvConnections.NodeSearcher?.SearchByName(txtSearch.Text);
JumpToNode(olvConnections.NodeSearcher?.CurrentMatch);
ConnectionTree.NodeSearcher?.SearchByName(txtSearch.Text);
JumpToNode(ConnectionTree.NodeSearcher?.CurrentMatch);
}
}
@@ -329,13 +318,13 @@ namespace mRemoteNG.UI.Window
{
if (connectionInfo == null)
{
olvConnections.SelectedObject = null;
ConnectionTree.SelectedObject = null;
return;
}
ExpandParentsRecursive(connectionInfo);
olvConnections.SelectObject(connectionInfo);
olvConnections.EnsureModelVisible(connectionInfo);
ConnectionTree.SelectObject(connectionInfo);
ConnectionTree.EnsureModelVisible(connectionInfo);
}
private void ExpandParentsRecursive(ConnectionInfo connectionInfo)
@@ -343,12 +332,12 @@ namespace mRemoteNG.UI.Window
while (true)
{
if (connectionInfo?.Parent == null) return;
olvConnections.Expand(connectionInfo.Parent);
ConnectionTree.Expand(connectionInfo.Parent);
connectionInfo = connectionInfo.Parent;
}
}
private void tvConnections_KeyPress(object sender, KeyPressEventArgs e)
private void TvConnections_KeyPress(object sender, KeyPressEventArgs e)
{
try
{
@@ -363,7 +352,7 @@ namespace mRemoteNG.UI.Window
}
}
private void tvConnections_KeyDown(object sender, KeyEventArgs e)
private void TvConnections_KeyDown(object sender, KeyEventArgs e)
{
try
{