summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/displayapp/DisplayApp.cpp8
-rw-r--r--src/displayapp/screens/Clock.cpp4
-rw-r--r--src/displayapp/screens/Clock.h1
-rw-r--r--src/displayapp/screens/PineTimeStyle.cpp34
-rw-r--r--src/displayapp/screens/PineTimeStyle.h4
5 files changed, 35 insertions, 16 deletions
diff --git a/src/displayapp/DisplayApp.cpp b/src/displayapp/DisplayApp.cpp
index 342c3879..4e508eed 100644
--- a/src/displayapp/DisplayApp.cpp
+++ b/src/displayapp/DisplayApp.cpp
@@ -249,10 +249,10 @@ void DisplayApp::Refresh() {
}
} break;
case Messages::ButtonPushed:
- if (currentApp == Apps::Clock) {
- PushMessageToSystemTask(System::Messages::GoToSleep);
- } else {
- if (!currentScreen->OnButtonPushed()) {
+ if (!currentScreen->OnButtonPushed()) {
+ if (currentApp == Apps::Clock) {
+ PushMessageToSystemTask(System::Messages::GoToSleep);
+ } else {
LoadApp(returnToApp, returnDirection);
brightnessController.Set(settingsController.GetBrightness());
brightnessController.Backup();
diff --git a/src/displayapp/screens/Clock.cpp b/src/displayapp/screens/Clock.cpp
index 5a5cd18b..d112241a 100644
--- a/src/displayapp/screens/Clock.cpp
+++ b/src/displayapp/screens/Clock.cpp
@@ -54,6 +54,10 @@ bool Clock::OnTouchEvent(Pinetime::Applications::TouchEvents event) {
return screen->OnTouchEvent(event);
}
+bool Clock::OnButtonPushed() {
+ return screen->OnButtonPushed();
+}
+
std::unique_ptr<Screen> Clock::WatchFaceDigitalScreen() {
return std::make_unique<Screens::WatchFaceDigital>(app,
dateTimeController,
diff --git a/src/displayapp/screens/Clock.h b/src/displayapp/screens/Clock.h
index 648f72da..dffe2a44 100644
--- a/src/displayapp/screens/Clock.h
+++ b/src/displayapp/screens/Clock.h
@@ -32,6 +32,7 @@ namespace Pinetime {
~Clock() override;
bool OnTouchEvent(TouchEvents event) override;
+ bool OnButtonPushed() override;
private:
Controllers::DateTime& dateTimeController;
diff --git a/src/displayapp/screens/PineTimeStyle.cpp b/src/displayapp/screens/PineTimeStyle.cpp
index fa9aec1c..47798ae5 100644
--- a/src/displayapp/screens/PineTimeStyle.cpp
+++ b/src/displayapp/screens/PineTimeStyle.cpp
@@ -316,6 +316,27 @@ bool PineTimeStyle::OnTouchEvent(Pinetime::Applications::TouchEvents event) {
return false;
}
+void PineTimeStyle::CloseMenu() {
+ settingsController.SaveSettings();
+ lv_obj_set_hidden(btnNextTime, true);
+ lv_obj_set_hidden(btnPrevTime, true);
+ lv_obj_set_hidden(btnNextBar, true);
+ lv_obj_set_hidden(btnPrevBar, true);
+ lv_obj_set_hidden(btnNextBG, true);
+ lv_obj_set_hidden(btnPrevBG, true);
+ lv_obj_set_hidden(btnReset, true);
+ lv_obj_set_hidden(btnRandom, true);
+ lv_obj_set_hidden(btnClose, true);
+}
+
+bool PineTimeStyle::OnButtonPushed() {
+ if (!lv_obj_get_hidden(btnClose)) {
+ CloseMenu();
+ return true;
+ }
+ return false;
+}
+
void PineTimeStyle::SetBatteryIcon() {
auto batteryPercent = batteryPercentRemaining.Get();
lv_label_set_text(batteryIcon, BatteryIcon::GetBatteryIcon(batteryPercent));
@@ -532,16 +553,7 @@ void PineTimeStyle::UpdateSelected(lv_obj_t* object, lv_event_t event) {
lv_obj_set_style_local_bg_color(timebar, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, Convert(valueBG));
}
if (object == btnClose) {
- settingsController.SaveSettings();
- lv_obj_set_hidden(btnNextTime, true);
- lv_obj_set_hidden(btnPrevTime, true);
- lv_obj_set_hidden(btnNextBar, true);
- lv_obj_set_hidden(btnPrevBar, true);
- lv_obj_set_hidden(btnNextBG, true);
- lv_obj_set_hidden(btnPrevBG, true);
- lv_obj_set_hidden(btnReset, true);
- lv_obj_set_hidden(btnRandom, true);
- lv_obj_set_hidden(btnClose, true);
+ CloseMenu();
}
if (object == btnSet) {
lv_obj_set_hidden(btnSet, true);
@@ -579,4 +591,4 @@ Pinetime::Controllers::Settings::Colors PineTimeStyle::GetPrevious(Pinetime::Con
prevColor = static_cast<Controllers::Settings::Colors>(16);
}
return prevColor;
-} \ No newline at end of file
+}
diff --git a/src/displayapp/screens/PineTimeStyle.h b/src/displayapp/screens/PineTimeStyle.h
index 5274d0c9..63dba582 100644
--- a/src/displayapp/screens/PineTimeStyle.h
+++ b/src/displayapp/screens/PineTimeStyle.h
@@ -31,6 +31,7 @@ namespace Pinetime {
~PineTimeStyle() override;
bool OnTouchEvent(TouchEvents event) override;
+ bool OnButtonPushed() override;
void Refresh() override;
@@ -96,9 +97,10 @@ namespace Pinetime {
Controllers::MotionController& motionController;
void SetBatteryIcon();
+ void CloseMenu();
lv_task_t* taskRefresh;
};
}
}
-} \ No newline at end of file
+}