Commit Graph

64 Commits

Author SHA1 Message Date
7015725
eff53e4156 feat: material you settings monet theme 2026-05-18 13:54:24 +08:00
7015725
342171e2ac fix: adapt settings pages to Monet theme 2026-05-18 03:49:54 +08:00
7015725
61a6bf1e72 fix: 按钮管理/按钮编辑等所有设置页 UI 元素跟随 SETTINGS_THEME
之前只覆盖了设置首页和分组页的配色切换,但按钮管理页内的
统计卡片、操作 chip、分区卡片、折叠分组、编辑面板等 UI
组件仍然直接硬编码 getAnimalIslandTheme()。

补全遗漏的 6 个函数:
- createButtonManagerSummaryCard
- createButtonManagerActionChip
- createButtonManagerPolishedCard
- createButtonEditorSectionCard
- createButtonEditorCollapsibleSection
- buildButtonEditorPanelView
2026-05-15 02:31:39 +08:00
7015725
efdcd3f187 fix: 设置页所有 UI 元素统一跟随 SETTINGS_THEME 切换
之前只有 buildSettingsGroupPanelView(分组页)检查了
SETTINGS_THEME,但首页面板 buildSettingsHomePanelView
和入口卡片 createSettingsHomeEntry 直接硬编码
getAnimalIslandTheme(),导致切换到 Monet 后首页仍是
动物岛风。

修复: 提取公共方法 applySettingsTheme(T, isDark, C, cfgTpl),
在三个构建位置统一调用:
- createSettingsHomeEntry (入口卡片:徽章/标题/按钮颜色)
- buildSettingsHomePanelView (设置首页:背景/统计卡/按钮)
- buildSettingsGroupPanelView (分组页:背景/卡片/预览开关)
2026-05-15 02:29:03 +08:00
7015725
32a30babcc refactor: 精简主题模板为设置页主题二选一
去掉之前多余的6套模板配色(ocean/sunset/forest/mono等),
只保留一个清晰的二选一功能:

- 动物岛风 (默认) — 当前 Animal Island 固定配色,不变
- 系统莫奈色 — 设置页 UI 使用系统 Monet 色系,与主面板一致

改动:
- THEME_TEMPLATE → SETTINGS_THEME (animal/monet)
- 删除 th_04_theme.js 的 getThemeTemplate/applyThemeTemplate
- buildSettingsGroupPanelView 直接根据 SETTINGS_THEME 用
  ui.colors 的 Monet 色构造 T 结构
- setPendingValue 中 SETTINGS_THEME 切换时重建设置页
2026-05-15 02:24:28 +08:00
7015725
cb01591369 fix: 主题模板真正应用到设置页 UI
之前主题模板只影响了 getPanelBgColorInt/getPanelTextColorInt,
但设置页 UI(buildSettingsGroupPanelView)的颜色全部来自
getAnimalIslandTheme() 硬编码,完全不经过模板逻辑。

修复:
1. buildSettingsGroupPanelView 开头判断是否选了非 system 模板,
   若是则根据模板的 dayBg/dayText/nightBg/nightText 自动生成
   一套兼容 T 结构的配色,覆盖 Animal Island 的 T 对象
2. 模板值从 pendingUserCfg 读取(预览态)
3. setPendingValue 中当 key=THEME_TEMPLATE 时,通过
   replaceToolAppPage('settings_group') 重建整个设置页 UI,
   使模板切换立即生效
