38 lines
1.3 KiB
Python
38 lines
1.3 KiB
Python
|
|
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())}
|