handle download cancellation better

This commit is contained in:
Stanley Dimant
2022-07-10 21:51:42 +02:00
parent 98c1802d63
commit 2307b43c65
7 changed files with 47 additions and 42 deletions

View File

@@ -367,7 +367,7 @@ namespace MareSynchronos.UI
ImGui.Text("No uploads in progress");
}
var currentDownloads = _apiController.CurrentDownloads.ToList();
var currentDownloads = _apiController.CurrentDownloads.SelectMany(k => k.Value).ToList();
ImGui.PushFont(UiBuilder.IconFont);
ImGui.Text(FontAwesomeIcon.Download.ToIconString());
ImGui.PopFont();

View File

@@ -101,7 +101,7 @@ public class DownloadUi : Window, IDisposable
if (_apiController.CurrentDownloads.Any())
{
var currentDownloads = _apiController.CurrentDownloads.ToList();
var currentDownloads = _apiController.CurrentDownloads.SelectMany(k => k.Value).ToList();
var multBase = currentDownloads.Any() ? 0 : 2;
var doneDownloads = currentDownloads.Count(c => c.IsTransferred);
var totalDownloads = currentDownloads.Count;

View File

@@ -518,7 +518,7 @@ namespace MareSynchronos.UI
{
ImGui.TableSetupColumn(
$"Uploads ({UiShared.ByteToString(_apiController.CurrentUploads.Sum(a => a.Transferred))} / {UiShared.ByteToString(_apiController.CurrentUploads.Sum(a => a.Total))})");
ImGui.TableSetupColumn($"Downloads ({UiShared.ByteToString(_apiController.CurrentDownloads.Sum(a => a.Transferred))} / {UiShared.ByteToString(_apiController.CurrentDownloads.Sum(a => a.Total))})");
ImGui.TableSetupColumn($"Downloads ({UiShared.ByteToString(_apiController.CurrentDownloads.SelectMany(k => k.Value).ToList().Sum(a => a.Transferred))} / {UiShared.ByteToString(_apiController.CurrentDownloads.SelectMany(k => k.Value).ToList().Sum(a => a.Total))})");
ImGui.TableHeadersRow();
@@ -553,7 +553,7 @@ namespace MareSynchronos.UI
ImGui.TableSetupColumn("Downloaded");
ImGui.TableSetupColumn("Size");
ImGui.TableHeadersRow();
foreach (var transfer in _apiController.CurrentDownloads.ToArray())
foreach (var transfer in _apiController.CurrentDownloads.SelectMany(k => k.Value).ToArray())
{
var color = UiShared.UploadColor((transfer.Transferred, transfer.Total));
ImGui.PushStyleColor(ImGuiCol.Text, color);