gui_client: persist connection settings and fix plot history depth
- Save host/port to plot_settings.json on connect; restore on startup - Raise MAX_PLOT_POINTS from 200 to 2880 so 24 h of data is retained even at 30 s polling intervals Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+27
-1
@@ -34,7 +34,7 @@ import pyqtgraph as pg
|
||||
pg.setConfigOption("background", "#12121e")
|
||||
pg.setConfigOption("foreground", "#aaaacc")
|
||||
|
||||
MAX_PLOT_POINTS = 200
|
||||
MAX_PLOT_POINTS = 2880 # 24 h at 30 s polling interval
|
||||
|
||||
DARK_STYLE = """
|
||||
QWidget { background:#1a1a2e; color:#aaaacc; font-size:12px; }
|
||||
@@ -198,6 +198,7 @@ class ConnectorTab(QWidget):
|
||||
self._port = QSpinBox()
|
||||
self._port.setRange(1, 65535)
|
||||
self._port.setValue(9999)
|
||||
self._load_conn_settings()
|
||||
form.addRow("Host:", self._host)
|
||||
form.addRow("Port:", self._port)
|
||||
|
||||
@@ -217,10 +218,35 @@ class ConnectorTab(QWidget):
|
||||
|
||||
def _toggle(self):
|
||||
if self._btn.text() == "Connect":
|
||||
self._save_conn_settings()
|
||||
self.connect_requested.emit(self._host.text(), self._port.value())
|
||||
else:
|
||||
self.disconnect_requested.emit()
|
||||
|
||||
def _save_conn_settings(self):
|
||||
try:
|
||||
_SETTINGS_PATH.parent.mkdir(parents=True, exist_ok=True)
|
||||
data = {}
|
||||
try:
|
||||
data = json.loads(_SETTINGS_PATH.read_text())
|
||||
except (OSError, json.JSONDecodeError):
|
||||
pass
|
||||
data["host"] = self._host.text()
|
||||
data["port"] = self._port.value()
|
||||
_SETTINGS_PATH.write_text(json.dumps(data, indent=2))
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
def _load_conn_settings(self):
|
||||
try:
|
||||
data = json.loads(_SETTINGS_PATH.read_text())
|
||||
if "host" in data:
|
||||
self._host.setText(data["host"])
|
||||
if "port" in data:
|
||||
self._port.setValue(int(data["port"]))
|
||||
except (OSError, json.JSONDecodeError, KeyError, ValueError):
|
||||
pass
|
||||
|
||||
def set_connected(self, host: str, port: int):
|
||||
self._btn.setText("Disconnect")
|
||||
self._host.setEnabled(False)
|
||||
|
||||
Reference in New Issue
Block a user