mirror of
https://github.com/arcan1s/awesome-widgets.git
synced 2025-04-24 23:47:20 +00:00
work on data update
This commit is contained in:
parent
eac50a8799
commit
38c4d3bfaf
@ -130,8 +130,6 @@ QStringList AwesomeWidget::getKeys()
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
|
||||
QStringList allKeys;
|
||||
int numCpus = getNumberCpus();
|
||||
QMap<QString, QString> deSettings = readDataEngineConfiguration();
|
||||
// time
|
||||
allKeys.append(QString("time"));
|
||||
allKeys.append(QString("isotime"));
|
||||
@ -143,14 +141,14 @@ QStringList AwesomeWidget::getKeys()
|
||||
allKeys.append(QString("cuptime"));
|
||||
// cpu
|
||||
allKeys.append(QString("cpu"));
|
||||
for (int i=0; i<numCpus; i++)
|
||||
for (int i=0; i<counts[QString("cpu")]; i++)
|
||||
allKeys.append(QString("cpu") + QString::number(i));
|
||||
// cpuclock
|
||||
allKeys.append(QString("cpucl"));
|
||||
for (int i=0; i<numCpus; i++)
|
||||
for (int i=0; i<counts[QString("cpu")]; i++)
|
||||
allKeys.append(QString("cpucl") + QString::number(i));
|
||||
// temperature
|
||||
for (int i=0; i<configuration[QString("tempDevice")].split(QString("@@")).count(); i++)
|
||||
for (int i=0; i<counts[QString("temp")]; i++)
|
||||
allKeys.append(QString("temp") + QString::number(i));
|
||||
// gpu
|
||||
allKeys.append(QString("gpu"));
|
||||
@ -169,20 +167,22 @@ QStringList AwesomeWidget::getKeys()
|
||||
allKeys.append(QString("swaptotmb"));
|
||||
allKeys.append(QString("swaptotgb"));
|
||||
// hdd
|
||||
for (int i=0; i<configuration[QString("mount")].split(QString("@@")).count(); i++) {
|
||||
for (int i=0; i<counts[QString("mount")]; i++) {
|
||||
allKeys.append(QString("hdd") + QString::number(i));
|
||||
allKeys.append(QString("hddmb") + QString::number(i));
|
||||
allKeys.append(QString("hddgb") + QString::number(i));
|
||||
allKeys.append(QString("hddfreemb") + QString::number(i));
|
||||
allKeys.append(QString("hddfreegb") + QString::number(i));
|
||||
allKeys.append(QString("hddtotmb") + QString::number(i));
|
||||
allKeys.append(QString("hddtotgb") + QString::number(i));
|
||||
}
|
||||
// hdd speed
|
||||
for (int i=0; i<configuration[QString("disk")].split(QString("@@")).count(); i++) {
|
||||
for (int i=0; i<counts[QString("disk")]; i++) {
|
||||
allKeys.append(QString("hddr") + QString::number(i));
|
||||
allKeys.append(QString("hddw") + QString::number(i));
|
||||
}
|
||||
// hdd temp
|
||||
for (int i=0; i<configuration[QString("hdd")].split(QString("@@")).count(); i++) {
|
||||
for (int i=0; i<counts[QString("hddtemp")]; i++) {
|
||||
allKeys.append(QString("hddtemp") + QString::number(i));
|
||||
allKeys.append(QString("hddtemp") + QString::number(i));
|
||||
}
|
||||
@ -204,10 +204,10 @@ QStringList AwesomeWidget::getKeys()
|
||||
allKeys.append(QString("pscount"));
|
||||
allKeys.append(QString("pstotal"));
|
||||
// package manager
|
||||
for (int i=0; i<deSettings[QString("PKGCMD")].split(QChar(',')).count(); i++)
|
||||
for (int i=0; i<counts[QString("pkg")]; i++)
|
||||
allKeys.append(QString("pkgcount") + QString::number(i));
|
||||
// custom
|
||||
for (int i=0; i<deSettings[QString("CUSTOM")].split(QString("@@")).count(); i++)
|
||||
for (int i=0; i<counts[QString("custom")]; i++)
|
||||
allKeys.append(QString("custom") + QString::number(i));
|
||||
// desktop
|
||||
allKeys.append(QString("desktop"));
|
||||
|
@ -68,6 +68,7 @@ protected:
|
||||
|
||||
private:
|
||||
// functions
|
||||
void initValues();
|
||||
QStringList findKeys();
|
||||
QStringList getKeys();
|
||||
// ui
|
||||
@ -75,6 +76,8 @@ private:
|
||||
CustomLabel *textLabel;
|
||||
QTimer *timer;
|
||||
// values
|
||||
QMap<QString, int> counts;
|
||||
QMap<QString, QList<float>> tooltipValues;
|
||||
QMap<QString, QString> values;
|
||||
// debug
|
||||
bool debug;
|
||||
|
@ -537,5 +537,15 @@ void AwesomeWidget::configChanged()
|
||||
.arg(fontColor);
|
||||
formatLine[1] = QString("</p></body></html>");
|
||||
|
||||
// counts
|
||||
QMap<QString, QString> deSettings = readDataEngineConfiguration();
|
||||
counts[QString("cpu")] = getNumberCpus();
|
||||
counts[QString("custom")] = deSettings[QString("CUSTOM")].split(QString("@@")).count();
|
||||
counts[QString("disk")] = configuration[QString("disk")].split(QString("@@")).count();
|
||||
counts[QString("hddtemp")] = configuration[QString("hdd")].split(QString("@@")).count();
|
||||
counts[QString("mount")] = configuration[QString("mount")].split(QString("@@")).count();
|
||||
counts[QString("pkg")] = deSettings[QString("PKGCMD")].split(QChar(',')).count();
|
||||
counts[QString("temp")] = configuration[QString("tempDevice")].split(QString("@@")).count();
|
||||
|
||||
reinit();
|
||||
}
|
||||
|
@ -37,8 +37,7 @@ void AwesomeWidget::connectToEngine()
|
||||
if (foundKeys.indexOf(regExp) > -1) {
|
||||
sysmonEngine->connectSource(QString("cpu/system/TotalLoad"),
|
||||
this, configuration[QString("interval")].toInt());
|
||||
int numCpus = getNumberCpus();
|
||||
for (int i=0; i<numCpus; i++)
|
||||
for (int i=0; i<counts[QString("cpu")]; i++)
|
||||
sysmonEngine->connectSource(QString("cpu/cpu") + QString::number(i) + QString("/TotalLoad"),
|
||||
this, configuration[QString("interval")].toInt());
|
||||
}
|
||||
@ -47,8 +46,7 @@ void AwesomeWidget::connectToEngine()
|
||||
if (foundKeys.indexOf(regExp) > -1) {
|
||||
sysmonEngine->connectSource(QString("cpu/system/AverageClock"),
|
||||
this, configuration[QString("interval")].toInt());
|
||||
int numCpus = getNumberCpus();
|
||||
for (int i=0; i<numCpus; i++)
|
||||
for (int i=0; i<counts[QString("cpu")]; i++)
|
||||
sysmonEngine->connectSource(QString("cpu/cpu") + QString::number(i) + QString("/clock"),
|
||||
this, configuration[QString("interval")].toInt());
|
||||
}
|
||||
@ -82,7 +80,7 @@ void AwesomeWidget::connectToEngine()
|
||||
extsysmonEngine->connectSource(QString("gputemp"),
|
||||
this, configuration[QString("interval")].toInt());
|
||||
// mount
|
||||
regExp = QRegExp(QString("hdd([0-9]|mb|gb|totmb|totgb).*"));
|
||||
regExp = QRegExp(QString("hdd([0-9]|mb|gb|freemb|freegb|totmb|totgb).*"));
|
||||
if (foundKeys.indexOf(regExp) > -1)
|
||||
for (int i=0; i<configuration[QString("mount")].split(QString("@@")).count(); i++) {
|
||||
sysmonEngine->connectSource(QString("partitions") + configuration[QString("mount")].split(QString("@@"))[i] + QString("/filllevel"),
|
||||
@ -160,18 +158,133 @@ void AwesomeWidget::connectToEngine()
|
||||
void AwesomeWidget::dataUpdated(const QString &sourceName, const Plasma::DataEngine::Data &data)
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Run function with source name" << sourceName;
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Source" << sourceName;
|
||||
|
||||
if (data.keys().count() == 0)
|
||||
return;
|
||||
// if (sourceName == QString("desktop")) {
|
||||
// currentDesktop = data[QString("currentNumber")].toInt();
|
||||
// if (desktopNames.isEmpty()) {
|
||||
// desktopNames = data[QString("list")].toString().split(QString(";;"));
|
||||
// reinit();
|
||||
// }
|
||||
// updateText();
|
||||
// }
|
||||
// regular expressions
|
||||
QRegExp cpuRegExp = QRegExp(QString("cpu/cpu.*/TotalLoad"));
|
||||
QRegExp cpuclRegExp = QRegExp(QString("cpu/cpu.*/clock"));
|
||||
QRegExp hddrRegExp = QRegExp(QString("disk/.*/Rate/rblk"));
|
||||
QRegExp hddwRegExp = QRegExp(QString("disk/.*/Rate/wblk"));
|
||||
QRegExp mountFillRegExp = QRegExp(QString("partitions/.*/filllevel"));
|
||||
QRegExp mountFreeRegExp = QRegExp(QString("partitions/.*/freespace"));
|
||||
QRegExp mountUsedRegExp = QRegExp(QString("partitions/.*/usedspace"));
|
||||
|
||||
if (data.keys().isEmpty()) return;
|
||||
if (sourceName == QString("battery")) {
|
||||
if (data[QString("ac")].toBool())
|
||||
values[QString("ac")] = configuration[QString("acOnline")];
|
||||
else
|
||||
values[QString("ac")] = configuration[QString("acOffline")];
|
||||
values[QString("bat")] = QString("%3i").arg(data[QString("bat")].toInt());
|
||||
} else if (sourceName == QString("cpu/system/TotalLoad")) {
|
||||
values[QString("cpu")] = QString("%5.1f").arg(data[QString("value")].toFloat());
|
||||
if (configuration[QString("cpuTooltip")].toInt() == 2)
|
||||
tooltipValues[QString("cpu")].append(data[QString("value")].toFloat());
|
||||
} else if (sourceName.indexOf(cpuRegExp) > -1) {
|
||||
QString number = sourceName;
|
||||
number.remove(QString("cpu/cpu"));
|
||||
number.remove(QString("/TotalLoad"));
|
||||
values[QString("cpu") + number] = QString("%5.1f").arg(data[QString("value")].toFloat());
|
||||
} else if (sourceName == QString("cpu/system/AverageClock")) {
|
||||
values[QString("cpucl")] = QString("%5.1f").arg(data[QString("value")].toFloat());
|
||||
if (configuration[QString("cpuclockTooltip")].toInt() == 2)
|
||||
tooltipValues[QString("cpucl")].append(data[QString("value")].toFloat());
|
||||
} else if (sourceName.indexOf(cpuclRegExp) > -1) {
|
||||
QString number = sourceName;
|
||||
number.remove(QString("cpu/cpu"));
|
||||
number.remove(QString("/clock"));
|
||||
values[QString("cpucl") + number] = QString("%5.1f").arg(data[QString("value")].toFloat());
|
||||
} else if (sourceName == QString("custom")) {
|
||||
for (int i=0; i<data.keys().count(); i++)
|
||||
values[data.keys()[i]] = data[data.keys()[i]].toString();
|
||||
} else if (sourceName == QString("desktop")) {
|
||||
values[QString("desktop")] = data[QString("currentName")].toString();
|
||||
values[QString("ndesktop")] = QString("%i").arg(data[QString("currentNumber")].toInt());
|
||||
values[QString("tdesktops")] = QString("%i").arg(data[QString("number")].toInt());
|
||||
} else if (sourceName.indexOf(hddrRegExp) > -1) {
|
||||
QString device = sourceName;
|
||||
device.remove(QString("/Rate/rblk"));
|
||||
for (int i=0; i<counts[QString("disk")]; i++)
|
||||
if (configuration[QString("disk")].split(QString("@@"))[i] == device) {
|
||||
values[QString("hddr") + QString::number(i)] = QString("%i").arg(data[QString("value")].toFloat());
|
||||
break;
|
||||
}
|
||||
} else if (sourceName.indexOf(hddwRegExp) > -1) {
|
||||
QString device = sourceName;
|
||||
device.remove(QString("/Rate/wblk"));
|
||||
for (int i=0; i<counts[QString("disk")]; i++)
|
||||
if (configuration[QString("disk")].split(QString("@@"))[i] == device) {
|
||||
values[QString("hddw") + QString::number(i)] = QString("%i").arg(data[QString("value")].toFloat());
|
||||
break;
|
||||
}
|
||||
} else if (sourceName == QString("gpu")) {
|
||||
values[QString("gpu")] = QString("%4.1f").arg(data[QString("GPU")].toFloat());
|
||||
} else if (sourceName == QString("gputemp")) {
|
||||
values[QString("gputemp")] = QString("%4.1f").arg(data[QString("GPUTemp")].toFloat());
|
||||
} else if (sourceName.indexOf(mountFillRegExp) > -1) {
|
||||
QString mount = sourceName;
|
||||
mount.remove(QString("partitions"));
|
||||
mount.remove(QString("/filllevel"));
|
||||
for (int i=0; i<counts[QString("mount")]; i++)
|
||||
if (configuration[QString("mount")].split(QString("@@"))[i] == mount) {
|
||||
values[QString("hdd") + QString::number(i)] = QString("%5.1f").arg(data[QString("value")].toFloat());
|
||||
break;
|
||||
}
|
||||
} else if (sourceName.indexOf(mountFreeRegExp) > -1) {
|
||||
QString mount = sourceName;
|
||||
mount.remove(QString("partitions"));
|
||||
mount.remove(QString("/freespace"));
|
||||
for (int i=0; i<counts[QString("mount")]; i++)
|
||||
if (configuration[QString("mount")].split(QString("@@"))[i] == mount) {
|
||||
values[QString("hddfreemb") + QString::number(i)] = QString("%i").arg(
|
||||
data[QString("value")].toFloat() / 1024.0);
|
||||
values[QString("hddfreegb") + QString::number(i)] = QString("%5.1f").arg(
|
||||
data[QString("value")].toFloat() / (1024.0 * 1024.0));
|
||||
break;
|
||||
}
|
||||
} else if (sourceName.indexOf(mountUsedRegExp) > -1) {
|
||||
QString mount = sourceName;
|
||||
mount.remove(QString("partitions"));
|
||||
mount.remove(QString("/usedspace"));
|
||||
for (int i=0; i<counts[QString("mount")]; i++)
|
||||
if (configuration[QString("mount")].split(QString("@@"))[i] == mount) {
|
||||
values[QString("hddmb") + QString::number(i)] = QString("%i").arg(
|
||||
data[QString("value")].toFloat() / 1024.0);
|
||||
values[QString("hddgb") + QString::number(i)] = QString("%5.1f").arg(
|
||||
data[QString("value")].toFloat() / (1024.0 * 1024.0));
|
||||
// total
|
||||
values[QString("hddtotmb") + QString::number(i)] = QString("%i").arg(
|
||||
values[QString("hddfreemb") + QString::number(i)].toInt() +
|
||||
values[QString("hddmb") + QString::number(i)].toInt());
|
||||
values[QString("hddtotgb") + QString::number(i)] = QString("%5.1f").arg(
|
||||
values[QString("hddfreegb") + QString::number(i)].toFloat() +
|
||||
values[QString("hddgb") + QString::number(i)].toFloat());
|
||||
break;
|
||||
}
|
||||
} else if (sourceName == QString("hddtemp")) {
|
||||
for (int i=0; i<data.keys().count(); i++)
|
||||
for (int j=0; j<counts[QString("hddtemp")]; j++)
|
||||
if (data.keys()[i] == configuration[QString("hdd")].split(QString("@@"))[j]) {
|
||||
values[QString("hddtemp") + QString::number(j)] = QString("%4.1f").arg(data[data.keys()[i]].toFloat());
|
||||
break;
|
||||
}
|
||||
} else if (sourceName == QString("mem/physical/application")) {
|
||||
values[QString("memappmb")] = QString("%i").arg(data[QString("value")].toFloat() / 1024.0);
|
||||
values[QString("memappgb")] = QString("%5.1f").arg(data[QString("value")].toFloat() / (1024.0 * 1024.0));
|
||||
} else if (sourceName == QString("mem/physical/free")) {
|
||||
values[QString("memfreemb")] = QString("%i").arg(data[QString("value")].toFloat() / 1024.0);
|
||||
values[QString("memfreegb")] = QString("%5.1f").arg(data[QString("value")].toFloat() / (1024.0 * 1024.0));
|
||||
} else if (sourceName == QString("mem/physical/used")) {
|
||||
values[QString("memmb")] = QString("%i").arg(data[QString("value")].toFloat() / 1024.0);
|
||||
values[QString("memgb")] = QString("%5.1f").arg(data[QString("value")].toFloat() / (1024.0 * 1024.0));
|
||||
// total
|
||||
values[QString("memtotmb")] = QString("%i").arg(
|
||||
values[QString("memmb")].toInt() + values[QString("memfreemb")].toInt());
|
||||
values[QString("memtotgb")] = QString("%5.1f").arg(
|
||||
values[QString("memgb")].toFloat() + values[QString("memfreegb")].toFloat());
|
||||
// percentage
|
||||
values[QString("mem")] = QString("%5.1f").arg(100.0 * values[QString("memmb")].toFloat() / values[QString("memtotmb")].toFloat());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -188,16 +301,14 @@ void AwesomeWidget::disconnectFromEngine()
|
||||
regExp = QRegExp(QString("cpu.*"));
|
||||
if (foundKeys.indexOf(regExp) > -1) {
|
||||
sysmonEngine->disconnectSource(QString("cpu/system/TotalLoad"), this);
|
||||
int numCpus = getNumberCpus();
|
||||
for (int i=0; i<numCpus; i++)
|
||||
for (int i=0; i<counts[QString("cpu")]; i++)
|
||||
sysmonEngine->disconnectSource(QString("cpu/cpu") + QString::number(i) + QString("/TotalLoad"), this);
|
||||
}
|
||||
// cpuclock
|
||||
regExp = QRegExp(QString("cpucl.*"));
|
||||
if (foundKeys.indexOf(regExp) > -1) {
|
||||
sysmonEngine->disconnectSource(QString("cpu/system/AverageClock"), this);
|
||||
int numCpus = getNumberCpus();
|
||||
for (int i=0; i<numCpus; i++)
|
||||
for (int i=0; i<counts[QString("cpu")]; i++)
|
||||
sysmonEngine->disconnectSource(QString("cpu/cpu") + QString::number(i) + QString("/clock"), this);
|
||||
}
|
||||
// custom command
|
||||
@ -224,7 +335,7 @@ void AwesomeWidget::disconnectFromEngine()
|
||||
if (foundKeys.indexOf(regExp) > -1)
|
||||
extsysmonEngine->disconnectSource(QString("gputemp"), this);
|
||||
// mount
|
||||
regExp = QRegExp(QString("hdd([0-9]|mb|gb|totmb|totgb).*"));
|
||||
regExp = QRegExp(QString("hdd([0-9]|mb|gb|freemb|freegb|totmb|totgb).*"));
|
||||
if (foundKeys.indexOf(regExp) > -1)
|
||||
for (int i=0; i<configuration[QString("mount")].split(QString("@@")).count(); i++) {
|
||||
sysmonEngine->disconnectSource(QString("partitions") + configuration[QString("mount")].split(QString("@@"))[i] + QString("/filllevel"), this);
|
||||
|
@ -24,6 +24,12 @@
|
||||
#include <pdebug/pdebug.h>
|
||||
|
||||
|
||||
void AwesomeWidget::initValues()
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
}
|
||||
|
||||
|
||||
void AwesomeWidget::reinit()
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
@ -50,6 +56,7 @@ void AwesomeWidget::reinit()
|
||||
|
||||
keys = getKeys();
|
||||
foundKeys = findKeys();
|
||||
initValues();
|
||||
values[QString("netdev")] = getNetworkDevice();
|
||||
// thread()->wait(60000);
|
||||
connectToEngine();
|
||||
|
Loading…
Reference in New Issue
Block a user