diff --git a/CHANGELOG b/CHANGELOG index 9407ab6..2bdec40 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ Ver.2.3.2: * improve quotes support, e.g. fix plasma crash * rewrite main widget to signal-slot update model +* improve battery calculation for system which has several batteries Ver.2.3.1: - fix bug with no updates from configuration UI diff --git a/sources/awesome-widget/plugin/awkeys.cpp b/sources/awesome-widget/plugin/awkeys.cpp index 9cd609c..4c0c5f6 100644 --- a/sources/awesome-widget/plugin/awkeys.cpp +++ b/sources/awesome-widget/plugin/awkeys.cpp @@ -289,9 +289,10 @@ QStringList AWKeys::dictKeys(const bool sorted) // battery allKeys.append(QString("ac")); QStringList allBatteryDevices = QDir(QString("/sys/class/power_supply")) - .entryList(QDir::Dirs | QDir::NoDotAndDotDot, + .entryList(QStringList() << QString("BAT*"), + QDir::Dirs | QDir::NoDotAndDotDot, QDir::Name); - for (int i=allBatteryDevices.filter(QRegExp(QString("BAT.*"))).count()-1; i>=0; i--) + for (int i=allBatteryDevices.count()-1; i>=0; i--) allKeys.append(QString("bat%1").arg(i)); allKeys.append(QString("bat")); // player diff --git a/sources/extsysmon/extsysmon.cpp b/sources/extsysmon/extsysmon.cpp index 9a9c438..c92957f 100644 --- a/sources/extsysmon/extsysmon.cpp +++ b/sources/extsysmon/extsysmon.cpp @@ -311,34 +311,36 @@ QVariantMap ExtendedSysMon::getBattery(const QString acpiPath) QVariantMap battery; battery[QString("ac")] = false; battery[QString("bat")] = 0; - QFile acFile(acpiPath + QString("/AC/online")); + + // adaptor + QFile acFile(QString("%1/AC/online").arg(acpiPath)); if (acFile.open(QIODevice::ReadOnly)) { if (QString(acFile.readLine()).trimmed().toInt() == 1) battery[QString("ac")] = true; } acFile.close(); + // batterites - QStringList allDevices = QDir(acpiPath).entryList(QDir::Dirs | QDir::NoDotAndDotDot, QDir::Name); - QStringList batDevices; - QRegExp batRegexp = QRegExp(QString("BAT.*")); - for (int i=0; itag(), externalScripts[i]->run());