aboutsummaryrefslogtreecommitdiff
path: root/main/src/ui/conversation_content_view/file_image_widget.vala
diff options
context:
space:
mode:
authorMarvin W <git@larma.de>2025-02-16 20:51:28 +0100
committerMarvin W <git@larma.de>2025-02-22 11:27:48 +0100
commitefe39b8ea008cea3106fcc268d29d6f2bdf3c76e (patch)
tree2eb7a9f63dc751a2f31215598d07f6f564143740 /main/src/ui/conversation_content_view/file_image_widget.vala
parent21869c92a214b9be73b998375e166e01b2d21ff7 (diff)
downloaddino-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.vala13
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();
+ }
}
}