summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/declarative/loader/main.cpp21
1 files 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