about summary refs log tree commit diff stats
path: root/src/ui
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2015-11-18 00:25:35 +0000
committerJames Booth <boothj5@gmail.com>2015-11-18 00:25:35 +0000
commitb373cbcfc0688c80314b40024a8a9d596bcc9856 (patch)
tree343707ede12d423a5226c6a107410f4873f5ea56 /src/ui
parent2260e3bd6f7e99fd16f05372c7545b8e2379ff6e (diff)
downloadprofani-tty-b373cbcfc0688c80314b40024a8a9d596bcc9856.tar.gz
Pass offline filter to roster list functions
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/rosterwin.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/ui/rosterwin.c b/src/ui/rosterwin.c
index a689f033..8c84a9b2 100644
--- a/src/ui/rosterwin.c
+++ b/src/ui/rosterwin.c
@@ -160,23 +160,24 @@ _rosterwin_contacts_by_presence(ProfLayoutSplit *layout, const char *const prese
 static void
 _rosterwin_contacts_by_group(ProfLayoutSplit *layout, char *group)
 {
-    wattron(layout->subwin, theme_attrs(THEME_ROSTER_HEADER));
-    GString *title = g_string_new(" -");
-    g_string_append(title, group);
-    win_printline_nowrap(layout->subwin, title->str);
-    g_string_free(title, TRUE);
-    wattroff(layout->subwin, theme_attrs(THEME_ROSTER_HEADER));
-
     GSList *contacts = NULL;
 
     char *order = prefs_get_string(PREF_ROSTER_ORDER);
+    gboolean offline = prefs_get_boolean(PREF_ROSTER_OFFLINE);
     if (g_strcmp0(order, "presence") == 0) {
-        contacts = roster_get_group(group, ROSTER_ORD_PRESENCE);
+        contacts = roster_get_group(group, ROSTER_ORD_PRESENCE, offline);
     } else {
-        contacts = roster_get_group(group, ROSTER_ORD_NAME);
+        contacts = roster_get_group(group, ROSTER_ORD_NAME, offline);
     }
 
     if (contacts) {
+        wattron(layout->subwin, theme_attrs(THEME_ROSTER_HEADER));
+        GString *title = g_string_new(" -");
+        g_string_append(title, group);
+        win_printline_nowrap(layout->subwin, title->str);
+        g_string_free(title, TRUE);
+        wattroff(layout->subwin, theme_attrs(THEME_ROSTER_HEADER));
+
         GSList *curr_contact = contacts;
         while (curr_contact) {
             PContact contact = curr_contact->data;
@@ -193,10 +194,11 @@ _rosterwin_contacts_by_no_group(ProfLayoutSplit *layout)
     GSList *contacts = NULL;
 
     char *order = prefs_get_string(PREF_ROSTER_ORDER);
+    gboolean offline = prefs_get_boolean(PREF_ROSTER_OFFLINE);
     if (g_strcmp0(order, "presence") == 0) {
-        contacts = roster_get_nogroup(ROSTER_ORD_PRESENCE);
+        contacts = roster_get_nogroup(ROSTER_ORD_PRESENCE, offline);
     } else {
-        contacts = roster_get_nogroup(ROSTER_ORD_NAME);
+        contacts = roster_get_nogroup(ROSTER_ORD_NAME, offline);
     }
 
     if (contacts) {