Skip to content

feat: ClickGUI 新增全局搜索,支持按功能名与描述搜索并高亮命中 - #176

Merged
gaoyu06 merged 6 commits into
FPSMasterTeam:mainfrom
Serendisand:main
Aug 4, 2026
Merged

feat: ClickGUI 新增全局搜索,支持按功能名与描述搜索并高亮命中#176
gaoyu06 merged 6 commits into
FPSMasterTeam:mainfrom
Serendisand:main

Conversation

@Serendisand

Copy link
Copy Markdown
Contributor

概述

在 ClickGUI 右上方新增全局搜索框(右侧与模块列表右缘对齐),可跨全部分类按 功能名 和 功能描述 实时搜索模块,并高亮命中片段、显示所属分类标签。

改动内容

  • 新增 ui/click/SearchBar.java:搜索框组件,含放大镜图标、清空按钮、聚焦/失焦、ESC 先失焦不关面板;输入框延迟创建以规避启动期字体未加载。
  • ui/click/MainPanel.java:
  • 搜索框置于 x+60..x+420(与模块列表右缘对齐),y+6,高 16。
  • 搜索激活时跨全部分类过滤(匹配原始名 / i18n 翻译名 / i18n 描述,忽略大小写子串)。
  • 无匹配时在模块区居中显示提示;点击分类清空搜索并切换;点击搜索框外任意位置失焦。
  • initGui 时重置搜索状态。
  • ui/click/modules/ModuleRenderer.java:命中片段用主题强调色高亮;搜索结果行右侧显示分类标签(带防重叠宽度保护)。
  • utils/render/gui/ScaledGuiScreen.java / GuiInputState.java:新增 peekRawPress(),使被其他组件消费的点击也能让搜索框正确失焦。
  • ui/common/TextField.java:占位符颜色由硬编码灰色改为跟随主题色的半透明色,修复亮色主题下占位符不可见。
  • i18n:en_us.lang / zh_cn.lang 增加 clickgui.search.placeholder、clickgui.search.noresults。

@Serendisand

Copy link
Copy Markdown
Contributor Author

以下为中文
image
image
image
image
以下为英文
image

- drawHighlighted 大小写折叠改长度时截断匹配段,避免 StringIndexOutOfBounds
- ScrollContainer 新增 resetScroll,搜索状态切换时回到列表顶部
@gaoyu06
gaoyu06 merged commit a51ac4c into FPSMasterTeam:main Aug 4, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants