[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f3sgxwlv5pg4wh":3,"$f1temdeireyiaa":39,"$f3b8gjj8kah3ru":43,"$f32s2y2pwli8pk":44},{"id":4,"title":5,"slug":6,"excerpt":7,"cover":8,"status":9,"publishedAt":10,"viewCount":11,"likeCount":12,"favoriteCount":12,"createdAt":13,"updatedAt":14,"category":15,"author":18,"tags":21,"_count":36,"content":37,"attachments":38},11,"HKSPL Release 1.4.1","hkspl-release-1-4-1","本次更新为飞船管理加入部件计数、搜索与玩家自制载具缩略图，为存档新增「预制件」页签，引入完整的小绿人管理（分类页签、搜索、删除\u002F重命名、滑块），备份支持日期筛选，修复重复的更新弹窗，并改用 Inno Setup 安装包。","","published","2026-10-02T11:30:59.202Z",0,1,"2026-10-02T11:30:59.204Z","2026-10-03T10:53:00.227Z",{"id":16,"name":17,"slug":17},7,"发布日志",{"id":12,"username":19,"nickname":19,"avatar":20},"zhuwenqian",null,[22,26,30,33],{"id":23,"name":24,"slug":25},3,"GUI","gui",{"id":27,"name":28,"slug":29},4,"Qt6","qt6",{"id":31,"name":32,"slug":32},6,"C++",{"id":34,"name":35,"slug":35},13,"KSP",{"comments":11},"# Hello KSP Launcher v1.4.1\n# 发布说明\n\n## v1.4.1 — 部件计数、预制件与小绿人管理（2026-10-02）\n\n本次更新为飞船管理加入部件计数、搜索与玩家自制载具缩略图，为存档新增「预制件」页签，引入完整的小绿人管理（分类页签、搜索、删除\u002F重命名、滑块），备份支持日期筛选，修复重复的更新弹窗，并改用 Inno Setup 安装包。\n\n### 飞船管理\n\n- **部件计数**（`instancemanager_ships.cpp`）——`loadCraftInfo` 通过统计 `.craft` 顶层 `PART { … }` 块得出 `ShipInfo::partCount`（解析器忽略嵌套键）。计数显示在每行列表（「游戏版本： X · 部件数： N」）与详情页。\n- **玩家自制载具缩略图**（`instancemanager_ships.cpp`）——当 `Ships\u002F@thumbs` 无原版图时，存档模式飞船管理会查找 `\u003C游戏根目录>\u002Fthumbs\u002F\u003C存档名>_\u003CVAB|SPH>_\u003C载具>.png`（大小写不敏感、仅 `.png`）。实例模式仅读原版缩略图（飞船多存档共享，无单一存档名）；预制件始终回退火箭图标。\n- **清晰的兜底图标**（`iconutils.{h,cpp}`）——新增 `tintedPixmap` 按目标像素尺寸直接栅格化着色 SVG；火箭兜底图按缩略图框实际尺寸渲染，不再是放大发糊的 96px 位图。\n- **飞船搜索**（`shiptabpage.{h,cpp}`）——列表页搜索框实时过滤 VAB\u002FSPH\u002F预制件，按显示名不区分大小写包含匹配；带清除按钮，「（无匹配飞船）\u002F（无匹配预制件）」灰色居中空态，过滤时隐藏占位行，删除\u002F导入刷新后自动重放搜索词。\n- **详情返回交给父页面**——去掉详情页内嵌「返回」按钮；存档\u002F实例详情页顶部「返回」在飞船详情可见时先回列表（`isDetailVisible()` \u002F `goBackToList()`）。\n\n### 预制件（仅存档）\n\n- **第三个「预制件」页签**（`shiptabpage.{h,cpp}`）——通过 `setSubassembliesEnabled(true)` 为存档详情页的飞船管理启用；列出 `\u003C存档根>\u002FSubassemblies\u002F`（与 `Ships\u002F` 同级）。实例管理保持 VAB\u002FSPH，因为预制件属于单个存档。\n- **功能完整接入**——导入（按钮文案跟随页签；首次导入自动建目录；禁止从自身目录导入）、拖放、删除进回收站、覆盖确认，以及「（未检测到预制件）」空态，均按预制件措辞。通过新的 `listCraftFilesIn(dir)` 辅助函数列出。\n\n### 小绿人管理（存档详情）\n\n- **应聘者\u002F乘员页签**（`savedetailpage.{h,cpp}`）——小绿人列表拆成 `QTabWidget`（「应聘者」\u002F「乘员」）；仅 `type == \"Crew\"` 进乘员页，其余全部归入应聘者页兜底，未识别类型按原文显示。`dark.qss` \u002F `light.qss` 两套主题补充 pane 样式。\n- **搜索框**——不区分大小写姓名匹配，或 `@jobs:Pilot` 按职业过滤（英文职业名，不区分大小写部分匹配）；刷新后搜索词保留，「未检测到小绿人」与「（无匹配应聘者）\u002F（无匹配乘员）」空态区分。\n- **删除与重命名**（`instancemanager_saves.cpp`）——每行「…」菜单提供删除（从 `persistent.sfs` 的 `ROSTER` 移除 `KERBAL` 块）与重命名（改写 `name =` 行）；写盘前后均校验括号配平，立即写盘。\n- **勇敢度\u002F愚蠢度滑块**——双击浮点编辑器替换为常驻滑块（0–1.0，步进 0.1）加实时数值标签；保存时从自定义 role 收集数值。两套主题均已配色。性别下拉显示「男\u002F女」但保存仍为 `Male`\u002F`Female`；类型\u002F性别显示时翻译。\n\n### 备份日期筛选\n\n- **时间过滤**（`savedetailpage.cpp`）——备份工具栏搜索框把查询串按数字分词：单个数字与任一时间分量（年\u002F月\u002F日\u002F时\u002F分\u002F秒）相等即命中，多个数字从年开始按顺序匹配（如 `2026-01-01 12:30`、`10-02`）。列表缓存于内存，按键不再重读磁盘；无匹配时显示「（没有匹配的备份）」空态。\n\n### 修复与行为变更\n\n- **更新弹窗**（`updateflow.cpp`）——更新器信号改为整个进程只连接一次（静态标记），不再每次检查都重复 connect；此前自动检查叠加多次手动检查会堆积处理函数并连发多个对话框，且后续弹窗无父窗口。\n- **默认语言**——全新配置默认 `en_US`；镜像更新源更名为「镜像源（zwqbook.cn）」（`configmanager.cpp`、`settingspage.cpp`）。\n\n### 打包与构建\n\n- **Inno Setup 安装包**（`installer\u002Fhelloksplauncher.iss`、`make-installer.ps1`，新增）——构建按用户安装包（`{userpf}`，不强制 UAC，允许管理员覆盖），带语言选择对话框、桌面图标任务与 lzma2\u002Fmax 压缩。排除运行期写入的文件（`HKSPL.json`、`backups`、`ckan_cache`、`generic`、日志），卸载器一并删除；版本号自动从 `src\u002Fappversion.h` 同步。输出：`HelloKSPLauncher-\u003Cversion>-setup.exe`。\n- **Qt 6.12 工具链**（`build.ps1`）——从头 configure（MinGW Makefiles，显式编译器\u002F前缀路径），运行 `windeployqt` 保持 `dist\u002F` DLL 与构建 Qt 同步，并补拷 `libckan.dll` 所需的 `Qt6Concurrent.dll`。\n- 其他：版本号升至 1.4.1；`.gitignore` 新增 `.vscode\u002F` 与 `*-setup.exe`；`_gen_icons.py` 更名 `gen_icons.py`；全部新增字符串完成 en_US\u002Fzh_CN 翻译并重建 `.qm`。\n\n### 技术栈\n\n- **框架**：Qt 6.12（Widgets、Svg、Network、Concurrent）\n- **语言**：C++17\n- **构建**：CMake ≥ 3.16；MinGW（Qt 自带）；Inno Setup 7 安装包\n- **测试**：`test_libckan` + `test_launcher`（全部通过）\n",[],{"postCount":40,"commentCount":12,"tagCount":4,"categoryCount":41,"totalViews":42},10,5,54,[],{"prev":45,"next":48},{"id":40,"title":46,"slug":47},"Hello KSP Launcher v1.4.0","hello-ksp-launcher-v1-4-0",{"id":34,"title":49,"slug":50},"HKSPL Release 1.4.2","hkspl-release-1-4-2"]