summaryrefslogtreecommitdiff
path: root/src/ui/include
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-09-13 10:09:04 +1000
committerjacqueline <me@jacqueline.id.au>2023-09-13 10:09:04 +1000
commit0ea358ab8157d743dc07f12bde5fb34d03a02522 (patch)
treefade7a837b75f94df95ac2a00a0775353179155d /src/ui/include
parentb0aa9ab391143a8139373e42ea95ccb6ed14ce60 (diff)
downloadtangara-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.hpp10
-rw-r--r--src/ui/include/ui_events.hpp3
-rw-r--r--src/ui/include/ui_fsm.hpp4
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 {