Commit Graph
20 Commits
Author SHA1 Message Date
Jokul 1d79dbf261 fix: 修复 fontScale 删除残留导致 applet 加载失败
Lane B 删除 fontScale 属性时遗漏了 Lane A 新增的 4 处引用(链路速率/
WiFi 信号/TCP 连接数/接口名),QML 引擎解析到 popup.fontScale 未定义
报语法错误,导致整个 applet 加载失败、插件消失
2026-08-09 00:30:16 +08:00
Jokul 640cc2ab84 feat: C++后端功能扩展(链路速率/刷新间隔/TCP连接数/WiFi信号)
P7 链路速率:读 /sys/class/net/<iface>/speed,无线失败时降级解析 iw bitrate,
弹窗接口名旁显示(>=1000 显示 Gbps)
P5 可配置刷新间隔:新增 refreshInterval 属性,设置窗口可选 1/2/5 秒并持久化
P3 TCP 连接数:统计 /proc/net/tcp 与 tcp6 的 ESTABLISHED 连接数,弹窗展示
P6 WiFi 信号强度:读 /proc/net/wireless 的 level(dBm),弹窗接口信息区展示
所有读取均优雅降级(文件缺失/读取失败返回默认值),不改动速度计算逻辑
2026-08-09 00:07:41 +08:00
Jokul da271deea0 refactor: 清理 NetworkPopup fontScale 死代码 2026-08-08 23:58:49 +08:00
Jokul 30a186b6dc style: 包统计行布局改为与流量总计行一致
标签+↓蓝粗箭头+数值+↑绿粗箭头+数值拆分为独立 Text 元素,
与上方流量总计行视觉对称
2026-08-08 23:51:44 +08:00
Jokul a5cfffc2f1 fix: 包统计行从接口信息区移到累计流量区下方
包统计与流量统计同属累计数据,放一起信息归属清晰;移除接口信息区的
包统计行,在总计行下方新增居中显示;标签加 qsTr 支持国际化
2026-08-08 23:32:53 +08:00
Jokul d18314bdec feat: 弹窗展示包统计/错误/丢包数据
C++ 后端暴露活动接口的收发包/错误/丢包累计统计(rxPackets/txPackets/
rxErrors/txErrors/rxDropped/txDropped,quint64 + packetStatsChanged 信号),
弹窗接口信息区新增一行紧凑包统计,包总数始终显示,
错误/丢包仅在存在时显示;箭头遵循应用惯例 ↓=接收、↑=发送
2026-08-08 23:23:38 +08:00
Jokul 9b8f6367e9 fix: 切换网卡时弹窗高度跳动
接口信息区改为固定高度 60px(按最多 3 行内容计算),内容顶部对齐。
无论有无 IP 地址,区域高度恒定,弹窗整体高度不随网卡切换跳动
2026-08-08 21:23:51 +08:00
Jokul 8129730d43 fix: 无 IP 地址时接口名位置与有 IP 时保持一致
去掉接口信息区外层 Item 包装和 anchors.centerIn,直接用 ColumnLayout
内容自然撑高、顶部对齐。无论有无 IP 地址,接口名行始终在顶部同一
垂直位置,切换网卡时不再跳动
2026-08-08 21:19:48 +08:00
Jokul 28829c2ab7 fix: IPv6 地址错位 + 复制按钮颜色不明显
接口信息区改为三行对称结构:行1 接口名居中,行2/行3 为 IPv4/IPv6
地址行,用固定宽度标签对齐,两行结构对称不再随地址长度错位;
复制图标默认色从 tertiaryText 改为 primaryText,深色背景上清晰可见
2026-08-08 21:10:29 +08:00
Jokul 98f88c05c5 feat: 弹窗 IPv4/IPv6 地址旁加一键复制图标
接口信息区每个 IP 地址后加 ⧉ 复制图标,点击写入剪贴板,
复制后短暂显示 ✓ 反馈(2 秒后恢复),hover 图标变蓝提示可交互
2026-08-08 21:00:50 +08:00
Jokul 7ebfa5b74e fix: 无 IP 地址时网卡名在接口信息区垂直居中
接口信息区改为外层 Item 固定高度 + 内层 ColumnLayout anchors.centerIn,
无 IP 地址时单行内容在区域内垂直居中,避免贴顶偏上
2026-08-08 20:54:10 +08:00
Jokul e7f0200da4 fix: 弹窗文字颜色改用 dock 上下文调色板并修复无地址时塌陷
NetworkPopup 不再自建 NetCommon 实例,改由 networkview.qml 传入 dock 上下文的
common 实例,避免 PanelPopup 窗口上下文 DTK.palette.windowText 深色模式返回深色
文字导致深底深字;接口信息区加 minimumHeight 防止无 IP 地址时高度塌陷
2026-08-08 20:46:14 +08:00
Jokul 37300e3b79 fix: 拆分接口信息行使接口名跟随用户 textColor
将图标+接口名+IPv4 从单 Text 拆分为 RowLayout 内三个独立 Text,
接口名用 primaryText 跟随用户字体色,图标用 tertiaryText、IPv4 用 secondaryText 保持层次
2026-08-08 20:32:46 +08:00
Jokul e6123b1600 fix: 修复 textColor 字符串类型访问 .r/.g/.b 导致字体色跟随失效 2026-08-08 20:21:13 +08:00
Jokul 483c0f2ee6 feat: 重新设计左键弹窗布局
采用通透分区方案,去掉自绘卡片背景改用分隔线+留白划分四区:
接口信息(含类型图标)/ 实时速度(24px 锚点)/ 累计流量 / 接口切换
速度数值与单位拆分显示,chip 未选中态改透明+边框
适配用户 textColor(仅主要文字跟随)、预留 fontScale 字号缩放扩展点
2026-08-08 20:15:01 +08:00
Jokul fba506d9d8 feat: 国际化支持,英文源串+中文翻译
全部44处qsTr源串改为英文,新建translations/jnetapplet_zh_CN.ts
中文翻译文件。CMake增加LinguistTools+qt_add_translation编译
.ts->.qm,init()按系统语言加载.qm并安装到qApp。

