From ea174ab632ced082eb0f1c51cea1bc9dc5c7c89e Mon Sep 17 00:00:00 2001 From: fiaxh Date: Wed, 2 Aug 2017 17:29:55 +0200 Subject: Http file upload --- main/src/ui/conversation_titlebar/menu_entry.vala | 47 +++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 main/src/ui/conversation_titlebar/menu_entry.vala (limited to 'main/src/ui/conversation_titlebar/menu_entry.vala') diff --git a/main/src/ui/conversation_titlebar/menu_entry.vala b/main/src/ui/conversation_titlebar/menu_entry.vala new file mode 100644 index 00000000..6cead69d --- /dev/null +++ b/main/src/ui/conversation_titlebar/menu_entry.vala @@ -0,0 +1,47 @@ +using Gtk; + +using Dino.Entities; + +namespace Dino.Ui { + +class MenuEntry : Plugins.ConversationTitlebarEntry { + public override string id { get { return "menu"; } } + + StreamInteractor stream_interactor; + + public MenuEntry(StreamInteractor stream_interactor) { + this.stream_interactor = stream_interactor; + } + + public override double order { get { return 0; } } + public override Plugins.ConversationTitlebarWidget get_widget() { + return new MenuWidget(stream_interactor) { visible=true }; + } +} + +class MenuWidget : MenuButton, Plugins.ConversationTitlebarWidget { + + private Conversation? conversation; + + public MenuWidget(StreamInteractor stream_interactor) { + image = new Image.from_icon_name("open-menu-symbolic", IconSize.MENU); + + Builder builder = new Builder.from_resource("/org/dino-im/menu_conversation.ui"); + MenuModel menu = builder.get_object("menu_conversation") as MenuModel; + set_menu_model(menu); + + SimpleAction contact_details_action = new SimpleAction("contact_details", null); + contact_details_action.activate.connect(() => { + ContactDetails.Dialog contact_details_dialog = new ContactDetails.Dialog(stream_interactor, conversation); + contact_details_dialog.set_transient_for((Window) get_toplevel()); + contact_details_dialog.present(); + }); + GLib.Application.get_default().add_action(contact_details_action); + } + + public new void set_conversation(Conversation conversation) { + this.conversation = conversation; + } +} + +} -- cgit v1.2.3-54-g00ecf