aboutsummaryrefslogtreecommitdiff
path: root/main/src/ui/application.vala
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/ui/application.vala')
-rw-r--r--main/src/ui/application.vala25
1 files changed, 16 insertions, 9 deletions
diff --git a/main/src/ui/application.vala b/main/src/ui/application.vala
index 5ce5e063..ff5f44ac 100644
--- a/main/src/ui/application.vala
+++ b/main/src/ui/application.vala
@@ -58,17 +58,24 @@ public class Dino.Ui.Application : Gtk.Application, Dino.Application {
dialog.present();
break;
case "message":
- AddConversation.Chat.Dialog dialog = new AddConversation.Chat.Dialog(stream_interactor, stream_interactor.get_accounts());
- dialog.set_filter(jid);
- dialog.set_transient_for(window);
- dialog.title = _("Start Chat");
- dialog.ok_button.label = _("Start");
- dialog.selected.connect((account, jid) => {
- Conversation conversation = stream_interactor.get_module(ConversationManager.IDENTITY).create_conversation(jid, account, Conversation.Type.CHAT);
+ Gee.List<Account> accounts = stream_interactor.get_accounts();
+ if (accounts.size == 1) {
+ Conversation conversation = stream_interactor.get_module(ConversationManager.IDENTITY).create_conversation(new Jid(jid), accounts[0], Conversation.Type.CHAT);
stream_interactor.get_module(ConversationManager.IDENTITY).start_conversation(conversation, true);
window.on_conversation_selected(conversation);
- });
- dialog.present();
+ } else {
+ AddConversation.Chat.Dialog dialog = new AddConversation.Chat.Dialog(stream_interactor, stream_interactor.get_accounts());
+ dialog.set_filter(jid);
+ dialog.set_transient_for(window);
+ dialog.title = _("Start Chat");
+ dialog.ok_button.label = _("Start");
+ dialog.selected.connect((account, jid) => {
+ Conversation conversation = stream_interactor.get_module(ConversationManager.IDENTITY).create_conversation(jid, account, Conversation.Type.CHAT);
+ stream_interactor.get_module(ConversationManager.IDENTITY).start_conversation(conversation, true);
+ window.on_conversation_selected(conversation);
+ });
+ dialog.present();
+ }
break;
}
}