diff options
author | James Booth <boothj5@gmail.com> | 2015-11-18 01:03:35 +0000 |
---|---|---|
committer | James Booth <boothj5@gmail.com> | 2015-11-18 01:03:35 +0000 |
commit | 4efe456e7446baf125cf55a3c9e4a73c978809ac (patch) | |
tree | e899cf1d67c011782f64ddbf81471cbe8b66b328 /src/ui | |
parent | b373cbcfc0688c80314b40024a8a9d596bcc9856 (diff) | |
download | profani-tty-4efe456e7446baf125cf55a3c9e4a73c978809ac.tar.gz |
Pass offline filter to roster_get_contacts
Diffstat (limited to 'src/ui')
-rw-r--r-- | src/ui/console.c | 2 | ||||
-rw-r--r-- | src/ui/rosterwin.c | 44 |
2 files changed, 22 insertions, 24 deletions
diff --git a/src/ui/console.c b/src/ui/console.c index 0c6733c4..03e944d0 100644 --- a/src/ui/console.c +++ b/src/ui/console.c @@ -527,7 +527,7 @@ void cons_show_sent_subs(void) { if (roster_has_pending_subscriptions()) { - GSList *contacts = roster_get_contacts(ROSTER_ORD_NAME); + GSList *contacts = roster_get_contacts(ROSTER_ORD_NAME, TRUE); PContact contact = NULL; cons_show("Awaiting subscription responses from:"); GSList *curr = contacts; diff --git a/src/ui/rosterwin.c b/src/ui/rosterwin.c index 8c84a9b2..74c95996 100644 --- a/src/ui/rosterwin.c +++ b/src/ui/rosterwin.c @@ -115,22 +115,19 @@ _rosterwin_contact(ProfLayoutSplit *layout, PContact contact) const char *presence = p_contact_presence(contact); const char *status = p_contact_status(contact); - if ((g_strcmp0(presence, "offline") != 0) || ((g_strcmp0(presence, "offline") == 0) && - (prefs_get_boolean(PREF_ROSTER_OFFLINE)))) { - theme_item_t presence_colour = theme_main_presence_attrs(presence); + theme_item_t presence_colour = theme_main_presence_attrs(presence); - wattron(layout->subwin, theme_attrs(presence_colour)); - GString *msg = g_string_new(" "); - g_string_append(msg, name); - win_printline_nowrap(layout->subwin, msg->str); - g_string_free(msg, TRUE); - wattroff(layout->subwin, theme_attrs(presence_colour)); + wattron(layout->subwin, theme_attrs(presence_colour)); + GString *msg = g_string_new(" "); + g_string_append(msg, name); + win_printline_nowrap(layout->subwin, msg->str); + g_string_free(msg, TRUE); + wattroff(layout->subwin, theme_attrs(presence_colour)); - if (prefs_get_boolean(PREF_ROSTER_RESOURCE)) { - _rosterwin_resource(layout, contact); - } else if (prefs_get_boolean(PREF_ROSTER_PRESENCE)) { - _rosterwin_presence(layout, 4, presence_colour, presence, status); - } + if (prefs_get_boolean(PREF_ROSTER_RESOURCE)) { + _rosterwin_resource(layout, contact); + } else if (prefs_get_boolean(PREF_ROSTER_PRESENCE)) { + _rosterwin_presence(layout, 4, presence_colour, presence, status); } } @@ -170,7 +167,7 @@ _rosterwin_contacts_by_group(ProfLayoutSplit *layout, char *group) contacts = roster_get_group(group, ROSTER_ORD_NAME, offline); } - if (contacts) { + if (contacts || prefs_get_boolean(PREF_ROSTER_EMPTY)) { wattron(layout->subwin, theme_attrs(THEME_ROSTER_HEADER)); GString *title = g_string_new(" -"); g_string_append(title, group); @@ -201,7 +198,7 @@ _rosterwin_contacts_by_no_group(ProfLayoutSplit *layout) contacts = roster_get_nogroup(ROSTER_ORD_NAME, offline); } - if (contacts) { + if (contacts || prefs_get_boolean(PREF_ROSTER_EMPTY)) { wattron(layout->subwin, theme_attrs(THEME_ROSTER_HEADER)); win_printline_nowrap(layout->subwin, " -no group"); wattroff(layout->subwin, theme_attrs(THEME_ROSTER_HEADER)); @@ -249,19 +246,20 @@ rosterwin_roster(void) 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_contacts(ROSTER_ORD_PRESENCE); + contacts = roster_get_contacts(ROSTER_ORD_PRESENCE, offline); } else { - contacts = roster_get_contacts(ROSTER_ORD_NAME); + contacts = roster_get_contacts(ROSTER_ORD_NAME, offline); } - if (contacts) { - werase(layout->subwin); + werase(layout->subwin); - wattron(layout->subwin, theme_attrs(THEME_ROSTER_HEADER)); - win_printline_nowrap(layout->subwin, " -Roster"); - wattroff(layout->subwin, theme_attrs(THEME_ROSTER_HEADER)); + wattron(layout->subwin, theme_attrs(THEME_ROSTER_HEADER)); + win_printline_nowrap(layout->subwin, " -Roster"); + wattroff(layout->subwin, theme_attrs(THEME_ROSTER_HEADER)); + if (contacts) { GSList *curr_contact = contacts; while (curr_contact) { PContact contact = curr_contact->data; |