Skip to content

Fix: Sichtbarer Display‑Modbus Init‑Status und robuste Timer‑Schreibstatus‑Weiterleitung#83

Merged
dosordie merged 1 commit into
workfrom
codex/repair-visible-status-display-for-modbus
Jun 29, 2026
Merged

Fix: Sichtbarer Display‑Modbus Init‑Status und robuste Timer‑Schreibstatus‑Weiterleitung#83
dosordie merged 1 commit into
workfrom
codex/repair-visible-status-display-for-modbus

Conversation

@dosordie

Copy link
Copy Markdown
Owner

Motivation

  • Die Display‑Modbus‑Initialisierung sendet bereits detaillierte Statustexte, diese gingen aber durch zyklische Updates des QProgressBar bzw. durch Styles auf Windows/Fusion verloren, so dass Spezialtexte (Trigger gesendet / warte / Antwort empfangen / Paket x/y) nicht sichtbar waren.
  • Nach einem Dialog‑Umbau landeten Timer‑Schreibstatusmeldungen nicht zuverlässig im aktuell sichtbaren Timerfenster, weshalb der Nutzer beim Schreiben keinen sichtbaren Fortschritt/Status sah.

Description

  • UI: Ergänzt ein eigenes, gut sichtbares Label self.init_progress_text_label neben/unter dem Init‑Fortschrittsbalken und setzt sinnvolle WordWrap/MinWidth/Style‑Eigenschaften zur dauerhaften Anzeige detaillierter Display‑Texte.
  • State: Neue persistente Felder display_init_progress_text, display_init_progress_active und display_init_progress_busy_state im MainWindow zur Speicherung und Steuerung des Display‑Detailstatus; neue Helfer ._set_init_progress_text() und ._compact_init_progress_format() zur Konsolidierung der Anzeige‑Logik.
  • Display‑Handlers: display_init_progress_changed, display_init_progress_busy, display_init_progress_finished und display_init_progress_failed speichern jetzt den Detailtext, setzen Busy/Active‑Flags und aktualisieren das separate Textlabel; die Progressbar zeigt nur noch eine kompakte done/total‑Angabe oder kurze Zustände (warte..., Fertig, Fehler/Timeout).
  • Zyklischer Timer: _update_init_read_progress() überschreibt den Display‑Detailtext nicht mehr während eines laufenden Display‑Spezial‑Laufs (Backend display_modbus) und respektiert den Busy‑Zustand, sodass die Busy‑Bar sichtbar bleibt, bis echte Progress‑Events eintreffen.
  • Timer/SG Statusrouting: Neue Methode _notify_dialog_status() erstellt eine robuste, deduplizierte Weiterleitung an sichtbare Dialoge und bevorzugt set_write_status() falls vorhanden, sonst status_label.setText().
  • Dialog‑Änderungen: Timer‑/Silent‑/OnOff‑/SG‑Dialoge erhielten sichtbare/wrap‑fähige status_label‑Eigenschaften und optional set_write_status()‑Wrapper, damit Schreibstatustexte zuverlässig sichtbar werden.
  • UX: Beim Start eines Timer‑Writes wird sofort ein Status wie "<Title>: Schreibe ..." an passende sichtbare Dialoge gesendet; keine Protokoll-/Parser-/Schreib‑Semantik oder APP_VERSION geändert.

Testing

  • python -m compileall . wurde ausgeführt und hat erfolgreich kompiliert (keine Syntaxfehler in den geänderten Dateien).
  • PYTHONPATH=. pytest wurde ausgeführt; alle Tests liefen durch: 16 passed, 2 skipped (Tests erfolgreich).

Codex Task

@dosordie dosordie merged commit 00a92a9 into work Jun 29, 2026
1 check passed
@dosordie dosordie deleted the codex/repair-visible-status-display-for-modbus branch July 9, 2026 07:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant