v0.4.0 — 2026-04-11
主题系统全面重构,设置界面重新设计,完成项自动清理。
新增
- 集中式主题系统 — 新增
Theme.h,将 ~45 个颜色 token 集中管理(textPrimary、menuBg、badgeColor等),消除了散布在各文件中的if (dark)颜色分支。 - 亮色 / 暗色 / 跟随系统 — 设置中主题切换从 CheckBox 改为 ComboBox(深色 / 浅色 / 跟随系统)。选择"跟随系统"时实时监听
QStyleHints::colorSchemeChanged,操作系统切换主题后应用立即跟随,无需重启。 - 侧边栏设置面板 — 设置窗口重新设计为 Clipaste 风格的左侧图标导航 + 右侧内容区布局,分为"通用"、"账号"、"关于"三个页面。窗口居中显示。
- 关于页合并 — "关于"功能合并进设置面板第三个标签页,菜单中"关于…"直接打开设置的关于页。
- 本地已完成自动清理 — 新增
retainDays配置(1–30 天,默认 30),超龄已完成的本地待办在每次写入时自动清理。设置面板提供 SpinBox 控制。 - 提醒 Toast 主题适配 — ReminderToast 支持亮色 / 暗色两套 QSS,跟随主题切换。
改进
- 逾期合并到主列表 — 远程和本地逾期任务不再独立分区,统一合并到列表顶部显示,使用加粗红色"逾期 · MM/dd"标注。逾期数量在状态栏以红色文字显示。
- 多日任务完整日期 — 跨天任务显示完整的起止日期范围(
MM/dd HH:mm - MM/dd HH:mm),不再截断为单日格式。 - 逾期判定更准确 — 逾期检测从 startDate 改为 endDate(截止时间),跨天任务在结束日之前不标记逾期。
- Linux 跟随系统主题 — "跟随系统"模式在非 Windows 平台使用
QPalette::Window亮度检测,不再硬编码为暗色。 - 托盘菜单主题同步 — 托盘右键菜单在主题切换后自动重新应用样式,不再停留在旧主题。
- 删除逾期立即刷新 —
removeLocal()同步刷新localOverdueItems_缓存,删除逾期本地待办后角标和列表立即更新。 - 本地逾期仅今日显示 — 浏览历史日期时不再显示本地逾期任务,避免混淆。
- 本地逾期去重 —
loadForDate和loadOverdue重叠时按 ID 去重。
移除
- 所有 Qt Tooltip — 移除所有
setToolTip()调用和TipStyler事件过滤器,解决 DWM 下 tooltip 导致的窗口闪烁问题。保留系统托盘 tooltip(OS 级别,非 Qt widget)。
架构
- 5 模块提取(v0.3.0)—
FramelessController(无边框窗口交互)、TodoRepository(数据层)、ReminderService(提醒服务)、QuickAddService(快速添加)、SurfacePainter(磨砂面板绘制),TodoWidget.cpp从 ~1800 行降至 ~1150 行。 - Theme 集中配色 — 所有 UI 组件通过
theme_.tokenName读取颜色,主题切换只需调applyTheme()一次。
v0.3.0 — 2026-04-10
架构重构,提取核心模块,修复 5 项代码审查问题。
改进
- 从 TodoWidget 提取 FramelessController、TodoRepository、ReminderService、QuickAddService、SurfacePainter 五个独立模块。
- 修复窗口位置持久化(main.cpp 无条件覆盖问题)。
- 修复 KodBox 勾选后不刷新列表。
- 修复小药丸动画期间磨砂消失。
- 修复文件监听器、自动隐藏与菜单冲突、托盘菜单样式。
- 玻璃按钮样式、小药丸可见性和标题文案优化。