diff options
author | Javier S. Pedro <maemo@javispedro.com> | 2011-09-27 04:51:30 +0200 |
---|---|---|
committer | Javier S. Pedro <maemo@javispedro.com> | 2011-09-27 04:51:30 +0200 |
commit | a644a7cc6749f8dd5ca20589ee6e59acc2892b3e (patch) | |
tree | b995528dc14d1f58d9d7c958d1eaad855b2a2412 /qmafwwatchlet/qmafwwatchlet.cpp | |
parent | 0822b88738e00625efd27ccca9119885272924d2 (diff) | |
download | sowatch-a644a7cc6749f8dd5ca20589ee6e59acc2892b3e.tar.gz sowatch-a644a7cc6749f8dd5ca20589ee6e59acc2892b3e.zip |
new qmafw watchlet
Diffstat (limited to 'qmafwwatchlet/qmafwwatchlet.cpp')
-rw-r--r-- | qmafwwatchlet/qmafwwatchlet.cpp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/qmafwwatchlet/qmafwwatchlet.cpp b/qmafwwatchlet/qmafwwatchlet.cpp new file mode 100644 index 0000000..e2f41a2 --- /dev/null +++ b/qmafwwatchlet/qmafwwatchlet.cpp @@ -0,0 +1,45 @@ +#include <MafwShared.h> + +#include "qmafwwatchletplayer.h" +#include "qmafwwatchlet.h" + +using namespace sowatch; + +class WatchletPlayer : public QObject +{ + Q_OBJECT +}; + + +QMafwWatchlet::QMafwWatchlet(WatchServer* server) : + DeclarativeWatchlet(server, "com.javispedro.sowatch.qmafw"), + _registry(MafwRegistry::instance()), + _player(new QMafwWatchletPlayer(this)) +{ + MafwShared* shared = MafwShared::instance(); + + connect(_registry, SIGNAL(rendererAdded(QString, QString)), SLOT(handleRendererAdded(QString))); + connect(_registry, SIGNAL(rendererRemoved(QString, QString)), SLOT(handleRendererRemoved(QString))); + + shared->initTracking(_registry); + + connect(this, SIGNAL(activated()), _player, SLOT(activate())); + connect(this, SIGNAL(deactivated()), _player, SLOT(deactivate())); + + rootContext()->setContextProperty("player", _player); + setSource(QUrl("qrc:/qmafwwatchlet/" + server->watch()->model() + ".qml")); +} + +void QMafwWatchlet::handleRendererAdded(const QString &uuid) +{ + if (uuid == "mafw_gst_renderer") { + _player->setRenderer(_registry->renderer(uuid)); + } +} + +void QMafwWatchlet::handleRendererRemoved(const QString &uuid) +{ + if (uuid == "mafw_gst_renderer") { + _player->setRenderer(0); + } +} |