From 28633e857f86a21d874117fd677de5e8ad21d8d3 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Wed, 4 Oct 2023 14:47:30 +1100 Subject: Implement UI for enqueuing instead of replacing the current track --- src/ui/ui_fsm.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/ui/ui_fsm.cpp') diff --git a/src/ui/ui_fsm.cpp b/src/ui/ui_fsm.cpp index 03e20882..f8c9d3f3 100644 --- a/src/ui/ui_fsm.cpp +++ b/src/ui/ui_fsm.cpp @@ -19,6 +19,7 @@ #include "event_queue.hpp" #include "gpios.hpp" #include "lvgl_task.hpp" +#include "modal_add_to_queue.hpp" #include "modal_confirm.hpp" #include "model_playback.hpp" #include "nvs.hpp" @@ -287,11 +288,10 @@ void Browse::react(const internal::RecordSelected& ev) { if (record->track()) { ESP_LOGI(kTag, "selected track '%s'", record->text()->c_str()); auto& queue = sServices->track_queue(); - queue.Clear(); - queue.IncludeLast(std::make_shared( - sServices->database(), ev.initial_page, 0, ev.page, ev.record)); - ESP_LOGI(kTag, "transit to playing"); - transit(); + auto source = std::make_shared( + sServices->database(), ev.initial_page, 0, ev.page, ev.record); + sCurrentModal.reset( + new modals::AddToQueue(sCurrentScreen.get(), queue, source)); } else { ESP_LOGI(kTag, "selected record '%s'", record->text()->c_str()); auto cont = record->Expand(kRecordsPerPage); -- cgit v1.2.3