diff options
author | fiaxh <git@lightrise.org> | 2021-10-01 15:05:37 +0200 |
---|---|---|
committer | fiaxh <git@lightrise.org> | 2021-10-01 15:05:37 +0200 |
commit | c85945ae26cab7eb65c67dbe49ebbf668a028b1c (patch) | |
tree | 158f6103f9c69ebd809aad3192c4ebd1cba3c9d2 /main/src/ui/conversation_content_view/file_image_widget.vala | |
parent | 7c7910729acbaa81593eeedcc27424c1b6648f4e (diff) | |
download | dino-c85945ae26cab7eb65c67dbe49ebbf668a028b1c.tar.gz dino-c85945ae26cab7eb65c67dbe49ebbf668a028b1c.zip |
FileWidgets: Improve mouse enter/leave identification
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 | 19 |
1 files changed, 5 insertions, 14 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 8005f996..f7841736 100644 --- a/main/src/ui/conversation_content_view/file_image_widget.vala +++ b/main/src/ui/conversation_content_view/file_image_widget.vala @@ -11,7 +11,6 @@ public class FileImageWidget : EventBox { private ScalingImage image; FileDefaultWidget file_default_widget; FileDefaultWidgetController file_default_widget_controller; - private bool pointer_inside = false; public FileImageWidget() { this.halign = Align.START; @@ -60,25 +59,17 @@ public class FileImageWidget : EventBox { overlay.add(image); overlay.add_overlay(file_default_widget); - this.enter_notify_event.connect(() => { + this.enter_notify_event.connect((event) => { + if (event.detail == Gdk.NotifyType.INFERIOR) return false; file_default_widget.visible = true; return false; }); - this.leave_notify_event.connect(() => { - pointer_inside = false; - Timeout.add(20, () => { - if (!pointer_inside) { - file_default_widget.visible = false; - } - return false; - }); - + this.leave_notify_event.connect((event) => { + if (event.detail == Gdk.NotifyType.INFERIOR) return false; + file_default_widget.visible = false; return false; }); - file_default_widget.enter_notify_event.connect(() => { pointer_inside = true; return false; }); - file_default_widget.leave_notify_event.connect(() => { pointer_inside = true; return false; }); - this.add(overlay); } } |