fix: version()元数据为空时回退到编译时版本号
CMakeLists.txt 新增 target_compile_definitions 将 project(VERSION) 暴露为 PROJECT_VERSION 宏。version() 在 pluginMetaData 返回空时 回退到该宏,避免 AboutWindow 版本行显示空白。
This commit is contained in:
@@ -20,6 +20,9 @@ add_library(space.jokul.JNetApplet SHARED
|
||||
|
||||
set_target_properties(space.jokul.JNetApplet PROPERTIES PREFIX "")
|
||||
|
||||
# 将 project(VERSION) 暴露为编译宏,供 C++ version() 兜底使用
|
||||
target_compile_definitions(space.jokul.JNetApplet PRIVATE PROJECT_VERSION="${PROJECT_VERSION}")
|
||||
|
||||
# 头文件搜索路径指向 src/,使 #include "networkmonitorapplet.h" 可被外部解析
|
||||
target_include_directories(space.jokul.JNetApplet PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src
|
||||
|
||||
@@ -47,8 +47,9 @@
|
||||
~~所有文件头 `SPDX-FileCopyrightText: 2024 MyCompany`,"MyCompany" 是模板占位符。~~
|
||||
已将 8 个源文件的版权头改为 `SPDX-FileCopyrightText: 2026 Jokul`。
|
||||
|
||||
**10. `version()` 无兜底**
|
||||
若 `pluginMetaData().value("Version")` 返回空(元数据未加载),AboutWindow 版本行显示空白。networkview.qml 有 `"1.0"` 兜底,但 AboutWindow 的 `version` 属性直接来自 `applet.version`,无兜底。
|
||||
**10. ~~`version()` 无兜底~~ ✅ 已修复**
|
||||
~~若 `pluginMetaData().value("Version")` 返回空(元数据未加载),AboutWindow 版本行显示空白。~~
|
||||
已在 `version()` 中加兜底:元数据返回空时回退到编译时版本号 `PROJECT_VERSION` 宏。CMakeLists.txt 新增 `target_compile_definitions` 将 `project(VERSION)` 暴露为编译宏。
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -150,7 +150,11 @@ QString NetworkMonitorApplet::version() const
|
||||
// DPluginMetaData::value() 已在 "Plugin" 层级内部查找(源码:frame/pluginmetadata.cpp)
|
||||
// metadata.json 的 { "Plugin": { "Version": "x.y.z" } } 被 DPluginMetaData 加载后,
|
||||
// value("Version") 直接返回版本号,无需再 .value("Plugin").toMap() 展开
|
||||
return pluginMetaData().value("Version").toString();
|
||||
const QString ver = pluginMetaData().value("Version").toString();
|
||||
// 兜底:元数据未加载或无 Version 字段时回退到编译时版本号
|
||||
// 设计原因:QML 各处 version 属性兜底不一致(networkview.qml 有 "1.0",AboutWindow 无),
|
||||
// 统一在后端兜底,避免 AboutWindow 版本行显示空白
|
||||
return ver.isEmpty() ? QStringLiteral(PROJECT_VERSION) : ver;
|
||||
}
|
||||
|
||||
// 返回任务栏网速字体颜色,空串表示跟随系统主题
|
||||
|
||||
Reference in New Issue
Block a user