forked from AG_QGIS/Plugin_SN_Basis
42 lines
880 B
Python
42 lines
880 B
Python
"""
|
||
sn_basis/functions/dialog_wrapper.py – Benutzer-Dialoge
|
||
"""
|
||
|
||
from typing import Any
|
||
|
||
from sn_basis.functions.qt_wrapper import (
|
||
QMessageBox,
|
||
YES,
|
||
NO,
|
||
)
|
||
|
||
|
||
# ---------------------------------------------------------
|
||
# Öffentliche API
|
||
# ---------------------------------------------------------
|
||
|
||
def ask_yes_no(
|
||
title: str,
|
||
message: str,
|
||
default: bool = False,
|
||
parent: Any = None,
|
||
) -> bool:
|
||
"""
|
||
Fragt den Benutzer eine Ja/Nein-Frage.
|
||
|
||
- In Qt: zeigt einen QMessageBox-Dialog
|
||
- Im Mock-Modus: gibt den Default-Wert zurück
|
||
"""
|
||
try:
|
||
buttons = QMessageBox.Yes | QMessageBox.No
|
||
result = QMessageBox.question(
|
||
parent,
|
||
title,
|
||
message,
|
||
buttons,
|
||
YES if default else NO,
|
||
)
|
||
return result == YES
|
||
except Exception:
|
||
return default
|