summaryrefslogtreecommitdiff
path: root/src/displayapp/screens/settings
diff options
context:
space:
mode:
authorRiku Isokoski <riksu9000@gmail.com>2022-07-21 19:27:52 +0300
committerJF <JF002@users.noreply.github.com>2022-08-02 22:49:12 +0200
commitedba1d9ccfb2b16c26b12428acb71425f4f41cd5 (patch)
treead90c4453342cf83125b815db9a672d104927e1e /src/displayapp/screens/settings
parent77d3239866419c2088a8d857130accb85dcc9657 (diff)
Add status icons widget
Diffstat (limited to 'src/displayapp/screens/settings')
-rw-r--r--src/displayapp/screens/settings/QuickSettings.cpp15
-rw-r--r--src/displayapp/screens/settings/QuickSettings.h13
2 files changed, 17 insertions, 11 deletions
diff --git a/src/displayapp/screens/settings/QuickSettings.cpp b/src/displayapp/screens/settings/QuickSettings.cpp
index ab5a437b..f7560066 100644
--- a/src/displayapp/screens/settings/QuickSettings.cpp
+++ b/src/displayapp/screens/settings/QuickSettings.cpp
@@ -2,6 +2,7 @@
#include "displayapp/DisplayApp.h"
#include "displayapp/screens/Symbols.h"
#include "displayapp/screens/BatteryIcon.h"
+#include <components/ble/BleController.h>
using namespace Pinetime::Applications::Screens;
@@ -22,13 +23,16 @@ QuickSettings::QuickSettings(Pinetime::Applications::DisplayApp* app,
Controllers::DateTime& dateTimeController,
Controllers::BrightnessController& brightness,
Controllers::MotorController& motorController,
- Pinetime::Controllers::Settings& settingsController)
+ Pinetime::Controllers::Settings& settingsController,
+ Controllers::Ble& bleController)
: Screen(app),
- batteryController {batteryController},
dateTimeController {dateTimeController},
brightness {brightness},
motorController {motorController},
- settingsController {settingsController} {
+ settingsController {settingsController},
+ statusIcons(batteryController, bleController) {
+
+ statusIcons.Create();
// This is the distance (padding) between all objects on this screen.
static constexpr uint8_t innerDistance = 10;
@@ -38,9 +42,6 @@ QuickSettings::QuickSettings(Pinetime::Applications::DisplayApp* app,
lv_label_set_align(label_time, LV_LABEL_ALIGN_CENTER);
lv_obj_align(label_time, lv_scr_act(), LV_ALIGN_IN_TOP_LEFT, 0, 0);
- batteryIcon.Create(lv_scr_act());
- lv_obj_align(batteryIcon.GetObject(), nullptr, LV_ALIGN_IN_TOP_RIGHT, 0, 0);
-
static constexpr uint8_t barHeight = 20 + innerDistance;
static constexpr uint8_t buttonHeight = (LV_VER_RES_MAX - barHeight - innerDistance) / 2;
static constexpr uint8_t buttonWidth = (LV_HOR_RES_MAX - innerDistance) / 2; // wide buttons
@@ -117,7 +118,7 @@ QuickSettings::~QuickSettings() {
void QuickSettings::UpdateScreen() {
lv_label_set_text(label_time, dateTimeController.FormattedTime().c_str());
- batteryIcon.SetBatteryPercentage(batteryController.PercentRemaining());
+ statusIcons.Update();
}
void QuickSettings::OnButtonEvent(lv_obj_t* object, lv_event_t event) {
diff --git a/src/displayapp/screens/settings/QuickSettings.h b/src/displayapp/screens/settings/QuickSettings.h
index 40a2a2ef..fd1b5ea4 100644
--- a/src/displayapp/screens/settings/QuickSettings.h
+++ b/src/displayapp/screens/settings/QuickSettings.h
@@ -8,7 +8,7 @@
#include "components/motor/MotorController.h"
#include "components/settings/Settings.h"
#include "components/battery/BatteryController.h"
-#include <displayapp/screens/BatteryIcon.h>
+#include "displayapp/widgets/StatusIcons.h"
namespace Pinetime {
@@ -22,7 +22,8 @@ namespace Pinetime {
Controllers::DateTime& dateTimeController,
Controllers::BrightnessController& brightness,
Controllers::MotorController& motorController,
- Pinetime::Controllers::Settings& settingsController);
+ Pinetime::Controllers::Settings& settingsController,
+ Controllers::Ble& bleController);
~QuickSettings() override;
@@ -31,7 +32,6 @@ namespace Pinetime {
void UpdateScreen();
private:
- Pinetime::Controllers::Battery& batteryController;
Controllers::DateTime& dateTimeController;
Controllers::BrightnessController& brightness;
Controllers::MotorController& motorController;
@@ -40,6 +40,11 @@ namespace Pinetime {
lv_task_t* taskUpdate;
lv_obj_t* label_time;
+ DirtyValue<uint8_t> batteryPercentRemaining {};
+ DirtyValue<bool> powerPresent {};
+ DirtyValue<bool> bleState {};
+ DirtyValue<bool> bleRadioEnabled {};
+
lv_style_t btn_style;
lv_obj_t* btn1;
@@ -49,7 +54,7 @@ namespace Pinetime {
lv_obj_t* btn3_lvl;
lv_obj_t* btn4;
- BatteryIcon batteryIcon;
+ Widgets::StatusIcons statusIcons;
};
}
}