From: Roberto Raggi Date: Mon, 22 Aug 2011 13:27:04 +0000 (+0200) Subject: Fix the qmldir parser diagnostic messages. X-Git-Tag: qt-v5.0.0-alpha1~1794 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a63cc12645b173be7b2442edb8c40e958563833b;p=profile%2Fivi%2Fqtdeclarative.git Fix the qmldir parser diagnostic messages. Change-Id: I752d5cf334faa5761007f553caf49e64d0e1f411 Reviewed-on: http://codereview.qt.nokia.com/3795 Reviewed-by: Roberto Raggi Reviewed-by: Qt Sanity Bot --- diff --git a/src/declarative/qml/qdeclarativedirparser.cpp b/src/declarative/qml/qdeclarativedirparser.cpp index 1008d39..dd7f4e4 100644 --- a/src/declarative/qml/qdeclarativedirparser.cpp +++ b/src/declarative/qml/qdeclarativedirparser.cpp @@ -109,14 +109,14 @@ bool QDeclarativeDirParser::parse() QFile file(_filePathSouce); if (!QDeclarative_isFileCaseCorrect(_filePathSouce)) { QDeclarativeError error; - error.setDescription(QString::fromUtf8("cannot load module \"%1\": File name case mismatch for \"%2\"").arg(_url.toString()).arg(_filePathSouce)); + error.setDescription(QString::fromUtf8("cannot load module \"%2\": File name case mismatch for \"%1\"").arg(_filePathSouce)); _errors.prepend(error); return false; } else if (file.open(QFile::ReadOnly)) { _source = QString::fromUtf8(file.readAll()); } else { QDeclarativeError error; - error.setDescription(QString::fromUtf8("module \"%1\" definition \"%2\" not readable").arg(_url.toString()).arg(_filePathSouce)); + error.setDescription(QString::fromUtf8("module \"%2\" definition \"%1\" not readable").arg(_filePathSouce)); _errors.prepend(error); return false; } @@ -254,9 +254,14 @@ bool QDeclarativeDirParser::hasError() const return false; } -QList QDeclarativeDirParser::errors() const +QList QDeclarativeDirParser::errors(const QString &uri) const { - return _errors; + QList errors = _errors; + for (int i = 0; i < errors.size(); ++i) { + QDeclarativeError &e = errors[i]; + e.setDescription(e.description().arg(uri)); + } + return errors; } QList QDeclarativeDirParser::plugins() const diff --git a/src/declarative/qml/qdeclarativedirparser_p.h b/src/declarative/qml/qdeclarativedirparser_p.h index a5df5b4..8540747 100644 --- a/src/declarative/qml/qdeclarativedirparser_p.h +++ b/src/declarative/qml/qdeclarativedirparser_p.h @@ -80,7 +80,7 @@ public: bool parse(); bool hasError() const; - QList errors() const; + QList errors(const QString &uri) const; struct Plugin { diff --git a/src/declarative/qml/qdeclarativeimport.cpp b/src/declarative/qml/qdeclarativeimport.cpp index 0d35947..539f1b8 100644 --- a/src/declarative/qml/qdeclarativeimport.cpp +++ b/src/declarative/qml/qdeclarativeimport.cpp @@ -370,8 +370,9 @@ bool QDeclarativeImportsPrivate::importExtension(const QString &absoluteFilePath const QDeclarativeDirParser *qmldirParser = typeLoader->qmlDirParser(absoluteFilePath); if (qmldirParser->hasError()) { if (errors) { - for (int i = 0; i < qmldirParser->errors().size(); ++i) - errors->prepend(qmldirParser->errors().at(i)); + const QList qmldirErrors = qmldirParser->errors(uri); + for (int i = 0; i < qmldirErrors.size(); ++i) + errors->prepend(qmldirErrors.at(i)); } return false; }