diff options
| -rw-r--r-- | main/data/main_window.ui | 11 | ||||
| -rw-r--r-- | main/src/ui/conversation_view_controller.vala | 12 | ||||
| -rw-r--r-- | main/src/ui/main_window.vala | 1 |
3 files changed, 23 insertions, 1 deletions
diff --git a/main/data/main_window.ui b/main/data/main_window.ui index c2f911c2..cc2ba6ae 100644 --- a/main/data/main_window.ui +++ b/main/data/main_window.ui @@ -115,7 +115,16 @@ <class name="dino-chat-headerbar"/> </style> <property name="title-widget"> - <object class="AdwWindowTitle" id="conversation_window_title" /> + <object class="GtkButton" id="conversation_title_button"> + <property name="sensitive">False</property> + <property name="tooltip-text" translatable="yes">Conversation Details</property> + <style> + <class name="flat"/> + </style> + <property name="child"> + <object class="AdwWindowTitle" id="conversation_window_title" /> + </property> + </object> </property> </object> </child> diff --git a/main/src/ui/conversation_view_controller.vala b/main/src/ui/conversation_view_controller.vala index ef13b026..0acaae59 100644 --- a/main/src/ui/conversation_view_controller.vala +++ b/main/src/ui/conversation_view_controller.vala @@ -53,6 +53,16 @@ public class ConversationViewController : Object { key_controller3.key_pressed.connect(forward_key_press_to_chat_input); main_window.conversation_headerbar.add_controller(key_controller3); + main_window.conversation_title_button.clicked.connect(() => { + if (conversation == null) return; + + var variant = new Variant.tuple(new Variant[] { + new Variant.int32(conversation.id), + new Variant.string("about") + }); + app.activate_action("open-conversation-details", variant); + }); + // goto-end floating button var vadjustment = view.conversation_frame.scrolled.vadjustment; vadjustment.notify["value"].connect(() => { @@ -113,6 +123,7 @@ public class ConversationViewController : Object { } this.conversation = conversation; + main_window.conversation_title_button.sensitive = true; // Set list model onto list view // Dino.Application app = GLib.Application.get_default() as Dino.Application; @@ -143,6 +154,7 @@ public class ConversationViewController : Object { } public void unset_conversation() { + main_window.conversation_title_button.sensitive = false; main_window.conversation_window_title.title = ""; main_window.conversation_window_title.subtitle = ""; } diff --git a/main/src/ui/main_window.vala b/main/src/ui/main_window.vala index cb873370..98d68e64 100644 --- a/main/src/ui/main_window.vala +++ b/main/src/ui/main_window.vala @@ -19,6 +19,7 @@ public class MainWindow : Gtk.ApplicationWindow { [GtkChild] private unowned Box conversation_list_toolbar; [GtkChild] public Adw.HeaderBar conversation_headerbar; + [GtkChild] public Button conversation_title_button; [GtkChild] public Adw.WindowTitle conversation_window_title; [GtkChild] public ConversationView conversation_view; |
