1
0
mirror of https://github.com/Ylianst/MeshCentralRouter synced 2025-12-06 00:13:33 +00:00

Added drag & drop support to the file manager.

This commit is contained in:
Ylian Saint-Hilaire
2020-09-21 13:05:09 -07:00
parent 59b54bf520
commit 839414fec1
5 changed files with 310 additions and 219 deletions

View File

@@ -30,10 +30,10 @@
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FileDeletePromptForm));
this.mainGroupBox = new System.Windows.Forms.GroupBox();
this.mainLabel = new System.Windows.Forms.Label();
this.recursiveCheckBox = new System.Windows.Forms.CheckBox();
this.okButton = new System.Windows.Forms.Button();
this.cancelButton = new System.Windows.Forms.Button();
this.recursiveCheckBox = new System.Windows.Forms.CheckBox();
this.mainLabel = new System.Windows.Forms.Label();
this.mainGroupBox.SuspendLayout();
this.SuspendLayout();
//
@@ -51,6 +51,27 @@
this.mainGroupBox.TabStop = false;
this.mainGroupBox.Text = "Confirm Delete";
//
// mainLabel
//
this.mainLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.mainLabel.Location = new System.Drawing.Point(14, 23);
this.mainLabel.Name = "mainLabel";
this.mainLabel.Size = new System.Drawing.Size(295, 13);
this.mainLabel.TabIndex = 1;
this.mainLabel.Text = "---";
//
// recursiveCheckBox
//
this.recursiveCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.recursiveCheckBox.AutoSize = true;
this.recursiveCheckBox.Location = new System.Drawing.Point(17, 44);
this.recursiveCheckBox.Name = "recursiveCheckBox";
this.recursiveCheckBox.Size = new System.Drawing.Size(108, 17);
this.recursiveCheckBox.TabIndex = 0;
this.recursiveCheckBox.Text = "Recursive Delete";
this.recursiveCheckBox.UseVisualStyleBackColor = true;
//
// okButton
//
this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
@@ -74,27 +95,6 @@
this.cancelButton.UseVisualStyleBackColor = true;
this.cancelButton.Click += new System.EventHandler(this.cancelButton_Click);
//
// recursiveCheckBox
//
this.recursiveCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.recursiveCheckBox.AutoSize = true;
this.recursiveCheckBox.Location = new System.Drawing.Point(17, 45);
this.recursiveCheckBox.Name = "recursiveCheckBox";
this.recursiveCheckBox.Size = new System.Drawing.Size(108, 17);
this.recursiveCheckBox.TabIndex = 0;
this.recursiveCheckBox.Text = "Recursive Delete";
this.recursiveCheckBox.UseVisualStyleBackColor = true;
//
// mainLabel
//
this.mainLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.mainLabel.Location = new System.Drawing.Point(14, 23);
this.mainLabel.Name = "mainLabel";
this.mainLabel.Size = new System.Drawing.Size(295, 13);
this.mainLabel.TabIndex = 1;
this.mainLabel.Text = "---";
//
// FileDeletePromptForm
//
this.AcceptButton = this.okButton;

View File

