diff --git a/sources/awesome-widget-kf5/CMakeLists.txt b/sources/awesome-widget-kf5/CMakeLists.txt index b08348f..0d105f3 100644 --- a/sources/awesome-widget-kf5/CMakeLists.txt +++ b/sources/awesome-widget-kf5/CMakeLists.txt @@ -13,4 +13,4 @@ include (KDECMakeSettings) include (KDECompilerSettings) add_subdirectory (plugin) -plasma_install_package (package org.kde.plasma.awesome-widget) +plasma_install_package (package org.kde.plasma.awesomewidget) diff --git a/sources/awesome-widget-kf5/package/contents/ui/main.qml b/sources/awesome-widget-kf5/package/contents/ui/main.qml index 168da28..cf177a0 100644 --- a/sources/awesome-widget-kf5/package/contents/ui/main.qml +++ b/sources/awesome-widget-kf5/package/contents/ui/main.qml @@ -21,7 +21,7 @@ import org.kde.plasma.plasmoid 2.0 import org.kde.plasma.core 2.0 as PlasmaCore import org.kde.plasma.components 2.0 as PlasmaComponents -import org.kde.plasma.private.awesome-widget 1.0 +import org.kde.plasma.private.awesomewidget 1.0 Item { @@ -59,36 +59,27 @@ Item { PlasmaCore.DataSource { id: systemmonitorDE engine: "systemmonitor" - - Component.onCompleted: { - if (debug) console.log("[main::onCompleted] : Connect sources to systemmonitor") - - systemmonitorDE.connectAllSources(main, plasmoid.configuration.interval) - } + connectedSources: systemmonitorDE.sources + interval: plasmoid.configuration.autoUpdateInterval onNewData: { if (debug) console.log("[main::onNewData] : Update source " + sourceName) if ((data.value == "N\\A") || (data.value == "")) return // update - info[sourceName] = data.value } } PlasmaCore.DataSource { id: extsysmonDE engine: "ext-sysmon" - - Component.onCompleted: { - if (debug) console.log("[main::onCompleted] : Connect sources to ext-sysmon") - - extsysmonDE.connectAllSources(main, plasmoid.configuration.interval) - } + connectedSources: extsysmonDE.sources + interval: plasmoid.configuration.autoUpdateInterval onNewData: { if (debug) console.log("[main::onNewData] : Update source " + sourceName) - if (sourceName == "update") needUpdate() +// if (sourceName == "update") needUpdate() } } diff --git a/sources/awesome-widget-kf5/package/metadata.desktop b/sources/awesome-widget-kf5/package/metadata.desktop index 64734ea..df5abab 100644 --- a/sources/awesome-widget-kf5/package/metadata.desktop +++ b/sources/awesome-widget-kf5/package/metadata.desktop @@ -20,7 +20,7 @@ X-Plasma-RemoteLocation= X-KDE-PluginInfo-Author=Evgeniy Alekseev aka arcanis X-KDE-PluginInfo-Email=esalexeev@gmail.com -X-KDE-PluginInfo-Name=org.kde.plasma.awesome-widget +X-KDE-PluginInfo-Name=org.kde.plasma.awesomewidget X-KDE-PluginInfo-Version=@PROJECT_VERSION@ X-KDE-PluginInfo-Website=http://arcanis.name/projects/awesome-widgets/ X-KDE-PluginInfo-Category=System Information diff --git a/sources/awesome-widget-kf5/plugin/CMakeLists.txt b/sources/awesome-widget-kf5/plugin/CMakeLists.txt index 4c33cad..1a36a27 100644 --- a/sources/awesome-widget-kf5/plugin/CMakeLists.txt +++ b/sources/awesome-widget-kf5/plugin/CMakeLists.txt @@ -35,6 +35,6 @@ qt5_wrap_ui (SUBPROJECT_UI_HEADER ${SUBPROJECT_UI}) add_library (${PLUGIN_NAME} SHARED ${SUBPROJECT_SOURCE} ${SUBPROJECT_UI_HEADER} ${TASK_MOC_SOURCE}) target_link_libraries (${PLUGIN_NAME} ${Qt_LIBRARIES} ${Kf5_LIBRARIES}) -install (TARGETS ${PLUGIN_NAME} DESTINATION ${QML_INSTALL_DIR}/org/kde/plasma/private/awesome-widget) -install (FILES qmldir DESTINATION ${QML_INSTALL_DIR}/org/kde/plasma/private/awesome-widget) +install (TARGETS ${PLUGIN_NAME} DESTINATION ${QML_INSTALL_DIR}/org/kde/plasma/private/awesomewidget) +install (FILES qmldir DESTINATION ${QML_INSTALL_DIR}/org/kde/plasma/private/awesomewidget) install (FILES ${SUBPROJECT_NOTIFY} DESTINATION ${KNOTIFYRC_INSTALL_DIR}) diff --git a/sources/awesome-widget-kf5/plugin/awactions.cpp b/sources/awesome-widget-kf5/plugin/awactions.cpp index 7604603..5bee110 100644 --- a/sources/awesome-widget-kf5/plugin/awactions.cpp +++ b/sources/awesome-widget-kf5/plugin/awactions.cpp @@ -128,7 +128,7 @@ QMap AWActions::updateDataEngineConfiguration(QMap -#include -#include - -#include - - -AWDESources::AWDESources(QObject *parent, const QString pattern, - const QStringList foundKeys, - const QStringList foundBars, - const QMap counts, - const QMap paths, - const QMap tooltipBools) - : QObject(parent), - m_pattern(pattern), - m_foundKeys(foundKeys), - m_foundBars(foundBars), - m_counts(counts), - m_paths(paths), - m_tooltipBools(tooltipBools) -{ - // debug - QProcessEnvironment environment = QProcessEnvironment::systemEnvironment(); - QString debugEnv = environment.value(QString("DEBUG"), QString("no")); - debug = (debugEnv == QString("yes")); -} - - -AWDESources::~AWDESources() -{ - if (debug) qDebug() << PDEBUG; -} - - -QStringList AWDESources::getSourcesForExtSystemMonitor() -{ - if (debug) qDebug() << PDEBUG; - - QStringList sources; - QRegExp regExp; - - // battery - regExp = QRegExp(QString("(^|bar[0-9].*)(ac|bat.*)")); - if ((m_foundKeys.indexOf(regExp) > -1) || - (m_foundBars.indexOf(regExp) > -1) || - (m_tooltipBools[QString("batteryTooltip")].toBool())) - sources.append(QString("battery")); - // custom command - regExp = QRegExp(QString("custom.*")); - if (m_foundKeys.indexOf(regExp) > -1) - sources.append(QString("custom")); - // desktop - regExp = QRegExp(QString(".*desktop.*")); - if (m_foundKeys.indexOf(regExp) > -1) - sources.append(QString("desktop")); - // gpu - regExp = QRegExp(QString("(^|bar[0-9].*)gpu")); - if ((m_foundKeys.indexOf(regExp) > -1) || - (m_foundBars.indexOf(regExp) > -1)) - sources.append(QString("gpu")); - // gpu temp - regExp = QRegExp(QString("gputemp")); - if (m_foundKeys.indexOf(regExp) > -1) - sources.append(QString("gputemp")); - // hdd temp - regExp = QRegExp(QString("hddtemp.*")); - if (m_foundKeys.indexOf(regExp) > -1) - sources.append(QString("hddtemp")); - // package manager - regExp = QRegExp(QString("pkgcount.*")); - if (m_foundKeys.indexOf(regExp) > -1) - sources.append(QString("pkg")); - // player - regExp = QRegExp(QString("(album|artist|duration|progress|title)")); - if (m_foundKeys.indexOf(regExp) > -1) - sources.append(QString("player")); - // ps - regExp = QRegExp(QString("ps.*")); - if (m_foundKeys.indexOf(regExp) > -1) - sources.append(QString("ps")); - // update == always true - sources.append(QString("update")); - - return sources; -} - - -QStringList AWDESources::getSourcesForSystemMonitor() -{ - if (debug) qDebug() << PDEBUG; - - QStringList sources; - QRegExp regExp; - - // cpu - regExp = QRegExp(QString("(^|bar[0-9].*)cpu(?!cl).*")); - if ((m_foundKeys.indexOf(regExp) > -1) || - (m_foundBars.indexOf(regExp) > -1) || - (m_tooltipBools[QString("cpuTooltip")].toBool())) { - sources.append(QString("cpu/system/TotalLoad")); - for (int i=0; i -1) || - (m_foundBars.indexOf(regExp) > -1) || - (m_tooltipBools[QString("cpuclTooltip")].toBool())) { - sources.append(QString("cpu/system/AverageClock")); - for (int i=0; i -1) - for (int i=0; i -1) - sources.append(m_paths[QString("fanDevice")].toString().split(QString("@@"))); - // mount - regExp = QRegExp(QString("(^|bar[0-9].*)hdd([0-9]|mb|gb|freemb|freegb|totmb|totgb).*")); - if ((m_foundKeys.indexOf(regExp) > -1) || - (m_foundBars.indexOf(regExp) > -1)) - for (int i=0; i -1) || - (m_foundBars.indexOf(regExp) > -1) || - (m_tooltipBools[QString("memTooltip")].toBool())) { - sources.append(QString("mem/physical/free")); - sources.append(QString("mem/physical/used")); - sources.append(QString("mem/physical/application")); - } - // network - regExp = QRegExp(QString("(down|up|netdev)")); - if ((m_foundKeys.indexOf(regExp) > -1) || - (m_tooltipBools[QString("downTooltip")].toBool())) { - sources.append(QString("network/interfaces/") + m_paths[QString("netdev")].toString() + QString("/transmitter/data")); - sources.append(QString("network/interfaces/") + m_paths[QString("netdev")].toString() + QString("/receiver/data")); - } - // swap - regExp = QRegExp(QString("(^|bar[0-9].*)swap.*")); - if ((m_foundKeys.indexOf(regExp) > -1) || - (m_foundBars.indexOf(regExp) > -1) || - (m_paths[QString("swapTooltip")].toBool())) { - sources.append(QString("mem/swap/free")); - sources.append(QString("mem/swap/used")); - } - // temp - regExp = QRegExp(QString("temp.*")); - if (m_foundKeys.indexOf(regExp) > -1) - sources.append(m_paths[QString("tempDevice")].toString().split(QString("@@"))); - // uptime - regExp = QRegExp(QString("(^|c)uptime")); - if (m_foundKeys.indexOf(regExp) > -1) - sources.append(QString("system/uptime")); - - return sources; -} - - -QStringList AWDESources::getSourcesForTimeMonitor() -{ - if (debug) qDebug() << PDEBUG; - - QStringList sources; - QRegExp regExp; - - // time - regExp = QRegExp(QString("(^|iso|short|long|c)time")); - if (m_foundKeys.indexOf(regExp) > -1) - sources.append(QString("Local")); - - return sources; -} - diff --git a/sources/awesome-widget-kf5/plugin/awesomewidget.cpp b/sources/awesome-widget-kf5/plugin/awesomewidget.cpp index 8cbd292..5166107 100644 --- a/sources/awesome-widget-kf5/plugin/awesomewidget.cpp +++ b/sources/awesome-widget-kf5/plugin/awesomewidget.cpp @@ -43,7 +43,7 @@ static QObject *awkeys_singletontype_provider(QQmlEngine *engine, QJSEngine *scr void AWPlugin::registerTypes(const char *uri) { - Q_ASSERT(uri == QLatin1String("org.kde.plasma.private.awesome-widget")); + Q_ASSERT(uri == QLatin1String("org.kde.plasma.private.awesomewidget")); qmlRegisterSingletonType(uri, 1, 0, "AWActions", awactions_singletontype_provider); qmlRegisterSingletonType(uri, 1, 0, "AWKeys", awkeys_singletontype_provider); diff --git a/sources/awesome-widget-kf5/plugin/awkeys.cpp b/sources/awesome-widget-kf5/plugin/awkeys.cpp index b1369cc..40ac0b1 100644 --- a/sources/awesome-widget-kf5/plugin/awkeys.cpp +++ b/sources/awesome-widget-kf5/plugin/awkeys.cpp @@ -17,16 +17,18 @@ #include "awkeys.h" +#include #include #include #include #include +#include #include #include #include -#include "awdesources.h" +#include "awtooltip.h" #include "extscript.h" #include "graphicalitem.h" #include "version.h" @@ -50,17 +52,23 @@ AWKeys::~AWKeys() } -void AWKeys::initKeys(const QString pattern) +void AWKeys::initKeys(const QString pattern, const int maxTooltip) { if (debug) qDebug() << PDEBUG; // clear + counts.clear(); + keys.clear(); foundBars.clear(); foundKeys.clear(); + toolTip = nullptr; // init + counts = getCounts(); + keys = dictKeys(); foundBars = findGraphicalItems(pattern); foundKeys = findKeys(pattern); + toolTip = new AWToolTip(this, maxTooltip); } @@ -71,12 +79,10 @@ void AWKeys::initValues() // clear extScripts.clear(); graphicalItems.clear(); - keys.clear(); // init extScripts = getExtScripts(); graphicalItems = getGraphicalItems(); - keys = dictKeys(); } @@ -118,95 +124,46 @@ int AWKeys::numberCpus() } -QString AWKeys::parsePattern(const QString pattern, const QMap values) +QString AWKeys::parsePattern(const QString pattern) { if (debug) qDebug() << PDEBUG; QString parsed = pattern; parsed.replace(QString("$$"), QString("$\\$\\")); for (int i=0; iimage(values[foundBars[i]].toFloat())); + parsed.replace(QString("$") + foundKeys[i], values[foundKeys[i]]); + for (int i=0; iimage(values[key].toFloat())); + } parsed.replace(QString("$\\$\\"), QString("$$")); return parsed; } -QStringList AWKeys::sourcesForDataEngine(const QString pattern, - const QMap paths, - const QMap tooltipBools, - const QString dataEngine) -{ - if (debug) qDebug() << PDEBUG; - if (debug) qDebug() << PDEBUG << ":" << "Pattern" << pattern; - if (debug) qDebug() << PDEBUG << ":" << "DataEngine" << dataEngine; - - AWDESources *deSources = new AWDESources(this, pattern, foundKeys, foundBars, - counts(), paths, tooltipBools); - - QStringList sources; - if (dataEngine == QString("ext-sysmon")) - sources = deSources->getSourcesForExtSystemMonitor(); - else if (dataEngine == QString("systemmonitor")) - sources = deSources->getSourcesForSystemMonitor(); - else if (dataEngine == QString("time")) - sources = deSources->getSourcesForTimeMonitor(); - delete deSources; - if (debug) qDebug() << PDEBUG << ":" << "Sources" << sources; - - return sources; -} - - float AWKeys::temperature(const float temp, const QString units) { if (debug) qDebug() << PDEBUG; - float convertedTemp = temp; + float converted = temp; if (units == QString("Celsius")) ; else if (units == QString("Fahrenheit")) - convertedTemp = temp * 9.0 / 5.0 + 32.0; + converted = temp * 9.0 / 5.0 + 32.0; else if (units == QString("Kelvin")) - convertedTemp = temp + 273.15; + converted = temp + 273.15; else if (units == QString("Reaumur")) - convertedTemp = temp * 0.8; + converted = temp * 0.8; else if (units == QString("cm^-1")) - convertedTemp = (temp + 273.15) * 0.695; + converted = (temp + 273.15) * 0.695; else if (units == QString("kJ/mol")) - convertedTemp = (temp + 273.15) * 8.31; + converted = (temp + 273.15) * 8.31; else if (units == QString("kcal/mol")) - convertedTemp = (temp + 273.15) * 1.98; + converted = (temp + 273.15) * 1.98; - return convertedTemp; -} - - -QMap AWKeys::counts() -{ - if (debug) qDebug() << PDEBUG; - - QMap awCounts; - awCounts[QString("cpu")] = numberCpus(); - awCounts[QString("custom")] = getExtScripts().count(); -// awCounts[QString("disk")] = configuration[QString("disk")].split(QString("@@")).count(); -// awCounts[QString("fan")] = configuration[QString("fanDevice")].split(QString("@@")).count(); -// awCounts[QString("hddtemp")] = configuration[QString("hdd")].split(QString("@@")).count(); -// awCounts[QString("mount")] = configuration[QString("mount")].split(QString("@@")).count(); -// awCounts[QString("pkg")] = deSettings[QString("PKGCMD")].split(QChar(',')).count(); -// awCounts[QString("temp")] = configuration[QString("tempDevice")].split(QString("@@")).count(); -// awCounts[QString("tooltip")] = 0; -// awCounts[QString("tooltip")] += configuration[QString("cpuTooltip")].toInt(); -// awCounts[QString("tooltip")] += configuration[QString("cpuclTooltip")].toInt(); -// awCounts[QString("tooltip")] += configuration[QString("memTooltip")].toInt(); -// awCounts[QString("tooltip")] += configuration[QString("swapTooltip")].toInt(); -// awCounts[QString("tooltip")] += configuration[QString("downTooltip")].toInt(); -// awCounts[QString("tooltip")] += configuration[QString("batteryTooltip")].toInt(); -// awCounts[QString("tooltip")] = counts[QString("tooltip")] / 2; - - return awCounts; + return converted; } @@ -214,7 +171,6 @@ QStringList AWKeys::dictKeys() { if (debug) qDebug() << PDEBUG; - QMap awCounts = counts(); QStringList allKeys; // time allKeys.append(QString("time")); @@ -226,17 +182,17 @@ QStringList AWKeys::dictKeys() allKeys.append(QString("uptime")); allKeys.append(QString("cuptime")); // cpuclock - for (int i=awCounts[QString("cpu")].toInt()-1; i>=0; i--) + for (int i=counts[QString("cpu")].toInt()-1; i>=0; i--) allKeys.append(QString("cpucl") + QString::number(i)); allKeys.append(QString("cpucl")); // cpu - for (int i=awCounts[QString("cpu")].toInt()-1; i>=0; i--) + for (int i=counts[QString("cpu")].toInt()-1; i>=0; i--) allKeys.append(QString("cpu") + QString::number(i)); allKeys.append(QString("cpu")); // temperature - for (int i=awCounts[QString("temp")].toInt()-1; i>=0; i--) + for (int i=counts[QString("temp")].toInt()-1; i>=0; i--) allKeys.append(QString("temp") + QString::number(i)); - for (int i=awCounts[QString("fan")].toInt()-1; i>=0; i--) + for (int i=counts[QString("fan")].toInt()-1; i>=0; i--) allKeys.append(QString("fan") + QString::number(i)); // gputemp allKeys.append(QString("gputemp")); @@ -261,7 +217,7 @@ QStringList AWKeys::dictKeys() allKeys.append(QString("swaptotgb")); allKeys.append(QString("swap")); // hdd - for (int i=awCounts[QString("mount")].toInt()-1; i>=0; i--) { + for (int i=counts[QString("mount")].toInt()-1; i>=0; i--) { allKeys.append(QString("hddmb") + QString::number(i)); allKeys.append(QString("hddgb") + QString::number(i)); allKeys.append(QString("hddfreemb") + QString::number(i)); @@ -271,12 +227,12 @@ QStringList AWKeys::dictKeys() allKeys.append(QString("hdd") + QString::number(i)); } // hdd speed - for (int i=awCounts[QString("disk")].toInt()-1; i>=0; i--) { + for (int i=counts[QString("disk")].toInt()-1; i>=0; i--) { allKeys.append(QString("hddr") + QString::number(i)); allKeys.append(QString("hddw") + QString::number(i)); } // hdd temp - for (int i=awCounts[QString("hddtemp")].toInt()-1; i>=0; i--) { + for (int i=counts[QString("hddtemp")].toInt()-1; i>=0; i--) { allKeys.append(QString("hddtemp") + QString::number(i)); allKeys.append(QString("hddtemp") + QString::number(i)); } @@ -286,7 +242,7 @@ QStringList AWKeys::dictKeys() allKeys.append(QString("netdev")); // battery allKeys.append(QString("ac")); - for (int i=awCounts[QString("bat")].toInt()-1; i>=0; i--) + for (int i=counts[QString("bat")].toInt()-1; i>=0; i--) allKeys.append(QString("bat") + QString::number(i)); allKeys.append(QString("bat")); // player @@ -300,10 +256,10 @@ QStringList AWKeys::dictKeys() allKeys.append(QString("pstotal")); allKeys.append(QString("ps")); // package manager - for (int i=awCounts[QString("pkg")].toInt()-1; i>=0; i--) + for (int i=counts[QString("pkg")].toInt()-1; i>=0; i--) allKeys.append(QString("pkgcount") + QString::number(i)); // custom - for (int i=awCounts[QString("custom")].toInt()-1; i>=0; i--) + for (int i=counts[QString("custom")].toInt()-1; i>=0; i--) allKeys.append(QString("custom") + QString::number(i)); // desktop allKeys.append(QString("desktop")); @@ -371,6 +327,285 @@ QStringList AWKeys::timeKeys() } +void AWKeys::setDataBySource(const QString sourceName, + const QMap data, + const QMap params) +{ + if (debug) qDebug() << PDEBUG; + if (debug) qDebug() << PDEBUG << ":" << "Source" << sourceName; + + // 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")); + QRegExp netRecRegExp = QRegExp(QString("network/interfaces/.*/receiver/data")); + QRegExp netTransRegExp = QRegExp(QString("network/interfaces/.*/transmitter/data")); + QRegExp tempRegExp = QRegExp(QString("lmsensors/.*")); + + if (sourceName == QString("battery")) { + // battery + for (int i=0; isetData(QString("bat"), data[data.keys()[i]].toFloat(), data[QString("ac")].toBool()); + } + } + } else if (sourceName == QString("cpu/system/TotalLoad")) { + // cpu + values[QString("cpu")] = QString("%1").arg(data[QString("value")].toFloat(), 5, 'f', 1); + toolTip->setData(QString("cpu"), data[QString("value")].toFloat()); + } else if (sourceName.contains(cpuRegExp)) { + // cpus + QString number = sourceName; + number.remove(QString("cpu/cpu")).remove(QString("/TotalLoad")); + values[QString("cpu") + number] = QString("%1").arg(data[QString("value")].toFloat(), 5, 'f', 1); + } else if (sourceName == QString("cpu/system/AverageClock")) { + // cpucl + values[QString("cpucl")] = QString("%1").arg(data[QString("value")].toFloat(), 4, 'f', 0); + toolTip->setData(QString("cpucl"), data[QString("value")].toFloat()); + } else if (sourceName.contains(cpuclRegExp)) { + // cpucls + QString number = sourceName; + number.remove(QString("cpu/cpu")).remove(QString("/clock")); + values[QString("cpucl") + number] = QString("%1").arg(data[QString("value")].toFloat(), 4, 'f', 0); + } else if (sourceName == QString("custom")) { + // custom + for (int i=0; isetData(QString("mem"), values[QString("mem")].toFloat()); + } else if (sourceName == QString("netdev")) { + // network device + values[QString("netdev")] = data[QString("value")].toString(); + } else if (sourceName.contains(netRecRegExp)) { + // download speed + QString device = sourceName; + device.remove(QString("network/interfaces/")).remove(QString("/receiver/data")); + if (device == networkDevice(params[QString("customNetdev")].toString())) { + values[QString("down")] = QString("%1").arg(data[QString("value")].toFloat(), 4, 'f', 0); + toolTip->setData(QString("down"), data[QString("value")].toFloat()); + } + } else if (sourceName.contains(netTransRegExp)) { + // upload speed + QString device = sourceName; + device.remove(QString("network/interfaces/")).remove(QString("/transmitter/data")); + if (device == networkDevice(params[QString("customNetdev")].toString())) { + values[QString("up")] = QString("%1").arg(data[QString("value")].toFloat(), 4, 'f', 0); + toolTip->setData(QString("up"), data[QString("value")].toFloat()); + } + } else if (sourceName == QString("pkg")) { + // package manager + for (int i=0; isetData(QString("swap"), values[QString("swap")].toFloat()); + } else if (sourceName.contains(tempRegExp)) { + // temperature devices + if (data[QString("units")].toString() == QString("rpm")) { + for (int i=0; i AWKeys::getCounts() +{ + if (debug) qDebug() << PDEBUG; + + QMap awCounts; + awCounts[QString("cpu")] = numberCpus(); + awCounts[QString("custom")] = getExtScripts().count(); +// awCounts[QString("disk")] = configuration[QString("disk")].split(QString("@@")).count(); +// awCounts[QString("fan")] = configuration[QString("fanDevice")].split(QString("@@")).count(); +// awCounts[QString("hddtemp")] = configuration[QString("hdd")].split(QString("@@")).count(); +// awCounts[QString("mount")] = configuration[QString("mount")].split(QString("@@")).count(); +// awCounts[QString("pkg")] = deSettings[QString("PKGCMD")].split(QChar(',')).count(); +// awCounts[QString("temp")] = configuration[QString("tempDevice")].split(QString("@@")).count(); +// awCounts[QString("tooltip")] = 0; +// awCounts[QString("tooltip")] += configuration[QString("cpuTooltip")].toInt(); +// awCounts[QString("tooltip")] += configuration[QString("cpuclTooltip")].toInt(); +// awCounts[QString("tooltip")] += configuration[QString("memTooltip")].toInt(); +// awCounts[QString("tooltip")] += configuration[QString("swapTooltip")].toInt(); +// awCounts[QString("tooltip")] += configuration[QString("downTooltip")].toInt(); +// awCounts[QString("tooltip")] += configuration[QString("batteryTooltip")].toInt(); +// awCounts[QString("tooltip")] = counts[QString("tooltip")] / 2; + + return awCounts; +} + + QStringList AWKeys::findGraphicalItems(const QString pattern) { if (debug) qDebug() << PDEBUG; @@ -413,7 +648,7 @@ QList AWKeys::getExtScripts() QString localDir = QStandardPaths::writableLocation(QStandardPaths::DataLocation) + QString("/plasma_engine_extsysmon/scripts"); QDir localDirectory; - if (localDirectory.mkdir(localDir)) + if (localDirectory.mkpath(localDir)) if (debug) qDebug() << PDEBUG << ":" << "Created directory" << localDir; QStringList dirs = QStandardPaths::locateAll(QStandardPaths::DataLocation, @@ -444,7 +679,7 @@ QList AWKeys::getGraphicalItems() QString localDir = QStandardPaths::writableLocation(QStandardPaths::DataLocation) + QString("/plasma_applet_awesome-widget/desktops"); QDir localDirectory; - if (localDirectory.mkdir(localDir)) + if (localDirectory.mkpath(localDir)) if (debug) qDebug() << PDEBUG << ":" << "Created directory" << localDir; QStringList dirs = QStandardPaths::locateAll(QStandardPaths::DataLocation, diff --git a/sources/awesome-widget-kf5/plugin/awkeys.h b/sources/awesome-widget-kf5/plugin/awkeys.h index 9d07e15..e2486f9 100644 --- a/sources/awesome-widget-kf5/plugin/awkeys.h +++ b/sources/awesome-widget-kf5/plugin/awkeys.h @@ -25,6 +25,7 @@ #include +class AWToolTip; class ExtScript; class GraphicalItem; @@ -36,23 +37,22 @@ public: AWKeys(QObject *parent = 0); ~AWKeys(); - Q_INVOKABLE void initKeys(const QString pattern); + Q_INVOKABLE void initKeys(const QString pattern, const int maxTooltip); Q_INVOKABLE void initValues(); Q_INVOKABLE bool isDebugEnabled(); Q_INVOKABLE QString networkDevice(const QString custom = QString("")); Q_INVOKABLE int numberCpus(); - Q_INVOKABLE QString parsePattern(const QString pattern, const QMap values); - Q_INVOKABLE QStringList sourcesForDataEngine(const QString pattern, - const QMap paths, - const QMap tooltipBools, - const QString dataEngine = QString("systemmonitor")); + Q_INVOKABLE QString parsePattern(const QString pattern); Q_INVOKABLE float temperature(const float temp, const QString units = QString("Celsius")); // keys - Q_INVOKABLE QMap counts(); Q_INVOKABLE QStringList dictKeys(); Q_INVOKABLE QStringList extScriptsInfo(); Q_INVOKABLE QStringList graphicalItemsInfo(); Q_INVOKABLE QStringList timeKeys(); + Q_INVOKABLE void setDataBySource(const QString sourceName, + const QMap data, + const QMap params); + Q_INVOKABLE QMap getCounts(); Q_INVOKABLE QStringList findGraphicalItems(const QString pattern); Q_INVOKABLE QStringList findKeys(const QString pattern); @@ -60,11 +60,14 @@ private: QList getExtScripts(); QList getGraphicalItems(); GraphicalItem *getItemByTag(const QString tag); + AWToolTip *toolTip = nullptr; // variables bool debug = false; QList graphicalItems; QList extScripts; QStringList foundBars, foundKeys, keys; + QMap counts; + QMap values; }; diff --git a/sources/awesome-widget-kf5/plugin/awtooltip.cpp b/sources/awesome-widget-kf5/plugin/awtooltip.cpp new file mode 100644 index 0000000..0b4c034 --- /dev/null +++ b/sources/awesome-widget-kf5/plugin/awtooltip.cpp @@ -0,0 +1,57 @@ +/*************************************************************************** + * 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 "awtooltip.h" + +#include +#include + +#include + + +AWToolTip::AWToolTip(QObject *parent, + const int maxCount) + : QObject(parent), + m_maxCount(maxCount) +{ + // debug + QProcessEnvironment environment = QProcessEnvironment::systemEnvironment(); + QString debugEnv = environment.value(QString("DEBUG"), QString("no")); + debug = (debugEnv == QString("yes")); +} + + +AWToolTip::~AWToolTip() +{ + if (debug) qDebug() << PDEBUG; +} + + +void AWToolTip::setData (const QString source, const float value, const bool ac) +{ + if (debug) qDebug() << PDEBUG; + + if (data[source].count() == 0) + data[source].append(0.0); + else if (data[source].count() > m_maxCount) + data[source].takeFirst(); + + if (ac) + data[source].append(value); + else + data[source].append(-value); +} diff --git a/sources/awesome-widget-kf5/plugin/awdesources.h b/sources/awesome-widget-kf5/plugin/awtooltip.h similarity index 60% rename from sources/awesome-widget-kf5/plugin/awdesources.h rename to sources/awesome-widget-kf5/plugin/awtooltip.h index 5cdf897..21df344 100644 --- a/sources/awesome-widget-kf5/plugin/awdesources.h +++ b/sources/awesome-widget-kf5/plugin/awtooltip.h @@ -16,39 +16,33 @@ ***************************************************************************/ -#ifndef AWDESOURCES_H -#define AWDESOURCES_H +#ifndef AWTOOLTIP_H +#define AWTOOLTIP_H #include #include -#include +#include -class AWDESources : public QObject +class AWToolTip : public QObject { Q_OBJECT public: - AWDESources(QObject *parent = 0, - const QString pattern = QString(""), - const QStringList foundKeys = QStringList(), - const QStringList foundBars = QStringList(), - const QMap counts = QMap(), - const QMap paths = QMap(), - const QMap tooltipBools = QMap()); - ~AWDESources(); + AWToolTip(QObject *parent = 0, + int maxCount = 0); + ~AWToolTip(); - QStringList getSourcesForExtSystemMonitor(); - QStringList getSourcesForSystemMonitor(); - QStringList getSourcesForTimeMonitor(); +// Q_INVOKABLE QPixmap image(); + void setData(const QString source, const float value, + const bool ac = true); private: // variables bool debug = false; - QString m_pattern; - QStringList m_foundKeys, m_foundBars; - QMap m_counts, m_paths, m_tooltipBools; + int m_maxCount = 0; + QMap> data; }; -#endif /* AWDESOURCES_H */ +#endif /* AWTOOLTIP_H */ diff --git a/sources/awesome-widget-kf5/plugin/qmldir b/sources/awesome-widget-kf5/plugin/qmldir index 2c16903..8a3ed27 100644 --- a/sources/awesome-widget-kf5/plugin/qmldir +++ b/sources/awesome-widget-kf5/plugin/qmldir @@ -1,3 +1,3 @@ -module org.kde.plasma.private.awesome-widget +module org.kde.plasma.private.awesomewidget plugin awplugin diff --git a/sources/ext-sysmon/CMakeLists.txt b/sources/ext-sysmon/CMakeLists.txt index 10137e4..0514873 100644 --- a/sources/ext-sysmon/CMakeLists.txt +++ b/sources/ext-sysmon/CMakeLists.txt @@ -11,7 +11,7 @@ if (BUILD_KDE4) add_definitions (${QT_DEFINITIONS} ${KDE4_DEFINITIONS}) set (KDE_INCLUDE ${KDE4_INCLUDES}) else () - find_package (Qt5 REQUIRED COMPONENTS Widgets) + find_package (Qt5 REQUIRED COMPONENTS Network Widgets) find_package (ECM 0.0.11 REQUIRED NO_MODULE) set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR}) find_package (KF5 REQUIRED COMPONENTS Plasma Service WindowSystem) diff --git a/sources/ext-sysmon/extsysmon.cpp b/sources/ext-sysmon/extsysmon.cpp index fc133e8..ce51d44 100644 --- a/sources/ext-sysmon/extsysmon.cpp +++ b/sources/ext-sysmon/extsysmon.cpp @@ -138,7 +138,7 @@ void ExtendedSysMon::initScripts() localDir = QStandardPaths::writableLocation(QStandardPaths::DataLocation) + QString("/plasma_engine_extsysmon/scripts"); QDir localDirectory; - if (localDirectory.mkdir(localDir)) + if (localDirectory.mkpath(localDir)) if (debug) qDebug() << PDEBUG << ":" << "Created directory" << localDir; dirs = QStandardPaths::locateAll(QStandardPaths::DataLocation, @@ -246,7 +246,7 @@ QMap ExtendedSysMon::updateConfiguration(QMap ExtendedSysMon::getPsStats() for (int i=0; i ExtendedSysMon::getPsStats() if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode; qoutput = QTextCodec::codecForMib(106)->toUnicode(process.output).trimmed(); - psStats[QString("psTotal")] = qoutput.split(QChar('\n'), QString::SkipEmptyParts).count(); + psStats[QString("pstotal")] = qoutput.split(QChar('\n'), QString::SkipEmptyParts).count(); return psStats; } @@ -611,7 +611,7 @@ bool ExtendedSysMon::updateSourceEvent(const QString &source) setData(source, QString("value"), getNetworkDevice()); } else if (source == QString("pkg")) { for (int i=0; i player = getPlayerInfo(configuration[QString("PLAYER")],