summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@digia.com>2012-11-26 13:54:43 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-11-26 15:01:12 +0100
commit274407f347c56d7ace9651c21a03d7bc0ab50f78 (patch)
tree82ebdbfec6a77b1d05c5354979c503ee67d8f433 /src
parenta2ab156872195e0398f4cfe1992b526aa1315c76 (diff)
Allow qdocconf to specify where the examples are located in install.
We have qdoc configurations for the different qtbase libraries and modules now, which specify e.g. "../../../examples/opengl" for the exampledirs. That means that qdoc finds examples like "2dpainting/2dpainting.pro" which is then installed into "[QT_INSTALL_EXAMPLES]/opengl/2dpainting/2dpainting.pro". (At the moment even into "[QT_INSTALL_EXAMPLES]/qtbase/opengl/...", which will be changed to match the structure in source.) In order for Qt Creator to find the examples, qdoc must write the path behind [QT_INSTALL_EXAMPLES] into the example manifest file. This patch introduces "examplesinstallpath" that allows qdoc configs to specify the missing part, e.g. the opengl qdocconf can add examplesinstallpath = opengl to tell qdoc that the examples will be installed into "[QT_INSTALL_EXAMPLES]/opengl/" Task-number: QTBUG-27801 Change-Id: Idf518e16d3ca0f9522b084e92f34725b93e9d11f Reviewed-by: Martin Smith <martin.smith@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/tools/qdoc/config.h1
-rw-r--r--src/tools/qdoc/htmlgenerator.cpp10
-rw-r--r--src/tools/qdoc/htmlgenerator.h1
3 files changed, 8 insertions, 4 deletions
diff --git a/src/tools/qdoc/config.h b/src/tools/qdoc/config.h
index f5c1999159..88c4db3e45 100644
--- a/src/tools/qdoc/config.h
+++ b/src/tools/qdoc/config.h
@@ -168,6 +168,7 @@ private:
#define CONFIG_ENDHEADER "endheader"
#define CONFIG_EXAMPLEDIRS "exampledirs"
#define CONFIG_EXAMPLES "examples"
+#define CONFIG_EXAMPLESINSTALLPATH "examplesinstallpath"
#define CONFIG_EXCLUDEDIRS "excludedirs"
#define CONFIG_EXCLUDEFILES "excludefiles"
#define CONFIG_EXTRAIMAGES "extraimages"
diff --git a/src/tools/qdoc/htmlgenerator.cpp b/src/tools/qdoc/htmlgenerator.cpp
index 5b752ffe2c..45c9777929 100644
--- a/src/tools/qdoc/htmlgenerator.cpp
+++ b/src/tools/qdoc/htmlgenerator.cpp
@@ -223,7 +223,9 @@ void HtmlGenerator::initializeGenerator(const Config &config)
QString prefix = CONFIG_QHP + Config::dot + project + Config::dot;
manifestDir = "qthelp://" + config.getString(prefix + "namespace");
manifestDir += QLatin1Char('/') + config.getString(prefix + "virtualFolder") + QLatin1Char('/');
-
+ examplesPath = config.getString(CONFIG_EXAMPLESINSTALLPATH);
+ if (!examplesPath.isEmpty())
+ examplesPath += QLatin1Char('/');
}
/*!
@@ -4094,7 +4096,7 @@ void HtmlGenerator::generateManifestFile(QString manifest, QString element)
}
if (!proFiles.isEmpty()) {
if (proFiles.size() == 1) {
- writer.writeAttribute("projectPath", proFiles[0]);
+ writer.writeAttribute("projectPath", examplesPath + proFiles[0]);
}
else {
QString exampleName = en->name().split('/').last();
@@ -4103,13 +4105,13 @@ void HtmlGenerator::generateManifestFile(QString manifest, QString element)
{
if (proFiles[j].endsWith(QStringLiteral("%1/%1.pro").arg(exampleName))
|| proFiles[j].endsWith(QStringLiteral("%1/%1.qmlproject").arg(exampleName))) {
- writer.writeAttribute("projectPath", proFiles[j]);
+ writer.writeAttribute("projectPath", examplesPath + proFiles[j]);
proWithExampleNameFound = true;
break;
}
}
if (!proWithExampleNameFound)
- writer.writeAttribute("projectPath", proFiles[0]);
+ writer.writeAttribute("projectPath", examplesPath + proFiles[0]);
}
}
if (!en->imageFileName().isEmpty())
diff --git a/src/tools/qdoc/htmlgenerator.h b/src/tools/qdoc/htmlgenerator.h
index c4af3c499e..31895d923b 100644
--- a/src/tools/qdoc/htmlgenerator.h
+++ b/src/tools/qdoc/htmlgenerator.h
@@ -236,6 +236,7 @@ private:
QString projectUrl;
QString navigationLinks;
QString manifestDir;
+ QString examplesPath;
QStringList stylesheets;
QStringList customHeadElements;
bool obsoleteLinks;