#Pruefmanager.py from modules.qt_compat import QMessageBox, QFileDialog, YES, NO, CANCEL, ICON_QUESTION, exec_dialog from modules.Dateipruefer import DateiEntscheidung class PruefManager: def __init__(self, iface=None, plugin_pfad=None): self.iface = iface self.plugin_pfad = plugin_pfad def frage_datei_ersetzen_oder_anhaengen(self, pfad: str) -> DateiEntscheidung: msg = QMessageBox() msg.setIcon(ICON_QUESTION) msg.setWindowTitle("Datei existiert") msg.setText(f"Die Datei '{pfad}' existiert bereits.\nWas möchtest du tun?") msg.setStandardButtons(YES | NO | CANCEL) msg.setDefaultButton(YES) msg.button(YES).setText("Ersetzen") msg.button(NO).setText("Anhängen") msg.button(CANCEL).setText("Abbrechen") result = exec_dialog(msg) if result == YES: return DateiEntscheidung.ERSETZEN elif result == NO: return DateiEntscheidung.ANHAENGEN else: return DateiEntscheidung.ABBRECHEN def frage_temporär_verwenden(self) -> bool: msg = QMessageBox() msg.setIcon(ICON_QUESTION) msg.setWindowTitle("Temporäre Layer") msg.setText("Kein Speicherpfad wurde angegeben.\nMit temporären Layern fortfahren?") msg.setStandardButtons(YES | NO) msg.setDefaultButton(YES) result = exec_dialog(msg) return result == YES def waehle_dateipfad(self, titel="Speicherort wählen", filter="GeoPackage (*.gpkg)") -> str: pfad, _ = QFileDialog.getSaveFileName( parent=None, caption=titel, directory=self.plugin_pfad or "", filter=filter ) return pfad