Replace set_alarm_mode with view

This commit is contained in:
Admar Schoonen 2023-01-06 20:18:22 +01:00
parent 59133f275d
commit 6287e4210d
1 changed files with 14 additions and 12 deletions

View File

@ -56,7 +56,6 @@ def play_sound(source):
playsound(source)
class AlarmSettings():
set_alarm_mode = False
alarm_time = datetime.datetime(2022, 12, 10, 7, 30, 0, 0)
alarm_activated = False
@ -76,6 +75,9 @@ class MyClockWidget(FloatLayout):
seconds_to_next_alarm = 0
led_color = [0, 0, 0]
# view can be "clock" "set_alarm" "settings" or "calendar"
view = "clock"
def draw_face(self):
"""
Add number labels when added in widget hierarchy
@ -83,7 +85,7 @@ class MyClockWidget(FloatLayout):
alarm_settings = App.get_running_app().alarm_settings
if alarm_settings.set_alarm_mode:
if self.view == "set_alarm":
time = alarm_settings.alarm_time
else:
time = datetime.datetime.now()
@ -107,7 +109,7 @@ class MyClockWidget(FloatLayout):
def update_face(self):
alarm_settings = App.get_running_app().alarm_settings
if alarm_settings.set_alarm_mode:
if self.view == "set_alarm":
time = alarm_settings.alarm_time
else:
time = datetime.datetime.now()
@ -141,7 +143,7 @@ class MyClockWidget(FloatLayout):
app = App.get_running_app()
alarm_settings = app.alarm_settings
if alarm_settings.set_alarm_mode or alarm_settings.alarm_activated:
if (self.view == "set_alarm") or alarm_settings.alarm_activated:
source = 'alarm_on.png'
rgb = [0.9, 0.0, 0.0]
else:
@ -215,7 +217,7 @@ class MyClockWidget(FloatLayout):
Redraw clock hands
"""
alarm_settings = App.get_running_app().alarm_settings
if alarm_settings.set_alarm_mode:
if self.view == "set_alarm":
time = alarm_settings.alarm_time
else:
time = datetime.datetime.now()
@ -230,7 +232,7 @@ class MyClockWidget(FloatLayout):
hands.canvas.clear()
with hands.canvas:
if alarm_settings.set_alarm_mode:
if self.view == "set_alarm":
if self.grabbed != "" or self.set_alarm_timeout_counter < 1 * 60 or \
self.set_alarm_timeout_counter % 60 <= 30 or alarm_settings.alarm_modified == False:
Color(0.9, 0.0, 0.0)
@ -242,7 +244,7 @@ class MyClockWidget(FloatLayout):
self.set_alarm_timeout_counter += 1
if self.set_alarm_timeout_counter >= 4 * 60 + 30:
alarm_settings.set_alarm_mode = False
self.view = "clock"
self.set_alarm_timeout_counter = 0
if alarm_settings.alarm_modified:
@ -261,18 +263,18 @@ class MyClockWidget(FloatLayout):
alarm_settings.alarm_modified = False
self.set_alarm_timeout_counter = 0
if alarm_settings.set_alarm_mode:
alarm_settings.set_alarm_mode = False
if self.view == "set_alarm":
self.view = "clock"
alarm_settings.alarm_activated = False
else:
alarm_settings.set_alarm_mode = True
self.view = "set_alarm"
alarm_settings.alarm_activated = True
def on_touch_up(self, touch):
self.grabbed = ""
alarm_settings = App.get_running_app().alarm_settings
if alarm_settings.set_alarm_mode and (self.grabbed == "hour" or self.grabbed == "minute"):
if (self.view == "set_alarm") and (self.grabbed == "hour" or self.grabbed == "minute"):
self.set_alarm_timeout_counter = 0
def on_touch_move(self, touch):
@ -349,7 +351,7 @@ class MyClockWidget(FloatLayout):
self.on_alarm_button_pressed()
elif sound_process is not None:
kill_sound_process()
elif alarm_settings.set_alarm_mode:
elif self.view == "set_alarm":
self.set_alarm_timeout_counter = 0
if (minutes_hand.x - 0.1 * self.size[0] <= touch.pos[0] <= minutes_hand.x + 0.1 * self.size[0]) and \
(minutes_hand.y - 0.1 * self.size[1] <= touch.pos[1] <= minutes_hand.y + 0.1 * self.size[1]):