262 Commits

Author SHA1 Message Date
info c699c53a14 PDF-Ordnerstruktur auf 'new', 'ref' und 'diff' umgestellt
Die PDF-Generierung verwendet nun die Ordner 'new', 'ref' und 'diff'
anstelle von 'output', 'valide' und 'diff'. Dies ermöglicht die
Integration mit MainWindow._load_images(), die PDFs in den Ordnern
'new', 'ref' und 'diff' sucht.

Änderungen:
- output_dir → new_dir (für neu generierte PDFs)
- valide_dir → ref_dir (für Referenz-PDFs)
- Alle Variablen und Log-Meldungen entsprechend angepasst
- Unused import entfernt (typing.Optional)

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-12 21:38:24 +01:00
info ee6ded95ab PDF-Dateinamen enthalten nun XSL-ID zur Vermeidung von Überschreibungen
Wenn eine XML-Datei mehreren XSL-Dateien zugeordnet ist, wurden die
generierten PDFs bisher überschrieben. Jetzt wird die XSL-ID in den
Dateinamen integriert (z.B. rechnung_xsl_1.pdf, rechnung_xsl_2.pdf),
sodass jede Transformation ihre eigene PDF-Datei erhält.

Änderungen:
- TransformationJob: xsl_id Parameter hinzugefügt
- Dateinamen-Generierung berücksichtigt XSL-ID (Tuple → String)
- MainWindow: XSL-ID wird an TransformationJob übergeben

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-12 21:24:54 +01:00
info c593ff145b XSL-Transformations-Engine mit Saxon, Apache FOP und diff-pdf implementiert
Fügt die komplette Transformations-Pipeline hinzu:
- Saxon XSLT-Transformation (XML → FO) mit vollständigem Classpath-Support
- Apache FOP PDF-Generierung (FO → PDF) mit plattformübergreifender Unterstützung
- Automatische diff-pdf Vergleichs- und Diff-Generierung
- Valide-PDF-Verwaltung (Referenz-PDFs beim ersten erfolgreichen Build)
- Up-to-Date-Prüfung basierend auf Datei-Zeitstempeln
- Asynchrone Ausführung via TransformationThread (QThread)
- Kontextmenü-Integration für XML- und XSL-Dateien
- Detailliertes Fehler-Reporting und Fortschritts-Feedback

Neue Dateien:
- src/transform.py: TransformationJob-Klasse mit vollständiger Pipeline

Erweiterte Dateien:
- src/ui/MainWindow.py: TransformationThread und Transformations-Methoden

Technische Details:
- Löst Saxon ClassNotFoundException durch Verwendung aller JARs im Saxon-Verzeichnis
- Verwendet -cp statt -jar für vollständigen Classpath-Zugriff
- Automatisches Cleanup temporärer FO-Dateien
- Thread-sicheres Shutdown-Handling

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-11 21:26:13 +01:00
info 6e4d28d3a8 Defensive Null-Checks in MainWindow hinzugefügt
Ergänzt umfassende Existenzprüfungen für pdf_project, project und nodes-Attribute
vor dem Zugriff, um NoneType-Fehler zu vermeiden. Verbessert die Robustheit der
Anwendung bei nicht initialisierten Projekten.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-07 20:34:29 +01:00
info d314cf5612 Hash-basierte XML-Duplikatserkennung und intelligente Dateinamen-Verwaltung
Implementiert automatische Erkennung von XML-Datei-Duplikaten basierend auf blake2b-Hashes. Bei Hash-Match wird die vorhandene Datei automatisch zugeordnet statt sie zu kopieren. Bei Dateinamen-Konflikten werden alternative Namen (datei_1.xml, datei_2.xml, etc.) mit Auswahl-Dialog angeboten.