2026-05-15 02:11:38 +08:00
7015725
bba3d800af style: refine island settings home 2026-05-14 23:30:38 +08:00
7015725
7079b633bb style: soften balloon settings page 2026-05-14 23:24:48 +08:00
7015725
8907a2d5d8 style: soften animal island ToolApp copy 2026-05-14 23:17:09 +08:00
7015725
edb26dc593 feat: apply animal island style to ToolApp 2026-05-14 22:28:51 +08:00
7015725
2b55e2bdd4 style: refresh ToolApp visual back experience 2026-05-14 18:23:31 +08:00
7015725
e394a0f078 Remove duplicate inline color palette 2026-05-13 18:28:06 +08:00
7015725
3d0e57e813 Match ShortX icon picker with settings UI 2026-05-13 18:21:55 +08:00
7015725
b9d3dc89da style: simplify button editor section descriptions 2026-05-13 18:10:07 +08:00
7015725
7fd1430207 fix: add bottom gap to button manager footer 2026-05-13 08:32:06 +08:00
7015725
a5ecbec23b fix: keep button manager footer visible 2026-05-13 08:27:51 +08:00
7015725
e9b6052c6a style: apply minimal button management layout 2026-05-13 08:21:12 +08:00
7015725
648b45585a style: simplify button manager layout 2026-05-13 08:15:45 +08:00
7015725
3b6830e0ec style: polish button manager and editor layout 2026-05-13 07:38:48 +08:00
7015725
c4b886f83d style: refine button icon appearance editor 2026-05-12 20:32:08 +08:00
7015725
53967f77d2 feat: add collapsible button editor sections 2026-05-12 20:17:11 +08:00
7015725
46393fe9ba Revert "feat: split button editor into app subpages"
This reverts commit 5a4e3f6423.
2026-05-12 20:10:23 +08:00
7015725
5a4e3f6423 feat: split button editor into app subpages 2026-05-12 20:01:45 +08:00
7015725
c1643924b7 feat: app-style button manager page 2026-05-12 19:11:29 +08:00
7015725
c41e1479b9 feat: app-style ToolHub settings home 2026-05-12 17:31:02 +08:00
7015725
ea72f6b2eb fix: keep ToolHub app stack state on editor return 2026-05-12 11:06:54 +08:00
7015725
a0b6b92f57 feat: introduce ToolHub settings page stack 2026-05-12 10:47:13 +08:00
7015725
7b7fbdf9cf fix: handle system gestures for ToolHub panels 2026-05-12 10:24:30 +08:00
7015725
5c95d04fab feat: add system navigation button actions 2026-05-12 10:16:31 +08:00
7015725
0037aefcb7 fix: improve ToolHub startup and cleanup stability 2026-05-12 10:00:32 +08:00
linshenjianlu
caf0e0b598 fix(panels): 适配输入法弹出时图标选择器高度 2026-05-03 14:02:30 +08:00
linshenjianlu
22cd229da9 fix(panels): 输入法弹出时保持图标选择器位置 2026-05-03 13:57:17 +08:00
linshenjianlu
0e7c7d6887 fix(panels): 修复图标选择搜索框输入法无法弹出 2026-05-03 13:38:48 +08:00
linshenjianlu
b2c7cae355 feat(icon picker): 移除 ShortX 图标选择器的分类标签,简化 UI 布局
- 删除新版弹出框的 tabDefs / tabsScroll / tabsRow / refreshTabs
- 简化 filterCatalog,仅保留搜索过滤
- 删除旧版 shortxPickerState 的 activeTab / tabButtons 及关联逻辑
- 删除 getShortXIconCategory / shortxTabDefs / applyShortXTabStyles
- 调整 headerH 从 136dp 降至 110dp,腾出更多图标展示空间
- 修复删除 tabs 代码时遗留的重复 addView(searchEt) 导致 IllegalStateException
2026-04-21 11:21:30 +08:00
linshenjianlu
9ad01b436d fix: 代码审查6项修复
- 689处空catch块补全日志
- eval远程代码增加SHA256校验
- 删除ToolHubLogger重复定义
- getParentFile()增加null保护
- 提取buildButtonEditorPanelView内通用工具函数到文件级
- 修复HandlerThread/ValueAnimator资源泄漏
2026-04-21 07:42:23 +08:00
Hermes
256a8f716b fix(th_14_panels): 修复颜色弹窗确认时 recentGrid 引用异常 2026-04-20 21:46:14 +08:00
Hermes
9a0b618409 fix(th_14_panels): 强制应用弹窗选中的图标颜色 2026-04-20 21:42:30 +08:00
Hermes
f89ed88033 fix(th_14_panels): 改为独立维护 ShortX 图标颜色状态 2026-04-20 21:36:15 +08:00
Hermes
3c8c337401 fix(th_14_panels): 修复 ShortX 图标调色板确认后未应用颜色 2026-04-20 21:30:03 +08:00
Hermes
4ab42b274a fix(color-picker): 修复颜色参数回写失败问题
根因: Rhino JS 闭包中局部变量捕获异常,onSelect 回调无法访问 inputShortXIconTint

