Library Phase A.2 (Symbol/Object-Import) + Oberleiste-Pill-Restyle

Library Phase A.2:
- import_symbol/import_object via File3dm.Read + InstanceDefinitions.Add
- Stabile Block-Namen 'dossier_lib_<libraryId>' fuer Dedupe
- Seed-Manifest erweitert um Nordpfeil (symbol) + Laubbaum (object)
- ItemCard rendert type-spezifische Preview (Color-Swatch fuer material,
  Material-Icon fuer symbol/object)

Oberleiste-Pill-Restyle:
- OberleisteApp: Version unter DOSSIER-Logo, Settings-Icons vertikal
  gestapelt
- ProjectSettingsDialog: Pill-Tabs, BarToggle-Footer, MaterialRow mit
  Hover-Highlight, Header entfernt (Eto.Form hat eigenen)
- LibraryBrowser: BarButton-Reload, Pill-Typ-Filter, MaterialCard mit
  BarToggle-Pill, Header entfernt
- Globaler select-Stil: bg-input statt bg-item (dunkler im Dark-Mode,
  konsistent zu Oberleiste-BarCombo)

Routing:
- OberleisteBridge delegiert OPEN_PROJECT_SETTINGS + OPEN_LIBRARY an
  EbenenBridge (sticky ebenen_bridge_ref) — vorher kamen die Messages an
  der falschen Bridge an und wurden verschluckt

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-24 16:57:42 +02:00
parent f60d643bb7
commit f760d1c54b
6 changed files with 375 additions and 217 deletions
+16
View File
@@ -1066,6 +1066,22 @@ class OberleisteBridge(panel_base.BaseBridge):
masse_settings.open_as_window()
except Exception as ex:
print("[OBERLEISTE] open masse:", ex)
elif t == "OPEN_PROJECT_SETTINGS":
# Delegiert an EBENEN-Bridge (sie haelt die Satellite-Logik fuer
# Projekt-Settings + Library).
try:
eb = sc.sticky.get("ebenen_bridge_ref")
if eb is not None: eb._open_project_settings()
else: print("[OBERLEISTE] open project-settings: ebenen_bridge_ref nicht da")
except Exception as ex:
print("[OBERLEISTE] open project-settings:", ex)
elif t == "OPEN_LIBRARY":
try:
eb = sc.sticky.get("ebenen_bridge_ref")
if eb is not None: eb._open_library()
else: print("[OBERLEISTE] open library: ebenen_bridge_ref nicht da")
except Exception as ex:
print("[OBERLEISTE] open library:", ex)
# --- Darstellung (SIA-400 LoD globaler Override) -----------------
elif t == "SET_DARSTELLUNG":