From 4b0413f5447ac67cc8bfa89d835a6a57a14a298f Mon Sep 17 00:00:00 2001 From: admar Date: Sat, 3 Jun 2023 22:53:25 +0200 Subject: [PATCH] Add icon for indoor air quality index --- clock.kv | 5 +++++ clock.py | 25 +++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/clock.kv b/clock.kv index 9478bdf..9bf6d7d 100644 --- a/clock.kv +++ b/clock.kv @@ -33,6 +33,11 @@ size: self.size pos: self.pos + Image: + id: icon_iaqi + size: 0.9*min(root.size), 0.9*min(root.size) + pos_hint: {"center_x": 0.5, "center_y": 0.36} + Image: id: icon_uvi size: 0.9*min(root.size), 0.9*min(root.size) diff --git a/clock.py b/clock.py index 1b239c4..c3963aa 100644 --- a/clock.py +++ b/clock.py @@ -304,6 +304,8 @@ class MyClockWidget(FloatLayout): paqi_thresholds = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] uvi = [] uvi_thresholds = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + iaqi = [] + iaqi_thresholds = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] def get_air_quality_metric(self, j, t, metric, periodicity): x = [] @@ -688,6 +690,28 @@ class MyClockWidget(FloatLayout): return color + def draw_icon_iaqi(self): + if hasattr(self, 'image_iaqi') == False: + self.image_iaqi = Image.open("icons/iaqi.png") + + if len(self.iaqi) == 0: + if self.is_widget_hidden(self.ids["icon_iaqi"]) == False: + self.draw_list_curr_frame.append(["self.hide_widget", self.ids["icon_iaqi"], True]) + return + + if self.is_widget_hidden(self.ids["icon_iaqi"]): + self.draw_list_curr_frame.append(["self.hide_widget", self.ids["icon_iaqi"], False]) + + if hasattr(self, 'iaqi_color_prev') == False: + self.iaqi_color_prev = [] + + if hasattr(self, 'iaqi_color') == False: + self.iaqi_color = [] + + color = self.draw_icon_helper(self.iaqi, self.iaqi_thresholds, "iaqi", 1, self.iaqi_color_prev, self.image_iaqi) + self.iaqi_color_prev = self.iaqi_color + self.iaqi_color = color + def draw_icon_uvi(self): if hasattr(self, 'image_uvi') == False: self.image_uvi = Image.open("icons/uvi.png") @@ -758,6 +782,7 @@ class MyClockWidget(FloatLayout): self.draw_icon_uvi() self.draw_icon_pollen() self.draw_icon_aqi() + self.draw_icon_iaqi() def draw_face(self): self.draw_numbers()