1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-11-03 19:37:16 -05:00

Enable start of OMEMO in existing chat win

This commit is contained in:
Paul Fariello 2019-03-06 19:22:46 +01:40
parent da0376a6a9
commit 2718183d27

View File

@ -7950,6 +7950,36 @@ cmd_omemo_start(ProfWin *window, const char *const command, gchar **args)
omemo_start_session(barejid);
chatwin->is_omemo = TRUE;
} else {
if (window->type != WIN_CHAT) {
win_println(window, THEME_DEFAULT, '-', "You must be in a regular chat window to start an OMEMO session.");
return TRUE;
}
ProfChatWin *chatwin = (ProfChatWin*)window;
assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK);
if (chatwin->pgp_send) {
win_println(window, THEME_DEFAULT, '!', "You must disable PGP encryption before starting an OMEMO session.");
return TRUE;
}
if (chatwin->is_otr) {
win_println(window, THEME_DEFAULT, '!', "You must disable OTR encryption before starting an OMEMO session.");
return TRUE;
}
if (chatwin->is_omemo) {
win_println(window, THEME_DEFAULT, '!', "You are already in an OMEMO session.");
return TRUE;
}
if (!omemo_loaded()) {
win_println(window, THEME_DEFAULT, '!', "You have not generated or loaded a cryptographic materials, use '/omemo gen'");
return TRUE;
}
omemo_start_session(chatwin->barejid);
chatwin->is_omemo = TRUE;
}
return TRUE;