diff --git a/sources/awesome-widget/awesome-widget.cpp b/sources/awesome-widget/awesome-widget.cpp index 8f4d485..ae03767 100644 --- a/sources/awesome-widget/awesome-widget.cpp +++ b/sources/awesome-widget/awesome-widget.cpp @@ -84,6 +84,32 @@ int AwesomeWidget::getNumberCpus() } +QStringList AwesomeWidget::getTimeKeys() +{ + if (debug) qDebug() << PDEBUG; + + QStringList timeKeys; + timeKeys.append(QString("d")); + timeKeys.append(QString("dd")); + timeKeys.append(QString("ddd")); + timeKeys.append(QString("dddd")); + timeKeys.append(QString("M")); + timeKeys.append(QString("MM")); + timeKeys.append(QString("MMM")); + timeKeys.append(QString("MMMM")); + timeKeys.append(QString("yy")); + timeKeys.append(QString("yyyy")); + timeKeys.append(QString("h")); + timeKeys.append(QString("hh")); + timeKeys.append(QString("m")); + timeKeys.append(QString("mm")); + timeKeys.append(QString("s")); + timeKeys.append(QString("ss")); + + return timeKeys; +} + + void AwesomeWidget::init() { if (debug) qDebug() << PDEBUG; diff --git a/sources/awesome-widget/awesome-widget.h b/sources/awesome-widget/awesome-widget.h index 95b21b6..2e02e07 100644 --- a/sources/awesome-widget/awesome-widget.h +++ b/sources/awesome-widget/awesome-widget.h @@ -41,6 +41,7 @@ public: ~AwesomeWidget(); QString getNetworkDevice(); int getNumberCpus(); + QStringList getTimeKeys(); void init(); // de configuration QMap readDataEngineConfiguration(); @@ -76,6 +77,7 @@ private: CustomLabel *textLabel; QTimer *timer; // values + int networkDeviceUpdate; QMap counts; QMap> tooltipValues; QMap values; diff --git a/sources/awesome-widget/deinteraction.cpp b/sources/awesome-widget/deinteraction.cpp index ac41717..f82a683 100644 --- a/sources/awesome-widget/deinteraction.cpp +++ b/sources/awesome-widget/deinteraction.cpp @@ -108,6 +108,7 @@ void AwesomeWidget::connectToEngine() // network regExp = QRegExp(QString("(down|up|netdev)")); if (foundKeys.indexOf(regExp) > -1) { + networkDeviceUpdate = 0; sysmonEngine->connectSource(QString("network/interfaces/") + values[QString("netdev")] + QString("/transmitter/data"), this, configuration[QString("interval")].toInt()); sysmonEngine->connectSource(QString("network/interfaces/") + values[QString("netdev")] + QString("/receiver/data"), @@ -168,6 +169,9 @@ void AwesomeWidget::dataUpdated(const QString &sourceName, const Plasma::DataEng QRegExp mountFillRegExp = QRegExp(QString("partitions/.*/filllevel")); QRegExp mountFreeRegExp = QRegExp(QString("partitions/.*/freespace")); QRegExp mountUsedRegExp = QRegExp(QString("partitions/.*/usedspace")); + QRegExp netRecRegExp = QRegExp(QString("network/interfaces/.*/receiver/data")); + QRegExp netTransRegExp = QRegExp(QString("network/interfaces/.*/transmitter/data")); + QRegExp tempRegExp = QRegExp(QString("lmsensors/.*")); if (data.keys().isEmpty()) return; if (sourceName == QString("battery")) { @@ -284,6 +288,86 @@ void AwesomeWidget::dataUpdated(const QString &sourceName, const Plasma::DataEng 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()); + if (configuration[QString("memTooltip")].toInt() == 2) + tooltipValues[QString("mem")].append(values[QString("mem")].toFloat()); + } else if (sourceName.indexOf(netRecRegExp) > -1) { + values[QString("down")] = QString("%4i").arg(data[QString("value")].toFloat()); + if (configuration[QString("downTooltip")].toInt() == 2) + tooltipValues[QString("down")].append(data[QString("value")].toFloat()); + networkDeviceUpdate++; + if (networkDeviceUpdate == 30) { + networkDeviceUpdate = 0; + if (configuration[QString("useCustomNetdev")].toInt() == 2) { + sysmonEngine->disconnectSource(QString("network/interfaces/") + values[QString("netdev")] + QString("/transmitter/data"), this); + sysmonEngine->disconnectSource(QString("network/interfaces/") + values[QString("netdev")] + QString("/receiver/data"), this); + values[QString("netdev")] = getNetworkDevice(); + sysmonEngine->connectSource(QString("network/interfaces/") + values[QString("netdev")] + QString("/transmitter/data"), + this, configuration[QString("interval")].toInt()); + sysmonEngine->connectSource(QString("network/interfaces/") + values[QString("netdev")] + QString("/receiver/data"), + this, configuration[QString("interval")].toInt()); + } + } + } else if (sourceName.indexOf(netTransRegExp) > -1) { + values[QString("up")] = QString("%4i").arg(data[QString("value")].toFloat()); + if (configuration[QString("upTooltip")].toInt() == 2) + tooltipValues[QString("up")].append(data[QString("value")].toFloat()); + } else if (sourceName == QString("pkg")) { + for (int i=0; i -1) { + for (int i=0; i