diff --git a/FileViewer.Designer.cs b/FileViewer.Designer.cs index 84230e7..9f649ee 100644 --- a/FileViewer.Designer.cs +++ b/FileViewer.Designer.cs @@ -285,6 +285,7 @@ namespace MeshCentralRouter resources.ApplyResources(this.rightListView, "rightListView"); this.rightListView.FullRowSelect = true; this.rightListView.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable; + this.rightListView.HideSelection = false; this.rightListView.Name = "rightListView"; this.rightListView.SmallImageList = this.fileIconImageList; this.rightListView.UseCompatibleStateImageBehavior = false; @@ -382,6 +383,7 @@ namespace MeshCentralRouter resources.ApplyResources(this.leftListView, "leftListView"); this.leftListView.FullRowSelect = true; this.leftListView.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable; + this.leftListView.HideSelection = false; this.leftListView.Name = "leftListView"; this.leftListView.SmallImageList = this.fileIconImageList; this.leftListView.UseCompatibleStateImageBehavior = false; diff --git a/FileViewer.cs b/FileViewer.cs index 1d5d7e5..9a223b5 100644 --- a/FileViewer.cs +++ b/FileViewer.cs @@ -92,6 +92,11 @@ namespace MeshCentralRouter public bool updateLocalFileView() { + // Save the list of selected items + List selectedItems = new List(); + foreach (ListViewItem l in leftListView.SelectedItems) { selectedItems.Add(l.Text); } + + // Refresh the list leftListView.Items.Clear(); if (localFolder == null) { @@ -145,6 +150,10 @@ namespace MeshCentralRouter catch (Exception) { return false; } } updateTransferButtons(); + + // Reselect items + foreach (ListViewItem l in leftListView.Items) { l.Selected = selectedItems.Contains(l.Text); } + return true; } @@ -160,6 +169,11 @@ namespace MeshCentralRouter public void updateRemoteFileView() { if (this.InvokeRequired) { this.Invoke(new updateRemoteFileViewHandler(updateRemoteFileView)); return; } + + // Save the list of selected items + List selectedItems = new List(); + foreach (ListViewItem l in rightListView.SelectedItems) { selectedItems.Add(l.Text); } + rightListView.Items.Clear(); if ((remoteFolder == null) || (remoteFolder == "")) { @@ -247,6 +261,9 @@ namespace MeshCentralRouter foreach (ListViewItem l in sortlist) { rightListView.Items.Add(l); } } updateTransferButtons(); + + // Reselect items + foreach (ListViewItem l in rightListView.Items) { l.Selected = selectedItems.Contains(l.Text); } } private void Server_onStateChanged(int state) diff --git a/FileViewer.resx b/FileViewer.resx index 6529757..7944990 100644 --- a/FileViewer.resx +++ b/FileViewer.resx @@ -573,6 +573,15 @@ 381, 17 + + 675, 17 + + + --- + + + MiddleLeft + 0, 480 @@ -597,15 +606,6 @@ 4 - - 675, 17 - - - --- - - - MiddleLeft - Bottom, Left @@ -672,6 +672,118 @@ 0 + + Name + + + 220 + + + Size + + + Right + + + 80 + + + 640, 17 + + + 117, 22 + + + &Rename + + + 117, 22 + + + &Delete + + + 114, 6 + + + 117, 22 + + + R&efresh + + + 118, 76 + + + remoteContextMenuStrip + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Fill + + + 0, 50 + + + 320, 388 + + + 497, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC+ + CQAAAk1TRnQBSQFMAgEBAwEAAaABAAGgAQABEAEAARABAAT/AREBAAj/AUIBTQE2BwABNgMAASgDAAFA + AwABEAMAAQEBAAEQBgABCDoAATABcwHKAWYBygFmAbUBexIAARABQgEQAUIBEAFCARABQgEQAUIBEAFC + ARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQkYAAcoBZgHKAWYBygFmAcoBZgHKAWYBygFmAcoBZgHK + AWYBygFmAcoBZgHKAWYBygFmATABcwYAARABQgHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7 + Ad4BewHeAXsB3gF7ARABQkYAATABcwEwAXMBMAFzATABcwEwAXMBygFmAcoBZgHKAWYBygFmAcoBZgHK + AWYBygFmAcoBZgYAARABQgHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7 + ARABQkYAATABcwEwAXMBMAFzATABcwEwAXMBygFmAcoBZgHKAWYBygFmAcoBZgHKAWYBygFmAcoBZgYA + ARABQgHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7ARABQiQAAVsBawFR + AUYBUQFGAVEBRgFRAUYBUQFGAVEBRgFRAUYBUQFGAVEBRgFRAUYBUQFGAVEBRgFRAUYBUQFGAVsBawIA + ATABcwEwAXMBMAFzATABcwEwAXMBygFmAcoBZgHKAWYBygFmAcoBZgHKAWYBygFmAcoBZgYAAfcBXgHe + AXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7AfcBXiQAAVEBRgFRAUYBUQFG + AVEBRgFRAUYBUQFGAVEBRgFRAUYBUQFGAVEBRgFRAUYBUQFGAVsBawFRAUYBUQFGAVEBRgIAATABcwG1 + AXsBMAFzATABcwEwAXMBygFmAcoBZgHKAWYBMAFzAcoBZgHKAWYBtQF7AcoBZgYAAfcBXgHeAXsB3gF7 + Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7AfcBXiQAAVEBRgFRAUYBWwFrAVsBawFb + AWsBWwFrAVsBawFbAWsBWwFrAVsBawFbAWsBUQFGAVEBRgFRAUYBUQFGAVEBRgIAATABcwG1AXsBtQF7 + ATABcwEwAXMBygFmAcoBZgHKAWYBMAFzATABcwEwAXMBtQF7AcoBZgYAAfcBXgHeAXsB3gF7Ad4BewHe + AXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7AfcBXiQAAVEBRgFRAUYBWwFrAVsBawFbAWsBWwFr + AVsBawFbAWsBWwFrAVsBawFbAWsBUQFGAVEBRgFRAUYBUQFGAVEBRgIAATABcwG1AXsBtQF7AbUBewEw + AXMBygFmAcoBZgHKAWYBMAFzATABcwEwAXMBtQF7AcoBZgYAAfcBXgHeAXsB3gF7Ad4BewHeAXsB3gF7 + Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7AfcBXiQAAVEBRgFbAWsBWwFrAVsBawFbAWsBWwFrAVsBawFb + AWsBWwFrAVsBawFbAWsBUQFGAVEBRgFRAUYBUQFGAVEBRgIAATABcwG1AXsBtQF7AbUBewG1AXsBygFm + AcoBZgHKAWYBMAFzATABcwEwAXMBMAFzAcoBZgYAAfcBXgHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHe + AXsB3gF7Ad4BewHeAXsB3gF7AfcBXiQAAVEBRgFbAWsBWwFrAf4BewH+AXsB/gF7Af4BewH+AXsB/gF7 + Af4BewH+AXsB/gF7Af4BewFbAWsBWwFrAVEBRgIAATABcwG1AXsBtQF7AbUBewG1AXsBygFmAcoBZgHK + AWYBtQF7ATABcwEwAXMBygFmATABcwYAAfcBXgHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7 + Ad4BewHeAXsB3gF7AfcBXiQAAVsBawFbAWsBUQFGAVEBRgFRAUYBUQFGAVEBRgFRAUYBUQFGAVEBRgFR + AUYBUQFGAVEBRgFRAUYBWwFrAVsBawIAATABcwG1AXsBtQF7AbUBewG1AXsBygFmATABcwEwAXMBtQF7 + AbUBewG1AXsBygFmCAAB9wFeAd4BewHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHe + AXsB9wFeJgABWwFrAVsBawFbAWsBWwFrAf4BewH+AXsB/gF7Af4BewH+AXsB/gF7AVsBawFbAWsBWwFr + AVsBawQAATABcwG1AXsBtQF7AbUBewG1AXsBygFmATABcwEwAXMBtQF7AbUBewG1AXsBygFmCAAB9wFe + Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB9wFeLAABWwFrAVsBawFb + AWsBWwFrAVsBawFbAWsBWwFrAVsBawoAATABcwG1AXsBtQF7AbUBewG1AXsBygFmATABcwEwAXMBtQF7 + AbUBewG1AXsBygFmCAAB9wFeAd4BewHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB9wFeAfcBXgH3 + AV4B9wFeRgABMAFzAbUBewG1AXsBtQF7ATABcwHKAWYBMAFzAbUBewG1AXsBtQF7AbUBewHKAWYIAAH3 + AV4B3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewH3AV4B3gF7AfcBXkgAATABcwG1AXsBMAFz + ATABcwG1AXsBMAFzAbUBewG1AXsBtQF7AbUBewG1AXsBMAFzCAAB9wFeAd4BewHeAXsB3gF7Ad4BewHe + AXsB3gF7Ad4BewHeAXsB9wFeAfcBXkoAATABcwEwAXMBMAFzATABcwEwAXMBMAFzATABcwEwAXMBMAFz + AcoBZgEwAXMBtQF7CAAB9wFeAfcBXgH3AV4B9wFeAfcBXgH3AV4B9wFeAfcBXgH3AV4B9wFeKgABQgFN + AT4HAAE+AwABKAMAAUADAAEQAwABAQEAAQEFAAGAFwAD/wEAAv8B8AH/AYABAwIAAv8BgAEDAYABAwIA + Av8BgAEDAYABAwIAAv8BgAEDAYABAwQAAYABAwGAAQMEAAGAAQMBgAEDBAABgAEDAYABAwQAAYABAwGA + AQMEAAGAAQMBgAEDBAABgAEDAYABAwQAAYABBwGAAQMCAAGAAQEBgAEHAYABAwIAAfABDwGAAQcBgAED + AgAC/wGAAQcBgAEHAgAC/wGAAQcBgAEPAgAC/wGAAQcBgAEfAgAL + + + + 299 + rightListView @@ -684,6 +796,51 @@ 0 + + Top, Left, Right + + + True + + + NoControl + + + 3, 3 + + + 44, 13 + + + 0 + + + Remote + + + remoteLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + rightTopPanel + + + 5 + + + Top + + + 0, 0 + + + 320, 50 + + + 2 + rightTopPanel @@ -739,28 +896,28 @@ 830, 17 - 152, 22 + 117, 22 &Rename - 152, 22 + 117, 22 &Delete - 149, 6 + 114, 6 - 152, 22 + 117, 22 R&efresh - 153, 98 + 118, 76 localContextMenuStrip @@ -777,58 +934,6 @@ 320, 388 - - 497, 17 - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC+ - CQAAAk1TRnQBSQFMAgEBAwEAAZgBAAGYAQABEAEAARABAAT/AREBAAj/AUIBTQE2BwABNgMAASgDAAFA - AwABEAMAAQEBAAEQBgABCDoAATABcwHKAWYBygFmAbUBexIAARABQgEQAUIBEAFCARABQgEQAUIBEAFC - ARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQkYAAcoBZgHKAWYBygFmAcoBZgHKAWYBygFmAcoBZgHK - AWYBygFmAcoBZgHKAWYBygFmATABcwYAARABQgHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7 - Ad4BewHeAXsB3gF7ARABQkYAATABcwEwAXMBMAFzATABcwEwAXMBygFmAcoBZgHKAWYBygFmAcoBZgHK - AWYBygFmAcoBZgYAARABQgHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7 - ARABQkYAATABcwEwAXMBMAFzATABcwEwAXMBygFmAcoBZgHKAWYBygFmAcoBZgHKAWYBygFmAcoBZgYA - ARABQgHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7ARABQiQAAVsBawFR - AUYBUQFGAVEBRgFRAUYBUQFGAVEBRgFRAUYBUQFGAVEBRgFRAUYBUQFGAVEBRgFRAUYBUQFGAVsBawIA - ATABcwEwAXMBMAFzATABcwEwAXMBygFmAcoBZgHKAWYBygFmAcoBZgHKAWYBygFmAcoBZgYAAfcBXgHe - AXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7AfcBXiQAAVEBRgFRAUYBUQFG - AVEBRgFRAUYBUQFGAVEBRgFRAUYBUQFGAVEBRgFRAUYBUQFGAVsBawFRAUYBUQFGAVEBRgIAATABcwG1 - AXsBMAFzATABcwEwAXMBygFmAcoBZgHKAWYBMAFzAcoBZgHKAWYBtQF7AcoBZgYAAfcBXgHeAXsB3gF7 - Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7AfcBXiQAAVEBRgFRAUYBWwFrAVsBawFb - AWsBWwFrAVsBawFbAWsBWwFrAVsBawFbAWsBUQFGAVEBRgFRAUYBUQFGAVEBRgIAATABcwG1AXsBtQF7 - ATABcwEwAXMBygFmAcoBZgHKAWYBMAFzATABcwEwAXMBtQF7AcoBZgYAAfcBXgHeAXsB3gF7Ad4BewHe - AXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7AfcBXiQAAVEBRgFRAUYBWwFrAVsBawFbAWsBWwFr - AVsBawFbAWsBWwFrAVsBawFbAWsBUQFGAVEBRgFRAUYBUQFGAVEBRgIAATABcwG1AXsBtQF7AbUBewEw - AXMBygFmAcoBZgHKAWYBMAFzATABcwEwAXMBtQF7AcoBZgYAAfcBXgHeAXsB3gF7Ad4BewHeAXsB3gF7 - Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7AfcBXiQAAVEBRgFbAWsBWwFrAVsBawFbAWsBWwFrAVsBawFb - AWsBWwFrAVsBawFbAWsBUQFGAVEBRgFRAUYBUQFGAVEBRgIAATABcwG1AXsBtQF7AbUBewG1AXsBygFm - AcoBZgHKAWYBMAFzATABcwEwAXMBMAFzAcoBZgYAAfcBXgHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHe - AXsB3gF7Ad4BewHeAXsB3gF7AfcBXiQAAVEBRgFbAWsBWwFrAf4BewH+AXsB/gF7Af4BewH+AXsB/gF7 - Af4BewH+AXsB/gF7Af4BewFbAWsBWwFrAVEBRgIAATABcwG1AXsBtQF7AbUBewG1AXsBygFmAcoBZgHK - AWYBtQF7ATABcwEwAXMBygFmATABcwYAAfcBXgHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7 - Ad4BewHeAXsB3gF7AfcBXiQAAVsBawFbAWsBUQFGAVEBRgFRAUYBUQFGAVEBRgFRAUYBUQFGAVEBRgFR - AUYBUQFGAVEBRgFRAUYBWwFrAVsBawIAATABcwG1AXsBtQF7AbUBewG1AXsBygFmATABcwEwAXMBtQF7 - AbUBewG1AXsBygFmCAAB9wFeAd4BewHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHe - AXsB9wFeJgABWwFrAVsBawFbAWsBWwFrAf4BewH+AXsB/gF7Af4BewH+AXsB/gF7AVsBawFbAWsBWwFr - AVsBawQAATABcwG1AXsBtQF7AbUBewG1AXsBygFmATABcwEwAXMBtQF7AbUBewG1AXsBygFmCAAB9wFe - Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB9wFeLAABWwFrAVsBawFb - AWsBWwFrAVsBawFbAWsBWwFrAVsBawoAATABcwG1AXsBtQF7AbUBewG1AXsBygFmATABcwEwAXMBtQF7 - AbUBewG1AXsBygFmCAAB9wFeAd4BewHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB9wFeAfcBXgH3 - AV4B9wFeRgABMAFzAbUBewG1AXsBtQF7ATABcwHKAWYBMAFzAbUBewG1AXsBtQF7AbUBewHKAWYIAAH3 - AV4B3gF7Ad4BewHeAXsB3gF7Ad4BewHeAXsB3gF7Ad4BewH3AV4B3gF7AfcBXkgAATABcwG1AXsBMAFz - ATABcwG1AXsBMAFzAbUBewG1AXsBtQF7AbUBewG1AXsBMAFzCAAB9wFeAd4BewHeAXsB3gF7Ad4BewHe - AXsB3gF7Ad4BewHeAXsB9wFeAfcBXkoAATABcwEwAXMBMAFzATABcwEwAXMBMAFzATABcwEwAXMBMAFz - AcoBZgEwAXMBtQF7CAAB9wFeAfcBXgH3AV4B9wFeAfcBXgH3AV4B9wFeAfcBXgH3AV4B9wFeKgABQgFN - AT4HAAE+AwABKAMAAUADAAEQAwABAQEAAQEFAAGAFwAD/wEAAv8B8AH/AYABAwIAAv8BgAEDAYABAwIA - Av8BgAEDAYABAwIAAv8BgAEDAYABAwQAAYABAwGAAQMEAAGAAQMBgAEDBAABgAEDAYABAwQAAYABAwGA - AQMEAAGAAQMBgAEDBAABgAEDAYABAwQAAYABBwGAAQMCAAGAAQEBgAEHAYABAwIAAfABDwGAAQcBgAED - AgAC/wGAAQcBgAEHAgAC/wGAAQcBgAEPAgAC/wGAAQcBgAEfAgAL - - 199 @@ -844,6 +949,24 @@ 1 + + Top, Left, Right + + + True + + + 3, 3 + + + 33, 13 + + + 0 + + + Local + localLabel @@ -934,177 +1057,6 @@ <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="panel1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="rightPanel" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="leftPanel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,50,Absolute,30,Percent,50" /><Rows Styles="Percent,100" /></TableLayoutSettings> - - Name - - - 220 - - - Size - - - Right - - - 80 - - - 640, 17 - - - 118, 76 - - - remoteContextMenuStrip - - - System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Fill - - - 0, 50 - - - 320, 388 - - - 299 - - - rightListView - - - System.Windows.Forms.ListView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - rightPanel - - - 0 - - - 117, 22 - - - &Rename - - - 117, 22 - - - &Delete - - - 114, 6 - - - 117, 22 - - - R&efresh - - - remoteLabel - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - rightTopPanel - - - 5 - - - Top - - - 0, 0 - - - 320, 50 - - - 2 - - - rightTopPanel - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - rightPanel - - - 1 - - - Top, Left, Right - - - True - - - NoControl - - - 3, 3 - - - 44, 13 - - - 0 - - - Remote - - - remoteLabel - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - rightTopPanel - - - 5 - - - Top, Left, Right - - - True - - - 3, 3 - - - 33, 13 - - - 0 - - - Local - - - localLabel - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - leftTopPanel - - - 5 - True