Neue Features:
- Projekt-weite Hash-Duplikatserkennung
- Automatische Zuordnung vorhandener Dateien bei Hash-Match
- Alternative Dateinamen-Generierung mit Benutzer-Dialog
- Performance-Optimierung durch Set-basierte Dateinamen-Prüfung
- Umfassende Dokumentation und Test-Suite

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-07 20:15:38 +01:00
info 0417996db2 Konfigurationsstruktur konsolidiert und bereinigt
- agents.md Dateien aus verschiedenen Verzeichnissen entfernt
- .kilocode/rules/CLAUDE.md als zentrale Konfiguration hinzugefügt
- CLAUDE.md Dokumentation aktualisiert

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-07 15:39:54 +01:00
info caddfc68fb Deutsche Sprachanweisung und Code-Bereinigung
- CLAUDE.md: Deutsche Sprachanweisung am Anfang hinzugefügt
- src/main.py: Auskommentierten qdarktheme Code entfernt (Import und Setup)
- Verbessert Code-Qualität durch Entfernen von totem Code

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-07 12:51:33 +01:00
info 2e86a4befb CLAUDE.md Dokumentation hinzugefügt und Konfigurationspfad-Handling verbessert
- CLAUDE.md mit umfassender Projektdokumentation für Claude Code hinzugefügt
- Beschreibt Architektur, Datenmodelle, UI-Muster und Entwicklungsworkflows
- Konfigurationspfad-Verarbeitung in src/conf.py robuster gemacht:
  - os.path durch pathlib.Path ersetzt
  - Validierung für Schreibrechte und Verzeichnisexistenz hinzugefügt
  - Besseres Error-Handling mit sys.exit(1) bei fehlenden Berechtigungen

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-11 13:00:32 +02:00
info 5c91836d87 Bessere Unterstützung unter Linux fhür '~' als home dir 2025-10-02 21:00:19 +02:00
info f2491c5478 Die XML-Dateien haben nun hashsummen in Projekt-Datei 2025-09-20 17:22:09 +02:00
info f64693e0a7 Es wird kontrolliertob aus PDF-Projekte vorhanden 2025-09-19 20:33:06 +02:00
info 98cc8b26f6 Alphabetische Sortierung des Knotenbaums 2025-09-19 20:29:56 +02:00
info dcfaf09ebd Einige Packete aktualisiert 2025-09-18 20:58:00 +02:00
info 562a8f831b Beschriftungen in Dialogen angepasst 2025-09-07 15:52:06 +02:00
info 7c2e687522 Löscheen der XML-Dateien aus dem Projekt implementiert 2025-08-31 17:50:06 +02:00
info f604a52b82 Checkbox wird zentriert angezeigt 2025-08-31 17:37:51 +02:00
info 916c29f235 Unnötige Imports entfernt 2025-08-31 17:06:24 +02:00
info c82f9dccbd Die Drag&Drop-Funktionalität für XML-Dateien 2025-08-31 17:04:22 +02:00
info 7ab22dacc3 Einige Erfolgs-Meldungen weren nun unterdrückt 2025-08-14 20:47:48 +02:00
info 203edf3ad1 Kinder in Knoten umbenannt 2025-08-14 20:37:03 +02:00
info db230494a2 Abstand im Baul zwieschen Items angepasst 2025-08-14 20:32:29 +02:00
info 2e977f68c4 Merge branch 'bearbeiten_der_nodes' 2025-08-12 21:15:14 +02:00
info 47f361e3ba Kontextmenü ist repariert 2025-08-12 21:13:00 +02:00
info 21547003f9 Nodes sollen bearbeitbar sein 2025-08-12 20:56:26 +02:00
info b69b8755a8 In jedem TreeItem werden Daten des Nodes komplett gespeichert. 2025-08-12 20:08:26 +02:00
info b6f41e188e Kilo und Cline agents.md hinzugefügt 2025-08-10 17:33:05 +02:00
info 8b576b3fa7 Hinzufügen der XML-Dateien
Klassen zur besseren Unterscheidung umbenant
2025-08-10 17:32:22 +02:00
info 5285e92757 readCsv gelöscht, weil in MainWindow.py implementiert 2025-08-10 15:06:30 +02:00
info 690f8bd34d Laden der Daten aus Datenbank. 2025-08-10 14:03:15 +02:00
info 644ae4dc26 Einige Packete aktualisiert 2025-08-10 12:17:22 +02:00
info feb37ae8ab Icons für Kontextmeanü 2025-08-03 20:31:32 +02:00
info 719d4b34e7 Kontexrmenü für neues Root-Element im Baum 2025-08-03 17:04:23 +02:00
info 253e4fa01d Kontextmenü für Baum erstellt 2025-08-03 16:31:38 +02:00
info f5eafe436e Neues Button 2025-08-03 12:15:32 +02:00
info b1042491ff Bereite der einzelner Bereiche ist veränderbar 2025-07-27 20:24:53 +02:00
info 078f705c5d Kleine Anpassungen 2025-07-27 19:41:04 +02:00
info d91c19fe8c Der Projekt-Baum wird beim Öffnen des Projektes gefüllt 2025-07-27 18:33:14 +02:00
info f2c1e3d6b0 pyarrow aktualisiert 2025-07-27 15:55:52 +02:00
info 0aed454cd8 Kleine Anpassungen im PdfProjectSettings 2025-07-17 19:12:41 +02:00
info 91ae941d03 Config aangepasst
Project-Dialog um Postgres DB erweitert
2025-07-14 21:00:06 +02:00
info 8bfdaed0b4 res einen Ordner nach oben verschoben 2025-07-13 20:41:30 +02:00
info 768baf5dc1 Test der Datenbank läuft im Hintergrund 2025-07-12 20:40:49 +02:00
info ebe20fe7d9 Einige Bibliotheken aktualisiert 2025-07-10 20:22:35 +02:00
info 8c8d3926d4 Kleine Anpassung 2025-06-23 19:05:12 +02:00
info deee379419 Bezeichnung einer Variable berichtigt 2025-06-22 20:11:15 +02:00
info 590e844057 Test der Datenbank-Verbindung 2025-06-22 19:58:40 +02:00
info 262a61dc7a connectorx als Abhängickeit für SQL-Abfragen 2025-06-22 18:26:34 +02:00
info b226be4e4e Dialoge für PostgreSQL erstellt 2025-06-22 18:12:27 +02:00
info b8441d1ab4 Laden der Project.yaml aus dem Projekt-Verzeichnis 2025-06-22 14:47:17 +02:00
info 51e3453f92 Neue Menü mit eingerichteten Projekten 2025-06-22 11:58:57 +02:00