Skip to content

Commit b3b9a27

Browse files
committed
Adds page indicator to music app
1 parent 0f9f606 commit b3b9a27

File tree

4 files changed

+23
-4
lines changed

4 files changed

+23
-4
lines changed

src/displayapp/screens/Music.cpp

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ Music::Music(Pinetime::Controllers::MusicService& music) : musicService(music) {
5959
btnVolDown->user_data = this;
6060
lv_obj_set_event_cb(btnVolDown, event_handler);
6161
lv_obj_set_size(btnVolDown, 76, 76);
62-
lv_obj_align(btnVolDown, nullptr, LV_ALIGN_IN_BOTTOM_LEFT, 0, 0);
62+
lv_obj_align(btnVolDown, nullptr, LV_ALIGN_IN_BOTTOM_LEFT, 3, 0);
6363
lv_obj_add_style(btnVolDown, LV_STATE_DEFAULT, &btn_style);
6464
label = lv_label_create(btnVolDown, nullptr);
6565
lv_label_set_text_static(label, Symbols::volumDown);
@@ -69,7 +69,7 @@ Music::Music(Pinetime::Controllers::MusicService& music) : musicService(music) {
6969
btnVolUp->user_data = this;
7070
lv_obj_set_event_cb(btnVolUp, event_handler);
7171
lv_obj_set_size(btnVolUp, 76, 76);
72-
lv_obj_align(btnVolUp, nullptr, LV_ALIGN_IN_BOTTOM_RIGHT, 0, 0);
72+
lv_obj_align(btnVolUp, nullptr, LV_ALIGN_IN_BOTTOM_RIGHT, -3, 0);
7373
lv_obj_add_style(btnVolUp, LV_STATE_DEFAULT, &btn_style);
7474
label = lv_label_create(btnVolUp, nullptr);
7575
lv_label_set_text_static(label, Symbols::volumUp);
@@ -79,7 +79,7 @@ Music::Music(Pinetime::Controllers::MusicService& music) : musicService(music) {
7979
btnPrev->user_data = this;
8080
lv_obj_set_event_cb(btnPrev, event_handler);
8181
lv_obj_set_size(btnPrev, 76, 76);
82-
lv_obj_align(btnPrev, nullptr, LV_ALIGN_IN_BOTTOM_LEFT, 0, 0);
82+
lv_obj_align(btnPrev, nullptr, LV_ALIGN_IN_BOTTOM_LEFT, 3, 0);
8383
lv_obj_add_style(btnPrev, LV_STATE_DEFAULT, &btn_style);
8484
label = lv_label_create(btnPrev, nullptr);
8585
lv_label_set_text_static(label, Symbols::stepBackward);
@@ -88,7 +88,7 @@ Music::Music(Pinetime::Controllers::MusicService& music) : musicService(music) {
8888
btnNext->user_data = this;
8989
lv_obj_set_event_cb(btnNext, event_handler);
9090
lv_obj_set_size(btnNext, 76, 76);
91-
lv_obj_align(btnNext, nullptr, LV_ALIGN_IN_BOTTOM_RIGHT, 0, 0);
91+
lv_obj_align(btnNext, nullptr, LV_ALIGN_IN_BOTTOM_RIGHT, -3, 0);
9292
lv_obj_add_style(btnNext, LV_STATE_DEFAULT, &btn_style);
9393
label = lv_label_create(btnNext, nullptr);
9494
lv_label_set_text_static(label, Symbols::stepForward);
@@ -127,6 +127,8 @@ Music::Music(Pinetime::Controllers::MusicService& music) : musicService(music) {
127127
lv_obj_set_width(txtTrack, LV_HOR_RES - 12);
128128
lv_label_set_text_static(txtTrack, "This is a very long getTrack name");
129129

130+
page1Indicator.Create();
131+
130132
/** Init animation */
131133
imgDisc = lv_img_create(lv_scr_act(), nullptr);
132134
lv_img_set_src_arr(imgDisc, &disc);
@@ -256,6 +258,8 @@ bool Music::OnTouchEvent(Pinetime::Applications::TouchEvents event) {
256258

257259
lv_obj_set_hidden(btnNext, true);
258260
lv_obj_set_hidden(btnPrev, true);
261+
page1Indicator.Delete();
262+
page2Indicator.Create();
259263
return true;
260264
}
261265
case TouchEvents::SwipeDown: {
@@ -264,6 +268,8 @@ bool Music::OnTouchEvent(Pinetime::Applications::TouchEvents event) {
264268
lv_obj_set_hidden(btnPrev, false);
265269
lv_obj_set_hidden(btnVolDown, true);
266270
lv_obj_set_hidden(btnVolUp, true);
271+
page2Indicator.Delete();
272+
page1Indicator.Create();
267273
return true;
268274
}
269275
return false;

src/displayapp/screens/Music.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@
2121
#include <lvgl/src/lv_core/lv_obj.h>
2222
#include <string>
2323
#include "displayapp/screens/Screen.h"
24+
#include "displayapp/widgets/PageIndicator.h"
25+
#include "displayapp/apps/Apps.h"
26+
#include "displayapp/Controllers.h"
27+
#include "Symbols.h"
2428

2529
namespace Pinetime {
2630
namespace Controllers {
@@ -79,6 +83,9 @@ namespace Pinetime {
7983

8084
lv_task_t* taskRefresh;
8185

86+
Widgets::PageIndicator page1Indicator = Widgets::PageIndicator(0, 2);
87+
Widgets::PageIndicator page2Indicator = Widgets::PageIndicator(1, 2);
88+
8289
/** Watchapp */
8390
};
8491
}

src/displayapp/widgets/PageIndicator.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,8 @@ void PageIndicator::Create() {
3030
lv_obj_set_style_local_line_color(pageIndicator, LV_LINE_PART_MAIN, LV_STATE_DEFAULT, Colors::lightGray);
3131
lv_line_set_points(pageIndicator, pageIndicatorPoints, 2);
3232
}
33+
34+
void PageIndicator::Delete() {
35+
lv_obj_del(pageIndicatorBase);
36+
lv_obj_del(pageIndicator);
37+
}

src/displayapp/widgets/PageIndicator.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ namespace Pinetime {
88
public:
99
PageIndicator(uint8_t nCurrentScreen, uint8_t nScreens);
1010
void Create();
11+
void Delete();
1112

1213
private:
1314
uint8_t nCurrentScreen;

0 commit comments

Comments
 (0)