Added option to show jids in occupants panel

This commit is contained in:
James Booth
2015-04-12 02:14:37 +01:00
parent a8669bb2bd
commit 57dc5f14ef
16 changed files with 113 additions and 23 deletions

View File

@@ -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);
}
}