From 17035bd496d35364ff7f49ef9cc86b0a8c48fe1e Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Wed, 2 Dec 2009 15:01:15 +1000 Subject: When loading QML, reset the Browser view. --- examples/declarative/loader/main.cpp | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/examples/declarative/loader/main.cpp b/examples/declarative/loader/main.cpp index 4e6cb23..22e3646 100644 --- a/examples/declarative/loader/main.cpp +++ b/examples/declarative/loader/main.cpp @@ -131,9 +131,19 @@ public: Q_INVOKABLE void launch(const QString &fileName) { - QUrl url(fileName); + m_fileName = fileName; + QMetaObject::invokeMethod(this, "doLaunch", Qt::QueuedConnection); + } + +private slots: + void doLaunch() + { + qDebug() << "dolaunch"; + QUrl url(m_fileName); QFileInfo fi(url.toLocalFile()); if (fi.exists()) { + canvas->reset(); + url = QUrl::fromLocalFile(fi.absoluteFilePath()); QmlContext *ctxt = canvas->rootContext(); QDir dir(fi.path()+"/dummydata", "*.qml"); @@ -160,14 +170,17 @@ public: dummyData->setParent(this); } } - } - canvas->setUrl(url); - canvas->execute(); + canvas->setUrl(url); + canvas->execute(); + } } signals: void logUpdated(); + +private: + QString m_fileName; }; class MainWindow : public QMainWindow -- cgit v0.12