@@ -12,10 +12,15 @@ namespace MeshCentralRouter
{
public partial class FileDeletePromptForm : Form
{
public FileDeletePromptForm(string message)
public FileDeletePromptForm(string message, bool rec)
{
InitializeComponent();
mainLabel.Text = message;
if (rec == false)
{
recursiveCheckBox.Visible = false;
Height = 142;
}
}
public bool recursive { get { return recursiveCheckBox.Checked; } }

12
FileViewer.Designer.cs generated
View File

@@ -73,6 +73,7 @@ namespace MeshCentralRouter
this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.leftTopPanel = new System.Windows.Forms.Panel();
this.localLabel = new System.Windows.Forms.Label();
this.deleteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.topPanel.SuspendLayout();
this.statusStrip.SuspendLayout();
this.mainTableLayoutPanel.SuspendLayout();
@@ -287,6 +288,7 @@ namespace MeshCentralRouter
this.rightListView.DragDrop += new System.Windows.Forms.DragEventHandler(this.rightListView_DragDrop);
this.rightListView.DragEnter += new System.Windows.Forms.DragEventHandler(this.rightListView_DragEnter);
this.rightListView.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.rightListView_MouseDoubleClick);
this.rightListView.MouseMove += new System.Windows.Forms.MouseEventHandler(this.rightListView_MouseMove);
this.rightListView.Resize += new System.EventHandler(this.rightListView_Resize);
//
// columnHeader3
@@ -301,6 +303,7 @@ namespace MeshCentralRouter
//
this.remoteContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.renameToolStripMenuItem,
this.deleteToolStripMenuItem,
this.toolStripMenuItem1,
this.refreshToolStripMenuItem});
this.remoteContextMenuStrip.Name = "remoteContextMenuStrip";
@@ -359,6 +362,7 @@ namespace MeshCentralRouter
//
// leftListView
//
this.leftListView.AllowDrop = true;
this.leftListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.columnHeader1,
this.columnHeader2});
@@ -371,6 +375,8 @@ namespace MeshCentralRouter
this.leftListView.View = System.Windows.Forms.View.Details;
this.leftListView.ColumnWidthChanged += new System.Windows.Forms.ColumnWidthChangedEventHandler(this.leftListView_ColumnWidthChanged);
this.leftListView.SelectedIndexChanged += new System.EventHandler(this.leftListView_SelectedIndexChanged);
this.leftListView.DragDrop += new System.Windows.Forms.DragEventHandler(this.leftListView_DragDrop);
this.leftListView.DragEnter += new System.Windows.Forms.DragEventHandler(this.leftListView_DragEnter);
this.leftListView.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.leftListView_MouseDoubleClick);
this.leftListView.MouseMove += new System.Windows.Forms.MouseEventHandler(this.leftListView_MouseMove);
this.leftListView.Resize += new System.EventHandler(this.leftListView_Resize);
@@ -399,6 +405,11 @@ namespace MeshCentralRouter
resources.ApplyResources(this.localLabel, "localLabel");
this.localLabel.Name = "localLabel";
//
// deleteToolStripMenuItem
//
this.deleteToolStripMenuItem.Name = "deleteToolStripMenuItem";
resources.ApplyResources(this.deleteToolStripMenuItem, "deleteToolStripMenuItem");
//
// FileViewer
//
resources.ApplyResources(this, "$this");
@@ -469,6 +480,7 @@ namespace MeshCentralRouter
private Button downloadButton;
private Button localDeleteButton;
private Button localNewFolderButton;
private ToolStripMenuItem deleteToolStripMenuItem;
}
}

View File

