From 51a23728694a3f1312cc9396fc093ca178457c3c Mon Sep 17 00:00:00 2001 From: fiaxh Date: Wed, 22 Apr 2020 15:44:12 +0200 Subject: Add file upload preview fixes #756 --- main/src/ui/conversation_view.vala | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'main/src/ui/conversation_view.vala') diff --git a/main/src/ui/conversation_view.vala b/main/src/ui/conversation_view.vala index b521b5ad..5d27e138 100644 --- a/main/src/ui/conversation_view.vala +++ b/main/src/ui/conversation_view.vala @@ -7,13 +7,38 @@ using Dino.Entities; namespace Dino.Ui { [GtkTemplate (ui = "/im/dino/Dino/conversation_view.ui")] -public class ConversationView : Gtk.Box { +public class ConversationView : Gtk.Overlay { [GtkChild] public Revealer goto_end_revealer; [GtkChild] public Button goto_end_button; [GtkChild] public ChatInput.View chat_input; [GtkChild] public ConversationSummary.ConversationView conversation_frame; + [GtkChild] public Revealer white_revealer; + construct { + white_revealer.notify["child-revealed"].connect_after(on_child_revealed_changed); + } + + public void add_overlay_dialog(Widget widget) { + Revealer revealer = new Revealer() { transition_type=RevealerTransitionType.CROSSFADE , transition_duration= 100, visible=true }; + revealer.add(widget); + + this.add_overlay(revealer); + + revealer.reveal_child = true; + white_revealer.visible = true; + white_revealer.reveal_child = true; + widget.destroy.connect(() => { + revealer.destroy(); + white_revealer.reveal_child = false; + }); + } + + private void on_child_revealed_changed() { + if (!white_revealer.child_revealed) { + white_revealer.visible = false; + } + } } } -- cgit v1.2.3-54-g00ecf