fix: 设置页主题切换不再依赖预览模式开关

之前 SETTINGS_THEME 切换只在 previewMode=true 时重建
设置页 UI,用户必须手动打开边调边看才能看到变化。

改为: SETTINGS_THEME 改变时无条件重建设置页,立即生效。
This commit is contained in:
7015725
2026-05-15 02:26:54 +08:00
parent 32a30babcc
commit b79961b08e
3 changed files with 20 additions and 21 deletions

View File

@@ -153,14 +153,13 @@ FloatBallAppWM.prototype.setPendingValue = function(k, v) {
if (!this.state.pendingUserCfg) this.beginEditConfig(); if (!this.state.pendingUserCfg) this.beginEditConfig();
this.state.pendingUserCfg[k] = v; this.state.pendingUserCfg[k] = v;
this.state.pendingDirty = true; this.state.pendingDirty = true;
if (this.state.previewMode) {
// 设置页主题切换需要重建整个设置页 UI配色来自 buildSettingsGroupPanelView // 设置页主题切换:不论 previewMode 都重建设置页 UI
if (String(k) === "SETTINGS_THEME") { if (String(k) === "SETTINGS_THEME") {
try { try {
if (this.state.toolAppActive && this.replaceToolAppPage) { if (this.state.toolAppActive && this.replaceToolAppPage) {
this.replaceToolAppPage("settings_group"); this.replaceToolAppPage("settings_group");
} else { } else {
// 非 ToolApp 模式:销毁旧设置面板重建
if (this.state.settingsPanel) { if (this.state.settingsPanel) {
this.safeRemoveView(this.state.settingsPanel, "settingsPanel"); this.safeRemoveView(this.state.settingsPanel, "settingsPanel");
this.state.settingsPanel = null; this.state.settingsPanel = null;
@@ -170,7 +169,7 @@ FloatBallAppWM.prototype.setPendingValue = function(k, v) {
this.replaceToolAppPage("settings_group"); this.replaceToolAppPage("settings_group");
} }
} catch(eReb) { safeLog(null, 'e', "catch " + String(eReb)); } } catch(eReb) { safeLog(null, 'e', "catch " + String(eReb)); }
} } else if (this.state.previewMode) {
this.refreshPreview(k); this.refreshPreview(k);
} }
}; };

View File

@@ -18,8 +18,8 @@
"size": 38293 "size": 38293
}, },
"th_05_persistence.js": { "th_05_persistence.js": {
"sha256": "2aac4db26a0f1969d3b47fd23ce24e1da5cc42658aa5762d52a9f2a1285bd547", "sha256": "2b5b667912c8c1a808d7925fc619e917b46244a73405af1eca9dd567312f9b9d",
"size": 14953 "size": 14790
}, },
"th_06_icon_parser.js": { "th_06_icon_parser.js": {
"sha256": "25b95a5df634a7ee359f3ab798e4d3154a71c24016f7b4bf8a658096644b2484", "sha256": "25b95a5df634a7ee359f3ab798e4d3154a71c24016f7b4bf8a658096644b2484",
@@ -68,5 +68,5 @@
}, },
"keyId": "toolhub-targets-2026-rsa3072", "keyId": "toolhub-targets-2026-rsa3072",
"schema": 2, "schema": 2,
"version": 20260514182424 "version": 20260514182651
} }

View File

@@ -1 +1 @@
XbvlBLrkCDw72fS8i9hgfSmLRA8MoH5FCBn4Vg+OhFIddDkYJoO5spnG2ZoLdhDurSvBeoGPK9vUij0Ps8V6s+L6k6KjzX33LNncwWcYrop3Eho1hvtsJMq4pGZZOqhloqElhrY6dWBiOS4lFlrNAkrKUh/afFVv/5jsrCzJBNZHj06D1wUw5aswaJ0NRQSyhTMBNc3fEYfb5/G6yfNNWy6RfY8V9asbRyOAJbd5IgdB5nhOFt3X6WzQ2rBxmK60S+vOC6zs91uBqkQuzjbpWY7rSbyoPtccub3z3AAEXjAUVYkJ8w5a0XJdgb7vo29aq91s31A0vgBMCIJgCeDPDe+zikOh6suCslwKSRpbMem1m/Ae/xbfRyNW3gunFTFY0b7r3w/DSdNzG2DJOUfraAUMz5WdxzAOnj1vwPRUnYmFCIO8ilQIkQwoFFH63+YCst6KPD4y7PRd9Dc5Gz+Svqb/3q5+3wIro73eSO/eFAUIQtUJAJ2ihQK8um1dgG1t CTWxWiKLfuIdWR5aH+sgiWC947wRH4pwSxMikOJ6uazbLqUYPijmC3J5l6QgQXnhV1GBDhTgLi3vseHqybCZ0L2eZFAAN9unxV17kRs5dyy+TUCBA3BWwkWLwHASNN4d6EqO7fTf5LhhcHd87yUKJjhSgTYvjr2Shb+qO0vOgaWUYE6C/H73MO82FcaiyGF3KXcLonWexojrwskwu5SZ8NF8mXIoobfm2Um5m81pDbzDa1s/q0SZzAvPE9a3Yx0Y7xJuxYJW/ssSLq9IvQ8s4eNQOrU7Te9kXFn4b7N5k8RM9YjxSnAQV01wvLOWn3dIqs+iDormLXqyL0HKOrUPxIKB83oUI3yl9Vg2mNrwm2ucNXqrvErQ/NK4b2vmHo6G+dddacSFRIx+jHKTmETfHk0e7+J2iSQKnQx5AsfNR+CP7JKoteZypI6yb+LP0GyYY3M9lkwGtD9kNc4f/YdbVMRdWVwXpnXjBhvmqXZsUV5U6Veb4g+TssH3MhsTpZ27