diff options
author | Marvin W <git@larma.de> | 2025-02-16 20:51:28 +0100 |
---|---|---|
committer | Marvin W <git@larma.de> | 2025-02-22 11:27:48 +0100 |
commit | efe39b8ea008cea3106fcc268d29d6f2bdf3c76e (patch) | |
tree | 2eb7a9f63dc751a2f31215598d07f6f564143740 /main/src/ui/conversation_content_view/file_image_widget.vala | |
parent | 21869c92a214b9be73b998375e166e01b2d21ff7 (diff) | |
download | dino-efe39b8ea008cea3106fcc268d29d6f2bdf3c76e.tar.gz dino-efe39b8ea008cea3106fcc268d29d6f2bdf3c76e.zip |
Fix compatibility with GTK 4.17+
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 | 13 |
1 files changed, 11 insertions, 2 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 1c8d4c02..a7a7bcc0 100644 --- a/main/src/ui/conversation_content_view/file_image_widget.vala +++ b/main/src/ui/conversation_content_view/file_image_widget.vala @@ -7,7 +7,7 @@ using Dino.Entities; namespace Dino.Ui { -public class FileImageWidget : Box { +public class FileImageWidget : Widget { enum State { EMPTY, PREVIEW, @@ -26,6 +26,10 @@ public class FileImageWidget : Box { private FileTransmissionProgress transmission_progress = new FileTransmissionProgress() { halign=Align.CENTER, valign=Align.CENTER, visible=false }; + construct { + layout_manager = new BinLayout(); + } + public FileImageWidget(int MAX_WIDTH=600, int MAX_HEIGHT=300) { this.halign = Align.START; @@ -54,7 +58,7 @@ public class FileImageWidget : Box { overlay.add_overlay(image_overlay_toolbar); overlay.set_clip_overlay(image_overlay_toolbar, true); - this.append(overlay); + overlay.insert_after(this, null); GestureClick gesture_click_controller = new GestureClick(); gesture_click_controller.button = 1; // listen for left clicks @@ -260,6 +264,11 @@ public class FileImageWidget : Box { } return false; } + + public override void dispose() { + if (overlay != null && overlay.parent != null) overlay.unparent(); + base.dispose(); + } } } |