新增统计栏/过滤/预设/深色主题/托盘/DPI适配/发送文件/RTS-DTR,修复配置保存与弹窗置顶
This commit is contained in:
+43
-24
@@ -1,31 +1,50 @@
|
||||
# 修改事项
|
||||
|
||||
以下为本次相对于 e9b3100(初始提交)的改动记录。
|
||||
以下为相对于上一提交(b43249f)的改动记录。
|
||||
|
||||
## 1. 接收区字体大小:Ctrl + 鼠标滚轮调整
|
||||
- 新增 `RecvEdit` 类(继承 `QPlainTextEdit`),重写 `wheelEvent`:
|
||||
按住 **Ctrl + 滚轮** 即可放大/缩小接收区字体(范围 8~40pt)。
|
||||
- 接收区改用 `RecvEdit` 并通过 `QFont` 设置字体,替换原来的 stylesheet 方式。
|
||||
## 1. 收发统计栏
|
||||
- 底部新增统计标签,实时显示 **TX/RX 的字节数与帧数**。
|
||||
|
||||
## 2. 导出/导入配置扩展
|
||||
- `export_config` 现在经 `collect_config` 导出以下内容:
|
||||
- 接收设置:显示格式(ASCII/HEX)、时间戳、INFO 勾选;
|
||||
- 发送设置:内容格式(文本/HEX)、回车发送、回车换行、定时发送及间隔;
|
||||
- 应答设置:自动应答、解析格式、回应格式勾选;
|
||||
- 字体大小、应答规则、批量发送。
|
||||
- **保存日志(chk_save_log)不参与导出/导入**,避免日志目录误恢复。
|
||||
- `import_config` 通过 `apply_config` 统一恢复上述设置,兼容旧的 `reply_rules` / `batch_rows` 配置文件格式。
|
||||
## 2. 接收区右键菜单
|
||||
- 新增 `RecvEdit.contextMenuEvent`:复制、全选、**另存为**、清空。
|
||||
- "另存为"将接收区全部内容写入文本文件。
|
||||
|
||||
## 3. 关闭自动保存、重启自动恢复配置
|
||||
- `MainWindow` 持有串口/TCP/UDP 三个面板引用。
|
||||
- `closeEvent` 时把各面板配置写入同目录 `app_config.json`。
|
||||
- 启动时自动读取并恢复,无需每次手动导入配置。
|
||||
## 3. 发送区 Ctrl+滚轮调字号
|
||||
- `SendEdit` 支持 Ctrl+滚轮调整字号(8~40pt),字号随配置持久化。
|
||||
|
||||
## 4. TCP 服务端发送改为广播所有客户端
|
||||
- `NetPanel.actual_send` 服务端分支不再限定于下拉框选中的客户端,改为发送给**所有已连接客户端**。
|
||||
## 4. 关键字过滤
|
||||
- 接收设置组新增"过滤"勾选 + 关键字输入框:启用后只显示包含关键字的行。
|
||||
- 过滤状态与关键字随配置保存/恢复。
|
||||
|
||||
## 5. 窗口置顶功能
|
||||
- 新增顶栏"窗口置顶"勾选框。
|
||||
- 使用 Windows `SetWindowPos` API(Win32)调整 z 序实现置顶,无闪烁;
|
||||
为 API 声明了 `argtypes` 防止 64 位句柄被截断,API 失败时回退到 `setWindowFlag`。
|
||||
- 置顶状态随 `app_config.json` 自动保存/恢复。
|
||||
## 5. 发送历史持久化
|
||||
- 发送历史(最近 200 条)随 `app_config.json` 保存,重启后可用 ↑↓ 键继续浏览。
|
||||
|
||||
## 6. 多套配置预设(Profile)
|
||||
- 顶栏"预设"下拉 + "保存预设/删除预设"按钮,可一键切换整套配置。
|
||||
- 预设保存于 `network_debugger_profiles.json`。
|
||||
|
||||
## 7. 深色主题切换
|
||||
- 顶栏"深色模式"勾选框,基于 Fusion 风格切换亮/暗色板,状态持久化。
|
||||
|
||||
## 8. DPI 适配
|
||||
- 启动时设置高分屏缩放舍入策略 `PassThrough`,避免高分屏模糊。
|
||||
|
||||
## 9. 串口 RTS/DTR 控制 + 发送文件
|
||||
- 串口面板新增 RTS/DTR 勾选,打开串口时生效,随配置保存。
|
||||
- 新增"发送文件"按钮:读取文件按 4KB 分块发送,避免阻塞界面。
|
||||
|
||||
## 10. 接收区性能优化
|
||||
- 接收区改为**批量插入 + 定时(120ms)刷新**,高频率收发不再逐行刷新导致卡顿。
|
||||
|
||||
## 11. 窗口置顶修复:弹窗继承置顶
|
||||
- 新增 `inherit_topmost()`:主窗口置顶时,批量发送/应答规则/自动应答弹窗自动带上置顶标志,避免被主窗口遮住。
|
||||
- 修复 `BatchSendDialog` 未传 `parent` 导致无法继承置顶的问题。
|
||||
|
||||
## 12. 最小化到托盘
|
||||
- 顶栏"最小化到托盘"勾选:勾选后显示托盘图标,**最小化或关闭**均隐藏到托盘,托盘菜单可"显示主界面/退出"。
|
||||
- 修复托盘图标未调用 `show()` 导致功能无效的问题。
|
||||
|
||||
## 13. 配置保存修复与自动保存
|
||||
- 修复残留隐藏 `app_config.json` 被锁定导致保存 `PermissionError`(静默失败)的问题。
|
||||
- 新增每 30 秒自动保存兜底,异常退出也不易丢配置。
|
||||
- 删除单实例锁,**默认支持多开**;`app_config.json` 加入 `.gitignore`。
|
||||
Reference in New Issue
Block a user