Squashed commit of the following: commit 6bfa42e036a521c8ff7db1bf8ccb65500eabb6ea Merge: 1a87ced3 4f3aa9aa Author: zkk <1007518571@qq.com> Date: Thu Dec 12 10:33:58 2024 +0800 Merge commit '4f3aa9aa4c581ae9e7a740bd37f9e80ba064c27f' into release commit 4f3aa9aa4c581ae9e7a740bd37f9e80ba064c27f Merge: e3fd413d 1a69b518 Author: zkk <1007518571@qq.com> Date: Thu Dec 12 10:30:00 2024 +0800 Merge branch 'develop' of https://server.creatbot.com/Gitea/CreatBot/CreatBotKlipperScreen into develop commit 1a69b5180de733f15550a1294a7221d6070306a0 Author: ruipeng <1041589370@qq.com> Date: Wed Dec 11 11:44:36 2024 +0800 新增D600pro2、D1000的V0版机型 commit e3fd413d6256414441e9fe653c1132b1799a5cb2 Author: zkk <1007518571@qq.com> Date: Tue Dec 10 14:34:13 2024 +0800 修复打印时没有修改z偏移值 仍提示保存z偏移的按钮的bug commit 594fb668fe94fe907c028bf65ecced43ea8660cb Author: zkk <1007518571@qq.com> Date: Tue Dec 10 14:25:04 2024 +0800 设置自适应调平选项默认为关闭状态 commit 1a87ced3f5725569a6b9a7ee5f5250044d01d852 Merge: 629416d1 6064a6e1 Author: zkk <1007518571@qq.com> Date: Fri Nov 29 10:18:32 2024 +0800 Merge branch 'develop' into release
58 lines
2.6 KiB
Python
58 lines
2.6 KiB
Python
import logging
|
|
import gi
|
|
|
|
gi.require_version("Gtk", "3.0")
|
|
from gi.repository import Gtk
|
|
from ks_includes.KlippyGcodes import KlippyGcodes
|
|
from ks_includes.screen_panel import ScreenPanel
|
|
|
|
class Panel(ScreenPanel):
|
|
def __init__(self, screen, title):
|
|
title = title or _("Advanced")
|
|
super().__init__(screen, title)
|
|
self.advanced = {}
|
|
self.menu_list ={}
|
|
self.advanced_options = [
|
|
{"adaptive_leveling": {"section": "main", "name": _("Adaptive Bed Leveling"), "type": "binary",
|
|
"tooltip": _("Leveling Only in the Actual Print Area"),
|
|
"value": "False", "callback": self.set_adaptive_leveling}},
|
|
{"power_loss_recovery": {"section": "main", "name": _("Power Loss Recovery"), "type": "binary",
|
|
"tooltip": _("Restores your print job after a power outage"),
|
|
"value": "True", "callback": self.set_power_loss_recovery}},
|
|
]
|
|
options = self.advanced_options
|
|
self.labels['advanced_menu'] = self._gtk.ScrolledWindow()
|
|
self.labels['advanced'] = Gtk.Grid()
|
|
self.labels['advanced_menu'].add(self.labels['advanced'])
|
|
for option in options:
|
|
name = list(option)[0]
|
|
res = self.add_option('advanced', self.advanced, name, option[name])
|
|
self.menu_list.update(res)
|
|
self.content.add(self.labels['advanced_menu'])
|
|
|
|
def set_adaptive_leveling(self, *args):
|
|
self.set_configuration_feature("adaptive_meshing", *args)
|
|
|
|
def set_power_loss_recovery(self, *args):
|
|
self.set_configuration_feature("power_loss_recovery", *args)
|
|
|
|
def set_configuration_feature(self, feature_name, *args):
|
|
enable_feature = any(args)
|
|
script_value = True if enable_feature else False
|
|
script = KlippyGcodes.set_save_variables(feature_name, script_value)
|
|
self._screen._send_action(None, "printer.gcode.script", {"script": script})
|
|
logging.info(f"Set {feature_name}: {script_value}")
|
|
|
|
def process_update(self, action, data):
|
|
if action != "notify_status_update":
|
|
return
|
|
if 'save_variables' in data and 'variables' in data['save_variables']:
|
|
variables = data['save_variables']['variables']
|
|
if 'adaptive_meshing' in variables:
|
|
self.menu_list['adaptive_leveling'].set_active(variables['adaptive_meshing'])
|
|
else:
|
|
self.menu_list["adaptive_leveling"].set_active(False)
|
|
|
|
if 'power_loss_recovery' in variables:
|
|
self.menu_list['power_loss_recovery'].set_active(variables['power_loss_recovery'])
|