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 directories = ImageMetadataReader.ReadMetadata(file);
|
||||||
var dateTime = GetDateTimeFromExif(directories) ?? GetDateTimeFromMp4(directories);
|
var dateTime = GetDateTimeFromExif(directories) ?? GetDateTimeFromMp4(directories);
|
||||||
if (!(dateTime is null))
|
if (dateTime is null) return;
|
||||||
{
|
var folder = CreateFolder(dateTime.GetValueOrDefault());
|
||||||
var folder = CreateFolder(dateTime.GetValueOrDefault());
|
CopyFile(folder, file, progressBar);
|
||||||
CopyFile(folder, file, progressBar);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch (ImageProcessingException)
|
catch (ImageProcessingException)
|
||||||
{
|
{
|
||||||
@ -83,13 +81,16 @@ namespace PhotoRenamer
|
|||||||
|
|
||||||
using var child = progressBar.Spawn(100, destination.FullName, _childOptions);
|
using var child = progressBar.Spawn(100, destination.FullName, _childOptions);
|
||||||
using var client = new WebClient();
|
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);
|
client.DownloadFileAsync(new Uri(source.FullName), destination.FullName);
|
||||||
while (client.IsBusy)
|
while (client.IsBusy)
|
||||||
{
|
{
|
||||||
Thread.Sleep(100);
|
Thread.Sleep(100);
|
||||||
}
|
}
|
||||||
//source.CopyTo(destination.FullName, true);
|
client.DownloadProgressChanged -= OnClientOnDownloadProgressChanged;
|
||||||
child.Tick(100);
|
child.Tick(100);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -102,16 +103,24 @@ namespace PhotoRenamer
|
|||||||
|
|
||||||
private static DateTime? GetDateTimeFromExif(IEnumerable<MetadataExtractor.Directory> directories)
|
private static DateTime? GetDateTimeFromExif(IEnumerable<MetadataExtractor.Directory> directories)
|
||||||
{
|
{
|
||||||
|
DateTime dateTime = default;
|
||||||
return directories
|
return directories
|
||||||
.OfType<ExifSubIfdDirectory>()
|
.OfType<ExifIfd0Directory>()
|
||||||
.FirstOrDefault()?.GetDateTime(ExifDirectoryBase.TagDateTimeOriginal);
|
.FirstOrDefault()?
|
||||||
|
.TryGetDateTime(ExifDirectoryBase.TagDateTime, out dateTime) == true
|
||||||
|
? (DateTime?) dateTime
|
||||||
|
: null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static DateTime? GetDateTimeFromMp4(IEnumerable<MetadataExtractor.Directory> directories)
|
private static DateTime? GetDateTimeFromMp4(IEnumerable<MetadataExtractor.Directory> directories)
|
||||||
{
|
{
|
||||||
|
DateTime dateTime = default;
|
||||||
return directories
|
return directories
|
||||||
.OfType<QuickTimeMovieHeaderDirectory>()
|
.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