summaryrefslogtreecommitdiff
path: root/sysinfowatchlet/sysinfowatchlet.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sysinfowatchlet/sysinfowatchlet.cpp')
-rw-r--r--sysinfowatchlet/sysinfowatchlet.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/sysinfowatchlet/sysinfowatchlet.cpp b/sysinfowatchlet/sysinfowatchlet.cpp
new file mode 100644
index 0000000..c9f44c2
--- /dev/null
+++ b/sysinfowatchlet/sysinfowatchlet.cpp
@@ -0,0 +1,26 @@
+#include "sysinfowatchlet.h"
+
+using namespace sowatch;
+QTM_USE_NAMESPACE
+
+SysInfoWatchlet::SysInfoWatchlet(WatchServer* server) :
+ DeclarativeWatchlet(server, "com.javispedro.sowatch.sysinfo"),
+ _devInfo(new QSystemDeviceInfo(this)),
+ _netMgr(new QNetworkConfigurationManager(this))
+{
+ rootContext()->setContextProperty("batteryLevel", 0);
+ rootContext()->setContextProperty("networkName", "");
+ setSource(QUrl("qrc:/sysinfowatchlet/" + server->watch()->model() + ".qml"));
+ connect(this, SIGNAL(activated()), SLOT(handleActivated()));
+}
+
+void SysInfoWatchlet::handleActivated()
+{
+ QList<QNetworkConfiguration> cfgs = _netMgr->allConfigurations(QNetworkConfiguration::Active);
+ rootContext()->setContextProperty("batteryLevel", _devInfo->batteryLevel());
+ if (cfgs.size() > 0) {
+ rootContext()->setContextProperty("networkName", cfgs[0].name());
+ } else {
+ rootContext()->setContextProperty("networkName", "");
+ }
+}