diff options
Diffstat (limited to 'src/ui/include')
| -rw-r--r-- | src/ui/include/screen_track_browser.hpp | 8 | ||||
| -rw-r--r-- | src/ui/include/ui_events.hpp | 5 |
2 files changed, 8 insertions, 5 deletions
diff --git a/src/ui/include/screen_track_browser.hpp b/src/ui/include/screen_track_browser.hpp index af80f29c..3d347158 100644 --- a/src/ui/include/screen_track_browser.hpp +++ b/src/ui/include/screen_track_browser.hpp @@ -38,15 +38,14 @@ class TrackBrowser : public Screen { END = 1, }; auto AddLoadingIndictor(Position pos) -> void; - auto AddResults(Position pos, database::Result<database::IndexRecord>*) + auto AddResults(Position pos, + std::shared_ptr<database::Result<database::IndexRecord>>) -> void; auto DropPage(Position pos) -> void; auto FetchNewPage(Position pos) -> void; auto GetNumRecords() -> std::size_t; auto GetItemIndex(lv_obj_t* obj) -> std::optional<std::size_t>; - auto GetRecordByIndex(std::size_t index) - -> std::optional<database::IndexRecord>; std::weak_ptr<database::Database> db_; lv_obj_t* back_button_; @@ -57,7 +56,8 @@ class TrackBrowser : public Screen { std::optional<std::future<database::Result<database::IndexRecord>*>> loading_page_; - std::deque<std::unique_ptr<database::Result<database::IndexRecord>>> + std::shared_ptr<database::Result<database::IndexRecord>> initial_page_; + std::deque<std::shared_ptr<database::Result<database::IndexRecord>>> current_pages_; }; diff --git a/src/ui/include/ui_events.hpp b/src/ui/include/ui_events.hpp index cc7db349..a0ef1c31 100644 --- a/src/ui/include/ui_events.hpp +++ b/src/ui/include/ui_events.hpp @@ -6,6 +6,7 @@ #pragma once +#include <memory> #include "database.hpp" #include "index.hpp" #include "tinyfsm.hpp" @@ -25,7 +26,9 @@ struct OnSystemError : tinyfsm::Event {}; namespace internal { struct RecordSelected : tinyfsm::Event { - database::IndexRecord record; + std::shared_ptr<database::Result<database::IndexRecord>> initial_page; + std::shared_ptr<database::Result<database::IndexRecord>> page; + std::size_t record; }; struct IndexSelected : tinyfsm::Event { |
