Improve error messages when qhp files are messed up
authorFrederik Gladhorn <frederik.gladhorn@digia.com>
Fri, 6 Dec 2013 17:03:14 +0000 (18:03 +0100)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Mon, 9 Dec 2013 11:58:41 +0000 (12:58 +0100)
Hopefully this saves me and everyone time when mixing up project names
resulting in empty namespaces in .qhp projects.

Change-Id: Ib4151225011c866219504c1fdbaadd17d387500a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Topi Reiniƶ <topi.reinio@digia.com>
src/assistant/help/qhelpprojectdata.cpp

index ee86f78..27fc3a0 100644 (file)
@@ -60,6 +60,7 @@ public:
 
     QString virtualFolder;
     QString namespaceName;
+    QString fileName;
     QString rootPath;
 
     QStringList fileList;
@@ -85,7 +86,7 @@ private:
 
 void QHelpProjectDataPrivate::raiseUnknownTokenError()
 {
-    raiseError(QCoreApplication::translate("QHelpProject", "Unknown token."));
+    raiseError(QCoreApplication::translate("QHelpProject", "Unknown token in file \"%1\".").arg(fileName));
 }
 
 void QHelpProjectDataPrivate::readData(const QByteArray &contents)
@@ -119,12 +120,12 @@ void QHelpProjectDataPrivate::readProject()
                 virtualFolder = readElementText();
                 if (!hasValidSyntax(QLatin1String("test"), virtualFolder))
                     raiseError(QCoreApplication::translate("QHelpProject",
-                                   "Virtual folder has invalid syntax."));
+                                   "Virtual folder has invalid syntax in file: \"%1\"").arg(fileName));
             } else if (name() == QLatin1String("namespace")) {
                 namespaceName = readElementText();
                 if (!hasValidSyntax(namespaceName, QLatin1String("test")))
                     raiseError(QCoreApplication::translate("QHelpProject",
-                                   "Namespace has invalid syntax."));
+                                   "Namespace \"%1\" has invalid syntax in file: \"%2\"").arg(namespaceName, fileName));
             } else if (name() == QLatin1String("customFilter")) {
                 readCustomFilter();
             } else if (name() == QLatin1String("filterSection")) {
@@ -143,10 +144,10 @@ void QHelpProjectDataPrivate::readProject()
         } else if (isEndElement() && name() == QLatin1String("QtHelpProject")) {
             if (namespaceName.isEmpty())
                 raiseError(QCoreApplication::translate("QHelpProject",
-                              "Missing namespace in QtHelpProject."));
+                              "Missing namespace in QtHelpProject file: \"%1\"").arg(fileName));
             else if (virtualFolder.isEmpty())
                 raiseError(QCoreApplication::translate("QHelpProject",
-                               "Missing virtual folder in QtHelpProject"));
+                               "Missing virtual folder in QtHelpProject file: \"%1\"").arg(fileName));
             break;
         }
     }
@@ -374,6 +375,7 @@ QHelpProjectData::~QHelpProjectData()
 */
 bool QHelpProjectData::readData(const QString &fileName)
 {
+    d->fileName = fileName;
     d->rootPath = QFileInfo(fileName).absolutePath();
     QFile file(fileName);
     if (!file.open(QIODevice::ReadOnly)) {