diff options
author | James Booth <boothj5@gmail.com> | 2015-11-18 00:25:35 +0000 |
---|---|---|
committer | James Booth <boothj5@gmail.com> | 2015-11-18 00:25:35 +0000 |
commit | b373cbcfc0688c80314b40024a8a9d596bcc9856 (patch) | |
tree | 343707ede12d423a5226c6a107410f4873f5ea56 /src/ui | |
parent | 2260e3bd6f7e99fd16f05372c7545b8e2379ff6e (diff) | |
download | profani-tty-b373cbcfc0688c80314b40024a8a9d596bcc9856.tar.gz |
Pass offline filter to roster list functions
Diffstat (limited to 'src/ui')
-rw-r--r-- | src/ui/rosterwin.c | 24 |
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) { |