ocarina: Fill queue using iterator functions

I don't need the old for_each method anymore, either.  I remove it using
this patch.
This commit is contained in:
Bryan Schumaker 2011-12-29 16:24:54 -05:00
parent fe8c1cd580
commit 02f8dbc6b8
3 changed files with 6 additions and 9 deletions

View File

@ -25,7 +25,6 @@ class MenuItem
/* Make this a class to inherit from? */
struct SongListFuncs
{
void (*for_each)(libsaria::SourceModel *);
unsigned int (*size)();
void (*iter_reset)();
libsaria::Track *(*iter_next)();

View File

@ -29,8 +29,10 @@ namespace ocarina
void queue::init()
{
queue_funcs.for_each = libsaria::queue::for_each;
queue_funcs.size = libsaria::queue::size;
queue_funcs.iter_reset = libsaria::queue::iter::reset;
queue_funcs.iter_next = libsaria::queue::iter::next;
queue_funcs.iter_end = libsaria::queue::iter::end;
queue_list.init("Queue", &queue_funcs, &queue_menu, false);
queue_index = add_page(queue_list.get_label(),

View File

@ -38,13 +38,9 @@ void SongList::fill()
{
freeze();
ins_next = 0;
if (list_funcs->for_each)
list_funcs->for_each(this);
else {
list_funcs->iter_reset();
while (list_funcs->iter_end() == false)
insert(list_funcs->iter_next());
}
list_funcs->iter_reset();
while (list_funcs->iter_end() == false)
insert(list_funcs->iter_next());
thaw();
set_label_text();
}