Skip to content

Releases: SeptemberHX/MTodo

Release list

V0.4.0

Choose a tag to compare

@SeptemberHX SeptemberHX released this 11 Apr 12:25

v0.4.0 — 2026-04-11

主题系统全面重构,设置界面重新设计,完成项自动清理。

新增

  • 集中式主题系统 — 新增 Theme.h,将 ~45 个颜色 token 集中管理(textPrimarymenuBgbadgeColor 等),消除了散布在各文件中的 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_ 缓存,删除逾期本地待办后角标和列表立即更新。
  • 本地逾期仅今日显示 — 浏览历史日期时不再显示本地逾期任务,避免混淆。
  • 本地逾期去重loadForDateloadOverdue 重叠时按 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

Choose a tag to compare

@SeptemberHX SeptemberHX released this 09 Apr 11:27

首个公开版本。基于 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 内自动刷新。