修复:
- 将输入框引用存储到 self.state._btnEditorTintInput,绕过闭包问题
- onSelect 回调从 self.state 读取输入框,同时直接更新 targetBtn.iconTint 作为双保险
- 保存按钮优先使用 targetBtn.iconTint,回退到输入框 getValue()
2026-04-20 21:00:13 +08:00
Hermes
d03f4d677f fix(color-picker): 修复颜色面板确认后无回写问题
- 确认按钮添加 try-catch,确保 onSelect 异常不阻断 closePopup
- finalColor 强制 String() 转换,避免 undefined 传入 Java setText
- onSelect 回调添加异常隔离 + invalidate() 强制刷新
- 同步两个调用点(颜色按钮 + 调色板选择按钮)
2026-04-20 20:51:28 +08:00
Hermes
86a4ed7927 feat: 弹出式颜色选择器 + 图标预览旁颜色入口
- showColorPickerPopup: 新增独立弹窗颜色选择器,支持最近使用颜色(8个)、RGB滑块实时调色、常用色网格、透明度滑块
- 图标预览区实时反馏,确定后自动保存到最近列表
- 在 ShortX 图标预览卡片旁新增“颜色”按钮,直接打开颜色选择器
- 更新 README 文档
- 修复调色板卡片未加入 form 的问题
2026-04-20 20:32:06 +08:00
Hermes
99547894b6 fix(th_14_panels): 修复ShortX图标选择器onSelect ReferenceError
删除未定义的 inputShortXIconName 引用,解除 ReferenceError 导致的回调中断,
使 updateShortXIconPreview() 能正常触发预览框刷新
2026-04-20 19:58:08 +08:00
Hermes
a39ecaf648 fix(th_14_panels): 修复ShortX图标选择器确认后预览框未刷新问题
- 将previewNameTv.setText提前到inputShortXIconTint.getValue()之前
- 为tintHex读取添加独立try-catch,避免异常阻断预览文本更新
- 为updateShortXIconPreview添加错误日志输出
2026-04-20 19:51:35 +08:00
Hermes
e5d540d1a5 fix(icon): 确定按钮绕过 guardClick 冷却,避免被其他按钮点击拦截
- createSolidButton/createFlatButton 内部使用 guardClick('ui_btn') 共享同一个 key
- 如果用户在短时间内点击了多个按钮(分类/翻页/关闭),确定按钮的点击可能被忽略
- 确定按钮现在直接创建 TextView + OnClickListener,不经 guardClick
- 添加 try-catch 捕获 onSelect 回调异常
2026-04-20 19:33:51 +08:00
Hermes
c67c0ccaf2 refactor(icon): 重写图标选择器为自适应布局 + WindowManager 直接创建
- 不再使用 showPopupOverlay,避免嵌套弹窗导致尺寸限制
- 弹窗宽度 = 屏幕宽度*0.92,自适应屏幕
- 列数、单元格宽度、每\u9875\u56fe\u6807\u6570\u6839\u636e\u5f39\u7a97\u5c3a\u5bf8\u81ea\u9002\u5e94\u8ba1\u7b97
- 网\u683c\u9ad8\u5ea6 = \u5c4f\u5e55\u9ad8\u5ea6*0.55,\u4fdd\u8bc1\u53ef\u89c1\u533a\u57df
2026-04-20 19:21:26 +08:00
Hermes
6e7a2fef7a fix(icon): 稳定翻页图标选择器,去掉 grid.post 动态测量依赖
- 固定 4 列 20 个/页,避免首次渲染时尺寸为 0 导致空白
- 去掉 resolvePageSize 动态计算
- 翻页按钮状态正确更新
2026-04-20 19:10:40 +08:00
Hermes
f1b8f0a921 fix(icon): createRipple → createRippleDrawable 修复图标网格渲染崩溃
日志显示:Cannot find function createRipple in object [object Object]
原因:ui 对象上只有 createRippleDrawable,没有 createRipple。
修复:使用 self.ui.createRippleDrawable(card, pressed, radius) 替代。
2026-04-20 18:13:03 +08:00
Hermes
7c350724f6 修复图标选择器网格空白:移除 grid.post 依赖,直接使用默认尺寸渲染
问题:弹窗能打开但图标列表不显示,网格内容为空。
原因:grid.post Runnable 在后台线程中可能未执行或执行延迟。
解决:直接传入默认尺寸 (300dp x 360dp) 计算 pageSize,
然后直接调用 renderGrid(),不再等待 grid 布局完成。
2026-04-20 18:08:23 +08:00
Hermes
f13f3268c3 fix(icon): 添\u52a0 getShortXIconDrawable 方法和占位符,\u4fee\u590d\u56fe\u6807\u4e0d\u663e\u793a
- 补\u5145\u7f3a\u5931的 getShortXIconDrawable() 方法
- 图\u6807\u83b7\u53d6\u5931\u8d25\u65f6\u663e\u793a\u6d45\u8272\u5360\u4f4d\u7b26
2026-04-20 17:59:33 +08:00