diff options
| author | Carlosgg <carlosgilglez@gmail.com> | 2020-10-27 17:10:56 (GMT) |
|---|---|---|
| committer | Daniel Thompson <daniel@redfelineninja.org.uk> | 2020-11-29 20:20:03 (GMT) |
| commit | 3fb1faceab8c4067cf636e0628ab44fe77582f72 (patch) | |
| tree | 83e68362ac83ed0d14769335029bd8d23ddb3461 /wasp/apps | |
| parent | e450ccf9f0cc7a646bfac75d6e1b67d5ee7481f0 (diff) | |
Notify level in settings app
Signed-off-by: Carlos Gil Gonzalez <carlosgilglez@gmail.com>
[daniel@redfelineninja.org.uk: Fixed board support for simulator and
sphinx (a.k.a. doc builder)]
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
Diffstat (limited to 'wasp/apps')
| -rw-r--r-- | wasp/apps/settings.py | 56 |
1 files changed, 46 insertions, 10 deletions
diff --git a/wasp/apps/settings.py b/wasp/apps/settings.py index a50cd9c..8dae9c0 100644 --- a/wasp/apps/settings.py +++ b/wasp/apps/settings.py @@ -19,29 +19,65 @@ class SettingsApp(): def __init__(self): self._slider = wasp.widgets.Slider(3, 10, 90) + self._nfy_slider = wasp.widgets.Slider(3, 10, 90) + self._settings = ['Brightness', 'Notification Level'] + self._sett_index = 0 + self._current_setting = self._settings[0] def foreground(self): self._slider.value = wasp.system.brightness - 1 self._draw() wasp.system.request_event(wasp.EventMask.TOUCH) + wasp.system.request_event(wasp.EventMask.SWIPE_UPDOWN) def touch(self, event): - self._slider.touch(event) - wasp.system.brightness = self._slider.value + 1 + if self._current_setting == 'Brightness': + self._slider.touch(event) + wasp.system.brightness = self._slider.value + 1 + elif self._current_setting == 'Notification Level': + self._nfy_slider.touch(event) + wasp.system.notify_level = self._nfy_slider.value + 1 self._update() + def swipe(self, event): + """Handle NEXT events by augmenting the default processing by resetting + the count if we are not currently timing something. + + No other swipe event is possible for this application. + """ + if event[0] == wasp.EventType.UP: + self._sett_index += 1 + self._draw() + elif event[0] == wasp.EventType.DOWN: + self._sett_index -= 1 + self._draw() + def _draw(self): """Redraw the display from scratch.""" + self._current_setting = self._settings[self._sett_index % len(self._settings)] wasp.watch.drawable.fill() - wasp.watch.drawable.string('Brightness', 0, 6, width=240) + wasp.watch.drawable.string(self._current_setting, 0, 6, width=240) + if self._current_setting == 'Brightness': + self._slider.value = wasp.system.brightness - 1 + elif self._current_setting == 'Notification Level': + self._nfy_slider.value = wasp.system.notify_level - 1 self._update() def _update(self): - if wasp.system.brightness == 3: - say = "High" - elif wasp.system.brightness == 2: - say = "Mid" - else: - say = "Low" + if self._current_setting == 'Brightness': + if wasp.system.brightness == 3: + say = "High" + elif wasp.system.brightness == 2: + say = "Mid" + else: + say = "Low" + self._slider.update() + elif self._current_setting == 'Notification Level': + if wasp.system.notify_level == 3: + say = "High" + elif wasp.system.notify_level == 2: + say = "Mid" + else: + say = "Silent" + self._nfy_slider.update() wasp.watch.drawable.string(say, 0, 150, width=240) - self._slider.update() |
