diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-09-13 10:09:04 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-09-13 10:09:04 +1000 |
| commit | 0ea358ab8157d743dc07f12bde5fb34d03a02522 (patch) | |
| tree | fade7a837b75f94df95ac2a00a0775353179155d /src/ui/include | |
| parent | b0aa9ab391143a8139373e42ea95ccb6ed14ce60 (diff) | |
| download | tangara-fw-0ea358ab8157d743dc07f12bde5fb34d03a02522.tar.gz | |
Make the onboarding flow basically work. Much still to do!
Diffstat (limited to 'src/ui/include')
| -rw-r--r-- | src/ui/include/screen_onboarding.hpp | 10 | ||||
| -rw-r--r-- | src/ui/include/ui_events.hpp | 3 | ||||
| -rw-r--r-- | src/ui/include/ui_fsm.hpp | 4 |
3 files changed, 17 insertions, 0 deletions
diff --git a/src/ui/include/screen_onboarding.hpp b/src/ui/include/screen_onboarding.hpp index 73f2333d..81ce6d3a 100644 --- a/src/ui/include/screen_onboarding.hpp +++ b/src/ui/include/screen_onboarding.hpp @@ -42,11 +42,21 @@ class Controls : public Onboarding { Controls(); }; +class MissingSdCard : public Onboarding { + public: + MissingSdCard(); +}; + class FormatSdCard : public Onboarding { public: FormatSdCard(); }; +class InitDatabase : public Onboarding { + public: + InitDatabase(); +}; + } // namespace onboarding } // namespace screens diff --git a/src/ui/include/ui_events.hpp b/src/ui/include/ui_events.hpp index 297370db..fb3bb2d4 100644 --- a/src/ui/include/ui_events.hpp +++ b/src/ui/include/ui_events.hpp @@ -50,6 +50,9 @@ struct ShowSettingsPage : tinyfsm::Event { kAbout, } page; }; +struct OnboardingNavigate : tinyfsm::Event { + bool forwards; +}; struct ModalConfirmPressed : tinyfsm::Event {}; struct ModalCancelPressed : tinyfsm::Event {}; diff --git a/src/ui/include/ui_fsm.hpp b/src/ui/include/ui_fsm.hpp index de97354e..5363e1a4 100644 --- a/src/ui/include/ui_fsm.hpp +++ b/src/ui/include/ui_fsm.hpp @@ -67,6 +67,7 @@ class UiState : public tinyfsm::Fsm<UiState> { virtual void react(const internal::ModalConfirmPressed&) { sCurrentModal.reset(); } + virtual void react(const internal::OnboardingNavigate&) {} virtual void react(const system_fsm::DisplayReady&) {} virtual void react(const system_fsm::BootComplete&) {} @@ -101,10 +102,13 @@ class Onboarding : public UiState { public: void entry() override; + void react(const internal::OnboardingNavigate&) override; + using UiState::react; private: uint8_t progress_; + bool has_formatted_; }; class Browse : public UiState { |
