diff options
author | William Wilgus <wilgus.william@gmail.com> | 2022-03-30 08:53:40 -0400 |
---|---|---|
committer | William Wilgus <wilgus.william@gmail.com> | 2022-03-30 09:05:28 -0400 |
commit | 43830d0128ed9483db769f0d29f3d6071e620144 (patch) | |
tree | 0597df9d45dcc8bc1e2ae276c66af1226b4e54c0 /apps/screens.c | |
parent | 4c1fe3a89963f4b2576e68d519d168a3d510cb75 (diff) | |
download | rockbox-43830d0128ed9483db769f0d29f3d6071e620144.tar.gz rockbox-43830d0128ed9483db769f0d29f3d6071e620144.zip |
alarm_menu share setter with settime
share the time picker with the alarm
block the date portion, seconds are ignored
Change-Id: Idc6974466772c33248ff532c8f3c62c744ee06d9
Diffstat (limited to 'apps/screens.c')
-rw-r--r-- | apps/screens.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/apps/screens.c b/apps/screens.c index f3a969a838..2d3a521a88 100644 --- a/apps/screens.c +++ b/apps/screens.c | |||
@@ -123,7 +123,7 @@ static void say_time(int cursorpos, const struct tm *tm) | |||
123 | #define OFF_YEAR 9 | 123 | #define OFF_YEAR 9 |
124 | #define OFF_DAY 14 | 124 | #define OFF_DAY 14 |
125 | 125 | ||
126 | bool set_time_screen(const char* title, struct tm *tm) | 126 | bool set_time_screen(const char* title, struct tm *tm, bool set_date) |
127 | { | 127 | { |
128 | struct viewport viewports[NB_SCREENS]; | 128 | struct viewport viewports[NB_SCREENS]; |
129 | bool done = false, usb = false; | 129 | bool done = false, usb = false; |
@@ -139,6 +139,10 @@ bool set_time_screen(const char* title, struct tm *tm) | |||
139 | offsets_ptr[IDX_DAY] = OFF_YEAR; | 139 | offsets_ptr[IDX_DAY] = OFF_YEAR; |
140 | } | 140 | } |
141 | 141 | ||
142 | int last_item = IDX_DAY; /*time & date*/ | ||
143 | if (!set_date) | ||
144 | last_item = IDX_SECONDS; /*time*/ | ||
145 | |||
142 | /* speak selection when screen is entered */ | 146 | /* speak selection when screen is entered */ |
143 | say_time(cursorpos, tm); | 147 | say_time(cursorpos, tm); |
144 | 148 | ||
@@ -161,6 +165,7 @@ bool set_time_screen(const char* title, struct tm *tm) | |||
161 | unsigned char buffer[20]; | 165 | unsigned char buffer[20]; |
162 | #endif | 166 | #endif |
163 | int *valptr = NULL; | 167 | int *valptr = NULL; |
168 | |||
164 | static unsigned char daysinmonth[] = | 169 | static unsigned char daysinmonth[] = |
165 | {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; | 170 | {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; |
166 | 171 | ||
@@ -320,11 +325,11 @@ bool set_time_screen(const char* title, struct tm *tm) | |||
320 | button = get_action(CONTEXT_SETTINGS_TIME, TIMEOUT_BLOCK); | 325 | button = get_action(CONTEXT_SETTINGS_TIME, TIMEOUT_BLOCK); |
321 | switch ( button ) { | 326 | switch ( button ) { |
322 | case ACTION_STD_PREV: | 327 | case ACTION_STD_PREV: |
323 | cursorpos = clamp_value_wrap(--cursorpos, 5, 0); | 328 | cursorpos = clamp_value_wrap(--cursorpos, last_item, 0); |
324 | say_time(cursorpos, tm); | 329 | say_time(cursorpos, tm); |
325 | break; | 330 | break; |
326 | case ACTION_STD_NEXT: | 331 | case ACTION_STD_NEXT: |
327 | cursorpos = clamp_value_wrap(++cursorpos, 5, 0); | 332 | cursorpos = clamp_value_wrap(++cursorpos, last_item, 0); |
328 | say_time(cursorpos, tm); | 333 | say_time(cursorpos, tm); |
329 | break; | 334 | break; |
330 | case ACTION_SETTINGS_INC: | 335 | case ACTION_SETTINGS_INC: |