summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2018-02-14 13:54:35 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2018-02-14 14:31:38 +0000
commitef5dc9d466438c22a2b0a66f25e18e2c9e55d37c (patch)
tree6fa73bf907faebdb900b953d0288fe292bb85336
parent236233f37f9ecf3a6cb829a831e5605568523c30 (diff)
qdoc/Config::findFile() Make userFriendlyFilePath an optional out parameterv5.11.0-alpha1
Task-number: PYSIDE-363 Change-Id: If076c9a77a5a11c05035f6fc30e6d68e60a35045 Reviewed-by: Martin Smith <martin.smith@qt.io>
-rw-r--r--src/qdoc/config.cpp38
-rw-r--r--src/qdoc/config.h4
-rw-r--r--src/qdoc/cppcodeparser.cpp13
-rw-r--r--src/qdoc/doc.cpp2
-rw-r--r--src/qdoc/generator.cpp5
5 files changed, 28 insertions, 34 deletions
diff --git a/src/qdoc/config.cpp b/src/qdoc/config.cpp
index 3e3d84e37..de7f23ce6 100644
--- a/src/qdoc/config.cpp
+++ b/src/qdoc/config.cpp
@@ -707,10 +707,11 @@ QString Config::findFile(const Location& location,
const QStringList& files,
const QStringList& dirs,
const QString& fileName,
- QString& userFriendlyFilePath)
+ QString *userFriendlyFilePath)
{
if (fileName.isEmpty() || fileName.startsWith(QLatin1Char('/'))) {
- userFriendlyFilePath = fileName;
+ if (userFriendlyFilePath)
+ *userFriendlyFilePath = fileName;
return fileName;
}
@@ -740,26 +741,27 @@ QString Config::findFile(const Location& location,
}
}
- userFriendlyFilePath = QString();
+ if (userFriendlyFilePath)
+ userFriendlyFilePath->clear();
if (!fileInfo.exists())
return QString();
- QStringList::ConstIterator c = components.constBegin();
- for (;;) {
- bool isArchive = (c != components.constEnd() - 1);
- QString userFriendly = *c;
-
- userFriendlyFilePath += userFriendly;
+ if (userFriendlyFilePath) {
+ QStringList::ConstIterator c = components.constBegin();
+ for (;;) {
+ bool isArchive = (c != components.constEnd() - 1);
+ userFriendlyFilePath->append(*c);
+
+ if (isArchive) {
+ QString extracted = extractedDirs[fileInfo.filePath()];
+ ++c;
+ fileInfo.setFile(QDir(extracted), *c);
+ } else {
+ break;
+ }
- if (isArchive) {
- QString extracted = extractedDirs[fileInfo.filePath()];
- ++c;
- fileInfo.setFile(QDir(extracted), *c);
- } else {
- break;
+ userFriendlyFilePath->append(QLatin1Char('?'));
}
-
- userFriendlyFilePath += QLatin1Char('?');
}
return fileInfo.filePath();
}
@@ -771,7 +773,7 @@ QString Config::findFile(const Location& location,
const QStringList& dirs,
const QString& fileBase,
const QStringList& fileExtensions,
- QString& userFriendlyFilePath)
+ QString *userFriendlyFilePath)
{
QStringList::ConstIterator e = fileExtensions.constBegin();
while (e != fileExtensions.constEnd()) {
diff --git a/src/qdoc/config.h b/src/qdoc/config.h
index cbff9771b..0de7076eb 100644
--- a/src/qdoc/config.h
+++ b/src/qdoc/config.h
@@ -114,13 +114,13 @@ public:
const QStringList &files,
const QStringList& dirs,
const QString& fileName,
- QString& userFriendlyFilePath);
+ QString *userFriendlyFilePath = nullptr);
static QString findFile(const Location &location,
const QStringList &files,
const QStringList &dirs,
const QString &fileBase,
const QStringList &fileExtensions,
- QString &userFriendlyFilePath);
+ QString *userFriendlyFilePath = nullptr);
static QString copyFile(const Location& location,
const QString& sourceFilePath,
const QString& userFriendlySourceFilePath,
diff --git a/src/qdoc/cppcodeparser.cpp b/src/qdoc/cppcodeparser.cpp
index 14e4fa7ba..9ac687557 100644
--- a/src/qdoc/cppcodeparser.cpp
+++ b/src/qdoc/cppcodeparser.cpp
@@ -1346,31 +1346,24 @@ void CppCodeParser::createExampleFileNodes(DocumentNode *dn)
{
QString examplePath = dn->name();
QString proFileName = examplePath + QLatin1Char('/') + examplePath.split(QLatin1Char('/')).last() + ".pro";
- QString userFriendlyFilePath;
-
QString fullPath = Config::findFile(dn->doc().location(),
exampleFiles,
exampleDirs,
- proFileName,
- userFriendlyFilePath);
+ proFileName);
if (fullPath.isEmpty()) {
QString tmp = proFileName;
proFileName = examplePath + QLatin1Char('/') + "qbuild.pro";
- userFriendlyFilePath.clear();
fullPath = Config::findFile(dn->doc().location(),
exampleFiles,
exampleDirs,
- proFileName,
- userFriendlyFilePath);
+ proFileName);
if (fullPath.isEmpty()) {
proFileName = examplePath + QLatin1Char('/') + examplePath.split(QLatin1Char('/')).last() + ".qmlproject";
- userFriendlyFilePath.clear();
fullPath = Config::findFile(dn->doc().location(),
exampleFiles,
exampleDirs,
- proFileName,
- userFriendlyFilePath);
+ proFileName);
if (fullPath.isEmpty()) {
QString details = QLatin1String("Example directories: ") + exampleDirs.join(QLatin1Char(' '));
if (!exampleFiles.isEmpty())
diff --git a/src/qdoc/doc.cpp b/src/qdoc/doc.cpp
index 3c353957c..a63498208 100644
--- a/src/qdoc/doc.cpp
+++ b/src/qdoc/doc.cpp
@@ -3218,7 +3218,7 @@ CodeMarker *Doc::quoteFromFile(const Location &location,
QString filePath = Config::findFile(location,
DocParser::exampleFiles,
DocParser::exampleDirs,
- fileName, userFriendlyFilePath);
+ fileName, &userFriendlyFilePath);
if (filePath.isEmpty()) {
QString details = QLatin1String("Example directories: ") + DocParser::exampleDirs.join(QLatin1Char(' '));
if (!DocParser::exampleFiles.isEmpty())
diff --git a/src/qdoc/generator.cpp b/src/qdoc/generator.cpp
index 22ac363bd..d822c8e64 100644
--- a/src/qdoc/generator.cpp
+++ b/src/qdoc/generator.cpp
@@ -1065,8 +1065,7 @@ void Generator::generateFileList(const DocumentNode* dn,
QStringList(),
exampleDirs,
file,
- exampleImgExts,
- userFriendlyFilePath);
+ exampleImgExts);
outFileNames_ << prefix.mid(1) + userFriendlyFilePath;
userFriendlyFilePath.truncate(userFriendlyFilePath.lastIndexOf('/'));
QString imgOutDir = outDir_ + prefix + userFriendlyFilePath;
@@ -1786,7 +1785,7 @@ QString Generator::imageFileName(const Node *relative, const QString& fileBase)
imageDirs,
fileBase,
imgFileExts[format()],
- userFriendlyFilePath);
+ &userFriendlyFilePath);
if (filePath.isEmpty())
return QString();