mirror of
https://github.com/overte-org/overte.git
synced 2025-08-06 18:50:00 +02:00
Fixes filesystem issue between Qt and Windows
This commit is contained in:
parent
914634f73a
commit
0f19890048
1 changed files with 13 additions and 9 deletions
|
@ -608,8 +608,20 @@ void ScriptEngine::include(const QString& includeFile) {
|
||||||
QUrl url = resolveInclude(includeFile);
|
QUrl url = resolveInclude(includeFile);
|
||||||
QString includeContents;
|
QString includeContents;
|
||||||
|
|
||||||
if (url.scheme() == "file") {
|
if (url.scheme() == "http" || url.scheme() == "ftp") {
|
||||||
|
QNetworkAccessManager* networkManager = new QNetworkAccessManager(this);
|
||||||
|
QNetworkReply* reply = networkManager->get(QNetworkRequest(url));
|
||||||
|
qDebug() << "Downloading included script at" << includeFile;
|
||||||
|
QEventLoop loop;
|
||||||
|
QObject::connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
|
||||||
|
loop.exec();
|
||||||
|
includeContents = reply->readAll();
|
||||||
|
} else {
|
||||||
|
#ifdef _WIN32
|
||||||
|
QString fileName = url.toString();
|
||||||
|
#else
|
||||||
QString fileName = url.toLocalFile();
|
QString fileName = url.toLocalFile();
|
||||||
|
#endif
|
||||||
QFile scriptFile(fileName);
|
QFile scriptFile(fileName);
|
||||||
if (scriptFile.open(QFile::ReadOnly | QFile::Text)) {
|
if (scriptFile.open(QFile::ReadOnly | QFile::Text)) {
|
||||||
qDebug() << "Loading file:" << fileName;
|
qDebug() << "Loading file:" << fileName;
|
||||||
|
@ -619,14 +631,6 @@ void ScriptEngine::include(const QString& includeFile) {
|
||||||
qDebug() << "ERROR Loading file:" << fileName;
|
qDebug() << "ERROR Loading file:" << fileName;
|
||||||
emit errorMessage("ERROR Loading file:" + fileName);
|
emit errorMessage("ERROR Loading file:" + fileName);
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
QNetworkAccessManager* networkManager = new QNetworkAccessManager(this);
|
|
||||||
QNetworkReply* reply = networkManager->get(QNetworkRequest(url));
|
|
||||||
qDebug() << "Downloading included script at" << includeFile;
|
|
||||||
QEventLoop loop;
|
|
||||||
QObject::connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
|
|
||||||
loop.exec();
|
|
||||||
includeContents = reply->readAll();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QScriptValue result = _engine.evaluate(includeContents);
|
QScriptValue result = _engine.evaluate(includeContents);
|
||||||
|
|
Loading…
Reference in a new issue