summaryrefslogtreecommitdiff
path: root/wasp/apps
diff options
context:
space:
mode:
authorCarlosgg <carlosgilglez@gmail.com>2020-10-27 17:10:56 (GMT)
committerDaniel Thompson <daniel@redfelineninja.org.uk>2020-11-29 20:20:03 (GMT)
commit3fb1faceab8c4067cf636e0628ab44fe77582f72 (patch)
tree83e68362ac83ed0d14769335029bd8d23ddb3461 /wasp/apps
parente450ccf9f0cc7a646bfac75d6e1b67d5ee7481f0 (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.py56
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()