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:
parent
fe8c1cd580
commit
02f8dbc6b8
|
@ -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)();
|
||||
|
|
|
@ -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(),
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue