summaryrefslogtreecommitdiff
path: root/src/controller.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/controller.h')
-rw-r--r--src/controller.h27
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;
};