about summary refs log tree commit diff stats
path: root/src/ui/window.c
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2017-01-20 21:03:55 +0000
committerJames Booth <boothj5@gmail.com>2017-01-20 21:03:55 +0000
commitc8874cd2e0c7a62eff66cb19acd40e36750d1b50 (patch)
tree751cbd7e32d36f905196b9739658299891430992 /src/ui/window.c
parentab1441a25cbbbcced83f60587d43dc2432e8f09d (diff)
downloadprofani-tty-c8874cd2e0c7a62eff66cb19acd40e36750d1b50.tar.gz
Allow chat prefix char to be set by plugins
Diffstat (limited to 'src/ui/window.c')
-rw-r--r--src/ui/window.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/ui/window.c b/src/ui/window.c
index 83172bbf..85e2b73f 100644
--- a/src/ui/window.c
+++ b/src/ui/window.c
@@ -147,6 +147,8 @@ win_create_chat(const char *const barejid)
     new_win->unread = 0;
     new_win->state = chat_state_new();
     new_win->enctext = NULL;
+    new_win->incoming_char = NULL;
+    new_win->outgoing_char = NULL;
 
     new_win->memcheck = PROFCHATWIN_MEMCHECK;
 
@@ -432,6 +434,8 @@ win_free(ProfWin* window)
         free(chatwin->barejid);
         free(chatwin->resource_override);
         free(chatwin->enctext);
+        free(chatwin->incoming_char);
+        free(chatwin->outgoing_char);
         chat_state_free(chatwin->state);
         break;
     }
@@ -996,13 +1000,18 @@ win_print_incoming(ProfWin *window, GDateTime *timestamp,
     switch (window->type)
     {
         case WIN_CHAT:
-            if (enc_mode == PROF_MSG_OTR) {
+        {
+            ProfChatWin *chatwin = (ProfChatWin*)window;
+            if (chatwin->incoming_char) {
+                enc_char = chatwin->incoming_char[0];
+            } else if (enc_mode == PROF_MSG_OTR) {
                 enc_char = prefs_get_otr_char();
             } else if (enc_mode == PROF_MSG_PGP) {
                 enc_char = prefs_get_pgp_char();
             }
             _win_printf(window, enc_char, 0, timestamp, NO_ME, THEME_TEXT_THEM, from, "%s", message);
             break;
+        }
         case WIN_PRIVATE:
             _win_printf(window, '-', 0, timestamp, NO_ME, THEME_TEXT_THEM, from, "%s", message);
             break;