use m_ prefix for all internal variables, update CONTRIBUTING.md

accordingly
This commit is contained in:
Evgenii Alekseev 2016-07-27 20:40:17 +03:00
parent 052d8a034c
commit 90c33ab24d
30 changed files with 403 additions and 387 deletions

View File

@ -6,8 +6,8 @@ for more details. To avoid manual labor there is automatic cmake target named
`clangformat` (see below). Some additional detail see below. `clangformat` (see below). Some additional detail see below.
* Indent is only spaces. 4 spaces. * Indent is only spaces. 4 spaces.
* It is highly recommended to name private variables with `m_` prefix (`m_foo`). * Any private variable should start with `m_` prefix (`m_foo`). The only one
There is no exceptions for properties. exception is `Ui` object which should be named as `ui`.
* Avoid to create a large methods. Exception: if method contains lambda functions. * Avoid to create a large methods. Exception: if method contains lambda functions.
* If some method is called only once, it is recommended to use lambda functions. * If some method is called only once, it is recommended to use lambda functions.
Exception is `Q_INVOKABLE` methods. Exception is `Q_INVOKABLE` methods.

View File

@ -36,13 +36,13 @@ AWDataAggregator::AWDataAggregator(QObject *parent)
{ {
qCDebug(LOG_AW) << __PRETTY_FUNCTION__; qCDebug(LOG_AW) << __PRETTY_FUNCTION__;
boundaries[QString("cpuTooltip")] = 100.0; m_boundaries[QString("cpuTooltip")] = 100.0;
boundaries[QString("cpuclTooltip")] = 4000.0; m_boundaries[QString("cpuclTooltip")] = 4000.0;
boundaries[QString("memTooltip")] = 100.0; m_boundaries[QString("memTooltip")] = 100.0;
boundaries[QString("swapTooltip")] = 100.0; m_boundaries[QString("swapTooltip")] = 100.0;
boundaries[QString("downkbTooltip")] = 1.0; m_boundaries[QString("downkbTooltip")] = 1.0;
boundaries[QString("upkbTooltip")] = 1.0; m_boundaries[QString("upkbTooltip")] = 1.0;
boundaries[QString("batTooltip")] = 100.0; m_boundaries[QString("batTooltip")] = 100.0;
initScene(); initScene();
connect(this, SIGNAL(updateData(const QVariantHash &)), this, connect(this, SIGNAL(updateData(const QVariantHash &)), this,
@ -54,7 +54,7 @@ AWDataAggregator::~AWDataAggregator()
{ {
qCDebug(LOG_AW) << __PRETTY_FUNCTION__; qCDebug(LOG_AW) << __PRETTY_FUNCTION__;
delete toolTipScene; delete m_toolTipScene;
} }
@ -62,7 +62,7 @@ QList<float> AWDataAggregator::getData(const QString key) const
{ {
qCDebug(LOG_AW) << "Key" << key; qCDebug(LOG_AW) << "Key" << key;
return data[QString("%1Tooltip").arg(key)]; return m_values[QString("%1Tooltip").arg(key)];
} }
@ -84,41 +84,41 @@ void AWDataAggregator::setParameters(QVariantMap settings)
qCDebug(LOG_AW) << "Settings" << settings; qCDebug(LOG_AW) << "Settings" << settings;
// cast from QVariantMap to QVariantHash without data lost // cast from QVariantMap to QVariantHash without data lost
configuration = qvariant_cast<QVariantHash>(settings); m_configuration = qvariant_cast<QVariantHash>(settings);
m_enablePopup = configuration[QString("notify")].toBool(); m_enablePopup = m_configuration[QString("notify")].toBool();
counts = 0; m_counts = 0;
counts += configuration[QString("cpuTooltip")].toInt(); m_counts += m_configuration[QString("cpuTooltip")].toInt();
counts += configuration[QString("cpuclTooltip")].toInt(); m_counts += m_configuration[QString("cpuclTooltip")].toInt();
counts += configuration[QString("memTooltip")].toInt(); m_counts += m_configuration[QString("memTooltip")].toInt();
counts += configuration[QString("swapTooltip")].toInt(); m_counts += m_configuration[QString("swapTooltip")].toInt();
counts += configuration[QString("downkbTooltip")].toInt(); m_counts += m_configuration[QString("downkbTooltip")].toInt();
counts += configuration[QString("batTooltip")].toInt(); m_counts += m_configuration[QString("batTooltip")].toInt();
// resize tooltip image // resize tooltip image
toolTipView->resize(100 * counts, 105); m_toolTipView->resize(100 * m_counts, 105);
requiredKeys.clear(); requiredKeys.clear();
if (configuration[QString("cpuTooltip")].toBool()) if (m_configuration[QString("cpuTooltip")].toBool())
requiredKeys.append(QString("cpuTooltip")); requiredKeys.append(QString("cpuTooltip"));
if (configuration[QString("cpuclTooltip")].toBool()) if (m_configuration[QString("cpuclTooltip")].toBool())
requiredKeys.append(QString("cpuclTooltip")); requiredKeys.append(QString("cpuclTooltip"));
if (configuration[QString("memTooltip")].toBool()) if (m_configuration[QString("memTooltip")].toBool())
requiredKeys.append(QString("memTooltip")); requiredKeys.append(QString("memTooltip"));
if (configuration[QString("swapTooltip")].toBool()) if (m_configuration[QString("swapTooltip")].toBool())
requiredKeys.append(QString("swapTooltip")); requiredKeys.append(QString("swapTooltip"));
if (configuration[QString("downkbTooltip")].toBool()) if (m_configuration[QString("downkbTooltip")].toBool())
requiredKeys.append(QString("downkbTooltip")); requiredKeys.append(QString("downkbTooltip"));
if (configuration[QString("upkbTooltip")].toBool()) if (m_configuration[QString("upkbTooltip")].toBool())
requiredKeys.append(QString("upkbTooltip")); requiredKeys.append(QString("upkbTooltip"));
if (configuration[QString("batTooltip")].toBool()) if (m_configuration[QString("batTooltip")].toBool())
requiredKeys.append(QString("batTooltip")); requiredKeys.append(QString("batTooltip"));
// background // background
toolTipScene->setBackgroundBrush( m_toolTipScene->setBackgroundBrush(
configuration[QString("useTooltipBackground")].toBool() m_configuration[QString("useTooltipBackground")].toBool()
? QBrush(QColor( ? QBrush(QColor(
configuration[QString("tooltipBackground")].toString())) m_configuration[QString("tooltipBackground")].toString()))
: QBrush(Qt::NoBrush)); : QBrush(Qt::NoBrush));
} }
@ -126,43 +126,44 @@ void AWDataAggregator::setParameters(QVariantMap settings)
QPixmap AWDataAggregator::tooltipImage() QPixmap AWDataAggregator::tooltipImage()
{ {
// create image // create image
toolTipScene->clear(); m_toolTipScene->clear();
QPen pen; QPen pen;
bool down = false; bool down = false;
for (auto key : requiredKeys) { for (auto key : requiredKeys) {
// create frame // create frame
float normX = 100.0f / static_cast<float>(data[key].count()); float normX = 100.0f / static_cast<float>(m_values[key].count());
float normY = 100.0f / (1.5f * boundaries[key]); float normY = 100.0f / (1.5f * m_boundaries[key]);
float shift = requiredKeys.indexOf(key) * 100.0f; float shift = requiredKeys.indexOf(key) * 100.0f;
if (down) if (down)
shift -= 100.0; shift -= 100.0;
// apply pen color // apply pen color
if (key != QString("batTooltip")) if (key != QString("batTooltip"))
pen.setColor( pen.setColor(QColor(
QColor(configuration[QString("%1Color").arg(key)].toString())); m_configuration[QString("%1Color").arg(key)].toString()));
// paint data inside frame // paint data inside frame
for (int j = 0; j < data[key].count() - 1; j++) { for (int j = 0; j < m_values[key].count() - 1; j++) {
// some magic here // some magic here
float x1 = j * normX + shift; float x1 = j * normX + shift;
float y1 = -fabs(data[key].at(j)) * normY + 5.0f; float y1 = -fabs(m_values[key].at(j)) * normY + 5.0f;
float x2 = (j + 1) * normX + shift; float x2 = (j + 1) * normX + shift;
float y2 = -fabs(data[key].at(j + 1)) * normY + 5.0f; float y2 = -fabs(m_values[key].at(j + 1)) * normY + 5.0f;
if (key == QString("batTooltip")) { if (key == QString("batTooltip")) {
if (data[key].at(j + 1) > 0) if (m_values[key].at(j + 1) > 0)
pen.setColor(QColor( pen.setColor(
configuration[QString("batTooltipColor")].toString())); QColor(m_configuration[QString("batTooltipColor")]
.toString()));
else else
pen.setColor( pen.setColor(
QColor(configuration[QString("batInTooltipColor")] QColor(m_configuration[QString("batInTooltipColor")]
.toString())); .toString()));
} }
toolTipScene->addLine(x1, y1, x2, y2, pen); m_toolTipScene->addLine(x1, y1, x2, y2, pen);
} }
if (key == QString("downkbTooltip")) if (key == QString("downkbTooltip"))
down = true; down = true;
} }
return toolTipView->grab(); return m_toolTipView->grab();
} }
@ -182,12 +183,12 @@ void AWDataAggregator::checkValue(const QString source, const float value,
if (value >= 0.0) { if (value >= 0.0) {
if ((m_enablePopup) && (value > extremum) if ((m_enablePopup) && (value > extremum)
&& (data[source].last() < extremum)) && (m_values[source].last() < extremum))
return AWActions::sendNotification(QString("event"), return AWActions::sendNotification(QString("event"),
notificationText(source, value)); notificationText(source, value));
} else { } else {
if ((m_enablePopup) && (value < extremum) if ((m_enablePopup) && (value < extremum)
&& (data[source].last() > extremum)) && (m_values[source].last() > extremum))
return AWActions::sendNotification(QString("event"), return AWActions::sendNotification(QString("event"),
notificationText(source, value)); notificationText(source, value));
} }
@ -208,13 +209,13 @@ void AWDataAggregator::checkValue(const QString source, const QString current,
void AWDataAggregator::initScene() void AWDataAggregator::initScene()
{ {
toolTipScene = new QGraphicsScene(nullptr); m_toolTipScene = new QGraphicsScene(nullptr);
toolTipView = new QGraphicsView(toolTipScene); m_toolTipView = new QGraphicsView(m_toolTipScene);
toolTipView->setStyleSheet(QString("background: transparent")); m_toolTipView->setStyleSheet(QString("background: transparent"));
toolTipView->setContentsMargins(0, 0, 0, 0); m_toolTipView->setContentsMargins(0, 0, 0, 0);
toolTipView->setFrameShape(QFrame::NoFrame); m_toolTipView->setFrameShape(QFrame::NoFrame);
toolTipView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); m_toolTipView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
toolTipView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); m_toolTipView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
} }
@ -257,7 +258,7 @@ void AWDataAggregator::setData(const QVariantHash &values)
// do not log these arguments // do not log these arguments
// battery update requires info is AC online or not // battery update requires info is AC online or not
setData(values[QString("ac")].toString() setData(values[QString("ac")].toString()
== configuration[QString("acOnline")], == m_configuration[QString("acOnline")],
QString("batTooltip"), values[QString("bat")].toFloat()); QString("batTooltip"), values[QString("bat")].toFloat());
// usual case // usual case
setData(QString("cpuTooltip"), values[QString("cpu")].toFloat(), 90.0); setData(QString("cpuTooltip"), values[QString("cpu")].toFloat(), 90.0);
@ -268,13 +269,13 @@ void AWDataAggregator::setData(const QVariantHash &values)
setData(QString("upkbTooltip"), values[QString("upkb")].toFloat()); setData(QString("upkbTooltip"), values[QString("upkb")].toFloat());
// additional check for network device // additional check for network device
[this](const QString value) { [this](const QString value) {
checkValue(QString("netdev"), currentNetworkDevice, value); checkValue(QString("netdev"), m_currentNetworkDevice, value);
currentNetworkDevice = value; m_currentNetworkDevice = value;
}(values[QString("netdev")].toString()); }(values[QString("netdev")].toString());
// additional check for GPU load // additional check for GPU load
[this](const float value) { [this](const float value) {
checkValue(QString("gpu"), value, 90.0); checkValue(QString("gpu"), value, 90.0);
currentGPULoad = value; m_currentGPULoad = value;
}(values[QString("gpu")].toFloat()); }(values[QString("gpu")].toFloat());
} }
@ -285,27 +286,27 @@ void AWDataAggregator::setData(const QString &source, float value,
qCDebug(LOG_AW) << "Source" << source << "to value" << value qCDebug(LOG_AW) << "Source" << source << "to value" << value
<< "with extremum" << extremum; << "with extremum" << extremum;
if (data[source].count() == 0) if (m_values[source].count() == 0)
data[source].append(0.0); m_values[source].append(0.0);
else if (data[source].count() else if (m_values[source].count()
> configuration[QString("tooltipNumber")].toInt()) > m_configuration[QString("tooltipNumber")].toInt())
data[source].removeFirst(); m_values[source].removeFirst();
if (std::isnan(value)) if (std::isnan(value))
value = 0.0; value = 0.0;
// notifications // notifications
checkValue(source, value, extremum); checkValue(source, value, extremum);
data[source].append(value); m_values[source].append(value);
if (source == QString("downkbTooltip")) { if (source == QString("downkbTooltip")) {
QList<float> netValues QList<float> netValues = m_values[QString("downkbTooltip")]
= data[QString("downkbTooltip")] + data[QString("upkbTooltip")]; + m_values[QString("upkbTooltip")];
// to avoid inf value of normY // to avoid inf value of normY
netValues << 1.0; netValues << 1.0;
boundaries[QString("downkbTooltip")] m_boundaries[QString("downkbTooltip")]
= 1.2f * *std::max_element(netValues.cbegin(), netValues.cend()); = 1.2f * *std::max_element(netValues.cbegin(), netValues.cend());
boundaries[QString("upkbTooltip")] m_boundaries[QString("upkbTooltip")]
= boundaries[QString("downkbTooltip")]; = m_boundaries[QString("downkbTooltip")];
} }
} }

