diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-10-18 14:35:28 +1100 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-10-18 14:35:28 +1100 |
| commit | 782e8dc8c25402171fc4724075b998eae4fa2c76 (patch) | |
| tree | f710f8fe8e84f5a201410520f3f88364a19f76d8 /src/ui/include/screen_track_browser.hpp | |
| parent | 2eb7eaa2a6a5d9ccfe7a0535858778dfb85997cb (diff) | |
| download | tangara-fw-782e8dc8c25402171fc4724075b998eae4fa2c76.tar.gz | |
Add better controls for queue manipulation
Diffstat (limited to 'src/ui/include/screen_track_browser.hpp')
| -rw-r--r-- | src/ui/include/screen_track_browser.hpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/ui/include/screen_track_browser.hpp b/src/ui/include/screen_track_browser.hpp index 719306f0..0b2d6fc3 100644 --- a/src/ui/include/screen_track_browser.hpp +++ b/src/ui/include/screen_track_browser.hpp @@ -16,6 +16,7 @@ #include "database.hpp" #include "model_top_bar.hpp" #include "screen.hpp" +#include "track_queue.hpp" namespace ui { namespace screens { @@ -23,9 +24,10 @@ namespace screens { class TrackBrowser : public Screen { public: TrackBrowser( - models::TopBar&, + models::TopBar& top_bar, + audio::TrackQueue& queue, std::weak_ptr<database::Database> db, - const std::pmr::string& title, + const std::pmr::vector<std::pmr::string>& breadcrumbs, std::future<database::Result<database::IndexRecord>*>&& initial_page); ~TrackBrowser() {} @@ -49,11 +51,16 @@ class TrackBrowser : public Screen { auto GetNumRecords() -> std::size_t; auto GetItemIndex(lv_obj_t* obj) -> std::optional<std::size_t>; + audio::TrackQueue& queue_; std::weak_ptr<database::Database> db_; lv_obj_t* back_button_; + lv_obj_t* play_button_; + lv_obj_t* enqueue_button_; lv_obj_t* list_; lv_obj_t* loading_indicator_; + std::pmr::vector<std::pmr::string> breadcrumbs_; + std::optional<Position> loading_pos_; std::optional<std::future<database::Result<database::IndexRecord>*>> loading_page_; |
