gui_client: remove diff mode switch, always use diff mode

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-29 21:01:16 +02:00
co-authored by Claude Sonnet 4.6
parent 6e340a9582
commit 78b6108658
+3 -17
View File
@@ -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,
@@ -126,17 +126,15 @@ class TcpReader(QObject):
super().__init__()
self._sock = None
self._running = False
self._diff_mode = 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._running = True
threading.Thread(target=self._read_loop, daemon=True).start()
@@ -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)
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)
@@ -258,7 +247,6 @@ class ConnectorTab(QWidget):
pass
data["host"] = self._host.text()
data["port"] = self._port.value()
data["diff_mode"] = self._diff_cb.isChecked()
_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}")