aboutsummaryrefslogtreecommitdiff
path: root/main/src/ui/conversation_list_titlebar.vala
diff options
context:
space:
mode:
authorMarvin W <git@larma.de>2017-03-11 23:52:12 +0100
committerMarvin W <git@larma.de>2017-03-11 23:58:35 +0100
commite27d63269d0b41fa8d5b5f0f2e4a9dc7de4b9ab9 (patch)
tree80e547d0e02e770e8bcd912e42f8afa753aeb0f6 /main/src/ui/conversation_list_titlebar.vala
parentcd6b904e970291a63551d0f1d80bbd550e778ec8 (diff)
downloaddino-e27d63269d0b41fa8d5b5f0f2e4a9dc7de4b9ab9.tar.gz
dino-e27d63269d0b41fa8d5b5f0f2e4a9dc7de4b9ab9.zip
Move UI code into main dir
Diffstat (limited to 'main/src/ui/conversation_list_titlebar.vala')
-rw-r--r--main/src/ui/conversation_list_titlebar.vala47
1 files changed, 47 insertions, 0 deletions
diff --git a/main/src/ui/conversation_list_titlebar.vala b/main/src/ui/conversation_list_titlebar.vala
new file mode 100644
index 00000000..5ef824d5
--- /dev/null
+++ b/main/src/ui/conversation_list_titlebar.vala
@@ -0,0 +1,47 @@
+using Gtk;
+
+using Dino.Entities;
+
+namespace Dino.Ui {
+
+[GtkTemplate (ui = "/org/dino-im/conversation_list_titlebar.ui")]
+public class ConversationListTitlebar : Gtk.HeaderBar {
+
+ public signal void conversation_opened(Conversation conversation);
+
+ [GtkChild] private MenuButton add_button;
+ [GtkChild] public ToggleButton search_button;
+
+ private StreamInteractor stream_interactor;
+
+ public ConversationListTitlebar(Window application, StreamInteractor stream_interactor) {
+ this.stream_interactor = stream_interactor;
+ create_add_menu(application);
+ }
+
+ private void create_add_menu(Window window) {
+ SimpleAction contacts_action = new SimpleAction("add_chat", null);
+ contacts_action.activate.connect(() => {
+ AddConversation.Chat.Dialog add_chat_dialog = new AddConversation.Chat.Dialog(stream_interactor);
+ add_chat_dialog.set_transient_for((Window) get_toplevel());
+ add_chat_dialog.conversation_opened.connect((conversation) => conversation_opened(conversation));
+ add_chat_dialog.show();
+ });
+ window.get_application().add_action(contacts_action);
+
+ SimpleAction conference_action = new SimpleAction("add_conference", null);
+ conference_action.activate.connect(() => {
+ AddConversation.Conference.Dialog add_conference_dialog = new AddConversation.Conference.Dialog(stream_interactor);
+ add_conference_dialog.set_transient_for((Window) get_toplevel());
+ add_conference_dialog.conversation_opened.connect((conversation) => conversation_opened(conversation));
+ add_conference_dialog.show();
+ });
+ window.get_application().add_action(conference_action);
+
+ Builder builder = new Builder.from_resource("/org/dino-im/menu_add.ui");
+ MenuModel menu = builder.get_object("menu_add") as MenuModel;
+ add_button.set_menu_model(menu);
+ }
+}
+
+} \ No newline at end of file