From 5cd48fca2152e343080477ca66109057c615dfa3 Mon Sep 17 00:00:00 2001 From: admar Date: Sun, 23 Apr 2023 20:31:28 +0200 Subject: [PATCH] Add support for reading settings.json --- clock.kv | 2 +- clock.py | 18 ++++++++++++------ settings.json | 8 ++++++++ 3 files changed, 21 insertions(+), 7 deletions(-) create mode 100644 settings.json diff --git a/clock.kv b/clock.kv index adeada4..615eef2 100644 --- a/clock.kv +++ b/clock.kv @@ -129,7 +129,7 @@ color: root.theme.color_font id: settings_menu_label_2 Slider: - id: wake_up_bightness_slider + id: wake_up_brightness_slider min: 0 max: 20 value: 20 diff --git a/clock.py b/clock.py index f09176d..9984993 100644 --- a/clock.py +++ b/clock.py @@ -145,6 +145,10 @@ class ClockSettings(): self.theme_selected = j["theme"] self.wake_up_volume = j["volume"] + self.sound_selected = j["wake_up_sound"] + self.wake_up_brightness = j["wake_up_brightness"] + self.reading_light_brightness = j["reading_light_brightness"] + self.display_brightness = j["display_brightness"] self.alarm_time = datetime.datetime(2022, 12, 10, 7, 30, 0, 0) self.alarm_activated = False @@ -154,10 +158,6 @@ class ClockSettings(): self.seconds_to_sunrise = 30 * 60 # 30 minutes - self.wake_up_volume = 15 - self.wake_up_brightness = 20 - self.reading_light_brightness = 1 - self.display_brightness = 10 def read(self): @@ -321,6 +321,13 @@ class MyClockWidget(FloatLayout): self.apply_theme() + def apply_settings(self): + self.ids["volume_slider"].value = self.settings.wake_up_volume + self.ids["settings_menu_wake_up_sound_select_button"].text = self.settings.sound_selected + self.ids["wake_up_brightness_slider"].value = self.settings.wake_up_brightness + self.ids["reading_light_brightness_slider"].value = self.settings.reading_light_brightness + self.ids["display_brightness_slider"].value = self.settings.display_brightness + def add_wake_up_sounds(self): x = self.ids["settings_menu_wake_up_sound_boxlayout"] gl = GridLayout( @@ -329,9 +336,7 @@ class MyClockWidget(FloatLayout): self.wake_up_sounds = WakeUpSounds - self.settings.sound_selected = next(iter(self.wake_up_sounds)) self.settings.sound_source = self.wake_up_sounds[self.settings.sound_selected] - self.ids["settings_menu_wake_up_sound_select_button"].text = self.settings.sound_selected self.wake_up_sound_checkboxes = [] self.wake_up_sound_labels = [] @@ -1310,6 +1315,7 @@ class MyApp(App): new_vol = clock_widget.mixer.getvolume() print("HW volume changed from " + str(old_vol) + " to " + str(new_vol)) + clock_widget.apply_settings() return clock_widget def except_hook(type, value, tb): diff --git a/settings.json b/settings.json new file mode 100644 index 0000000..4386367 --- /dev/null +++ b/settings.json @@ -0,0 +1,8 @@ +{ + "volume": 4, + "wake_up_sound": "NPO Radio 1", + "wake_up_brightness": 20, + "reading_light_brightness": 3, + "display_brightness": 5, + "theme": "Colorful" +}