summaryrefslogtreecommitdiff
path: root/declarativewatchlet.cpp
diff options
context:
space:
mode:
authorJavier S. Pedro <maemo@javispedro.com>2011-09-17 03:03:23 +0200
committerJavier S. Pedro <maemo@javispedro.com>2011-09-17 03:03:23 +0200
commit3a755f46d9cf6e3650d40a960d0d0db8c1ad9fa1 (patch)
treef330f63caec08b6626c808b5ae70c64cab0246a6 /declarativewatchlet.cpp
parent0dca79a8c15b76ca53617c0ed3396ab6435f0152 (diff)
downloadsowatch-3a755f46d9cf6e3650d40a960d0d0db8c1ad9fa1.tar.gz
sowatch-3a755f46d9cf6e3650d40a960d0d0db8c1ad9fa1.zip
preparing for library package
Diffstat (limited to 'declarativewatchlet.cpp')
-rw-r--r--declarativewatchlet.cpp96
1 files changed, 0 insertions, 96 deletions
diff --git a/declarativewatchlet.cpp b/declarativewatchlet.cpp
deleted file mode 100644
index 7e6768e..0000000
--- a/declarativewatchlet.cpp
+++ /dev/null
@@ -1,96 +0,0 @@
-#include <QtCore/QDebug>
-#include <QtDeclarative/QtDeclarative>
-#include "watchserver.h"
-#include "declarativewatchwrapper.h"
-#include "declarativewatchlet.h"
-
-using namespace sowatch;
-
-bool DeclarativeWatchlet::_registered = false;
-
-DeclarativeWatchlet::DeclarativeWatchlet(WatchServer* server, const QString& id) :
- GraphicsWatchlet(server, id),
- _engine(0),
- _component(0),
- _item(0),
- _wrapper(0)
-{
- setScene(new QGraphicsScene(this));
-
- if (!_registered) {
- qmlRegisterUncreatableType<DeclarativeWatchWrapper>("com.javispedro.sowatch", 1, 0,
- "Watch", "Watch is only available via the 'watch' object");
- _registered = true;
- }
-
- _engine = new QDeclarativeEngine(this);
- _wrapper = new DeclarativeWatchWrapper(server->watch(), this);
-
- _engine->rootContext()->setContextProperty("watch", _wrapper);
-}
-
-void DeclarativeWatchlet::setSource(const QUrl &url)
-{
- if (_item) {
- scene()->removeItem(_item);
- delete _item;
- _item = 0;
- }
- if (_component) {
- delete _component;
- _component = 0;
- }
- if (!url.isEmpty()) {
- _component = new QDeclarativeComponent(_engine, url, this);
- connect(_component, SIGNAL(statusChanged(QDeclarativeComponent::Status)),
- SLOT(handleComponentStatus(QDeclarativeComponent::Status)));
- if (!_component->isLoading()) {
- /* No signals are going to be generated for this. */
- handleComponentStatus(_component->status());
- } else {
- connect(_component, SIGNAL(statusChanged(QDeclarativeComponent::Status)),
- this, SLOT(handleComponentStatus(QDeclarativeComponent::Status)));
- }
- }
-}
-
-void DeclarativeWatchlet::activate()
-{
- Watchlet::activate();
- _wrapper->activate();
- _scene->update();
-}
-
-void DeclarativeWatchlet::deactivate()
-{
- Watchlet::deactivate();
- _wrapper->deactivate();
-}
-
-void DeclarativeWatchlet::handleComponentStatus(QDeclarativeComponent::Status status)
-{
- QObject *obj;
- disconnect(_component, SIGNAL(statusChanged(QDeclarativeComponent::Status)),
- this, SLOT(handleComponentStatus(QDeclarativeComponent::Status)));
- switch (status) {
- case QDeclarativeComponent::Null:
- case QDeclarativeComponent::Loading:
- /* Nothing to do */
- break;
- case QDeclarativeComponent::Ready:
- obj = _component->create();
- if (_component->isError()) {
- qWarning() << "QML has instantation errors:";
- qWarning() << _component->errors();
- return;
- }
- Q_ASSERT(_item == 0);
- _item = qobject_cast<QDeclarativeItem*>(obj);
- scene()->addItem(_item);
- break;
- case QDeclarativeComponent::Error:
- qWarning() << "QML has errors:";
- qWarning() << _component->errors();
- break;
- }
-}