mirror of
https://github.com/arcan1s/awesome-widgets.git
synced 2025-07-14 06:15:49 +00:00
Return to owm weather provider
Since yahoo support already exists, so I've added new option X-AW-Provider (apiver 3). Added tests for these cases
This commit is contained in:
@ -22,12 +22,8 @@
|
||||
|
||||
#include "abstractextitem.h"
|
||||
|
||||
#define YAHOO_WEATHER_URL "https://query.yahooapis.com/v1/public/yql"
|
||||
#define YAHOO_WEATHER_QUERY \
|
||||
"select * from weather.forecast where u='c' and woeid in (select woeid " \
|
||||
"from geo.places(1) where text='%1, %2')"
|
||||
|
||||
|
||||
class AbstractWeatherProvider;
|
||||
namespace Ui
|
||||
{
|
||||
class ExtWeather;
|
||||
@ -39,9 +35,13 @@ class ExtWeather : public AbstractExtItem
|
||||
Q_PROPERTY(QString city READ city WRITE setCity)
|
||||
Q_PROPERTY(QString country READ country WRITE setCountry)
|
||||
Q_PROPERTY(bool image READ image WRITE setImage)
|
||||
Q_PROPERTY(Provider povider READ provider WRITE setProvider)
|
||||
Q_PROPERTY(QString strPovider READ strProvider WRITE setStrProvider)
|
||||
Q_PROPERTY(int ts READ ts WRITE setTs)
|
||||
|
||||
public:
|
||||
enum class Provider { OWM = 0, Yahoo = 1 };
|
||||
|
||||
explicit ExtWeather(QWidget *parent, const QString filePath = QString());
|
||||
virtual ~ExtWeather();
|
||||
ExtWeather *copy(const QString _fileName, const int _number);
|
||||
@ -50,12 +50,16 @@ public:
|
||||
QString city() const;
|
||||
QString country() const;
|
||||
bool image() const;
|
||||
Provider provider() const;
|
||||
QString strProvider() const;
|
||||
int ts() const;
|
||||
QString uniq() const;
|
||||
// set methods
|
||||
void setCity(const QString _city = QString("London"));
|
||||
void setCountry(const QString _country = QString("uk"));
|
||||
void setImage(const bool _image = false);
|
||||
void setProvider(const Provider _provider = Provider::OWM);
|
||||
void setStrProvider(const QString _provider = QString("OWM"));
|
||||
void setTs(const int _ts = 0);
|
||||
|
||||
public slots:
|
||||
@ -70,15 +74,16 @@ private slots:
|
||||
|
||||
private:
|
||||
QNetworkAccessManager *m_manager = nullptr;
|
||||
QUrl m_url;
|
||||
AbstractWeatherProvider *m_providerObject = nullptr;
|
||||
bool isRunning = false;
|
||||
Ui::ExtWeather *ui = nullptr;
|
||||
void initUrl();
|
||||
void initProvider();
|
||||
void translate();
|
||||
// properties
|
||||
QString m_city = QString("London");
|
||||
QString m_country = QString("uk");
|
||||
bool m_image = false;
|
||||
Provider m_provider = Provider::OWM;
|
||||
int m_ts = 0;
|
||||
QVariantMap m_jsonMap = QVariantMap();
|
||||
// values
|
||||
|
Reference in New Issue
Block a user