From dfe4514981f2a630500f9471b2b8c3bf6e185b68 Mon Sep 17 00:00:00 2001 From: Cloud Date: Wed, 26 Jul 2023 19:45:32 +0800 Subject: [PATCH] feat: add bluetooth battery add bluetooth battery --- plugins/bluetooth/componments/adapter.cpp | 6 +++ .../componments/bluetoothadapteritem.cpp | 48 ++++++++++++++++++- .../componments/bluetoothadapteritem.h | 2 + plugins/bluetooth/componments/device.cpp | 9 ++++ plugins/bluetooth/componments/device.h | 5 ++ plugins/bluetooth/resources/bluetooth.qrc | 26 ++++++++++ .../dark/icons/battery-000-symbolic_20px.svg | 3 ++ .../dark/icons/battery-010-symbolic_20px.svg | 6 +++ .../dark/icons/battery-020-symbolic_20px.svg | 6 +++ .../dark/icons/battery-030-symbolic_20px.svg | 6 +++ .../dark/icons/battery-040-symbolic_20px.svg | 6 +++ .../dark/icons/battery-050-symbolic_20px.svg | 6 +++ .../dark/icons/battery-060-symbolic_20px.svg | 6 +++ .../dark/icons/battery-070-symbolic_20px.svg | 6 +++ .../dark/icons/battery-080-symbolic_20px.svg | 6 +++ .../dark/icons/battery-090-symbolic_20px.svg | 6 +++ .../dark/icons/battery-100-symbolic_20px.svg | 6 +++ .../icons/battery-unknow-symbolic_20px.svg | 6 +++ .../light/icons/battery-000-symbolic_20px.svg | 3 ++ .../light/icons/battery-010-symbolic_20px.svg | 6 +++ .../light/icons/battery-020-symbolic_20px.svg | 6 +++ .../light/icons/battery-030-symbolic_20px.svg | 6 +++ .../light/icons/battery-040-symbolic_20px.svg | 6 +++ .../light/icons/battery-050-symbolic_20px.svg | 6 +++ .../light/icons/battery-060-symbolic_20px.svg | 6 +++ .../light/icons/battery-070-symbolic_20px.svg | 6 +++ .../light/icons/battery-080-symbolic_20px.svg | 6 +++ .../light/icons/battery-090-symbolic_20px.svg | 6 +++ .../light/icons/battery-100-symbolic_20px.svg | 6 +++ .../icons/battery-unknow-symbolic_20px.svg | 6 +++ 30 files changed, 233 insertions(+), 1 deletion(-) create mode 100644 plugins/bluetooth/resources/dark/icons/battery-000-symbolic_20px.svg create mode 100644 plugins/bluetooth/resources/dark/icons/battery-010-symbolic_20px.svg create mode 100644 plugins/bluetooth/resources/dark/icons/battery-020-symbolic_20px.svg create mode 100644 plugins/bluetooth/resources/dark/icons/battery-030-symbolic_20px.svg create mode 100644 plugins/bluetooth/resources/dark/icons/battery-040-symbolic_20px.svg create mode 100644 plugins/bluetooth/resources/dark/icons/battery-050-symbolic_20px.svg create mode 100644 plugins/bluetooth/resources/dark/icons/battery-060-symbolic_20px.svg create mode 100644 plugins/bluetooth/resources/dark/icons/battery-070-symbolic_20px.svg create mode 100644 plugins/bluetooth/resources/dark/icons/battery-080-symbolic_20px.svg create mode 100644 plugins/bluetooth/resources/dark/icons/battery-090-symbolic_20px.svg create mode 100644 plugins/bluetooth/resources/dark/icons/battery-100-symbolic_20px.svg create mode 100644 plugins/bluetooth/resources/dark/icons/battery-unknow-symbolic_20px.svg create mode 100644 plugins/bluetooth/resources/light/icons/battery-000-symbolic_20px.svg create mode 100644 plugins/bluetooth/resources/light/icons/battery-010-symbolic_20px.svg create mode 100644 plugins/bluetooth/resources/light/icons/battery-020-symbolic_20px.svg create mode 100644 plugins/bluetooth/resources/light/icons/battery-030-symbolic_20px.svg create mode 100644 plugins/bluetooth/resources/light/icons/battery-040-symbolic_20px.svg create mode 100644 plugins/bluetooth/resources/light/icons/battery-050-symbolic_20px.svg create mode 100644 plugins/bluetooth/resources/light/icons/battery-060-symbolic_20px.svg create mode 100644 plugins/bluetooth/resources/light/icons/battery-070-symbolic_20px.svg create mode 100644 plugins/bluetooth/resources/light/icons/battery-080-symbolic_20px.svg create mode 100644 plugins/bluetooth/resources/light/icons/battery-090-symbolic_20px.svg create mode 100644 plugins/bluetooth/resources/light/icons/battery-100-symbolic_20px.svg create mode 100644 plugins/bluetooth/resources/light/icons/battery-unknow-symbolic_20px.svg diff --git a/plugins/bluetooth/componments/adapter.cpp b/plugins/bluetooth/componments/adapter.cpp index e850da72d..0b206531d 100644 --- a/plugins/bluetooth/componments/adapter.cpp +++ b/plugins/bluetooth/componments/adapter.cpp @@ -39,6 +39,7 @@ void Adapter::addDevice(const QJsonObject &deviceObj) const Device::State state = Device::State(deviceObj["State"].toInt()); const bool connectState = deviceObj["ConnectState"].toBool(); const QString bluetoothDeviceType = deviceObj["Icon"].toString(); + const int battery = deviceObj["Battery"].toInt(); removeDevice(id); @@ -53,6 +54,7 @@ void Adapter::addDevice(const QJsonObject &deviceObj) device->setRssi(rssi); device->setAdapterId(m_id); device->setDeviceType(bluetoothDeviceType); + device->setBattery(battery); m_devices[id] = device; @@ -80,6 +82,7 @@ void Adapter::updateDevice(const QJsonObject &dviceJson) const Device::State state = Device::State(dviceJson["State"].toInt()); const bool connectState = dviceJson["ConnectState"].toBool(); const QString bluetoothDeviceType = dviceJson["Icon"].toString(); + const int battery = dviceJson["Battery"].toInt(); // FIXME: Solve the problem that the device name in the Bluetooth list is blank if (name.isEmpty() && alias.isEmpty()) @@ -97,6 +100,7 @@ void Adapter::updateDevice(const QJsonObject &dviceJson) device->setConnectState(connectState); device->setState(state); device->setDeviceType(bluetoothDeviceType); + device->setBattery(battery); emit deviceNameUpdated(device); } } @@ -123,6 +127,7 @@ void Adapter::initDevicesList(const QJsonDocument &doc) const Device::State state = Device::State(deviceObj["State"].toInt()); const bool connectState = deviceObj["ConnectState"].toBool(); const QString bluetoothDeviceType = deviceObj["Icon"].toString(); + const int battery = deviceObj["Battery"].toInt(); auto device = new Device(this); device->setId(id); @@ -134,6 +139,7 @@ void Adapter::initDevicesList(const QJsonDocument &doc) device->setRssi(rssi); device->setAdapterId(adapterId); device->setDeviceType(bluetoothDeviceType); + device->setBattery(battery); m_devices[id] = device; } diff --git a/plugins/bluetooth/componments/bluetoothadapteritem.cpp b/plugins/bluetooth/componments/bluetoothadapteritem.cpp index c03d70740..f1ec4daf1 100644 --- a/plugins/bluetooth/componments/bluetoothadapteritem.cpp +++ b/plugins/bluetooth/componments/bluetoothadapteritem.cpp @@ -27,6 +27,7 @@ BluetoothDeviceItem::BluetoothDeviceItem(QStyle *style, const Device *device, DL , m_labelAction(nullptr) , m_stateAction(nullptr) , m_connAction(nullptr) + , m_batteryAction(nullptr) , m_loading(new DSpinner(parent)) , m_iconWidget(new QWidget(parent->viewport())) , m_connButton(new StateButton(m_iconWidget)) @@ -53,6 +54,7 @@ void BluetoothDeviceItem::initActionList() m_labelAction = new DViewItemAction(Qt::AlignLeft | Qt::AlignVCenter, QSize(), QSize(), false); m_stateAction = new DViewItemAction(Qt::AlignLeft | Qt::AlignVCenter, QSize(), QSize(), true); m_connAction = new DViewItemAction(Qt::AlignRight | Qt::AlignVCenter, QSize(16, 16), QSize(16, 16), false); + m_batteryAction = new DViewItemAction(Qt::AlignLeft | Qt::AlignVCenter, QSize(20, 20), QSize(20, 20), false); m_connButton->setType(StateButton::Check); m_connButton->setSwitchFork(true); @@ -69,16 +71,54 @@ void BluetoothDeviceItem::initActionList() m_connAction->setWidget(m_iconWidget); m_standarditem->setAccessibleText(m_device->alias()); - m_standarditem->setActionList(Qt::RightEdge, { m_stateAction, m_connAction }); + m_standarditem->setActionList(Qt::RightEdge, { m_batteryAction, m_stateAction, m_connAction }); m_standarditem->setActionList(Qt::LeftEdge, { m_labelAction }); //蓝牙列表可用蓝牙设备信息文字显示高亮 m_labelAction->setTextColorRole(DPalette::BrightText); m_labelAction->setText(m_device->alias()); updateDeviceState(m_device->state()); + + m_batteryAction->setIcon(getBatteryIcon(m_device->battery())); + m_batteryAction->setVisible(m_device->battery() > 0); + updateIconTheme(DGuiApplicationHelper::instance()->themeType()); } +QIcon BluetoothDeviceItem::getBatteryIcon(int percentage) +{ + /* 0-5%、6-10%、11%-20%、21-30%、31-40%、41-50%、51-60%、61%-70%、71-80%、81-90%、91-100% */ + QString percentageStr; + if (percentage <= 5) { + percentageStr = "000"; + } else if (percentage <= 10) { + percentageStr = "010"; + } else if (percentage <= 20) { + percentageStr = "020"; + } else if (percentage <= 30) { + percentageStr = "030"; + } else if (percentage <= 40) { + percentageStr = "040"; + } else if (percentage <= 50) { + percentageStr = "050"; + } else if (percentage <= 60) { + percentageStr = "060"; + } else if (percentage <= 70) { + percentageStr = "070"; + } else if (percentage <= 80) { + percentageStr = "080"; + } else if (percentage <= 90) { + percentageStr = "090"; + } else if (percentage <= 100) { + percentageStr = "100"; + } else { + percentageStr = "unknow"; + } + + return QIcon::fromTheme(QString("battery-%1-symbolic").arg(percentageStr)); + +} + void BluetoothDeviceItem::initConnect() { connect(DGuiApplicationHelper::instance(), &DGuiApplicationHelper::themeTypeChanged, this, &BluetoothDeviceItem::updateIconTheme); @@ -95,11 +135,17 @@ void BluetoothDeviceItem::updateIconTheme(DGuiApplicationHelper::ColorType type) } m_deviceIcon = type == DGuiApplicationHelper::LightType ? LightString.arg("other") : DarkString.arg("other"); m_labelAction->setIcon(QIcon::fromTheme(m_deviceIcon)); + + m_batteryAction->setIcon(getBatteryIcon(m_device->battery())); } void BluetoothDeviceItem::updateDeviceState(Device::State state) { m_labelAction->setText(m_device->alias()); + + m_batteryAction->setIcon(getBatteryIcon(m_device->battery())); + m_batteryAction->setVisible(m_device->battery() > 0); + if (state == Device::StateAvailable) { m_loading->start(); m_stateAction->setVisible(true); diff --git a/plugins/bluetooth/componments/bluetoothadapteritem.h b/plugins/bluetooth/componments/bluetoothadapteritem.h index 57aadc36f..544b303e1 100644 --- a/plugins/bluetooth/componments/bluetoothadapteritem.h +++ b/plugins/bluetooth/componments/bluetoothadapteritem.h @@ -62,6 +62,7 @@ signals: private: void initActionList(); void initConnect(); + QIcon getBatteryIcon(int percentage); DStyleHelper m_style; QString m_deviceIcon; @@ -71,6 +72,7 @@ private: DViewItemAction *m_labelAction; DViewItemAction *m_stateAction; DViewItemAction *m_connAction; + DViewItemAction *m_batteryAction; DSpinner *m_loading; QWidget *m_iconWidget; diff --git a/plugins/bluetooth/componments/device.cpp b/plugins/bluetooth/componments/device.cpp index 6fb3006cd..d3fdf5e62 100644 --- a/plugins/bluetooth/componments/device.cpp +++ b/plugins/bluetooth/componments/device.cpp @@ -16,6 +16,7 @@ Device::Device(QObject *parent) , m_rssi(0) , m_state(StateUnavailable) , m_connectState(false) + , m_battery(0) { } @@ -81,6 +82,14 @@ void Device::setDeviceType(const QString &deviceType) m_deviceType = deviceType; } +void Device::setBattery(int battery) +{ + if (m_battery != battery) { + m_battery = battery; + Q_EMIT batteryChanged(battery); + } +} + QDebug &operator<<(QDebug &stream, const Device *device) { stream << "Device name:" << device->name() diff --git a/plugins/bluetooth/componments/device.h b/plugins/bluetooth/componments/device.h index dcfded829..820ad0c93 100644 --- a/plugins/bluetooth/componments/device.h +++ b/plugins/bluetooth/componments/device.h @@ -56,6 +56,9 @@ public: inline QString deviceType() const { return m_deviceType; } void setDeviceType(const QString &deviceType); + inline int battery() const { return m_battery; } + void setBattery(int battery); + Q_SIGNALS: void nameChanged(const QString &name) const; void aliasChanged(const QString &alias) const; @@ -63,6 +66,7 @@ Q_SIGNALS: void stateChanged(const State state) const; void connectStateChanged(const bool connectState) const; void rssiChanged(const int rssi) const; + void batteryChanged(const int battery) const; private: QString m_id; @@ -76,6 +80,7 @@ private: bool m_connectState; QString m_adapterId; QString m_deviceType; + int m_battery; }; QDebug &operator<<(QDebug &stream, const Device *device); diff --git a/plugins/bluetooth/resources/bluetooth.qrc b/plugins/bluetooth/resources/bluetooth.qrc index 4abc2b2ea..4af4c396f 100644 --- a/plugins/bluetooth/resources/bluetooth.qrc +++ b/plugins/bluetooth/resources/bluetooth.qrc @@ -21,4 +21,30 @@ dark/buletooth_other_dark.svg light/buletooth_other_light.svg + + dark/icons/battery-000-symbolic_20px.svg + dark/icons/battery-010-symbolic_20px.svg + dark/icons/battery-020-symbolic_20px.svg + dark/icons/battery-030-symbolic_20px.svg + dark/icons/battery-040-symbolic_20px.svg + dark/icons/battery-050-symbolic_20px.svg + dark/icons/battery-060-symbolic_20px.svg + dark/icons/battery-070-symbolic_20px.svg + dark/icons/battery-080-symbolic_20px.svg + dark/icons/battery-090-symbolic_20px.svg + dark/icons/battery-100-symbolic_20px.svg + dark/icons/battery-unknow-symbolic_20px.svg + light/icons/battery-000-symbolic_20px.svg + light/icons/battery-010-symbolic_20px.svg + light/icons/battery-020-symbolic_20px.svg + light/icons/battery-030-symbolic_20px.svg + light/icons/battery-040-symbolic_20px.svg + light/icons/battery-050-symbolic_20px.svg + light/icons/battery-060-symbolic_20px.svg + light/icons/battery-070-symbolic_20px.svg + light/icons/battery-080-symbolic_20px.svg + light/icons/battery-090-symbolic_20px.svg + light/icons/battery-100-symbolic_20px.svg + light/icons/battery-unknow-symbolic_20px.svg + diff --git a/plugins/bluetooth/resources/dark/icons/battery-000-symbolic_20px.svg b/plugins/bluetooth/resources/dark/icons/battery-000-symbolic_20px.svg new file mode 100644 index 000000000..5e86fa7ee --- /dev/null +++ b/plugins/bluetooth/resources/dark/icons/battery-000-symbolic_20px.svg @@ -0,0 +1,3 @@ + + + diff --git a/plugins/bluetooth/resources/dark/icons/battery-010-symbolic_20px.svg b/plugins/bluetooth/resources/dark/icons/battery-010-symbolic_20px.svg new file mode 100644 index 000000000..e56e848da --- /dev/null +++ b/plugins/bluetooth/resources/dark/icons/battery-010-symbolic_20px.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/plugins/bluetooth/resources/dark/icons/battery-020-symbolic_20px.svg b/plugins/bluetooth/resources/dark/icons/battery-020-symbolic_20px.svg new file mode 100644 index 000000000..212281ebb --- /dev/null +++ b/plugins/bluetooth/resources/dark/icons/battery-020-symbolic_20px.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/plugins/bluetooth/resources/dark/icons/battery-030-symbolic_20px.svg b/plugins/bluetooth/resources/dark/icons/battery-030-symbolic_20px.svg new file mode 100644 index 000000000..d264f8dff --- /dev/null +++ b/plugins/bluetooth/resources/dark/icons/battery-030-symbolic_20px.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/plugins/bluetooth/resources/dark/icons/battery-040-symbolic_20px.svg b/plugins/bluetooth/resources/dark/icons/battery-040-symbolic_20px.svg new file mode 100644 index 000000000..3491ab422 --- /dev/null +++ b/plugins/bluetooth/resources/dark/icons/battery-040-symbolic_20px.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/plugins/bluetooth/resources/dark/icons/battery-050-symbolic_20px.svg b/plugins/bluetooth/resources/dark/icons/battery-050-symbolic_20px.svg new file mode 100644 index 000000000..e215c8b7d --- /dev/null +++ b/plugins/bluetooth/resources/dark/icons/battery-050-symbolic_20px.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/plugins/bluetooth/resources/dark/icons/battery-060-symbolic_20px.svg b/plugins/bluetooth/resources/dark/icons/battery-060-symbolic_20px.svg new file mode 100644 index 000000000..986c30c28 --- /dev/null +++ b/plugins/bluetooth/resources/dark/icons/battery-060-symbolic_20px.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/plugins/bluetooth/resources/dark/icons/battery-070-symbolic_20px.svg b/plugins/bluetooth/resources/dark/icons/battery-070-symbolic_20px.svg new file mode 100644 index 000000000..fef261474 --- /dev/null +++ b/plugins/bluetooth/resources/dark/icons/battery-070-symbolic_20px.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/plugins/bluetooth/resources/dark/icons/battery-080-symbolic_20px.svg b/plugins/bluetooth/resources/dark/icons/battery-080-symbolic_20px.svg new file mode 100644 index 000000000..c51847a02 --- /dev/null +++ b/plugins/bluetooth/resources/dark/icons/battery-080-symbolic_20px.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/plugins/bluetooth/resources/dark/icons/battery-090-symbolic_20px.svg b/plugins/bluetooth/resources/dark/icons/battery-090-symbolic_20px.svg new file mode 100644 index 000000000..1aad3eaa1 --- /dev/null +++ b/plugins/bluetooth/resources/dark/icons/battery-090-symbolic_20px.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/plugins/bluetooth/resources/dark/icons/battery-100-symbolic_20px.svg b/plugins/bluetooth/resources/dark/icons/battery-100-symbolic_20px.svg new file mode 100644 index 000000000..3126488bb --- /dev/null +++ b/plugins/bluetooth/resources/dark/icons/battery-100-symbolic_20px.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/plugins/bluetooth/resources/dark/icons/battery-unknow-symbolic_20px.svg b/plugins/bluetooth/resources/dark/icons/battery-unknow-symbolic_20px.svg new file mode 100644 index 000000000..0737573fb --- /dev/null +++ b/plugins/bluetooth/resources/dark/icons/battery-unknow-symbolic_20px.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/plugins/bluetooth/resources/light/icons/battery-000-symbolic_20px.svg b/plugins/bluetooth/resources/light/icons/battery-000-symbolic_20px.svg new file mode 100644 index 000000000..7200009d1 --- /dev/null +++ b/plugins/bluetooth/resources/light/icons/battery-000-symbolic_20px.svg @@ -0,0 +1,3 @@ + + + diff --git a/plugins/bluetooth/resources/light/icons/battery-010-symbolic_20px.svg b/plugins/bluetooth/resources/light/icons/battery-010-symbolic_20px.svg new file mode 100644 index 000000000..570ea60c6 --- /dev/null +++ b/plugins/bluetooth/resources/light/icons/battery-010-symbolic_20px.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/plugins/bluetooth/resources/light/icons/battery-020-symbolic_20px.svg b/plugins/bluetooth/resources/light/icons/battery-020-symbolic_20px.svg new file mode 100644 index 000000000..e5b1672b2 --- /dev/null +++ b/plugins/bluetooth/resources/light/icons/battery-020-symbolic_20px.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/plugins/bluetooth/resources/light/icons/battery-030-symbolic_20px.svg b/plugins/bluetooth/resources/light/icons/battery-030-symbolic_20px.svg new file mode 100644 index 000000000..2652a707a --- /dev/null +++ b/plugins/bluetooth/resources/light/icons/battery-030-symbolic_20px.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/plugins/bluetooth/resources/light/icons/battery-040-symbolic_20px.svg b/plugins/bluetooth/resources/light/icons/battery-040-symbolic_20px.svg new file mode 100644 index 000000000..f6601f2a3 --- /dev/null +++ b/plugins/bluetooth/resources/light/icons/battery-040-symbolic_20px.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/plugins/bluetooth/resources/light/icons/battery-050-symbolic_20px.svg b/plugins/bluetooth/resources/light/icons/battery-050-symbolic_20px.svg new file mode 100644 index 000000000..f4158de82 --- /dev/null +++ b/plugins/bluetooth/resources/light/icons/battery-050-symbolic_20px.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/plugins/bluetooth/resources/light/icons/battery-060-symbolic_20px.svg b/plugins/bluetooth/resources/light/icons/battery-060-symbolic_20px.svg new file mode 100644 index 000000000..b4df905b4 --- /dev/null +++ b/plugins/bluetooth/resources/light/icons/battery-060-symbolic_20px.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/plugins/bluetooth/resources/light/icons/battery-070-symbolic_20px.svg b/plugins/bluetooth/resources/light/icons/battery-070-symbolic_20px.svg new file mode 100644 index 000000000..2cd4ad427 --- /dev/null +++ b/plugins/bluetooth/resources/light/icons/battery-070-symbolic_20px.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/plugins/bluetooth/resources/light/icons/battery-080-symbolic_20px.svg b/plugins/bluetooth/resources/light/icons/battery-080-symbolic_20px.svg new file mode 100644 index 000000000..c604bc725 --- /dev/null +++ b/plugins/bluetooth/resources/light/icons/battery-080-symbolic_20px.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/plugins/bluetooth/resources/light/icons/battery-090-symbolic_20px.svg b/plugins/bluetooth/resources/light/icons/battery-090-symbolic_20px.svg new file mode 100644 index 000000000..386b99462 --- /dev/null +++ b/plugins/bluetooth/resources/light/icons/battery-090-symbolic_20px.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/plugins/bluetooth/resources/light/icons/battery-100-symbolic_20px.svg b/plugins/bluetooth/resources/light/icons/battery-100-symbolic_20px.svg new file mode 100644 index 000000000..6ac5c44f6 --- /dev/null +++ b/plugins/bluetooth/resources/light/icons/battery-100-symbolic_20px.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/plugins/bluetooth/resources/light/icons/battery-unknow-symbolic_20px.svg b/plugins/bluetooth/resources/light/icons/battery-unknow-symbolic_20px.svg new file mode 100644 index 000000000..dd9536d31 --- /dev/null +++ b/plugins/bluetooth/resources/light/icons/battery-unknow-symbolic_20px.svg @@ -0,0 +1,6 @@ + + + + + +