summaryrefslogtreecommitdiff
path: root/ui/windows/settings_window.py
diff options
context:
space:
mode:
Diffstat (limited to 'ui/windows/settings_window.py')
-rw-r--r--ui/windows/settings_window.py41
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))