summaryrefslogtreecommitdiff
path: root/src/controller.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/controller.h')
-rw-r--r--src/controller.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/controller.h b/src/controller.h
new file mode 100644
index 0000000..d7f2349
--- /dev/null
+++ b/src/controller.h
@@ -0,0 +1,53 @@
+#ifndef DAEMON_H
+#define DAEMON_H
+
+#include <QObject>
+#include <QQuickView>
+#include <MDConfGroup>
+
+#include "metawatch.h"
+#include "widgetview.h"
+#include "reconnecttimer.h"
+
+class Controller : public QObject
+{
+ Q_OBJECT
+
+ 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);
+
+ int batteryCharge() const;
+ bool batteryCharging() const;
+
+signals:
+ void batteryChargeChanged();
+ void batteryChargingChanged();
+
+public slots:
+ void reloadPages();
+ void switchToPage(int page);
+
+private:
+ static int parseClockUrl(const QUrl &url);
+
+private slots:
+ void handleSettingChanged(const QString &key);
+ void handleMetaWatchConnected();
+ void handleMetaWatchBatteryStatus(bool charging, int charge);
+
+private:
+ MDConfGroup *_settings;
+ MetaWatch *_metawatch;
+ ReconnectTimer *_reconnect;
+
+ WidgetView *_view;
+
+ // Watch status
+ int _batteryCharge;
+ bool _batteryCharging;
+};
+
+#endif // DAEMON_H