View File

@ -49,8 +49,8 @@ private slots:
private: private:
// ui // ui
QGraphicsScene *toolTipScene = nullptr; QGraphicsScene *m_toolTipScene = nullptr;
QGraphicsView *toolTipView = nullptr; QGraphicsView *m_toolTipView = nullptr;
void checkValue(const QString source, const float value, void checkValue(const QString source, const float value,
const float extremum) const; const float extremum) const;
void checkValue(const QString source, const QString current, void checkValue(const QString source, const QString current,
@ -65,12 +65,12 @@ private:
// different signature for battery device // different signature for battery device
void setData(const bool dontInvert, const QString &source, float value); void setData(const bool dontInvert, const QString &source, float value);
// variables // variables
int counts = 0; int m_counts = 0;
QVariantHash configuration; QVariantHash m_configuration;
float currentGPULoad = 0.0; float m_currentGPULoad = 0.0;
QString currentNetworkDevice = QString("lo"); QString m_currentNetworkDevice = QString("lo");
QHash<QString, float> boundaries; QHash<QString, float> m_boundaries;
QHash<QString, QList<float>> data; QHash<QString, QList<float>> m_values;
bool m_enablePopup = false; bool m_enablePopup = false;
QStringList requiredKeys; QStringList requiredKeys;
}; };

View File

@ -35,13 +35,13 @@ AWFormatterConfig::AWFormatterConfig(QWidget *parent, const QStringList keys)
qCDebug(LOG_AW) << __PRETTY_FUNCTION__; qCDebug(LOG_AW) << __PRETTY_FUNCTION__;
ui->setupUi(this); ui->setupUi(this);
editButton m_editButton
= ui->buttonBox->addButton(i18n("Edit"), QDialogButtonBox::ActionRole); = ui->buttonBox->addButton(i18n("Edit"), QDialogButtonBox::ActionRole);
init(); init();
connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(accept())); connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
connect(ui->buttonBox, SIGNAL(rejected()), this, SLOT(reject())); connect(ui->buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
connect(editButton, SIGNAL(clicked(bool)), this, SLOT(editFormatters())); connect(m_editButton, SIGNAL(clicked(bool)), this, SLOT(editFormatters()));
} }

View File

@ -44,7 +44,7 @@ private slots:
void updateUi(); void updateUi();
private: private:
QPushButton *editButton = nullptr; QPushButton *m_editButton = nullptr;
Ui::AWFormatterConfig *ui = nullptr; Ui::AWFormatterConfig *ui = nullptr;
AWFormatterHelper *m_helper = nullptr; AWFormatterHelper *m_helper = nullptr;
QList<AWAbstractSelector *> m_selectors; QList<AWAbstractSelector *> m_selectors;

View File

