diff --git a/src/screen_browser.c b/src/screen_browser.c
index 52d76f1a7e5bb2a22799872813c113445b4e7708..b11c48da91b590a4fbb408b576173666991f8d1f 100644 (file)
--- a/src/screen_browser.c
+++ b/src/screen_browser.c
{
struct list_window_range range;
struct filelist_entry *entry;
- bool success;
+ bool success = false;
list_window_get_range(browser->lw, &range);
for (unsigned i = range.start; i < range.end; ++i) {
entry = browser_get_index(browser, i);
if (entry != NULL && entry->entity != NULL)
- success = browser_select_entry(c, entry, FALSE);
+ success = browser_select_entry(c, entry, FALSE) ||
+ success;
}
return range.end == range.start + 1 && success;
return false;
}
-static void
+void
screen_browser_paint_directory(WINDOW *w, unsigned width,
bool selected, const char *name)
{
highlight = false;
#endif
- if (highlight)
- colors_use(w, COLOR_LIST_BOLD);
- else
- colors_use(w, COLOR_LIST);
-
switch (mpd_entity_get_type(entity)) {
case MPD_ENTITY_TYPE_DIRECTORY:
directory = mpd_entity_get_directory(entity);
break;
default:
- waddstr(w, "<unknown>");
+ row_paint_text(w, width, highlight ? COLOR_LIST_BOLD : COLOR_LIST,
+ selected, "<unknown>");
}
-
- whline(w, ' ', width);
-
- if (selected)
- wattroff(w, A_REVERSE);
}
void