diff options
| author | eerielili <lionel@les-miquelots.net> | 2025-07-19 19:22:42 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-19 11:22:42 -0600 |
| commit | aab0a6889cb15681be6a87a5c9ad61bab274f5f2 (patch) | |
| tree | bedb98602d8d361bbb81aff44bcdb529b70068b8 /main/src/ui | |
| parent | 13c8bac29bdacd42191112d135fdf90fcde9b690 (diff) | |
Add keyboard shortcut to close conversation (#1434)
closes #876
Co-authored-by: fiaxh <git@lightrise.org>
Diffstat (limited to 'main/src/ui')
| -rw-r--r-- | main/src/ui/conversation_titlebar/menu_entry.vala | 7 | ||||
| -rw-r--r-- | main/src/ui/conversation_view_controller.vala | 9 |
2 files changed, 10 insertions, 6 deletions
diff --git a/main/src/ui/conversation_titlebar/menu_entry.vala b/main/src/ui/conversation_titlebar/menu_entry.vala index 7a6688ae..ca8c23b3 100644 --- a/main/src/ui/conversation_titlebar/menu_entry.vala +++ b/main/src/ui/conversation_titlebar/menu_entry.vala @@ -18,7 +18,7 @@ class MenuEntry : Plugins.ConversationTitlebarEntry, Object { Menu menu_model = new Menu(); menu_model.append(_("Conversation Details"), "conversation.details"); - menu_model.append(_("Close Conversation"), "conversation.close"); + menu_model.append(_("Close Conversation"), "app.close-current-conversation"); Gtk.PopoverMenu popover_menu = new Gtk.PopoverMenu.from_model(menu_model); button.popover = popover_menu; @@ -29,11 +29,6 @@ class MenuEntry : Plugins.ConversationTitlebarEntry, Object { GLib.Application.get_default().activate_action("open-conversation-details", variant); }); action_group.insert(details_action); - SimpleAction close_action = new SimpleAction("close", null); - close_action.activate.connect((parameter) => { - stream_interactor.get_module(ConversationManager.IDENTITY).close_conversation(conversation); - }); - action_group.insert(close_action); button.insert_action_group("conversation", action_group); } diff --git a/main/src/ui/conversation_view_controller.vala b/main/src/ui/conversation_view_controller.vala index 5b768271..21459669 100644 --- a/main/src/ui/conversation_view_controller.vala +++ b/main/src/ui/conversation_view_controller.vala @@ -23,6 +23,8 @@ public class ConversationViewController : Object { private StreamInteractor stream_interactor; private Conversation? conversation; + private const string[] KEY_COMBINATION_CLOSE_CONVERSATION = {"<Ctrl>W", null}; + public ConversationViewController(ConversationView view, ConversationTitlebar titlebar, StreamInteractor stream_interactor) { this.view = view; this.titlebar = titlebar; @@ -112,6 +114,13 @@ public class ConversationViewController : Object { return false; })); ((Gtk.Window)view.get_root()).add_shortcut(shortcut); + + SimpleAction close_conversation_action = new SimpleAction("close-current-conversation", null); + close_conversation_action.activate.connect(() => { + stream_interactor.get_module(ConversationManager.IDENTITY).close_conversation(conversation); + }); + app.add_action(close_conversation_action); + app.set_accels_for_action("app.close-current-conversation", KEY_COMBINATION_CLOSE_CONVERSATION); } public void select_conversation(Conversation? conversation, bool default_initialize_conversation) { |
