forked from AG_QGIS/Plugin_SN_Basis
PruefManager und Daten aus P41 übertragen
This commit is contained in:
51
modules/Pruefmanager.py
Normal file
51
modules/Pruefmanager.py
Normal file
@@ -0,0 +1,51 @@
|
||||
from PyQt5.QtWidgets import QMessageBox, QFileDialog
|
||||
from 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:
|
||||
"""Fragt den Nutzer, ob die vorhandene Datei ersetzt, angehängt oder abgebrochen werden soll."""
|
||||
msg = QMessageBox()
|
||||
msg.setIcon(QMessageBox.Question)
|
||||
msg.setWindowTitle("Datei existiert")
|
||||
msg.setText(f"Die Datei '{pfad}' existiert bereits.\nWas möchtest du tun?")
|
||||
msg.setStandardButtons(QMessageBox.Yes | QMessageBox.No | QMessageBox.Cancel)
|
||||
msg.setDefaultButton(QMessageBox.Yes)
|
||||
msg.button(QMessageBox.Yes).setText("Ersetzen")
|
||||
msg.button(QMessageBox.No).setText("Anhängen")
|
||||
msg.button(QMessageBox.Cancel).setText("Abbrechen")
|
||||
|
||||
result = msg.exec_()
|
||||
|
||||
if result == QMessageBox.Yes:
|
||||
return DateiEntscheidung.ERSETZEN
|
||||
elif result == QMessageBox.No:
|
||||
return DateiEntscheidung.ANHAENGEN
|
||||
else:
|
||||
return DateiEntscheidung.ABBRECHEN
|
||||
|
||||
def frage_temporär_verwenden(self) -> bool:
|
||||
"""Fragt den Nutzer, ob mit temporären Layern gearbeitet werden soll."""
|
||||
msg = QMessageBox()
|
||||
msg.setIcon(QMessageBox.Question)
|
||||
msg.setWindowTitle("Temporäre Layer")
|
||||
msg.setText("Kein Speicherpfad wurde angegeben.\nMit temporären Layern fortfahren?")
|
||||
msg.setStandardButtons(QMessageBox.Yes | QMessageBox.No)
|
||||
msg.setDefaultButton(QMessageBox.Yes)
|
||||
|
||||
result = msg.exec_()
|
||||
return result == QMessageBox.Yes
|
||||
|
||||
def waehle_dateipfad(self, titel="Speicherort wählen", filter="GeoPackage (*.gpkg)") -> str:
|
||||
"""Öffnet einen QFileDialog zur Dateiauswahl."""
|
||||
pfad, _ = QFileDialog.getSaveFileName(
|
||||
parent=None,
|
||||
caption=titel,
|
||||
directory=self.plugin_pfad or "",
|
||||
filter=filter
|
||||
)
|
||||
return pfad
|
||||
Reference in New Issue
Block a user