fix bugs caused by integration

This commit is contained in:
arcan1s
2015-09-10 04:59:35 +03:00
parent 9e45b02c8e
commit bf5c500938
14 changed files with 191 additions and 604 deletions

View File

@ -18,6 +18,19 @@
#include "extsysmonaggregator.h"
#include "awdebug.h"
#include "sources/batterysource.h"
#include "sources/customsource.h"
#include "sources/desktopsource.h"
#include "sources/gpuloadsource.h"
#include "sources/gputempsource.h"
#include "sources/hddtempsource.h"
#include "sources/networksource.h"
#include "sources/playersource.h"
#include "sources/processessource.h"
#include "sources/quotessource.h"
#include "sources/updatesource.h"
#include "sources/upgradesource.h"
#include "sources/weathersource.h"
ExtSysMonAggregator::ExtSysMonAggregator(QObject *parent, const QHash<QString, QString> config)
@ -42,7 +55,7 @@ QVariant ExtSysMonAggregator::data(const QString source) const
qCDebug(LOG_ESM);
qCDebug(LOG_ESM) << "Source" << source;
return m_map.contains(source) ? m_map[source]->data(source) : QVariant();
return hasSource(source) ? m_map[source]->data(source) : QVariant();
}
@ -51,7 +64,13 @@ AbstractExtSysMonSource *ExtSysMonAggregator::engine(const QString source)
qCDebug(LOG_ESM);
qCDebug(LOG_ESM) << "Source" << source;
return m_map.contains(source) ? m_map[source] : nullptr;
return hasSource(source) ? m_map[source] : nullptr;
}
bool ExtSysMonAggregator::hasSource(const QString source) const
{
return m_map.contains(source);
}
@ -60,7 +79,7 @@ QVariantMap ExtSysMonAggregator::initialData(const QString source) const
qCDebug(LOG_ESM);
qCDebug(LOG_ESM) << "Source" << source;
return m_map.contains(source) ? m_map[source]->initialData(source) : QVariantMap();
return hasSource(source) ? m_map[source]->initialData(source) : QVariantMap();
}
@ -68,11 +87,69 @@ QStringList ExtSysMonAggregator::sources() const
{
qCDebug(LOG_ESM);
return m_map.keys();
QStringList sorted = m_map.keys();
sorted.sort();
return sorted;
}
void ExtSysMonAggregator::init(const QHash<QString, QString> config)
{
qCDebug(LOG_ESM);
// battery
AbstractExtSysMonSource *batteryItem = new BatterySource(this, QStringList() << config[QString("ACPIPATH")]);
foreach(QString source, batteryItem->sources())
m_map[source] = batteryItem;
// custom
AbstractExtSysMonSource *customItem = new CustomSource(this, QStringList());
foreach(QString source, customItem->sources())
m_map[source] = customItem;
// desktop
AbstractExtSysMonSource *desktopItem = new DesktopSource(this, QStringList());
foreach(QString source, desktopItem->sources())
m_map[source] = desktopItem;
// gpu load
AbstractExtSysMonSource *gpuLoadItem = new GPULoadSource(this, QStringList() << config[QString("GPUDEV")]);
foreach(QString source, gpuLoadItem->sources())
m_map[source] = gpuLoadItem;
// gpu temperature
AbstractExtSysMonSource *gpuTempItem = new GPUTemperatureSource(this, QStringList() << config[QString("GPUDEV")]);
foreach(QString source, gpuTempItem->sources())
m_map[source] = gpuTempItem;
// hdd temperature
AbstractExtSysMonSource *hddTempItem = new HDDTemperatureSource(this,
QStringList() << config[QString("HDDDEV")] << config[QString("HDDTEMPCMD")]);
foreach(QString source, hddTempItem->sources())
m_map[source] = hddTempItem;
// network
AbstractExtSysMonSource *networkItem = new NetworkSource(this, QStringList());
foreach(QString source, networkItem->sources())
m_map[source] = networkItem;
// player
AbstractExtSysMonSource *playerItem = new PlayerSource(this,
QStringList() << config[QString("PLAYER")] << config[QString("MPDADDRESS")]
<< config[QString("MPDPORT")] << config[QString("MPRIS")] << config[QString("PLAYERSYMBOLS")]);
foreach(QString source, playerItem->sources())
m_map[source] = playerItem;
// processes
AbstractExtSysMonSource *processesItem = new ProcessesSource(this, QStringList());
foreach(QString source, processesItem->sources())
m_map[source] = processesItem;
// quotes
AbstractExtSysMonSource *quotesItem = new QuotesSource(this, QStringList());
foreach(QString source, quotesItem->sources())
m_map[source] = quotesItem;
// update
AbstractExtSysMonSource *updateItem = new UpdateSource(this, QStringList());
foreach(QString source, updateItem->sources())
m_map[source] = updateItem;
// upgrade
AbstractExtSysMonSource *upgradeItem = new UpgradeSource(this, QStringList());
foreach(QString source, upgradeItem->sources())
m_map[source] = upgradeItem;
// weather
AbstractExtSysMonSource *weatherItem = new WeatherSource(this, QStringList());
foreach(QString source, weatherItem->sources())
m_map[source] = weatherItem;
}