Dialoge in eigene Dateien ausgelagert

- `JavaVmConfigDialog`
- `DiffPdfConfigDialog`
- `SaxonJarConfigDialog`
- `ApacheFopConfigDialog`
- `XslDirConfigDialog`
This commit is contained in:
2025-06-17 20:12:38 +02:00
parent 02d1d4ada4
commit 76b5182a53
7 changed files with 317 additions and 203 deletions
+16 -1
View File
@@ -8,13 +8,14 @@ from ui.PdfProject_ui import Ui_projectDlg
class PdfProjectDlg(QDialog):
def __init__(self, parent=None, project_data=None):
def __init__(self, parent=None, project_data=None, edit_mode=False):
"""
Konstruktor für den PDF-Projekt-Dialog.
Args:
parent: Übergeordnetes Widget
project_data: Bestehende Projektdaten zum Bearbeiten (optional)
edit_mode: Wenn True, werden Projekt-Name und -Ordner deaktiviert (nur Einstellungen ändern)
"""
super().__init__(parent)
@@ -24,6 +25,7 @@ class PdfProjectDlg(QDialog):
# Projektdaten speichern
self.project_data = project_data or {}
self.edit_mode = edit_mode
# Dialog-Eigenschaften setzen
self.setModal(True)
@@ -35,6 +37,10 @@ class PdfProjectDlg(QDialog):
# ComboBoxen initialisieren
self._init_combo_boxes()
# Edit-Modus konfigurieren
if self.edit_mode:
self._configure_edit_mode()
# Bestehende Projektdaten laden, falls vorhanden
if self.project_data:
self._load_project_data()
@@ -233,6 +239,15 @@ class PdfProjectDlg(QDialog):
'diff_pdf_id': self.ui.comboBox.currentData()
}
def _configure_edit_mode(self):
"""Konfiguriert den Dialog für den Edit-Modus (nur Einstellungen ändern)."""
# Projekt-Ordner und Browse-Button deaktivieren
self.ui.lineProjectDir.setEnabled(False)
self.ui.pushButton.setEnabled(False)
# Dialog-Titel ändern
self.setWindowTitle("Projekt-Einstellungen bearbeiten")
def set_project_data(self, project_data):
"""
Setzt die Projektdaten in den Dialog.