about summary refs log tree commit diff stats
path: root/src/ui/occupantswin.c
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2015-04-12 02:14:37 +0100
committerJames Booth <boothj5@gmail.com>2015-04-12 02:14:37 +0100
commit57dc5f14efec19c9532c2ec9a8742e90e4c964d2 (patch)
treecc859ce0e8a88770d40659a7eeec0096a1aa3cd5 /src/ui/occupantswin.c
parenta8669bb2bd9ff5dd011fea1b92f733e00cb52570 (diff)
downloadprofani-tty-57dc5f14efec19c9532c2ec9a8742e90e4c964d2.tar.gz
Added option to show jids in occupants panel
Diffstat (limited to 'src/ui/occupantswin.c')
-rw-r--r--src/ui/occupantswin.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/ui/occupantswin.c b/src/ui/occupantswin.c
index d865eeed..bba9d0b9 100644
--- a/src/ui/occupantswin.c
+++ b/src/ui/occupantswin.c
@@ -40,7 +40,7 @@
 #include "config/preferences.h"
 
 static void
-_occuptantswin_occupant(ProfLayoutSplit *layout, Occupant *occupant)
+_occuptantswin_occupant(ProfLayoutSplit *layout, Occupant *occupant, gboolean showjid)
 {
     const char *presence_str = string_from_resource_presence(occupant->presence);
     theme_item_t presence_colour = theme_main_presence_attrs(presence_str);
@@ -51,6 +51,13 @@ _occuptantswin_occupant(ProfLayoutSplit *layout, Occupant *occupant)
     win_printline_nowrap(layout->subwin, msg->str);
     g_string_free(msg, TRUE);
 
+    if (showjid && occupant->jid) {
+        GString *msg = g_string_new("     ");
+        g_string_append(msg, occupant->jid);
+        win_printline_nowrap(layout->subwin, msg->str);
+        g_string_free(msg, TRUE);
+    }
+
     wattroff(layout->subwin, theme_attrs(presence_colour));
 }
 
@@ -74,7 +81,7 @@ occupantswin_occupants(const char * const roomjid)
                 while (roster_curr) {
                     Occupant *occupant = roster_curr->data;
                     if (occupant->role == MUC_ROLE_MODERATOR) {
-                        _occuptantswin_occupant(layout, occupant);
+                        _occuptantswin_occupant(layout, occupant, mucwin->showjid);
                     }
                     roster_curr = g_list_next(roster_curr);
                 }
@@ -86,7 +93,7 @@ occupantswin_occupants(const char * const roomjid)
                 while (roster_curr) {
                     Occupant *occupant = roster_curr->data;
                     if (occupant->role == MUC_ROLE_PARTICIPANT) {
-                        _occuptantswin_occupant(layout, occupant);
+                        _occuptantswin_occupant(layout, occupant, mucwin->showjid);
                     }
                     roster_curr = g_list_next(roster_curr);
                 }
@@ -98,7 +105,7 @@ occupantswin_occupants(const char * const roomjid)
                 while (roster_curr) {
                     Occupant *occupant = roster_curr->data;
                     if (occupant->role == MUC_ROLE_VISITOR) {
-                        _occuptantswin_occupant(layout, occupant);
+                        _occuptantswin_occupant(layout, occupant, mucwin->showjid);
                     }
                     roster_curr = g_list_next(roster_curr);
                 }
@@ -109,7 +116,7 @@ occupantswin_occupants(const char * const roomjid)
                 GList *roster_curr = occupants;
                 while (roster_curr) {
                     Occupant *occupant = roster_curr->data;
-                    _occuptantswin_occupant(layout, occupant);
+                    _occuptantswin_occupant(layout, occupant, mucwin->showjid);
                     roster_curr = g_list_next(roster_curr);
                 }
             }