diff --git a/sources/ext-sysmon/extsysmon.cpp b/sources/ext-sysmon/extsysmon.cpp index 8781902..0f165cf 100644 --- a/sources/ext-sysmon/extsysmon.cpp +++ b/sources/ext-sysmon/extsysmon.cpp @@ -19,12 +19,12 @@ #include "extsysmon.h" #include +#include +#include #include #include #include -#include - ExtendedSysMon::ExtendedSysMon(QObject* parent, const QVariantList& args) : Plasma::DataEngine(parent, args) @@ -83,28 +83,27 @@ QStringList ExtendedSysMon::sources() const } -bool ExtendedSysMon::readConfiguration() +void ExtendedSysMon::readConfiguration() { // pre-setup - configuration[QString("CUSTOM")] = QString("wget -qO- http://ifconfig.me/ip"); - configuration[QString("GPUDEV")] = QString("auto"); - configuration[QString("HDDDEV")] = QString("all"); - configuration[QString("MPDADDRESS")] = QString("localhost"); - configuration[QString("MPDPORT")] = QString("6600"); - configuration[QString("PKGCMD")] = QString("pacman -Qu"); - configuration[QString("PKGNULL")] = QString("0"); + QMap rawConfig; + rawConfig[QString("CUSTOM")] = QString("wget -qO- http://ifconfig.me/ip"); + rawConfig[QString("GPUDEV")] = QString("auto"); + rawConfig[QString("HDDDEV")] = QString("all"); + rawConfig[QString("MPDADDRESS")] = QString("localhost"); + rawConfig[QString("MPDPORT")] = QString("6600"); + rawConfig[QString("PKGCMD")] = QString("pacman -Qu"); + rawConfig[QString("PKGNULL")] = QString("0"); + QString fileName = KGlobal::dirs()->findResource("config", "extsysmon.conf"); + QFile confFile(fileName); + bool ok = confFile.open(QIODevice::ReadOnly); + if (!ok) { + configuration = updateConfiguration(rawConfig); + return; + } QString fileStr; QStringList value; - // FIXME: define configuration file - QFile confFile(QString(getenv("HOME")) + QString("/.kde4/share/config/extsysmon.conf")); - bool exists = confFile.open(QIODevice::ReadOnly); - if (!exists) { - confFile.setFileName("/usr/share/config/extsysmon.conf"); - exists = confFile.open(QIODevice::ReadOnly); - if (!exists) - return false; - } while (true) { fileStr = QString(confFile.readLine()).trimmed(); if (fileStr[0] == QChar('#')) continue; @@ -113,24 +112,40 @@ bool ExtendedSysMon::readConfiguration() value.clear(); for (int i=1; i ExtendedSysMon::updateConfiguration(const QMap rawConfig) +{ + QMap config; + QString key, value; + // remove spaces and copy source map + for (int i=0; i updateConfiguration(const QMap rawConfig); }; #endif /* EXTSYSMON_H */