Skip to content

Commit 918f4fb

Browse files
Fix progress bar not working properly in nested directories
1 parent a39b77e commit 918f4fb

File tree

1 file changed

+15
-12
lines changed

1 file changed

+15
-12
lines changed

FileHider.Lib/FilesList.cs

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ private set
2020
}
2121

2222
public DirectoryNode RootDirectory { get; }
23+
private int itemsProcessed = 0;
2324

2425
private int _fileCount;
2526
/// <summary>
@@ -142,19 +143,25 @@ public void GoToRoot()
142143
/// </summary>
143144
public void AddItemsToArchive(DirectoryNode directory, ZipArchive archive, IProgress<float> progress)
144145
{
145-
int itemsDone = 0;
146-
foreach(var item in directory.Children)
146+
itemsProcessed = 0;
147+
_AddItemsToArchive(directory, archive, progress);
148+
}
149+
150+
private void _AddItemsToArchive(DirectoryNode directory, ZipArchive archive, IProgress<float> progress)
151+
{
152+
foreach (var item in directory.Children)
147153
{
148154
if (item == null) continue;
149-
else if(item is DirectoryNode)
155+
else if (item is DirectoryNode)
150156
{
151-
AddItemsToArchive((DirectoryNode)item, archive, progress);
152-
} else
157+
_AddItemsToArchive((DirectoryNode)item, archive, progress);
158+
}
159+
else
153160
{
154161
var fileItem = (FileNode)item;
155162
archive.CreateEntryFromFile(fileItem.RealPath, fileItem.GetVirtualPath());
156-
itemsDone += 1;
157-
progress.Report((float)itemsDone * 100.0f / FileCount);
163+
itemsProcessed += 1;
164+
progress.Report((float)itemsProcessed * 100.0f / FileCount);
158165
}
159166
}
160167
}
@@ -165,10 +172,6 @@ public void AddItemsToArchive(DirectoryNode directory, ZipArchive archive, IProg
165172
/// <returns>Whether the root directory is empty or not.</returns>
166173
public bool IsEmpty()
167174
{
168-
var cd = CurrentDirectory;
169-
GoToRoot();
170-
var c = CurrentDirectory.Children.Count;
171-
GoTo(cd);
172-
return c == 0;
175+
return RootDirectory.Children.Count == 0;
173176
}
174177
}

0 commit comments

Comments
 (0)