Releases: SeptemberHX/MTodo
Releases · SeptemberHX/MTodo
Release list
V0.4.0
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 勾选后不刷新列表。
- 修复小药丸动画期间磨砂消失。
- 修复文件监听器、自动隐藏与菜单冲突、托盘菜单样式。
- 玻璃按钮样式、小药丸可见性和标题文案优化。
V0.2.0
首个公开版本。基于 Qt 6 + Windows 11 DWM Acrylic 构建的置顶桌面今日待办窗口,后台对接 KodBox 项目任务。
核心功能
- KodBox 日程同步 — 通过
plugin/project/taskListSelf拉取今日任务,按开始时间 / 优先级排序展示;通过plugin/project/taskEdit写回勾选状态,失败自动回滚 UI。 - 本地快速待办 — 下方输入框回车即建,存储在
~/.mtodo/local.json(可配置为同步文件夹内的路径)。支持完成 / 删除 / 已完成项仅显示当日完成的。 - 自然语言快速添加 — 内置中文本地解析器,支持
10:30 开会、明天 9:00 周报、今晚 买电池、下午3点 开会等常见格式,自动提取日期 + 时间 + 标题。 - DeepSeek AI 解析(可选) — 设置中填入 API Key 后,点击输入框右侧 AI 按钮(或 Ctrl+Enter)调用 DeepSeek 大模型解析自由文本,解析失败自动回退到本地解析结果。
视图与导航
- 逾期区 — 未完成且截止日期已过的任务自动归入顶部「逾期 N」区域,红色标签 + 独立滚动,与当日任务以分割线隔开。逾期判定基于真实当天日期,不随浏览日期变化。
- 日期切换 — 标题右侧
◀ 04/09 ▶可前后翻页查看昨天 / 明天 / 任意日期的安排,点击日期文字回到今天。 - 双击跳转 — 双击 KodBox 任务行在浏览器中打开对应任务页面。
- KodBox 日历按钮 — 顶栏日历图标一键打开 KodBox 项目日历视图。
提醒系统
- 到点提醒 — 任务开始时间到达时弹出自定义磨砂 Toast 窗口(底部右下角),配有系统提示音。
- 三个快捷动作 — Toast 上可直接 完成 / 稍后 10 分钟 / 打开任务,将提醒从「通知」变成「入口」。
- 本地任务同样提醒 — 通过自然语言添加的带时间本地任务也会触发 Toast。
- 持久化已提醒记录 —
~/.mtodo/notified.json按日期存储已提醒 ID,3 天后自动清理。 - 提醒与浏览日期解耦 — 即使用户在查看昨天 / 明天视图,今天的远程任务提醒仍正常触发。
窗口与交互
- 磨砂透明 — Windows 11 DWM Acrylic 毛玻璃效果,深色主题,始终置顶。
- 边缘吸附 + 自动隐藏 — 拖到屏幕左 / 右 / 上边缘自动吸附,鼠标离开 ~200ms 后滑出收起为小窗口,悬浮即展开。打开菜单时自动隐藏暂停。
- 小窗口模式 — 点击收起按钮或吸附后自动收起为紧凑磨砂小窗口,显示今日未完成数 + 逾期数。双击还原。展开 / 收起有 220ms 动画。
- 自由调整大小 — 四条边可拖动调整,四角不触发对角缩放。
- 跨屏幕移动保持物理尺寸 — 在不同 DPI 显示器间拖动时窗口视觉大小不变。
- 记住窗口状态 — 位置、大小、吸附边、收起状态在退出 / 移动 / 调整时自动持久化到
config.json。
设置与配置
- 磨砂设置窗口 — 可拖动标题栏 + 关闭按钮,深色玻璃风格。
- 后台账号配置 — KodBox 服务器地址 / 用户名 / 密码(磁盘存储已做 XOR 混淆)。
- 通用设置 — 刷新间隔、深色主题、开机自启动、本地待办文件路径、DeepSeek API Key。
- 关于窗口 — 显示应用名称、版本号、简介。
系统托盘
- 托盘图标 — 蓝底白色勾选标志,左键点击 / 双击唤起主窗口。
- 右键菜单 — 显示 / 立即刷新 / 设置 / 关于 / 退出,深色圆角风格(DWM 圆角)。
本地待办同步
- 可配置文件路径 — 设置中可将
local.json指向 OneDrive / Dropbox / Syncthing 等同步文件夹。 - 文件变更自动感知 — QFileSystemWatcher 监听文件及父目录变更,外部同步工具修改后 300ms 内自动刷新。