Dialoge in eigene Dateien ausgelagert
- `JavaVmConfigDialog` - `DiffPdfConfigDialog` - `SaxonJarConfigDialog` - `ApacheFopConfigDialog` - `XslDirConfigDialog`
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
from PySide6.QtWidgets import QDialog, QFileDialog
|
||||
from pathlib import Path
|
||||
|
||||
from ui.DiffPdfConfigDialog_ui import Ui_DiffPdfConfigDialog
|
||||
|
||||
|
||||
class DiffPdfConfigDialog(QDialog):
|
||||
"""Dialog zur Konfiguration von DiffPdf ohne ID."""
|
||||
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent)
|
||||
|
||||
# UI einrichten
|
||||
self.ui = Ui_DiffPdfConfigDialog()
|
||||
self.ui.setupUi(self)
|
||||
|
||||
# Signale verbinden
|
||||
self.ui.browseButton.clicked.connect(self.browse_binary_file)
|
||||
|
||||
def browse_binary_file(self):
|
||||
"""Öffnet einen Dateidialog für die Binary-Datei."""
|
||||
file_path, _ = QFileDialog.getOpenFileName(
|
||||
self, "DiffPdf Binary-Datei auswählen", "", "Executable Files (*.exe);;All Files (*)"
|
||||
)
|
||||
if file_path:
|
||||
self.ui.pathEdit.setText(file_path)
|
||||
|
||||
def set_data(self, data):
|
||||
"""Setzt die Daten in den Dialog."""
|
||||
if data:
|
||||
self.ui.versionEdit.setText(data.get("version", ""))
|
||||
self.ui.pathEdit.setText(str(data.get("path_to_binary_file", "")))
|
||||
self.ui.paramsEdit.setPlainText("\n".join(data.get("default_params", [])))
|
||||
self.ui.extensionEdit.setText(data.get("output_file_extension", "pdf"))
|
||||
|
||||
def get_data(self):
|
||||
"""Gibt die eingegebenen Daten zurück."""
|
||||
if not self.ui.versionEdit.text().strip() or not self.ui.pathEdit.text().strip():
|
||||
return None
|
||||
|
||||
# Parameter aus dem Text extrahieren
|
||||
params_text = self.ui.paramsEdit.toPlainText().strip()
|
||||
params = [line.strip() for line in params_text.split("\n") if line.strip()] if params_text else []
|
||||
|
||||
return {
|
||||
"version": self.ui.versionEdit.text().strip(),
|
||||
"path_to_binary_file": Path(self.ui.pathEdit.text().strip()),
|
||||
"default_params": params,
|
||||
"output_file_extension": self.ui.extensionEdit.text().strip() or "pdf",
|
||||
}
|
||||
Reference in New Issue
Block a user