Add status icons widget
This commit is contained in:
@@ -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) {
|
||||
|
@@ -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;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user