Feature: Aktions-Menü mit Batch-Transformationen und UI-Bereinigung
- Neues Aktions-Menü mit Transformations- und Datenbankfunktionen - Menü wird beim Projekt-Laden automatisch aktiviert - Neue Aktion: Alle XML-Dateien transformieren (inkrementell) - Neue Aktion: Alle XML-Dateien neu transformieren (force) - Neue Aktion: Aus Datenbank laden (ersetzt Button) - Entfernte obsolete Buttons (pushButton, pushButton_2, pB_lade_aus_fn2) - UI-Bereinigung: Button-Frame unterhalb TreeWidget entfernt - Batch-Transformationen sammeln rekursiv alle XML/XSL-Paare - Bestätigungsdialoge mit Job-Anzahl und Warnungen - Deutsche Log-Meldungen und Fehlertexte
This commit is contained in:
@@ -284,6 +284,10 @@ class MainWindow(
|
||||
|
||||
# Worker-Pools werden jetzt erst beim Start der Transformation initialisiert (lazy loading)
|
||||
|
||||
# Aktiviere das Aktions-Menü, da ein Projekt geladen wurde
|
||||
self.ui.menuAktion.setEnabled(True)
|
||||
logger.info("Aktions-Menü aktiviert nach Projekt-Laden")
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"Fehler beim Laden des Projekts '{project.name}': {e}")
|
||||
# Fallback: Erstelle Standard-Einstellungen
|
||||
@@ -326,8 +330,6 @@ class MainWindow(
|
||||
|
||||
def _connect_signals(self):
|
||||
"""Verbindet Signale mit den entsprechenden Slots."""
|
||||
# Button-Klicks verbinden
|
||||
self.ui.pushButton.clicked.connect(self.on_button_clicked)
|
||||
|
||||
# Zoom-Slider verbinden
|
||||
self.ui.zoom.valueChanged.connect(self.apply_zoom)
|
||||
@@ -340,6 +342,8 @@ class MainWindow(
|
||||
# Menü-Aktionen verbinden
|
||||
self.ui.actionNeu.triggered.connect(self.open_new_project_dialog)
|
||||
self.ui.actionEinstellungen.triggered.connect(self.open_settings_dialog)
|
||||
self.ui.actionAlle_XML_Dateien_transformieren.triggered.connect(self._transform_all_xml_files)
|
||||
self.ui.actionAlle_XML_Dateien_neu_transformieren_force.triggered.connect(self._transform_all_xml_files_force)
|
||||
|
||||
# Worker-Pool-Metriken Menüeintrag (programmatisch hinzufügen)
|
||||
from PySide6.QtGui import QAction
|
||||
@@ -360,8 +364,8 @@ class MainWindow(
|
||||
else:
|
||||
self.ui.menuProjekt.addAction(self.action_worker_metrics)
|
||||
|
||||
# Button "lade aus FN2" verbinden
|
||||
self.ui.pB_lade_aus_fn2.clicked.connect(self.on_load_from_fn2_clicked)
|
||||
# Menü-Aktion "Aus Datenbank laden" verbinden (macht das Gleiche wie Button)
|
||||
self.ui.actionAus_Datenbank_laden.triggered.connect(self.on_load_from_fn2_clicked)
|
||||
|
||||
# Button "Accept Changes" verbinden
|
||||
self.ui.accept_changes.clicked.connect(self._on_accept_changes_clicked)
|
||||
@@ -462,10 +466,6 @@ class MainWindow(
|
||||
logger.error(f"Fehler beim Erstellen der Projekt-Struktur: {e}")
|
||||
raise
|
||||
|
||||
def on_button_clicked(self):
|
||||
"""Wird ausgeführt, wenn der Button geklickt wird."""
|
||||
logger.debug("Button wurde geklickt!")
|
||||
|
||||
def _update_diff_icons_for_existing_pdfs(self):
|
||||
"""
|
||||
Durchläuft alle XML-Items und setzt Icons für bereits existierende Diff-PDFs.
|
||||
|
||||
Reference in New Issue
Block a user