From: Martin Smith Date: Tue, 31 Jul 2012 11:57:20 +0000 (+0200) Subject: qdoc: Added support for modularized example doc X-Git-Tag: v5.0.0-beta1~470 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e178b49522465becf1b0c56bff1974e6037ba9ec;p=profile%2Fivi%2Fqtbase.git qdoc: Added support for modularized example doc qdoc now searches for .qdoc files in the directories listed in the exampledirs variable. These files are added to the list of sources to be parsed. Task nr: QTBUG-26708 Change-Id: I6dfd7cd7b41e0bdf847f88b6d61ac0272902d4e1 Reviewed-by: Casper van Donderen --- diff --git a/src/tools/qdoc/config.cpp b/src/tools/qdoc/config.cpp index e1a0283..f2e6631 100644 --- a/src/tools/qdoc/config.cpp +++ b/src/tools/qdoc/config.cpp @@ -315,7 +315,7 @@ QSet Config::getStringSet(const QString& var) const /*! First, this function looks up the configuration variable \a var in the location map and, if found, sets the internal variable - \c{lastLoc} the Location that \a var maps to. + \c{lastLoc} to the Location that \a var maps to. Then it looks up the configuration variable \a var in the string list map, and returns the string list that \a var maps to. @@ -477,6 +477,22 @@ QStringList Config::getAllFiles(const QString &filesVar, return result; } +QStringList Config::getExampleQdocFiles() +{ + QStringList result; + QSet excludedDirs; + QSet excludedFiles; + QStringList dirs = getStringList("exampledirs"); + QString nameFilter = " *.qdoc"; + + QStringList::ConstIterator d = dirs.constBegin(); + while (d != dirs.constEnd()) { + result += getFilesHere(*d, nameFilter, excludedDirs, excludedFiles); + ++d; + } + return result; +} + /*! \a fileName is the path of the file to find. diff --git a/src/tools/qdoc/config.h b/src/tools/qdoc/config.h index baab42e..408bffe 100644 --- a/src/tools/qdoc/config.h +++ b/src/tools/qdoc/config.h @@ -85,7 +85,7 @@ public: const QString& dirsVar, const QSet &excludedDirs = QSet(), const QSet &excludedFiles = QSet()); - + QStringList getExampleQdocFiles(); static QStringList getFilesHere(const QString& dir, const QString& nameFilter, const QSet &excludedDirs = QSet(), diff --git a/src/tools/qdoc/main.cpp b/src/tools/qdoc/main.cpp index effeadf..32a2282 100644 --- a/src/tools/qdoc/main.cpp +++ b/src/tools/qdoc/main.cpp @@ -363,6 +363,16 @@ static void processQdocconfFile(const QString &fileName) QString t = sourceList[i].mid(sourceList[i].lastIndexOf('/')+1); sourceFileNames.insert(t,t); } + /* + Find all the qdoc files in the example dirs, and add + them to the source files to be parsed. + */ + QStringList exampleQdocList = config.getExampleQdocFiles(); + for (int i=0; i