diff options
| author | frosty <gabriel@bwaaa.monster> | 2026-08-26 11:03:18 -0400 |
|---|---|---|
| committer | frosty <gabriel@bwaaa.monster> | 2026-08-26 11:03:18 -0400 |
| commit | 3a4aa40217276ac0d864c392f9a4b875ff8970ab (patch) | |
| tree | c42b7899129d5782f2a0d59ff109dd05dc0c9b15 /main | |
| parent | 06c519891b0dd61c88ed647a9ca723466d9780bf (diff) | |
feat: open conversation details when clicking on conversation name
Diffstat (limited to 'main')
| -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; |
