mirror of
https://fastgit.cc/github.com/sourcegit-scm/sourcegit
synced 2026-04-26 03:40:45 +08:00
- Remove all synchronous method in commands - `Command.ReadToEndAsync` now is protected method - Rename `ResultAsync` to `GetResultAsync` - Call `ConfigureAwait(false)` when there's no context Signed-off-by: leo <longshuang@msn.cn>
44 lines
1.2 KiB
C#
44 lines
1.2 KiB
C#
using System.Threading.Tasks;
|
|
using Avalonia.Threading;
|
|
using CommunityToolkit.Mvvm.ComponentModel;
|
|
|
|
namespace SourceGit.ViewModels
|
|
{
|
|
public class LFSImageDiff : ObservableObject
|
|
{
|
|
public Models.LFSDiff LFS
|
|
{
|
|
get;
|
|
}
|
|
|
|
public Models.ImageDiff Image
|
|
{
|
|
get => _image;
|
|
private set => SetProperty(ref _image, value);
|
|
}
|
|
|
|
public LFSImageDiff(string repo, Models.LFSDiff lfs, Models.ImageDecoder decoder)
|
|
{
|
|
LFS = lfs;
|
|
|
|
Task.Run(async () =>
|
|
{
|
|
var oldImage = await ImageSource.FromLFSObjectAsync(repo, lfs.Old, decoder).ConfigureAwait(false);
|
|
var newImage = await ImageSource.FromLFSObjectAsync(repo, lfs.New, decoder).ConfigureAwait(false);
|
|
|
|
var img = new Models.ImageDiff()
|
|
{
|
|
Old = oldImage.Bitmap,
|
|
OldFileSize = oldImage.Size,
|
|
New = newImage.Bitmap,
|
|
NewFileSize = newImage.Size
|
|
};
|
|
|
|
Dispatcher.UIThread.Post(() => Image = img);
|
|
});
|
|
}
|
|
|
|
private Models.ImageDiff _image;
|
|
}
|
|
}
|