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:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user