about summary refs log tree commit diff stats
path: root/src/ui
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2013-04-18 22:49:46 +0100
committerJames Booth <boothj5@gmail.com>2013-04-18 22:49:46 +0100
commit91d587a19fde76a04560b3c100298253fd7d7aa5 (patch)
tree9106bce49d2fd0bd787da520c1efee19b232ef30 /src/ui
parent202bc6b427c05f2ec06ef984848f05bfea78b42d (diff)
downloadprofani-tty-91d587a19fde76a04560b3c100298253fd7d7aa5.tar.gz
Show shortened room jid if possible on invite
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/windows.c27
1 files changed, 22 insertions, 5 deletions
diff --git a/src/ui/windows.c b/src/ui/windows.c
index 9fb2be17..9a10557c 100644
--- a/src/ui/windows.c
+++ b/src/ui/windows.c
@@ -1418,14 +1418,31 @@ void
 cons_show_room_invite(const char * const invitor, const char * const room,
     const char * const reason)
 {
+    char *display_room = NULL;
+    char *domain = strdup(jabber_get_domain());
+    Jid *room_jid = jid_create(room);
+    GString *default_service = g_string_new("conference.");
+    g_string_append(default_service, domain);
+
     cons_show("");
-    _win_show_time(console->win, '-');
-    wprintw(console->win, "%s has invited you to join %s", invitor, room);
+    cons_show("Chat room invite received:");
+    cons_show("  From   : %s", invitor);
+    cons_show("  Room   : %s", room);
+
     if (reason != NULL) {
-        wprintw(console->win, ", \"%s\"", reason);
+        cons_show("  Message: %s", reason);
     }
-    wprintw(console->win, "\n");
-    cons_show("Type \"/join %s\" to join the room", room);
+
+    if (strcmp(room_jid->domainpart, default_service->str) == 0) {
+        display_room = room_jid->localpart;
+    } else {
+        display_room = room_jid->barejid;
+    }
+
+    cons_show("Type \"/join %s\" to accept the invitation", display_room);
+
+    jid_destroy(room_jid);
+    g_string_free(default_service, TRUE);
 }
 
 void