diff --git a/clock.py b/clock.py index a5ceb7b..70d4fea 100644 --- a/clock.py +++ b/clock.py @@ -235,6 +235,65 @@ class MyClockWidget(FloatLayout): is_arm = is_arm() + def add_wake_up_sound(self): + alarm_settings = App.get_running_app().alarm_settings + + x = self.ids["settings_menu_wake_up_sound_boxlayout"] + gl = GridLayout( + cols=2, + ) + + self.wake_up_sounds = WakeUpSounds + + alarm_settings.sound_selected = next(iter(self.wake_up_sounds)) + alarm_settings.sound_source = self.wake_up_sounds[alarm_settings.sound_selected] + self.ids["settings_menu_wake_up_sound_select_button"].text = alarm_settings.sound_selected + + self.wake_up_sound_checkboxes = [] + self.wake_up_sound_labels = [] + + i = 0 + for w in self.wake_up_sounds: + c = CheckBox( + group = "settings_menu_wake_up_sound", + size = [gl.size[0] * 0.1, gl.size[1]], + ) + c.bind(active=self.settings_menu_wake_up_sound_cb) + gl.add_widget(c) + self.wake_up_sound_checkboxes.append(c) + + if i == 0: + a = True + else: + a = False + + l = Label( + text = w, + halign = "left", + valign = "middle", + size = [Window.size[0] * 0.3, Window.size[1]], + text_size = Window.size, + font_size = Window.height*0.05, + color = self.theme.color_font, + active = a + ) + l.text_size = l.size + gl.add_widget(l) + self.wake_up_sound_labels.append(l) + i = i + 1 + + x.add_widget(gl) + + b = Button( + text = "Ok", + font_size = self.height*0.3, + color = self.theme.color_font, + background_normal = '', + background_color = self.theme.color_button + ) + b.bind(on_press = self.settings_menu_wake_up_sound_Ok_button_cb) + x.add_widget(b) + self.settings_menu_wake_up_sound_Ok_button = b def play_sound(self, source): alarm_settings = App.get_running_app().alarm_settings @@ -1167,62 +1226,7 @@ class MyApp(App): def build(self): clock_widget = MyClockWidget() - x = clock_widget.ids["settings_menu_wake_up_sound_boxlayout"] - gl = GridLayout( - cols=2, - ) - - clock_widget.wake_up_sounds = WakeUpSounds - - self.alarm_settings.sound_selected = next(iter(clock_widget.wake_up_sounds)) - self.alarm_settings.sound_source = clock_widget.wake_up_sounds[self.alarm_settings.sound_selected] - clock_widget.ids["settings_menu_wake_up_sound_select_button"].text = self.alarm_settings.sound_selected - - clock_widget.wake_up_sound_checkboxes = [] - clock_widget.wake_up_sound_labels = [] - - i = 0 - for w in clock_widget.wake_up_sounds: - c = CheckBox( - group = "settings_menu_wake_up_sound", - size = [gl.size[0] * 0.1, gl.size[1]], - ) - c.bind(active=clock_widget.settings_menu_wake_up_sound_cb) - gl.add_widget(c) - clock_widget.wake_up_sound_checkboxes.append(c) - - if i == 0: - a = True - else: - a = False - - l = Label( - text = w, - halign = "left", - valign = "middle", - size = [Window.size[0] * 0.3, Window.size[1]], - text_size = Window.size, - font_size = Window.height*0.05, - color = clock_widget.theme.color_font, - active = a - ) - l.text_size = l.size - gl.add_widget(l) - clock_widget.wake_up_sound_labels.append(l) - i = i + 1 - - x.add_widget(gl) - - b = Button( - text = "Ok", - font_size = clock_widget.height*0.3, - color = clock_widget.theme.color_font, - background_normal = '', - background_color = clock_widget.theme.color_button - ) - b.bind(on_press = clock_widget.settings_menu_wake_up_sound_Ok_button_cb) - x.add_widget(b) - clock_widget.settings_menu_wake_up_sound_Ok_button = b + clock_widget.add_wake_up_sound() update_rate = App.get_running_app().update_rate # update initially, just after construction of the widget is complete