From b79961b08e8fe4be43af5a3ed1a6ac8c58c2bec3 Mon Sep 17 00:00:00 2001 From: 7015725 Date: Fri, 15 May 2026 02:26:54 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=AE=BE=E7=BD=AE=E9=A1=B5=E4=B8=BB?= =?UTF-8?q?=E9=A2=98=E5=88=87=E6=8D=A2=E4=B8=8D=E5=86=8D=E4=BE=9D=E8=B5=96?= =?UTF-8?q?=E9=A2=84=E8=A7=88=E6=A8=A1=E5=BC=8F=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 之前 SETTINGS_THEME 切换只在 previewMode=true 时重建 设置页 UI,用户必须手动打开边调边看才能看到变化。 改为: SETTINGS_THEME 改变时无条件重建设置页,立即生效。 --- code/th_05_persistence.js | 33 ++++++++++++++++----------------- manifest.json | 6 +++--- manifest.sig | 2 +- 3 files changed, 20 insertions(+), 21 deletions(-) diff --git a/code/th_05_persistence.js b/code/th_05_persistence.js index 9152186..7444fdc 100644 --- a/code/th_05_persistence.js +++ b/code/th_05_persistence.js @@ -153,24 +153,23 @@ FloatBallAppWM.prototype.setPendingValue = function(k, v) { if (!this.state.pendingUserCfg) this.beginEditConfig(); this.state.pendingUserCfg[k] = v; this.state.pendingDirty = true; - if (this.state.previewMode) { - // 设置页主题切换需要重建整个设置页 UI(配色来自 buildSettingsGroupPanelView) - if (String(k) === "SETTINGS_THEME") { - try { - if (this.state.toolAppActive && this.replaceToolAppPage) { - this.replaceToolAppPage("settings_group"); - } else { - // 非 ToolApp 模式:销毁旧设置面板重建 - if (this.state.settingsPanel) { - this.safeRemoveView(this.state.settingsPanel, "settingsPanel"); - this.state.settingsPanel = null; - this.state.settingsPanelLp = null; - this.state.addedSettings = false; - } - this.replaceToolAppPage("settings_group"); + + // 设置页主题切换:不论 previewMode 都重建设置页 UI + if (String(k) === "SETTINGS_THEME") { + try { + if (this.state.toolAppActive && this.replaceToolAppPage) { + this.replaceToolAppPage("settings_group"); + } else { + if (this.state.settingsPanel) { + this.safeRemoveView(this.state.settingsPanel, "settingsPanel"); + this.state.settingsPanel = null; + this.state.settingsPanelLp = null; + this.state.addedSettings = false; } - } catch(eReb) { safeLog(null, 'e', "catch " + String(eReb)); } - } + this.replaceToolAppPage("settings_group"); + } + } catch(eReb) { safeLog(null, 'e', "catch " + String(eReb)); } + } else if (this.state.previewMode) { this.refreshPreview(k); } }; diff --git a/manifest.json b/manifest.json index b2b1447..34e2c89 100644 --- a/manifest.json +++ b/manifest.json @@ -18,8 +18,8 @@ "size": 38293 }, "th_05_persistence.js": { - "sha256": "2aac4db26a0f1969d3b47fd23ce24e1da5cc42658aa5762d52a9f2a1285bd547", - "size": 14953 + "sha256": "2b5b667912c8c1a808d7925fc619e917b46244a73405af1eca9dd567312f9b9d", + "size": 14790 }, "th_06_icon_parser.js": { "sha256": "25b95a5df634a7ee359f3ab798e4d3154a71c24016f7b4bf8a658096644b2484", @@ -68,5 +68,5 @@ }, "keyId": "toolhub-targets-2026-rsa3072", "schema": 2, - "version": 20260514182424 + "version": 20260514182651 } diff --git a/manifest.sig b/manifest.sig index 70faa65..a2150ac 100644 --- a/manifest.sig +++ b/manifest.sig @@ -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