From 05310a82f8bb8e5df07e1c393e0f602ae5d0de9d Mon Sep 17 00:00:00 2001 From: Daniel Thompson Date: Tue, 12 Jan 2021 20:22:44 +0000 Subject: [PATCH] widgets: Clarity whether spinner max is inclusive or exclusive Currently the spinner uses exclusive max when wrapping from low to high and inclusive max when wrapping from high to low. Fix this by adopting *inclusive* max everywhere. The call sites are similarly confused. Fix this! Signed-off-by: Daniel Thompson --- wasp/apps/alarm.py | 4 ++-- wasp/apps/timer.py | 2 +- wasp/widgets.py | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/wasp/apps/alarm.py b/wasp/apps/alarm.py index 7b08c2d..c3c1847 100644 --- a/wasp/apps/alarm.py +++ b/wasp/apps/alarm.py @@ -58,8 +58,8 @@ class AlarmApp(): def __init__(self): """Initialize the application.""" self.active = widgets.Checkbox(104, 200) - self.hours = widgets.Spinner(50, 60, 0, 24, 2) - self.minutes = widgets.Spinner(130, 60, 0, 60, 2) + self.hours = widgets.Spinner(50, 60, 0, 23, 2) + self.minutes = widgets.Spinner(130, 60, 0, 59, 2) self.hours.value = 7 self.ringing = False diff --git a/wasp/apps/timer.py b/wasp/apps/timer.py index f1543f8..648d45c 100644 --- a/wasp/apps/timer.py +++ b/wasp/apps/timer.py @@ -62,7 +62,7 @@ class TimerApp(): def __init__(self): """Initialize the application.""" self.minutes = widgets.Spinner(50, 60, 0, 99, 2) - self.seconds = widgets.Spinner(130, 60, 0, 60, 2) + self.seconds = widgets.Spinner(130, 60, 0, 59, 2) self.current_alarm = None self.minutes.value = 10 diff --git a/wasp/widgets.py b/wasp/widgets.py index 21bffe3..4d17c02 100644 --- a/wasp/widgets.py +++ b/wasp/widgets.py @@ -386,7 +386,7 @@ class Spinner(): self.value = mn def draw(self): - """Draw the slider.""" + """Draw the spinner.""" draw = watch.drawable im = self._im fg = draw.lighten(wasp.system.theme('ui'), wasp.system.theme('contrast')) @@ -417,7 +417,7 @@ class Spinner(): else: self.value -= 1 if self.value < im[2]: - self.value = im[3] - 1 + self.value = im[3] self.update() return True