From 78b6108658d6667574c503c44c06757bb904e49e Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Fri, 29 May 2026 21:01:16 +0200 Subject: [PATCH] gui_client: remove diff mode switch, always use diff mode Co-Authored-By: Claude Sonnet 4.6 --- client/gui_client.py | 34 ++++++++++------------------------ 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/client/gui_client.py b/client/gui_client.py index 0ac5f42..1397b69 100644 --- a/client/gui_client.py +++ b/client/gui_client.py @@ -31,7 +31,7 @@ from pathlib import Path from PyQt5.QtCore import QObject, QTimer, Qt, pyqtSignal from PyQt5.QtGui import QColor, QFont from PyQt5.QtWidgets import ( - QApplication, QCheckBox, QComboBox, QFormLayout, QGridLayout, QGroupBox, + QApplication, QComboBox, QFormLayout, QGridLayout, QGroupBox, QHBoxLayout, QLabel, QLineEdit, QMainWindow, QPushButton, QScrollArea, QSizePolicy, QSpinBox, QStatusBar, QTabWidget, QTreeWidget, QTreeWidgetItem, QVBoxLayout, QWidget, @@ -124,20 +124,18 @@ class TcpReader(QObject): def __init__(self): super().__init__() - self._sock = None - self._running = False - self._diff_mode = False + self._sock = None + self._running = False self._state: dict = {} - def connect_to(self, host: str, port: int, diff_mode: bool = False) -> str | None: + def connect_to(self, host: str, port: int) -> str | None: """Open connection; returns error string or None on success.""" try: self._sock = socket.create_connection((host, port), timeout=5) self._sock.settimeout(None) except OSError as exc: return str(exc) - self._diff_mode = diff_mode - self._state = {} + self._state = {} self._running = True threading.Thread(target=self._read_loop, daemon=True).start() return None @@ -165,11 +163,8 @@ class TcpReader(QObject): if line: try: data = json.loads(line) - if self._diff_mode: - self._state = jay_merge_full(self._state, data) - self.message.emit(copy.deepcopy(self._state)) - else: - self.message.emit(data) + self._state = jay_merge_full(self._state, data) + self.message.emit(copy.deepcopy(self._state)) except json.JSONDecodeError: pass except OSError: @@ -217,11 +212,9 @@ class ConnectorTab(QWidget): self._port = QSpinBox() self._port.setRange(1, 65535) self._port.setValue(9999) - self._diff_cb = QCheckBox("Diff mode") self._load_conn_settings() form.addRow("Host:", self._host) form.addRow("Port:", self._port) - form.addRow(self._diff_cb) btn_row = QHBoxLayout() self._btn = QPushButton("Connect") @@ -244,10 +237,6 @@ class ConnectorTab(QWidget): else: self.disconnect_requested.emit() - @property - def diff_mode(self) -> bool: - return self._diff_cb.isChecked() - def _save_conn_settings(self): try: _SETTINGS_PATH.parent.mkdir(parents=True, exist_ok=True) @@ -256,9 +245,8 @@ class ConnectorTab(QWidget): data = json.loads(_SETTINGS_PATH.read_text()) except (OSError, json.JSONDecodeError): pass - data["host"] = self._host.text() - data["port"] = self._port.value() - data["diff_mode"] = self._diff_cb.isChecked() + data["host"] = self._host.text() + data["port"] = self._port.value() _SETTINGS_PATH.write_text(json.dumps(data, indent=2)) except OSError: pass @@ -270,8 +258,6 @@ class ConnectorTab(QWidget): self._host.setText(data["host"]) if "port" in data: self._port.setValue(int(data["port"])) - if "diff_mode" in data: - self._diff_cb.setChecked(bool(data["diff_mode"])) except (OSError, json.JSONDecodeError, KeyError, ValueError): pass @@ -844,7 +830,7 @@ class MainWindow(QMainWindow): def _connect(self, host: str, port: int): self._plot.clear_data() - err = self._reader.connect_to(host, port, self._connector.diff_mode) + err = self._reader.connect_to(host, port) if err: self._connector.set_disconnected(err) self._statusbar.showMessage(f"Connection failed: {err}")