diff options
Diffstat (limited to 'src/controller.h')
-rw-r--r-- | src/controller.h | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/src/controller.h b/src/controller.h index 3570ff4..604da2e 100644 --- a/src/controller.h +++ b/src/controller.h @@ -1,8 +1,8 @@ #ifndef DAEMON_H #define DAEMON_H -#include <QObject> -#include <QQuickView> +#include <QtCore/QObject> +#include <QtQuick/QQuickView> #include <MDConfGroup> #include "metawatch.h" @@ -13,30 +13,39 @@ class Controller : public QObject { Q_OBJECT + Q_PROPERTY(MetaWatch::WatchMode mode READ mode NOTIFY modeChanged) + Q_PROPERTY(int page READ page WRITE setPage NOTIFY pageChanged) Q_PROPERTY(int batteryCharge READ batteryCharge NOTIFY batteryChargeChanged) Q_PROPERTY(bool batteryCharging READ batteryCharging NOTIFY batteryChargingChanged) public: Controller(const QString &settingsPrefix, QQuickView *view = 0, QObject *parent = 0); + ~Controller(); + + MetaWatch::WatchMode mode() const; + + int page() const; + void setPage(int page); int batteryCharge() const; bool batteryCharging() const; signals: + void modeChanged(); + void pageChanged(); void batteryChargeChanged(); void batteryChargingChanged(); -public slots: - void reloadPages(); - void switchToPage(int page); - private: - static int parseClockUrl(const QUrl &url); + void connectToAddress(const QString &address); + void updateProperties(); private slots: void handleSettingChanged(const QString &key); void handleMetaWatchConnected(); + void handleMetaWatchModeChange(MetaWatch::WatchMode mode, int page); void handleMetaWatchBatteryStatus(bool charging, int charge); + void handleWidgetChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles); private: MDConfGroup *_settings; @@ -45,7 +54,11 @@ private: WidgetInfoModel *_widgets; + QString _address; + // Watch status + MetaWatch::WatchMode _curMode; + int _curPage; int _batteryCharge; bool _batteryCharging; }; |