diff --git a/sources/awesome-widget/configuration.cpp b/sources/awesome-widget/configuration.cpp index 6cc8c6b..13bedd4 100644 --- a/sources/awesome-widget/configuration.cpp +++ b/sources/awesome-widget/configuration.cpp @@ -294,6 +294,12 @@ void AwesomeWidget::createConfigurationInterface(KConfigDialog *parent) uiTooltipConfig.checkBox_down->setCheckState(Qt::Checked); uiTooltipConfig.kcolorcombo_down->setColor(QColor(configuration[QString("downColor")])); uiTooltipConfig.kcolorcombo_up->setColor(QColor(configuration[QString("upColor")])); + if (configuration[QString("batteryTooltip")].toInt() == 0) + uiTooltipConfig.checkBox_battery->setCheckState(Qt::Unchecked); + else + uiTooltipConfig.checkBox_battery->setCheckState(Qt::Checked); + uiTooltipConfig.kcolorcombo_battery->setColor(QColor(configuration[QString("batteryColor")])); + uiTooltipConfig.kcolorcombo_batteryIn->setColor(QColor(configuration[QString("batteryInColor")])); // appearance KConfigGroup cg = config(); @@ -451,6 +457,9 @@ void AwesomeWidget::configAccepted() cg.writeEntry("downTooltip", QString::number(uiTooltipConfig.checkBox_down->checkState())); cg.writeEntry("downColor", uiTooltipConfig.kcolorcombo_down->color().name()); cg.writeEntry("upColor", uiTooltipConfig.kcolorcombo_up->color().name()); + cg.writeEntry("batteryTooltip", QString::number(uiTooltipConfig.checkBox_battery->checkState())); + cg.writeEntry("batteryColor", uiTooltipConfig.kcolorcombo_battery->color().name()); + cg.writeEntry("batteryInColor", uiTooltipConfig.kcolorcombo_batteryIn->color().name()); // appearance cg.writeEntry("interval", QString::number(uiAppConfig.spinBox_interval->value())); @@ -556,6 +565,13 @@ void AwesomeWidget::configChanged() } configuration[QString("downColor")] = cg.readEntry("downColor", "#00ffff"); configuration[QString("upColor")] = cg.readEntry("upColor", "#ff00ff"); + configuration[QString("batteryTooltip")] = cg.readEntry("batteryTooltip", "2"); + if (configuration[QString("batteryTooltip")].toInt() == 2) { + tooltipValues[QString("bat")].append(0.0); + tooltipValues[QString("bat")].append(0.01); + } + configuration[QString("batteryColor")] = cg.readEntry("batteryColor", "#009900"); + configuration[QString("batteryInColor")] = cg.readEntry("batteryInColor", "#990000"); // appearance configuration[QString("interval")] = cg.readEntry("interval", "1000"); @@ -589,6 +605,7 @@ void AwesomeWidget::configChanged() counts[QString("tooltip")] += configuration[QString("memTooltip")].toInt(); counts[QString("tooltip")] += configuration[QString("swapTooltip")].toInt(); counts[QString("tooltip")] += configuration[QString("downTooltip")].toInt(); + counts[QString("tooltip")] += configuration[QString("batteryTooltip")].toInt(); counts[QString("tooltip")] = counts[QString("tooltip")] / 2; reinit(); diff --git a/sources/awesome-widget/deinteraction.cpp b/sources/awesome-widget/deinteraction.cpp index 117b6fe..3c5f2aa 100644 --- a/sources/awesome-widget/deinteraction.cpp +++ b/sources/awesome-widget/deinteraction.cpp @@ -30,7 +30,8 @@ void AwesomeWidget::connectToEngine() // battery regExp = QRegExp(QString("(ac|bat)")); - if (foundKeys.indexOf(regExp) > -1) + if ((foundKeys.indexOf(regExp) > -1) || + (configuration[QString("batteryTooltip")].toInt() == 2)) extsysmonEngine->connectSource(QString("battery"), this, configuration[QString("interval")].toInt()); // cpu @@ -186,6 +187,15 @@ void AwesomeWidget::dataUpdated(const QString &sourceName, const Plasma::DataEng else values[QString("ac")] = configuration[QString("acOffline")]; values[QString("bat")] = QString("%1").arg(data[QString("bat")].toFloat(), 3, 'f', 0); + if ((configuration[QString("batteryTooltip")].toInt() == 2) && + (!isnan(data[QString("bat")].toFloat()))) { + if (tooltipValues[QString("bat")].count() > configuration[QString("tooltipNumber")].toInt()) + tooltipValues[QString("bat")].takeFirst(); + if (data[QString("ac")].toBool()) + tooltipValues[QString("bat")].append(data[QString("bat")].toFloat()); + else + tooltipValues[QString("bat")].append(-data[QString("bat")].toFloat()); + } } else if (sourceName == QString("cpu/system/TotalLoad")) { values[QString("cpu")] = QString("%1").arg(data[QString("value")].toFloat(), 5, 'f', 1); if ((configuration[QString("cpuTooltip")].toInt() == 2) && @@ -414,7 +424,8 @@ void AwesomeWidget::disconnectFromEngine() // battery regExp = QRegExp(QString("(ac|bat)")); - if (foundKeys.indexOf(regExp) > -1) + if ((foundKeys.indexOf(regExp) > -1) || + (configuration[QString("batteryTooltip")].toInt() == 2)) extsysmonEngine->disconnectSource(QString("battery"), this); // cpu regExp = QRegExp(QString("cpu.*")); diff --git a/sources/awesome-widget/reinit.cpp b/sources/awesome-widget/reinit.cpp index 586b0be..d902b41 100644 --- a/sources/awesome-widget/reinit.cpp +++ b/sources/awesome-widget/reinit.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include "customlabel.h" #include @@ -128,6 +129,7 @@ void AwesomeWidget::updateTooltip() boundaries[QString("down")] *= 1.2; } boundaries[QString("up")] = boundaries[QString("down")]; + boundaries[QString("bat")] = 100.0; // create image toolTipScene->clear(); @@ -137,6 +139,7 @@ void AwesomeWidget::updateTooltip() else toolTipScene->setBackgroundBrush(QBrush(Qt::NoBrush)); bool down = false; + bool isBattery = false; QStringList trueKeys; if (tooltipValues.contains(QString("cpu"))) trueKeys.append(QString("cpu")); if (tooltipValues.contains(QString("cpucl"))) trueKeys.append(QString("cpucl")); @@ -144,18 +147,28 @@ void AwesomeWidget::updateTooltip() if (tooltipValues.contains(QString("swap"))) trueKeys.append(QString("swap")); if (tooltipValues.contains(QString("down"))) trueKeys.append(QString("down")); if (tooltipValues.contains(QString("up"))) trueKeys.append(QString("up")); + if (tooltipValues.contains(QString("bat"))) trueKeys.append(QString("bat")); for (int i=0; i 0) + pen.setColor(QColor(configuration[QString("batteryColor")])); + else + pen.setColor(QColor(configuration[QString("batteryInColor")])); + } toolTipScene->addLine(x1, y1, x2, y2, pen); } if (trueKeys[i] == QString("down")) diff --git a/sources/awesome-widget/tooltipconfig.ui b/sources/awesome-widget/tooltipconfig.ui index 4c1833b..20e48fd 100644 --- a/sources/awesome-widget/tooltipconfig.ui +++ b/sources/awesome-widget/tooltipconfig.ui @@ -429,6 +429,105 @@ + + + + + + + 200 + 0 + + + + Battery active color + + + true + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 180 + 0 + + + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 20 + 20 + + + + + + + + + 180 + 0 + + + + Battery inactive color + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 180 + 0 + + + + + +