Replace ReadDir method with one that uses IDirNode.

This commit is contained in:
2022-12-21 20:03:24 +00:00
parent 5ae8c92a32
commit 3becc0833c
20 changed files with 184 additions and 690 deletions

View File

@@ -67,7 +67,7 @@ public sealed class SubdirectoryViewModel
_model = model;
_view = view;
ErrorNumber errno = model.Plugin.ReadDir(model.Path, out List<string> dirents);
ErrorNumber errno = model.Plugin.OpenDir(model.Path, out IDirNode node);
if(errno != ErrorNumber.NoError)
{
@@ -80,7 +80,8 @@ public sealed class SubdirectoryViewModel
return;
}
foreach(string dirent in dirents)
while(model.Plugin.ReadDir(node, out string dirent) == ErrorNumber.NoError &&
dirent is not null)
{
errno = model.Plugin.Stat(model.Path + "/" + dirent, out FileEntryInfo stat);
@@ -112,6 +113,8 @@ public sealed class SubdirectoryViewModel
Stat = stat
});
}
model.Plugin.CloseDir(node);
}
public ObservableCollection<FileModel> Entries { get; }