From b2163a7ca561cf18e425f28fc71d1230b0def0d1 Mon Sep 17 00:00:00 2001 From: fiaxh Date: Sat, 14 Jun 2025 21:48:14 +0200 Subject: File Send Dialog: Make file widget static --- main/src/ui/conversation_content_view/file_default_widget.vala | 10 +++++++++- main/src/ui/conversation_content_view/file_widget.vala | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'main/src/ui/conversation_content_view') 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 aaf36b57..f9e4015e 100644 --- a/main/src/ui/conversation_content_view/file_default_widget.vala +++ b/main/src/ui/conversation_content_view/file_default_widget.vala @@ -20,7 +20,7 @@ public class FileDefaultWidget : Box { private FileTransfer.State state; - public FileDefaultWidget() { + public void init_updating_file_info() { EventControllerMotion this_motion_events = new EventControllerMotion(); this.add_controller(this_motion_events); this_motion_events.enter.connect(on_pointer_entered_event); @@ -39,6 +39,14 @@ public class FileDefaultWidget : Box { }); } + public void set_static_file_info(string? mime_type) { + spinner.stop(); // A hidden spinning spinner still uses CPU. Deactivate asap + + image_stack.set_visible_child_name("content_type_image"); + content_type_image.icon_name = get_file_icon_name(mime_type); + mime_label.label = mime_type != null ? ContentType.get_description(mime_type) : null; + } + public void update_file_info(string? mime_type, FileTransfer.State state, bool direction, int64 size, int64 transferred_bytes) { this.state = state; diff --git a/main/src/ui/conversation_content_view/file_widget.vala b/main/src/ui/conversation_content_view/file_widget.vala index 2b62f769..f031db21 100644 --- a/main/src/ui/conversation_content_view/file_widget.vala +++ b/main/src/ui/conversation_content_view/file_widget.vala @@ -213,6 +213,7 @@ public class FileDefaultWidgetController : Object { public void set_file_transfer(FileTransfer file_transfer) { this.file_transfer = file_transfer; + widget.init_updating_file_info(); widget.name_label.label = file_transfer.file_name; file_transfer.bind_property("state", this, "file-transfer-state"); -- cgit v1.3