فهرست منبع

countdown timer: make digit selection wrap when pressing right

When pressing right, adds the modulo number to the `selection` variable
before subtracting and modulo'ing it. This prevents it from being
assigned a negative value (which cannot be relied upon for an enum),
as well as making the variable properly wrap around below "zero".

While not strictly necessary, the code for handling left button presses
is also changed for consistency.
woob 1 سال پیش
والد
کامیت
d480fea016
1فایلهای تغییر یافته به همراه2 افزوده شده و 4 حذف شده
  1. 2 4
      views/countdown_view.c

+ 2 - 4
views/countdown_view.c

@@ -307,13 +307,11 @@ static void handle_time_setting_select(InputKey key, CountDownTimView* cdv) {
         break;
 
     case InputKeyRight:
-        selection--;
-        selection = selection % 3;
+        selection = (3 + selection - 1) % 3;
         break;
 
     case InputKeyLeft:
-        selection++;
-        selection = selection % 3;
+        selection = (3 + selection + 1) % 3;
         break;
 
     default: