summaryrefslogtreecommitdiff
path: root/daemon
diff options
context:
space:
mode:
authorJavier <dev.git@javispedro.com>2014-12-03 00:48:19 +0100
committerJavier <dev.git@javispedro.com>2014-12-03 00:48:19 +0100
commit69822e4dcf541a52e4202d5ff566364fb90e6ec0 (patch)
tree5485db6e7d94517f2763db735ce4cfc2eec260cd /daemon
parent843e8c2550f69de3b9dfc3ec5f13d2c3a5710896 (diff)
implement UI for JS app configuration
Diffstat (limited to 'daemon')
-rw-r--r--daemon/jskitmanager.cpp4
-rw-r--r--daemon/manager.cpp6
-rw-r--r--daemon/manager.h3
3 files changed, 12 insertions, 1 deletions
diff --git a/daemon/jskitmanager.cpp b/daemon/jskitmanager.cpp
index 9efc5c8..e1e4073 100644
--- a/daemon/jskitmanager.cpp
+++ b/daemon/jskitmanager.cpp
@@ -33,6 +33,8 @@ void JSKitManager::showConfiguration()
{
if (_engine) {
_jspebble->invokeCallbacks("showConfiguration");
+ } else {
+ logger()->warn() << "requested to show configuration, but JS engine is not running";
}
}
@@ -43,6 +45,8 @@ void JSKitManager::handleWebviewClosed(const QString &result)
eventObj.setProperty("response", _engine->toScriptValue(result));
_jspebble->invokeCallbacks("webviewclosed", QJSValueList({eventObj}));
+ } else {
+ logger()->warn() << "webview closed event, but JS engine is not running";
}
}
diff --git a/daemon/manager.cpp b/daemon/manager.cpp
index 0666de0..1fc8a20 100644
--- a/daemon/manager.cpp
+++ b/daemon/manager.cpp
@@ -61,7 +61,7 @@ Manager::Manager(Settings *settings, QObject *parent) :
QDBusConnection session = QDBusConnection::sessionBus();
new WatchAdaptor(proxy);
- session.registerObject("/org/pebbled/watch", proxy);
+ session.registerObject("/org/pebbled/Watch", proxy);
session.registerService("org.pebbled");
connect(dbus, &DBusConnector::pebbleChanged, proxy, &PebbledProxy::NameChanged);
@@ -399,6 +399,7 @@ void Manager::onAppMessage(const QUuid &uuid, const QVariantMap &data)
void Manager::onAppOpened(const QUuid &uuid)
{
currentAppUuid = uuid;
+ emit proxy->AppUuidChanged();
emit proxy->AppOpened(uuid.toString());
}
@@ -406,6 +407,7 @@ void Manager::onAppClosed(const QUuid &uuid)
{
currentAppUuid = QUuid();
emit proxy->AppClosed(uuid.toString());
+ emit proxy->AppUuidChanged();
}
bool PebbledProxy::SendAppMessage(const QString &uuid, const QVariantMap &data) {
@@ -468,5 +470,7 @@ QString PebbledProxy::StartAppConfiguration(const QString &uuid) {
manager()->js->showConfiguration();
+ // Note that the above signal handler _might_ have been already called by this point.
+
return QString(); // This return value should never be used.
}
diff --git a/daemon/manager.h b/daemon/manager.h
index f099aac..22382b8 100644
--- a/daemon/manager.h
+++ b/daemon/manager.h
@@ -117,6 +117,7 @@ class PebbledProxy : public QObject, protected QDBusContext
Q_PROPERTY(QString Name READ Name NOTIFY NameChanged)
Q_PROPERTY(QString Address READ Address NOTIFY AddressChanged)
Q_PROPERTY(bool Connected READ Connected NOTIFY ConnectedChanged)
+ Q_PROPERTY(QString AppUuid READ AppUuid NOTIFY AppUuidChanged)
inline Manager* manager() const { return static_cast<Manager*>(parent()); }
inline QVariantMap pebble() const { return manager()->dbus->pebble(); }
@@ -127,6 +128,7 @@ public:
inline QString Name() const { return pebble()["Name"].toString(); }
inline QString Address() const { return pebble()["Address"].toString(); }
inline bool Connected() const { return manager()->watch->isConnected(); }
+ inline QString AppUuid() const { return manager()->currentAppUuid.toString(); }
public slots:
inline void Disconnected() { manager()->watch->disconnect(); }
@@ -148,6 +150,7 @@ signals:
void NameChanged();
void AddressChanged();
void ConnectedChanged();
+ void AppUuidChanged();
void AppMessage(const QString &uuid, const QVariantMap &data);
void AppOpened(const QString &uuid);
void AppClosed(const QString &uuid);