Fix log tags + SAVE_LANG bridge bug

panel_base: add _MODE_LOG_TAG map + _tag() function so Panel
registered/opened use [LAYERS], [TOOLBAR] etc. instead of [EBENEN]/[OBERLEISTE]

toolbar: _open_dossier_settings_panel now uses a custom _SettingsBridge
that actually handles SAVE_LANG -> writes lang to settings + reloads
all panels. Previously the default _SatelliteBridge only handled SAVE/CANCEL
so language switching did nothing.
This commit is contained in:
2026-06-06 13:09:54 +02:00
parent b9a2124026
commit 220a1e2bb3
2 changed files with 69 additions and 23 deletions
+24
View File
@@ -2216,6 +2216,29 @@ def _open_dossier_settings_panel():
try:
import panel_base
class _SettingsBridge(panel_base.BaseBridge):
def __init__(self):
panel_base.BaseBridge.__init__(self, "dossier_settings")
def handle(self, data):
t = data.get("type", "")
p = data.get("payload") or {}
if t == "SAVE_LANG":
lang = p.get("lang", "de")
if lang not in ("de", "en"):
lang = "de"
cfg2 = _settings_load()
cfg2["lang"] = lang
_settings_save(cfg2)
_reload_all_panel_langs()
elif t in ("CANCEL", "SAVE"):
try:
f = sc.sticky.get("_dossier_settings_form")
if f: f.Close()
except Exception: pass
sc.sticky["_dossier_settings_form"] = None
bridge = _SettingsBridge()
form = panel_base.open_satellite_window(
"dossier_settings",
params={
@@ -2224,6 +2247,7 @@ def _open_dossier_settings_panel():
},
title="Dossier-Einstellungen",
size=(340, 320),
bridge=bridge,
)
sc.sticky["_dossier_settings_form"] = form
except Exception as ex: