aboutsummaryrefslogtreecommitdiff
path: root/main/src/ui/conversation_content_view/file_image_widget.vala
diff options
context:
space:
mode:
authorMarvin W <git@larma.de>2025-04-07 13:14:23 +0200
committerMarvin W <git@larma.de>2025-04-07 14:11:04 +0200
commitdb1830c54ecc70f7933febab02c2ad7ee44d0bd1 (patch)
treeb9cbb067eca6da7daa135c6262351a5115b3a50d /main/src/ui/conversation_content_view/file_image_widget.vala
parent97e7d4c18c03425e2a5620aa122999bb3d607c1b (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.vala18
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;