mirror of
				https://github.com/arcan1s/awesome-widgets.git
				synced 2025-10-31 05:13:40 +00:00 
			
		
		
		
	work on data update
This commit is contained in:
		| @ -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(); | ||||
|  | ||||
		Reference in New Issue
	
	Block a user