diff options
author | James Booth <boothj5@gmail.com> | 2014-12-16 23:50:25 +0000 |
---|---|---|
committer | James Booth <boothj5@gmail.com> | 2014-12-16 23:50:25 +0000 |
commit | 76c665e98675f8d4eea7df0c84954adc3c024435 (patch) | |
tree | ecb8fdf2873405b3282ae3ff9436b6266307443b | |
parent | 4dc48b4b48c0bfd337dc3a678254d2eff1be6f6d (diff) | |
download | profani-tty-76c665e98675f8d4eea7df0c84954adc3c024435.tar.gz |
Tidy occupantswin.c
-rw-r--r-- | src/ui/occupantswin.c | 59 |
1 files changed, 19 insertions, 40 deletions
diff --git a/src/ui/occupantswin.c b/src/ui/occupantswin.c index 939e9cef..e3cfec28 100644 --- a/src/ui/occupantswin.c +++ b/src/ui/occupantswin.c @@ -40,6 +40,21 @@ #include "config/preferences.h" static void +_occuptantswin_occupant(ProfLayoutSplit *layout, Occupant *occupant) +{ + const char *presence_str = string_from_resource_presence(occupant->presence); + theme_item_t presence_colour = theme_main_presence_attrs(presence_str); + wattron(layout->subwin, theme_attrs(presence_colour)); + + GString *msg = g_string_new(" "); + g_string_append(msg, occupant->nick); + win_printline_nowrap(layout->subwin, msg->str); + g_string_free(msg, TRUE); + + wattroff(layout->subwin, theme_attrs(presence_colour)); +} + +static void _occupantswin_occupants(const char * const roomjid) { ProfMucWin *mucwin = wins_get_muc_win(roomjid); @@ -59,16 +74,7 @@ _occupantswin_occupants(const char * const roomjid) while (roster_curr) { Occupant *occupant = roster_curr->data; if (occupant->role == MUC_ROLE_MODERATOR) { - const char *presence_str = string_from_resource_presence(occupant->presence); - theme_item_t presence_colour = theme_main_presence_attrs(presence_str); - wattron(layout->subwin, theme_attrs(presence_colour)); - - GString *msg = g_string_new(" "); - g_string_append(msg, occupant->nick); - win_printline_nowrap(layout->subwin, msg->str); - g_string_free(msg, TRUE); - - wattroff(layout->subwin, theme_attrs(presence_colour)); + _occuptantswin_occupant(layout, occupant); } roster_curr = g_list_next(roster_curr); } @@ -80,16 +86,7 @@ _occupantswin_occupants(const char * const roomjid) while (roster_curr) { Occupant *occupant = roster_curr->data; if (occupant->role == MUC_ROLE_PARTICIPANT) { - const char *presence_str = string_from_resource_presence(occupant->presence); - theme_item_t presence_colour = theme_main_presence_attrs(presence_str); - wattron(layout->subwin, theme_attrs(presence_colour)); - - GString *msg = g_string_new(" "); - g_string_append(msg, occupant->nick); - win_printline_nowrap(layout->subwin, msg->str); - g_string_free(msg, TRUE); - - wattroff(layout->subwin, theme_attrs(presence_colour)); + _occuptantswin_occupant(layout, occupant); } roster_curr = g_list_next(roster_curr); } @@ -101,16 +98,7 @@ _occupantswin_occupants(const char * const roomjid) while (roster_curr) { Occupant *occupant = roster_curr->data; if (occupant->role == MUC_ROLE_VISITOR) { - const char *presence_str = string_from_resource_presence(occupant->presence); - theme_item_t presence_colour = theme_main_presence_attrs(presence_str); - wattron(layout->subwin, theme_attrs(presence_colour)); - - GString *msg = g_string_new(" "); - g_string_append(msg, occupant->nick); - win_printline_nowrap(layout->subwin, msg->str); - g_string_free(msg, TRUE); - - wattroff(layout->subwin, theme_attrs(presence_colour)); + _occuptantswin_occupant(layout, occupant); } roster_curr = g_list_next(roster_curr); } @@ -121,16 +109,7 @@ _occupantswin_occupants(const char * const roomjid) GList *roster_curr = occupants; while (roster_curr) { Occupant *occupant = roster_curr->data; - const char *presence_str = string_from_resource_presence(occupant->presence); - theme_item_t presence_colour = theme_main_presence_attrs(presence_str); - wattron(layout->subwin, theme_attrs(presence_colour)); - - GString *msg = g_string_new(" "); - g_string_append(msg, occupant->nick); - win_printline_nowrap(layout->subwin, msg->str); - g_string_free(msg, TRUE); - - wattroff(layout->subwin, theme_attrs(presence_colour)); + _occuptantswin_occupant(layout, occupant); roster_curr = g_list_next(roster_curr); } } |