/*************************************************************************** * This file is part of awesome-widgets * * * * awesome-widgets is free software: you can redistribute it and/or * * modify it under the terms of the GNU General Public License as * * published by the Free Software Foundation, either version 3 of the * * License, or (at your option) any later version. * * * * awesome-widgets is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with awesome-widgets. If not, see http://www.gnu.org/licenses/ * ***************************************************************************/ #include "awesome-widget.h" #include #include #include #include #include #include "customlabel.h" #include "graphicalitem.h" #include void AwesomeWidget::reinit() { if (debug) qDebug() << PDEBUG; if (configuration[QString("background")].toInt() == 0) setBackgroundHints(NoBackground); if (configuration[QString("popup")].toInt() == 0) textLabel->setPopupEnabled(false); else textLabel->setPopupEnabled(true); updateText(true); keys = getKeys(); foundKeys = findKeys(); getGraphicalItems(); foundBars = findGraphicalItems(); updateNetworkDevice(false); connectToEngine(); } void AwesomeWidget::sendNotification(const QString eventId, const QString message) { if (debug) qDebug() << PDEBUG; if (debug) qDebug() << PDEBUG << ":" << "Event" << eventId; if (debug) qDebug() << PDEBUG << ":" << "Message" << message; KNotification *notification = new KNotification(eventId); notification->setComponentData(KComponentData("plasma_applet_awesome-widget")); notification->setTitle(QString("Awesome Widget ::: ") + eventId); notification->setText(message); notification->sendEvent(); delete notification; } void AwesomeWidget::updateNetworkDevice(const bool delay) { if (debug) qDebug() << PDEBUG; if (delay) networkDeviceUpdate = 30; else values[QString("netdev")] = getNetworkDevice(); } void AwesomeWidget::updateText(const bool clear) { if (debug) qDebug() << PDEBUG; QString text = configuration[QString("text")]; if (!clear) { text.replace(QString("$$"), QString("$\\$\\")); for (int i=0; igetImage(values[foundBars[i]].toFloat())); text.replace(QString("$\\$\\"), QString("$$")); } textLabel->setText(formatLine[0] + text + formatLine[1]); mainLayout->itemAt(0, 0)->updateGeometry(); updateGeometry(); } void AwesomeWidget::updateTooltip() { if (debug) qDebug() << PDEBUG; toolTipView->resize(100.0 * counts[QString("tooltip")], 105.0); // boundaries QMap boundaries; boundaries[QString("cpu")] = 100.0; boundaries[QString("cpucl")] = 4000.0; boundaries[QString("mem")] = 100.0; boundaries[QString("swap")] = 100.0; boundaries[QString("down")] = 1.0; if (configuration[QString("downTooltip")].toInt() == 2) { for (int i=0; iclear(); QPen pen = QPen(); if (configuration[QString("useTooltipBackground")].toInt() == 2) toolTipScene->setBackgroundBrush(QColor(configuration[QString("tooltipBackground")])); 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")); if (tooltipValues.contains(QString("mem"))) trueKeys.append(QString("mem")); 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")) down = true; } toolTip.setImage(QPixmap::grabWidget(toolTipView)); Plasma::ToolTipManager::self()->setContent(this, toolTip); }