From 4cc44c1d599c4f05e4d66035eda9611a6f144857 Mon Sep 17 00:00:00 2001 From: arcan1s Date: Mon, 21 Sep 2015 06:17:43 +0300 Subject: [PATCH] bump quotes api version to 3. Change data type from float to double to avoid rounding problems --- sources/awesomewidgets/extquotes.cpp | 26 ++++++++++---------- sources/awesomewidgets/extquotes.h | 1 - sources/awesomewidgets/quotes/aapl.desktop | 2 +- sources/awesomewidgets/quotes/eurrub.desktop | 2 +- sources/awesomewidgets/quotes/eurusd.desktop | 2 +- sources/awesomewidgets/quotes/goog.desktop | 2 +- sources/awesomewidgets/quotes/msft.desktop | 2 +- sources/awesomewidgets/quotes/rts.desktop | 2 +- sources/awesomewidgets/quotes/snp.desktop | 2 +- sources/awesomewidgets/quotes/usdrub.desktop | 2 +- sources/awesomewidgets/quotes/vix.desktop | 2 +- 11 files changed, 22 insertions(+), 23 deletions(-) diff --git a/sources/awesomewidgets/extquotes.cpp b/sources/awesomewidgets/extquotes.cpp index bef0fd9..d0735b4 100644 --- a/sources/awesomewidgets/extquotes.cpp +++ b/sources/awesomewidgets/extquotes.cpp @@ -217,27 +217,27 @@ void ExtQuotes::quotesReplyReceived(QNetworkReply *reply) } QVariantMap jsonQuotes = jsonDoc.toVariant().toMap()[QString("query")].toMap(); jsonQuotes = jsonQuotes[QString("results")].toMap()[QString("quote")].toMap(); - float value; + double value; // ask - value = jsonQuotes[QString("Ask")].toString().toFloat(); - values[tag(QString("askchg"))] = values[QString("ask")].toFloat() == 0.0 ? 0.0 : - value - values[QString("ask")].toFloat(); - values[tag(QString("percaskchg"))] = 100.0 * values[QString("askchg")].toFloat() / values[QString("ask")].toFloat(); + value = jsonQuotes[QString("Ask")].toString().toDouble(); + values[tag(QString("askchg"))] = values[QString("ask")].toDouble() == 0.0 ? 0.0 : + value - values[QString("ask")].toDouble(); + values[tag(QString("percaskchg"))] = 100.0 * values[QString("askchg")].toDouble() / values[QString("ask")].toDouble(); values[tag(QString("ask"))] = value; // bid - value = jsonQuotes[QString("Bid")].toString().toFloat(); - values[tag(QString("bidchg"))] = values[QString("bid")].toFloat() == 0.0 ? 0.0 : - value - values[QString("bid")].toFloat(); - values[tag(QString("percbidchg"))] = 100.0 * values[QString("bidchg")].toFloat() / values[QString("bid")].toFloat(); + value = jsonQuotes[QString("Bid")].toString().toDouble(); + values[tag(QString("bidchg"))] = values[QString("bid")].toDouble() == 0.0 ? 0.0 : + value - values[QString("bid")].toDouble(); + values[tag(QString("percbidchg"))] = 100.0 * values[QString("bidchg")].toDouble() / values[QString("bid")].toDouble(); values[tag(QString("bid"))] = value; // last trade - value = jsonQuotes[QString("LastTradePriceOnly")].toString().toFloat(); - values[tag(QString("pricechg"))] = values[QString("price")].toFloat() == 0.0 ? 0.0 : - value - values[QString("price")].toFloat(); - values[tag(QString("percpricechg"))] = 100.0 * values[QString("pricechg")].toFloat() / values[QString("price")].toFloat(); + value = jsonQuotes[QString("LastTradePriceOnly")].toString().toDouble(); + values[tag(QString("pricechg"))] = values[QString("price")].toDouble() == 0.0 ? 0.0 : + value - values[QString("price")].toDouble(); + values[tag(QString("percpricechg"))] = 100.0 * values[QString("pricechg")].toDouble() / values[QString("price")].toDouble(); values[tag(QString("price"))] = value; } diff --git a/sources/awesomewidgets/extquotes.h b/sources/awesomewidgets/extquotes.h index 1e74b54..c010973 100644 --- a/sources/awesomewidgets/extquotes.h +++ b/sources/awesomewidgets/extquotes.h @@ -18,7 +18,6 @@ #ifndef EXTQUOTES_H #define EXTQUOTES_H -#include #include #include "abstractextitem.h" diff --git a/sources/awesomewidgets/quotes/aapl.desktop b/sources/awesomewidgets/quotes/aapl.desktop index 42b7c5f..a791e9a 100644 --- a/sources/awesomewidgets/quotes/aapl.desktop +++ b/sources/awesomewidgets/quotes/aapl.desktop @@ -4,6 +4,6 @@ Name=AAPL.NASDAQ Comment=Apple Inc X-AW-Ticker="AAPL" X-AW-Active=false -X-AW-ApiVersion=2 +X-AW-ApiVersion=3 X-AW-Interval=60 X-AW-Number=0 diff --git a/sources/awesomewidgets/quotes/eurrub.desktop b/sources/awesomewidgets/quotes/eurrub.desktop index e766ec7..05dc389 100644 --- a/sources/awesomewidgets/quotes/eurrub.desktop +++ b/sources/awesomewidgets/quotes/eurrub.desktop @@ -4,6 +4,6 @@ Name=EUR/RUB Comment=EUR/RUB X-AW-Ticker="EURRUB=X" X-AW-Active=false -X-AW-ApiVersion=2 +X-AW-ApiVersion=3 X-AW-Interval=60 X-AW-Number=1 diff --git a/sources/awesomewidgets/quotes/eurusd.desktop b/sources/awesomewidgets/quotes/eurusd.desktop index 1d4c51f..d6ac772 100644 --- a/sources/awesomewidgets/quotes/eurusd.desktop +++ b/sources/awesomewidgets/quotes/eurusd.desktop @@ -4,6 +4,6 @@ Name=EUR/USD Comment=EUR/USD X-AW-Ticker="EURUSD=X" X-AW-Active=false -X-AW-ApiVersion=2 +X-AW-ApiVersion=3 X-AW-Interval=60 X-AW-Number=2 diff --git a/sources/awesomewidgets/quotes/goog.desktop b/sources/awesomewidgets/quotes/goog.desktop index d7c92c2..1afc9b8 100644 --- a/sources/awesomewidgets/quotes/goog.desktop +++ b/sources/awesomewidgets/quotes/goog.desktop @@ -4,6 +4,6 @@ Name=GOOG.NASDAQ Comment=Google Inc X-AW-Ticker="GOOG" X-AW-Active=false -X-AW-ApiVersion=2 +X-AW-ApiVersion=3 X-AW-Interval=60 X-AW-Number=3 diff --git a/sources/awesomewidgets/quotes/msft.desktop b/sources/awesomewidgets/quotes/msft.desktop index 7ed5a5f..3e88e97 100644 --- a/sources/awesomewidgets/quotes/msft.desktop +++ b/sources/awesomewidgets/quotes/msft.desktop @@ -4,6 +4,6 @@ Name=MSFT.NASDAQ Comment=Microsoft Corp X-AW-Ticker="MSFT" X-AW-Active=false -X-AW-ApiVersion=2 +X-AW-ApiVersion=3 X-AW-Interval=60 X-AW-Number=4 diff --git a/sources/awesomewidgets/quotes/rts.desktop b/sources/awesomewidgets/quotes/rts.desktop index 6db5197..f91c9e5 100644 --- a/sources/awesomewidgets/quotes/rts.desktop +++ b/sources/awesomewidgets/quotes/rts.desktop @@ -4,6 +4,6 @@ Name=RTS Comment=RTS Index X-AW-Ticker="RTS.RS" X-AW-Active=false -X-AW-ApiVersion=2 +X-AW-ApiVersion=3 X-AW-Interval=60 X-AW-Number=5 diff --git a/sources/awesomewidgets/quotes/snp.desktop b/sources/awesomewidgets/quotes/snp.desktop index fe41d43..3b11019 100644 --- a/sources/awesomewidgets/quotes/snp.desktop +++ b/sources/awesomewidgets/quotes/snp.desktop @@ -4,6 +4,6 @@ Name=S&P Comment=S&P 500 Index X-AW-Ticker="^GSPC" X-AW-Active=false -X-AW-ApiVersion=2 +X-AW-ApiVersion=3 X-AW-Interval=60 X-AW-Number=6 diff --git a/sources/awesomewidgets/quotes/usdrub.desktop b/sources/awesomewidgets/quotes/usdrub.desktop index 673fade..52bff1a 100644 --- a/sources/awesomewidgets/quotes/usdrub.desktop +++ b/sources/awesomewidgets/quotes/usdrub.desktop @@ -4,6 +4,6 @@ Name=USD/RUB Comment=USD/RUB X-AW-Ticker="USDRUB=X" X-AW-Active=false -X-AW-ApiVersion=2 +X-AW-ApiVersion=3 X-AW-Interval=60 X-AW-Number=8 diff --git a/sources/awesomewidgets/quotes/vix.desktop b/sources/awesomewidgets/quotes/vix.desktop index 76e9d58..152afa9 100644 --- a/sources/awesomewidgets/quotes/vix.desktop +++ b/sources/awesomewidgets/quotes/vix.desktop @@ -4,6 +4,6 @@ Name=VIX Comment=Volatility S&P 500 X-AW-Ticker="^VIX" X-AW-Active=false -X-AW-ApiVersion=2 +X-AW-ApiVersion=3 X-AW-Interval=60 X-AW-Number=7