From 3a755f46d9cf6e3650d40a960d0d0db8c1ad9fa1 Mon Sep 17 00:00:00 2001 From: "Javier S. Pedro" Date: Sat, 17 Sep 2011 03:03:23 +0200 Subject: preparing for library package --- declarativewatchlet.cpp | 96 ------------------------------------------------- 1 file changed, 96 deletions(-) delete mode 100644 declarativewatchlet.cpp (limited to 'declarativewatchlet.cpp') 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 -#include -#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("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(obj); - scene()->addItem(_item); - break; - case QDeclarativeComponent::Error: - qWarning() << "QML has errors:"; - qWarning() << _component->errors(); - break; - } -} -- cgit v1.2.3