@ -45,11 +45,11 @@ AWKeyOperations::~AWKeyOperations()
qCDebug(LOG_AW) << __PRETTY_FUNCTION__; qCDebug(LOG_AW) << __PRETTY_FUNCTION__;
// extensions // extensions
delete graphicalItems; delete m_graphicalItems;
delete extQuotes; delete m_extQuotes;
delete extScripts; delete m_extScripts;
delete extUpgrade; delete m_extUpgrade;
delete extWeather; delete m_extWeather;
} }
@ -79,19 +79,19 @@ QStringList AWKeyOperations::dictKeys() const
{ {
QStringList allKeys; QStringList allKeys;
// weather // weather
for (int i = extWeather->activeItems().count() - 1; i >= 0; i--) { for (int i = m_extWeather->activeItems().count() - 1; i >= 0; i--) {
allKeys.append( allKeys.append(
extWeather->activeItems().at(i)->tag(QString("weatherId"))); m_extWeather->activeItems().at(i)->tag(QString("weatherId")));
allKeys.append( allKeys.append(
extWeather->activeItems().at(i)->tag(QString("weather"))); m_extWeather->activeItems().at(i)->tag(QString("weather")));
allKeys.append( allKeys.append(
extWeather->activeItems().at(i)->tag(QString("humidity"))); m_extWeather->activeItems().at(i)->tag(QString("humidity")));
allKeys.append( allKeys.append(
extWeather->activeItems().at(i)->tag(QString("pressure"))); m_extWeather->activeItems().at(i)->tag(QString("pressure")));
allKeys.append( allKeys.append(
extWeather->activeItems().at(i)->tag(QString("temperature"))); m_extWeather->activeItems().at(i)->tag(QString("temperature")));
allKeys.append( allKeys.append(
extWeather->activeItems().at(i)->tag(QString("timestamp"))); m_extWeather->activeItems().at(i)->tag(QString("timestamp")));
} }
// cpuclock & cpu // cpuclock & cpu
for (int i = QThread::idealThreadCount() - 1; i >= 0; i--) { for (int i = QThread::idealThreadCount() - 1; i >= 0; i--) {
@ -140,32 +140,35 @@ QStringList AWKeyOperations::dictKeys() const
for (int i = allBatteryDevices.count() - 1; i >= 0; i--) for (int i = allBatteryDevices.count() - 1; i >= 0; i--)
allKeys.append(QString("bat%1").arg(i)); allKeys.append(QString("bat%1").arg(i));
// package manager // package manager
for (int i = extUpgrade->activeItems().count() - 1; i >= 0; i--) for (int i = m_extUpgrade->activeItems().count() - 1; i >= 0; i--)
allKeys.append( allKeys.append(
extUpgrade->activeItems().at(i)->tag(QString("pkgcount"))); m_extUpgrade->activeItems().at(i)->tag(QString("pkgcount")));
// quotes // quotes
for (int i = extQuotes->activeItems().count() - 1; i >= 0; i--) { for (int i = m_extQuotes->activeItems().count() - 1; i >= 0; i--) {
allKeys.append(extQuotes->activeItems().at(i)->tag(QString("ask"))); allKeys.append(m_extQuotes->activeItems().at(i)->tag(QString("ask")));
allKeys.append(extQuotes->activeItems().at(i)->tag(QString("askchg")));
allKeys.append( allKeys.append(
extQuotes->activeItems().at(i)->tag(QString("percaskchg"))); m_extQuotes->activeItems().at(i)->tag(QString("askchg")));
allKeys.append(extQuotes->activeItems().at(i)->tag(QString("bid")));
allKeys.append(extQuotes->activeItems().at(i)->tag(QString("bidchg")));
allKeys.append( allKeys.append(
extQuotes->activeItems().at(i)->tag(QString("percbidchg"))); m_extQuotes->activeItems().at(i)->tag(QString("percaskchg")));
allKeys.append(extQuotes->activeItems().at(i)->tag(QString("price"))); allKeys.append(m_extQuotes->activeItems().at(i)->tag(QString("bid")));
allKeys.append( allKeys.append(
extQuotes->activeItems().at(i)->tag(QString("pricechg"))); m_extQuotes->activeItems().at(i)->tag(QString("bidchg")));
allKeys.append( allKeys.append(
extQuotes->activeItems().at(i)->tag(QString("percpricechg"))); m_extQuotes->activeItems().at(i)->tag(QString("percbidchg")));
allKeys.append(m_extQuotes->activeItems().at(i)->tag(QString("price")));
allKeys.append(
m_extQuotes->activeItems().at(i)->tag(QString("pricechg")));
allKeys.append(
m_extQuotes->activeItems().at(i)->tag(QString("percpricechg")));
} }
// custom // custom
for (int i = extScripts->activeItems().count() - 1; i >= 0; i--) for (int i = m_extScripts->activeItems().count() - 1; i >= 0; i--)
allKeys.append(extScripts->activeItems().at(i)->tag(QString("custom")));
// bars
for (int i = graphicalItems->activeItems().count() - 1; i >= 0; i--)
allKeys.append( allKeys.append(
graphicalItems->activeItems().at(i)->tag(QString("bar"))); m_extScripts->activeItems().at(i)->tag(QString("custom")));
// bars
for (int i = m_graphicalItems->activeItems().count() - 1; i >= 0; i--)
allKeys.append(
m_graphicalItems->activeItems().at(i)->tag(QString("bar")));
// static keys // static keys
QStringList staticKeys = QString(STATIC_KEYS).split(QChar(',')); QStringList staticKeys = QString(STATIC_KEYS).split(QChar(','));
std::for_each(staticKeys.cbegin(), staticKeys.cend(), std::for_each(staticKeys.cbegin(), staticKeys.cend(),
@ -181,7 +184,7 @@ GraphicalItem *AWKeyOperations::giByKey(const QString key) const
{ {
qCDebug(LOG_AW) << "Looking for item" << key; qCDebug(LOG_AW) << "Looking for item" << key;
return graphicalItems->itemByTag(key, QString("bar")); return m_graphicalItems->itemByTag(key, QString("bar"));
} }
@ -194,11 +197,11 @@ QString AWKeyOperations::infoByKey(QString key) const
QString output; QString output;
if (key.startsWith(QString("bar"))) { if (key.startsWith(QString("bar"))) {
AbstractExtItem *item = graphicalItems->itemByTag(key, stripped); AbstractExtItem *item = m_graphicalItems->itemByTag(key, stripped);
if (item) if (item)
output = item->uniq(); output = item->uniq();
} else if (key.startsWith(QString("custom"))) { } else if (key.startsWith(QString("custom"))) {
AbstractExtItem *item = extScripts->itemByTag(key, stripped); AbstractExtItem *item = m_extScripts->itemByTag(key, stripped);
if (item) if (item)
output = item->uniq(); output = item->uniq();
} else if (key.contains(QRegExp(QString("^hdd[rw]")))) { } else if (key.contains(QRegExp(QString("^hdd[rw]")))) {
@ -219,17 +222,17 @@ QString AWKeyOperations::infoByKey(QString key) const
output = m_devices[QString("net")] output = m_devices[QString("net")]
[key.remove(QRegExp(QString("^(down|up)"))).toInt()]; [key.remove(QRegExp(QString("^(down|up)"))).toInt()];
} else if (key.startsWith(QString("pkgcount"))) { } else if (key.startsWith(QString("pkgcount"))) {
AbstractExtItem *item = extUpgrade->itemByTag(key, stripped); AbstractExtItem *item = m_extUpgrade->itemByTag(key, stripped);
if (item) if (item)
output = item->uniq(); output = item->uniq();
} else if (key.contains( } else if (key.contains(
QRegExp(QString("(^|perc)(ask|bid|price)(chg|)")))) { QRegExp(QString("(^|perc)(ask|bid|price)(chg|)")))) {
AbstractExtItem *item = extQuotes->itemByTag(key, stripped); AbstractExtItem *item = m_extQuotes->itemByTag(key, stripped);
if (item) if (item)
output = item->uniq(); output = item->uniq();
} else if (key.contains(QRegExp(QString( } else if (key.contains(QRegExp(QString(
"(weather|weatherId|humidity|pressure|temperature)")))) { "(weather|weatherId|humidity|pressure|temperature)")))) {
AbstractExtItem *item = extWeather->itemByTag(key, stripped); AbstractExtItem *item = m_extWeather->itemByTag(key, stripped);
if (item) if (item)
output = item->uniq(); output = item->uniq();
} else if (key.startsWith(QString("temp"))) { } else if (key.startsWith(QString("temp"))) {
@ -265,16 +268,16 @@ void AWKeyOperations::editItem(const QString type)
QStringList keys = dictKeys().filter(QRegExp( QStringList keys = dictKeys().filter(QRegExp(
QString("^(cpu(?!cl).*|gpu$|mem$|swap$|hdd[0-9].*|bat.*)"))); QString("^(cpu(?!cl).*|gpu$|mem$|swap$|hdd[0-9].*|bat.*)")));
keys.sort(); keys.sort();
graphicalItems->setConfigArgs(keys); m_graphicalItems->setConfigArgs(keys);
return graphicalItems->editItems(); return m_graphicalItems->editItems();
} else if (type == QString("extquotes")) { } else if (type == QString("extquotes")) {
return extQuotes->editItems(); return m_extQuotes->editItems();
} else if (type == QString("extscript")) { } else if (type == QString("extscript")) {
return extScripts->editItems(); return m_extScripts->editItems();
} else if (type == QString("extupgrade")) { } else if (type == QString("extupgrade")) {
return extUpgrade->editItems(); return m_extUpgrade->editItems();
} else if (type == QString("extweather")) { } else if (type == QString("extweather")) {
return extWeather->editItems(); return m_extWeather->editItems();
} }
} }
@ -316,23 +319,26 @@ void AWKeyOperations::reinitKeys()
{ {
// renew extensions // renew extensions
// delete them if any // delete them if any
delete graphicalItems; delete m_graphicalItems;
graphicalItems = nullptr; m_graphicalItems = nullptr;
delete extQuotes; delete m_extQuotes;
extQuotes = nullptr; m_extQuotes = nullptr;
delete extScripts; delete m_extScripts;
extScripts = nullptr; m_extScripts = nullptr;
delete extUpgrade; delete m_extUpgrade;
extUpgrade = nullptr; m_extUpgrade = nullptr;
delete extWeather; delete m_extWeather;
extWeather = nullptr; m_extWeather = nullptr;
// create // create
graphicalItems m_graphicalItems
= new ExtItemAggregator<GraphicalItem>(nullptr, QString("desktops")); = new ExtItemAggregator<GraphicalItem>(nullptr, QString("desktops"));
extQuotes = new ExtItemAggregator<ExtQuotes>(nullptr, QString("quotes")); m_extQuotes = new ExtItemAggregator<ExtQuotes>(nullptr, QString("quotes"));
extScripts = new ExtItemAggregator<ExtScript>(nullptr, QString("scripts")); m_extScripts
extUpgrade = new ExtItemAggregator<ExtUpgrade>(nullptr, QString("upgrade")); = new ExtItemAggregator<ExtScript>(nullptr, QString("scripts"));
extWeather = new ExtItemAggregator<ExtWeather>(nullptr, QString("weather")); m_extUpgrade
= new ExtItemAggregator<ExtUpgrade>(nullptr, QString("upgrade"));
m_extWeather
= new ExtItemAggregator<ExtWeather>(nullptr, QString("weather"));
// init // init
QStringList allKeys = dictKeys(); QStringList allKeys = dictKeys();

View File

@ -69,11 +69,11 @@ private:
void addKeyToCache(const QString type, const QString key = QString("")); void addKeyToCache(const QString type, const QString key = QString(""));
void reinitKeys(); void reinitKeys();
// objects // objects
ExtItemAggregator<GraphicalItem> *graphicalItems = nullptr; ExtItemAggregator<GraphicalItem> *m_graphicalItems = nullptr;
ExtItemAggregator<ExtQuotes> *extQuotes = nullptr; ExtItemAggregator<ExtQuotes> *m_extQuotes = nullptr;
ExtItemAggregator<ExtScript> *extScripts = nullptr; ExtItemAggregator<ExtScript> *m_extScripts = nullptr;
ExtItemAggregator<ExtUpgrade> *extUpgrade = nullptr; ExtItemAggregator<ExtUpgrade> *m_extUpgrade = nullptr;
ExtItemAggregator<ExtWeather> *extWeather = nullptr; ExtItemAggregator<ExtWeather> *m_extWeather = nullptr;
// variables // variables
QHash<QString, QStringList> m_devices; QHash<QString, QStringList> m_devices;
QString m_pattern; QString m_pattern;

View File

@ -44,26 +44,26 @@ AWKeys::AWKeys(QObject *parent)
// thread pool // thread pool
m_threadPool = new QThreadPool(this); m_threadPool = new QThreadPool(this);
aggregator = new AWKeysAggregator(this); m_aggregator = new AWKeysAggregator(this);
dataAggregator = new AWDataAggregator(this); m_dataAggregator = new AWDataAggregator(this);
dataEngineAggregator = new AWDataEngineAggregator(this); m_dataEngineAggregator = new AWDataEngineAggregator(this);
keyOperator = new AWKeyOperations(this); m_keyOperator = new AWKeyOperations(this);
m_timer = new QTimer(this); m_timer = new QTimer(this);
m_timer->setSingleShot(false); m_timer->setSingleShot(false);
// update key data if required // update key data if required
connect(keyOperator, SIGNAL(updateKeys(QStringList)), this, connect(m_keyOperator, SIGNAL(updateKeys(QStringList)), this,
SLOT(reinitKeys(QStringList))); SLOT(reinitKeys(QStringList)));
connect(m_timer, SIGNAL(timeout()), this, SLOT(updateTextData())); connect(m_timer, SIGNAL(timeout()), this, SLOT(updateTextData()));
// transfer signal from AWDataAggregator object to QML ui // transfer signal from AWDataAggregator object to QML ui
connect(dataAggregator, SIGNAL(toolTipPainted(const QString)), this, connect(m_dataAggregator, SIGNAL(toolTipPainted(const QString)), this,
SIGNAL(needToolTipToBeUpdated(const QString))); SIGNAL(needToolTipToBeUpdated(const QString)));
connect(this, SIGNAL(dropSourceFromDataengine(QString)), connect(this, SIGNAL(dropSourceFromDataengine(QString)),
dataEngineAggregator, SLOT(dropSource(QString))); m_dataEngineAggregator, SLOT(dropSource(QString)));
// transfer signal from dataengine to update source list // transfer signal from dataengine to update source list
connect(dataEngineAggregator, SIGNAL(deviceAdded(const QString &)), connect(m_dataEngineAggregator, SIGNAL(deviceAdded(const QString &)),
keyOperator, SLOT(addDevice(const QString &))); m_keyOperator, SLOT(addDevice(const QString &)));
} }
@ -75,11 +75,11 @@ AWKeys::~AWKeys()
delete m_timer; delete m_timer;
// core // core
delete dataEngineAggregator; delete m_dataEngineAggregator;
delete m_threadPool; delete m_threadPool;
delete aggregator; delete m_aggregator;
delete dataAggregator; delete m_dataAggregator;
delete keyOperator; delete m_keyOperator;
} }
@ -89,7 +89,7 @@ void AWKeys::initDataAggregator(const QVariantMap tooltipParams)
// store parameters to generate m_requiredKeys // store parameters to generate m_requiredKeys
m_tooltipParams = tooltipParams; m_tooltipParams = tooltipParams;
dataAggregator->setParameters(m_tooltipParams); m_dataAggregator->setParameters(m_tooltipParams);
} }
@ -105,11 +105,11 @@ void AWKeys::initKeys(const QString currentPattern, const int interval,
m_threadPool->setMaxThreadCount(limit == 0 ? QThread::idealThreadCount() m_threadPool->setMaxThreadCount(limit == 0 ? QThread::idealThreadCount()
: limit); : limit);
// child objects // child objects
aggregator->initFormatters(); m_aggregator->initFormatters();
keyOperator->setPattern(currentPattern); m_keyOperator->setPattern(currentPattern);
keyOperator->updateCache(); m_keyOperator->updateCache();
dataEngineAggregator->clear(); m_dataEngineAggregator->clear();
dataEngineAggregator->initDataEngines(interval); m_dataEngineAggregator->initDataEngines(interval);
// timer // timer
m_timer->setInterval(interval); m_timer->setInterval(interval);
@ -121,7 +121,7 @@ void AWKeys::setAggregatorProperty(const QString key, const QVariant value)
{ {
qCDebug(LOG_AW) << "Key" << key << "with value" << value; qCDebug(LOG_AW) << "Key" << key << "with value" << value;
aggregator->setProperty(key.toUtf8().constData(), value); m_aggregator->setProperty(key.toUtf8().constData(), value);
} }
@ -135,7 +135,7 @@ void AWKeys::setWrapNewLines(const bool wrap)
void AWKeys::updateCache() void AWKeys::updateCache()
{ {
return keyOperator->updateCache(); return m_keyOperator->updateCache();
} }
@ -144,7 +144,7 @@ QStringList AWKeys::dictKeys(const bool sorted, const QString regexp) const
qCDebug(LOG_AW) << "Should be sorted" << sorted << "and filter applied" qCDebug(LOG_AW) << "Should be sorted" << sorted << "and filter applied"
<< regexp; << regexp;
QStringList allKeys = keyOperator->dictKeys(); QStringList allKeys = m_keyOperator->dictKeys();
// sort if required // sort if required
if (sorted) if (sorted)
allKeys.sort(); allKeys.sort();
@ -155,7 +155,7 @@ QStringList AWKeys::dictKeys(const bool sorted, const QString regexp) const
QStringList AWKeys::getHddDevices() const QStringList AWKeys::getHddDevices() const
{ {
QStringList devices = keyOperator->devices(QString("hdd")); QStringList devices = m_keyOperator->devices(QString("hdd"));
// required by selector in the UI // required by selector in the UI
devices.insert(0, QString("disable")); devices.insert(0, QString("disable"));
devices.insert(0, QString("auto")); devices.insert(0, QString("auto"));
@ -168,7 +168,7 @@ QString AWKeys::infoByKey(QString key) const
{ {
qCDebug(LOG_AW) << "Requested info for key" << key; qCDebug(LOG_AW) << "Requested info for key" << key;
return keyOperator->infoByKey(key); return m_keyOperator->infoByKey(key);
} }
@ -178,9 +178,9 @@ QString AWKeys::valueByKey(QString key) const
qCDebug(LOG_AW) << "Requested value for key" << key; qCDebug(LOG_AW) << "Requested value for key" << key;
QString trueKey QString trueKey
= key.startsWith(QString("bar")) ? keyOperator->infoByKey(key) : key; = key.startsWith(QString("bar")) ? m_keyOperator->infoByKey(key) : key;
return aggregator->formatter(values[trueKey], trueKey); return m_aggregator->formatter(m_values[trueKey], trueKey);
} }
@ -188,7 +188,7 @@ void AWKeys::editItem(const QString type)
{ {
qCDebug(LOG_AW) << "Item type" << type; qCDebug(LOG_AW) << "Item type" << type;
return keyOperator->editItem(type); return m_keyOperator->editItem(type);
} }
@ -206,15 +206,15 @@ void AWKeys::reinitKeys(const QStringList currentKeys)
qCDebug(LOG_AW) << "Update found keys by using list" << currentKeys; qCDebug(LOG_AW) << "Update found keys by using list" << currentKeys;
// append lists // append lists
m_foundBars = AWPatternFunctions::findKeys(keyOperator->pattern(), m_foundBars = AWPatternFunctions::findKeys(m_keyOperator->pattern(),
currentKeys, true); currentKeys, true);
m_foundKeys = AWPatternFunctions::findKeys(keyOperator->pattern(), m_foundKeys = AWPatternFunctions::findKeys(m_keyOperator->pattern(),
currentKeys, false); currentKeys, false);
m_foundLambdas = AWPatternFunctions::findLambdas(keyOperator->pattern()); m_foundLambdas = AWPatternFunctions::findLambdas(m_keyOperator->pattern());
// generate list of required keys for bars // generate list of required keys for bars
QStringList barKeys; QStringList barKeys;
for (auto bar : m_foundBars) { for (auto bar : m_foundBars) {
GraphicalItem *item = keyOperator->giByKey(bar); GraphicalItem *item = m_keyOperator->giByKey(bar);
if (item->isCustom()) if (item->isCustom())
item->setUsedKeys( item->setUsedKeys(
AWPatternFunctions::findKeys(item->bar(), currentKeys, false)); AWPatternFunctions::findKeys(item->bar(), currentKeys, false));
@ -228,8 +228,8 @@ void AWKeys::reinitKeys(const QStringList currentKeys)
m_tooltipParams, currentKeys) m_tooltipParams, currentKeys)
: QStringList(); : QStringList();
// set key data to aggregator // set key data to m_aggregator
aggregator->setDevices(keyOperator->devices()); m_aggregator->setDevices(m_keyOperator->devices());
} }
@ -238,11 +238,11 @@ void AWKeys::updateTextData()
// do not do it in parallel to avoid race condition // do not do it in parallel to avoid race condition
m_mutex.lock(); m_mutex.lock();
calculateValues(); calculateValues();
QString text = parsePattern(keyOperator->pattern()); QString text = parsePattern(m_keyOperator->pattern());
m_mutex.unlock(); m_mutex.unlock();
emit(needTextToBeUpdated(text)); emit(needTextToBeUpdated(text));
emit(dataAggregator->updateData(values)); emit(m_dataAggregator->updateData(m_values));
} }
@ -251,54 +251,58 @@ void AWKeys::updateTextData()
void AWKeys::calculateValues() void AWKeys::calculateValues()
{ {
// hddtot* // hddtot*
QStringList mountDevices = keyOperator->devices(QString("mount")); QStringList mountDevices = m_keyOperator->devices(QString("mount"));
for (auto device : mountDevices) { for (auto device : mountDevices) {
int index = mountDevices.indexOf(device); int index = mountDevices.indexOf(device);
values[QString("hddtotmb%1").arg(index)] m_values[QString("hddtotmb%1").arg(index)]
= values[QString("hddfreemb%1").arg(index)].toFloat() = m_values[QString("hddfreemb%1").arg(index)].toFloat()
+ values[QString("hddmb%1").arg(index)].toFloat(); + m_values[QString("hddmb%1").arg(index)].toFloat();
values[QString("hddtotgb%1").arg(index)] m_values[QString("hddtotgb%1").arg(index)]
= values[QString("hddfreegb%1").arg(index)].toFloat() = m_values[QString("hddfreegb%1").arg(index)].toFloat()
+ values[QString("hddgb%1").arg(index)].toFloat(); + m_values[QString("hddgb%1").arg(index)].toFloat();
} }
// memtot* // memtot*
values[QString("memtotmb")] = values[QString("memusedmb")].toInt() m_values[QString("memtotmb")] = m_values[QString("memusedmb")].toInt()
+ values[QString("memfreemb")].toInt(); + m_values[QString("memfreemb")].toInt();
values[QString("memtotgb")] = values[QString("memusedgb")].toFloat() m_values[QString("memtotgb")] = m_values[QString("memusedgb")].toFloat()
+ values[QString("memfreegb")].toFloat(); + m_values[QString("memfreegb")].toFloat();
// mem // mem
values[QString("mem")] = 100.0f * values[QString("memmb")].toFloat() m_values[QString("mem")] = 100.0f * m_values[QString("memmb")].toFloat()
/ values[QString("memtotmb")].toFloat(); / m_values[QString("memtotmb")].toFloat();
// up, down, upkb, downkb, upunits, downunits // up, down, upkb, downkb, upunits, downunits
int netIndex = keyOperator->devices(QString("net")) int netIndex = m_keyOperator->devices(QString("net"))
.indexOf(values[QString("netdev")].toString()); .indexOf(m_values[QString("netdev")].toString());
values[QString("down")] = values[QString("down%1").arg(netIndex)]; m_values[QString("down")] = m_values[QString("down%1").arg(netIndex)];
values[QString("downkb")] = values[QString("downkb%1").arg(netIndex)]; m_values[QString("downkb")] = m_values[QString("downkb%1").arg(netIndex)];
values[QString("downtotal")] = values[QString("downtotal%1").arg(netIndex)]; m_values[QString("downtotal")]
values[QString("downtotalkb")] = m_values[QString("downtotal%1").arg(netIndex)];
= values[QString("downtotalkb%1").arg(netIndex)]; m_values[QString("downtotalkb")]
values[QString("downunits")] = values[QString("downunits%1").arg(netIndex)]; = m_values[QString("downtotalkb%1").arg(netIndex)];
values[QString("up")] = values[QString("up%1").arg(netIndex)]; m_values[QString("downunits")]
values[QString("upkb")] = values[QString("upkb%1").arg(netIndex)]; = m_values[QString("downunits%1").arg(netIndex)];
values[QString("uptotal")] = values[QString("uptotal%1").arg(netIndex)]; m_values[QString("up")] = m_values[QString("up%1").arg(netIndex)];
values[QString("uptotalkb")] = values[QString("uptotalkb%1").arg(netIndex)]; m_values[QString("upkb")] = m_values[QString("upkb%1").arg(netIndex)];
values[QString("upunits")] = values[QString("upunits%1").arg(netIndex)]; m_values[QString("uptotal")] = m_values[QString("uptotal%1").arg(netIndex)];
m_values[QString("uptotalkb")]
= m_values[QString("uptotalkb%1").arg(netIndex)];
m_values[QString("upunits")] = m_values[QString("upunits%1").arg(netIndex)];
// swaptot* // swaptot*
values[QString("swaptotmb")] = values[QString("swapmb")].toInt() m_values[QString("swaptotmb")] = m_values[QString("swapmb")].toInt()
+ values[QString("swapfreemb")].toInt(); + m_values[QString("swapfreemb")].toInt();
values[QString("swaptotgb")] = values[QString("swapgb")].toFloat() m_values[QString("swaptotgb")]
+ values[QString("swapfreegb")].toFloat(); = m_values[QString("swapgb")].toFloat()
+ m_values[QString("swapfreegb")].toFloat();
// swap // swap
values[QString("swap")] = 100.0f * values[QString("swapmb")].toFloat() m_values[QString("swap")] = 100.0f * m_values[QString("swapmb")].toFloat()
/ values[QString("swaptotmb")].toFloat(); / m_values[QString("swaptotmb")].toFloat();
// lambdas // lambdas
for (auto key : m_foundLambdas) for (auto key : m_foundLambdas)
values[key] = AWPatternFunctions::expandLambdas(key, aggregator, values, m_values[key] = AWPatternFunctions::expandLambdas(
m_foundKeys); key, m_aggregator, m_values, m_foundKeys);
} }
@ -309,27 +313,27 @@ QString AWKeys::parsePattern(QString pattern) const
// lambdas // lambdas
for (auto key : m_foundLambdas) for (auto key : m_foundLambdas)
pattern.replace(QString("${{%1}}").arg(key), values[key].toString()); pattern.replace(QString("${{%1}}").arg(key), m_values[key].toString());
// main keys // main keys
for (auto key : m_foundKeys) for (auto key : m_foundKeys)
pattern.replace(QString("$%1").arg(key), [this](const QString &tag, pattern.replace(QString("$%1").arg(key), [this](const QString &tag,
const QVariant &value) { const QVariant &value) {
QString strValue = aggregator->formatter(value, tag); QString strValue = m_aggregator->formatter(value, tag);
if ((!tag.startsWith(QString("custom"))) if ((!tag.startsWith(QString("custom")))
&& (!tag.startsWith(QString("weather")))) && (!tag.startsWith(QString("weather"))))
strValue.replace(QString(" "), QString("&nbsp;")); strValue.replace(QString(" "), QString("&nbsp;"));
return strValue; return strValue;
}(key, values[key])); }(key, m_values[key]));
// bars // bars
for (auto bar : m_foundBars) { for (auto bar : m_foundBars) {
GraphicalItem *item = keyOperator->giByKey(bar); GraphicalItem *item = m_keyOperator->giByKey(bar);
QString image QString image
= item->isCustom() = item->isCustom()
? item->image(AWPatternFunctions::expandLambdas( ? item->image(AWPatternFunctions::expandLambdas(
item->bar(), aggregator, values, item->usedKeys())) item->bar(), m_aggregator, m_values, item->usedKeys()))
: item->image(values[item->bar()]); : item->image(m_values[item->bar()]);
pattern.replace(QString("$%1").arg(bar), image); pattern.replace(QString("$%1").arg(bar), image);
} }
@ -347,9 +351,9 @@ void AWKeys::setDataBySource(const QString &sourceName, const QVariantMap &data)
qCDebug(LOG_AW) << "Source" << sourceName << "with data" << data; qCDebug(LOG_AW) << "Source" << sourceName << "with data" << data;
// first list init // first list init
QStringList tags = aggregator->keysFromSource(sourceName); QStringList tags = m_aggregator->keysFromSource(sourceName);
if (tags.isEmpty()) if (tags.isEmpty())
tags = aggregator->registerSource( tags = m_aggregator->registerSource(
sourceName, data[QString("units")].toString(), m_requiredKeys); sourceName, data[QString("units")].toString(), m_requiredKeys);
// update data or drop source if there are no matches and exit // update data or drop source if there are no matches and exit
@ -362,7 +366,7 @@ void AWKeys::setDataBySource(const QString &sourceName, const QVariantMap &data)
// HACK workaround for time values which are stored in the different path // HACK workaround for time values which are stored in the different path
std::for_each(tags.cbegin(), tags.cend(), std::for_each(tags.cbegin(), tags.cend(),
[this, &data, &sourceName](const QString &tag) { [this, &data, &sourceName](const QString &tag) {
values[tag] = sourceName == QString("Local") m_values[tag] = sourceName == QString("Local")
? data[QString("DateTime")] ? data[QString("DateTime")]
: data[QString("value")]; : data[QString("value")];
}); });

