修改侧边栏点击逻辑 回显返回按钮一级页面除文件页面 不显示返回按钮
This commit is contained in:
@@ -223,6 +223,11 @@ class BasePanel(ScreenPanel):
|
||||
self.show_heaters(connected)
|
||||
for control in ('back', 'home'):
|
||||
self.set_control_sensitive(len(self._screen._cur_panels) > 1, control=control)
|
||||
panels_has_back = ['gcodes', 'temperature']
|
||||
if not (len(self._screen._cur_panels) == 2 and self._screen._cur_panels[-1] in panels_has_back):
|
||||
self.set_control_sensitive(False, 'back')
|
||||
if (len(self._screen._cur_panels) > 2):
|
||||
self.set_control_sensitive(True, 'back')
|
||||
self.current_panel = panel
|
||||
self.set_title(panel.title)
|
||||
self.content.add(panel.content)
|
||||
@@ -309,7 +314,7 @@ class BasePanel(ScreenPanel):
|
||||
def remove(self, widget):
|
||||
self.content.remove(widget)
|
||||
|
||||
def set_control_sensitive(self, value=True, control='home'):
|
||||
def set_control_sensitive(self, value=True, control='move'):
|
||||
self.control[control].set_sensitive(value)
|
||||
|
||||
def show_shortcut(self, show=True):
|
||||
|
@@ -328,6 +328,11 @@ class KlipperScreen(Gtk.Window):
|
||||
logging.info(f"Reinitializing panel {panel}")
|
||||
self.panels[panel_name].__init__(self, title, **kwargs)
|
||||
self.panels_reinit.remove(panel_name)
|
||||
panels_to_keep = ['move', 'extrude', 'gcodes', 'more']
|
||||
if (len(self._cur_panels) > 1 and panel_name in panels_to_keep):
|
||||
while len(self._cur_panels) > 1:
|
||||
self._remove_current_panel()
|
||||
del self._cur_panels[-1]
|
||||
self._cur_panels.append(panel_name)
|
||||
self.attach_panel(panel_name)
|
||||
except Exception as e:
|
||||
|
Reference in New Issue
Block a user