updated nice progress bars
This commit is contained in:
parent
02d757f35e
commit
01b2c0e5e7
@ -55,11 +55,9 @@ namespace PhotoRenamer
|
||||
{
|
||||
var directories = ImageMetadataReader.ReadMetadata(file);
|
||||
var dateTime = GetDateTimeFromExif(directories) ?? GetDateTimeFromMp4(directories);
|
||||
if (!(dateTime is null))
|
||||
{
|
||||
var folder = CreateFolder(dateTime.GetValueOrDefault());
|
||||
CopyFile(folder, file, progressBar);
|
||||
}
|
||||
if (dateTime is null) return;
|
||||
var folder = CreateFolder(dateTime.GetValueOrDefault());
|
||||
CopyFile(folder, file, progressBar);
|
||||
}
|
||||
catch (ImageProcessingException)
|
||||
{
|
||||
@ -83,13 +81,16 @@ namespace PhotoRenamer
|
||||
|
||||
using var child = progressBar.Spawn(100, destination.FullName, _childOptions);
|
||||
using var client = new WebClient();
|
||||
client.DownloadProgressChanged += (o, args) => child.Tick(args.ProgressPercentage);
|
||||
|
||||
void OnClientOnDownloadProgressChanged(object o, DownloadProgressChangedEventArgs args) => child.Tick(args.ProgressPercentage);
|
||||
|
||||
client.DownloadProgressChanged += OnClientOnDownloadProgressChanged;
|
||||
client.DownloadFileAsync(new Uri(source.FullName), destination.FullName);
|
||||
while (client.IsBusy)
|
||||
{
|
||||
Thread.Sleep(100);
|
||||
}
|
||||
//source.CopyTo(destination.FullName, true);
|
||||
client.DownloadProgressChanged -= OnClientOnDownloadProgressChanged;
|
||||
child.Tick(100);
|
||||
}
|
||||
|
||||
@ -102,16 +103,24 @@ namespace PhotoRenamer
|
||||
|
||||
private static DateTime? GetDateTimeFromExif(IEnumerable<MetadataExtractor.Directory> directories)
|
||||
{
|
||||
DateTime dateTime = default;
|
||||
return directories
|
||||
.OfType<ExifSubIfdDirectory>()
|
||||
.FirstOrDefault()?.GetDateTime(ExifDirectoryBase.TagDateTimeOriginal);
|
||||
.OfType<ExifIfd0Directory>()
|
||||
.FirstOrDefault()?
|
||||
.TryGetDateTime(ExifDirectoryBase.TagDateTime, out dateTime) == true
|
||||
? (DateTime?) dateTime
|
||||
: null;
|
||||
}
|
||||
|
||||
private static DateTime? GetDateTimeFromMp4(IEnumerable<MetadataExtractor.Directory> directories)
|
||||
{
|
||||
DateTime dateTime = default;
|
||||
return directories
|
||||
.OfType<QuickTimeMovieHeaderDirectory>()
|
||||
.FirstOrDefault()?.GetDateTime(QuickTimeMovieHeaderDirectory.TagCreated);
|
||||
.FirstOrDefault()?
|
||||
.TryGetDateTime(QuickTimeMovieHeaderDirectory.TagCreated, out dateTime) == true
|
||||
? (DateTime?) dateTime
|
||||
: null;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user