diff options
Diffstat (limited to 'src/ui')
-rw-r--r-- | src/ui/ui.h | 1 | ||||
-rw-r--r-- | src/ui/windows.c | 20 |
2 files changed, 21 insertions, 0 deletions
diff --git a/src/ui/ui.h b/src/ui/ui.h index 3752fbd7..9c06089b 100644 --- a/src/ui/ui.h +++ b/src/ui/ui.h @@ -173,6 +173,7 @@ void cons_show_software_version(const char * const jid, const char * const presence, const char * const name, const char * const version, const char * const os); void cons_show_account_list(gchar **accounts); +void cons_show_room_list(GSList *room, const char * const conference_node); // status bar actions void status_bar_refresh(void); diff --git a/src/ui/windows.c b/src/ui/windows.c index d98f1091..33b7ace3 100644 --- a/src/ui/windows.c +++ b/src/ui/windows.c @@ -1304,6 +1304,26 @@ cons_show_software_version(const char * const jid, const char * const presence, } void +cons_show_room_list(GSList *rooms, const char * const conference_node) +{ + if ((rooms != NULL) && (g_slist_length(rooms) > 0)) { + cons_show("Chat rooms at %s:", conference_node); + while (rooms != NULL) { + DiscoItem *room = rooms->data; + _win_show_time(console->win, '-'); + wprintw(console->win, " %s", room->jid); + if (room->name != NULL) { + wprintw(console->win, ", (%s)", room->name); + } + wprintw(console->win, "\n"); + rooms = g_slist_next(rooms); + } + } else { + cons_show("No chat rooms at %s", conference_node); + } +} + +void cons_show_status(const char * const contact) { PContact pcontact = contact_list_get_contact(contact); |