ocarina: Fill in the queue
The library passes in its selected songs and then the queue responds to the QUEUE_REFRESH callback to fill in the list.
This commit is contained in:
parent
6ef54e07c5
commit
0f3e5d5963
|
@ -7,6 +7,7 @@ namespace ocarina
|
|||
{
|
||||
|
||||
void init();
|
||||
void refresh();
|
||||
|
||||
}
|
||||
};
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#include <ocarina/ocarina.h>
|
||||
#include <ocarina/button.h>
|
||||
#include <ocarina/library.h>
|
||||
#include <ocarina/queue.h>
|
||||
#include <ocarina/settings.h>
|
||||
#include <ocarina/footer.h>
|
||||
|
||||
|
@ -35,6 +36,12 @@ void cb_library_refresh()
|
|||
library_settings_refresh();
|
||||
}
|
||||
|
||||
void cb_queue_refresh()
|
||||
{
|
||||
println("Ocarina QUEUE_REFRESH callback!");
|
||||
ocarina::queue::refresh();
|
||||
}
|
||||
|
||||
void cb_refilter()
|
||||
{
|
||||
println("Ocarina REFILTER callback!");
|
||||
|
@ -54,6 +61,7 @@ void setup_callbacks()
|
|||
register_callback(PAUSE, cb_pause);
|
||||
register_callback(IDLE_TASK_QUEUED, cb_idle_task_queued);
|
||||
register_callback(LIBRARY_REFRESH, cb_library_refresh);
|
||||
register_callback(QUEUE_REFRESH, cb_queue_refresh);
|
||||
register_callback(REFILTER, cb_refilter);
|
||||
register_callback(TRACK_LOADED, cb_track_loaded);
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#include <ocarina/songlist.h>
|
||||
|
||||
#include <libsaria/library.h>
|
||||
#include <libsaria/queue.h>
|
||||
#include <libsaria/track.h>
|
||||
#include <libsaria/print.h>
|
||||
|
||||
|
@ -20,11 +21,7 @@ static void add_to_queue(GtkMenuItem *menu, gpointer data)
|
|||
list<ino_t> selected;
|
||||
list<ino_t>::iterator it;
|
||||
library_list.list_selected_ids(selected);
|
||||
|
||||
println("Test function!");
|
||||
for (it = selected.begin(); it != selected.end(); it++) {
|
||||
println(*it);
|
||||
}
|
||||
libsaria::queue::add_ids(selected);
|
||||
}
|
||||
|
||||
namespace ocarina
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
#include <ocarina/gtk.h>
|
||||
#include <ocarina/songlist.h>
|
||||
|
||||
#include <libsaria/queue.h>
|
||||
|
||||
#include <list>
|
||||
using namespace std;
|
||||
|
||||
|
@ -14,10 +16,20 @@ static list <MenuItem> queue_menu;
|
|||
namespace ocarina
|
||||
{
|
||||
|
||||
void queue::refresh()
|
||||
{
|
||||
queue_list.clear();
|
||||
queue_list.fill();
|
||||
}
|
||||
|
||||
void queue::init()
|
||||
{
|
||||
queue_funcs.for_each = libsaria::queue::for_each;
|
||||
queue_funcs.size = libsaria::queue::size;
|
||||
|
||||
queue_list.init("Queue", &queue_funcs, &queue_menu);
|
||||
add_page(queue_list.get_label(), queue_list.get_window(), true);
|
||||
ocarina::queue::refresh();
|
||||
}
|
||||
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue