diff options
author | Javier S. Pedro <maemo@javispedro.com> | 2012-08-15 16:24:46 +0200 |
---|---|---|
committer | Javier S. Pedro <maemo@javispedro.com> | 2012-08-15 16:24:46 +0200 |
commit | cf54773b561c324596b25739888b8ab5b4b45bd1 (patch) | |
tree | 40f210f39cbb296a51473fcaa6e5b1f61f3ab998 /meecastweather | |
parent | 2ecf718cc9d460ad192de196aac8d13e30a7ab4c (diff) | |
download | sowatch-cf54773b561c324596b25739888b8ab5b4b45bd1.tar.gz sowatch-cf54773b561c324596b25739888b8ab5b4b45bd1.zip |
preparing meecastplugin
Diffstat (limited to 'meecastweather')
-rw-r--r-- | meecastweather/meecastplugin.cpp | 26 | ||||
-rw-r--r-- | meecastweather/meecastplugin.h | 12 | ||||
-rw-r--r-- | meecastweather/meecastprovider.cpp | 21 | ||||
-rw-r--r-- | meecastweather/meecastprovider.h | 14 | ||||
-rw-r--r-- | meecastweather/meecastweather.cpp | 47 | ||||
-rw-r--r-- | meecastweather/meecastweather.h | 12 | ||||
-rw-r--r-- | meecastweather/meecastweather.pro | 5 |
7 files changed, 67 insertions, 70 deletions
diff --git a/meecastweather/meecastplugin.cpp b/meecastweather/meecastplugin.cpp index ff7b6cf..4530db7 100644 --- a/meecastweather/meecastplugin.cpp +++ b/meecastweather/meecastplugin.cpp @@ -1,37 +1,37 @@ -#include "harmaccuprovider.h" -#include "harmaccuplugin.h" +#include "meecastprovider.h" +#include "meecastplugin.h" using namespace sowatch; -HarmAccuPlugin::HarmAccuPlugin(QObject *parent) : +MeeCastPlugin::MeeCastPlugin(QObject *parent) : QObject(parent) { } -HarmAccuPlugin::~HarmAccuPlugin() +MeeCastPlugin::~MeeCastPlugin() { } -QStringList HarmAccuPlugin::providers() +QStringList MeeCastPlugin::providers() { QStringList providers; - providers << "harmaccu"; + providers << MeeCastProvider::myId; return providers; } -NotificationPluginInterface::NotificationProviderInfo HarmAccuPlugin::describeProvider(const QString &driver) +NotificationPluginInterface::NotificationProviderInfo MeeCastPlugin::describeProvider(const QString &driver) { NotificationProviderInfo info; - if (driver != "harmaccu") return info; - info.name = "Accuweather"; + if (driver != MeeCastProvider::myId) return info; + info.name = "MeeCast"; return info; } -NotificationProvider* HarmAccuPlugin::getProvider(const QString& id, ConfigKey *settings, QObject *parent) +NotificationProvider* MeeCastPlugin::getProvider(const QString& id, ConfigKey *settings, QObject *parent) { Q_UNUSED(settings); - if (id != "harmaccu") return 0; - return new HarmAccuProvider(parent); + if (id != MeeCastProvider::myId) return 0; + return new MeeCastProvider(parent); } -Q_EXPORT_PLUGIN2(harmaccuweather, HarmAccuPlugin) +Q_EXPORT_PLUGIN2(meecastweather, MeeCastPlugin) diff --git a/meecastweather/meecastplugin.h b/meecastweather/meecastplugin.h index 535b4a2..82d8684 100644 --- a/meecastweather/meecastplugin.h +++ b/meecastweather/meecastplugin.h @@ -1,19 +1,19 @@ -#ifndef CKITCALLPLUGIN_H -#define CKITCALLPLUGIN_H +#ifndef MEECASTPLUGIN_H +#define MEECASTPLUGIN_H #include <sowatch.h> namespace sowatch { -class HarmAccuPlugin : public QObject, public NotificationPluginInterface +class MeeCastPlugin : public QObject, public NotificationPluginInterface { Q_OBJECT Q_INTERFACES(sowatch::NotificationPluginInterface) public: - HarmAccuPlugin(QObject *parent = 0); - ~HarmAccuPlugin(); + MeeCastPlugin(QObject *parent = 0); + ~MeeCastPlugin(); QStringList providers(); NotificationProviderInfo describeProvider(const QString &driver); @@ -22,4 +22,4 @@ public: } -#endif // CKITCALLPLUGIN_H +#endif // MEECASTPLUGIN_H diff --git a/meecastweather/meecastprovider.cpp b/meecastweather/meecastprovider.cpp index 2c26b67..0da042a 100644 --- a/meecastweather/meecastprovider.cpp +++ b/meecastweather/meecastprovider.cpp @@ -1,29 +1,26 @@ #include <QtCore/QtDebug> #include <QtCore/QTimer> -#include "harmaccuweather.h" -#include "harmaccuprovider.h" +#include "meecastweather.h" +#include "meecastprovider.h" using namespace sowatch; -HarmAccuProvider::HarmAccuProvider(QObject *parent) : +const QLatin1String MeeCastProvider::myId("meecast"); + +MeeCastProvider::MeeCastProvider(QObject *parent) : NotificationProvider(parent) { // Give some time to send the first notification QTimer::singleShot(2000, this, SLOT(generateNotification())); } -HarmAccuProvider::~HarmAccuProvider() +MeeCastProvider::~MeeCastProvider() { } -void HarmAccuProvider::generateNotification() +void MeeCastProvider::generateNotification() { - QSettings* s = HarmAccuWeather::getAccuweatherData(); - if (s->contains("LastUpdate")) { - qDebug() << "generating harmaccuweather notification"; - emit incomingNotification(new HarmAccuWeather(this)); - } else { - qWarning() << "Accuweather config file does not seem to exist"; + if (QFile::exists(MeeCastWeather::configFilePath())) { + emit incomingNotification(new MeeCastWeather(this)); } - delete s; } diff --git a/meecastweather/meecastprovider.h b/meecastweather/meecastprovider.h index 4524e12..ae2589a 100644 --- a/meecastweather/meecastprovider.h +++ b/meecastweather/meecastprovider.h @@ -1,20 +1,22 @@ -#ifndef HARMACCUPROVIDER_H -#define HARMACCUPROVIDER_H +#ifndef MEECASTPROVIDER_H +#define MEECASTPROVIDER_H #include <sowatch.h> namespace sowatch { -class HarmAccuWeather; +class MeeCastWeather; -class HarmAccuProvider : public NotificationProvider +class MeeCastProvider : public NotificationProvider { Q_OBJECT public: - explicit HarmAccuProvider(QObject *parent = 0); - ~HarmAccuProvider(); + explicit MeeCastProvider(QObject *parent = 0); + ~MeeCastProvider(); + + static const QLatin1String myId; public slots: void generateNotification(); diff --git a/meecastweather/meecastweather.cpp b/meecastweather/meecastweather.cpp index c4daeb9..407e359 100644 --- a/meecastweather/meecastweather.cpp +++ b/meecastweather/meecastweather.cpp @@ -1,18 +1,17 @@ -#include "harmaccuweather.h" +#include <QtCore/QDir> +#include <QtCore/QDebug> -using namespace sowatch; +#include "meecastweather.h" -#define ACCUWEATHER_FILE_PATH "/home/user/.config/AccuWeather, Inc./awxapp.conf" +using namespace sowatch; -HarmAccuWeather::HarmAccuWeather(QObject *parent) : +MeeCastWeather::MeeCastWeather(QObject *parent) : WeatherNotification(parent), _watcher(new QFileSystemWatcher(this)), _timer(new QTimer(this)), _lastUpdate(QDateTime::fromTime_t(0)) { - // This only works on Harmattan either way, so I guess - // hardcoding the path is OK. - _watcher->addPath(ACCUWEATHER_FILE_PATH); + _watcher->addPath(configFilePath()); connect(_watcher, SIGNAL(fileChanged(QString)), SLOT(fileChanged(QString))); _timer->setInterval(5000); @@ -23,32 +22,32 @@ HarmAccuWeather::HarmAccuWeather(QObject *parent) : update(); } -QSettings* HarmAccuWeather::getAccuweatherData() +QString MeeCastWeather::configFilePath() { - return new QSettings(ACCUWEATHER_FILE_PATH, QSettings::IniFormat); + return QDir::home().absoluteFilePath(".config/com.meecast.omweather/config.xml"); } -Notification::Type HarmAccuWeather::type() const +Notification::Type MeeCastWeather::type() const { return Notification::WeatherNotification; } -uint HarmAccuWeather::count() const +uint MeeCastWeather::count() const { return 1; } -QDateTime HarmAccuWeather::dateTime() const +QDateTime MeeCastWeather::dateTime() const { return _lastUpdate; } -QString HarmAccuWeather::title() const +QString MeeCastWeather::title() const { return _lastLocation; } -QString HarmAccuWeather::body() const +QString MeeCastWeather::body() const { switch (_lastWxCode) { case 1: @@ -131,7 +130,7 @@ QString HarmAccuWeather::body() const } } -WeatherNotification::WeatherType HarmAccuWeather::forecast() +WeatherNotification::WeatherType MeeCastWeather::forecast() { switch (_lastWxCode) { case 1: @@ -198,37 +197,36 @@ WeatherNotification::WeatherType HarmAccuWeather::forecast() } } -int HarmAccuWeather::temperature() +int MeeCastWeather::temperature() { return _lastTemp; } -WeatherNotification::Unit HarmAccuWeather::temperatureUnits() +WeatherNotification::Unit MeeCastWeather::temperatureUnits() { return _metric ? Celsius : Fahrenheit; } -void HarmAccuWeather::activate() +void MeeCastWeather::activate() { // Launch accuweather? } -void HarmAccuWeather::dismiss() +void MeeCastWeather::dismiss() { // Do nothing } -void HarmAccuWeather::fileChanged(const QString &path) +void MeeCastWeather::fileChanged(const QString &path) { Q_UNUSED(path); - qDebug() << "accuweather config file changed"; + qDebug() << "meecast config file changed: " << path; _timer->start(); } -void HarmAccuWeather::update() +void MeeCastWeather::update() { - QSettings* s = getAccuweatherData(); - +#if 0 qDebug() << "reading accuweather config file"; QDateTime lastUpdate = s->value("LastUpdate").toDateTime(); @@ -269,4 +267,5 @@ void HarmAccuWeather::update() } delete s; +#endif } diff --git a/meecastweather/meecastweather.h b/meecastweather/meecastweather.h index 8b403b9..7bd1561 100644 --- a/meecastweather/meecastweather.h +++ b/meecastweather/meecastweather.h @@ -1,5 +1,5 @@ -#ifndef HARMACCUWEATHER_H -#define HARMACCUWEATHER_H +#ifndef MEECASTWEATHER_H +#define MEECASTWEATHER_H #include <QtCore/QFileSystemWatcher> #include <QtCore/QTimer> @@ -9,14 +9,14 @@ namespace sowatch { -class HarmAccuWeather : public WeatherNotification +class MeeCastWeather : public WeatherNotification { Q_OBJECT public: - explicit HarmAccuWeather(QObject *parent = 0); + explicit MeeCastWeather(QObject *parent = 0); - static QSettings* getAccuweatherData(); + static QString configFilePath(); Type type() const; uint count() const; @@ -49,4 +49,4 @@ private: } -#endif // HARMACCUWEATHER_H +#endif // MEECASTWEATHER_H diff --git a/meecastweather/meecastweather.pro b/meecastweather/meecastweather.pro index bccc255..86b1efb 100644 --- a/meecastweather/meecastweather.pro +++ b/meecastweather/meecastweather.pro @@ -1,8 +1,7 @@ -TARGET = meecastweather +TARGET = meecastweather TEMPLATE = lib CONFIG += plugin -CONFIG += mobility -MOBILITY += systeminfo +QT += xml SOURCES += meecastplugin.cpp meecastprovider.cpp meecastweather.cpp |