About-Dialog als eigenes Fenster (Eto-Form + WebView) statt Inline-Modal

User-Feedback: About sollte nicht als overlay im Panel erscheinen sondern
ein echtes OS-Fenster sein wie Kamera/Masse-Settings.

Neu:
- rhino/about.py: open_as_window() via panel_base.open_satellite_window
  (read-only, kein Bridge-Save/Cancel-Callback noetig)
- src/AboutApp.jsx: gleiche Inhalte wie der vorige Modal — Versionen,
  Autor, Website, Lizenz — in einer 440x380 Eto-Form
- src/main.jsx: mode 'about' → AboutApp
- openAbout() in rhinoBridge.js sendet OPEN_ABOUT an Oberleiste
- OberleisteBridge handler OPEN_ABOUT → about.open_as_window()

OberleisteApp:
- Logo-onClick aufgeräumt: openAbout() statt setAboutOpen(true)
- aboutOpen-State und die AboutModal-Komponente entfernt

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-20 22:07:23 +02:00
parent 76572968ca
commit c8286b931b
6 changed files with 92 additions and 81 deletions
+24
View File
@@ -0,0 +1,24 @@
#! python 3
# -*- coding: utf-8 -*-
"""
about.py
About-Dialog als Eto-Form + WebView. Vom DOSSIER-Logo-Klick in der
Oberleiste geoeffnet. Read-only — keine Bridge-Endpoints noetig.
"""
import os
import sys
_HERE = os.path.dirname(os.path.abspath(__file__))
if _HERE not in sys.path:
sys.path.insert(0, _HERE)
import panel_base
def open_as_window():
"""Oeffnet das About-Fenster (Eto.Form + WebView). Read-only Info
(Versionen + Lizenz) — Standard-SAVE/CANCEL-Bridge ohne Callbacks."""
panel_base.open_satellite_window(
"about",
title="Über Dossier",
size=(440, 380))
+8
View File
@@ -898,6 +898,14 @@ class OberleisteBridge(panel_base.BaseBridge):
except Exception as ex:
print("[OBERLEISTE] open kamera:", ex)
# --- About-Fenster ----------------------------------------------
elif t == "OPEN_ABOUT":
try:
import about
about.open_as_window()
except Exception as ex:
print("[OBERLEISTE] open about:", ex)
# --- Masse (Mass-Style) -----------------------------------------
elif t == "SET_MASSE_ACTIVE":
try: