Serial monitor redesign: Test box button, InfluxDB row in the checklist

- Test box: restart + start-up capture + online InfluxDB check (data newer
  than the restart), with a status strip; checklist and findings are the
  main view, live log / guided troubleshooting / box details are tabs,
  rarely used actions in a More menu
- light palette on all systems (macOS dark mode made the colours unreadable)
- new rule influx.invalid_value: -inf from a silent microphone makes
  InfluxDB reject every upload (HTTP 400); guide end names it
- exclusive serial port on macOS/Linux: two tool windows no longer split
  the log between them
- InfluxDB check: `since` filter, neutral wording when nothing new arrives

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
KrzyszurandClaude Opus 5.5 committed 2026-10-01 00:06:48 +02:00
1 parent 66cb804102
commit bb933ff748
13 files changed
+422 -83

No files matched your search

+29
View File
@@ -1,13 +1,42 @@
import sys
from PySide6.QtGui import QColor, QPalette
from PySide6.QtWidgets import QApplication
from .ui.main_window import MainWindow
def light_palette() -> QPalette:
"""The same light look on every system. All status colours in the tool are
chosen for a light background; with macOS dark mode they were unreadable."""
p = QPalette()
roles = {
QPalette.ColorRole.Window: "#f4f5f7",
QPalette.ColorRole.WindowText: "#1d1d1f",
QPalette.ColorRole.Base: "#ffffff",
QPalette.ColorRole.AlternateBase: "#f0f2f5",
QPalette.ColorRole.Text: "#1d1d1f",
QPalette.ColorRole.Button: "#e9ebef",
QPalette.ColorRole.ButtonText: "#1d1d1f",
QPalette.ColorRole.ToolTipBase: "#ffffe8",
QPalette.ColorRole.ToolTipText: "#1d1d1f",
QPalette.ColorRole.PlaceholderText: "#8a8a8a",
QPalette.ColorRole.Highlight: "#2e6da4",
QPalette.ColorRole.HighlightedText: "#ffffff",
QPalette.ColorRole.Link: "#1f5fa8",
QPalette.ColorRole.BrightText: "#ffffff",
}
for role, colour in roles.items():
p.setColor(role, QColor(colour))
for role in (QPalette.ColorRole.WindowText, QPalette.ColorRole.Text, QPalette.ColorRole.ButtonText):
p.setColor(QPalette.ColorGroup.Disabled, role, QColor("#9a9a9a"))
return p
def main() -> int:
app = QApplication(sys.argv)
app.setStyle("Fusion")
app.setPalette(light_palette())
win = MainWindow()
win.show()
return app.exec()