release 2.0.4

battery fixes
This commit is contained in:
arcan1s
2014-09-21 21:49:02 +04:00
parent d7e93e83a3
commit 1f9e8221f0
8 changed files with 24 additions and 12 deletions

View File

@ -8,7 +8,7 @@ cmake_policy (SET CMP0015 NEW)
project (awesome-widgets)
set (PROJECT_VERSION_MAJOR 2)
set (PROJECT_VERSION_MINOR 0)
set (PROJECT_VERSION_PATCH 3)
set (PROJECT_VERSION_PATCH 4)
set (PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH})
set (PROJECT_TRDPARTY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty)

View File

@ -324,9 +324,9 @@ QStringList AwesomeWidget::getKeys()
allKeys.append(QString("netdev"));
// battery
allKeys.append(QString("ac"));
allKeys.append(QString("bat0"));
for (int i=0; i<counts[QString("bat")]; i++)
allKeys.append(QString("bat") + QString::number(i+1));
allKeys.append(QString("bat") + QString::number(i));
allKeys.append(QString("bat"));
// player
allKeys.append(QString("album"));
allKeys.append(QString("artist"));

View File

@ -641,7 +641,12 @@ void AwesomeWidget::configChanged()
// counts
QMap<QString, QString> deSettings = readDataEngineConfiguration();
counts[QString("bat")] = QDir(deSettings[QString("ACPIPATH")]).entryList(QDir::Dirs | QDir::NoDotAndDotDot).count();
counts[QString("bat")] = 0;
QStringList acpiDevices = QDir(deSettings[QString("ACPIPATH")]).entryList(QDir::Dirs | QDir::NoDotAndDotDot);
QRegExp batRegexp = QRegExp(QString("BAT.*"));
for (int i=0; i<acpiDevices.count(); i++)
if (acpiDevices[i].indexOf(batRegexp) > -1)
counts[QString("bat")]++;
counts[QString("cpu")] = getNumberCpus();
counts[QString("custom")] = deSettings[QString("CUSTOM")].split(QString("@@")).count();
counts[QString("disk")] = configuration[QString("disk")].split(QString("@@")).count();

View File

@ -285,7 +285,7 @@ QMap<QString, QVariant> ExtendedSysMon::getBattery(const QString acpiPath)
QMap<QString, QVariant> battery;
battery[QString("ac")] = false;
battery[QString("bat0")] = 0;
battery[QString("bat")] = 0;
QFile acFile(acpiPath + QString("/AC/online"));
if (acFile.open(QIODevice::ReadOnly)) {
if (QString(acFile.readLine()).trimmed().toInt() == 1)
@ -293,7 +293,7 @@ QMap<QString, QVariant> ExtendedSysMon::getBattery(const QString acpiPath)
}
acFile.close();
// batterites
QStringList allDevices = QDir(acpiPath).entryList(QDir::Dirs | QDir::NoDotAndDotDot);
QStringList allDevices = QDir(acpiPath).entryList(QDir::Dirs | QDir::NoDotAndDotDot, QDir::Name);
QStringList batDevices;
QRegExp batRegexp = QRegExp(QString("BAT.*"));
for (int i=0; i<allDevices.count(); i++)
@ -302,18 +302,18 @@ QMap<QString, QVariant> ExtendedSysMon::getBattery(const QString acpiPath)
for (int i=0; i<batDevices.count(); i++) {
QFile batFile(acpiPath + QString("/") + batDevices[i] + QString("/capacity"));
if (batFile.open(QIODevice::ReadOnly))
battery[QString("bat") + QString::number(i+1)] = QString(batFile.readLine()).trimmed().toInt();
battery[QString("bat") + QString::number(i)] = QString(batFile.readLine()).trimmed().toInt();
batFile.close();
}
float number = 0.0;
float average = 0.0;
for (int i=0; i<battery.keys().count(); i++) {
if (battery.keys()[i] == QString("ac")) continue;
if (battery.keys()[i] == QString("bat0")) continue;
if (battery.keys()[i] == QString("bat")) continue;
average += battery[battery.keys()[i]].toInt();
number++;
}
battery[QString("bat0")] = int(average / number);
battery[QString("bat")] = int(average / number);
return battery;
}