diff options
| author | Christian Kolset <christian.kolset@gmail.com> | 2026-08-01 22:55:49 -0600 |
|---|---|---|
| committer | Christian Kolset <christian.kolset@gmail.com> | 2026-08-01 23:02:14 -0600 |
| commit | e1b951db7714a9496ebf7f861a6741598d4c7e67 (patch) | |
| tree | 2c10266de94b9649e5fab65aac1fd33a87de2528 /ui/windows | |
| parent | 91b0b613f0b58498315ef91f6a541dd1089b88de (diff) | |
Major control panel improvements.
- Added dedicated firmware file for arduino
- Added View button to consolidate windows
- Control Panel changes:
- Changed name fron "Controls" to "Control Panel"
- Blue side bar when Panel is hidden.
- Supports "popping" out contorl panel
- Settings > Advanced tab added with developer settings
Diffstat (limited to 'ui/windows')
| -rw-r--r-- | ui/windows/settings_window.py | 41 |
1 files changed, 32 insertions, 9 deletions
diff --git a/ui/windows/settings_window.py b/ui/windows/settings_window.py index 1630efa..1afbca5 100644 --- a/ui/windows/settings_window.py +++ b/ui/windows/settings_window.py @@ -40,6 +40,7 @@ class SettingsWindow(QWidget): "show_grid": True, "font_size": 12, "antialias": True, + "developer_mode": False, } def __init__(self, registry: DeviceRegistry, @@ -77,6 +78,7 @@ class SettingsWindow(QWidget): tabs.addTab(self._acquisition_tab(), " Acquisition ") tabs.addTab(self._display_tab(), " Display ") tabs.addTab(self._plugins_tab(), " Plugins ") + tabs.addTab(self._advanced_tab(), " Advanced ") # Bottom bar btm = QWidget(); btm.setObjectName("cfgBottomBar") @@ -126,6 +128,7 @@ class SettingsWindow(QWidget): self._tw_sp.setValue(self.cfg["time_window_s"]) self._legend_chk.setChecked(self.cfg["show_legend"]) self._grid_chk.setChecked(self.cfg["show_grid"]) + self._dev_mode_chk.setChecked(self.cfg.get("developer_mode", False)) def _acquisition_tab(self): w = QWidget() @@ -256,6 +259,25 @@ class SettingsWindow(QWidget): return card + def _advanced_tab(self): + w = QWidget() + scroll = QScrollArea(); scroll.setWidgetResizable(True) + scroll.setObjectName("deviceScroll") + cont = QWidget(); lay = QFormLayout(cont) + lay.setContentsMargins(16, 14, 16, 14); lay.setSpacing(10) + + self._dev_mode_chk = QCheckBox() + self._dev_mode_chk.setChecked(self.cfg.get("developer_mode", False)) + lay.addRow("Developer mode:", self._dev_mode_chk) + + note = QLabel("Enables verbose DEBUG output in the terminal.\nNo effect when running as a packaged app.") + note.setObjectName("traceSource"); note.setWordWrap(True) + lay.addRow("", note) + + scroll.setWidget(cont) + root = QVBoxLayout(w); root.setContentsMargins(0, 0, 0, 0); root.addWidget(scroll) + return w + def _toggle_plugin(self, plugin_id: str, btn: QPushButton): if self._plugin_mgr.is_enabled(plugin_id): self.plugin_disable_requested.emit(plugin_id) @@ -285,15 +307,16 @@ class SettingsWindow(QWidget): def _apply(self): theme = self._theme_cb.currentText().lower() self.cfg.update({ - "theme": theme, - "font_size": self._font_sp.value(), - "antialias": self._aa_chk.isChecked(), - "poll_ms": self._poll_sp.value(), - "buffer_size": self._buf_sp.value(), - "log_dir": self._log_edit.text(), - "time_window_s": self._tw_sp.value(), - "show_legend": self._legend_chk.isChecked(), - "show_grid": self._grid_chk.isChecked(), + "theme": theme, + "font_size": self._font_sp.value(), + "antialias": self._aa_chk.isChecked(), + "poll_ms": self._poll_sp.value(), + "buffer_size": self._buf_sp.value(), + "log_dir": self._log_edit.text(), + "time_window_s": self._tw_sp.value(), + "show_legend": self._legend_chk.isChecked(), + "show_grid": self._grid_chk.isChecked(), + "developer_mode": self._dev_mode_chk.isChecked(), }) self.theme_changed.emit(theme) self.settings_changed.emit(dict(self.cfg)) |
