aboutsummaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
Diffstat (limited to 'main')
-rw-r--r--main/data/gtk/help-overlay.ui6
-rw-r--r--main/src/ui/conversation_titlebar/menu_entry.vala7
-rw-r--r--main/src/ui/conversation_view_controller.vala9
3 files changed, 16 insertions, 6 deletions
diff --git a/main/data/gtk/help-overlay.ui b/main/data/gtk/help-overlay.ui
index 92c3d74b..8212f001 100644
--- a/main/data/gtk/help-overlay.ui
+++ b/main/data/gtk/help-overlay.ui
@@ -49,6 +49,12 @@
<property name="title" translatable="yes">Send a file</property>
</object>
</child>
+ <child>
+ <object class="GtkShortcutsShortcut">
+ <property name="accelerator">&lt;ctrl&gt;W</property>
+ <property name="title" translatable="yes">Close conversation</property>
+ </object>
+ </child>
</object>
</child>
<child>
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) {