diff options
Diffstat (limited to 'main/src/ui/conversation_content_view/file_default_widget.vala')
| -rw-r--r-- | main/src/ui/conversation_content_view/file_default_widget.vala | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/main/src/ui/conversation_content_view/file_default_widget.vala b/main/src/ui/conversation_content_view/file_default_widget.vala index 638dab15..79d22fe4 100644 --- a/main/src/ui/conversation_content_view/file_default_widget.vala +++ b/main/src/ui/conversation_content_view/file_default_widget.vala @@ -31,7 +31,8 @@ public class FileDefaultWidget : EventBox { cancel_button = new ModelButton() { text=_("Cancel"), visible=true }; } - public void update_file_info(string? mime_type, FileTransfer.State state, long size) { + public void update_file_info(string? mime_type, uint64 transferred_bytes, + bool direction, FileTransfer.State state, long size) { this.state = state; spinner.active = false; // A hidden spinning spinner still uses CPU. Deactivate asap @@ -58,7 +59,17 @@ public class FileDefaultWidget : EventBox { popover_menu.closed.connect(on_pointer_left); break; case FileTransfer.State.IN_PROGRESS: - mime_label.label = _("Downloading %s…").printf(get_size_string(size)); + uint progress = 0; + + if (size > 0) + progress = (uint)((transferred_bytes * (uint64)100) / (uint64)size); + + if (direction == FileTransfer.DIRECTION_SENT) { + mime_label.label = _("Uploading %s (%u%%)…").printf(get_size_string(size), progress); + } + else { + mime_label.label = _("Downloading %s (%u%%)…").printf(get_size_string(size), progress); + } spinner.active = true; image_stack.set_visible_child_name("spinner"); |
