screen: simplify panel loading
this removes create_panel function from panels and mandates a class name Panel remove panel_type param and only use a panel_name that is it's filename remove load_panel dict always reinit panel, (simpler and safer but slower)
This commit is contained in:
parent
cb5b77303f
commit
8d9236a2df
@ -60,11 +60,11 @@ class ScreenPanel:
|
|||||||
return self._gtk.PixbufFromHttp(loc[1], width, height)
|
return self._gtk.PixbufFromHttp(loc[1], width, height)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def menu_item_clicked(self, widget, panel_type, item):
|
def menu_item_clicked(self, widget, item):
|
||||||
if 'extra' in item:
|
if 'extra' in item:
|
||||||
self._screen.show_panel(panel_type, item['panel'], item['name'], 1, False, extra=item['extra'])
|
self._screen.show_panel(item['panel'], item['name'], 1, False, extra=item['extra'])
|
||||||
return
|
return
|
||||||
self._screen.show_panel(panel_type, item['panel'], item['name'], 1, False)
|
self._screen.show_panel(item['panel'], item['name'], 1, False)
|
||||||
|
|
||||||
def load_menu(self, widget, name, title=None):
|
def load_menu(self, widget, name, title=None):
|
||||||
logging.info(f"loading menu {name}")
|
logging.info(f"loading menu {name}")
|
||||||
|
@ -38,7 +38,7 @@ class BasePanel(ScreenPanel):
|
|||||||
self.control['printer_select'].connect("clicked", self._screen.show_printer_select)
|
self.control['printer_select'].connect("clicked", self._screen.show_printer_select)
|
||||||
|
|
||||||
self.control['macros_shortcut'] = self._gtk.Button('custom-script', scale=abscale)
|
self.control['macros_shortcut'] = self._gtk.Button('custom-script', scale=abscale)
|
||||||
self.control['macros_shortcut'].connect("clicked", self.menu_item_clicked, "gcode_macros", {
|
self.control['macros_shortcut'].connect("clicked", self.menu_item_clicked, {
|
||||||
"name": "Macros",
|
"name": "Macros",
|
||||||
"panel": "gcode_macros"
|
"panel": "gcode_macros"
|
||||||
})
|
})
|
||||||
|
@ -1,20 +1,14 @@
|
|||||||
import logging
|
import logging
|
||||||
import re
|
import re
|
||||||
import math
|
import math
|
||||||
|
|
||||||
import gi
|
import gi
|
||||||
|
|
||||||
gi.require_version("Gtk", "3.0")
|
gi.require_version("Gtk", "3.0")
|
||||||
from gi.repository import Gtk, Pango
|
from gi.repository import Gtk, Pango
|
||||||
|
|
||||||
from ks_includes.KlippyGcodes import KlippyGcodes
|
from ks_includes.KlippyGcodes import KlippyGcodes
|
||||||
from ks_includes.screen_panel import ScreenPanel
|
from ks_includes.screen_panel import ScreenPanel
|
||||||
|
|
||||||
|
|
||||||
def create_panel(*args):
|
|
||||||
return BedLevelPanel(*args)
|
|
||||||
|
|
||||||
|
|
||||||
# Find the screw closest to the point,
|
# Find the screw closest to the point,
|
||||||
# but return None if the distance is above max_distance.
|
# but return None if the distance is above max_distance.
|
||||||
# If remove is set to true, the screw is also removed
|
# If remove is set to true, the screw is also removed
|
||||||
@ -38,7 +32,7 @@ def find_closest(screws, point, max_distance, remove=False):
|
|||||||
return closest
|
return closest
|
||||||
|
|
||||||
|
|
||||||
class BedLevelPanel(ScreenPanel):
|
class Panel(ScreenPanel):
|
||||||
|
|
||||||
def __init__(self, screen, title):
|
def __init__(self, screen, title):
|
||||||
super().__init__(screen, title)
|
super().__init__(screen, title)
|
||||||
|
@ -8,11 +8,7 @@ from ks_includes.screen_panel import ScreenPanel
|
|||||||
from ks_includes.widgets.bedmap import BedMap
|
from ks_includes.widgets.bedmap import BedMap
|
||||||
|
|
||||||
|
|
||||||
def create_panel(*args):
|
class Panel(ScreenPanel):
|
||||||
return BedMeshPanel(*args)
|
|
||||||
|
|
||||||
|
|
||||||
class BedMeshPanel(ScreenPanel):
|
|
||||||
|
|
||||||
def __init__(self, screen, title):
|
def __init__(self, screen, title):
|
||||||
super().__init__(screen, title)
|
super().__init__(screen, title)
|
||||||
@ -273,7 +269,7 @@ class BedMeshPanel(ScreenPanel):
|
|||||||
|
|
||||||
# Load zcalibrate to do a manual mesh
|
# Load zcalibrate to do a manual mesh
|
||||||
if not self._printer.get_probe():
|
if not self._printer.get_probe():
|
||||||
self.menu_item_clicked(widget, "refresh", {"name": _("Mesh calibrate"), "panel": "zcalibrate"})
|
self.menu_item_clicked(widget, {"name": _("Mesh calibrate"), "panel": "zcalibrate"})
|
||||||
|
|
||||||
def send_clear_mesh(self, widget):
|
def send_clear_mesh(self, widget):
|
||||||
self._screen._ws.klippy.gcode_script("BED_MESH_CLEAR")
|
self._screen._ws.klippy.gcode_script("BED_MESH_CLEAR")
|
||||||
|
@ -8,11 +8,7 @@ from contextlib import suppress
|
|||||||
from ks_includes.screen_panel import ScreenPanel
|
from ks_includes.screen_panel import ScreenPanel
|
||||||
|
|
||||||
|
|
||||||
def create_panel(*args):
|
class Panel(ScreenPanel):
|
||||||
return CameraPanel(*args)
|
|
||||||
|
|
||||||
|
|
||||||
class CameraPanel(ScreenPanel):
|
|
||||||
def __init__(self, screen, title):
|
def __init__(self, screen, title):
|
||||||
super().__init__(screen, title)
|
super().__init__(screen, title)
|
||||||
self.mpv = None
|
self.mpv = None
|
||||||
|
@ -1,19 +1,13 @@
|
|||||||
import time
|
import time
|
||||||
import re
|
import re
|
||||||
|
|
||||||
import gi
|
import gi
|
||||||
|
|
||||||
gi.require_version("Gtk", "3.0")
|
gi.require_version("Gtk", "3.0")
|
||||||
from gi.repository import Gtk
|
from gi.repository import Gtk
|
||||||
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from ks_includes.screen_panel import ScreenPanel
|
from ks_includes.screen_panel import ScreenPanel
|
||||||
|
|
||||||
|
|
||||||
def create_panel(*args):
|
|
||||||
return ConsolePanel(*args)
|
|
||||||
|
|
||||||
|
|
||||||
COLORS = {
|
COLORS = {
|
||||||
"command": "#bad8ff",
|
"command": "#bad8ff",
|
||||||
"error": "#ff6975",
|
"error": "#ff6975",
|
||||||
@ -23,7 +17,7 @@ COLORS = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class ConsolePanel(ScreenPanel):
|
class Panel(ScreenPanel):
|
||||||
def __init__(self, screen, title):
|
def __init__(self, screen, title):
|
||||||
super().__init__(screen, title)
|
super().__init__(screen, title)
|
||||||
self.autoscroll = True
|
self.autoscroll = True
|
||||||
|
@ -2,15 +2,10 @@ import gi
|
|||||||
|
|
||||||
gi.require_version("Gtk", "3.0")
|
gi.require_version("Gtk", "3.0")
|
||||||
from gi.repository import Gtk
|
from gi.repository import Gtk
|
||||||
|
|
||||||
from ks_includes.screen_panel import ScreenPanel
|
from ks_includes.screen_panel import ScreenPanel
|
||||||
|
|
||||||
|
|
||||||
def create_panel(*args):
|
class Panel(ScreenPanel):
|
||||||
return ExamplePanel(*args)
|
|
||||||
|
|
||||||
|
|
||||||
class ExamplePanel(ScreenPanel):
|
|
||||||
def __init__(self, screen, title):
|
def __init__(self, screen, title):
|
||||||
super().__init__(screen, title)
|
super().__init__(screen, title)
|
||||||
|
|
||||||
|
@ -3,16 +3,11 @@ import gi
|
|||||||
|
|
||||||
gi.require_version("Gtk", "3.0")
|
gi.require_version("Gtk", "3.0")
|
||||||
from gi.repository import Gtk, Pango
|
from gi.repository import Gtk, Pango
|
||||||
|
|
||||||
from ks_includes.screen_panel import ScreenPanel
|
from ks_includes.screen_panel import ScreenPanel
|
||||||
from ks_includes.widgets.objectmap import ObjectMap
|
from ks_includes.widgets.objectmap import ObjectMap
|
||||||
|
|
||||||
|
|
||||||
def create_panel(*args):
|
class Panel(ScreenPanel):
|
||||||
return ExcludeObjectPanel(*args)
|
|
||||||
|
|
||||||
|
|
||||||
class ExcludeObjectPanel(ScreenPanel):
|
|
||||||
def __init__(self, screen, title):
|
def __init__(self, screen, title):
|
||||||
super().__init__(screen, title)
|
super().__init__(screen, title)
|
||||||
self._screen = screen
|
self._screen = screen
|
||||||
|
@ -1,20 +1,14 @@
|
|||||||
import logging
|
import logging
|
||||||
import re
|
import re
|
||||||
|
|
||||||
import gi
|
import gi
|
||||||
|
|
||||||
gi.require_version("Gtk", "3.0")
|
gi.require_version("Gtk", "3.0")
|
||||||
from gi.repository import Gtk, Pango
|
from gi.repository import Gtk, Pango
|
||||||
|
|
||||||
from ks_includes.KlippyGcodes import KlippyGcodes
|
from ks_includes.KlippyGcodes import KlippyGcodes
|
||||||
from ks_includes.screen_panel import ScreenPanel
|
from ks_includes.screen_panel import ScreenPanel
|
||||||
|
|
||||||
|
|
||||||
def create_panel(*args):
|
class Panel(ScreenPanel):
|
||||||
return ExtrudePanel(*args)
|
|
||||||
|
|
||||||
|
|
||||||
class ExtrudePanel(ScreenPanel):
|
|
||||||
|
|
||||||
def __init__(self, screen, title):
|
def __init__(self, screen, title):
|
||||||
super().__init__(screen, title)
|
super().__init__(screen, title)
|
||||||
@ -50,7 +44,7 @@ class ExtrudePanel(ScreenPanel):
|
|||||||
self.buttons['load'].connect("clicked", self.load_unload, "+")
|
self.buttons['load'].connect("clicked", self.load_unload, "+")
|
||||||
self.buttons['unload'].connect("clicked", self.load_unload, "-")
|
self.buttons['unload'].connect("clicked", self.load_unload, "-")
|
||||||
self.buttons['retract'].connect("clicked", self.extrude, "-")
|
self.buttons['retract'].connect("clicked", self.extrude, "-")
|
||||||
self.buttons['temperature'].connect("clicked", self.menu_item_clicked, "temperature", {
|
self.buttons['temperature'].connect("clicked", self.menu_item_clicked, {
|
||||||
"name": "Temperature",
|
"name": "Temperature",
|
||||||
"panel": "temperature"
|
"panel": "temperature"
|
||||||
})
|
})
|
||||||
|
@ -1,22 +1,16 @@
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
import gi
|
import gi
|
||||||
|
|
||||||
gi.require_version("Gtk", "3.0")
|
gi.require_version("Gtk", "3.0")
|
||||||
from gi.repository import Gtk, GLib, Pango
|
from gi.repository import Gtk, GLib, Pango
|
||||||
|
|
||||||
from ks_includes.KlippyGcodes import KlippyGcodes
|
from ks_includes.KlippyGcodes import KlippyGcodes
|
||||||
from ks_includes.screen_panel import ScreenPanel
|
from ks_includes.screen_panel import ScreenPanel
|
||||||
|
|
||||||
|
|
||||||
def create_panel(*args):
|
|
||||||
return FanPanel(*args)
|
|
||||||
|
|
||||||
|
|
||||||
CHANGEABLE_FANS = ["fan", "fan_generic"]
|
CHANGEABLE_FANS = ["fan", "fan_generic"]
|
||||||
|
|
||||||
|
|
||||||
class FanPanel(ScreenPanel):
|
class Panel(ScreenPanel):
|
||||||
def __init__(self, screen, title):
|
def __init__(self, screen, title):
|
||||||
super().__init__(screen, title)
|
super().__init__(screen, title)
|
||||||
self.fan_speed = {}
|
self.fan_speed = {}
|
||||||
|
@ -4,16 +4,11 @@ import gi
|
|||||||
|
|
||||||
gi.require_version("Gtk", "3.0")
|
gi.require_version("Gtk", "3.0")
|
||||||
from gi.repository import Gtk
|
from gi.repository import Gtk
|
||||||
|
|
||||||
from ks_includes.KlippyGcodes import KlippyGcodes
|
from ks_includes.KlippyGcodes import KlippyGcodes
|
||||||
from ks_includes.screen_panel import ScreenPanel
|
from ks_includes.screen_panel import ScreenPanel
|
||||||
|
|
||||||
|
|
||||||
def create_panel(*args):
|
class Panel(ScreenPanel):
|
||||||
return FineTunePanel(*args)
|
|
||||||
|
|
||||||
|
|
||||||
class FineTunePanel(ScreenPanel):
|
|
||||||
z_deltas = ["0.01", "0.05"]
|
z_deltas = ["0.01", "0.05"]
|
||||||
z_delta = z_deltas[-1]
|
z_delta = z_deltas[-1]
|
||||||
speed_deltas = ['5', '25']
|
speed_deltas = ['5', '25']
|
||||||
|
@ -4,15 +4,10 @@ import gi
|
|||||||
|
|
||||||
gi.require_version("Gtk", "3.0")
|
gi.require_version("Gtk", "3.0")
|
||||||
from gi.repository import Gtk, GLib, Pango
|
from gi.repository import Gtk, GLib, Pango
|
||||||
|
|
||||||
from ks_includes.screen_panel import ScreenPanel
|
from ks_includes.screen_panel import ScreenPanel
|
||||||
|
|
||||||
|
|
||||||
def create_panel(*args):
|
class Panel(ScreenPanel):
|
||||||
return MacroPanel(*args)
|
|
||||||
|
|
||||||
|
|
||||||
class MacroPanel(ScreenPanel):
|
|
||||||
def __init__(self, screen, title):
|
def __init__(self, screen, title):
|
||||||
super().__init__(screen, title)
|
super().__init__(screen, title)
|
||||||
self.sort_reverse = False
|
self.sort_reverse = False
|
||||||
|
@ -1,18 +1,12 @@
|
|||||||
import re
|
import re
|
||||||
|
|
||||||
import gi
|
import gi
|
||||||
|
|
||||||
gi.require_version("Gtk", "3.0")
|
gi.require_version("Gtk", "3.0")
|
||||||
from gi.repository import Gtk, Pango
|
from gi.repository import Gtk, Pango
|
||||||
|
|
||||||
from ks_includes.KlippyGcodes import KlippyGcodes
|
from ks_includes.KlippyGcodes import KlippyGcodes
|
||||||
from ks_includes.screen_panel import ScreenPanel
|
from ks_includes.screen_panel import ScreenPanel
|
||||||
|
|
||||||
|
|
||||||
def create_panel(*args):
|
|
||||||
return InputShaperPanel(*args)
|
|
||||||
|
|
||||||
|
|
||||||
# X and Y frequencies
|
# X and Y frequencies
|
||||||
XY_FREQ = [
|
XY_FREQ = [
|
||||||
{'name': 'X', 'config': 'shaper_freq_x', 'min': 0, 'max': 133},
|
{'name': 'X', 'config': 'shaper_freq_x', 'min': 0, 'max': 133},
|
||||||
@ -21,7 +15,7 @@ XY_FREQ = [
|
|||||||
SHAPERS = ['zv', 'mzv', 'zvd', 'ei', '2hump_ei', '3hump_ei']
|
SHAPERS = ['zv', 'mzv', 'zvd', 'ei', '2hump_ei', '3hump_ei']
|
||||||
|
|
||||||
|
|
||||||
class InputShaperPanel(ScreenPanel):
|
class Panel(ScreenPanel):
|
||||||
def __init__(self, screen, title):
|
def __init__(self, screen, title):
|
||||||
super().__init__(screen, title)
|
super().__init__(screen, title)
|
||||||
self.freq_xy_adj = {}
|
self.freq_xy_adj = {}
|
||||||
|
@ -12,11 +12,7 @@ from time import time
|
|||||||
from ks_includes.screen_panel import ScreenPanel
|
from ks_includes.screen_panel import ScreenPanel
|
||||||
|
|
||||||
|
|
||||||
def create_panel(*args):
|
class Panel(ScreenPanel):
|
||||||
return JobStatusPanel(*args)
|
|
||||||
|
|
||||||
|
|
||||||
class JobStatusPanel(ScreenPanel):
|
|
||||||
def __init__(self, screen, title):
|
def __init__(self, screen, title):
|
||||||
super().__init__(screen, title)
|
super().__init__(screen, title)
|
||||||
self.grid = self._gtk.HomogeneousGrid()
|
self.grid = self._gtk.HomogeneousGrid()
|
||||||
@ -152,7 +148,7 @@ class JobStatusPanel(ScreenPanel):
|
|||||||
}
|
}
|
||||||
for button in buttons:
|
for button in buttons:
|
||||||
buttons[button].set_halign(Gtk.Align.START)
|
buttons[button].set_halign(Gtk.Align.START)
|
||||||
buttons['fan'].connect("clicked", self.menu_item_clicked, "fan", {"panel": "fan", "name": _("Fan")})
|
buttons['fan'].connect("clicked", self.menu_item_clicked, {"panel": "fan", "name": _("Fan")})
|
||||||
self.buttons.update(buttons)
|
self.buttons.update(buttons)
|
||||||
|
|
||||||
self.labels['temp_grid'] = Gtk.Grid()
|
self.labels['temp_grid'] = Gtk.Grid()
|
||||||
@ -166,7 +162,7 @@ class JobStatusPanel(ScreenPanel):
|
|||||||
self.buttons['extruder'][extruder] = self._gtk.Button(f"extruder-{i}", "", None, self.bts,
|
self.buttons['extruder'][extruder] = self._gtk.Button(f"extruder-{i}", "", None, self.bts,
|
||||||
Gtk.PositionType.LEFT, 1)
|
Gtk.PositionType.LEFT, 1)
|
||||||
self.buttons['extruder'][extruder].set_label(self.labels[extruder].get_text())
|
self.buttons['extruder'][extruder].set_label(self.labels[extruder].get_text())
|
||||||
self.buttons['extruder'][extruder].connect("clicked", self.menu_item_clicked, "temperature",
|
self.buttons['extruder'][extruder].connect("clicked", self.menu_item_clicked,
|
||||||
{"panel": "temperature", "name": _("Temperature"),
|
{"panel": "temperature", "name": _("Temperature"),
|
||||||
'extra': self.current_extruder})
|
'extra': self.current_extruder})
|
||||||
self.buttons['extruder'][extruder].set_halign(Gtk.Align.START)
|
self.buttons['extruder'][extruder].set_halign(Gtk.Align.START)
|
||||||
@ -179,7 +175,7 @@ class JobStatusPanel(ScreenPanel):
|
|||||||
self.buttons['heater']['heater_bed'] = self._gtk.Button("bed", "", None, self.bts, Gtk.PositionType.LEFT, 1)
|
self.buttons['heater']['heater_bed'] = self._gtk.Button("bed", "", None, self.bts, Gtk.PositionType.LEFT, 1)
|
||||||
self.labels['heater_bed'] = Gtk.Label(label="-")
|
self.labels['heater_bed'] = Gtk.Label(label="-")
|
||||||
self.buttons['heater']['heater_bed'].set_label(self.labels['heater_bed'].get_text())
|
self.buttons['heater']['heater_bed'].set_label(self.labels['heater_bed'].get_text())
|
||||||
self.buttons['heater']['heater_bed'].connect("clicked", self.menu_item_clicked, "temperature",
|
self.buttons['heater']['heater_bed'].connect("clicked", self.menu_item_clicked,
|
||||||
{"panel": "temperature", "name": _("Temperature"),
|
{"panel": "temperature", "name": _("Temperature"),
|
||||||
'extra': 'heater_bed'})
|
'extra': 'heater_bed'})
|
||||||
self.buttons['heater']['heater_bed'].set_halign(Gtk.Align.START)
|
self.buttons['heater']['heater_bed'].set_halign(Gtk.Align.START)
|
||||||
@ -192,7 +188,7 @@ class JobStatusPanel(ScreenPanel):
|
|||||||
self.buttons['heater'][dev] = self._gtk.Button("heater", "", None, self.bts, Gtk.PositionType.LEFT, 1)
|
self.buttons['heater'][dev] = self._gtk.Button("heater", "", None, self.bts, Gtk.PositionType.LEFT, 1)
|
||||||
self.labels[dev] = Gtk.Label(label="-")
|
self.labels[dev] = Gtk.Label(label="-")
|
||||||
self.buttons['heater'][dev].set_label(self.labels[dev].get_text())
|
self.buttons['heater'][dev].set_label(self.labels[dev].get_text())
|
||||||
self.buttons['heater'][dev].connect("clicked", self.menu_item_clicked, "temperature",
|
self.buttons['heater'][dev].connect("clicked", self.menu_item_clicked,
|
||||||
{"panel": "temperature", "name": _("Temperature"), "extra": dev})
|
{"panel": "temperature", "name": _("Temperature"), "extra": dev})
|
||||||
self.buttons['heater'][dev].set_halign(Gtk.Align.START)
|
self.buttons['heater'][dev].set_halign(Gtk.Align.START)
|
||||||
self.labels['temp_grid'].attach(self.buttons['heater'][dev], n, 0, 1, 1)
|
self.labels['temp_grid'].attach(self.buttons['heater'][dev], n, 0, 1, 1)
|
||||||
@ -217,7 +213,7 @@ class JobStatusPanel(ScreenPanel):
|
|||||||
Gtk.PositionType.LEFT, 1)
|
Gtk.PositionType.LEFT, 1)
|
||||||
self.labels[device] = Gtk.Label(label="-")
|
self.labels[device] = Gtk.Label(label="-")
|
||||||
self.buttons['heater'][device].set_label(self.labels[device].get_text())
|
self.buttons['heater'][device].set_label(self.labels[device].get_text())
|
||||||
self.buttons['heater'][device].connect("clicked", self.menu_item_clicked, "temperature",
|
self.buttons['heater'][device].connect("clicked", self.menu_item_clicked,
|
||||||
{"panel": "temperature",
|
{"panel": "temperature",
|
||||||
"name": _("Temperature")})
|
"name": _("Temperature")})
|
||||||
self.buttons['heater'][device].set_halign(Gtk.Align.START)
|
self.buttons['heater'][device].set_halign(Gtk.Align.START)
|
||||||
@ -375,7 +371,7 @@ class JobStatusPanel(ScreenPanel):
|
|||||||
}
|
}
|
||||||
self.buttons['cancel'].connect("clicked", self.cancel)
|
self.buttons['cancel'].connect("clicked", self.cancel)
|
||||||
self.buttons['control'].connect("clicked", self._screen._go_to_submenu, "")
|
self.buttons['control'].connect("clicked", self._screen._go_to_submenu, "")
|
||||||
self.buttons['fine_tune'].connect("clicked", self.menu_item_clicked, "fine_tune", {
|
self.buttons['fine_tune'].connect("clicked", self.menu_item_clicked, {
|
||||||
"panel": "fine_tune", "name": _("Fine Tuning")})
|
"panel": "fine_tune", "name": _("Fine Tuning")})
|
||||||
self.buttons['menu'].connect("clicked", self.close_panel)
|
self.buttons['menu'].connect("clicked", self.close_panel)
|
||||||
self.buttons['pause'].connect("clicked", self.pause)
|
self.buttons['pause'].connect("clicked", self.pause)
|
||||||
@ -463,7 +459,7 @@ class JobStatusPanel(ScreenPanel):
|
|||||||
def cancel_confirm(self, dialog, response_id):
|
def cancel_confirm(self, dialog, response_id):
|
||||||
self._gtk.remove_dialog(dialog)
|
self._gtk.remove_dialog(dialog)
|
||||||
if response_id == Gtk.ResponseType.APPLY:
|
if response_id == Gtk.ResponseType.APPLY:
|
||||||
self.menu_item_clicked(None, "exclude", {"panel": "exclude", "name": _("Exclude Object")})
|
self.menu_item_clicked(None, {"panel": "exclude", "name": _("Exclude Object")})
|
||||||
return
|
return
|
||||||
if response_id == Gtk.ResponseType.CANCEL:
|
if response_id == Gtk.ResponseType.CANCEL:
|
||||||
self.enable_button("pause", "cancel")
|
self.enable_button("pause", "cancel")
|
||||||
|
@ -1,18 +1,12 @@
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
import gi
|
import gi
|
||||||
|
|
||||||
gi.require_version("Gtk", "3.0")
|
gi.require_version("Gtk", "3.0")
|
||||||
from gi.repository import Gtk, Pango
|
from gi.repository import Gtk, Pango
|
||||||
|
|
||||||
from ks_includes.screen_panel import ScreenPanel
|
from ks_includes.screen_panel import ScreenPanel
|
||||||
|
|
||||||
|
|
||||||
def create_panel(*args):
|
class Panel(ScreenPanel):
|
||||||
return LimitsPanel(*args)
|
|
||||||
|
|
||||||
|
|
||||||
class LimitsPanel(ScreenPanel):
|
|
||||||
|
|
||||||
def __init__(self, screen, title):
|
def __init__(self, screen, title):
|
||||||
super().__init__(screen, title)
|
super().__init__(screen, title)
|
||||||
|
@ -1,20 +1,14 @@
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
import gi
|
import gi
|
||||||
|
|
||||||
gi.require_version("Gtk", "3.0")
|
gi.require_version("Gtk", "3.0")
|
||||||
from gi.repository import Gtk, GLib
|
from gi.repository import Gtk, GLib
|
||||||
from panels.menu import MenuPanel
|
from panels.menu import Panel as MenuPanel
|
||||||
|
|
||||||
from ks_includes.widgets.heatergraph import HeaterGraph
|
from ks_includes.widgets.heatergraph import HeaterGraph
|
||||||
from ks_includes.widgets.keypad import Keypad
|
from ks_includes.widgets.keypad import Keypad
|
||||||
|
|
||||||
|
|
||||||
def create_panel(*args, **kwargs):
|
class Panel(MenuPanel):
|
||||||
return MainPanel(*args, **kwargs)
|
|
||||||
|
|
||||||
|
|
||||||
class MainPanel(MenuPanel):
|
|
||||||
def __init__(self, screen, title, items=None):
|
def __init__(self, screen, title, items=None):
|
||||||
super().__init__(screen, title, items)
|
super().__init__(screen, title, items)
|
||||||
self.graph_retry_timeout = None
|
self.graph_retry_timeout = None
|
||||||
|
@ -1,21 +1,14 @@
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
import gi
|
|
||||||
|
|
||||||
import json
|
import json
|
||||||
|
import gi
|
||||||
|
|
||||||
gi.require_version("Gtk", "3.0")
|
gi.require_version("Gtk", "3.0")
|
||||||
from gi.repository import Gtk
|
from gi.repository import Gtk
|
||||||
from jinja2 import Template
|
from jinja2 import Template
|
||||||
|
|
||||||
from ks_includes.screen_panel import ScreenPanel
|
from ks_includes.screen_panel import ScreenPanel
|
||||||
|
|
||||||
|
|
||||||
def create_panel(*args, **kwargs):
|
class Panel(ScreenPanel):
|
||||||
return MenuPanel(*args, **kwargs)
|
|
||||||
|
|
||||||
|
|
||||||
class MenuPanel(ScreenPanel):
|
|
||||||
j2_data = None
|
j2_data = None
|
||||||
|
|
||||||
def __init__(self, screen, title, items=None):
|
def __init__(self, screen, title, items=None):
|
||||||
@ -86,7 +79,7 @@ class MenuPanel(ScreenPanel):
|
|||||||
|
|
||||||
if item['panel'] is not None:
|
if item['panel'] is not None:
|
||||||
panel = self._screen.env.from_string(item['panel']).render(printer)
|
panel = self._screen.env.from_string(item['panel']).render(printer)
|
||||||
b.connect("clicked", self.menu_item_clicked, panel, item)
|
b.connect("clicked", self.menu_item_clicked, item)
|
||||||
elif item['method'] is not None:
|
elif item['method'] is not None:
|
||||||
params = {}
|
params = {}
|
||||||
|
|
||||||
|
@ -1,19 +1,13 @@
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
import gi
|
import gi
|
||||||
|
|
||||||
gi.require_version("Gtk", "3.0")
|
gi.require_version("Gtk", "3.0")
|
||||||
from gi.repository import Gtk, Pango
|
from gi.repository import Gtk, Pango
|
||||||
|
|
||||||
from ks_includes.KlippyGcodes import KlippyGcodes
|
from ks_includes.KlippyGcodes import KlippyGcodes
|
||||||
from ks_includes.screen_panel import ScreenPanel
|
from ks_includes.screen_panel import ScreenPanel
|
||||||
|
|
||||||
|
|
||||||
def create_panel(*args):
|
class Panel(ScreenPanel):
|
||||||
return MovePanel(*args)
|
|
||||||
|
|
||||||
|
|
||||||
class MovePanel(ScreenPanel):
|
|
||||||
distances = ['.1', '.5', '1', '5', '10', '25', '50']
|
distances = ['.1', '.5', '1', '5', '10', '25', '50']
|
||||||
distance = distances[-2]
|
distance = distances[-2]
|
||||||
|
|
||||||
@ -261,4 +255,4 @@ class MovePanel(ScreenPanel):
|
|||||||
name = "homing"
|
name = "homing"
|
||||||
disname = self._screen._config.get_menu_name("move", name)
|
disname = self._screen._config.get_menu_name("move", name)
|
||||||
menuitems = self._screen._config.get_menu_items("move", name)
|
menuitems = self._screen._config.get_menu_items("move", name)
|
||||||
self._screen.show_panel(name, "menu", disname, 1, False, items=menuitems)
|
self._screen.show_panel("menu", disname, 1, False, items=menuitems)
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
|
||||||
import gi
|
import gi
|
||||||
import netifaces
|
import netifaces
|
||||||
|
|
||||||
@ -9,11 +8,7 @@ from gi.repository import Gtk, Gdk, GLib, Pango
|
|||||||
from ks_includes.screen_panel import ScreenPanel
|
from ks_includes.screen_panel import ScreenPanel
|
||||||
|
|
||||||
|
|
||||||
def create_panel(*args):
|
class Panel(ScreenPanel):
|
||||||
return NetworkPanel(*args)
|
|
||||||
|
|
||||||
|
|
||||||
class NetworkPanel(ScreenPanel):
|
|
||||||
initialized = False
|
initialized = False
|
||||||
|
|
||||||
def __init__(self, screen, title):
|
def __init__(self, screen, title):
|
||||||
|
@ -1,18 +1,12 @@
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
import gi
|
import gi
|
||||||
|
|
||||||
gi.require_version("Gtk", "3.0")
|
gi.require_version("Gtk", "3.0")
|
||||||
from gi.repository import Gtk, GLib, Pango
|
from gi.repository import Gtk, GLib, Pango
|
||||||
|
|
||||||
from ks_includes.screen_panel import ScreenPanel
|
from ks_includes.screen_panel import ScreenPanel
|
||||||
|
|
||||||
|
|
||||||
def create_panel(*args):
|
class Panel(ScreenPanel):
|
||||||
return OutputPinPanel(*args)
|
|
||||||
|
|
||||||
|
|
||||||
class OutputPinPanel(ScreenPanel):
|
|
||||||
|
|
||||||
def __init__(self, screen, title):
|
def __init__(self, screen, title):
|
||||||
super().__init__(screen, title)
|
super().__init__(screen, title)
|
||||||
|
@ -1,18 +1,12 @@
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
import gi
|
import gi
|
||||||
|
|
||||||
gi.require_version("Gtk", "3.0")
|
gi.require_version("Gtk", "3.0")
|
||||||
from gi.repository import Gtk, Pango
|
from gi.repository import Gtk, Pango
|
||||||
|
|
||||||
from ks_includes.screen_panel import ScreenPanel
|
from ks_includes.screen_panel import ScreenPanel
|
||||||
|
|
||||||
|
|
||||||
def create_panel(*args):
|
class Panel(ScreenPanel):
|
||||||
return PowerPanel(*args)
|
|
||||||
|
|
||||||
|
|
||||||
class PowerPanel(ScreenPanel):
|
|
||||||
def __init__(self, screen, title):
|
def __init__(self, screen, title):
|
||||||
super().__init__(screen, title)
|
super().__init__(screen, title)
|
||||||
self.devices = {}
|
self.devices = {}
|
||||||
|
@ -1,21 +1,15 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
|
||||||
import gi
|
import gi
|
||||||
|
|
||||||
gi.require_version("Gtk", "3.0")
|
gi.require_version("Gtk", "3.0")
|
||||||
from gi.repository import Gtk, GLib, Pango
|
from gi.repository import Gtk, GLib, Pango
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
from ks_includes.screen_panel import ScreenPanel
|
from ks_includes.screen_panel import ScreenPanel
|
||||||
|
|
||||||
|
|
||||||
def create_panel(*args):
|
class Panel(ScreenPanel):
|
||||||
return PrintPanel(*args)
|
|
||||||
|
|
||||||
|
|
||||||
class PrintPanel(ScreenPanel):
|
|
||||||
cur_directory = "gcodes"
|
cur_directory = "gcodes"
|
||||||
dir_panels = {}
|
dir_panels = {}
|
||||||
filelist = {'gcodes': {'directories': [], 'files': []}}
|
filelist = {'gcodes': {'directories': [], 'files': []}}
|
||||||
|
@ -5,11 +5,7 @@ from gi.repository import Gtk, GLib
|
|||||||
from ks_includes.screen_panel import ScreenPanel
|
from ks_includes.screen_panel import ScreenPanel
|
||||||
|
|
||||||
|
|
||||||
def create_panel(*args):
|
class Panel(ScreenPanel):
|
||||||
return PrinterSelect(*args)
|
|
||||||
|
|
||||||
|
|
||||||
class PrinterSelect(ScreenPanel):
|
|
||||||
def __init__(self, screen, title):
|
def __init__(self, screen, title):
|
||||||
super().__init__(screen, title)
|
super().__init__(screen, title)
|
||||||
printers = self._config.get_printers()
|
printers = self._config.get_printers()
|
||||||
|
@ -1,19 +1,13 @@
|
|||||||
import logging
|
import logging
|
||||||
import re
|
import re
|
||||||
|
|
||||||
import gi
|
import gi
|
||||||
|
|
||||||
gi.require_version("Gtk", "3.0")
|
gi.require_version("Gtk", "3.0")
|
||||||
from gi.repository import Gtk, Pango
|
from gi.repository import Gtk, Pango
|
||||||
|
|
||||||
from ks_includes.screen_panel import ScreenPanel
|
from ks_includes.screen_panel import ScreenPanel
|
||||||
|
|
||||||
|
|
||||||
def create_panel(*args):
|
class Panel(ScreenPanel):
|
||||||
return FWRetractionPanel(*args)
|
|
||||||
|
|
||||||
|
|
||||||
class FWRetractionPanel(ScreenPanel):
|
|
||||||
|
|
||||||
def __init__(self, screen, title):
|
def __init__(self, screen, title):
|
||||||
super().__init__(screen, title)
|
super().__init__(screen, title)
|
||||||
|
@ -2,15 +2,10 @@ import gi
|
|||||||
|
|
||||||
gi.require_version("Gtk", "3.0")
|
gi.require_version("Gtk", "3.0")
|
||||||
from gi.repository import Gtk, Pango
|
from gi.repository import Gtk, Pango
|
||||||
|
|
||||||
from ks_includes.screen_panel import ScreenPanel
|
from ks_includes.screen_panel import ScreenPanel
|
||||||
|
|
||||||
|
|
||||||
def create_panel(*args):
|
class Panel(ScreenPanel):
|
||||||
return SettingsPanel(*args)
|
|
||||||
|
|
||||||
|
|
||||||
class SettingsPanel(ScreenPanel):
|
|
||||||
def __init__(self, screen, title):
|
def __init__(self, screen, title):
|
||||||
super().__init__(screen, title)
|
super().__init__(screen, title)
|
||||||
self.printers = self.settings = self.langs = {}
|
self.printers = self.settings = self.langs = {}
|
||||||
|
@ -1,19 +1,13 @@
|
|||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
|
||||||
import gi
|
import gi
|
||||||
|
|
||||||
gi.require_version("Gtk", "3.0")
|
gi.require_version("Gtk", "3.0")
|
||||||
from gi.repository import Gtk, Pango
|
from gi.repository import Gtk, Pango
|
||||||
|
|
||||||
from ks_includes.screen_panel import ScreenPanel
|
from ks_includes.screen_panel import ScreenPanel
|
||||||
|
|
||||||
|
|
||||||
def create_panel(*args):
|
class Panel(ScreenPanel):
|
||||||
return SplashScreenPanel(*args)
|
|
||||||
|
|
||||||
|
|
||||||
class SplashScreenPanel(ScreenPanel):
|
|
||||||
|
|
||||||
def __init__(self, screen, title):
|
def __init__(self, screen, title):
|
||||||
super().__init__(screen, title)
|
super().__init__(screen, title)
|
||||||
|
@ -1,18 +1,12 @@
|
|||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
|
||||||
import gi
|
import gi
|
||||||
|
|
||||||
gi.require_version("Gtk", "3.0")
|
gi.require_version("Gtk", "3.0")
|
||||||
from gi.repository import Gtk, Pango, GLib
|
from gi.repository import Gtk, Pango, GLib
|
||||||
|
|
||||||
from ks_includes.screen_panel import ScreenPanel
|
from ks_includes.screen_panel import ScreenPanel
|
||||||
|
|
||||||
|
|
||||||
def create_panel(*args):
|
|
||||||
return SystemPanel(*args)
|
|
||||||
|
|
||||||
|
|
||||||
# Same as ALLOWED_SERVICES in moonraker
|
# Same as ALLOWED_SERVICES in moonraker
|
||||||
# https://github.com/Arksine/moonraker/blob/master/moonraker/components/machine.py
|
# https://github.com/Arksine/moonraker/blob/master/moonraker/components/machine.py
|
||||||
ALLOWED_SERVICES = (
|
ALLOWED_SERVICES = (
|
||||||
@ -27,7 +21,7 @@ ALLOWED_SERVICES = (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class SystemPanel(ScreenPanel):
|
class Panel(ScreenPanel):
|
||||||
def __init__(self, screen, title):
|
def __init__(self, screen, title):
|
||||||
super().__init__(screen, title)
|
super().__init__(screen, title)
|
||||||
self.refresh = None
|
self.refresh = None
|
||||||
|
@ -9,11 +9,7 @@ from ks_includes.widgets.heatergraph import HeaterGraph
|
|||||||
from ks_includes.widgets.keypad import Keypad
|
from ks_includes.widgets.keypad import Keypad
|
||||||
|
|
||||||
|
|
||||||
def create_panel(*args, **kwargs):
|
class Panel(ScreenPanel):
|
||||||
return TemperaturePanel(*args, **kwargs)
|
|
||||||
|
|
||||||
|
|
||||||
class TemperaturePanel(ScreenPanel):
|
|
||||||
graph_update = None
|
graph_update = None
|
||||||
active_heater = None
|
active_heater = None
|
||||||
|
|
||||||
|
@ -1,19 +1,13 @@
|
|||||||
|
import logging
|
||||||
import gi
|
import gi
|
||||||
|
|
||||||
gi.require_version("Gtk", "3.0")
|
gi.require_version("Gtk", "3.0")
|
||||||
from gi.repository import Gtk
|
from gi.repository import Gtk
|
||||||
|
|
||||||
from ks_includes.KlippyGcodes import KlippyGcodes
|
from ks_includes.KlippyGcodes import KlippyGcodes
|
||||||
from ks_includes.screen_panel import ScreenPanel
|
from ks_includes.screen_panel import ScreenPanel
|
||||||
|
|
||||||
import logging
|
|
||||||
|
|
||||||
|
class Panel(ScreenPanel):
|
||||||
def create_panel(*args):
|
|
||||||
return ZCalibratePanel(*args)
|
|
||||||
|
|
||||||
|
|
||||||
class ZCalibratePanel(ScreenPanel):
|
|
||||||
widgets = {}
|
widgets = {}
|
||||||
distances = ['.01', '.05', '.1', '.5', '1', '5']
|
distances = ['.01', '.05', '.1', '.5', '1', '5']
|
||||||
distance = distances[-2]
|
distance = distances[-2]
|
||||||
|
71
screen.py
71
screen.py
@ -80,7 +80,6 @@ class KlipperScreen(Gtk.Window):
|
|||||||
connected_printer = None
|
connected_printer = None
|
||||||
files = None
|
files = None
|
||||||
keyboard = None
|
keyboard = None
|
||||||
load_panel = {}
|
|
||||||
panels = {}
|
panels = {}
|
||||||
popup_message = None
|
popup_message = None
|
||||||
screensaver = None
|
screensaver = None
|
||||||
@ -105,7 +104,6 @@ class KlipperScreen(Gtk.Window):
|
|||||||
self.version = version
|
self.version = version
|
||||||
self.dialogs = []
|
self.dialogs = []
|
||||||
self.confirm = None
|
self.confirm = None
|
||||||
self.panels_reinit = []
|
|
||||||
|
|
||||||
configfile = os.path.normpath(os.path.expanduser(args.configfile))
|
configfile = os.path.normpath(os.path.expanduser(args.configfile))
|
||||||
|
|
||||||
@ -258,52 +256,31 @@ class KlipperScreen(Gtk.Window):
|
|||||||
|
|
||||||
self._ws.klippy.object_subscription(requested_updates)
|
self._ws.klippy.object_subscription(requested_updates)
|
||||||
|
|
||||||
def _load_panel(self, panel, *args, **kwargs):
|
@staticmethod
|
||||||
if panel not in self.load_panel:
|
def _load_panel(panel):
|
||||||
logging.debug(f"Loading panel: {panel}")
|
logging.debug(f"Loading panel: {panel}")
|
||||||
panel_path = os.path.join(os.path.dirname(__file__), 'panels', f"{panel}.py")
|
panel_path = os.path.join(os.path.dirname(__file__), 'panels', f"{panel}.py")
|
||||||
logging.info(f"Panel path: {panel_path}")
|
if not os.path.exists(panel_path):
|
||||||
if not os.path.exists(panel_path):
|
logging.error(f"Panel {panel} does not exist")
|
||||||
logging.error(f"Panel {panel} does not exist")
|
raise FileNotFoundError(os.strerror(2), "\n" + panel_path)
|
||||||
raise FileNotFoundError(os.strerror(2), "\n" + panel_path)
|
return import_module(f"panels.{panel}")
|
||||||
|
|
||||||
module = import_module(f"panels.{panel}")
|
def show_panel(self, panel, title, remove=None, pop=True, **kwargs):
|
||||||
if not hasattr(module, "create_panel"):
|
|
||||||
raise ImportError(f"Cannot locate create_panel function for {panel}")
|
|
||||||
self.load_panel[panel] = getattr(module, "create_panel")
|
|
||||||
|
|
||||||
try:
|
|
||||||
return self.load_panel[panel](*args, **kwargs)
|
|
||||||
except Exception as e:
|
|
||||||
logging.exception(e)
|
|
||||||
raise RuntimeError(f"Unable to create panel: {panel}\n{e}") from e
|
|
||||||
|
|
||||||
def show_panel(self, panel_name, panel_type, title, remove=None, pop=True, **kwargs):
|
|
||||||
try:
|
try:
|
||||||
if remove == 2:
|
if remove == 2:
|
||||||
self._remove_all_panels()
|
self._remove_all_panels()
|
||||||
self.panels_reinit = list(self.panels)
|
|
||||||
elif remove == 1:
|
elif remove == 1:
|
||||||
self._remove_current_panel(pop)
|
self._remove_current_panel(pop)
|
||||||
if panel_name not in self.panels:
|
if panel not in self.panels:
|
||||||
try:
|
try:
|
||||||
self.panels[panel_name] = self._load_panel(panel_type, self, title, **kwargs)
|
self.panels[panel] = self._load_panel(panel).Panel(self, title, **kwargs)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
self.show_error_modal(f"Unable to load panel {panel}", f"{e}")
|
||||||
if panel_name in self.panels:
|
|
||||||
del self.panels[panel_name]
|
|
||||||
self.show_error_modal(f"Unable to load panel {panel_type}", f"{e}")
|
|
||||||
return
|
return
|
||||||
elif 'extra' in kwargs:
|
else:
|
||||||
logging.info(f"extra: {kwargs['extra']}")
|
self.panels[panel].__init__(self, title, **kwargs)
|
||||||
self.panels[panel_name].__init__(self, title, **kwargs)
|
self._cur_panels.append(panel)
|
||||||
|
self.attach_panel(panel)
|
||||||
self._cur_panels.append(panel_name)
|
|
||||||
if panel_name in self.panels_reinit:
|
|
||||||
logging.info("Reinitializing panel")
|
|
||||||
self.panels[panel_name].__init__(self, title, **kwargs)
|
|
||||||
self.panels_reinit.remove(panel_name)
|
|
||||||
self.attach_panel(panel_name)
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.exception(f"Error attaching panel:\n{e}")
|
logging.exception(f"Error attaching panel:\n{e}")
|
||||||
|
|
||||||
@ -471,7 +448,7 @@ class KlipperScreen(Gtk.Window):
|
|||||||
def _go_to_submenu(self, widget, name):
|
def _go_to_submenu(self, widget, name):
|
||||||
logging.info(f"#### Go to submenu {name}")
|
logging.info(f"#### Go to submenu {name}")
|
||||||
# Find current menu item
|
# Find current menu item
|
||||||
if "main_panel" in self._cur_panels:
|
if "main_menu" in self._cur_panels:
|
||||||
menu = "__main"
|
menu = "__main"
|
||||||
elif "splash_screen" in self._cur_panels:
|
elif "splash_screen" in self._cur_panels:
|
||||||
menu = "__splashscreen"
|
menu = "__splashscreen"
|
||||||
@ -482,7 +459,7 @@ class KlipperScreen(Gtk.Window):
|
|||||||
disname = self._config.get_menu_name(menu, name)
|
disname = self._config.get_menu_name(menu, name)
|
||||||
menuitems = self._config.get_menu_items(menu, name)
|
menuitems = self._config.get_menu_items(menu, name)
|
||||||
if len(menuitems) != 0:
|
if len(menuitems) != 0:
|
||||||
self.show_panel(name, "menu", disname, 1, False, items=menuitems)
|
self.show_panel("menu", disname, 1, False, items=menuitems)
|
||||||
else:
|
else:
|
||||||
logging.info("No items in menu")
|
logging.info("No items in menu")
|
||||||
|
|
||||||
@ -632,7 +609,7 @@ class KlipperScreen(Gtk.Window):
|
|||||||
|
|
||||||
def show_printer_select(self, widget=None):
|
def show_printer_select(self, widget=None):
|
||||||
self.base_panel.show_heaters(False)
|
self.base_panel.show_heaters(False)
|
||||||
self.show_panel("printer_select", "printer_select", _("Printer Select"), 2)
|
self.show_panel("printer_select", _("Printer Select"), 2)
|
||||||
|
|
||||||
def process_busy_state(self, busy):
|
def process_busy_state(self, busy):
|
||||||
self.process_update("notify_busy", busy)
|
self.process_update("notify_busy", busy)
|
||||||
@ -670,13 +647,13 @@ class KlipperScreen(Gtk.Window):
|
|||||||
self.base_panel_show_all()
|
self.base_panel_show_all()
|
||||||
for dialog in self.dialogs:
|
for dialog in self.dialogs:
|
||||||
self.gtk.remove_dialog(dialog)
|
self.gtk.remove_dialog(dialog)
|
||||||
self.show_panel('job_status', "job_status", _("Printing"), 2)
|
self.show_panel("job_status", _("Printing"), 2)
|
||||||
|
|
||||||
def state_ready(self, wait=True):
|
def state_ready(self, wait=True):
|
||||||
# Do not return to main menu if completing a job, timeouts/user input will return
|
# Do not return to main menu if completing a job, timeouts/user input will return
|
||||||
if "job_status" in self._cur_panels and wait:
|
if "job_status" in self._cur_panels and wait:
|
||||||
return
|
return
|
||||||
self.show_panel('main_panel', "main_menu", None, 2, items=self._config.get_menu_items("__main"))
|
self.show_panel("main_menu", None, 2, items=self._config.get_menu_items("__main"))
|
||||||
self.base_panel_show_all()
|
self.base_panel_show_all()
|
||||||
|
|
||||||
def state_startup(self):
|
def state_startup(self):
|
||||||
@ -720,8 +697,8 @@ class KlipperScreen(Gtk.Window):
|
|||||||
self.printer.process_update({'webhooks': {'state': "ready"}})
|
self.printer.process_update({'webhooks': {'state': "ready"}})
|
||||||
elif action == "notify_status_update" and self.printer.state != "shutdown":
|
elif action == "notify_status_update" and self.printer.state != "shutdown":
|
||||||
self.printer.process_update(data)
|
self.printer.process_update(data)
|
||||||
if 'manual_probe' in data and data['manual_probe']['is_active'] and 'zoffset' not in self._cur_panels:
|
if 'manual_probe' in data and data['manual_probe']['is_active'] and 'zcalibrate' not in self._cur_panels:
|
||||||
self.show_panel('zoffset', "zcalibrate", None, 1, False)
|
self.show_panel("zcalibrate", None, 1, False)
|
||||||
elif action == "notify_filelist_changed":
|
elif action == "notify_filelist_changed":
|
||||||
if self.files is not None:
|
if self.files is not None:
|
||||||
self.files.process_update(data)
|
self.files.process_update(data)
|
||||||
@ -800,7 +777,7 @@ class KlipperScreen(Gtk.Window):
|
|||||||
|
|
||||||
def printer_initializing(self, msg, remove=False):
|
def printer_initializing(self, msg, remove=False):
|
||||||
if 'splash_screen' not in self.panels or remove:
|
if 'splash_screen' not in self.panels or remove:
|
||||||
self.show_panel('splash_screen', "splash_screen", None, 2)
|
self.show_panel("splash_screen", None, 2)
|
||||||
self.panels['splash_screen'].update_text(msg)
|
self.panels['splash_screen'].update_text(msg)
|
||||||
|
|
||||||
def search_power_devices(self, devices):
|
def search_power_devices(self, devices):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user