View File

@ -79,15 +79,15 @@ private:
QString parsePattern(QString pattern) const; QString parsePattern(QString pattern) const;
void setDataBySource(const QString &sourceName, const QVariantMap &data); void setDataBySource(const QString &sourceName, const QVariantMap &data);
// objects // objects
AWDataAggregator *dataAggregator = nullptr; AWDataAggregator *m_dataAggregator = nullptr;
AWDataEngineAggregator *dataEngineAggregator = nullptr; AWDataEngineAggregator *m_dataEngineAggregator = nullptr;
AWKeysAggregator *aggregator = nullptr; AWKeysAggregator *m_aggregator = nullptr;
AWKeyOperations *keyOperator = nullptr; AWKeyOperations *m_keyOperator = nullptr;
QTimer *m_timer = nullptr; QTimer *m_timer = nullptr;
// variables // variables
QVariantMap m_tooltipParams; QVariantMap m_tooltipParams;
QStringList m_foundBars, m_foundKeys, m_foundLambdas, m_requiredKeys; QStringList m_foundBars, m_foundKeys, m_foundLambdas, m_requiredKeys;
QVariantHash values; QVariantHash m_values;
bool m_optimize = false; bool m_optimize = false;
bool m_wrapNewLines = false; bool m_wrapNewLines = false;
// multithread features // multithread features

