diff options
| author | Christian Kolset <christian.kolset@gmail.com> | 2026-08-02 01:38:09 -0600 |
|---|---|---|
| committer | Christian Kolset <christian.kolset@gmail.com> | 2026-08-02 01:38:09 -0600 |
| commit | fa0304793a4525db68cb53b527d695bfa2c65966 (patch) | |
| tree | 1d10c2cd030e34324fbebe1f093588de2e310dee /ui | |
| parent | a3aa1df99df8f413cac2ba6020b7cd0dec6d2390 (diff) | |
Remove Debug window feature
Debug button, DebugWindow, and the stdout/stderr tee (core/debug_log.py)
weren't wanted. developer_mode toggle stays — still gates device
Simulation Mode checkboxes and verbose terminal logging.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Diffstat (limited to 'ui')
| -rw-r--r-- | ui/main_window.py | 26 | ||||
| -rw-r--r-- | ui/windows/debug_window.py | 65 | ||||
| -rw-r--r-- | ui/windows/settings_window.py | 6 |
3 files changed, 4 insertions, 93 deletions
diff --git a/ui/main_window.py b/ui/main_window.py index 01e0505..1ee8b7f 100644 --- a/ui/main_window.py +++ b/ui/main_window.py @@ -108,7 +108,6 @@ from ui.profile_manager_ui import ProfileButton from ui.windows.config_window import ConfigWindow from ui.windows.plot_window import build_default_layout from ui.windows.settings_window import SettingsWindow -from ui.windows.debug_window import DebugWindow from plugins.plugin_manager import PluginManager from plugins.base_plugin import PluginContext @@ -133,7 +132,6 @@ class MainWindow(QMainWindow): self._elapsed = 0 self._win_config = None self._win_settings = None - self._win_debug = None _plugins_dir = os.path.join(os.path.dirname(os.path.dirname( os.path.abspath(__file__))), "plugins") @@ -254,12 +252,6 @@ class MainWindow(QMainWindow): set_btn.clicked.connect(lambda c: self._open_settings()) tb.addWidget(set_btn); self._btn_settings = set_btn - debug_btn = QPushButton("🐞 Debug") - debug_btn.setObjectName("toolbarSectionBtn"); debug_btn.setCheckable(True) - debug_btn.clicked.connect(lambda c: self._open_debug()) - tb.addWidget(debug_btn); self._btn_debug = debug_btn - debug_btn.setVisible(False) # shown/hidden by _update_debug_btn_visibility per developer-mode setting - # ── Central ─────────────────────────────────────────────────────── central = QWidget(); self.setCentralWidget(central) @@ -500,12 +492,6 @@ class MainWindow(QMainWindow): self._win_config.tabs.setCurrentIndex(tab) self._show_win(self._win_config, "right") - def _open_debug(self): - if self._win_debug is None: - self._win_debug = DebugWindow(self) - self._win_debug.closed.connect(lambda: self._btn_debug.setChecked(False)) - self._show_win(self._win_debug, "right") - def _on_config_closed(self): self._act_devices.setChecked(False) self._act_channels.setChecked(False) @@ -721,16 +707,6 @@ class MainWindow(QMainWindow): level = logging.DEBUG if enabled else logging.WARNING logging.getLogger().setLevel(level) set_developer_mode(enabled) - self._update_debug_btn_visibility() - - def _update_debug_btn_visibility(self): - from core.app_settings import is_developer_mode - on = is_developer_mode() - self._btn_debug.setVisible(on) - if not on: - self._btn_debug.setChecked(False) - if self._win_debug: - self._win_debug.hide() def _on_settings(self, cfg: dict): self._settings.update(cfg) @@ -744,7 +720,7 @@ class MainWindow(QMainWindow): self._time_lbl.setText(f"{h:02d}:{m:02d}:{s:02d}") def closeEvent(self, event): - for w in (self._win_config, self._win_settings, self._win_debug): + for w in (self._win_config, self._win_settings): if w: w.close() for plugin in list(self._plugin_mgr.get_loaded()): try: diff --git a/ui/windows/debug_window.py b/ui/windows/debug_window.py deleted file mode 100644 index 0e891ed..0000000 --- a/ui/windows/debug_window.py +++ /dev/null @@ -1,65 +0,0 @@ -""" -ui/windows/debug_window.py - -DEBUG window — developer-mode only. - -Minimal first pass: a live console showing everything the app has printed -via core.debug_log (stdout/stderr tee), so debugging doesn't require a -terminal. Not wired to any other diagnostics yet — extend as needed. -""" - -from PyQt6.QtWidgets import ( - QWidget, QVBoxLayout, QHBoxLayout, QLabel, QPushButton, - QTextEdit, QFrame, -) -from PyQt6.QtCore import Qt, pyqtSignal -from PyQt6.QtGui import QFont, QCloseEvent - -from core.debug_log import get_broadcaster, get_history - - -class DebugWindow(QWidget): - closed = pyqtSignal() - - def __init__(self, parent=None): - super().__init__(parent, Qt.WindowType.Window | Qt.WindowType.Tool) - self.setWindowTitle("Debug") - self.setMinimumSize(560, 420) - self.resize(700, 500) - self._build() - - broadcaster = get_broadcaster() - if broadcaster is not None: - broadcaster.line_written.connect(self._append) - - def _build(self): - root = QVBoxLayout(self); root.setContentsMargins(0, 0, 0, 0); root.setSpacing(0) - - hdr = QWidget(); hdr.setObjectName("devWindowTitleBar"); hdr.setFixedHeight(44) - hl = QHBoxLayout(hdr); hl.setContentsMargins(14, 0, 14, 0) - title = QLabel("DEBUG"); title.setObjectName("devWindowTitle") - hl.addWidget(title, 1) - clear_btn = QPushButton("Clear"); clear_btn.setObjectName("configButton") - clear_btn.clicked.connect(lambda: self._console.clear()) - hl.addWidget(clear_btn) - root.addWidget(hdr) - - div = QFrame(); div.setFrameShape(QFrame.Shape.HLine) - div.setObjectName("devWindowDivider"); root.addWidget(div) - - self._console = QTextEdit(); self._console.setObjectName("codeEditor") - self._console.setReadOnly(True) - mono = QFont("IBM Plex Mono, Consolas, Monospace") - mono.setStyleHint(QFont.StyleHint.Monospace) - self._console.setFont(mono) - self._console.setPlainText(get_history()) - self._console.verticalScrollBar().setValue(self._console.verticalScrollBar().maximum()) - root.addWidget(self._console, 1) - - def _append(self, text: str): - self._console.insertPlainText(text) - sb = self._console.verticalScrollBar() - sb.setValue(sb.maximum()) - - def closeEvent(self, e: QCloseEvent): - self.closed.emit(); e.accept() diff --git a/ui/windows/settings_window.py b/ui/windows/settings_window.py index 09b7a1a..a1d9de1 100644 --- a/ui/windows/settings_window.py +++ b/ui/windows/settings_window.py @@ -113,9 +113,9 @@ class SettingsWindow(QWidget): self._dev_chk = QCheckBox() self._dev_chk.setChecked(self.cfg["developer_mode"]) self._dev_chk.setToolTip( - "Controls whether the Debug window and each device's Simulation\n" - "Mode option are available, and enables verbose DEBUG output in\n" - "the terminal. Off = real-hardware-only, no debug tools." + "Controls whether each device's Simulation Mode option is\n" + "available, and enables verbose DEBUG output in the terminal.\n" + "Off = real-hardware-only, no debug tools." ) lay.addRow("Developer mode:", self._dev_chk) |
