Progress Bar und Diff-PDF-Icon im TreeWidget implementiert

Neue Features:
- Progress Bar in Spalte 2 während XML-Transformationen
- Diff-PDF-Icon erscheint nach Transformation bei vorhandener Diff-PDF
- Doppelklick auf Icon öffnet Diff-PDF mit System-Viewer
- Initial-Laden von Icons für existierende Diff-PDFs beim Projektstart

Technische Implementierung:
- XML-Item-Mapping mit eindeutigem Key-Format: "xml_path|xsl_id"
- Unterstützt mehrfache Verwendung derselben XML bei verschiedenen XSL-Dateien
- TransformationThread-Signale erweitert um XSL-ID-Parameter
- Widget-Factory-Methoden für zentrierte Progress Bar und klickbare Icons
- Result-Dictionary in transform.py enthält jetzt xsl_id

UI-Anpassungen:
- TreeWidget Spaltenanzahl von 2 auf 3 erhöht
- setItemWidget() für dynamische Widget-Verwaltung in Spalte 2

Dateien:
- src/ui/MainWindow.py: Hauptimplementierung mit Signal-Handlern
- src/transform.py: xsl_id im Result-Dictionary
- src/ui/MainWinddow.ui: Spalte 3 hinzugefügt
- src/ui/MainWinddow_ui.py: Auto-generiert aus UI-Datei

🤖 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-13 21:06:40 +01:00
parent b961fe1e1a
commit 629485f5e4
4 changed files with 1084 additions and 838 deletions
+11 -6
View File
@@ -64,7 +64,7 @@
</sizepolicy>
</property>
<property name="columnCount">
<number>2</number>
<number>3</number>
</property>
<attribute name="headerHighlightSections">
<bool>true</bool>
@@ -82,6 +82,11 @@
<string notr="true">2</string>
</property>
</column>
<column>
<property name="text">
<string notr="true">3</string>
</property>
</column>
</widget>
</item>
<item>
@@ -171,8 +176,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>54</width>
<height>718</height>
<width>68</width>
<height>728</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
@@ -349,8 +354,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>649</width>
<height>690</height>
<width>625</width>
<height>700</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
@@ -396,7 +401,7 @@
<x>0</x>
<y>0</y>
<width>1263</width>
<height>33</height>
<height>22</height>
</rect>
</property>
<widget class="QMenu" name="menuProjekt">