about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2014-12-16 23:50:25 +0000
committerJames Booth <boothj5@gmail.com>2014-12-16 23:50:25 +0000
commit76c665e98675f8d4eea7df0c84954adc3c024435 (patch)
treeecb8fdf2873405b3282ae3ff9436b6266307443b
parent4dc48b4b48c0bfd337dc3a678254d2eff1be6f6d (diff)
downloadprofani-tty-76c665e98675f8d4eea7df0c84954adc3c024435.tar.gz
Tidy occupantswin.c
-rw-r--r--src/ui/occupantswin.c59
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);
                 }
             }