Changeset 846 for trunk/tools/assistant/lib/qhelpprojectdata.cpp
- Timestamp:
- May 5, 2011, 5:36:53 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:mergeinfo changed
/branches/vendor/nokia/qt/4.7.2 (added) merged: 845 /branches/vendor/nokia/qt/current merged: 844 /branches/vendor/nokia/qt/4.6.3 removed
- Property svn:mergeinfo changed
-
trunk/tools/assistant/lib/qhelpprojectdata.cpp
r651 r846 1 1 /**************************************************************************** 2 2 ** 3 ** Copyright (C) 201 0Nokia Corporation and/or its subsidiary(-ies).3 ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). 4 4 ** All rights reserved. 5 5 ** Contact: Nokia Corporation (qt-info@nokia.com) … … 42 42 #include "qhelpprojectdata_p.h" 43 43 44 #include <QtCore/QCoreApplication> 44 45 #include <QtCore/QDir> 45 46 #include <QtCore/QFileInfo> … … 47 48 #include <QtCore/QMap> 48 49 #include <QtCore/QRegExp> 50 #include <QtCore/QUrl> 49 51 #include <QtCore/QVariant> 50 52 #include <QtXml/QXmlStreamReader> … … 77 79 void raiseUnknownTokenError(); 78 80 void addMatchingFiles(const QString &pattern); 81 bool hasValidSyntax(const QString &nameSpace, const QString &vFolder) const; 79 82 80 83 QMap<QString, QStringList> dirEntriesCache; … … 83 86 void QHelpProjectDataPrivate::raiseUnknownTokenError() 84 87 { 85 raiseError(Q Object::tr("Unknown token."));88 raiseError(QCoreApplication::translate("QHelpProject", "Unknown token.")); 86 89 } 87 90 … … 96 99 readProject(); 97 100 else 98 raiseError(QObject::tr("Unknown token. Expected \"QtHelpProject\"!")); 101 raiseError(QCoreApplication::translate("QHelpProject", 102 "Unknown token. Expected \"QtHelpProject\"!")); 99 103 } 100 104 } 101 105 102 106 if (hasError()) { 103 raiseError(QObject::tr("Error in line %1: %2").arg(lineNumber()) 107 raiseError(QCoreApplication::translate("QHelpProject", 108 "Error in line %1: %2").arg(lineNumber()) 104 109 .arg(errorString())); 105 110 } … … 113 118 if (name() == QLatin1String("virtualFolder")) { 114 119 virtualFolder = readElementText(); 115 if (virtualFolder.contains(QLatin1String("/"))) 116 raiseError(QObject::tr("A virtual folder must not contain a \'/\' character!")); 120 if (!hasValidSyntax(QLatin1String("test"), virtualFolder)) 121 raiseError(QCoreApplication::translate("QHelpProject", 122 "Virtual folder has invalid syntax.")); 117 123 } else if (name() == QLatin1String("namespace")) { 118 124 namespaceName = readElementText(); 119 if (namespaceName.contains(QLatin1String("/"))) 120 raiseError(QObject::tr("A namespace must not contain a \'/\' character!")); 125 if (!hasValidSyntax(namespaceName, QLatin1String("test"))) 126 raiseError(QCoreApplication::translate("QHelpProject", 127 "Namespace has invalid syntax.")); 121 128 } else if (name() == QLatin1String("customFilter")) { 122 129 readCustomFilter(); … … 126 133 QString n = attributes().value(QLatin1String("name")).toString(); 127 134 if (!metaData.contains(n)) 128 metaData[n] = attributes().value(QLatin1String("value")).toString(); 135 metaData[n] 136 = attributes().value(QLatin1String("value")).toString(); 129 137 else 130 metaData.insert(n, attributes().value(QLatin1String("value")).toString()); 138 metaData.insert(n, attributes(). 139 value(QLatin1String("value")).toString()); 131 140 } else { 132 141 raiseUnknownTokenError(); … … 134 143 } else if (isEndElement() && name() == QLatin1String("QtHelpProject")) { 135 144 if (namespaceName.isEmpty()) 136 raiseError(QObject::tr("Missing namespace in QtHelpProject.")); 145 raiseError(QCoreApplication::translate("QHelpProject", 146 "Missing namespace in QtHelpProject.")); 137 147 else if (virtualFolder.isEmpty()) 138 raiseError(QObject::tr("Missing virtual folder in QtHelpProject")); 148 raiseError(QCoreApplication::translate("QHelpProject", 149 "Missing virtual folder in QtHelpProject")); 139 150 break; 140 151 } … … 224 235 || (attributes().value(QLatin1String("name")).toString().isEmpty() 225 236 && attributes().value(QLatin1String("id")).toString().isEmpty())) 226 raiseError(QObject::tr("Missing attribute in keyword at line %1.") 227 .arg(lineNumber())); 228 filterSectionList.last().addIndex( 229 QHelpDataIndexItem(attributes().value(QLatin1String("name")).toString(), 230 attributes().value(QLatin1String("id")).toString(), 231 attributes().value(QLatin1String("ref")).toString())); 237 raiseError(QCoreApplication::translate("QHelpProject", 238 "Missing attribute in keyword at line %1.") 239 .arg(lineNumber())); 240 filterSectionList.last() 241 .addIndex(QHelpDataIndexItem(attributes(). 242 value(QLatin1String("name")).toString(), 243 attributes().value(QLatin1String("id")).toString(), 244 attributes().value(QLatin1String("ref")).toString())); 232 245 } else { 233 246 raiseUnknownTokenError(); … … 306 319 } 307 320 321 bool QHelpProjectDataPrivate::hasValidSyntax(const QString &nameSpace, 322 const QString &vFolder) const 323 { 324 const QLatin1Char slash('/'); 325 if (nameSpace.contains(slash) || vFolder.contains(slash)) 326 return false; 327 QUrl url; 328 const QLatin1String scheme("qthelp"); 329 url.setScheme(scheme); 330 const QString canonicalNamespace = nameSpace.toLower(); 331 url.setHost(canonicalNamespace); 332 url.setPath(vFolder); 333 334 const QString expectedUrl(scheme + QLatin1String("://") 335 + canonicalNamespace + slash + vFolder); 336 return url.isValid() && url.toString() == expectedUrl; 337 } 338 308 339 /*! 309 340 \internal … … 347 378 QFile file(fileName); 348 379 if (!file.open(QIODevice::ReadOnly)) { 349 d->errorMsg = Q Object::tr("The input file %1 could not be opened!")350 .arg(fileName);380 d->errorMsg = QCoreApplication::translate("QHelpProject", 381 "The input file %1 could not be opened!").arg(fileName); 351 382 return false; 352 383 }
Note:
See TracChangeset
for help on using the changeset viewer.