diff options
author | Javier S. Pedro <maemo@javispedro.com> | 2011-09-17 03:03:23 +0200 |
---|---|---|
committer | Javier S. Pedro <maemo@javispedro.com> | 2011-09-17 03:03:23 +0200 |
commit | 3a755f46d9cf6e3650d40a960d0d0db8c1ad9fa1 (patch) | |
tree | f330f63caec08b6626c808b5ae70c64cab0246a6 /declarativewatchlet.cpp | |
parent | 0dca79a8c15b76ca53617c0ed3396ab6435f0152 (diff) | |
download | sowatch-3a755f46d9cf6e3650d40a960d0d0db8c1ad9fa1.tar.gz sowatch-3a755f46d9cf6e3650d40a960d0d0db8c1ad9fa1.zip |
preparing for library package
Diffstat (limited to 'declarativewatchlet.cpp')
-rw-r--r-- | declarativewatchlet.cpp | 96 |
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; - } -} |