diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/command/commands.c | 20 | ||||
-rw-r--r-- | src/ui/core.c | 17 | ||||
-rw-r--r-- | src/ui/ui.h | 1 |
3 files changed, 28 insertions, 10 deletions
diff --git a/src/command/commands.c b/src/command/commands.c index a8d47eed..b1bbfce8 100644 --- a/src/command/commands.c +++ b/src/command/commands.c @@ -2346,7 +2346,7 @@ cmd_otr(gchar **args, struct cmd_help_t help) return TRUE; } else if (strcmp(args[0], "myfp") == 0) { char *fingerprint = otr_get_my_fingerprint(); - ui_current_print_line("Your OTR fingerprint: %s", fingerprint); + ui_current_print_formatted_line('!', 0, "Your OTR fingerprint: %s", fingerprint); free(fingerprint); return TRUE; } else if (strcmp(args[0], "theirfp") == 0) { @@ -2355,11 +2355,11 @@ cmd_otr(gchar **args, struct cmd_help_t help) if (win_type != WIN_CHAT) { ui_current_print_line("You must be in a regular chat window to view a recipient's fingerprint."); } else if (!ui_current_win_is_otr()) { - ui_current_print_line("You not currently in an OTR session with this recipient."); + ui_current_print_formatted_line('!', 0, "You are not currently in an OTR session."); } else { char *recipient = ui_current_recipient(); char *fingerprint = otr_get_their_fingerprint(recipient); - ui_current_print_line("OTR fingerprint for %s: %s", recipient, fingerprint); + ui_current_print_formatted_line('!', 0, "%s's OTR fingerprint: %s", recipient, fingerprint); free(fingerprint); } return TRUE; @@ -2380,10 +2380,10 @@ cmd_otr(gchar **args, struct cmd_help_t help) ui_new_chat_win(barejid); if (ui_current_win_is_otr()) { - ui_current_print_line("You are already in an OTR session."); + ui_current_print_formatted_line('!', 0, "You are already in an OTR session."); } else { if (!otr_key_loaded()) { - ui_current_print_line("You have not generated or loaded a private key, use '/otr gen'"); + ui_current_print_formatted_line('!', 0, "You have not generated or loaded a private key, use '/otr gen'"); } else if (!otr_is_secure(barejid)) { message_send("?OTR?", barejid); } else { @@ -2396,10 +2396,10 @@ cmd_otr(gchar **args, struct cmd_help_t help) if (win_type != WIN_CHAT) { ui_current_print_line("You must be in a regular chat window to start an OTR session."); } else if (ui_current_win_is_otr()) { - ui_current_print_line("You are already in an OTR session."); + ui_current_print_formatted_line('!', 0, "You are already in an OTR session."); } else { if (!otr_key_loaded()) { - ui_current_print_line("You have not generated or loaded a private key, use '/otr gen'"); + ui_current_print_formatted_line('!', 0, "You have not generated or loaded a private key, use '/otr gen'"); } else { char *recipient = ui_current_recipient(); message_send("?OTR?", recipient); @@ -2413,7 +2413,7 @@ cmd_otr(gchar **args, struct cmd_help_t help) if (win_type != WIN_CHAT) { ui_current_print_line("You must be in a regular chat window to use OTR."); } else if (!ui_current_win_is_otr()) { - ui_current_print_line("You are not currently in an OTR session."); + ui_current_print_formatted_line('!', 0, "You are not currently in an OTR session."); } else { char *recipient = ui_current_recipient(); ui_gone_insecure(recipient); @@ -2426,7 +2426,7 @@ cmd_otr(gchar **args, struct cmd_help_t help) if (win_type != WIN_CHAT) { ui_current_print_line("You must be in an OTR session to trust a recipient."); } else if (!ui_current_win_is_otr()) { - ui_current_print_line("You are not currently in an OTR session."); + ui_current_print_formatted_line('!', 0, "You are not currently in an OTR session."); } else { char *recipient = ui_current_recipient(); ui_trust(recipient); @@ -2439,7 +2439,7 @@ cmd_otr(gchar **args, struct cmd_help_t help) if (win_type != WIN_CHAT) { ui_current_print_line("You must be in an OTR session to untrust a recipient."); } else if (!ui_current_win_is_otr()) { - ui_current_print_line("You are not currently in an OTR session."); + ui_current_print_formatted_line('!', 0, "You are not currently in an OTR session."); } else { char *recipient = ui_current_recipient(); ui_untrust(recipient); diff --git a/src/ui/core.c b/src/ui/core.c index b579cae5..2243bd65 100644 --- a/src/ui/core.c +++ b/src/ui/core.c @@ -622,6 +622,7 @@ _ui_trust(const char * const recipient) if (window != NULL) { window->is_otr = TRUE; window->is_trusted = TRUE; + win_vprint_line(window, '!', 0, "OTR session trusted."); if (wins_is_current(window)) { GString *recipient_str = _get_recipient_string(window); @@ -639,6 +640,7 @@ _ui_untrust(const char * const recipient) if (window != NULL) { window->is_otr = TRUE; window->is_trusted = FALSE; + win_vprint_line(window, '!', 0, "OTR session untrusted."); if (wins_is_current(window)) { GString *recipient_str = _get_recipient_string(window); @@ -822,6 +824,20 @@ _ui_current_print_line(const char * const msg, ...) } static void +_ui_current_print_formatted_line(const char show_char, int attrs, const char * const msg, ...) +{ + ProfWin *current = wins_get_current(); + va_list arg; + va_start(arg, msg); + GString *fmt_msg = g_string_new(NULL); + g_string_vprintf(fmt_msg, msg, arg); + win_print_line(current, show_char, attrs, fmt_msg->str); + va_end(arg); + g_string_free(fmt_msg, TRUE); + win_refresh(current); +} + +static void _ui_current_error_line(const char * const msg) { ProfWin *current = wins_get_current(); @@ -1676,6 +1692,7 @@ ui_init_module(void) ui_recipient = _ui_recipient; ui_current_recipient = _ui_current_recipient; ui_current_print_line = _ui_current_print_line; + ui_current_print_formatted_line = _ui_current_print_formatted_line; ui_current_error_line = _ui_current_error_line; ui_current_page_off = _ui_current_page_off; ui_print_error_from_recipient = _ui_print_error_from_recipient; diff --git a/src/ui/ui.h b/src/ui/ui.h index 39cae6f1..a6d27b1b 100644 --- a/src/ui/ui.h +++ b/src/ui/ui.h @@ -85,6 +85,7 @@ gboolean (*ui_current_win_is_otr)(void); void (*ui_current_set_otr)(gboolean value); char* (*ui_current_recipient)(void); void (*ui_current_print_line)(const char * const msg, ...); +void (*ui_current_print_formatted_line)(const char show_chat, int attrs, const char * const msg, ...); void (*ui_current_error_line)(const char * const msg); void (*ui_current_page_off)(void); |