Upload file on UIThread so progress events reach controls.

This commit is contained in:
Jared 2020-09-21 15:25:17 -07:00 committed by Jared Goodwin
parent f411c14334
commit 6b873f9cc4
2 changed files with 17 additions and 10 deletions

View File

@ -1,4 +1,5 @@
using Avalonia.Controls;
using Avalonia.Threading;
using ReactiveUI;
using Remotely.Desktop.Core.Interfaces;
using Remotely.Desktop.Core.Services;
@ -80,12 +81,15 @@ namespace Remotely.Desktop.Linux.ViewModels
public async Task UploadFile(string filePath)
{
var fileUpload = new FileUpload()
await Dispatcher.UIThread.InvokeAsync(async () =>
{
FilePath = filePath
};
FileUploads.Add(fileUpload);
await _fileTransferService.UploadFile(fileUpload, _viewer);
var fileUpload = new FileUpload()
{
FilePath = filePath
};
FileUploads.Add(fileUpload);
await _fileTransferService.UploadFile(fileUpload, _viewer);
});
}
public ICommand RemoveFileUpload => new Executor((param) =>

View File

@ -94,12 +94,15 @@ namespace Remotely.Desktop.Win.ViewModels
public async Task UploadFile(string filePath)
{
var fileUpload = new FileUpload()
await App.Current.Dispatcher.InvokeAsync(async () =>
{
FilePath = filePath
};
FileUploads.Add(fileUpload);
await _fileTransferService.UploadFile(fileUpload, _viewer);
var fileUpload = new FileUpload()
{
FilePath = filePath
};
FileUploads.Add(fileUpload);
await _fileTransferService.UploadFile(fileUpload, _viewer);
});
}
public ICommand RemoveFileUpload => new Executor((param) =>