fix: version() 用 value("Version") 直接读取(DPluginMetaData 已展开 Plugin 层级)

This commit is contained in:
2026-07-19 19:22:54 +08:00
parent c07f17d212
commit c1a535a005
+4 -11
View File
@@ -121,17 +121,10 @@ QString NetworkMonitorApplet::ipv6Address() const
// dde-shell 加载时存入 DPluginMetaData,此处通过继承自 DApplet 的 pluginMetaData() 读取 // dde-shell 加载时存入 DPluginMetaData,此处通过继承自 DApplet 的 pluginMetaData() 读取
QString NetworkMonitorApplet::version() const QString NetworkMonitorApplet::version() const
{ {
// metadata.json 结构:{ "Plugin": { "Version": "x.y.z", ... } } // DPluginMetaData::value() 已在 "Plugin" 层级内部查找(源码:frame/pluginmetadata.cpp
// DPluginMetaData 内部存储方式不确定:可能已展开 Plugin 层级(value("Version") 直接可用) // metadata.json 的 { "Plugin": { "Version": "x.y.z" } } 被 DPluginMetaData 加载后
// 也可能保留原始嵌套结构(需 value("Plugin").toMap().value("Version") // value("Version") 直接返回版本号,无需再 .value("Plugin").toMap() 展开
// 两种都尝试,取非空值 return pluginMetaData().value("Version").toString();
const DPluginMetaData meta = pluginMetaData();
QString v = meta.value("Version").toString();
if (v.isEmpty()) {
v = meta.value("Plugin").toMap().value("Version").toString();
}
qDebug() << "[JNetApplet] version() =" << v;
return v;
} }
void NetworkMonitorApplet::refresh() void NetworkMonitorApplet::refresh()