about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2014-01-16 23:16:37 +0000
committerJames Booth <boothj5@gmail.com>2014-01-16 23:16:37 +0000
commit45aee2e778f4c56bdfe9cc924fc594d22d08541e (patch)
treefd82c23f967e0af40b37a5baa8274a4627c58970
parent3f73cb7732c98737ae9d39a4b0d97ed4235a283d (diff)
downloadprofani-tty-45aee2e778f4c56bdfe9cc924fc594d22d08541e.tar.gz
Tidied OTR messages
-rw-r--r--src/command/commands.c20
-rw-r--r--src/ui/core.c17
-rw-r--r--src/ui/ui.h1
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);