From 5024f7c815599d3a79ff1b4582e680283a15bc77 Mon Sep 17 00:00:00 2001 From: fiaxh Date: Wed, 9 Apr 2025 18:25:33 +0200 Subject: Fix corner cases in file transmission progress widget --- .../file_image_widget.vala | 26 +++++++++++++--------- 1 file changed, 15 insertions(+), 11 deletions(-) (limited to 'main/src/ui/conversation_content_view/file_image_widget.vala') diff --git a/main/src/ui/conversation_content_view/file_image_widget.vala b/main/src/ui/conversation_content_view/file_image_widget.vala index 11a2d3f6..f95620b9 100644 --- a/main/src/ui/conversation_content_view/file_image_widget.vala +++ b/main/src/ui/conversation_content_view/file_image_widget.vala @@ -132,18 +132,22 @@ public class FileImageWidget : Widget { }); } - if (file_transfer.state == FileTransfer.State.IN_PROGRESS) { - if (file_transfer.direction == FileTransfer.DIRECTION_RECEIVED) { - transmission_progress.state = FileTransmissionProgress.State.DOWNLOADING; - } else { - transmission_progress.state = FileTransmissionProgress.State.UPLOADING; + if (file_transfer.direction == FileTransfer.DIRECTION_RECEIVED) { + if (file_transfer.state == IN_PROGRESS) { + transmission_progress.state = DOWNLOADING; + } else if (file_transfer.sfs_sources.is_empty) { + transmission_progress.state = UNKNOWN_SOURCE; + } else if (file_transfer.state == NOT_STARTED) { + transmission_progress.state = DOWNLOAD_NOT_STARTED; + } else if (file_transfer.state == FAILED) { + transmission_progress.state = DOWNLOAD_NOT_STARTED_FAILED_BEFORE; + } + } else if (file_transfer.direction == FileTransfer.DIRECTION_SENT) { + if (file_transfer.state == IN_PROGRESS) { + transmission_progress.state = UPLOADING; + } else if (file_transfer.state == FAILED) { + transmission_progress.state = UPLOAD_FAILED; } - } else if (file_transfer.sfs_sources.is_empty && file_transfer.direction == FileTransfer.DIRECTION_RECEIVED) { - transmission_progress.state = UNKNOWN_SOURCE; - } else if (file_transfer.state == NOT_STARTED && file_transfer.direction == FileTransfer.DIRECTION_RECEIVED) { - transmission_progress.state = DOWNLOAD_NOT_STARTED; - } else if (file_transfer.state == FileTransfer.State.FAILED) { - transmission_progress.state = DOWNLOAD_NOT_STARTED_FAILED_BEFORE; } } -- cgit v1.3