summaryrefslogtreecommitdiff
path: root/src/ui/screen_settings.cpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-09-28 10:43:48 +1000
committerjacqueline <me@jacqueline.id.au>2023-09-28 10:43:48 +1000
commit6a47edcd35884095946f761fa3aa2367c7c26442 (patch)
tree5b34e1bf14759dcc78b6611b1b6538dc03119860 /src/ui/screen_settings.cpp
parentf09ba5ffd53bf7d28e0dc516c00a8f69ca7efae9 (diff)
downloadtangara-fw-6a47edcd35884095946f761fa3aa2367c7c26442.tar.gz
Use databinding for the top bar. It's so nice now!
Diffstat (limited to 'src/ui/screen_settings.cpp')
-rw-r--r--src/ui/screen_settings.cpp29
1 files changed, 18 insertions, 11 deletions
diff --git a/src/ui/screen_settings.cpp b/src/ui/screen_settings.cpp
index a480f920..a2dc4296 100644
--- a/src/ui/screen_settings.cpp
+++ b/src/ui/screen_settings.cpp
@@ -29,6 +29,7 @@
#include "index.hpp"
#include "misc/lv_anim.h"
#include "misc/lv_area.h"
+#include "model_top_bar.hpp"
#include "nvs.hpp"
#include "screen.hpp"
#include "ui_events.hpp"
@@ -64,7 +65,7 @@ static void sub_menu(lv_obj_t* list,
reinterpret_cast<void*>(static_cast<uintptr_t>(page)));
}
-Settings::Settings() : MenuScreen("Settings") {
+Settings::Settings(models::TopBar& bar) : MenuScreen(bar, "Settings") {
lv_obj_t* list = lv_list_create(content_);
lv_obj_set_size(list, lv_pct(100), lv_pct(100));
@@ -113,8 +114,10 @@ static auto select_device_cb(lv_event_t* ev) {
instance->OnDeviceSelected(lv_obj_get_index(ev->target));
}
-Bluetooth::Bluetooth(drivers::Bluetooth& bt, drivers::NvsStorage& nvs)
- : MenuScreen("Bluetooth"), bt_(bt), nvs_(nvs) {
+Bluetooth::Bluetooth(models::TopBar& bar,
+ drivers::Bluetooth& bt,
+ drivers::NvsStorage& nvs)
+ : MenuScreen(bar, "Bluetooth"), bt_(bt), nvs_(nvs) {
lv_obj_t* toggle_container = settings_container(content_);
lv_obj_t* toggle_label = lv_label_create(toggle_container);
lv_label_set_text(toggle_label, "Enable");
@@ -268,8 +271,8 @@ static void decrease_vol_limit_cb(lv_event_t* ev) {
instance->ChangeCustomVolume(-2);
}
-Headphones::Headphones(drivers::NvsStorage& nvs)
- : MenuScreen("Headphones"), nvs_(nvs), custom_limit_(0) {
+Headphones::Headphones(models::TopBar& bar, drivers::NvsStorage& nvs)
+ : MenuScreen(bar, "Headphones"), nvs_(nvs), custom_limit_(0) {
uint16_t reference = drivers::wm8523::kLineLevelReferenceVolume;
index_to_level_.push_back(reference - (10 * 4));
index_to_level_.push_back(reference + (6 * 4));
@@ -377,8 +380,10 @@ static auto brightness_str(uint_fast8_t percent) -> std::string {
return std::to_string(percent) + "%";
}
-Appearance::Appearance(drivers::NvsStorage& nvs, drivers::Display& display)
- : MenuScreen("Appearance"), nvs_(nvs), display_(display) {
+Appearance::Appearance(models::TopBar& bar,
+ drivers::NvsStorage& nvs,
+ drivers::Display& display)
+ : MenuScreen(bar, "Appearance"), nvs_(nvs), display_(display) {
lv_obj_t* toggle_container = settings_container(content_);
lv_obj_t* toggle_label = lv_label_create(toggle_container);
lv_obj_set_flex_grow(toggle_label, 1);
@@ -417,7 +422,8 @@ auto Appearance::CommitBrightness() -> void {
nvs_.ScreenBrightness(current_brightness_);
}
-InputMethod::InputMethod() : MenuScreen("Input Method") {
+InputMethod::InputMethod(models::TopBar& bar)
+ : MenuScreen(bar, "Input Method") {
lv_obj_t* wheel_label = lv_label_create(content_);
lv_label_set_text(wheel_label, "What does the wheel do?");
lv_obj_t* wheel_dropdown = lv_dropdown_create(content_);
@@ -431,7 +437,7 @@ InputMethod::InputMethod() : MenuScreen("Input Method") {
lv_group_add_obj(group_, buttons_dropdown);
}
-Storage::Storage() : MenuScreen("Storage") {
+Storage::Storage(models::TopBar& bar) : MenuScreen(bar, "Storage") {
label_pair(content_, "Storage Capacity:", "32 GiB");
label_pair(content_, "Currently Used:", "6 GiB");
label_pair(content_, "DB Size:", "1.2 MiB");
@@ -446,7 +452,8 @@ Storage::Storage() : MenuScreen("Storage") {
lv_group_add_obj(group_, reset_btn);
}
-FirmwareUpdate::FirmwareUpdate() : MenuScreen("Firmware Update") {
+FirmwareUpdate::FirmwareUpdate(models::TopBar& bar)
+ : MenuScreen(bar, "Firmware Update") {
label_pair(content_, "ESP32 FW:", "vIDKLOL");
label_pair(content_, "SAMD21 FW:", "vIDKLOL");
@@ -461,7 +468,7 @@ FirmwareUpdate::FirmwareUpdate() : MenuScreen("Firmware Update") {
lv_group_add_obj(group_, flash_samd_btn);
}
-About::About() : MenuScreen("About") {
+About::About(models::TopBar& bar) : MenuScreen(bar, "About") {
lv_obj_t* label = lv_label_create(content_);
lv_label_set_text(label, "Some licenses or whatever");
}