from PySide6.QtWidgets import QDialog, QFileDialog from pathlib import Path from ui.XslDirConfigDialog_ui import Ui_XslDirConfigDialog class XslDirConfigDialog(QDialog): """Dialog zur Konfiguration von XSL-Verzeichnis ohne ID.""" def __init__(self, parent=None): super().__init__(parent) # UI einrichten self.ui = Ui_XslDirConfigDialog() self.ui.setupUi(self) # Signale verbinden self.ui.browseButton.clicked.connect(self.browse_directory) def browse_directory(self): """Öffnet einen Verzeichnisdialog.""" dir_path = QFileDialog.getExistingDirectory(self, "XSL Root-Verzeichnis auswählen") if dir_path: self.ui.pathEdit.setText(dir_path) def set_data(self, data): """Setzt die Daten in den Dialog.""" if data: self.ui.nameEdit.setText(data.get("name", "")) self.ui.pathEdit.setText(str(data.get("path_to_root_dir", ""))) def get_data(self): """Gibt die eingegebenen Daten zurück.""" if not self.ui.nameEdit.text().strip() or not self.ui.pathEdit.text().strip(): return None return {"name": self.ui.nameEdit.text().strip(), "path_to_root_dir": Path(self.ui.pathEdit.text().strip())}