View File

@ -132,7 +132,7 @@ QString AWKeysAggregator::formatter(const QVariant &data,
case FormatterType::TimeCustom: case FormatterType::TimeCustom:
output = m_customTime; output = m_customTime;
[&output, loc, this](const QDateTime dt) { [&output, loc, this](const QDateTime dt) {
for (auto key : timeKeys) for (auto key : m_timeKeys)
output.replace(QString("$%1").arg(key), loc.toString(dt, key)); output.replace(QString("$%1").arg(key), loc.toString(dt, key));
}(data.toDateTime()); }(data.toDateTime());
break; break;

View File

@ -89,7 +89,7 @@ public slots:
private: private:
float temperature(const float temp) const; float temperature(const float temp) const;
AWFormatterHelper *m_customFormatters = nullptr; AWFormatterHelper *m_customFormatters = nullptr;
QStringList timeKeys = QString(TIME_KEYS).split(QChar(',')); QStringList m_timeKeys = QString(TIME_KEYS).split(QChar(','));
// variables // variables
QString m_acOffline; QString m_acOffline;
QString m_acOnline; QString m_acOnline;

View File

@ -44,15 +44,15 @@ ExtQuotes::ExtQuotes(QWidget *parent, const QString filePath)
ui->setupUi(this); ui->setupUi(this);
translate(); translate();
values[tag(QString("ask"))] = 0.0; m_values[tag(QString("ask"))] = 0.0;
values[tag(QString("askchg"))] = 0.0; m_values[tag(QString("askchg"))] = 0.0;
values[tag(QString("percaskchg"))] = 0.0; m_values[tag(QString("percaskchg"))] = 0.0;
values[tag(QString("bid"))] = 0.0; m_values[tag(QString("bid"))] = 0.0;
values[tag(QString("bidchg"))] = 0.0; m_values[tag(QString("bidchg"))] = 0.0;
values[tag(QString("percbidchg"))] = 0.0; m_values[tag(QString("percbidchg"))] = 0.0;
values[tag(QString("price"))] = 0.0; m_values[tag(QString("price"))] = 0.0;
values[tag(QString("pricechg"))] = 0.0; m_values[tag(QString("pricechg"))] = 0.0;
values[tag(QString("percpricechg"))] = 0.0; m_values[tag(QString("percpricechg"))] = 0.0;
// HACK declare as child of nullptr to avoid crash with plasmawindowed // HACK declare as child of nullptr to avoid crash with plasmawindowed
// in the destructor // in the destructor
@ -133,22 +133,22 @@ void ExtQuotes::readConfiguration()
QVariantHash ExtQuotes::run() QVariantHash ExtQuotes::run()
{ {
if ((!isActive()) || (isRunning)) if ((!isActive()) || (m_isRunning))
return values; return m_values;
if (times == 1) { if (m_times == 1) {
qCInfo(LOG_LIB) << "Send request"; qCInfo(LOG_LIB) << "Send request";
isRunning = true; m_isRunning = true;
QNetworkReply *reply = m_manager->get(QNetworkRequest(m_url)); QNetworkReply *reply = m_manager->get(QNetworkRequest(m_url));
new QReplyTimeout(reply, REQUEST_TIMEOUT); new QReplyTimeout(reply, REQUEST_TIMEOUT);
} }
// update value // update value
if (times >= interval()) if (m_times >= interval())
times = 0; m_times = 0;
times++; m_times++;
return values; return m_values;
} }
@ -199,7 +199,7 @@ void ExtQuotes::quotesReplyReceived(QNetworkReply *reply)
qCDebug(LOG_LIB) << "Return code" << reply->error() << "with message" qCDebug(LOG_LIB) << "Return code" << reply->error() << "with message"
<< reply->errorString(); << reply->errorString();
isRunning = false; m_isRunning = false;
QJsonParseError error; QJsonParseError error;
QJsonDocument jsonDoc = QJsonDocument::fromJson(reply->readAll(), &error); QJsonDocument jsonDoc = QJsonDocument::fromJson(reply->readAll(), &error);
reply->deleteLater(); reply->deleteLater();
@ -216,38 +216,38 @@ void ExtQuotes::quotesReplyReceived(QNetworkReply *reply)
// ask // ask
value = jsonQuotes[QString("Ask")].toString().toDouble(); value = jsonQuotes[QString("Ask")].toString().toDouble();
values[tag(QString("askchg"))] m_values[tag(QString("askchg"))]
= values[tag(QString("ask"))].toDouble() == 0.0 = m_values[tag(QString("ask"))].toDouble() == 0.0
? 0.0 ? 0.0
: value - values[tag(QString("ask"))].toDouble(); : value - m_values[tag(QString("ask"))].toDouble();
values[tag(QString("percaskchg"))] m_values[tag(QString("percaskchg"))]
= 100.0 * values[tag(QString("askchg"))].toDouble() = 100.0 * m_values[tag(QString("askchg"))].toDouble()
/ values[tag(QString("ask"))].toDouble(); / m_values[tag(QString("ask"))].toDouble();
values[tag(QString("ask"))] = value; m_values[tag(QString("ask"))] = value;
// bid // bid
value = jsonQuotes[QString("Bid")].toString().toDouble(); value = jsonQuotes[QString("Bid")].toString().toDouble();
values[tag(QString("bidchg"))] m_values[tag(QString("bidchg"))]
= values[tag(QString("bid"))].toDouble() == 0.0 = m_values[tag(QString("bid"))].toDouble() == 0.0
? 0.0 ? 0.0
: value - values[tag(QString("bid"))].toDouble(); : value - m_values[tag(QString("bid"))].toDouble();
values[tag(QString("percbidchg"))] m_values[tag(QString("percbidchg"))]
= 100.0 * values[tag(QString("bidchg"))].toDouble() = 100.0 * m_values[tag(QString("bidchg"))].toDouble()
/ values[tag(QString("bid"))].toDouble(); / m_values[tag(QString("bid"))].toDouble();
values[tag(QString("bid"))] = value; m_values[tag(QString("bid"))] = value;
// last trade // last trade
value = jsonQuotes[QString("LastTradePriceOnly")].toString().toDouble(); value = jsonQuotes[QString("LastTradePriceOnly")].toString().toDouble();
values[tag(QString("pricechg"))] m_values[tag(QString("pricechg"))]
= values[tag(QString("price"))].toDouble() == 0.0 = m_values[tag(QString("price"))].toDouble() == 0.0
? 0.0 ? 0.0
: value - values[tag(QString("price"))].toDouble(); : value - m_values[tag(QString("price"))].toDouble();
values[tag(QString("percpricechg"))] m_values[tag(QString("percpricechg"))]
= 100.0 * values[tag(QString("pricechg"))].toDouble() = 100.0 * m_values[tag(QString("pricechg"))].toDouble()
/ values[tag(QString("price"))].toDouble(); / m_values[tag(QString("price"))].toDouble();
values[tag(QString("price"))] = value; m_values[tag(QString("price"))] = value;
emit(dataReceived(values)); emit(dataReceived(m_values));
} }

View File

@ -59,15 +59,15 @@ private slots:
private: private:
QNetworkAccessManager *m_manager = nullptr; QNetworkAccessManager *m_manager = nullptr;
QUrl m_url; QUrl m_url;
bool isRunning = false; bool m_isRunning = false;
Ui::ExtQuotes *ui = nullptr; Ui::ExtQuotes *ui = nullptr;
void initUrl(); void initUrl();
void translate(); void translate();
// properties // properties
QString m_ticker = QString("EURUSD=X"); QString m_ticker = QString("EURUSD=X");
// values // values
int times = 0; int m_times = 0;
QVariantHash values; QVariantHash m_values;
}; };

View File

