diff options
| author | Marvin W <git@larma.de> | 2025-04-07 13:14:23 +0200 |
|---|---|---|
| committer | Marvin W <git@larma.de> | 2025-04-07 14:11:04 +0200 |
| commit | db1830c54ecc70f7933febab02c2ad7ee44d0bd1 (patch) | |
| tree | b9cbb067eca6da7daa135c6262351a5115b3a50d /main/src/ui/conversation_content_view/file_image_widget.vala | |
| parent | 97e7d4c18c03425e2a5620aa122999bb3d607c1b (diff) | |
Improve UI for sfs image progress indicator
Diffstat (limited to 'main/src/ui/conversation_content_view/file_image_widget.vala')
| -rw-r--r-- | main/src/ui/conversation_content_view/file_image_widget.vala | 18 |
1 files changed, 5 insertions, 13 deletions
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 2b4d1765..33232e93 100644 --- a/main/src/ui/conversation_content_view/file_image_widget.vala +++ b/main/src/ui/conversation_content_view/file_image_widget.vala @@ -15,7 +15,7 @@ public class FileImageWidget : Widget { } private State state = State.EMPTY; - private Stack stack = new Stack() { transition_duration=600, transition_type=StackTransitionType.CROSSFADE }; + private Stack stack = new Stack() { transition_duration=600, transition_type=StackTransitionType.CROSSFADE, hhomogeneous = false, vhomogeneous = false, interpolate_size = true }; private Overlay overlay = new Overlay(); private bool show_image_overlay_toolbar = false; @@ -106,16 +106,8 @@ public class FileImageWidget : Widget { private void refresh_state() { if ((state == EMPTY || state == PREVIEW) && file_transfer.path != null) { - if (state == EMPTY) { - load_from_file.begin(file_transfer.get_file(), file_transfer.file_name); - show_image_overlay_toolbar = true; - } if (state == PREVIEW) { - Timeout.add(500, () => { - load_from_file.begin(file_transfer.get_file(), file_transfer.file_name); - show_image_overlay_toolbar = true; - return false; - }); - } + load_from_file.begin(file_transfer.get_file(), file_transfer.file_name); + show_image_overlay_toolbar = true; this.set_cursor_from_name("zoom-in"); state = IMAGE; @@ -132,7 +124,7 @@ public class FileImageWidget : Widget { transmission_progress.visible = true; show_image_overlay_toolbar = false; } else if (transmission_progress.visible) { - Timeout.add(500, () => { + Timeout.add(250, () => { transmission_progress.transferred_size = transmission_progress.file_size; transmission_progress.visible = false; show_image_overlay_toolbar = true; @@ -146,7 +138,7 @@ public class FileImageWidget : Widget { } else { transmission_progress.state = FileTransmissionProgress.State.UPLOADING; } - } else if (file_transfer.sfs_sources.is_empty) { + } 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; |
