From d7f5805cfcf1fb98d805c37d93d139a0af5f734f Mon Sep 17 00:00:00 2001 From: MDLZCOOL <2780009450@qq.com> Date: Fri, 10 Jul 2026 16:44:22 +0000 Subject: [PATCH] feat: add support for ups device Signed-off-by: MDLZCOOL <2780009450@qq.com> --- .../ukui-power-test-tool/upower-dbus/upowerdbus.cpp | 2 +- ukui-power-manager-tray/upower-dbus/upm_upowerdbus.cpp | 5 +++-- ukui-power-manager-tray/upower-dbus/upowerdbus.cpp | 2 +- ukui-upower/upowerinfo/upowerinfo.cpp | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/PowerManagementDaemon/ukui-power-test-tool/upower-dbus/upowerdbus.cpp b/PowerManagementDaemon/ukui-power-test-tool/upower-dbus/upowerdbus.cpp index 35f2ae3..0e4494f 100644 --- a/PowerManagementDaemon/ukui-power-test-tool/upower-dbus/upowerdbus.cpp +++ b/PowerManagementDaemon/ukui-power-test-tool/upower-dbus/upowerdbus.cpp @@ -42,7 +42,7 @@ UPowerDBus::UPowerDBus(QObject *parent) : QObject(parent) int upDeviceType = getDeviceType(dBusObjectPath.path()); if (up_device_type_line_power == upDeviceType) { m_linePowerPathList << dBusObjectPath.path(); - } else if (up_device_type_battery == upDeviceType) { + } else if (up_device_type_battery == upDeviceType || up_device_type_ups == upDeviceType) { m_batteryPathList << dBusObjectPath.path(); } } diff --git a/ukui-power-manager-tray/upower-dbus/upm_upowerdbus.cpp b/ukui-power-manager-tray/upower-dbus/upm_upowerdbus.cpp index 7cddb23..ce8c00f 100644 --- a/ukui-power-manager-tray/upower-dbus/upm_upowerdbus.cpp +++ b/ukui-power-manager-tray/upower-dbus/upm_upowerdbus.cpp @@ -215,7 +215,8 @@ void UpmUpowerDBus::onDeviceAdded(QDBusObjectPath devicePath) { const QString path = devicePath.path(); qInfo() << "Device added:" << path; - if(m_upowerDBus->getDeviceType(path) == up_device_type_battery) { + int devType = m_upowerDBus->getDeviceType(path); + if(devType == up_device_type_battery || devType == up_device_type_ups) { rebuildBatteryObjects(); Q_EMIT deviceChanged(); } @@ -225,7 +226,7 @@ void UpmUpowerDBus::onDeviceRemoved(QDBusObjectPath devicePath) { const QString path = devicePath.path(); qInfo() << "Device removed:" << path; - if(path.contains("BAT")) { + if(path.contains("BAT") || path.contains("ups")) { rebuildBatteryObjects(); Q_EMIT deviceChanged(); } diff --git a/ukui-power-manager-tray/upower-dbus/upowerdbus.cpp b/ukui-power-manager-tray/upower-dbus/upowerdbus.cpp index 55e3b1d..88ce542 100644 --- a/ukui-power-manager-tray/upower-dbus/upowerdbus.cpp +++ b/ukui-power-manager-tray/upower-dbus/upowerdbus.cpp @@ -56,7 +56,7 @@ void UPowerDBus::refreshDevicePathLists() if (up_device_type_line_power == upDeviceType) { m_linePowerPathList << dBusObjectPath.path(); qDebug() << "line_power dBusObjectPath:" << dBusObjectPath.path(); - } else if (up_device_type_battery == upDeviceType) { + } else if (up_device_type_battery == upDeviceType || up_device_type_ups == upDeviceType) { m_batteryPathList << dBusObjectPath.path(); qDebug() << "battery dBusObjectPath:" << dBusObjectPath.path(); } diff --git a/ukui-upower/upowerinfo/upowerinfo.cpp b/ukui-upower/upowerinfo/upowerinfo.cpp index d5af4de..5e61b62 100644 --- a/ukui-upower/upowerinfo/upowerinfo.cpp +++ b/ukui-upower/upowerinfo/upowerinfo.cpp @@ -160,7 +160,7 @@ QString UPowerInfo::getBatteryPath() if (dface.isValid()) { for (QDBusObjectPath op : reply.value()) { int upDeviceType = getDeviceType(op.path()); - if (up_device_type_battery == upDeviceType) { + if (up_device_type_battery == upDeviceType || up_device_type_ups == upDeviceType) { batteryPath = op.path(); m_hasBattery = true; break; -- Gitee