Edit-Dialoge: XSLT-Parameter nebeneinander + Force-Transformation

UI-Redesign für TreeNodeEditDialog und XslFileEditDialog:
- XSLT-Parameter-Tabellen werden jetzt nebeneinander angezeigt
- Eigene Parameter (editierbar) links, geerbte Parameter (read-only) rechts
- Bessere Übersicht durch direkten visuellen Vergleich
- Fensterbreite auf ~870px erhöht für optimale Darstellung
- Icons für Hinzufügen/Entfernen-Buttons hinzugefügt
- Kompakteres Layout durch reduzierte Margins

Neue Funktionalität: Force-Transformation nach Bearbeitung
- Neue CheckBox "Alle XML-Dateien neu transformieren (force)" in beiden Dialogen
- Beim Schließen mit OK werden alle untergeordneten XML-Dateien transformiert
- TreeNodeEditDialog: Transformiert rekursiv alle XML-Dateien unter dem Knoten
- XslFileEditDialog: Transformiert alle XML-Dateien der XSL-Datei
- Transformation erfolgt auch bei bereits aktuellem Output (force=True)

Implementierungsdetails:
- TreeNodeEditDialog.get_data() gibt jetzt force_transform zurück
- XslFileEditDialog.get_data() gibt jetzt force_transform zurück
- MainWindow._find_item_by_node() findet Item nach TreeWidget-Neuladen
- MainWindow._edit_tree_node() startet Force-Transformation bei Bedarf
- MainWindow._edit_xsl_file() startet Force-Transformation bei Bedarf

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-16 20:32:33 +01:00
parent 5b64cf5890
commit 091096270a
7 changed files with 715 additions and 436 deletions
+6 -2
View File
@@ -122,7 +122,7 @@ class TreeNodeEditDialog(QDialog):
def get_data(self):
"""
Gibt die bearbeiteten Daten zurück.
Returns:
dict: Dictionary mit den bearbeiteten Daten oder None bei Fehler
"""
@@ -145,9 +145,13 @@ class TreeNodeEditDialog(QDialog):
if key: # Nur Parameter mit nicht-leerem Schlüssel hinzufügen
xslt_params[key] = value
# CheckBox für Force-Transformation prüfen
force_transform = self.ui.alle_xml_transformieren.isChecked()
return {
"bez": bez,
"xslt_params": xslt_params
"xslt_params": xslt_params,
"force_transform": force_transform
}
def accept(self):