@@ -40,6 +40,7 @@ namespace MeshCentralRouter
public DirectoryInfo localFolder = null;
public string remoteFolder = null;
public ArrayList remoteFolderList = null;
private static string rndString = getRandomString(12);
// Stats
public long bytesIn = 0;
@@ -762,12 +763,13 @@ namespace MeshCentralRouter
private void remoteDeleteButton_Click(object sender, EventArgs e)
{
bool rec = false;
ArrayList filesArray = new ArrayList();
foreach (ListViewItem l in rightListView.SelectedItems) { filesArray.Add(l.Text); }
foreach (ListViewItem l in rightListView.SelectedItems) { filesArray.Add(l.Text); if (l.ImageIndex == 1) { rec = true; } }
string[] files = (string[])filesArray.ToArray(typeof(string));
string msg = string.Format("Confirm removal of {0} items?", files.Length);
if (files.Length == 1) { msg = "Confirm removal of 1 item?"; }
FileDeletePromptForm f = new FileDeletePromptForm(msg);
string msg = string.Format("Remove {0} items?", files.Length);
if (files.Length == 1) { msg = "Remove 1 item?"; }
FileDeletePromptForm f = new FileDeletePromptForm(msg, rec);
if (f.ShowDialog(this) == DialogResult.OK)
{
requestDelete(remoteFolder, files, f.recursive);
@@ -779,11 +781,11 @@ namespace MeshCentralRouter
{
if (node.agentid < 5)
{
toolStripMenuItem1.Visible = renameToolStripMenuItem.Visible = (rightListView.SelectedItems.Count == 1) && (remoteFolder != "") && (remoteFolder != null);
deleteToolStripMenuItem.Visible = toolStripMenuItem1.Visible = renameToolStripMenuItem.Visible = (rightListView.SelectedItems.Count == 1) && (remoteFolder != "") && (remoteFolder != null);
}
else
{
toolStripMenuItem1.Visible = renameToolStripMenuItem.Visible = (rightListView.SelectedItems.Count == 1);
deleteToolStripMenuItem.Visible = toolStripMenuItem1.Visible = renameToolStripMenuItem.Visible = (rightListView.SelectedItems.Count == 1);
}
}
@@ -957,7 +959,7 @@ namespace MeshCentralRouter
{
string localFilePath;
localFilePath = Path.Combine(downloadLocalPath.FullName, (string)downloadFileArray[downloadFileArrayPtr]);
downloadFileStream = File.OpenWrite(localFilePath);
try { downloadFileStream = File.OpenWrite(localFilePath); } catch (Exception) { return; }
downloadFileSize = (int)downloadFileSizeArray[downloadFileArrayPtr];
downloadFilePtr = 0;
@@ -1051,12 +1053,13 @@ namespace MeshCentralRouter
private void localDeleteButton_Click(object sender, EventArgs e)
{
bool rec = false;
ArrayList filesArray = new ArrayList();
foreach (ListViewItem l in leftListView.SelectedItems) { filesArray.Add(l.Text); }
foreach (ListViewItem l in leftListView.SelectedItems) { filesArray.Add(l.Text); if (l.ImageIndex == 1) { rec = true; } }
string[] files = (string[])filesArray.ToArray(typeof(string));
string msg = string.Format("Confirm removal of {0} items?", files.Length);
if (files.Length == 1) { msg = "Confirm removal of 1 item?"; }
FileDeletePromptForm f = new FileDeletePromptForm(msg);
string msg = string.Format("Remove {0} items?", files.Length);
if (files.Length == 1) { msg = "Remove 1 item?"; }
FileDeletePromptForm f = new FileDeletePromptForm(msg, rec);
if (f.ShowDialog(this) == DialogResult.OK)
{
foreach (string file in filesArray)
@@ -1109,5 +1112,64 @@ namespace MeshCentralRouter
}
}
}
private void rightListView_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
ArrayList XdownloadFileArray = new ArrayList();
ArrayList XdownloadFileSizeArray = new ArrayList();
foreach (ListViewItem l in rightListView.SelectedItems)
{
if (l.ImageIndex == 2)
{
XdownloadFileArray.Add(l.Text);
XdownloadFileSizeArray.Add(int.Parse(l.SubItems[1].Text));
}
}
if (XdownloadFileArray.Count > 0)
{
DataObject dataObj = new DataObject();
dataObj.SetData("Type", "MeshCentralRouterRemoteFiles-" + rndString);
dataObj.SetData("RemoteFiles", XdownloadFileArray);
dataObj.SetData("RemoteSizes", XdownloadFileSizeArray);
dataObj.SetData("RemoteFolder", remoteFolder);
rightListView.DoDragDrop(dataObj, DragDropEffects.Copy);
}
}
}
private void leftListView_DragEnter(object sender, DragEventArgs e)
{
if (uploadActive || downloadActive || (localFolder == null)) return;
if ((e.Data.GetDataPresent("Type") == true) && ((string)e.Data.GetData("Type") == ("MeshCentralRouterRemoteFiles-" + rndString))) { e.Effect = DragDropEffects.Copy; }
}
private void leftListView_DragDrop(object sender, DragEventArgs e)
{
if (uploadActive || downloadActive) return;
if ((e.Data.GetDataPresent("Type") == false) || ((string)e.Data.GetData("Type") != ("MeshCentralRouterRemoteFiles-" + rndString))) return;
downloadFileArrayPtr = 0;
downloadFileArray = (ArrayList)e.Data.GetData("RemoteFiles");
downloadFileSizeArray = (ArrayList)e.Data.GetData("RemoteSizes");
downloadLocalPath = localFolder;
downloadRemotePath = (string)e.Data.GetData("RemoteFolder");
downloadActive = true;
downloadStop = false;
downloadNextFile();
// Show transfer status dialog
transferStatusForm = new FileTransferStatusForm(this);
transferStatusForm.Show(this);
}
private static string getRandomString(int length)
{
using (var rng = new RNGCryptoServiceProvider())
{
var bytes = new byte[(((length * 6) + 7) / 8)];
rng.GetBytes(bytes);
return Convert.ToBase64String(bytes);
}
}
}
}

