| Files | Last commit | Last update |
|---|---|---|
数据位置可配置 + 安装器(安装路径/数据路径可选,多平台结构);修「点文件夹不展示内容」 四条要求: 1) 配置数据可设位置 → 数据目录改为按**指针文件**解析: FOLDERDOCK_CONFIG_DIR → 指针文件(FOLDERDOCK_POINTER_FILE 可整体替换)→ 平台默认目录; 工作区与日志都跟着它走。设置页新增「数据保存位置」一节:显示当前目录 + 更改…(当场把工作区 搬过去、写好指针、后续保存直接落新位置)。 2) 安装包可设安装路径与数据路径 → 新增 src/install/:平台无关流程只有一份(复制载荷、写数据指针、 迁移数据、卸载默认保留用户数据);平台差异落在 install/platform/*.rs(Windows 用 IShellLinkW 建 .lnk + 注册表登记卸载项;Linux 写 XDG .desktop)。新增安装器 folderdock-setup (GUI 可选两个路径 + 两个开关;--silent/--uninstall/--finish 供脚本使用); scripts/dist.ps1 组装 dist/FolderDock/ 与 zip。 3) 安装模块按多平台设计 → 主流程与"程序在哪、数据在哪"的规则集中一处,平台差异只在 platform 文件里; 为此把 crate 拆成 lib + 两个 bin(主程序与安装器共用数据目录/日志/卸载逻辑,安装器不再复制代码)。 4) 点组合里的文件夹要展示它的内容 → 其实是两个 bug: - folder_leaves() 只认组合,文件夹节点返回空 → 点文件夹被当成"空组合",什么都不显示; - 树行/项目行用 Sense::click_and_drag 时,**单击(位移 0)也会走 drag_started/drag_stopped**, 于是单击被当成"位移为 0 的拖拽":不选中,反而改了结构。 两处都修了,并加了回归测试(选文件夹 = 它自己 / 不存在的节点 = 空)。 实机验证(都是真跑): - 点树里的文件夹 → 单面板显示该文件夹内容(截图 + 日志 选中节点 3 + 只列举它 12 项)。 - 指针链:只设 FOLDERDOCK_POINTER_FILE(不设 CONFIG_DIR)→ 应用从指针指向的目录读工作区与写日志。 - 安装器:静默安装(文件/指针/退出码)、快捷方式(开始菜单 + 桌面,用独立 COM 读回 target)、 注册表卸载项、从 dist/ 目录装一遍、以及**干净环境启动"已安装的那个 exe"** → 日志证明它用的是 安装时选的数据目录。 - 卸载:默认保留数据;主程序在跑时报告说清楚,并交给临时副本在它退出后把安装目录删干净 (重试 + 临时副本工作目录挪出安装目录,两处都是实测踩出来的坑)。 66 个单测 + clippy 零警告。 | 25 days ago | |
修卸载器误删别的安装的快捷方式与卸载登记 临时目录/默认目录里的卸载器按固定路径删 .lnk,并无条件删除唯一的 Uninstall\FolderDock 登记项。换目录重装后跑一次别处的卸载,新安装的启动器入口 (SunStarter 靠开始菜单/桌面 .lnk 识别应用)和「应用和功能」登记会一起消失: 程序文件还在,但启动器不认识、也无法从系统入口启动。 - remove_shortcuts 先读 .lnk 目标,只删指向本次 install_dir 主程序的快捷方式; - unregister_uninstall(install_dir) 先读 InstallLocation,不匹配就保留登记; - uninstall 只在目录里确有 folderdock.exe 或 uninstall.exe 时删文件, 防止 --install-dir 指错时清空无关目录; - 新增「快捷方式目标作用域」与「登记不匹配不删」的单测;版本 0.3.1。 本机安装已用 0.3.1 修复并实测:错误的 install-dir 卸载不再影响真实安装的 桌面/开始菜单快捷方式与登记项,正确的 install-dir 卸载仍能清干净临时安装。 | 16 days ago | |
修卸载器误删别的安装的快捷方式与卸载登记 临时目录/默认目录里的卸载器按固定路径删 .lnk,并无条件删除唯一的 Uninstall\FolderDock 登记项。换目录重装后跑一次别处的卸载,新安装的启动器入口 (SunStarter 靠开始菜单/桌面 .lnk 识别应用)和「应用和功能」登记会一起消失: 程序文件还在,但启动器不认识、也无法从系统入口启动。 - remove_shortcuts 先读 .lnk 目标,只删指向本次 install_dir 主程序的快捷方式; - unregister_uninstall(install_dir) 先读 InstallLocation,不匹配就保留登记; - uninstall 只在目录里确有 folderdock.exe 或 uninstall.exe 时删文件, 防止 --install-dir 指错时清空无关目录; - 新增「快捷方式目标作用域」与「登记不匹配不删」的单测;版本 0.3.1。 本机安装已用 0.3.1 修复并实测:错误的 install-dir 卸载不再影响真实安装的 桌面/开始菜单快捷方式与登记项,正确的 install-dir 卸载仍能清干净临时安装。 | 16 days ago |
| Files | Last commit | Last update |
|---|---|---|
| 25 days ago | ||
| 16 days ago | ||
| 16 days ago |