From 2f92e33d5b4d387739d5ec0d6973e13b524a9e4e Mon Sep 17 00:00:00 2001 From: zkk <1007518571@qq.com> Date: Wed, 10 Jul 2024 13:53:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BE=A7=E8=BE=B9=E6=A0=8F?= =?UTF-8?q?=E5=92=8C=E9=A6=96=E9=A1=B5=E5=9B=BE=E6=A0=87=E4=BB=A5=E5=8F=8A?= =?UTF-8?q?=E9=A6=96=E9=A1=B5=E5=92=8C=E9=A2=84=E7=83=AD=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E5=B8=83=E5=B1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ks_includes/screen_panel.py | 26 ++-- panels/base_panel.py | 6 +- panels/main_menu.py | 117 +++++++++------ panels/temperature.py | 236 +----------------------------- screen.py | 2 +- styles/base.css | 5 +- styles/dark/images/back.svg | 87 +---------- styles/dark/images/bed.svg | 38 ++--- styles/dark/images/extruder-0.svg | 6 +- styles/dark/images/extruder-1.svg | 6 +- styles/dark/images/filament.svg | 79 ++-------- styles/dark/images/files.svg | 80 +--------- styles/dark/images/heater.svg | 32 ++-- styles/dark/images/main.svg | 99 +------------ styles/dark/images/move.svg | 87 +---------- styles/dark/images/settings.svg | 64 +------- styles/dark/style.css | 9 +- 17 files changed, 191 insertions(+), 788 deletions(-) diff --git a/ks_includes/screen_panel.py b/ks_includes/screen_panel.py index 3e5c0ee6..4014fca2 100644 --- a/ks_includes/screen_panel.py +++ b/ks_includes/screen_panel.py @@ -188,22 +188,30 @@ class ScreenPanel: return name def update_temp(self, dev, temp, target, power, lines=1, digits=1): - new_label_text = f"{temp or 0:.{digits}f}" + temp_label_text = f"{temp or 0:.{digits}f}" + target_label_text = "0" + power_label_text = "" if self._printer.device_has_target(dev) and target: - new_label_text += f"/{target:.0f}" - if dev not in self.devices: - new_label_text += "°" + target_label_text = f"{target:.0f}" + # if dev not in self.devices: + # new_label_text += "°" - show_power = self._show_heater_power and power - if show_power: - new_label_text += f" {power * 100:3.0f}%" + if self._show_heater_power: + if target != 0: + power_label_text = "0%" + if power != 0: + power_label_text = f" {power * 100:3.0f}%" + temp_label_text += '℃' + target_label_text += '℃' if dev in self.labels: # Job_Status - find_widget(self.labels[dev], Gtk.Label).set_text(new_label_text) + find_widget(self.labels[dev], Gtk.Label).set_text(temp_label_text) elif dev in self.devices: # Temperature and Main_Menu - find_widget(self.devices[dev]["temp"], Gtk.Label).set_text(new_label_text) + find_widget(self.devices[dev]["target"], Gtk.Label).set_text(target_label_text) + find_widget(self.devices[dev]["temp"], Gtk.Label).set_text(temp_label_text) + find_widget(self.devices[dev]["power"], Gtk.Label).set_text(power_label_text) def add_option(self, boxname, opt_array, opt_name, option): if option['type'] is None: diff --git a/panels/base_panel.py b/panels/base_panel.py index 9354f6e5..eed6175a 100644 --- a/panels/base_panel.py +++ b/panels/base_panel.py @@ -38,7 +38,7 @@ class BasePanel(ScreenPanel): self.extrude = { "panel": "extrude", } - self.control['extrude'] = self._gtk.Button('extrude', scale=abscale) + self.control['extrude'] = self._gtk.Button('filament', scale=abscale) self.control['extrude'].connect("clicked", self.menu_item_clicked, self.extrude) self.control['extrude'].set_no_show_all(True) @@ -73,7 +73,7 @@ class BasePanel(ScreenPanel): self.control[item].connect("clicked", self._screen.remove_keyboard) # Action bar - self.action_bar = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=5) + self.action_bar = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=0) if self._screen.vertical_mode: self.action_bar.set_hexpand(True) self.action_bar.set_vexpand(False) @@ -218,7 +218,7 @@ class BasePanel(ScreenPanel): self.control['extrude'].set_visible(not printing and connected) self.control['files'].set_visible(not printing and connected) self.control['more'].set_visible(not printing and connected) - self.control['home'].set_visible(connected) + self.control['home'].set_visible(connected) self.show_shortcut(connected) self.show_heaters(connected) for control in ('back', 'home'): diff --git a/panels/main_menu.py b/panels/main_menu.py index ebd6f0c0..9a813497 100644 --- a/panels/main_menu.py +++ b/panels/main_menu.py @@ -18,7 +18,22 @@ class Panel(MenuPanel): self.active_heater = None self.h = self.f = 0 self.main_menu = Gtk.Grid(row_homogeneous=True, column_homogeneous=True, hexpand=True, vexpand=True) - scroll = self._gtk.ScrolledWindow() + + self.labels['menu'] = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=0, homogeneous=False) + logo_image = self._gtk.Image("klipper", self._gtk.content_width * 0.2, self._gtk.content_height * 0.5) + self.labels['menu'].pack_start(logo_image, False, False, 80) + # temp_Button = self.arrangeMenuItems(items, 1, True) + temp_Button = self._gtk.Button("heat-up", _("Temperature")) + temp_Button.set_margin_start(120) + temp_Button.set_margin_end(120) + temp_Button.get_style_context().add_class('custom-temp-button') + self.temperature = { + "panel": "temperature", + } + temp_Button.connect("clicked", self.menu_item_clicked, self.temperature) + self.labels['menu'].pack_start(temp_Button, True, True, 0) + self.labels['da'] = HeaterGraph(self._screen, self._printer, self._gtk.font_size) + self.labels['devices'] = self.create_top_panel(self.labels['da']) self.numpad_visible = False logging.info("### Making MainMenu") @@ -27,15 +42,13 @@ class Panel(MenuPanel): if stats["temperature_devices"]["count"] > 0 or stats["extruders"]["count"] > 0: self._gtk.reset_temp_color() if self._screen.vertical_mode: - self.main_menu.attach(self.create_left_panel(), 0, 0, 1, 3) - self.labels['menu'] = self.arrangeMenuItems(items, 3, True) - scroll.add(self.labels['menu']) - self.main_menu.attach(scroll, 0, 3, 1, 2) + self.main_menu.attach(self.labels['devices'], 0, 0, 2, 1) + self.main_menu.attach(self.labels['menu'], 0, 1, 1, 2) + self.main_menu.attach(self.labels['da'], 1, 1, 1, 2) else: - self.main_menu.attach(self.create_left_panel(), 0, 0, 1, 1) - self.labels['menu'] = self.arrangeMenuItems(items, 2, True) - scroll.add(self.labels['menu']) - self.main_menu.attach(scroll, 1, 0, 1, 1) + self.main_menu.attach(self.labels['devices'], 0, 0, 2, 1) + self.main_menu.attach(self.labels['menu'], 0, 1, 1, 2) + self.main_menu.attach(self.labels['da'], 1, 1, 1, 2) self.content.add(self.main_menu) def update_graph_visibility(self, force_hide=False): @@ -54,8 +67,6 @@ class Panel(MenuPanel): else: self.devices[device]['name'].get_style_context().remove_class("graph_label") if count > 0 and not force_hide: - if self.labels['da'] not in self.left_panel: - self.left_panel.add(self.labels['da']) self.labels['da'].queue_draw() self.labels['da'].show() if self.graph_update is None: @@ -78,9 +89,9 @@ class Panel(MenuPanel): GLib.source_remove(self.graph_update) self.graph_update = None if self.active_heater is not None: - self.hide_numpad() + self.back() - def add_device(self, device): + def add_device(self, device, graph): logging.info(f"Adding device: {device}") @@ -126,30 +137,45 @@ class Panel(MenuPanel): rgb = self._gtk.get_temp_color(dev_type) can_target = self._printer.device_has_target(device) - self.labels['da'].add_object(device, "temperatures", rgb, False, False) + graph.add_object(device, "temperatures", rgb, False, False) if can_target: - self.labels['da'].add_object(device, "targets", rgb, False, True) + graph.add_object(device, "targets", rgb, False, True) if self._show_heater_power and self._printer.device_has_power(device): - self.labels['da'].add_object(device, "powers", rgb, True, False) + graph.add_object(device, "powers", rgb, True, False) - name = self._gtk.Button(image, self.prettify(devname), None, self.bts, Gtk.PositionType.LEFT, 1) - name.connect("clicked", self.toggle_visibility, device) - name.set_alignment(0, .5) + # name = self._gtk.Button(image, self.prettify(devname), None, self.bts, Gtk.PositionType.TOP, 1) + name = self._gtk.Button() + vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=0) + name.add(vbox) + target = Gtk.Label() + target.set_text("") + vbox.pack_start(target, True, False, 5) + icon = self._gtk.Image(image) + vbox.pack_start(icon, True, False, 0) + temp = Gtk.Label() + temp.set_text("") + vbox.pack_start(temp, True, False, 0) + power = Gtk.Label() + power.set_text("") + vbox.pack_start(power, True, False, 0) + # name.connect("clicked", self.toggle_visibility, device) + # name.set_alignment(0, .5) name.get_style_context().add_class(class_name) visible = self._config.get_config().getboolean(f"graph {self._screen.connected_printer}", device, fallback=True) if visible: name.get_style_context().add_class("graph_label") self.labels['da'].set_showing(device, visible) - temp = self._gtk.Button(label="", lines=1) find_widget(temp, Gtk.Label).set_ellipsize(False) if can_target: - temp.connect("clicked", self.show_numpad, device) + name.connect("clicked", self.show_numpad, device) self.devices[device] = { "class": class_name, "name": name, "temp": temp, + "target": target, + "power": power, "can_target": can_target, "visible": visible } @@ -158,8 +184,7 @@ class Panel(MenuPanel): pos = devices.index(device) + 1 self.labels['devices'].insert_row(pos) - self.labels['devices'].attach(name, 0, pos, 1, 1) - self.labels['devices'].attach(temp, 1, pos, 1, 1) + self.labels['devices'].attach(name, pos, 0, 1, 1) self.labels['devices'].show_all() return True @@ -192,7 +217,7 @@ class Panel(MenuPanel): else: logging.info(f"Unknown heater: {self.active_heater}") self._screen.show_popup_message(_("Unknown Heater") + " " + self.active_heater) - + self.hide_numpad() def verify_max_temp(self, temp): temp = int(temp) max_temp = int(float(self._printer.get_config_section(self.active_heater)['max_temp'])) @@ -212,34 +237,35 @@ class Panel(MenuPanel): "printer.gcode.script", script ) + self.back() - def create_left_panel(self): + def create_top_panel(self, graph): self.labels['devices'] = Gtk.Grid(vexpand=False) self.labels['devices'].get_style_context().add_class('heater-grid') - name = Gtk.Label() - temp = Gtk.Label(label=_("Temp (°C)")) - if self._show_heater_power: - temp.get_style_context().add_class("heater-grid-temp-power") - else: - temp.get_style_context().add_class("heater-grid-temp") + # name = Gtk.Label() + # temp = Gtk.Label(label=_("Temp (°C)")) + # if self._show_heater_power: + # temp.get_style_context().add_class("heater-grid-temp-power") + # else: + # temp.get_style_context().add_class("heater-grid-temp") - self.labels['devices'].attach(name, 0, 0, 1, 1) - self.labels['devices'].attach(temp, 1, 0, 1, 1) + # self.labels['devices'].attach(name, 0, 0, 1, 1) + # self.labels['devices'].attach(temp, 1, 0, 1, 1) - self.labels['da'] = HeaterGraph(self._screen, self._printer, self._gtk.font_size) + # self.labels['da'] = HeaterGraph(self._screen, self._printer, self._gtk.font_size) scroll = self._gtk.ScrolledWindow(steppers=False) - scroll.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC) + scroll.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.NEVER) scroll.get_style_context().add_class('heater-list') scroll.add(self.labels['devices']) - self.left_panel = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) + self.left_panel = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) self.left_panel.add(scroll) for d in self._printer.get_temp_devices(): - self.add_device(d) + self.add_device(d, graph) return self.left_panel @@ -257,8 +283,10 @@ class Panel(MenuPanel): self.main_menu.attach(top, 0, 0, 1, 3) self.main_menu.attach(self.labels["menu"], 0, 3, 1, 2) else: - self.main_menu.remove_column(1) - self.main_menu.attach(self.labels["menu"], 1, 0, 1, 1) + self.main_menu.remove_column(0) + self.main_menu.attach(self.labels['devices'], 0, 0, 2, 1) + self.main_menu.attach(self.labels['menu'], 0, 1, 1, 2) + self.main_menu.attach(self.labels['da'], 1, 1, 1, 2) self.main_menu.show_all() self.numpad_visible = False self._screen.base_panel.set_control_sensitive(False, control='back') @@ -299,8 +327,15 @@ class Panel(MenuPanel): self.main_menu.attach(top, 0, 0, 1, 2) self.main_menu.attach(self.labels["keypad"], 0, 2, 1, 2) else: - self.main_menu.remove_column(1) - self.main_menu.attach(self.labels["keypad"], 1, 0, 1, 1) + top = self.main_menu.get_child_at(0, 0) + temperature = self.main_menu.get_child_at(0, 1) + bottom = self.main_menu.get_child_at(1, 1) + self.main_menu.remove(top) + self.main_menu.remove(temperature) + self.main_menu.remove(bottom) + self.labels["keypad"].set_halign(Gtk.Align.CENTER) + self.labels["keypad"].set_size_request(400, -1) + self.main_menu.attach(self.labels["keypad"], 0, 0, 1, 1) self.main_menu.show_all() self.numpad_visible = True self._screen.base_panel.set_control_sensitive(True, control='back') diff --git a/panels/temperature.py b/panels/temperature.py index 4ebb13f0..913fecb1 100644 --- a/panels/temperature.py +++ b/panels/temperature.py @@ -31,12 +31,14 @@ class Panel(ScreenPanel): self.grid = Gtk.Grid(row_homogeneous=True, column_homogeneous=True) self._gtk.reset_temp_color() + right_panel = self.create_right_panel() + right_panel.set_halign(Gtk.Align.CENTER) + right_panel.set_size_request(400, -1) + dev = self.create_left_panel() if self._screen.vertical_mode: - self.grid.attach(self.create_left_panel(), 0, 0, 1, 3) - self.grid.attach(self.create_right_panel(), 0, 3, 1, 2) + self.grid.attach(right_panel, 0, 0, 1, 1) else: - self.grid.attach(self.create_left_panel(), 0, 0, 1, 1) - self.grid.attach(self.create_right_panel(), 1, 0, 1, 1) + self.grid.attach(right_panel, 0, 0, 1, 1) # When printing start only select tools selection = [] @@ -62,31 +64,16 @@ class Panel(ScreenPanel): cooldown = self._gtk.Button( "cool-down", _("Cooldown"), "color4", self.bts, Gtk.PositionType.LEFT, 1 ) - adjust = self._gtk.Button( - "fine-tune", None, "color3", self.bts * 1.4, Gtk.PositionType.LEFT, 1 - ) cooldown.connect("clicked", self.set_temperature, "cooldown") - adjust.connect("clicked", self.switch_preheat_adjust) right = Gtk.Grid(row_homogeneous=True, column_homogeneous=True) - right.attach(cooldown, 0, 0, 2, 1) - right.attach(adjust, 2, 0, 1, 1) + right.attach(cooldown, 0, 0, 3, 1) if self.show_preheat: right.attach(self.preheat(), 0, 1, 3, 2) else: right.attach(self.delta_adjust(), 0, 1, 3, 2) return right - def switch_preheat_adjust(self, widget): - self.show_preheat ^= True - if self._screen.vertical_mode: - row = self.grid.get_child_at(0, 3) - self.grid.remove(row) - self.grid.attach(self.create_right_panel(), 0, 3, 1, 2) - else: - self.grid.remove_column(1) - self.grid.attach(self.create_right_panel(), 1, 0, 1, 1) - self.grid.show_all() def preheat(self): self.labels["preheat_grid"] = Gtk.Grid( @@ -107,39 +94,13 @@ class Panel(ScreenPanel): scroll.add(self.labels["preheat_grid"]) return scroll - def delta_adjust(self): # Create buttons for increase and decrease - self.labels["increase"] = self._gtk.Button("increase", None, "color1") - self.labels["increase"].connect("clicked", self.change_target_temp_incremental, "+") - self.labels["decrease"] = self._gtk.Button("decrease", None, "color3") - self.labels["decrease"].connect("clicked", self.change_target_temp_incremental, "-") # Create buttons for temperature deltas - for i in self.tempdeltas: - self.labels[f"deg{i}"] = self._gtk.Button(label=i) - self.labels[f"deg{i}"].connect("clicked", self.change_temp_delta, i) - ctx = self.labels[f"deg{i}"].get_style_context() - ctx.add_class("horizontal_togglebuttons") - if i == self.tempdelta: - ctx.add_class("horizontal_togglebuttons_active") # Create grid for temperature deltas - tempgrid = Gtk.Grid() - for j, i in enumerate(self.tempdeltas): - tempgrid.attach(self.labels[f"deg{i}"], j, 0, 1, 1) # Create grid for decrease button, increase button, temperature labels, and grid - deltagrid = Gtk.Grid(row_homogeneous=True, column_homogeneous=True) - if self._screen.vertical_mode: - deltagrid.attach(self.labels["decrease"], 0, 1, 1, 1) - deltagrid.attach(self.labels["increase"], 1, 1, 1, 1) - deltagrid.attach(tempgrid, 0, 2, 2, 1) - else: - deltagrid.attach(self.labels["decrease"], 0, 1, 1, 3) - deltagrid.attach(self.labels["increase"], 1, 1, 1, 3) - deltagrid.attach(Gtk.Label(_("Temperature") + " (°C)"), 0, 4, 2, 1) - deltagrid.attach(tempgrid, 0, 5, 2, 2) - return deltagrid def change_temp_delta(self, widget, tempdelta): logging.info(f"### tempdelta {tempdelta}") @@ -188,48 +149,12 @@ class Panel(ScreenPanel): self._screen.show_popup_message(_("Unknown Heater") + " " + heater) logging.info(f"Setting {heater} to {target}") - def update_graph_visibility(self, force_hide=False): - count = 0 - for device in self.devices: - visible = self._config.get_config().getboolean( - f"graph {self._screen.connected_printer}", device, fallback=True - ) - self.devices[device]["visible"] = visible - self.labels["da"].set_showing(device, visible) - if visible: - count += 1 - self.devices[device]["name_button"].get_style_context().add_class( - "graph_label" - ) - else: - self.devices[device]["name_button"].get_style_context().remove_class( - "graph_label" - ) - if count > 0 and not force_hide: - if self.labels["da"] not in self.left_panel: - self.left_panel.add(self.labels["da"]) - self.labels["da"].queue_draw() - self.labels["da"].show() - if self.graph_update is None: # This has a high impact on load - self.graph_update = GLib.timeout_add_seconds(5, self.update_graph) - elif self.labels["da"] in self.left_panel: - self.left_panel.remove(self.labels["da"]) - if self.graph_update is not None: - GLib.source_remove(self.graph_update) - self.graph_update = None def activate(self): if not self._printer.tempstore: self._screen.init_tempstore() - self.update_graph_visibility() - def deactivate(self): - if self.graph_update is not None: - GLib.source_remove(self.graph_update) - self.graph_update = None - if self.active_heater is not None: - self.hide_numpad() def select_heater(self, widget, device): if ( @@ -301,6 +226,7 @@ class Panel(ScreenPanel): # This small delay is needed to properly update the target if the user configured something above # and then changed the target again using preheat gcode GLib.timeout_add(250, self.preheat_gcode, widget, setting) + self._screen._menu_go_back() def validate(self, heater, target=None, max_temp=None): if target is not None and max_temp is not None: @@ -363,54 +289,21 @@ class Panel(ScreenPanel): class_name = f"graph_label_sensor_{self.h}" dev_type = "sensor" - rgb = self._gtk.get_temp_color(dev_type) name = self._gtk.Button( image, self.prettify(devname), None, self.bts, Gtk.PositionType.LEFT, 1 ) name.set_alignment(0, 0.5) name.get_style_context().add_class(class_name) - visible = self._config.get_config().getboolean( - f"graph {self._screen.connected_printer}", device, fallback=True - ) - if visible: - name.get_style_context().add_class("graph_label") - self.labels["da"].add_object(device, "temperatures", rgb, False, False) - temp = self._gtk.Button(label="", lines=1) - find_widget(temp, Gtk.Label).set_ellipsize(False) - if self._printer.device_has_target(device): - temp.connect("clicked", self.show_numpad, device) - self.labels["da"].add_object(device, "targets", rgb, False, True) - name.connect("button-press-event", self.name_pressed, device) - self.long_press[device] = Gtk.GestureLongPress.new(name) - self.long_press[device].connect( - "pressed", self.name_long_press, name, device - ) - self.long_press[device].connect( - "cancelled", self.name_long_press_cancelled, name, device - ) - else: - name.connect("clicked", self.toggle_visibility, device) - if self._show_heater_power and self._printer.device_has_power(device): - self.labels["da"].add_object(device, "powers", rgb, True, False) - self.labels["da"].set_showing(device, visible) self.devices[device] = { "class": class_name, "name_button": name, - "temp": temp, - "visible": visible, } - devices = sorted(self.devices) - pos = devices.index(device) + 1 - self.labels["devices"].insert_row(pos) - self.labels["devices"].attach(name, 0, pos, 1, 1) - self.labels["devices"].attach(temp, 1, pos, 1, 1) - self.labels["devices"].show_all() return True def name_pressed(self, widget, event, device): @@ -440,7 +333,6 @@ class Panel(ScreenPanel): self._config.set(section, f"{device}", f"{self.devices[device]['visible']}") self._config.save_user_config_options() - self.update_graph_visibility() if self._printer.device_has_target(device): self.popover_populate_menu() self.popover.show_all() @@ -501,74 +393,21 @@ class Panel(ScreenPanel): def create_left_panel(self): - self.labels["devices"] = Gtk.Grid(vexpand=False) - self.labels["devices"].get_style_context().add_class("heater-grid") - name = Gtk.Label() - temp = Gtk.Label(_("Temp (°C)")) - if self._show_heater_power: - temp.get_style_context().add_class("heater-grid-temp-power") - else: - temp.get_style_context().add_class("heater-grid-temp") - self.labels["devices"].attach(name, 0, 0, 1, 1) - self.labels["devices"].attach(temp, 1, 0, 1, 1) - self.labels["da"] = HeaterGraph( - self._screen, self._printer, self._gtk.font_size - ) - scroll = self._gtk.ScrolledWindow(steppers=False) - scroll.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC) - scroll.get_style_context().add_class("heater-list") - scroll.add(self.labels["devices"]) - self.left_panel = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) - self.left_panel.add(scroll) - self.popover_buttons = { - "set_temp": self._gtk.Button(label=_("Set Temp")), - "graph_show": self._gtk.Button(label=_("Show")), - } - self.popover_buttons["set_temp"].connect("clicked", self.show_numpad) - self.popover_buttons["set_temp"].set_no_show_all(True) - self.popover_buttons["graph_show"].connect("clicked", self.toggle_visibility) - pobox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) - pobox.pack_start(self.popover_buttons["graph_show"], True, True, 5) - pobox.pack_start(self.popover_buttons["set_temp"], True, True, 5) - self.popover.add(pobox) - self.popover.connect("closed", self.popover_closed) for d in self._printer.get_temp_devices(): self.add_device(d) return self.left_panel - def hide_numpad(self, widget=None): - self.devices[self.active_heater][ - "name_button" - ].get_style_context().remove_class("button_active") - self.active_heater = None - for d in self.active_heaters: - self.devices[d]["name_button"].get_style_context().add_class( - "button_active" - ) - if self._screen.vertical_mode: - if not self._gtk.ultra_tall: - self.update_graph_visibility(force_hide=False) - top = self.grid.get_child_at(0, 0) - bottom = self.grid.get_child_at(0, 2) - self.grid.remove(top) - self.grid.remove(bottom) - self.grid.attach(top, 0, 0, 1, 3) - self.grid.attach(self.create_right_panel(), 0, 3, 1, 2) - else: - self.grid.remove_column(1) - self.grid.attach(self.create_right_panel(), 1, 0, 1, 1) - self.grid.show_all() def popover_closed(self, widget): self.popover_device = None @@ -579,68 +418,9 @@ class Panel(ScreenPanel): self.popover_populate_menu() self.popover.show_all() - def popover_populate_menu(self): - if self.labels["da"].is_showing(self.popover_device): - self.popover_buttons["graph_show"].set_label(_("Hide")) - else: - self.popover_buttons["graph_show"].set_label(_("Show")) - if self._printer.device_has_target(self.popover_device): - self.popover_buttons["set_temp"].show() - else: - self.popover_buttons["set_temp"].hide() - def process_update(self, action, data): - if action != "notify_status_update": - return - for x in self._printer.get_temp_devices(): - if x in data: - self.update_temp( - x, - self._printer.get_stat(x, "temperature"), - self._printer.get_stat(x, "target"), - self._printer.get_stat(x, "power"), - ) - def show_numpad(self, widget, device=None): - for d in self.active_heaters: - self.devices[d]["name_button"].get_style_context().remove_class( - "button_active" - ) - self.active_heater = self.popover_device if device is None else device - self.devices[self.active_heater]["name_button"].get_style_context().add_class( - "button_active" - ) - if "keypad" not in self.labels: - self.labels["keypad"] = Keypad( - self._screen, - self.change_target_temp, - self.pid_calibrate, - self.hide_numpad, - ) - can_pid = ( - self._printer.state not in ("printing", "paused") - and self._screen.printer.config[self.active_heater]["control"] == "pid" - ) - self.labels["keypad"].show_pid(can_pid) - self.labels["keypad"].clear() - if self._screen.vertical_mode: - if not self._gtk.ultra_tall: - self.update_graph_visibility(force_hide=True) - top = self.grid.get_child_at(0, 0) - bottom = self.grid.get_child_at(0, 3) - self.grid.remove(top) - self.grid.remove(bottom) - self.grid.attach(top, 0, 0, 1, 2) - self.grid.attach(self.labels["keypad"], 0, 2, 1, 2) - else: - self.grid.remove_column(1) - self.grid.attach(self.labels["keypad"], 1, 0, 1, 1) - self.grid.show_all() - self.popover.popdown() - def update_graph(self): - self.labels["da"].queue_draw() - return True diff --git a/screen.py b/screen.py index b8e3b215..ff5eb335 100755 --- a/screen.py +++ b/screen.py @@ -510,7 +510,7 @@ class KlipperScreen(Gtk.Window): class_name = f".graph_label_heater_{category}" else: class_name = f".graph_label_{category}_{i + 1}" - css_data += f"\n{class_name} {{ border-left-color: #{color} }}" + css_data += f"\n{class_name} {{ border-bottom-color: #{color} }}" return css_data def update_style_provider(self, theme_css): diff --git a/styles/base.css b/styles/base.css index cbff127e..a749c221 100644 --- a/styles/base.css +++ b/styles/base.css @@ -282,7 +282,8 @@ trough { } .action_bar :disabled{ - opacity: 0; + opacity: 0.85; + background-color: rgba(0, 0, 0, 0); } .title_bar { @@ -606,7 +607,7 @@ trough progress { padding-bottom: 0; } -.graph_label {border-left-width: .4em; border-left-style: solid;} +.graph_label {border-bottom-width: .2em; border-bottom-style: solid;} button.graph_label {padding-left: 0.15em;} diff --git a/styles/dark/images/back.svg b/styles/dark/images/back.svg index 1471f4c4..c288cf9c 100644 --- a/styles/dark/images/back.svg +++ b/styles/dark/images/back.svg @@ -1,86 +1,3 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - - + + diff --git a/styles/dark/images/bed.svg b/styles/dark/images/bed.svg index b2e87645..d8cbf9c2 100644 --- a/styles/dark/images/bed.svg +++ b/styles/dark/images/bed.svg @@ -1,51 +1,51 @@ - - - + + + - - - - - + + + + + - + - - + + - + - - + + - + - + - + - + - + diff --git a/styles/dark/images/extruder-0.svg b/styles/dark/images/extruder-0.svg index be879686..1b6e11e6 100644 --- a/styles/dark/images/extruder-0.svg +++ b/styles/dark/images/extruder-0.svg @@ -1,8 +1,8 @@ - - + + - + diff --git a/styles/dark/images/extruder-1.svg b/styles/dark/images/extruder-1.svg index 8718daf7..c4aa470d 100644 --- a/styles/dark/images/extruder-1.svg +++ b/styles/dark/images/extruder-1.svg @@ -1,8 +1,8 @@ - - + + - + diff --git a/styles/dark/images/filament.svg b/styles/dark/images/filament.svg index 07142a66..48ca2b94 100644 --- a/styles/dark/images/filament.svg +++ b/styles/dark/images/filament.svg @@ -1,69 +1,12 @@ - - - - - - - - image/svg+xml - - - - - - + + + + + + + + + + + diff --git a/styles/dark/images/files.svg b/styles/dark/images/files.svg index ccce9662..6c3d139a 100644 --- a/styles/dark/images/files.svg +++ b/styles/dark/images/files.svg @@ -1,76 +1,4 @@ - -image/svg+xml + + + + diff --git a/styles/dark/images/heater.svg b/styles/dark/images/heater.svg index ffbe927e..c9c1e928 100644 --- a/styles/dark/images/heater.svg +++ b/styles/dark/images/heater.svg @@ -1,39 +1,39 @@ - - - - - - - - + + + + + + + + - + - + - + - + - + - + - - + + diff --git a/styles/dark/images/main.svg b/styles/dark/images/main.svg index a1a16251..8e166e57 100644 --- a/styles/dark/images/main.svg +++ b/styles/dark/images/main.svg @@ -1,93 +1,8 @@ - - - - - - - - - - - - image/svg+xml - - - - - + + + + + + + diff --git a/styles/dark/images/move.svg b/styles/dark/images/move.svg index 6fdc30a7..d0217393 100644 --- a/styles/dark/images/move.svg +++ b/styles/dark/images/move.svg @@ -1,81 +1,8 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - - + + + + + + + diff --git a/styles/dark/images/settings.svg b/styles/dark/images/settings.svg index 54522e37..900b4f61 100644 --- a/styles/dark/images/settings.svg +++ b/styles/dark/images/settings.svg @@ -1,60 +1,4 @@ - -image/svg+xml - - + + + + diff --git a/styles/dark/style.css b/styles/dark/style.css index ee0fde9b..3971ba49 100644 --- a/styles/dark/style.css +++ b/styles/dark/style.css @@ -34,13 +34,13 @@ list row, treeview.view, window { - background-image: url("./styles/dark/images/background-black.svg"); + background-color: #0D0C1B; background-size: cover; } button { - background-color: @black-opa-10; + background-color: @white-opa-10; padding: 0px 0px; margin: 0px; border: 0.1px solid #000000; @@ -119,6 +119,11 @@ button.invalid { border-radius: .75em; } +.custom-temp-button { + background-color: rgba(0, 0, 0, 0); + border: 0px solid; +} + menu, menuitem, combobox button,