- fix bug with invalid values updates from configuration UI

* merge fan tags to temp ones for better handling
This commit is contained in:
arcan1s 2015-06-10 10:31:41 +03:00
parent 755d0b39f8
commit a391df2804
5 changed files with 23 additions and 42 deletions

View File

@ -1,5 +1,7 @@
- fix bug with no updates from configuration UI
- fix invalid vertical tab parsing - fix invalid vertical tab parsing
* translation update * translation update
* merge fan tags to temp ones, improve lmsensors tags handling
Ver.2.3.0: Ver.2.3.0:
+ implement fitlers support to ExtScripts (ApiVer = 3) (#53) + implement fitlers support to ExtScripts (ApiVer = 3) (#53)
@ -24,7 +26,7 @@ Ver.2.2.2:
- fix bug with GPUDEV, HDDDEV settings saving from UI - fix bug with GPUDEV, HDDDEV settings saving from UI
- fix Desktop Panel settings - fix Desktop Panel settings
- fix bug with adding paragraph settings - fix bug with adding paragraph settings
* drop support of KDE4 support, created a separate branch * drop support of KDE4 support, created a separated branch
* increase intervals limits (#48) * increase intervals limits (#48)
* hddtemp was replaced to smartctl by default * hddtemp was replaced to smartctl by default
* plugins were moved from private * plugins were moved from private

View File

@ -20,7 +20,7 @@ X-Plasma-RemoteLocation=
X-KDE-PluginInfo-Author=Evgeniy Alekseev aka arcanis X-KDE-PluginInfo-Author=Evgeniy Alekseev aka arcanis
X-KDE-PluginInfo-Email=esalexeev@gmail.com X-KDE-PluginInfo-Email=esalexeev@gmail.com
X-KDE-PluginInfo-Name=org.kde.plasma.awesomewidget X-KDE-PluginInfo-Name=org.kde.plasma.awesomewidget
X-KDE-PluginInfo-Version=2.2.2 X-KDE-PluginInfo-Version=2.3.0
X-KDE-PluginInfo-Website=http://arcanis.name/projects/awesome-widgets/ X-KDE-PluginInfo-Website=http://arcanis.name/projects/awesome-widgets/
X-KDE-PluginInfo-Category=System Information X-KDE-PluginInfo-Category=System Information
X-KDE-PluginInfo-Depends= X-KDE-PluginInfo-Depends=

View File

@ -196,16 +196,13 @@ void AWKeys::addDevice(const QString source)
if (debug) qDebug() << PDEBUG << ":" << "Source" << source; if (debug) qDebug() << PDEBUG << ":" << "Source" << source;
QRegExp diskRegexp = QRegExp(QString("disk/(?:md|sd|hd)[a-z|0-9]_.*/Rate/(?:rblk)")); QRegExp diskRegexp = QRegExp(QString("disk/(?:md|sd|hd)[a-z|0-9]_.*/Rate/(?:rblk)"));
QRegExp fanRegexp = QRegExp(QString("lmsensors/.*/fan.*"));
QRegExp mountRegexp = QRegExp(QString("partitions/.*/filllevel")); QRegExp mountRegexp = QRegExp(QString("partitions/.*/filllevel"));
QRegExp tempRegexp = QRegExp(QString("lmsensors/.*temp.*/.*")); QRegExp tempRegexp = QRegExp(QString("lmsensors/.*"));
if (diskRegexp.indexIn(source) > -1) { if (diskRegexp.indexIn(source) > -1) {
QString device = source; QString device = source;
device.remove(QString("/Rate/rblk")); device.remove(QString("/Rate/rblk"));
addKeyToCache(QString("Disk"), device); addKeyToCache(QString("Disk"), device);
} else if (fanRegexp.indexIn(source) > -1) {
addKeyToCache(QString("Fan"), source);
} else if (mountRegexp.indexIn(source) > -1) { } else if (mountRegexp.indexIn(source) > -1) {
QString device = source; QString device = source;
device.remove(QString("partitions")).remove(QString("/filllevel")); device.remove(QString("partitions")).remove(QString("/filllevel"));
@ -241,8 +238,6 @@ QStringList AWKeys::dictKeys(const bool sorted)
// temperature // temperature
for (int i=tempDevices.count()-1; i>=0; i--) for (int i=tempDevices.count()-1; i>=0; i--)
allKeys.append(QString("temp%1").arg(i)); allKeys.append(QString("temp%1").arg(i));
for (int i=fanDevices.count()-1; i>=0; i--)
allKeys.append(QString("fan%1").arg(i));
// gputemp // gputemp
allKeys.append(QString("gputemp")); allKeys.append(QString("gputemp"));
// gpu // gpu
@ -369,7 +364,6 @@ bool AWKeys::setDataBySource(const QString sourceName, const QVariantMap data,
if (sourceName == QString("update")) return true; if (sourceName == QString("update")) return true;
// checking // checking
if (toolTip == nullptr) return false;
if (!checkKeys(data)) return false; if (!checkKeys(data)) return false;
if (keys.isEmpty()) return false; if (keys.isEmpty()) return false;
@ -404,8 +398,8 @@ bool AWKeys::setDataBySource(const QString sourceName, const QVariantMap data,
values[QString("ac")] = params[QString("acOffline")].toString(); values[QString("ac")] = params[QString("acOffline")].toString();
} else { } else {
values[data.keys()[i]] = QString("%1").arg(data[data.keys()[i]].toFloat(), 3, 'f', 0); values[data.keys()[i]] = QString("%1").arg(data[data.keys()[i]].toFloat(), 3, 'f', 0);
toolTip->setData(QString("batTooltip"), data[data.keys()[i]].toFloat(), if (toolTip != nullptr) toolTip->setData(QString("batTooltip"), data[data.keys()[i]].toFloat(),
data[QString("ac")].toBool()); data[QString("ac")].toBool());
} }
} }
} else if (sourceName == QString("cpu/system/TotalLoad")) { } else if (sourceName == QString("cpu/system/TotalLoad")) {
@ -415,7 +409,7 @@ bool AWKeys::setDataBySource(const QString sourceName, const QVariantMap data,
AWActions::sendNotification(QString("event"), i18n("High CPU load"), enablePopup); AWActions::sendNotification(QString("event"), i18n("High CPU load"), enablePopup);
// value // value
values[QString("cpu")] = QString("%1").arg(data[QString("value")].toFloat(), 5, 'f', 1); values[QString("cpu")] = QString("%1").arg(data[QString("value")].toFloat(), 5, 'f', 1);
toolTip->setData(QString("cpuTooltip"), data[QString("value")].toFloat()); if (toolTip != nullptr) toolTip->setData(QString("cpuTooltip"), data[QString("value")].toFloat());
} else if (sourceName.contains(cpuRegExp)) { } else if (sourceName.contains(cpuRegExp)) {
// cpus // cpus
QString number = sourceName; QString number = sourceName;
@ -424,7 +418,7 @@ bool AWKeys::setDataBySource(const QString sourceName, const QVariantMap data,
} else if (sourceName == QString("cpu/system/AverageClock")) { } else if (sourceName == QString("cpu/system/AverageClock")) {
// cpucl // cpucl
values[QString("cpucl")] = QString("%1").arg(data[QString("value")].toFloat(), 4, 'f', 0); values[QString("cpucl")] = QString("%1").arg(data[QString("value")].toFloat(), 4, 'f', 0);
toolTip->setData(QString("cpuclTooltip"), data[QString("value")].toFloat()); if (toolTip != nullptr) toolTip->setData(QString("cpuclTooltip"), data[QString("value")].toFloat());
} else if (sourceName.contains(cpuclRegExp)) { } else if (sourceName.contains(cpuclRegExp)) {
// cpucls // cpucls
QString number = sourceName; QString number = sourceName;
@ -543,7 +537,7 @@ bool AWKeys::setDataBySource(const QString sourceName, const QVariantMap data,
AWActions::sendNotification(QString("event"), i18n("High memory usage"), enablePopup); AWActions::sendNotification(QString("event"), i18n("High memory usage"), enablePopup);
// value // value
values[QString("mem")] = QString("%1").arg(value, 5, 'f', 1); values[QString("mem")] = QString("%1").arg(value, 5, 'f', 1);
toolTip->setData(QString("memTooltip"), values[QString("mem")].toFloat()); if (toolTip != nullptr) toolTip->setData(QString("memTooltip"), values[QString("mem")].toFloat());
} else if (sourceName == QString("netdev")) { } else if (sourceName == QString("netdev")) {
// network device // network device
// notification // notification
@ -565,7 +559,7 @@ bool AWKeys::setDataBySource(const QString sourceName, const QVariantMap data,
} }
if (device == values[QString("netdev")]) { if (device == values[QString("netdev")]) {
values[QString("down")] = QString("%1").arg(data[QString("value")].toFloat(), 4, 'f', 0); values[QString("down")] = QString("%1").arg(data[QString("value")].toFloat(), 4, 'f', 0);
toolTip->setData(QString("downTooltip"), data[QString("value")].toFloat()); if (toolTip != nullptr) toolTip->setData(QString("downTooltip"), data[QString("value")].toFloat());
} }
} else if (sourceName.contains(netTransRegExp)) { } else if (sourceName.contains(netTransRegExp)) {
// upload speed // upload speed
@ -579,7 +573,7 @@ bool AWKeys::setDataBySource(const QString sourceName, const QVariantMap data,
} }
if (device == values[QString("netdev")]) { if (device == values[QString("netdev")]) {
values[QString("up")] = QString("%1").arg(data[QString("value")].toFloat(), 4, 'f', 0); values[QString("up")] = QString("%1").arg(data[QString("value")].toFloat(), 4, 'f', 0);
toolTip->setData(QString("upTooltip"), data[QString("value")].toFloat()); if (toolTip != nullptr) toolTip->setData(QString("upTooltip"), data[QString("value")].toFloat());
} }
} else if (sourceName == QString("pkg")) { } else if (sourceName == QString("pkg")) {
// package manager // package manager
@ -621,23 +615,17 @@ bool AWKeys::setDataBySource(const QString sourceName, const QVariantMap data,
AWActions::sendNotification(QString("event"), i18n("Swap is used"), enablePopup); AWActions::sendNotification(QString("event"), i18n("Swap is used"), enablePopup);
// value // value
values[QString("swap")] = QString("%1").arg(value, 5, 'f', 1); values[QString("swap")] = QString("%1").arg(value, 5, 'f', 1);
toolTip->setData(QString("swapTooltip"), values[QString("swap")].toFloat()); if (toolTip != nullptr) toolTip->setData(QString("swapTooltip"), values[QString("swap")].toFloat());
} else if (sourceName.contains(tempRegExp)) { } else if (sourceName.contains(tempRegExp)) {
// temperature devices // temperature devices
if (data[QString("units")].toString() == QString("rpm")) { for (int i=0; i<tempDevices.count(); i++)
for (int i=0; i<fanDevices.count(); i++) if (sourceName == tempDevices[i]) {
if (sourceName == fanDevices[i]) { float temp = data[QString("units")].toString() == QString("°C") ?
values[QString("fan%1").arg(i)] = QString("%1").arg(data[QString("value")].toFloat(), 4, 'f', 1); temperature(data[QString("value")].toFloat(), params[QString("tempUnits")].toString())
break; : data[QString("value")].toFloat();
} values[QString("temp%1").arg(i)] = QString("%1").arg(temp, 4, 'f', 1);
} else { break;
for (int i=0; i<tempDevices.count(); i++) }
if (sourceName == tempDevices[i]) {
values[QString("temp%1").arg(i)] = QString("%1").arg(
temperature(data[QString("value")].toFloat(), params[QString("tempUnits")].toString()), 4, 'f', 1);
break;
}
}
} else if (sourceName == QString("Local")) { } else if (sourceName == QString("Local")) {
// time // time
values[QString("time")] = data[QString("DateTime")].toDateTime().toString(Qt::TextDate); values[QString("time")] = data[QString("DateTime")].toDateTime().toString(Qt::TextDate);
@ -703,8 +691,6 @@ QString AWKeys::infoByKey(QString key)
} }
else if (key.contains(QRegExp(QString("^hdd[rw]")))) else if (key.contains(QRegExp(QString("^hdd[rw]"))))
return QString("%1").arg(diskDevices[key.remove(QRegExp(QString("hdd[rw]"))).toInt()]); return QString("%1").arg(diskDevices[key.remove(QRegExp(QString("hdd[rw]"))).toInt()]);
else if (key.startsWith(QString("fan")))
return QString("%1").arg(fanDevices[key.remove(QString("fan")).toInt()]);
else if (key.contains(QRegExp(QString("^hdd([0-9]|mb|gb|freemb|freegb|totmb|totgb)")))) else if (key.contains(QRegExp(QString("^hdd([0-9]|mb|gb|freemb|freegb|totmb|totgb)"))))
return QString("%1").arg(mountDevices[key.remove(QRegExp(QString("^hdd([0-9]|mb|gb|freemb|freegb|totmb|totgb)"))).toInt()]); return QString("%1").arg(mountDevices[key.remove(QRegExp(QString("^hdd([0-9]|mb|gb|freemb|freegb|totmb|totgb)"))).toInt()]);
else if (key.startsWith(QString("hddtemp"))) else if (key.startsWith(QString("hddtemp")))
@ -812,13 +798,6 @@ void AWKeys::loadKeysFromCache()
diskDevices.append(cache.value(cachedKeys[i]).toString()); diskDevices.append(cache.value(cachedKeys[i]).toString());
cache.endGroup(); cache.endGroup();
cache.beginGroup(QString("Fan"));
fanDevices.clear();
cachedKeys = cache.allKeys();
for (int i=0; i<cachedKeys.count(); i++)
fanDevices.append(cache.value(cachedKeys[i]).toString());
cache.endGroup();
cache.beginGroup(QString("Hdd")); cache.beginGroup(QString("Hdd"));
hddDevices.clear(); hddDevices.clear();
cachedKeys = cache.allKeys(); cachedKeys = cache.allKeys();

View File

@ -119,7 +119,7 @@ private:
QStringList foundBars, foundKeys, keys; QStringList foundBars, foundKeys, keys;
QString pattern; QString pattern;
QMap<QString, QString> values; QMap<QString, QString> values;
QStringList diskDevices, fanDevices, hddDevices, mountDevices, networkDevices, tempDevices; QStringList diskDevices, hddDevices, mountDevices, networkDevices, tempDevices;
}; };

View File

@ -20,7 +20,7 @@ X-Plasma-RemoteLocation=
X-KDE-PluginInfo-Author=Evgeniy Alekseev aka arcanis X-KDE-PluginInfo-Author=Evgeniy Alekseev aka arcanis
X-KDE-PluginInfo-Email=esalexeev@gmail.com X-KDE-PluginInfo-Email=esalexeev@gmail.com
X-KDE-PluginInfo-Name=org.kde.plasma.desktoppanel X-KDE-PluginInfo-Name=org.kde.plasma.desktoppanel
X-KDE-PluginInfo-Version=2.2.2 X-KDE-PluginInfo-Version=2.3.0
X-KDE-PluginInfo-Website=http://arcanis.name/projects/awesome-widgets/ X-KDE-PluginInfo-Website=http://arcanis.name/projects/awesome-widgets/
X-KDE-PluginInfo-Category=System Information X-KDE-PluginInfo-Category=System Information
X-KDE-PluginInfo-Depends= X-KDE-PluginInfo-Depends=