@ -42,12 +42,12 @@ ExtScript::ExtScript(QWidget *parent, const QString filePath)
ui->setupUi(this); ui->setupUi(this);
translate(); translate();
value[tag(QString("custom"))] = QString(""); m_values[tag(QString("custom"))] = QString("");
process = new QProcess(nullptr); m_process = new QProcess(nullptr);
connect(process, SIGNAL(finished(int, QProcess::ExitStatus)), this, connect(m_process, SIGNAL(finished(int, QProcess::ExitStatus)), this,
SLOT(updateValue())); SLOT(updateValue()));
process->waitForFinished(0); m_process->waitForFinished(0);
} }
@ -55,8 +55,8 @@ ExtScript::~ExtScript()
{ {
qCDebug(LOG_LIB) << __PRETTY_FUNCTION__; qCDebug(LOG_LIB) << __PRETTY_FUNCTION__;
process->kill(); m_process->kill();
process->deleteLater(); m_process->deleteLater();
delete ui; delete ui;
} }
@ -184,7 +184,7 @@ QString ExtScript::applyFilters(QString _value) const
for (auto filt : filters()) { for (auto filt : filters()) {
qCInfo(LOG_LIB) << "Found filter" << filt; qCInfo(LOG_LIB) << "Found filter" << filt;
QVariantMap filter = jsonFilters[filt].toMap(); QVariantMap filter = m_jsonFilters[filt].toMap();
if (filter.isEmpty()) { if (filter.isEmpty()) {
qCWarning(LOG_LIB) << "Could not find filter" << _value qCWarning(LOG_LIB) << "Could not find filter" << _value
<< "in the json"; << "in the json";
@ -254,35 +254,35 @@ void ExtScript::readJsonFilters()
qCWarning(LOG_LIB) << "Parse error" << error.errorString(); qCWarning(LOG_LIB) << "Parse error" << error.errorString();
return; return;
} }
jsonFilters = jsonDoc.toVariant().toMap(); m_jsonFilters = jsonDoc.toVariant().toMap();
qCInfo(LOG_LIB) << "Filters" << jsonFilters; qCInfo(LOG_LIB) << "Filters" << m_jsonFilters;
} }
QVariantHash ExtScript::run() QVariantHash ExtScript::run()
{ {
if (!isActive()) if (!isActive())
return value; return m_values;
if (process->state() != QProcess::NotRunning) if (m_process->state() != QProcess::NotRunning)
qCWarning(LOG_LIB) << "Another process is already running" qCWarning(LOG_LIB) << "Another process is already running"
<< process->state(); << m_process->state();
if ((times == 1) && (process->state() == QProcess::NotRunning)) { if ((m_times == 1) && (m_process->state() == QProcess::NotRunning)) {
QStringList cmdList; QStringList cmdList;
if (!prefix().isEmpty()) if (!prefix().isEmpty())
cmdList.append(prefix()); cmdList.append(prefix());
cmdList.append(executable()); cmdList.append(executable());
qCInfo(LOG_LIB) << "Run cmd" << cmdList.join(QChar(' ')); qCInfo(LOG_LIB) << "Run cmd" << cmdList.join(QChar(' '));
process->start(cmdList.join(QChar(' '))); m_process->start(cmdList.join(QChar(' ')));
} }
// update value // update value
if (times >= interval()) if (m_times >= interval())
times = 0; m_times = 0;
times++; m_times++;
return value; return m_values;
} }
@ -352,13 +352,13 @@ void ExtScript::writeConfiguration() const
void ExtScript::updateValue() void ExtScript::updateValue()
{ {
qCInfo(LOG_LIB) << "Cmd returns" << process->exitCode(); qCInfo(LOG_LIB) << "Cmd returns" << m_process->exitCode();
QString qdebug = QTextCodec::codecForMib(106) QString qdebug = QTextCodec::codecForMib(106)
->toUnicode(process->readAllStandardError()) ->toUnicode(m_process->readAllStandardError())
.trimmed(); .trimmed();
qCInfo(LOG_LIB) << "Error" << qdebug; qCInfo(LOG_LIB) << "Error" << qdebug;
QString qoutput = QTextCodec::codecForMib(106) QString qoutput = QTextCodec::codecForMib(106)
->toUnicode(process->readAllStandardOutput()) ->toUnicode(m_process->readAllStandardOutput())
.trimmed(); .trimmed();
qCInfo(LOG_LIB) << "Output" << qoutput; qCInfo(LOG_LIB) << "Output" << qoutput;
QString strValue; QString strValue;
@ -378,8 +378,8 @@ void ExtScript::updateValue()
} }
// filters // filters
value[tag(QString("custom"))] = applyFilters(strValue); m_values[tag(QString("custom"))] = applyFilters(strValue);
emit(dataReceived(value)); emit(dataReceived(m_values));
} }

View File

@ -76,7 +76,7 @@ private slots:
void updateValue(); void updateValue();
private: private:
QProcess *process = nullptr; QProcess *m_process = nullptr;
Ui::ExtScript *ui = nullptr; Ui::ExtScript *ui = nullptr;
void translate(); void translate();
// properties // properties
@ -85,9 +85,9 @@ private:
QString m_prefix = QString(""); QString m_prefix = QString("");
Redirect m_redirect = Redirect::nothing; Redirect m_redirect = Redirect::nothing;
// internal properties // internal properties
QVariantMap jsonFilters = QVariantMap(); QVariantMap m_jsonFilters = QVariantMap();
int times = 0; int m_times = 0;
QVariantHash value; QVariantHash m_values;
}; };

View File

@ -39,11 +39,11 @@ ExtUpgrade::ExtUpgrade(QWidget *parent, const QString filePath)
ui->setupUi(this); ui->setupUi(this);
translate(); translate();
value[tag(QString("pkgcount"))] = 0; m_values[tag(QString("pkgcount"))] = 0;
process = new QProcess(nullptr); m_process = new QProcess(nullptr);
connect(process, SIGNAL(finished(int)), this, SLOT(updateValue())); connect(m_process, SIGNAL(finished(int)), this, SLOT(updateValue()));
process->waitForFinished(0); m_process->waitForFinished(0);
} }
@ -51,8 +51,8 @@ ExtUpgrade::~ExtUpgrade()
{ {
qCDebug(LOG_LIB) << __PRETTY_FUNCTION__; qCDebug(LOG_LIB) << __PRETTY_FUNCTION__;
process->kill(); m_process->kill();
process->deleteLater(); m_process->deleteLater();
delete ui; delete ui;
} }
@ -143,20 +143,20 @@ void ExtUpgrade::readConfiguration()
QVariantHash ExtUpgrade::run() QVariantHash ExtUpgrade::run()
{ {
if (!isActive()) if (!isActive())
return value; return m_values;
if ((times == 1) && (process->state() == QProcess::NotRunning)) { if ((m_times == 1) && (m_process->state() == QProcess::NotRunning)) {
QString cmd = QString("sh -c \"%1\"").arg(executable()); QString cmd = QString("sh -c \"%1\"").arg(executable());
qCInfo(LOG_LIB) << "Run cmd" << cmd; qCInfo(LOG_LIB) << "Run cmd" << cmd;
process->start(cmd); m_process->start(cmd);
} }
// update value // update value
if (times >= interval()) if (m_times >= interval())
times = 0; m_times = 0;
times++; m_times++;
return value; return m_values;
} }
@ -211,13 +211,13 @@ void ExtUpgrade::writeConfiguration() const
void ExtUpgrade::updateValue() void ExtUpgrade::updateValue()
{ {
qCInfo(LOG_LIB) << "Cmd returns" << process->exitCode(); qCInfo(LOG_LIB) << "Cmd returns" << m_process->exitCode();
qCInfo(LOG_LIB) << "Error" << process->readAllStandardError(); qCInfo(LOG_LIB) << "Error" << m_process->readAllStandardError();
QString qoutput = QTextCodec::codecForMib(106) QString qoutput = QTextCodec::codecForMib(106)
->toUnicode(process->readAllStandardOutput()) ->toUnicode(m_process->readAllStandardOutput())
.trimmed(); .trimmed();
value[tag(QString("pkgcount"))] = [this](QString output) { m_values[tag(QString("pkgcount"))] = [this](QString output) {
return filter().isEmpty() return filter().isEmpty()
? output.split(QChar('\n'), QString::SkipEmptyParts).count() ? output.split(QChar('\n'), QString::SkipEmptyParts).count()
- null() - null()
@ -226,7 +226,7 @@ void ExtUpgrade::updateValue()
.count(); .count();
}(qoutput); }(qoutput);
emit(dataReceived(value)); emit(dataReceived(m_values));
} }

View File

@ -59,7 +59,7 @@ private slots:
void updateValue(); void updateValue();
private: private:
QProcess *process = nullptr; QProcess *m_process = nullptr;
Ui::ExtUpgrade *ui = nullptr; Ui::ExtUpgrade *ui = nullptr;
void translate(); void translate();
// properties // properties
@ -67,8 +67,8 @@ private:
QString m_filter = QString(""); QString m_filter = QString("");
int m_null = 0; int m_null = 0;
// internal properties // internal properties
int times = 0; int m_times = 0;
QVariantHash value; QVariantHash m_values;
}; };

View File

@ -47,11 +47,11 @@ ExtWeather::ExtWeather(QWidget *parent, const QString filePath)
ui->setupUi(this); ui->setupUi(this);
translate(); translate();
values[tag(QString("weatherId"))] = 0; m_values[tag(QString("weatherId"))] = 0;
values[tag(QString("weather"))] = QString(""); m_values[tag(QString("weather"))] = QString("");
values[tag(QString("humidity"))] = 0; m_values[tag(QString("humidity"))] = 0;
values[tag(QString("pressure"))] = 0.0; m_values[tag(QString("pressure"))] = 0.0;
values[tag(QString("temperature"))] = 0.0; m_values[tag(QString("temperature"))] = 0.0;
// HACK declare as child of nullptr to avoid crash with plasmawindowed // HACK declare as child of nullptr to avoid crash with plasmawindowed
// in the destructor // in the destructor
@ -259,23 +259,23 @@ void ExtWeather::readJsonMap()
QVariantHash ExtWeather::run() QVariantHash ExtWeather::run()
{ {
if ((!isActive()) || (isRunning)) if ((!isActive()) || (m_isRunning))
return values; return m_values;
if (times == 1) { if (m_times == 1) {
qCInfo(LOG_LIB) << "Send request"; qCInfo(LOG_LIB) << "Send request";
isRunning = true; m_isRunning = true;
QNetworkReply *reply QNetworkReply *reply
= m_manager->get(QNetworkRequest(m_providerObject->url())); = m_manager->get(QNetworkRequest(m_providerObject->url()));
new QReplyTimeout(reply, REQUEST_TIMEOUT); new QReplyTimeout(reply, REQUEST_TIMEOUT);
} }
// update value // update value
if (times >= interval()) if (m_times >= interval())
times = 0; m_times = 0;
times++; m_times++;
return values; return m_values;
} }
@ -339,7 +339,7 @@ void ExtWeather::weatherReplyReceived(QNetworkReply *reply)
qCDebug(LOG_LIB) << "Return code" << reply->error() << "with message" qCDebug(LOG_LIB) << "Return code" << reply->error() << "with message"
<< reply->errorString(); << reply->errorString();
isRunning = false; m_isRunning = false;
QJsonParseError error; QJsonParseError error;
QJsonDocument jsonDoc = QJsonDocument::fromJson(reply->readAll(), &error); QJsonDocument jsonDoc = QJsonDocument::fromJson(reply->readAll(), &error);
reply->deleteLater(); reply->deleteLater();
@ -352,11 +352,11 @@ void ExtWeather::weatherReplyReceived(QNetworkReply *reply)
QVariantHash data = m_providerObject->parse(jsonDoc.toVariant().toMap()); QVariantHash data = m_providerObject->parse(jsonDoc.toVariant().toMap());
if (data.isEmpty()) if (data.isEmpty())
return; return;
values = data; m_values = data;
values[tag(QString("weather"))] m_values[tag(QString("weather"))]
= weatherFromInt(values[tag(QString("weatherId"))].toInt()); = weatherFromInt(m_values[tag(QString("weatherId"))].toInt());
emit(dataReceived(values)); emit(dataReceived(m_values));
} }

View File

@ -75,7 +75,7 @@ private slots:
private: private:
QNetworkAccessManager *m_manager = nullptr; QNetworkAccessManager *m_manager = nullptr;
AbstractWeatherProvider *m_providerObject = nullptr; AbstractWeatherProvider *m_providerObject = nullptr;
bool isRunning = false; bool m_isRunning = false;
Ui::ExtWeather *ui = nullptr; Ui::ExtWeather *ui = nullptr;
void initProvider(); void initProvider();
void translate(); void translate();
@ -87,8 +87,8 @@ private:
int m_ts = 0; int m_ts = 0;
QVariantMap m_jsonMap = QVariantMap(); QVariantMap m_jsonMap = QVariantMap();
// values // values
int times = 0; int m_times = 0;
QVariantHash values; QVariantHash m_values;
}; };

View File

