fix plasma crash with extquotes

rewrite main widget to use signal-slot model
This commit is contained in:
arcan1s
2015-06-30 07:13:58 +03:00
parent aa15e13713
commit 41deb8ef72
6 changed files with 43 additions and 15 deletions

View File

@ -355,17 +355,20 @@ QStringList AWKeys::getHddDevices()
}
bool AWKeys::setDataBySource(const QString sourceName, const QVariantMap data,
void AWKeys::setDataBySource(const QString sourceName, const QVariantMap data,
const QVariantMap params)
{
if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Source" << sourceName;
if (sourceName == QString("update")) return true;
if (sourceName == QString("update")) {
emit(needToBeUpdated());
return;
}
// checking
if (!checkKeys(data)) return false;
if (keys.isEmpty()) return false;
if (!checkKeys(data)) return;
if (keys.isEmpty()) return;
// regular expressions
QRegExp cpuRegExp = QRegExp(QString("cpu/cpu.*/TotalLoad"));
@ -653,11 +656,9 @@ bool AWKeys::setDataBySource(const QString sourceName, const QVariantMap data,
values[QString("cuptime")].replace(QString("$mm"), QString("%1").arg(minutes, 2, 10, QChar('0')));
values[QString("cuptime")].replace(QString("$m"), QString("%1").arg(minutes));
} else {
if (debug) qDebug() << PDEBUG << ":" << "Source not found";
return true;
if (debug) qDebug() << PDEBUG << ":" << "Source" << sourceName << "not found";
emit(dropSourceFromDataengine(sourceName));
}
return false;
}

View File

@ -63,7 +63,7 @@ public:
Q_INVOKABLE void addDevice(const QString source);
Q_INVOKABLE QStringList dictKeys(const bool sorted = false);
Q_INVOKABLE QStringList getHddDevices();
Q_INVOKABLE bool setDataBySource(const QString sourceName, const QVariantMap data,
Q_INVOKABLE void setDataBySource(const QString sourceName, const QVariantMap data,
const QVariantMap params);
// values
Q_INVOKABLE void graphicalValueByKey();
@ -72,6 +72,10 @@ public:
// configuration
Q_INVOKABLE void editItem(const QString type);
signals:
void dropSourceFromDataengine(const QString source);
void needToBeUpdated();
private slots:
void loadKeysFromCache();
void reinitKeys();