diff options
Diffstat (limited to 'src/ui')
-rw-r--r-- | src/ui/chatwin.c | 5 | ||||
-rw-r--r-- | src/ui/mucwin.c | 3 | ||||
-rw-r--r-- | src/ui/titlebar.c | 14 | ||||
-rw-r--r-- | src/ui/win_types.h | 1 | ||||
-rw-r--r-- | src/ui/window.c | 3 |
5 files changed, 26 insertions, 0 deletions
diff --git a/src/ui/chatwin.c b/src/ui/chatwin.c index 5c17b0d4..35ad803f 100644 --- a/src/ui/chatwin.c +++ b/src/ui/chatwin.c @@ -90,6 +90,9 @@ chatwin_new(const char *const barejid) if (prefs_get_boolean(PREF_MAM)) { iq_mam_request(chatwin); } + // XEP-0373: OpenPGP for XMPP + chatwin->is_ox = FALSE; + return chatwin; } @@ -344,6 +347,8 @@ chatwin_outgoing_msg(ProfChatWin *chatwin, const char *const message, char *id, enc_char = prefs_get_pgp_char(); } else if (enc_mode == PROF_MSG_ENC_OMEMO) { enc_char = prefs_get_omemo_char(); + } else if (enc_mode == PROF_MSG_ENC_OX) { + enc_char = prefs_get_ox_char(); } else { enc_char = strdup("-"); } diff --git a/src/ui/mucwin.c b/src/ui/mucwin.c index cb0167d0..66f33a4b 100644 --- a/src/ui/mucwin.c +++ b/src/ui/mucwin.c @@ -503,6 +503,7 @@ mucwin_outgoing_msg(ProfMucWin *mucwin, const char *const message, const char *c ProfWin *window = (ProfWin*)mucwin; char *mynick = muc_nick(mucwin->roomjid); + // displayed message char char *ch; if (mucwin->message_char) { ch = strdup(mucwin->message_char); @@ -512,6 +513,8 @@ mucwin_outgoing_msg(ProfMucWin *mucwin, const char *const message, const char *c ch = prefs_get_pgp_char(); } else if (enc_mode == PROF_MSG_ENC_OMEMO) { ch = prefs_get_omemo_char(); + } else if (enc_mode == PROF_MSG_ENC_OX) { + ch = prefs_get_omemo_char(); } else { ch = strdup("-"); } diff --git a/src/ui/titlebar.c b/src/ui/titlebar.c index b557b59a..0a688e10 100644 --- a/src/ui/titlebar.c +++ b/src/ui/titlebar.c @@ -439,6 +439,20 @@ _show_privacy(ProfChatWin *chatwin) return; } + // XEP-0373: OpenPGP for XMPP + if (chatwin->is_ox) { + wprintw(win, " "); + wattron(win, bracket_attrs); + wprintw(win, "["); + wattroff(win, bracket_attrs); + wattron(win, encrypted_attrs); + wprintw(win, "OX"); + wattroff(win, encrypted_attrs); + wattron(win, bracket_attrs); + wprintw(win, "]"); + wattroff(win, bracket_attrs); + } + if (chatwin->is_otr) { wprintw(win, " "); wattron(win, bracket_attrs); diff --git a/src/ui/win_types.h b/src/ui/win_types.h index 5da1765a..cb6834c6 100644 --- a/src/ui/win_types.h +++ b/src/ui/win_types.h @@ -155,6 +155,7 @@ typedef struct prof_chat_win_t { gboolean pgp_send; gboolean pgp_recv; gboolean is_omemo; + gboolean is_ox; // XEP-0373: OpenPGP for XMPP char *resource_override; gboolean history_shown; unsigned long memcheck; diff --git a/src/ui/window.c b/src/ui/window.c index 763f389d..81230801 100644 --- a/src/ui/window.c +++ b/src/ui/window.c @@ -147,6 +147,7 @@ win_create_chat(const char *const barejid) new_win->pgp_recv = FALSE; new_win->pgp_send = FALSE; new_win->is_omemo = FALSE; + new_win->is_ox = FALSE; new_win->history_shown = FALSE; new_win->unread = 0; new_win->state = chat_state_new(); @@ -1144,6 +1145,8 @@ win_print_incoming(ProfWin *window, const char *const display_name_from, ProfMes enc_char = prefs_get_otr_char(); } else if (message->enc == PROF_MSG_ENC_PGP) { enc_char = prefs_get_pgp_char(); + } else if (message->enc == PROF_MSG_ENC_OX) { // XEP-0373: OpenPGP for XMPP + enc_char = prefs_get_ox_char(); } else if (message->enc == PROF_MSG_ENC_OMEMO) { enc_char = prefs_get_omemo_char(); } else { |