@ -20,6 +20,8 @@
#include "abstractweatherprovider.h" #include "abstractweatherprovider.h"
// we are using own server to pass requests to OpenWeatherMap because it
// requires specific APPID which belongs to developer not user
#define OWM_WEATHER_URL "http://arcanis.me/weather" #define OWM_WEATHER_URL "http://arcanis.me/weather"
#define OWM_FORECAST_URL "http://arcanis.me/forecast" #define OWM_FORECAST_URL "http://arcanis.me/forecast"

View File

@ -41,9 +41,9 @@ ExtendedSysMon::ExtendedSysMon(QObject *parent, const QVariantList &args)
readConfiguration(); readConfiguration();
// init aggregator // init aggregator
aggregator = new ExtSysMonAggregator(this, configuration); m_aggregator = new ExtSysMonAggregator(this, m_configuration);
for (auto source : aggregator->sources()) for (auto source : m_aggregator->sources())
setData(source, aggregator->initialData(source)); setData(source, m_aggregator->initialData(source));
} }
@ -51,13 +51,13 @@ ExtendedSysMon::~ExtendedSysMon()
{ {
qCDebug(LOG_ESM) << __PRETTY_FUNCTION__; qCDebug(LOG_ESM) << __PRETTY_FUNCTION__;
delete aggregator; delete m_aggregator;
} }
QStringList ExtendedSysMon::sources() const QStringList ExtendedSysMon::sources() const
{ {
return aggregator->sources(); return m_aggregator->sources();
} }
@ -73,8 +73,8 @@ bool ExtendedSysMon::updateSourceEvent(const QString &source)
{ {
qCDebug(LOG_ESM) << "Source" << source; qCDebug(LOG_ESM) << "Source" << source;
if (aggregator->hasSource(source)) { if (m_aggregator->hasSource(source)) {
QVariant data = aggregator->data(source); QVariant data = m_aggregator->data(source);
if (data.isNull()) if (data.isNull())
return false; return false;
setData(source, QString("value"), data); setData(source, QString("value"), data);
@ -121,7 +121,7 @@ void ExtendedSysMon::readConfiguration()
= settings.value(QString("PLAYERSYMBOLS"), QString("10")).toString(); = settings.value(QString("PLAYERSYMBOLS"), QString("10")).toString();
settings.endGroup(); settings.endGroup();
configuration = updateConfiguration(rawConfig); m_configuration = updateConfiguration(rawConfig);
} }

View File

@ -38,8 +38,8 @@ protected:
private: private:
// configuration // configuration
ExtSysMonAggregator *aggregator = nullptr; ExtSysMonAggregator *m_aggregator = nullptr;
QHash<QString, QString> configuration; QHash<QString, QString> m_configuration;
// methods // methods
void readConfiguration(); void readConfiguration();
QHash<QString, QString> QHash<QString, QString>

View File

@ -28,7 +28,8 @@ CustomSource::CustomSource(QObject *parent, const QStringList args)
Q_ASSERT(args.count() == 0); Q_ASSERT(args.count() == 0);
qCDebug(LOG_ESS) << __PRETTY_FUNCTION__; qCDebug(LOG_ESS) << __PRETTY_FUNCTION__;
extScripts = new ExtItemAggregator<ExtScript>(nullptr, QString("scripts")); m_extScripts
= new ExtItemAggregator<ExtScript>(nullptr, QString("scripts"));
m_sources = getSources(); m_sources = getSources();
} }
@ -37,7 +38,7 @@ CustomSource::~CustomSource()
{ {
qCDebug(LOG_ESS) << __PRETTY_FUNCTION__; qCDebug(LOG_ESS) << __PRETTY_FUNCTION__;
delete extScripts; delete m_extScripts;
} }
@ -46,7 +47,7 @@ QVariant CustomSource::data(QString source)
qCDebug(LOG_ESS) << "Source" << source; qCDebug(LOG_ESS) << "Source" << source;
// there are only one value // there are only one value
return extScripts->itemByTagNumber(index(source))->run().values().first(); return m_extScripts->itemByTagNumber(index(source))->run().values().first();
} }
@ -59,7 +60,7 @@ QVariantMap CustomSource::initialData(QString source) const
data[QString("max")] = QString(""); data[QString("max")] = QString("");
data[QString("name")] data[QString("name")]
= QString("Custom command '%1' output") = QString("Custom command '%1' output")
.arg(extScripts->itemByTagNumber(index(source))->uniq()); .arg(m_extScripts->itemByTagNumber(index(source))->uniq());
data[QString("type")] = QString("QString"); data[QString("type")] = QString("QString");
data[QString("units")] = QString(""); data[QString("units")] = QString("");
@ -76,7 +77,7 @@ QStringList CustomSource::sources() const
QStringList CustomSource::getSources() QStringList CustomSource::getSources()
{ {
QStringList sources; QStringList sources;
for (auto item : extScripts->activeItems()) for (auto item : m_extScripts->activeItems())
sources.append(QString("custom/%1").arg(item->tag(QString("custom")))); sources.append(QString("custom/%1").arg(item->tag(QString("custom"))));
return sources; return sources;

View File

@ -39,7 +39,7 @@ public:
private: private:
QStringList getSources(); QStringList getSources();
// configuration and values // configuration and values
ExtItemAggregator<ExtScript> *extScripts = nullptr; ExtItemAggregator<ExtScript> *m_extScripts = nullptr;
QStringList m_sources; QStringList m_sources;
}; };

View File

@ -28,7 +28,7 @@ QuotesSource::QuotesSource(QObject *parent, const QStringList args)
Q_ASSERT(args.count() == 0); Q_ASSERT(args.count() == 0);
qCDebug(LOG_ESS) << __PRETTY_FUNCTION__; qCDebug(LOG_ESS) << __PRETTY_FUNCTION__;
extQuotes = new ExtItemAggregator<ExtQuotes>(nullptr, QString("quotes")); m_extQuotes = new ExtItemAggregator<ExtQuotes>(nullptr, QString("quotes"));
m_sources = getSources(); m_sources = getSources();
} }
@ -37,7 +37,7 @@ QuotesSource::~QuotesSource()
{ {
qCDebug(LOG_ESS) << __PRETTY_FUNCTION__; qCDebug(LOG_ESS) << __PRETTY_FUNCTION__;
delete extQuotes; delete m_extQuotes;
} }
@ -48,7 +48,7 @@ QVariant QuotesSource::data(QString source)
int ind = index(source); int ind = index(source);
source.remove(QString("quotes/")); source.remove(QString("quotes/"));
if (!m_values.contains(source)) { if (!m_values.contains(source)) {
QVariantHash data = extQuotes->itemByTagNumber(ind)->run(); QVariantHash data = m_extQuotes->itemByTagNumber(ind)->run();
for (auto key : data.keys()) for (auto key : data.keys())
m_values[key] = data[key]; m_values[key] = data[key];
} }
@ -68,7 +68,7 @@ QVariantMap QuotesSource::initialData(QString source) const
data[QString("max")] = 0.0; data[QString("max")] = 0.0;
data[QString("name")] data[QString("name")]
= QString("Absolute ask changes for '%1'") = QString("Absolute ask changes for '%1'")
.arg(extQuotes->itemByTagNumber(ind)->uniq()); .arg(m_extQuotes->itemByTagNumber(ind)->uniq());
data[QString("type")] = QString("double"); data[QString("type")] = QString("double");
data[QString("units")] = QString(""); data[QString("units")] = QString("");
} else if (source.startsWith(QString("quotes/ask"))) { } else if (source.startsWith(QString("quotes/ask"))) {
@ -76,7 +76,7 @@ QVariantMap QuotesSource::initialData(QString source) const
data[QString("max")] = 0.0; data[QString("max")] = 0.0;
data[QString("name")] data[QString("name")]
= QString("Ask for '%1'") = QString("Ask for '%1'")
.arg(extQuotes->itemByTagNumber(ind)->uniq()); .arg(m_extQuotes->itemByTagNumber(ind)->uniq());
data[QString("type")] = QString("double"); data[QString("type")] = QString("double");
data[QString("units")] = QString(""); data[QString("units")] = QString("");
} else if (source.startsWith(QString("quotes/percaskchg"))) { } else if (source.startsWith(QString("quotes/percaskchg"))) {
@ -84,7 +84,7 @@ QVariantMap QuotesSource::initialData(QString source) const
data[QString("max")] = 100.0; data[QString("max")] = 100.0;
data[QString("name")] data[QString("name")]
= QString("Ask changes for '%1'") = QString("Ask changes for '%1'")
.arg(extQuotes->itemByTagNumber(ind)->uniq()); .arg(m_extQuotes->itemByTagNumber(ind)->uniq());
data[QString("type")] = QString("double"); data[QString("type")] = QString("double");
data[QString("units")] = QString(""); data[QString("units")] = QString("");
} else if (source.startsWith(QString("quotes/bidchg"))) { } else if (source.startsWith(QString("quotes/bidchg"))) {
@ -92,7 +92,7 @@ QVariantMap QuotesSource::initialData(QString source) const
data[QString("max")] = 0.0; data[QString("max")] = 0.0;
data[QString("name")] data[QString("name")]
= QString("Absolute bid changes for '%1'") = QString("Absolute bid changes for '%1'")
.arg(extQuotes->itemByTagNumber(ind)->uniq()); .arg(m_extQuotes->itemByTagNumber(ind)->uniq());
data[QString("type")] = QString("double"); data[QString("type")] = QString("double");
data[QString("units")] = QString(""); data[QString("units")] = QString("");
} else if (source.startsWith(QString("quotes/bid"))) { } else if (source.startsWith(QString("quotes/bid"))) {
@ -100,7 +100,7 @@ QVariantMap QuotesSource::initialData(QString source) const
data[QString("max")] = 0.0; data[QString("max")] = 0.0;
data[QString("name")] data[QString("name")]
= QString("Bid for '%1'") = QString("Bid for '%1'")
.arg(extQuotes->itemByTagNumber(ind)->uniq()); .arg(m_extQuotes->itemByTagNumber(ind)->uniq());
data[QString("type")] = QString("double"); data[QString("type")] = QString("double");
data[QString("units")] = QString(""); data[QString("units")] = QString("");
} else if (source.startsWith(QString("quotes/percbidchg"))) { } else if (source.startsWith(QString("quotes/percbidchg"))) {
@ -108,7 +108,7 @@ QVariantMap QuotesSource::initialData(QString source) const
data[QString("max")] = 100.0; data[QString("max")] = 100.0;
data[QString("name")] data[QString("name")]
= QString("Bid changes for '%1'") = QString("Bid changes for '%1'")
.arg(extQuotes->itemByTagNumber(ind)->uniq()); .arg(m_extQuotes->itemByTagNumber(ind)->uniq());
data[QString("type")] = QString("double"); data[QString("type")] = QString("double");
data[QString("units")] = QString(""); data[QString("units")] = QString("");
} else if (source.startsWith(QString("quotes/pricechg"))) { } else if (source.startsWith(QString("quotes/pricechg"))) {
@ -116,7 +116,7 @@ QVariantMap QuotesSource::initialData(QString source) const
data[QString("max")] = 0.0; data[QString("max")] = 0.0;
data[QString("name")] data[QString("name")]
= QString("Absolute prie changes for '%1'") = QString("Absolute prie changes for '%1'")
.arg(extQuotes->itemByTagNumber(ind)->uniq()); .arg(m_extQuotes->itemByTagNumber(ind)->uniq());
data[QString("type")] = QString("double"); data[QString("type")] = QString("double");
data[QString("units")] = QString(""); data[QString("units")] = QString("");
} else if (source.startsWith(QString("quotes/price"))) { } else if (source.startsWith(QString("quotes/price"))) {
@ -124,7 +124,7 @@ QVariantMap QuotesSource::initialData(QString source) const
data[QString("max")] = 0.0; data[QString("max")] = 0.0;
data[QString("name")] data[QString("name")]
= QString("Price for '%1'") = QString("Price for '%1'")
.arg(extQuotes->itemByTagNumber(ind)->uniq()); .arg(m_extQuotes->itemByTagNumber(ind)->uniq());
data[QString("type")] = QString("double"); data[QString("type")] = QString("double");
data[QString("units")] = QString(""); data[QString("units")] = QString("");
} else if (source.startsWith(QString("quotes/percpricechg"))) { } else if (source.startsWith(QString("quotes/percpricechg"))) {
@ -132,7 +132,7 @@ QVariantMap QuotesSource::initialData(QString source) const
data[QString("max")] = 100.0; data[QString("max")] = 100.0;
data[QString("name")] data[QString("name")]
= QString("Price changes for '%1'") = QString("Price changes for '%1'")
.arg(extQuotes->itemByTagNumber(ind)->uniq()); .arg(m_extQuotes->itemByTagNumber(ind)->uniq());
data[QString("type")] = QString("double"); data[QString("type")] = QString("double");
data[QString("units")] = QString(""); data[QString("units")] = QString("");
} }
@ -150,7 +150,7 @@ QStringList QuotesSource::sources() const
QStringList QuotesSource::getSources() QStringList QuotesSource::getSources()
{ {
QStringList sources; QStringList sources;
for (auto item : extQuotes->activeItems()) { for (auto item : m_extQuotes->activeItems()) {
sources.append(QString("quotes/%1").arg(item->tag(QString("ask")))); sources.append(QString("quotes/%1").arg(item->tag(QString("ask"))));
sources.append(QString("quotes/%1").arg(item->tag(QString("askchg")))); sources.append(QString("quotes/%1").arg(item->tag(QString("askchg"))));
sources.append( sources.append(

View File

@ -39,7 +39,7 @@ public:
private: private:
QStringList getSources(); QStringList getSources();
// configuration and values // configuration and values
ExtItemAggregator<ExtQuotes> *extQuotes = nullptr; ExtItemAggregator<ExtQuotes> *m_extQuotes = nullptr;
QStringList m_sources; QStringList m_sources;
QVariantHash m_values; QVariantHash m_values;
}; };

View File

@ -28,7 +28,8 @@ UpgradeSource::UpgradeSource(QObject *parent, const QStringList args)
Q_ASSERT(args.count() == 0); Q_ASSERT(args.count() == 0);
qCDebug(LOG_ESS) << __PRETTY_FUNCTION__; qCDebug(LOG_ESS) << __PRETTY_FUNCTION__;
extUpgrade = new ExtItemAggregator<ExtUpgrade>(nullptr, QString("upgrade")); m_extUpgrade
= new ExtItemAggregator<ExtUpgrade>(nullptr, QString("upgrade"));
m_sources = getSources(); m_sources = getSources();
} }
@ -37,7 +38,7 @@ UpgradeSource::~UpgradeSource()
{ {
qCDebug(LOG_ESS) << __PRETTY_FUNCTION__; qCDebug(LOG_ESS) << __PRETTY_FUNCTION__;
delete extUpgrade; delete m_extUpgrade;
} }
@ -46,7 +47,7 @@ QVariant UpgradeSource::data(QString source)
qCDebug(LOG_ESS) << "Source" << source; qCDebug(LOG_ESS) << "Source" << source;
// there are only one value // there are only one value
return extUpgrade->itemByTagNumber(index(source))->run().values().first(); return m_extUpgrade->itemByTagNumber(index(source))->run().values().first();
} }
@ -59,7 +60,7 @@ QVariantMap UpgradeSource::initialData(QString source) const
data[QString("max")] = QString(""); data[QString("max")] = QString("");
data[QString("name")] data[QString("name")]
= QString("Package manager '%1' metadata") = QString("Package manager '%1' metadata")
.arg(extUpgrade->itemByTagNumber(index(source))->uniq()); .arg(m_extUpgrade->itemByTagNumber(index(source))->uniq());
data[QString("type")] = QString("QString"); data[QString("type")] = QString("QString");
data[QString("units")] = QString(""); data[QString("units")] = QString("");
@ -76,7 +77,7 @@ QStringList UpgradeSource::sources() const
QStringList UpgradeSource::getSources() QStringList UpgradeSource::getSources()
{ {
QStringList sources; QStringList sources;
for (auto item : extUpgrade->activeItems()) for (auto item : m_extUpgrade->activeItems())
sources.append( sources.append(
QString("upgrade/%1").arg(item->tag(QString("pkgcount")))); QString("upgrade/%1").arg(item->tag(QString("pkgcount"))));

View File

@ -39,7 +39,7 @@ public:
private: private:
QStringList getSources(); QStringList getSources();
// configuration and values // configuration and values
ExtItemAggregator<ExtUpgrade> *extUpgrade = nullptr; ExtItemAggregator<ExtUpgrade> *m_extUpgrade = nullptr;
QStringList m_sources; QStringList m_sources;
}; };

