From a644a7cc6749f8dd5ca20589ee6e59acc2892b3e Mon Sep 17 00:00:00 2001 From: "Javier S. Pedro" Date: Tue, 27 Sep 2011 04:51:30 +0200 Subject: new qmafw watchlet --- qmafwwatchlet/qmafwwatchlet.cpp | 45 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 qmafwwatchlet/qmafwwatchlet.cpp (limited to 'qmafwwatchlet/qmafwwatchlet.cpp') 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 + +#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); + } +} -- cgit v1.2.3