Feat: Projekt-Baum verschlanken und XSL-Dateiname im Edit-Dialog anzeigen (v1.5.0)
Mittlere Spalte (Kontextinfos) aus dem Projekt-Baum entfernt, sodass nur noch Bezeichnung und Diff-PDF-Anzahl angezeigt werden. XSL-Dateiname wird jetzt als nur-lese Label oben im XslFileEditDialog angezeigt. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -227,7 +227,7 @@ class TransformationMixin:
|
||||
|
||||
def _update_diff_pdf_counts_recursive(self, tree_item: QTreeWidgetItem):
|
||||
"""
|
||||
Aktualisiert rekursiv die Diff-PDF-Anzahl in Spalte 2 für alle TreeNode und XslFile Items.
|
||||
Aktualisiert rekursiv die Diff-PDF-Anzahl in Spalte 1 für alle TreeNode und XslFile Items.
|
||||
|
||||
Args:
|
||||
tree_item: Das TreeWidgetItem (kann Root oder beliebiger Knoten sein)
|
||||
@@ -237,7 +237,7 @@ class TransformationMixin:
|
||||
# Aktualisiere nur für TreeNode und XslFile, nicht für XmlFile
|
||||
if isinstance(node, (TreeNode, XslFile)):
|
||||
count = self._count_diff_pdfs_under_node(node, tree_item)
|
||||
tree_item.setText(2, str(count) if count > 0 else "")
|
||||
tree_item.setText(1, str(count) if count > 0 else "")
|
||||
|
||||
# Rekursiv für alle Kinder
|
||||
for i in range(tree_item.childCount()):
|
||||
@@ -614,11 +614,11 @@ class TransformationMixin:
|
||||
self.ui.treeWidget.scrollToItem(tree_item)
|
||||
|
||||
# Entferne vorhandenes Widget (falls Icon vorhanden)
|
||||
self.ui.treeWidget.removeItemWidget(tree_item, 2)
|
||||
self.ui.treeWidget.removeItemWidget(tree_item, 1)
|
||||
|
||||
# Erstelle und setze Progress Bar
|
||||
progress_widget, progress_bar = self._create_centered_progress_bar()
|
||||
self.ui.treeWidget.setItemWidget(tree_item, 2, progress_widget)
|
||||
self.ui.treeWidget.setItemWidget(tree_item, 1, progress_widget)
|
||||
|
||||
logger.debug(f"Progress Bar für {xml_file_name} gesetzt und Eltern-Knoten geöffnet")
|
||||
else:
|
||||
@@ -659,7 +659,7 @@ class TransformationMixin:
|
||||
self, "Transformation fehlgeschlagen", f"XML-Datei: {xml_file}\n\nFehler:\n{error_text}"
|
||||
)
|
||||
|
||||
# Update Widget in Spalte 2: Entferne Progress Bar, zeige Icon wenn Diff-PDF existiert
|
||||
# Update Widget in Spalte 1: Entferne Progress Bar, zeige Icon wenn Diff-PDF existiert
|
||||
xml_file_str = result.get("xml_file", "")
|
||||
xsl_id = result.get("xsl_id", None)
|
||||
xsl_id_str = "_".join(str(x) for x in xsl_id) if xsl_id else ""
|
||||
@@ -669,13 +669,13 @@ class TransformationMixin:
|
||||
|
||||
if tree_item:
|
||||
# Entferne Progress Bar
|
||||
self.ui.treeWidget.removeItemWidget(tree_item, 2)
|
||||
self.ui.treeWidget.removeItemWidget(tree_item, 1)
|
||||
|
||||
# Wenn Diff-PDF existiert, zeige Icon
|
||||
if diff_pdf_str and Path(diff_pdf_str).exists():
|
||||
xml_file_path = Path(xml_file_str)
|
||||
icon_widget = self._create_centered_diff_icon(xml_file_path, xsl_id_str)
|
||||
self.ui.treeWidget.setItemWidget(tree_item, 2, icon_widget)
|
||||
self.ui.treeWidget.setItemWidget(tree_item, 1, icon_widget)
|
||||
logger.debug(f"Diff-Icon für {xml_file_str} gesetzt")
|
||||
else:
|
||||
logger.debug(f"Keine Diff-PDF für {xml_file_str}, kein Icon gesetzt")
|
||||
@@ -699,7 +699,7 @@ class TransformationMixin:
|
||||
map_key = f"{xml_file_name}|{xsl_id_str}"
|
||||
tree_item = self.xml_item_map.get(map_key)
|
||||
if tree_item:
|
||||
self.ui.treeWidget.removeItemWidget(tree_item, 2)
|
||||
self.ui.treeWidget.removeItemWidget(tree_item, 1)
|
||||
logger.debug(f"Progress Bar für {map_key} entfernt (Fehler)")
|
||||
|
||||
def _on_all_transformations_finished(self, successful_count: int, total_count: int, total_duration: float):
|
||||
|
||||
Reference in New Issue
Block a user