diff --git a/panels/main_menu.py b/panels/main_menu.py index ee533e95..b0cfe43b 100644 --- a/panels/main_menu.py +++ b/panels/main_menu.py @@ -22,7 +22,7 @@ class MainPanel(MenuPanel): self.devices = {} self.graph_update = None self.active_heater = None - self.h = 1 + self.h = self.f = 0 self.main_menu = self._gtk.HomogeneousGrid() self.main_menu.set_hexpand(True) self.main_menu.set_vexpand(True) @@ -108,8 +108,10 @@ class MainPanel(MenuPanel): return False if device.startswith("extruder"): - i = sum(d.startswith('extruder') for d in self.devices) - image = f"extruder-{i}" if self._printer.extrudercount > 1 else "extruder" + if self._printer.extrudercount > 1: + image = f"extruder-{device[8:]}" if device[8:] else "extruder-0" + else: + image = "extruder" class_name = f"graph_label_{device}" dev_type = "extruder" elif device == "heater_bed": @@ -118,19 +120,19 @@ class MainPanel(MenuPanel): class_name = "graph_label_heater_bed" dev_type = "bed" elif device.startswith("heater_generic"): - self.h = sum("heater_generic" in d for d in self.devices) + self.h += 1 image = "heater" class_name = f"graph_label_sensor_{self.h}" dev_type = "sensor" elif device.startswith("temperature_fan"): - f = 1 + sum("temperature_fan" in d for d in self.devices) + self.f += 1 image = "fan" - class_name = f"graph_label_fan_{f}" + class_name = f"graph_label_fan_{self.f}" dev_type = "fan" elif self._config.get_main_config().getboolean("only_heaters", False): return False else: - self.h += sum("sensor" in d for d in self.devices) + self.h += 1 image = "heat-up" class_name = f"graph_label_sensor_{self.h}" dev_type = "sensor" diff --git a/panels/temperature.py b/panels/temperature.py index 939eb7b1..675d2f51 100644 --- a/panels/temperature.py +++ b/panels/temperature.py @@ -24,7 +24,7 @@ class TemperaturePanel(ScreenPanel): self.popover_timeout = None self.left_panel = None self.popover_device = None - self.h = 1 + self.h = self.f = 0 self.tempdeltas = ["1", "5", "10", "25"] self.tempdelta = self.tempdeltas[-2] self.show_preheat = False @@ -302,8 +302,10 @@ class TemperaturePanel(ScreenPanel): return False if device.startswith("extruder"): - i = sum(d.startswith('extruder') for d in self.devices) - image = f"extruder-{i}" if self._printer.extrudercount > 1 else "extruder" + if self._printer.extrudercount > 1: + image = f"extruder-{device[8:]}" if device[8:] else "extruder-0" + else: + image = "extruder" class_name = f"graph_label_{device}" dev_type = "extruder" elif device == "heater_bed": @@ -312,19 +314,19 @@ class TemperaturePanel(ScreenPanel): class_name = "graph_label_heater_bed" dev_type = "bed" elif device.startswith("heater_generic"): - self.h = sum("heater_generic" in d for d in self.devices) + self.h += 1 image = "heater" class_name = f"graph_label_sensor_{self.h}" dev_type = "sensor" elif device.startswith("temperature_fan"): - f = 1 + sum("temperature_fan" in d for d in self.devices) + self.f += 1 image = "fan" - class_name = f"graph_label_fan_{f}" + class_name = f"graph_label_fan_{self.f}" dev_type = "fan" elif self._config.get_main_config().getboolean("only_heaters", False): return False else: - self.h += sum("sensor" in d for d in self.devices) + self.h += 1 image = "heat-up" class_name = f"graph_label_sensor_{self.h}" dev_type = "sensor"