forked from AG_QGIS/Plugin_SN_Basis
53 lines
1.7 KiB
Python
53 lines
1.7 KiB
Python
#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
|