Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions BlocksScreen.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,15 @@ host: localhost
port: 7125

[screensaver]
timeout: 5000
timeout: 60000

[usb_manager]
gcodes_dir: ~/printer_data/gcodes/

[filament_presence]
object: cutter_sensor
name: extruder_cutter
name: extruder_cutter

[amu]
toggle: False
shown: False
40 changes: 24 additions & 16 deletions BlocksScreen/lib/panels/utilitiesTab.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
import os
import signal
import typing

from lib.moonrakerComm import MoonWebSocket
from lib.panels.widgets.Common.basePopup import BasePopup
from lib.panels.widgets.UtilitiesTab.axisMaintPage import AxisMaintPage
from lib.panels.widgets.UtilitiesTab.infoPage import InfoPage
from lib.panels.widgets.UtilitiesTab.configPage import ConfigPage
from lib.panels.widgets.UtilitiesTab.inputshaperPage import InputShaperPage
from lib.panels.widgets.UtilitiesTab.ledsPage import LedsPage
from lib.panels.widgets.UtilitiesTab.routinePage import RoutineCheckPage
Expand Down Expand Up @@ -39,7 +41,7 @@ def __init__(
) -> None:
super().__init__(parent)

self.info_page: InfoPage = InfoPage(self)
self.config_page: ConfigPage = ConfigPage(self)
self.leds_page: LedsPage = LedsPage(self)
self.axes_page: AxisMaintPage = AxisMaintPage(self)
self.routines_page: RoutineCheckPage = RoutineCheckPage(self)
Expand Down Expand Up @@ -69,8 +71,8 @@ def __init__(
self.up_axes_btn.clicked.connect(
lambda: self.change_page(self.indexOf(self.axes_page))
)
self.up_info_btn.clicked.connect(
lambda: self.change_page(self.indexOf(self.info_page))
self.up_config_btn.clicked.connect(
lambda: self.change_page(self.indexOf(self.config_page))
)
self.up_routine_check_btn.clicked.connect(
lambda: self.change_page(self.indexOf(self.routines_page))
Expand All @@ -80,7 +82,8 @@ def __init__(
)

# --- Info ---
self.info_page.request_back_button.connect(self.request_back)
self.config_page.request_back_button.connect(self.request_back)
self.config_page.request_restart.connect(self.restart_screen)

# --- LEDs ---
self.leds_page.request_back_button.connect(self.request_back)
Expand Down Expand Up @@ -120,6 +123,11 @@ def __init__(
# --- Websocket/Printer Signals ---
self.run_gcode_signal.connect(self.ws.api.run_gcode)

def restart_screen(self) -> None:
"""Restart BlocksScreen so config changes read at startup take effect."""
# SIGTERM runs the normal shutdown (restart splash); the service starts it again
os.kill(os.getpid(), signal.SIGTERM)

def ask_input_shaper(self) -> None:
"""Ask whether to run the automatic input shaper."""
self.is_popup.show()
Expand Down Expand Up @@ -198,16 +206,16 @@ def _setup_ui(self) -> None:
self.up_content_layout = QtWidgets.QGridLayout()
self.up_content_layout.setObjectName("up_content_layout")

self.up_info_btn = BlocksCustomButton(parent=self.utilitiesPage)
self.up_info_btn.setSizePolicy(sizePolicy)
self.up_info_btn.setMinimumSize(QtCore.QSize(250, 80))
self.up_info_btn.setMaximumSize(QtCore.QSize(250, 80))
self.up_info_btn.setFont(font)
self.up_info_btn.setProperty(
"icon_pixmap", QtGui.QPixmap(":/ui/media/btn_icons/info.svg")
self.up_config_btn = BlocksCustomButton(parent=self.utilitiesPage)
self.up_config_btn.setSizePolicy(sizePolicy)
self.up_config_btn.setMinimumSize(QtCore.QSize(250, 80))
self.up_config_btn.setMaximumSize(QtCore.QSize(250, 80))
self.up_config_btn.setFont(font)
self.up_config_btn.setProperty(
"icon_pixmap", QtGui.QPixmap(":/ui/media/btn_icons/printer_settings.svg")
)
self.up_info_btn.setObjectName("up_info_btn")
self.up_content_layout.addWidget(self.up_info_btn, 0, 0, 1, 1)
self.up_config_btn.setObjectName("up_config_btn")
self.up_content_layout.addWidget(self.up_config_btn, 0, 0, 1, 1)

self.up_leds_btn = BlocksCustomButton(parent=self.utilitiesPage)
self.up_leds_btn.setSizePolicy(sizePolicy)
Expand Down Expand Up @@ -272,7 +280,7 @@ def _setup_ui(self) -> None:

# Info

self.addWidget(self.info_page)
self.addWidget(self.config_page)

# Leds Page

Expand All @@ -295,7 +303,7 @@ def _setup_ui(self) -> None:
_translate = QtCore.QCoreApplication.translate

self.up_title_label.setText(_translate("utilitiesTab", "Utilities"))
self.up_info_btn.setText(_translate("utilitiesTab", "Info"))
self.up_config_btn.setText(_translate("utilitiesTab", "Settings"))
self.up_leds_btn.setText(_translate("utilitiesTab", "LED's"))
self.up_routine_check_btn.setText(_translate("utilitiesTab", "Routine\nCheck"))
self.up_axes_btn.setText(_translate("utilitiesTab", "Axis\nMaint."))
Expand Down
37 changes: 11 additions & 26 deletions BlocksScreen/lib/panels/widgets/Common/numpadPage.py
Original file line number Diff line number Diff line change
Expand Up @@ -152,36 +152,24 @@ def _setup_ui(self) -> None:
)
self.header_layout.addItem(spacerItem1)

self.numpad_title = BlocksLabel(self)
self.numpad_title.setMinimumSize(QtCore.QSize(500, 60))
self.numpad_title.setMaximumSize(QtCore.QSize(16777215, 60))
font = QtGui.QFont()
font.setPointSize(22)

sizePolicy = QtWidgets.QSizePolicy(
QtWidgets.QSizePolicy.Policy.Expanding,
QtWidgets.QSizePolicy.Policy.Expanding,
)

self.numpad_title = QtWidgets.QLabel(self)
self.numpad_title.setMaximumSize(QtCore.QSize(16777215, 60))
self.numpad_title.setFont(font)
self.numpad_title.setAutoFillBackground(False)
self.numpad_title.setSizePolicy(sizePolicy)
self.numpad_title.setStyleSheet("background: transparent; color: white;")
self.numpad_title.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
palette = QtGui.QPalette()
palette.setColor(palette.ColorRole.Window, QtGui.QColor("#FFFFFF00"))
palette.setColor(palette.ColorRole.WindowText, QtGui.QColor("#FFFFFF"))
self.numpad_title.setPalette(palette)
self.numpad_title.setObjectName("numpad_title")
self.header_layout.addWidget(
self.numpad_title,
0,
QtCore.Qt.AlignmentFlag.AlignHCenter | QtCore.Qt.AlignmentFlag.AlignVCenter,
)
self.header_layout.addWidget(self.numpad_title)

self.numpad_back_btn = IconButton(self)
sizePolicy = QtWidgets.QSizePolicy(
QtWidgets.QSizePolicy.Policy.MinimumExpanding,
QtWidgets.QSizePolicy.Policy.MinimumExpanding,
)
sizePolicy.setHorizontalStretch(1)
sizePolicy.setVerticalStretch(1)
sizePolicy.setHeightForWidth(
self.numpad_back_btn.sizePolicy().hasHeightForWidth()
)
self.numpad_back_btn.setSizePolicy(sizePolicy)
self.numpad_back_btn.setMinimumSize(QtCore.QSize(60, 60))
self.numpad_back_btn.setMaximumSize(QtCore.QSize(60, 60))
self.numpad_back_btn.setPixmap(QtGui.QPixmap(":ui/media/btn_icons/back.svg"))
Expand All @@ -191,10 +179,7 @@ def _setup_ui(self) -> None:
1,
QtCore.Qt.AlignmentFlag.AlignVCenter,
)
self.numpad_back_btn.rect().setX(self.numpad_back_btn.rect().x() + 60)

self.header_layout.setStretch(0, 1)
self.header_layout.setStretch(1, 0)
self.main_content_layout.addLayout(self.header_layout, 1)

self.value_and_range_layout = QtWidgets.QVBoxLayout()
Expand Down
Loading