中文系统显示中文翻译,英文系统显示英文源串。
2026-07-24 11:40:12 +08:00
Jokul 110032f3c9 refactor: 抽取NetCommon.qml消除跨组件重复代码
新建 package/components/NetCommon.qml 聚合公共颜色定义(主题感知色
+强调色)和工具函数(isPhysicalIf/formatSpeed/formatTotal/downloadValueColor)。

networkview.qml、NetworkPopup.qml、TrafficChartWindow.qml 删除各自
的重复定义改为引用 common.xxx,净删除91行重复代码。downloadValueColor
由属性绑定改为函数(调用方传速度值)。视觉行为零变化。
2026-07-24 11:00:02 +08:00
Jokul 4b5cde4361 fix: SPDX版权头从占位符改为2026 Jokul
8个源文件的 SPDX-FileCopyrightText: 2024 MyCompany 改为 2026 Jokul。
2026-07-24 10:02:46 +08:00
Jokul c614df5fbe fix: 独立窗口及任务栏图标适配深色模式
4 个独立窗口(AboutWindow/SettingsWindow/TextColorPicker/TrafficChartWindow)
新增 isDarkMode 属性,由 networkview.qml 检测后注入,各窗口定义深/浅双色方案。

深色模式检测从 DockPalette.iconTextPalette 改为 DTK.palette.window.hslLightness,
因 DockPalette 不随系统深色主题变化。

同时将 networkview.qml 任务栏图标和 NetworkPopup 弹窗的颜色基从
DockPalette.iconTextPalette 改为 DTK.palette.windowText,修复深色模式
下黑底黑字、浅色模式下白底白字的问题。
2026-07-24 09:30:18 +08:00
Jokul 9f11b32b5e refactor: 拆分弹窗到独立组件 NetworkPopup.qml
将 networkview.qml 中 PanelPopup 弹窗内容提取到独立组件
package/components/NetworkPopup.qml,减少主文件约 400 行。

PanelPopup 是 dock 上下文类型,不能作为独立组件根元素,因此
NetworkPopup.qml 用 Control 作为根(只含弹窗内容),由
networkview.qml 的 PanelPopup 壳包裹,定位和可见性管理在壳层处理。
2026-07-22 23:28:07 +08:00