Serendipity
|
bbcfc25aea
|
feat(undo): 重新编译 .mo 翻译文件以包含撤销/重做文本
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-01 23:04:24 +08:00 |
|
Serendipity
|
a8002aeba4
|
feat(undo): 添加撤销/重做的中英文翻译
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-01 23:00:47 +08:00 |
|
Serendipity
|
aac4cc4b54
|
feat(undo): 在 Lua 配置中添加撤销/重做按钮文本
|
2026-05-01 22:54:20 +08:00 |
|
Serendipity
|
c8d9b32c70
|
feat(undo): 在 UI 中添加撤销/重做按钮并集成布局
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-01 22:53:18 +08:00 |
|
Serendipity
|
f9628f6e8c
|
feat(undo): 实现撤销/重做按钮回调及 Ctrl+Z/Y 快捷键
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-01 22:50:39 +08:00 |
|
Serendipity
|
e0af409ef5
|
feat(undo): 声明撤销/重做按钮回调函数
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-01 22:48:14 +08:00 |
|
Serendipity
|
256e793ee4
|
feat(undo): 添加撤销/重做按钮的 UI 常量
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-01 22:47:14 +08:00 |
|
Serendipity
|
8bd8c0a0aa
|
docs: 添加撤销/重做 UI 集成的实现计划
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-01 22:45:06 +08:00 |
|
Serendipity
|
1f48551199
|
feat: 实现撤销/重做功能和CSV导出支持
- 添加撤销/重做管理器,支持添加、删除、编辑、移动等操作的撤销/重做
- 在应用上下文中集成撤销/重做管理器,最大支持50条历史记录
- 为所有基本操作(新建、编辑、删除、上移、下移、清理)添加撤销记录
- 扩展导出功能,支持CSV格式导出(除原有JSON格式外)
- 添加路径格式验证函数,确保导入数据的有效性
- 更新UI文件对话框过滤器以包含CSV格式选项
|
2026-05-01 22:42:56 +08:00 |
|
Serendipity
|
06e4c15b5c
|
docs: 添加撤销/重做 UI 集成设计文档
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-01 22:39:39 +08:00 |
|
Serendipity
|
32e6bb262b
|
feat(test): 添加单元测试框架并完善国际化支持
- 新增 CMake 测试框架配置,支持 safe_string、string_ext 和 path_manager 模块的单元测试
- 实现 Windows API Mock 机制,便于测试编码转换函数
- 添加 error_code 模块的字符串表示函数,支持英文错误日志
- 在 UI 回调函数中集成国际化翻译,覆盖新建、编辑、导入导出等操作提示
- 扩展 string_list 功能,新增重复路径检查函数
- 更新翻译文件,同步所有用户界面的中英文文本
|
2026-04-30 11:38:34 +08:00 |
|
Serendipity
|
cf19a37a97
|
feat(test): 添加单元测试框架并完善国际化支持
- 新增 CMake 测试框架配置,支持 safe_string、string_ext 和 path_manager 模块的单元测试
- 实现 Windows API Mock 机制,便于测试编码转换函数
- 添加 error_code 模块的字符串表示函数,支持英文错误日志
- 在 UI 回调函数中集成国际化翻译,覆盖新建、编辑、导入导出等操作提示
- 扩展 string_list 功能,新增重复路径检查函数
- 更新翻译文件,同步所有用户界面的中英文文本
|
2026-04-30 11:38:05 +08:00 |
|
Serendipity
|
ceed90aea8
|
feat(backup): 支持自定义备份目录和备份跳过选项
- 在 Lua 配置中新增 backup.dir 配置项,允许设置默认备份路径
- 修改 backup_registry() 函数,接受自定义备份路径参数,优先级为:传入参数 > Lua 配置 > 默认 %APPDATA% 路径
- 在保存操作前,通过对话框让用户选择“使用默认路径”、“自定义目录”或“跳过备份”
- 更新 README 文档,说明新的备份功能和多语言支持等架构细节
|
2026-04-29 16:08:58 +08:00 |
|
Serendipity
|
3bc2f00cb1
|
feat(backup): 增强备份失败时的用户提示和错误处理
- 在备份失败时显示具体原因(如无法获取AppData路径、创建备份目录失败等)
- 改进备份函数的错误处理,添加详细的日志记录
- 备份失败时允许用户选择是否继续保存操作
- 修复备份目录创建失败时的错误码返回
- 添加备份过程的详细文档说明
|
2026-04-28 22:40:50 +08:00 |
|
Serendipity
|
e777b26879
|
fix: 修复JSON导入、备份目录创建和内存安全等问题
修复JSON导入时转义字符处理不完整的问题,添加对\b、\f等控制字符的转义
改进备份目录创建逻辑,使用SHCreateDirectoryExW递归创建目录
修复内存分配失败处理,避免空指针解引用
修正选项卡标题设置位置,从Dialog改为Tabs控件
增强导入功能,支持TXT文件导入时选择目标变量类型
优化清理无效路径算法,使用标记数组减少内存移动
修复宽字符环境变量设置,使用_wputenv_s替代putenv
添加导入数据初始化,防止未初始化内存访问
改进文件属性检查,使用宽字符API支持Unicode路径
|
2026-04-28 22:21:06 +08:00 |
|
Serendipity
|
7908bad1f4
|
refactor(controller): 拆分回调函数到模块化文件并添加字符串列表访问器
- 将 callbacks.c 拆分为多个按功能分类的文件(callbacks_basic.c、callbacks_nav.c、callbacks_search.c、callbacks_io.c、callbacks_sys.c)
- 新增 callbacks_internal.h 提供内部辅助函数声明,减少代码重复
- 在 string_ext 模块中添加 string_list_get 和 string_list_set 安全访问器函数
- 更新 CMakeLists.txt 和 ui_utils.c 以使用新的模块结构和访问器
- 重构旨在提高代码可维护性和可读性,便于后续功能扩展
|
2026-04-28 21:54:47 +08:00 |
|
Serendipity
|
ea3d678d22
|
feat(ui): 统一管理IUP控件名称常量,增强可维护性
refactor(core): 移除未使用的get_app_context函数
refactor(os_env): 修改backup_registry函数以返回错误码并备份到指定目录
refactor(path_manager): 增强路径管理函数的错误处理
|
2026-04-28 21:01:52 +08:00 |
|
Serendipity
|
86792012e2
|
feat(i18n): 为UI添加gettext国际化支持
- 将配置中的中文文本改为英文原文,作为翻译源字符串
- 在C代码中为所有UI字符串添加_()包装以启用gettext翻译
- 更新对话框、主窗口和配置文件的文本处理方式
|
2026-03-26 22:06:05 +08:00 |
|
Serendipity
|
4fe7dc47e4
|
feat(i18n): 添加多语言支持功能
- 新增国际化系统,支持中英文切换
- 添加语言选择对话框和语言切换按钮回调
- 扩展配置系统以支持语言设置存储
- 创建语言文件目录结构和占位文件
- 更新主窗口支持UI文本动态刷新
|
2026-03-26 20:44:22 +08:00 |
|
Serendipity
|
9a78b88c4a
|
refactor(core): 统一使用ErrorCode并添加错误日志记录
- 将path_manager和import_export模块的返回值从int/void改为ErrorCode
- 在关键操作中添加日志记录,便于调试和错误追踪
- 更新调用代码以检查错误码并记录错误
- 修改运行命令以管理员权限启动程序
|
2026-03-26 18:27:38 +08:00 |
|
Serendipity
|
3af0e96060
|
refactor: 移除未使用的布局配置并增强日志与安全字符串
- 删除未使用的 layout_config.h 头文件及其引用
- 在 main.c 和 callbacks.c 中添加日志记录以追踪程序启动、关闭和关键操作
- 将多处 strncpy 调用替换为安全的 safe_strcpy 函数
- 在 dialogs.c 中引入 safe_string.h 以使用安全字符串函数
|
2026-03-26 13:20:34 +08:00 |
|
Serendipity
|
6ba7e702f2
|
refactor(registry): 使用ErrorCode类型替换int作为错误返回值
- 将registry_service.h/c中的函数返回值从int改为ErrorCode枚举
- 更新callbacks.c中的错误检查逻辑,使用ERR_OK常量进行比较
- 在内部辅助函数中返回具体的错误码(ERR_REGISTRY_FAILED等)
- 提高代码类型安全性和错误处理可读性
|
2026-03-26 13:02:14 +08:00 |
|
Serendipity
|
9aa1e208ba
|
docs: 更新 README 中的架构与工具库说明
更新“架构与二次开发”章节的图标,并补充了项目中包含的开发工具库列表,如统一错误码系统、安全字符串函数等,以便开发者更全面地了解项目结构。
|
2026-03-26 12:50:29 +08:00 |
|
Serendipity
|
d934d21323
|
feat: 新增安全字符串处理和日志系统模块
- 添加 safe_string 模块,提供安全的字符串复制、拼接和复制功能
- 添加 logger 模块,支持多级别日志记录和文件输出
- 添加 error_code 模块,定义统一的错误代码枚举
- 添加 layout_config 模块,定义布局配置结构
- 更新 CMakeLists.txt 包含新增的源文件
|
2026-03-26 12:47:44 +08:00 |
|
Serendipity
|
8767271e96
|
feat(导入导出): 支持同时导出和导入系统与用户PATH变量
- 重构导出功能,将系统变量和用户变量合并到单个JSON文件中
- 重构导入功能,支持解析包含系统变量和用户变量的JSON文件
- 在导入时提供选项让用户选择导入目标(系统变量、用户变量或全部)
- 更新UI交互逻辑,适配新的导入导出数据结构
- 改进JSON文件格式,包含版本信息和导出时间戳
|
2026-03-26 12:16:48 +08:00 |
|
Serendipity
|
55ff64b92d
|
docs: 更新 README 以反映新增的导入导出功能
更新功能列表,新增“导入导出”模块的说明,包括 JSON 备份/恢复和旧版 TXT 格式兼容。
更新架构说明,将“统一配置中心”修改为“热配置系统”,以反映从 C++ 头文件到 Lua 配置文件的变更。
|
2026-03-25 19:56:10 +08:00 |
|
Serendipity
|
55d0f80743
|
feat: 新增导入导出功能,支持备份和恢复 PATH 配置
- 添加 import_export 模块,实现 JSON 格式的导入导出
- 在界面中添加导入和导出按钮,并配置回调函数
- 更新配置文件,增加相关文本和状态提示
- 在非管理员权限下禁用导入按钮
dev2.3
|
2026-03-25 19:49:47 +08:00 |
|
Serendipity
|
ce232cb024
|
feat: 引入 Lua 配置系统实现 UI 参数热更新
- 添加 Lua 5.5 库支持,包含头文件和动态链接库
- 新增 lua_config 模块,提供配置初始化、获取字符串/整型值等功能
- 创建 config.lua 配置文件,集中管理所有 UI 文本、尺寸和布局参数
- 移除原有的硬编码 config.h,将 UI 常量迁移至 Lua 配置
- 修改主窗口、对话框和回调函数,动态读取 Lua 配置值
- 更新 CMakeLists.txt,添加 Lua 库依赖和 DLL 复制步骤
- 删除过时的 Makefile,统一使用 CMake 构建
|
2026-03-25 19:18:23 +08:00 |
|
Serendipity
|
bd1b05be55
|
chore: 更新运行命令注释以反映最新的可执行文件路径
|
2026-03-19 22:21:33 +08:00 |
|
Serendipity
|
a769a6b9b3
|
refactor: 重构项目为 MVC 架构并移除全局变量
- 将原有扁平目录结构重构为 MVC 分层架构:
* src/core/: 核心业务逻辑(Model),完全独立于 UI 框架
* src/ui/: 界面组件构建(View),负责纯视觉展示
* src/controller/: 用户交互处理(Controller),连接数据与界面
* src/utils/: 底层工具函数,专注于系统调用和字符串处理
- 引入 AppContext 结构体统一管理应用状态,替代原有的全局变量模式
- 重命名并重新组织头文件,按功能模块划分到对应子目录
- 更新 CMakeLists.txt 以适配新的目录结构
- 同步更新 README.md 文档,说明新的架构设计
dev_2.2
|
2026-03-19 20:58:41 +08:00 |
|
Serendipity
|
6509ef98e4
|
chore: 清理旧版IUP库文件并更新头文件路径
删除旧的iup-3.31_Win64_dllw6_lib目录下的所有DLL和静态库文件
将IUP头文件从旧目录迁移到新的libs/IUP/include统一路径
更新CMakeLists.txt中的包含路径和库链接配置
简化DLL复制逻辑,只复制核心iup.dll文件
|
2026-03-19 20:14:06 +08:00 |
|
Serendipity
|
c928c271e8
|
chore: 移除构建安装程序前的DLL复制步骤
不再需要手动复制IUP DLL文件,因为安装脚本已直接引用库目录。
|
2026-03-19 13:23:03 +08:00 |
|
Serendipity
|
02e702b285
|
fix(构建): 修复IUP DLL复制命令的路径变量
将CMAKE_SOURCE_DIR更改为CMAKE_CURRENT_SOURCE_DIR以确保在子目录中也能正确找到DLL文件。
移除不必要的条件判断,使复制命令始终执行。
|
2026-03-19 12:40:01 +08:00 |
|
Serendipity
|
af3138c146
|
build: 重构 CMakeLists.txt 以使用现代 CMake 最佳实践
- 将项目声明更新为包含版本和语言
- 启用 RC 语言以正确处理资源文件
- 使用 target_* 命令替代全局命令(如 include_directories、link_directories)
- 将资源文件直接加入源文件列表,简化构建定义
- 优化 DLL 复制逻辑,使用 file(GLOB) 和 copy_if_different
- 改进编译器选项的条件设置,增强跨编译器兼容性
|
2026-03-19 12:37:41 +08:00 |
|
Serendipity
|
6e6adf3b85
|
chore: 迁移构建系统并清理遗留的二进制文件
- 删除 bin/ 目录下遗留的 DLL 和可执行文件,它们现在由 CMake 构建过程自动复制
- 更新 CMakeLists.txt,明确设置 C17 标准并优化编译选项
- 更新 Inno Setup 安装脚本,使其从 build/ 目录获取构建产物
- 更新 main.c 中的编译说明,反映当前基于 CMake 的构建流程
|
2026-03-19 12:32:54 +08:00 |
|
Serendipity
|
e84b33c5ca
|
build: 迁移项目构建系统至 CMake
- 新增 CMakeLists.txt 文件,定义项目构建规则、依赖和编译选项。
- 更新 README.md 文档,推荐使用 CMake 进行构建,并说明新旧构建方式。
- 保留原有的 Makefile 支持以保持向后兼容。
|
2026-03-19 12:07:01 +08:00 |
|
Serendipity
|
ac6b409f3a
|
feat: 为只读模式添加专用应用程序标题
在非管理员权限下运行时,将对话框标题从硬编码字符串改为使用配置文件中定义的 APP_NAME_READONLY 宏。这提高了代码的可维护性和一致性,使标题文本集中管理,便于未来修改。
|
2026-03-18 22:37:33 +08:00 |
|
Serendipity
|
1bbe95582a
|
refactor: 将应用程序名称提取为配置常量
- 在 config.h 中定义 APP_NAME 常量,提高可维护性
- 将 main.c 中的对话框标题硬编码替换为使用 APP_NAME
|
2026-03-18 22:33:25 +08:00 |
|
Serendipity
|
3ecf35963d
|
feat(ui): 增加对话框最小尺寸并调整默认大小
- 将对话框默认大小从500x400调整为800x800
- 添加MINSIZE属性确保对话框不可缩小
- 清理ui.c中的多余空白字符
- 在main.c中添加编译和打包说明注释
|
2026-03-18 22:03:57 +08:00 |
|
Serendipity
|
276d2c5fe3
|
docs(config.h): 为UI配置常量添加注释说明
|
2026-03-18 21:09:13 +08:00 |
|
Serendipity
|
a9339f9b9f
|
style(config): 统一宏定义格式并更新文档
调整 config.h 中 UI_DLG_SIZE 宏定义的对齐格式以保持代码风格一致。
在 README.md 中新增“架构与二次开发”章节,说明项目的模块化设计和配置管理方式。
|
2026-03-18 21:06:55 +08:00 |
|
Serendipity
|
7fac2aab35
|
refactor: 重构代码以提取配置和全局变量
- 将 Windows 消息常量和 UI 配置常量分别提取到 globals.h 和 config.h 头文件中,提高可维护性
- 将全局变量和控件定义从 main.c 移至独立的 globals.c 源文件,实现关注点分离
- 更新 Makefile 以包含新的源文件 globals.c
- 在 ui.c 和 main.c 中引用 config.h,使用配置常量替代硬编码的 UI 参数
|
2026-03-18 21:01:50 +08:00 |
|
Serendipity
|
7db190306c
|
docs: 更新 README 项目描述与功能亮点
重写项目概述,使其更具吸引力和信息性。新增对目标用户、核心优势(如双视图、智能检测、自动备份)的说明,以更好地向潜在用户展示工具价值。
|
2026-03-16 20:32:16 +08:00 |
|
Serendipity
|
575fcca5c4
|
refactor: 提取UI组件到独立模块并改进拖拽支持
- 将列表、按钮等UI创建代码从main.c移至ui.c/ui.h
- 添加Windows UIPI消息过滤以支持管理员模式下的文件拖拽
- 更新Makefile和构建脚本以包含新的UI模块
- 清理旧的备份注册表文件并更新README文档
|
2026-03-16 20:15:10 +08:00 |
|
Serendipity
|
39d06e20e0
|
feat: 新增系统/用户变量分离、搜索、拖拽和清理功能
- 将单一列表拆分为系统和用户变量两个标签页
- 新增搜索框支持实时过滤路径
- 支持拖拽文件夹直接添加到列表
- 新增一键清理功能移除无效和重复路径
- 增加注册表备份机制和删除确认
- 优化界面布局和权限提示逻辑
|
2026-03-16 19:58:41 +08:00 |
|
Serendipity
|
f21d302565
|
refactor: 移除未使用的Windows平台头文件包含
清理main.c中已不再需要的条件编译头文件引入,简化代码结构。
dev_2.0
|
2026-03-16 18:49:47 +08:00 |
|
Serendipity
|
adbbe099b9
|
docs: 添加 MIT 许可证文件
为项目添加标准的 MIT 许可证,明确软件的使用、复制、修改和分发权限。
|
2026-03-16 18:48:19 +08:00 |
|
Serendipity
|
05d4536c42
|
build: 添加应用程序图标资源并更新构建配置
- 新增 PathEditor.ico 图标文件及对应的资源脚本 resources.rc
- 更新 Makefile,将图标资源编译链接到最终的可执行文件中
- 更新 Inno Setup 安装脚本,为安装程序设置图标
v1.1
|
2026-03-16 18:41:36 +08:00 |
|
Serendipity
|
b2ee99c91b
|
docs: 更新项目文档、安装脚本及帮助信息
- 更新 README.md,添加详细的项目说明、功能特点、安装与构建指南
- 修改 Inno Setup 安装脚本中的发布者、URL 及源文件路径
- 在帮助对话框中添加作者信息和项目 GitHub 链接
- 调整 .gitignore,不再忽略 .exe 文件,新增对 .ps1 文件的忽略
windows
|
2026-03-16 18:20:55 +08:00 |
|
Serendipity
|
f21a814ebc
|
feat(installer): 添加Inno Setup安装脚本并调整对话框按钮尺寸
- 新增dist/installer.iss用于生成Windows安装程序
- 将自定义输入对话框的按钮尺寸从80x25调整为100x32以改善视觉效果
- 删除不再使用的path_list.txt文件
|
2026-03-16 18:04:19 +08:00 |
|