From 6287e4210dcc8245701716903ba81bbd60a45529 Mon Sep 17 00:00:00 2001 From: admar Date: Fri, 6 Jan 2023 20:18:22 +0100 Subject: [PATCH] Replace set_alarm_mode with view --- clock.py | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/clock.py b/clock.py index 6fcbf6c..9789ae0 100644 --- a/clock.py +++ b/clock.py @@ -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]):