diff --git a/sources/CMakeLists.txt b/sources/CMakeLists.txt
index c46981e..b2ca374 100644
--- a/sources/CMakeLists.txt
+++ b/sources/CMakeLists.txt
@@ -37,7 +37,7 @@ endif ()
configure_file (${CMAKE_SOURCE_DIR}/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/version.h)
set (PROJECT_TRDPARTY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty)
-add_subdirectory (ext-sysmon)
+add_subdirectory (extsysmon)
if (BUILD_KDE4)
add_subdirectory (awesome-widget-kde4)
add_subdirectory (desktop-panel-kde4)
diff --git a/sources/awesome-widget-kde4/CMakeLists.txt b/sources/awesome-widget-kde4/CMakeLists.txt
index 8080d86..3387f9f 100644
--- a/sources/awesome-widget-kde4/CMakeLists.txt
+++ b/sources/awesome-widget-kde4/CMakeLists.txt
@@ -14,15 +14,15 @@ include_directories (${CMAKE_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}/../
${PROJECT_TRDPARTY_DIR}
- ../ext-sysmon
- ${CMAKE_CURRENT_BINARY_DIR}/../ext-sysmon)
+ ../extsysmon
+ ${CMAKE_CURRENT_BINARY_DIR}/../extsysmon)
# set sources
file (GLOB SUBPROJECT_DESKTOP_IN *.desktop)
file (RELATIVE_PATH SUBPROJECT_DESKTOP ${CMAKE_SOURCE_DIR} ${SUBPROJECT_DESKTOP_IN})
file (GLOB_RECURSE SUBPROJECT_SOURCE *.cpp ${PROJECT_TRDPARTY_DIR}/task/*.cpp
${PROJECT_TRDPARTY_DIR}/fontdialog/*.cpp
- ../ext-sysmon/extscript.cpp)
+ ../extsysmon/extscript.cpp)
set (TASK_HEADER ${PROJECT_TRDPARTY_DIR}/task/task.h)
file (GLOB SUBPROJECT_UI *.ui ${PROJECT_TRDPARTY_DIR}/about/*.ui)
file (GLOB SUBPROJECT_NOTIFY *.notifyrc)
diff --git a/sources/awesome-widget-kde4/awesome-widget.cpp b/sources/awesome-widget-kde4/awesome-widget.cpp
index 89f6f47..18d58cb 100644
--- a/sources/awesome-widget-kde4/awesome-widget.cpp
+++ b/sources/awesome-widget-kde4/awesome-widget.cpp
@@ -197,7 +197,7 @@ void AwesomeWidget::init()
if (debug) qDebug() << PDEBUG;
// dataengines
- extsysmonEngine = dataEngine(QString("ext-sysmon"));
+ extsysmonEngine = dataEngine(QString("extsysmon"));
sysmonEngine = dataEngine(QString("systemmonitor"));
connect(sysmonEngine, SIGNAL(sourceAdded(QString)), this, SLOT(addDiskDevice(QString)));
timeEngine = dataEngine(QString("time"));
@@ -258,7 +258,7 @@ void AwesomeWidget::replyRecieved(QNetworkReply *reply)
version.remove(QString("V."));
break;
}
-
+
int old_major = QString(VERSION).split(QChar('.'))[0].toInt();
int old_minor = QString(VERSION).split(QChar('.'))[1].toInt();
int old_patch = QString(VERSION).split(QChar('.'))[2].toInt();
diff --git a/sources/awesome-widget-kf5/package/contents/config/main.xml b/sources/awesome-widget-kf5/package/contents/config/main.xml
index 04e44f3..d39d930 100644
--- a/sources/awesome-widget-kf5/package/contents/config/main.xml
+++ b/sources/awesome-widget-kf5/package/contents/config/main.xml
@@ -98,9 +98,6 @@
#00ffff
-
- true
-
#ff00ff
diff --git a/sources/awesome-widget-kf5/package/contents/ui/main.qml b/sources/awesome-widget-kf5/package/contents/ui/main.qml
index cf177a0..bc91e43 100644
--- a/sources/awesome-widget-kf5/package/contents/ui/main.qml
+++ b/sources/awesome-widget-kf5/package/contents/ui/main.qml
@@ -44,7 +44,38 @@ Item {
"justify": Text.AlignJustify
}
// external
- property variant info: {
+ property variant settings: {
+ "customTime": plasmoid.configuration.customTime,
+ "customUptime": plasmoid.configuration.customUptime,
+ "tempUnits": plasmoid.configuration.tempUnits,
+ "tempDevice": plasmoid.configuration.tempDevice,
+ "fanDevice": plasmoid.configuration.fanDevice,
+ "mount": plasmoid.configuration.mount,
+ "hdd": plasmoid.configuration.hdd,
+ "disk": plasmoid.configuration.disk,
+ "customNetdev": plasmoid.configuration.customNetdev,
+ "acOnline": plasmoid.configuration.acOnline,
+ "acOffline": plasmoid.configuration.acOffline
+ }
+ property variant tooltipSettings: {
+ "tooltipNumber": plasmoid.configuration.tooltipNumber,
+ "useTooltipBackground": plasmoid.configuration.useTooltipBackground,
+ "tooltipBackgroung": plasmoid.configuration.tooltipBackgroung,
+ "cpuTooltip": plasmoid.configuration.cpuTooltip,
+ "cpuclTooltip": plasmoid.configuration.cpuclTooltip,
+ "memTooltip": plasmoid.configuration.memTooltip,
+ "swapTooltip": plasmoid.configuration.swapTooltip,
+ "downTooltip": plasmoid.configuration.downTooltip,
+ "upTooltip": plasmoid.configuration.downTooltip,
+ "batteryTooltip": plasmoid.configuration.batteryTooltip,
+ "cpuTooltipColor": plasmoid.configuration.cpuTooltipColor,
+ "cpuclTooltipColor": plasmoid.configuration.cpuclTooltipColor,
+ "memTooltipColor": plasmoid.configuration.memTooltipColor,
+ "swapTooltipColor": plasmoid.configuration.swapTooltipColor,
+ "downTooltipColor": plasmoid.configuration.downTooltipColor,
+ "upTooltipColor": plasmoid.configuration.upTooltipColor,
+ "batteryTooltipColor": plasmoid.configuration.batteryTooltipColor,
+ "batteryInTooltipColor": plasmoid.configuration.batteryInTooltipColor
}
property string pattern: plasmoid.configuration.text
// signals
@@ -60,26 +91,29 @@ Item {
id: systemmonitorDE
engine: "systemmonitor"
connectedSources: systemmonitorDE.sources
- interval: plasmoid.configuration.autoUpdateInterval
+ interval: plasmoid.configuration.interval
onNewData: {
if (debug) console.log("[main::onNewData] : Update source " + sourceName)
if ((data.value == "N\\A") || (data.value == "")) return
- // update
+ if (AWKeys.isReady()) AWKeys.setDataBySource(sourceName, data, settings)
}
}
PlasmaCore.DataSource {
id: extsysmonDE
- engine: "ext-sysmon"
+ engine: "extsysmon"
connectedSources: extsysmonDE.sources
- interval: plasmoid.configuration.autoUpdateInterval
+ interval: plasmoid.configuration.interval
onNewData: {
if (debug) console.log("[main::onNewData] : Update source " + sourceName)
-// if (sourceName == "update") needUpdate()
+ if ((data.value == "N\\A") || (data.value == "")) return
+ if (AWKeys.isReady()) AWKeys.setDataBySource(sourceName, data, settings)
+ // update
+ if (sourceName == "update") needUpdate()
}
}
@@ -87,10 +121,13 @@ Item {
id: timeDE
engine: "time"
connectedSources: ["Local"]
- interval: plasmoid.configuration.autoUpdateInterval
+ interval: plasmoid.configuration.interval
onNewData: {
if (debug) console.log("[main::onNewData] : Update source " + sourceName)
+
+ if ((data.value == "N\\A") || (data.value == "")) return
+ if (AWKeys.isReady()) AWKeys.setDataBySource(sourceName, data, settings)
}
}
@@ -115,6 +152,8 @@ Item {
Component.onCompleted: {
if (debug) console.log("[main::onCompleted]")
+ // init submodule
+ AWKeys.initKeys(pattern, settings, tooltipSettings)
// actions
plasmoid.setAction("showReadme", i18n("Show README"), "text-x-readme")
plasmoid.setAction("updateText", i18n("Update text"), "stock-refresh")
@@ -124,7 +163,7 @@ Item {
onNeedUpdate: {
if (debug) console.log("[main::onNeedUpdate]")
- text.text = AWKeys.parsePattern(pattern, info)
+ text.text = AWKeys.parsePattern(pattern)
// update geometry
text.update()
height = text.contentHeight
diff --git a/sources/awesome-widget-kf5/plugin/CMakeLists.txt b/sources/awesome-widget-kf5/plugin/CMakeLists.txt
index 1a36a27..823c228 100644
--- a/sources/awesome-widget-kf5/plugin/CMakeLists.txt
+++ b/sources/awesome-widget-kf5/plugin/CMakeLists.txt
@@ -17,8 +17,8 @@ include_directories (${CMAKE_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}/../
${PROJECT_TRDPARTY_DIR}
- ../../ext-sysmon
- ${CMAKE_CURRENT_BINARY_DIR}/../../ext-sysmon
+ ../../extsysmon
+ ${CMAKE_CURRENT_BINARY_DIR}/../../extsysmon
${Qt_INCLUDE}
${Kf5_INCLUDE})
@@ -27,7 +27,7 @@ file (GLOB SUBPROJECT_NOTIFY *.notifyrc)
file (GLOB SUBPROJECT_UI *.ui)
# task source is required by extscripts
file (GLOB_RECURSE SUBPROJECT_SOURCE *.cpp ${PROJECT_TRDPARTY_DIR}/task/*.cpp
- ../../ext-sysmon/extscript.cpp)
+ ../../extsysmon/extscript.cpp)
set (TASK_HEADER ${PROJECT_TRDPARTY_DIR}/task/task.h)
qt5_wrap_cpp (TASK_MOC_SOURCE ${TASK_HEADER})
diff --git a/sources/awesome-widget-kf5/plugin/awkeys.cpp b/sources/awesome-widget-kf5/plugin/awkeys.cpp
index 40ac0b1..d0d2a56 100644
--- a/sources/awesome-widget-kf5/plugin/awkeys.cpp
+++ b/sources/awesome-widget-kf5/plugin/awkeys.cpp
@@ -41,8 +41,6 @@ AWKeys::AWKeys(QObject *parent)
QProcessEnvironment environment = QProcessEnvironment::systemEnvironment();
QString debugEnv = environment.value(QString("DEBUG"), QString("no"));
debug = (debugEnv == QString("yes"));
-
- initValues();
}
@@ -52,11 +50,15 @@ AWKeys::~AWKeys()
}
-void AWKeys::initKeys(const QString pattern, const int maxTooltip)
+void AWKeys::initKeys(const QString pattern,
+ const QMap params,
+ const QMap tooltipParams)
{
if (debug) qDebug() << PDEBUG;
// clear
+ extScripts.clear();
+ graphicalItems.clear();
counts.clear();
keys.clear();
foundBars.clear();
@@ -64,25 +66,15 @@ void AWKeys::initKeys(const QString pattern, const int maxTooltip)
toolTip = nullptr;
// init
- counts = getCounts();
+ extScripts = getExtScripts();
+ graphicalItems = getGraphicalItems();
+ counts = getCounts(params);
keys = dictKeys();
foundBars = findGraphicalItems(pattern);
foundKeys = findKeys(pattern);
- toolTip = new AWToolTip(this, maxTooltip);
-}
+ toolTip = new AWToolTip(this, tooltipParams);
-
-void AWKeys::initValues()
-{
- if (debug) qDebug() << PDEBUG;
-
- // clear
- extScripts.clear();
- graphicalItems.clear();
-
- // init
- extScripts = getExtScripts();
- graphicalItems = getGraphicalItems();
+ ready = true;
}
@@ -94,6 +86,14 @@ bool AWKeys::isDebugEnabled()
}
+bool AWKeys::isReady()
+{
+ if (debug) qDebug() << PDEBUG;
+
+ return ready;
+}
+
+
QString AWKeys::networkDevice(const QString custom)
{
if (debug) qDebug() << PDEBUG;
@@ -301,32 +301,6 @@ QStringList AWKeys::graphicalItemsInfo()
}
-QStringList AWKeys::timeKeys()
-{
- if (debug) qDebug() << PDEBUG;
-
- QStringList keys;
- keys.append(QString("dddd"));
- keys.append(QString("ddd"));
- keys.append(QString("dd"));
- keys.append(QString("d"));
- keys.append(QString("MMMM"));
- keys.append(QString("MMM"));
- keys.append(QString("MM"));
- keys.append(QString("M"));
- keys.append(QString("yyyy"));
- keys.append(QString("yy"));
- keys.append(QString("hh"));
- keys.append(QString("h"));
- keys.append(QString("mm"));
- keys.append(QString("m"));
- keys.append(QString("ss"));
- keys.append(QString("s"));
-
- return keys;
-}
-
-
void AWKeys::setDataBySource(const QString sourceName,
const QMap data,
const QMap params)
@@ -351,10 +325,10 @@ void AWKeys::setDataBySource(const QString sourceName,
for (int i=0; isetData(QString("bat"), data[data.keys()[i]].toFloat(), data[QString("ac")].toBool());
@@ -556,7 +530,7 @@ void AWKeys::setDataBySource(const QString sourceName,
values[QString("isotime")] = data[QString("DateTime")].toDateTime().toString(Qt::ISODate);
values[QString("shorttime")] = data[QString("DateTime")].toDateTime().toString(Qt::SystemLocaleShortDate);
values[QString("longtime")] = data[QString("DateTime")].toDateTime().toString(Qt::SystemLocaleLongDate);
- QStringList _timeKeys = timeKeys();
+ QStringList _timeKeys = getTimeKeys();
values[QString("ctime")] = params[QString("customTime")].toString();
for (int i=0; i<_timeKeys.count(); i++)
values[QString("ctime")].replace(QString("$") + _timeKeys[i],
@@ -580,32 +554,6 @@ void AWKeys::setDataBySource(const QString sourceName,
}
-QMap 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;
@@ -639,6 +587,26 @@ QStringList AWKeys::findKeys(const QString pattern)
}
+QMap AWKeys::getCounts(const QMap params)
+{
+ if (debug) qDebug() << PDEBUG;
+
+ QMap awCounts;
+ awCounts[QString("cpu")] = numberCpus();
+ awCounts[QString("custom")] = extScripts.count();
+ awCounts[QString("disk")] = params[QString("disk")].toString().split(QString("@@")).count();
+ awCounts[QString("fan")] = params[QString("fanDevice")].toString().split(QString("@@")).count();
+ awCounts[QString("hddtemp")] = params[QString("hdd")].toString().split(QString("@@")).count();
+ awCounts[QString("mount")] = params[QString("mount")].toString().split(QString("@@")).count();
+ // TODO update pkg parsing
+// awCounts[QString("pkg")] = deSettings[QString("PKGCMD")].split(QChar(',')).count();
+ awCounts[QString("pkg")] = 1;
+ awCounts[QString("temp")] = params[QString("tempDevice")].toString().split(QString("@@")).count();
+
+ return awCounts;
+}
+
+
QList AWKeys::getExtScripts()
{
if (debug) qDebug() << PDEBUG;
@@ -648,7 +616,7 @@ QList AWKeys::getExtScripts()
QString localDir = QStandardPaths::writableLocation(QStandardPaths::DataLocation) +
QString("/plasma_engine_extsysmon/scripts");
QDir localDirectory;
- if (localDirectory.mkpath(localDir))
+ if ((!localDirectory.exists(localDir)) && (localDirectory.mkpath(localDir)))
if (debug) qDebug() << PDEBUG << ":" << "Created directory" << localDir;
QStringList dirs = QStandardPaths::locateAll(QStandardPaths::DataLocation,
@@ -714,3 +682,29 @@ GraphicalItem *AWKeys::getItemByTag(const QString tag)
return item;
}
+
+
+QStringList AWKeys::getTimeKeys()
+{
+ if (debug) qDebug() << PDEBUG;
+
+ QStringList keys;
+ keys.append(QString("dddd"));
+ keys.append(QString("ddd"));
+ keys.append(QString("dd"));
+ keys.append(QString("d"));
+ keys.append(QString("MMMM"));
+ keys.append(QString("MMM"));
+ keys.append(QString("MM"));
+ keys.append(QString("M"));
+ keys.append(QString("yyyy"));
+ keys.append(QString("yy"));
+ keys.append(QString("hh"));
+ keys.append(QString("h"));
+ keys.append(QString("mm"));
+ keys.append(QString("m"));
+ keys.append(QString("ss"));
+ keys.append(QString("s"));
+
+ return keys;
+}
diff --git a/sources/awesome-widget-kf5/plugin/awkeys.h b/sources/awesome-widget-kf5/plugin/awkeys.h
index e2486f9..9119b52 100644
--- a/sources/awesome-widget-kf5/plugin/awkeys.h
+++ b/sources/awesome-widget-kf5/plugin/awkeys.h
@@ -37,9 +37,11 @@ public:
AWKeys(QObject *parent = 0);
~AWKeys();
- Q_INVOKABLE void initKeys(const QString pattern, const int maxTooltip);
- Q_INVOKABLE void initValues();
+ Q_INVOKABLE void initKeys(const QString pattern,
+ const QMap params,
+ const QMap tooltipParams);
Q_INVOKABLE bool isDebugEnabled();
+ Q_INVOKABLE bool isReady();
Q_INVOKABLE QString networkDevice(const QString custom = QString(""));
Q_INVOKABLE int numberCpus();
Q_INVOKABLE QString parsePattern(const QString pattern);
@@ -48,21 +50,22 @@ public:
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);
private:
+ QMap getCounts(const QMap params);
QList getExtScripts();
QList getGraphicalItems();
GraphicalItem *getItemByTag(const QString tag);
+ QStringList getTimeKeys();
AWToolTip *toolTip = nullptr;
// variables
bool debug = false;
+ bool ready = false;
QList graphicalItems;
QList extScripts;
QStringList foundBars, foundKeys, keys;
diff --git a/sources/awesome-widget-kf5/plugin/awtooltip.cpp b/sources/awesome-widget-kf5/plugin/awtooltip.cpp
index 0b4c034..50fc193 100644
--- a/sources/awesome-widget-kf5/plugin/awtooltip.cpp
+++ b/sources/awesome-widget-kf5/plugin/awtooltip.cpp
@@ -24,9 +24,9 @@
AWToolTip::AWToolTip(QObject *parent,
- const int maxCount)
+ QMap settings)
: QObject(parent),
- m_maxCount(maxCount)
+ m_settings(settings)
{
// debug
QProcessEnvironment environment = QProcessEnvironment::systemEnvironment();
@@ -41,13 +41,21 @@ AWToolTip::~AWToolTip()
}
+QPixmap AWToolTip::image()
+{
+ if (debug) qDebug() << PDEBUG;
+
+ return QPixmap();
+}
+
+
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)
+ else if (data[source].count() > m_settings[QString("tooltipNumber")].toInt())
data[source].takeFirst();
if (ac)
diff --git a/sources/awesome-widget-kf5/plugin/awtooltip.h b/sources/awesome-widget-kf5/plugin/awtooltip.h
index 21df344..010de23 100644
--- a/sources/awesome-widget-kf5/plugin/awtooltip.h
+++ b/sources/awesome-widget-kf5/plugin/awtooltip.h
@@ -22,6 +22,7 @@
#include
#include
#include
+#include
class AWToolTip : public QObject
@@ -30,17 +31,17 @@ class AWToolTip : public QObject
public:
AWToolTip(QObject *parent = 0,
- int maxCount = 0);
+ QMap m_settings = QMap());
~AWToolTip();
-// Q_INVOKABLE QPixmap image();
+ Q_INVOKABLE QPixmap image();
void setData(const QString source, const float value,
const bool ac = true);
private:
// variables
bool debug = false;
- int m_maxCount = 0;
+ QMap m_settings;
QMap> data;
};
diff --git a/sources/ext-sysmon/CMakeLists.txt b/sources/extsysmon/CMakeLists.txt
similarity index 100%
rename from sources/ext-sysmon/CMakeLists.txt
rename to sources/extsysmon/CMakeLists.txt
diff --git a/sources/ext-sysmon/extscript.cpp b/sources/extsysmon/extscript.cpp
similarity index 100%
rename from sources/ext-sysmon/extscript.cpp
rename to sources/extsysmon/extscript.cpp
diff --git a/sources/ext-sysmon/extscript.h b/sources/extsysmon/extscript.h
similarity index 100%
rename from sources/ext-sysmon/extscript.h
rename to sources/extsysmon/extscript.h
diff --git a/sources/ext-sysmon/extscript.ui b/sources/extsysmon/extscript.ui
similarity index 100%
rename from sources/ext-sysmon/extscript.ui
rename to sources/extsysmon/extscript.ui
diff --git a/sources/ext-sysmon/extsysmon.cpp b/sources/extsysmon/extsysmon.cpp
similarity index 96%
rename from sources/ext-sysmon/extsysmon.cpp
rename to sources/extsysmon/extsysmon.cpp
index d9327dd..65a3f4d 100644
--- a/sources/ext-sysmon/extsysmon.cpp
+++ b/sources/extsysmon/extsysmon.cpp
@@ -44,10 +44,10 @@
#endif /* BUILD_KDE4 */
-ExtendedSysMon::ExtendedSysMon(QObject* parent, const QVariantList& args)
+ExtendedSysMon::ExtendedSysMon(QObject* parent, const QVariantList &args)
: Plasma::DataEngine(parent, args)
{
- Q_UNUSED(args);
+ Q_UNUSED(args)
// debug
QProcessEnvironment environment = QProcessEnvironment::systemEnvironment();
@@ -79,16 +79,14 @@ QString ExtendedSysMon::getAutoGpu()
if (debug) qDebug() << PDEBUG;
QString gpu = QString("disable");
- QString cmd = QString("lspci");
- if (debug) qDebug() << PDEBUG << ":" << "cmd" << cmd;
- TaskResult process = runTask(cmd);
- if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode;
+ QFile moduleFile(QString("/proc/modules"));
+ if (!moduleFile.open(QIODevice::ReadOnly)) return gpu;
- QString qoutput = QTextCodec::codecForMib(106)->toUnicode(process.output);
- if (qoutput.toLower().contains("nvidia"))
- gpu = QString("nvidia");
- else if (qoutput.toLower().contains("radeon"))
+ QString output = moduleFile.readAll();
+ if (output.contains(QString("fglrx")))
gpu = QString("ati");
+ else if (output.contains(QString("nvidia")))
+ gpu = QString("nvidia");
if (debug) qDebug() << PDEBUG << ":" << "Device" << gpu;
return gpu;
@@ -130,7 +128,7 @@ void ExtendedSysMon::initScripts()
localDir = QStandardPaths::writableLocation(QStandardPaths::DataLocation) +
QString("/plasma_engine_extsysmon/scripts");
QDir localDirectory;
- if (localDirectory.mkpath(localDir))
+ if ((!localDirectory.exists(localDir)) && (localDirectory.mkpath(localDir)))
if (debug) qDebug() << PDEBUG << ":" << "Created directory" << localDir;
dirs = QStandardPaths::locateAll(QStandardPaths::DataLocation,
@@ -226,7 +224,7 @@ QMap ExtendedSysMon::updateConfiguration(QMap -1))
@@ -458,8 +456,9 @@ QMap ExtendedSysMon::getPlayerInfo(const QString playerName,
.arg(mpdPort);
else if (playerName == QString("mpris")) {
// players which supports mpris
- if (mpris == "auto")
+ if (mpris == QString("auto"))
mpris = getAutoMpris();
+ if (mpris.isEmpty()) return info;
cmd = QString("bash -c \"qdbus org.mpris.%1 /Player GetMetadata && qdbus org.mpris.%1 /Player PositionGet\"")
.arg(mpris);
}
@@ -598,9 +597,13 @@ bool ExtendedSysMon::updateSourceEvent(const QString &source)
} else if (source == QString("netdev")) {
setData(source, QString("value"), getNetworkDevice());
} else if (source == QString("pkg")) {
- for (int i=0; i MSEC_IN_HOUR) {
+ for (int i=0; i player = getPlayerInfo(configuration[QString("PLAYER")],
configuration[QString("MPDADDRESS")],
diff --git a/sources/ext-sysmon/extsysmon.h b/sources/extsysmon/extsysmon.h
similarity index 93%
rename from sources/ext-sysmon/extsysmon.h
rename to sources/extsysmon/extsysmon.h
index 091ba84..b054ee4 100644
--- a/sources/ext-sysmon/extsysmon.h
+++ b/sources/extsysmon/extsysmon.h
@@ -18,6 +18,10 @@
#ifndef EXTSYSMON_H
#define EXTSYSMON_H
+#ifndef MSEC_IN_HOUR
+#define MSEC_IN_HOUR 60*60*1000
+#endif /* MSEC_IN_HOUR */
+
#include
#include
@@ -55,6 +59,8 @@ private:
QList externalScripts;
QList times;
bool debug;
+ // FIXME dirty hack to avoid update package information every second
+ int pkgTimeUpdate = MSEC_IN_HOUR;
// reread configuration
QString getAllHdd();
QString getAutoGpu();
diff --git a/sources/ext-sysmon/plasma-dataengine-extsysmon.conf b/sources/extsysmon/plasma-dataengine-extsysmon.conf
similarity index 100%
rename from sources/ext-sysmon/plasma-dataengine-extsysmon.conf
rename to sources/extsysmon/plasma-dataengine-extsysmon.conf
diff --git a/sources/ext-sysmon/plasma-dataengine-extsysmon.desktop b/sources/extsysmon/plasma-dataengine-extsysmon.desktop
similarity index 89%
rename from sources/ext-sysmon/plasma-dataengine-extsysmon.desktop
rename to sources/extsysmon/plasma-dataengine-extsysmon.desktop
index 68d8f01..bb2910b 100644
--- a/sources/ext-sysmon/plasma-dataengine-extsysmon.desktop
+++ b/sources/extsysmon/plasma-dataengine-extsysmon.desktop
@@ -8,11 +8,11 @@ Icon=utilities-system-monitor
X-KDE-ServiceTypes=Plasma/DataEngine
X-KDE-Library=plasma_engine_extsysmon
-X-Plasma-EngineName=ext-sysmon
+X-Plasma-EngineName=extsysmon
X-KDE-PluginInfo-Author=Evgeniy Alekseev aka arcanis
X-KDE-PluginInfo-Email=esalexeev@gmail.com
-X-KDE-PluginInfo-Name=ext-sysmon
+X-KDE-PluginInfo-Name=extsysmon
X-KDE-PluginInfo-Version=@PROJECT_VERSION@
X-KDE-PluginInfo-Category=System Information
X-KDE-PluginInfo-Depends=
diff --git a/sources/ext-sysmon/scripts/get-external-ip.desktop b/sources/extsysmon/scripts/get-external-ip.desktop
similarity index 100%
rename from sources/ext-sysmon/scripts/get-external-ip.desktop
rename to sources/extsysmon/scripts/get-external-ip.desktop
diff --git a/sources/ext-sysmon/scripts/script-template.desktop b/sources/extsysmon/scripts/script-template.desktop
similarity index 100%
rename from sources/ext-sysmon/scripts/script-template.desktop
rename to sources/extsysmon/scripts/script-template.desktop