2025-12-18 22:00:31 +01:00
|
|
|
|
"""
|
|
|
|
|
|
sn_basis/funktions/settings_logic.py – Logik zum Lesen und Schreiben der Plugin-Einstellungen
|
|
|
|
|
|
über den zentralen qgisqt_wrapper.
|
|
|
|
|
|
"""
|
2025-11-17 10:05:42 +01:00
|
|
|
|
|
2025-12-18 22:00:31 +01:00
|
|
|
|
from sn_basis.functions.qgisqt_wrapper import (
|
|
|
|
|
|
get_variable,
|
|
|
|
|
|
set_variable,
|
|
|
|
|
|
)
|
2025-11-17 10:05:42 +01:00
|
|
|
|
|
|
|
|
|
|
|
2025-12-18 22:00:31 +01:00
|
|
|
|
class SettingsLogic:
|
|
|
|
|
|
"""
|
|
|
|
|
|
Verwaltet das Laden und Speichern der Plugin-Einstellungen.
|
|
|
|
|
|
Alle Variablen werden als sn_* Projektvariablen gespeichert.
|
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
|
|
# Alle Variablen, die gespeichert werden sollen
|
|
|
|
|
|
VARIABLEN = [
|
|
|
|
|
|
"amt",
|
|
|
|
|
|
"behoerde",
|
|
|
|
|
|
"landkreis_user",
|
|
|
|
|
|
"sachgebiet",
|
|
|
|
|
|
"bezeichnung",
|
|
|
|
|
|
"verfahrensnummer",
|
|
|
|
|
|
"gemeinden",
|
|
|
|
|
|
"landkreise_proj",
|
|
|
|
|
|
]
|
2025-11-17 10:05:42 +01:00
|
|
|
|
|
|
|
|
|
|
def load(self) -> dict:
|
2025-12-18 22:00:31 +01:00
|
|
|
|
"""
|
|
|
|
|
|
Lädt alle Variablen aus dem Projekt.
|
|
|
|
|
|
Rückgabe: dict mit allen Werten (leere Strings, wenn nicht gesetzt).
|
|
|
|
|
|
"""
|
|
|
|
|
|
daten = {}
|
|
|
|
|
|
for key in self.VARIABLEN:
|
|
|
|
|
|
daten[key] = get_variable(key, scope="project")
|
|
|
|
|
|
return daten
|
|
|
|
|
|
|
|
|
|
|
|
def save(self, daten: dict):
|
|
|
|
|
|
"""
|
|
|
|
|
|
Speichert alle übergebenen Variablen im Projekt.
|
|
|
|
|
|
daten: dict mit key → value
|
|
|
|
|
|
"""
|
|
|
|
|
|
for key, value in daten.items():
|
|
|
|
|
|
if key in self.VARIABLEN:
|
|
|
|
|
|
set_variable(key, value, scope="project")
|