diff --git a/CMakeLists.txt b/CMakeLists.txt index 2cc9d02..c24d8be 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,6 +12,7 @@ set(CMAKE_AUTOMOC ON) find_package(Qt6 REQUIRED COMPONENTS Core Quick DBus LinguistTools) find_package(Dtk6 REQUIRED COMPONENTS Core) +find_package(DDEShell REQUIRED) # 插件 ID set(PLUGIN_ID "org.deepin.ds.graphics-driver") @@ -63,6 +64,7 @@ target_link_libraries(org.deepin.ds.graphics-driver PRIVATE Qt6::Quick Qt6::DBus Dtk6::Core + Dde::Shell ) # 安装到dde-shell插件目录 diff --git a/package/driverview.qml b/package/driverview.qml index a369da3..29fbe8b 100644 --- a/package/driverview.qml +++ b/package/driverview.qml @@ -572,13 +572,14 @@ AppletItem { } // 识别 GPU 厂商简称 + // 注意:用单词边界匹配,避免 "corporation" 中的 "ati" 等子串误匹配 function parseGpuVendorShort(info) { - var name = info.toLowerCase() - if (name.indexOf("nvidia") !== -1) return "NV" - if (name.indexOf("amd") !== -1 || name.indexOf("ati") !== -1 || name.indexOf("advanced micro") !== -1) return "AMD" - if (name.indexOf("intel") !== -1) return "Intel" - if (name.indexOf("qualcomm") !== -1) return "QC" - if (name.indexOf("microsoft") !== -1) return "MS" + var name = parseGpuName(info).toLowerCase() + if (/nvidia/.test(name)) return "NV" + if (/\bamd\b/.test(name) || /\bati\b/.test(name) || /advanced micro/.test(name)) return "AMD" + if (/intel/.test(name)) return "Intel" + if (/qualcomm/.test(name)) return "QC" + if (/microsoft/.test(name)) return "MS" return "GPU" }