View File

@@ -672,76 +672,61 @@
<data name="&gt;&gt;panel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;rightListView.Name" xml:space="preserve">
<value>rightListView</value>
</data>
<data name="&gt;&gt;rightListView.Type" xml:space="preserve">
<value>System.Windows.Forms.ListView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;rightListView.Parent" xml:space="preserve">
<value>rightPanel</value>
</data>
<data name="&gt;&gt;rightListView.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;rightTopPanel.Name" xml:space="preserve">
<value>rightTopPanel</value>
</data>
<data name="&gt;&gt;rightTopPanel.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;rightTopPanel.Parent" xml:space="preserve">
<value>rightPanel</value>
</data>
<data name="&gt;&gt;rightTopPanel.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="rightPanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="rightPanel.Location" type="System.Drawing.Point, System.Drawing">
<value>363, 3</value>
</data>
<data name="rightPanel.Size" type="System.Drawing.Size, System.Drawing">
<value>324, 442</value>
</data>
<data name="rightPanel.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;rightPanel.Name" xml:space="preserve">
<value>rightPanel</value>
</data>
<data name="&gt;&gt;rightPanel.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;rightPanel.Parent" xml:space="preserve">
<value>mainTableLayoutPanel</value>
</data>
<data name="&gt;&gt;rightPanel.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="columnHeader1.Text" xml:space="preserve">
<data name="columnHeader3.Text" xml:space="preserve">
<value>Name</value>
</data>
<data name="columnHeader1.Width" type="System.Int32, mscorlib">
<data name="columnHeader3.Width" type="System.Int32, mscorlib">
<value>220</value>
</data>
<data name="columnHeader2.Text" xml:space="preserve">
<data name="columnHeader4.Text" xml:space="preserve">
<value>Size</value>
</data>
<data name="columnHeader2.TextAlign" type="System.Windows.Forms.HorizontalAlignment, System.Windows.Forms">
<data name="columnHeader4.TextAlign" type="System.Windows.Forms.HorizontalAlignment, System.Windows.Forms">
<value>Right</value>
</data>
<data name="columnHeader2.Width" type="System.Int32, mscorlib">
<data name="columnHeader4.Width" type="System.Int32, mscorlib">
<value>80</value>
</data>
<data name="leftListView.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<metadata name="remoteContextMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>640, 17</value>
</metadata>
<data name="renameToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>117, 22</value>
</data>
<data name="renameToolStripMenuItem.Text" xml:space="preserve">
<value>&amp;Rename</value>
</data>
<data name="deleteToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 22</value>
</data>
<data name="deleteToolStripMenuItem.Text" xml:space="preserve">
<value>&amp;Delete</value>
</data>
<data name="toolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
<value>114, 6</value>
</data>
<data name="refreshToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>117, 22</value>
</data>
<data name="refreshToolStripMenuItem.Text" xml:space="preserve">
<value>R&amp;efresh</value>
</data>
<data name="remoteContextMenuStrip.Size" type="System.Drawing.Size, System.Drawing">
<value>153, 98</value>
</data>
<data name="&gt;&gt;remoteContextMenuStrip.Name" xml:space="preserve">
<value>remoteContextMenuStrip</value>
</data>
<data name="&gt;&gt;remoteContextMenuStrip.Type" xml:space="preserve">
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="rightListView.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="leftListView.Location" type="System.Drawing.Point, System.Drawing">
<data name="rightListView.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 50</value>
</data>
<data name="leftListView.Size" type="System.Drawing.Size, System.Drawing">
<data name="rightListView.Size" type="System.Drawing.Size, System.Drawing">
<value>320, 388</value>
</data>
<metadata name="fileIconImageList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
@@ -752,7 +737,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC+
CQAAAk1TRnQBSQFMAgEBAwEAAXABAAFwAQABEAEAARABAAT/AREBAAj/AUIBTQE2BwABNgMAASgDAAFA
CQAAAk1TRnQBSQFMAgEBAwEAAXgBAAF4AQABEAEAARABAAT/AREBAAj/AUIBTQE2BwABNgMAASgDAAFA
AwABEAMAAQEBAAEQBgABCDoAATABcwHKAWYBygFmAbUBexIAARABQgEQAUIBEAFCARABQgEQAUIBEAFC
ARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQkYAAcoBZgHKAWYBygFmAcoBZgHKAWYBygFmAcoBZgHK
AWYBygFmAcoBZgHKAWYBygFmATABcwYAARABQgHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7
@@ -796,9 +781,81 @@
AgAC/wGAAQcBgAEHAgAC/wGAAQcBgAEPAgAC/wGAAQcBgAEfAgAL
</value>
</data>
<data name="leftListView.TabIndex" type="System.Int32, mscorlib">
<data name="rightListView.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;rightListView.Name" xml:space="preserve">
<value>rightListView</value>
</data>
<data name="&gt;&gt;rightListView.Type" xml:space="preserve">
<value>System.Windows.Forms.ListView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;rightListView.Parent" xml:space="preserve">
<value>rightPanel</value>
</data>
<data name="&gt;&gt;rightListView.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;remoteLabel.Name" xml:space="preserve">
<value>remoteLabel</value>
</data>
<data name="&gt;&gt;remoteLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;remoteLabel.Parent" xml:space="preserve">
<value>rightTopPanel</value>
</data>
<data name="&gt;&gt;remoteLabel.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="rightTopPanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
</data>
<data name="rightTopPanel.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="rightTopPanel.Size" type="System.Drawing.Size, System.Drawing">
<value>320, 50</value>
</data>
<data name="rightTopPanel.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="&gt;&gt;rightTopPanel.Name" xml:space="preserve">
<value>rightTopPanel</value>
</data>
<data name="&gt;&gt;rightTopPanel.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;rightTopPanel.Parent" xml:space="preserve">
<value>rightPanel</value>
</data>
<data name="&gt;&gt;rightTopPanel.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="rightPanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="rightPanel.Location" type="System.Drawing.Point, System.Drawing">
<value>363, 3</value>
</data>
<data name="rightPanel.Size" type="System.Drawing.Size, System.Drawing">
<value>324, 442</value>
</data>
<data name="rightPanel.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;rightPanel.Name" xml:space="preserve">
<value>rightPanel</value>
</data>
<data name="&gt;&gt;rightPanel.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;rightPanel.Parent" xml:space="preserve">
<value>mainTableLayoutPanel</value>
</data>
<data name="&gt;&gt;rightPanel.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;leftListView.Name" xml:space="preserve">
<value>leftListView</value>
</data>
@@ -811,30 +868,6 @@
<data name="&gt;&gt;leftListView.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;localLabel.Name" xml:space="preserve">
<value>localLabel</value>
</data>
<data name="&gt;&gt;localLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;localLabel.Parent" xml:space="preserve">
<value>leftTopPanel</value>
</data>
<data name="&gt;&gt;localLabel.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="leftTopPanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
</data>
<data name="leftTopPanel.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="leftTopPanel.Size" type="System.Drawing.Size, System.Drawing">
<value>320, 50</value>
</data>
<data name="leftTopPanel.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;leftTopPanel.Name" xml:space="preserve">
<value>leftTopPanel</value>
</data>
@@ -901,108 +934,6 @@
<data name="mainTableLayoutPanel.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="panel1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="rightPanel" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="leftPanel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,50,Absolute,30,Percent,50" /&gt;&lt;Rows Styles="Percent,100" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="columnHeader3.Text" xml:space="preserve">
<value>Name</value>
</data>
<data name="columnHeader3.Width" type="System.Int32, mscorlib">
<value>220</value>
</data>
<data name="columnHeader4.Text" xml:space="preserve">
<value>Size</value>
</data>
<data name="columnHeader4.TextAlign" type="System.Windows.Forms.HorizontalAlignment, System.Windows.Forms">
<value>Right</value>
</data>
<data name="columnHeader4.Width" type="System.Int32, mscorlib">
<value>80</value>
</data>
<metadata name="remoteContextMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>640, 17</value>
</metadata>
<data name="remoteContextMenuStrip.Size" type="System.Drawing.Size, System.Drawing">
<value>118, 54</value>
</data>
<data name="&gt;&gt;remoteContextMenuStrip.Name" xml:space="preserve">
<value>remoteContextMenuStrip</value>
</data>
<data name="&gt;&gt;remoteContextMenuStrip.Type" xml:space="preserve">
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="rightListView.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="rightListView.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 50</value>
</data>
<data name="rightListView.Size" type="System.Drawing.Size, System.Drawing">
<value>320, 388</value>
</data>
<data name="rightListView.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;rightListView.Name" xml:space="preserve">
<value>rightListView</value>
</data>
<data name="&gt;&gt;rightListView.Type" xml:space="preserve">
<value>System.Windows.Forms.ListView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;rightListView.Parent" xml:space="preserve">
<value>rightPanel</value>
</data>
<data name="&gt;&gt;rightListView.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="renameToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>117, 22</value>
</data>
<data name="renameToolStripMenuItem.Text" xml:space="preserve">
<value>&amp;Rename</value>
</data>
<data name="toolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
<value>114, 6</value>
</data>
<data name="refreshToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>117, 22</value>
</data>
<data name="refreshToolStripMenuItem.Text" xml:space="preserve">
<value>R&amp;efresh</value>
</data>
<data name="&gt;&gt;remoteLabel.Name" xml:space="preserve">
<value>remoteLabel</value>
</data>
<data name="&gt;&gt;remoteLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;remoteLabel.Parent" xml:space="preserve">
<value>rightTopPanel</value>
</data>
<data name="&gt;&gt;remoteLabel.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="rightTopPanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
</data>
<data name="rightTopPanel.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="rightTopPanel.Size" type="System.Drawing.Size, System.Drawing">
<value>320, 50</value>
</data>
<data name="rightTopPanel.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="&gt;&gt;rightTopPanel.Name" xml:space="preserve">
<value>rightTopPanel</value>
</data>
<data name="&gt;&gt;rightTopPanel.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;rightTopPanel.Parent" xml:space="preserve">
<value>rightPanel</value>
</data>
<data name="&gt;&gt;rightTopPanel.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="remoteLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
@@ -1036,6 +967,81 @@
<data name="&gt;&gt;remoteLabel.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="columnHeader1.Text" xml:space="preserve">
<value>Name</value>
</data>
<data name="columnHeader1.Width" type="System.Int32, mscorlib">
<value>220</value>
</data>
<data name="columnHeader2.Text" xml:space="preserve">
<value>Size</value>
</data>
<data name="columnHeader2.TextAlign" type="System.Windows.Forms.HorizontalAlignment, System.Windows.Forms">
<value>Right</value>
</data>
<data name="columnHeader2.Width" type="System.Int32, mscorlib">
<value>80</value>
</data>
<data name="leftListView.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="leftListView.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 50</value>
</data>
<data name="leftListView.Size" type="System.Drawing.Size, System.Drawing">
<value>320, 388</value>
</data>
<data name="leftListView.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;leftListView.Name" xml:space="preserve">
<value>leftListView</value>
</data>
<data name="&gt;&gt;leftListView.Type" xml:space="preserve">
<value>System.Windows.Forms.ListView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;leftListView.Parent" xml:space="preserve">
<value>leftPanel</value>
</data>
<data name="&gt;&gt;leftListView.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;localLabel.Name" xml:space="preserve">
<value>localLabel</value>
</data>
<data name="&gt;&gt;localLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;localLabel.Parent" xml:space="preserve">
<value>leftTopPanel</value>
</data>
<data name="&gt;&gt;localLabel.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="leftTopPanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
</data>
<data name="leftTopPanel.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="leftTopPanel.Size" type="System.Drawing.Size, System.Drawing">
<value>320, 50</value>
</data>
<data name="leftTopPanel.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;leftTopPanel.Name" xml:space="preserve">
<value>leftTopPanel</value>
</data>
<data name="&gt;&gt;leftTopPanel.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;leftTopPanel.Parent" xml:space="preserve">
<value>leftPanel</value>
</data>
<data name="&gt;&gt;leftTopPanel.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="localLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
@@ -1584,6 +1590,12 @@
<data name="&gt;&gt;columnHeader2.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;deleteToolStripMenuItem.Name" xml:space="preserve">
<value>deleteToolStripMenuItem</value>
</data>
<data name="&gt;&gt;deleteToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>FileViewer</value>
</data>