one more optimization

The previous versions stored values as string, so any (even if they are
not used) values being converted into string, and then (if required)
being converted back to float/int/etc. I've changed the mechanism, so
they are stored as QVariant (native value).

Please note that it is possible that this rewrite may cause crash in
some cases (if I've missed smth).
This commit is contained in:
2016-02-10 10:51:01 +03:00
parent d856fa8e97
commit 5c474e822b
6 changed files with 83 additions and 66 deletions

View File

@ -41,11 +41,11 @@ public:
QPixmap tooltipImage();
signals:
void updateData(const QHash<QString, QString> &values);
void updateData(const QVariantHash &values);
void toolTipPainted(const QString image) const;
public slots:
void dataUpdate(const QHash<QString, QString> &values);
void dataUpdate(const QVariantHash &values);
private:
// ui
@ -59,9 +59,9 @@ private:
QString notificationText(const QString source, const float value) const;
QString notificationText(const QString source, const QString value) const;
// main method
void setData(const QHash<QString, QString> &values);
void setData(const QVariantHash &values);
void setData(const QString &source, float value,
const float extremum = -1.0);
const float extremum = -1.0f);
// different signature for battery device
void setData(const bool dontInvert, const QString &source, float value);
// variables