aboutsummaryrefslogtreecommitdiff
path: root/main/src/ui/conversation_view_controller.vala
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/ui/conversation_view_controller.vala')
-rw-r--r--main/src/ui/conversation_view_controller.vala9
1 files changed, 9 insertions, 0 deletions
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) {