View File

@ -28,7 +28,8 @@ WeatherSource::WeatherSource(QObject *parent, const QStringList args)
Q_ASSERT(args.count() == 0); Q_ASSERT(args.count() == 0);
qCDebug(LOG_ESS) << __PRETTY_FUNCTION__; qCDebug(LOG_ESS) << __PRETTY_FUNCTION__;
extWeather = new ExtItemAggregator<ExtWeather>(nullptr, QString("weather")); m_extWeather
= new ExtItemAggregator<ExtWeather>(nullptr, QString("weather"));
m_sources = getSources(); m_sources = getSources();
} }
@ -37,7 +38,7 @@ WeatherSource::~WeatherSource()
{ {
qCDebug(LOG_ESS) << __PRETTY_FUNCTION__; qCDebug(LOG_ESS) << __PRETTY_FUNCTION__;
delete extWeather; delete m_extWeather;
} }
@ -48,7 +49,7 @@ QVariant WeatherSource::data(QString source)
int ind = index(source); int ind = index(source);
source.remove(QString("weather/")); source.remove(QString("weather/"));
if (!m_values.contains(source)) { if (!m_values.contains(source)) {
QVariantHash data = extWeather->itemByTagNumber(ind)->run(); QVariantHash data = m_extWeather->itemByTagNumber(ind)->run();
for (auto key : data.keys()) for (auto key : data.keys())
m_values[key] = data[key]; m_values[key] = data[key];
} }
@ -68,7 +69,7 @@ QVariantMap WeatherSource::initialData(QString source) const
data[QString("max")] = 1000; data[QString("max")] = 1000;
data[QString("name")] data[QString("name")]
= QString("Numeric weather ID for '%1'") = QString("Numeric weather ID for '%1'")
.arg(extWeather->itemByTagNumber(ind)->uniq()); .arg(m_extWeather->itemByTagNumber(ind)->uniq());
data[QString("type")] = QString("integer"); data[QString("type")] = QString("integer");
data[QString("units")] = QString(""); data[QString("units")] = QString("");
} else if (source.startsWith(QString("weather/weather"))) { } else if (source.startsWith(QString("weather/weather"))) {
@ -76,7 +77,7 @@ QVariantMap WeatherSource::initialData(QString source) const
data[QString("max")] = QString(""); data[QString("max")] = QString("");
data[QString("name")] data[QString("name")]
= QString("ID string map for '%1'") = QString("ID string map for '%1'")
.arg(extWeather->itemByTagNumber(ind)->uniq()); .arg(m_extWeather->itemByTagNumber(ind)->uniq());
data[QString("type")] = QString("QString"); data[QString("type")] = QString("QString");
data[QString("units")] = QString(""); data[QString("units")] = QString("");
} else if (source.startsWith(QString("weather/humidity"))) { } else if (source.startsWith(QString("weather/humidity"))) {
@ -84,7 +85,7 @@ QVariantMap WeatherSource::initialData(QString source) const
data[QString("max")] = 100; data[QString("max")] = 100;
data[QString("name")] data[QString("name")]
= QString("Humidity for '%1'") = QString("Humidity for '%1'")
.arg(extWeather->itemByTagNumber(ind)->uniq()); .arg(m_extWeather->itemByTagNumber(ind)->uniq());
data[QString("type")] = QString("integer"); data[QString("type")] = QString("integer");
data[QString("units")] = QString("%"); data[QString("units")] = QString("%");
} else if (source.startsWith(QString("weather/pressure"))) { } else if (source.startsWith(QString("weather/pressure"))) {
@ -92,7 +93,7 @@ QVariantMap WeatherSource::initialData(QString source) const
data[QString("max")] = 0; data[QString("max")] = 0;
data[QString("name")] data[QString("name")]
= QString("Atmospheric pressure for '%1'") = QString("Atmospheric pressure for '%1'")
.arg(extWeather->itemByTagNumber(ind)->uniq()); .arg(m_extWeather->itemByTagNumber(ind)->uniq());
data[QString("type")] = QString("integer"); data[QString("type")] = QString("integer");
data[QString("units")] = QString("mb"); data[QString("units")] = QString("mb");
} else if (source.startsWith(QString("weather/temperature"))) { } else if (source.startsWith(QString("weather/temperature"))) {
@ -100,7 +101,7 @@ QVariantMap WeatherSource::initialData(QString source) const
data[QString("max")] = 0.0; data[QString("max")] = 0.0;
data[QString("name")] data[QString("name")]
= QString("Temperature for '%1'") = QString("Temperature for '%1'")
.arg(extWeather->itemByTagNumber(ind)->uniq()); .arg(m_extWeather->itemByTagNumber(ind)->uniq());
data[QString("type")] = QString("float"); data[QString("type")] = QString("float");
data[QString("units")] = QString("°C"); data[QString("units")] = QString("°C");
} else if (source.startsWith(QString("weather/timestamp"))) { } else if (source.startsWith(QString("weather/timestamp"))) {
@ -108,7 +109,7 @@ QVariantMap WeatherSource::initialData(QString source) const
data[QString("max")] = QString(""); data[QString("max")] = QString("");
data[QString("name")] data[QString("name")]
= QString("Timestamp for '%1'") = QString("Timestamp for '%1'")
.arg(extWeather->itemByTagNumber(ind)->uniq()); .arg(m_extWeather->itemByTagNumber(ind)->uniq());
data[QString("type")] = QString("QString"); data[QString("type")] = QString("QString");
data[QString("units")] = QString(""); data[QString("units")] = QString("");
} }
@ -126,7 +127,7 @@ QStringList WeatherSource::sources() const
QStringList WeatherSource::getSources() QStringList WeatherSource::getSources()
{ {
QStringList sources; QStringList sources;
for (auto item : extWeather->activeItems()) { for (auto item : m_extWeather->activeItems()) {
sources.append( sources.append(
QString("weather/%1").arg(item->tag(QString("weatherId")))); QString("weather/%1").arg(item->tag(QString("weatherId"))));
sources.append( sources.append(

View File

@ -39,7 +39,7 @@ public:
private: private:
QStringList getSources(); QStringList getSources();
// configuration and values // configuration and values
ExtItemAggregator<ExtWeather> *extWeather = nullptr; ExtItemAggregator<ExtWeather> *m_extWeather = nullptr;
QStringList m_sources; QStringList m_sources;
QVariantHash m_values; QVariantHash m_values;
}; };