diff -r 93b982ccede2 -r 5daf16870df6 tools/qdoc3/codeparser.cpp --- a/tools/qdoc3/codeparser.cpp Mon Jun 21 22:38:13 2010 +0100 +++ b/tools/qdoc3/codeparser.cpp Thu Jul 22 16:41:55 2010 +0100 @@ -43,11 +43,11 @@ codeparser.cpp */ -#include #include "codeparser.h" #include "node.h" #include "tree.h" #include "config.h" +#include QT_BEGIN_NAMESPACE @@ -59,6 +59,7 @@ #define COMMAND_MAINCLASS Doc::alias(QLatin1String("mainclass")) #define COMMAND_NONREENTRANT Doc::alias(QLatin1String("nonreentrant")) #define COMMAND_OBSOLETE Doc::alias(QLatin1String("obsolete")) +#define COMMAND_PAGEKEYWORDS Doc::alias(QLatin1String("pagekeywords")) #define COMMAND_PRELIMINARY Doc::alias(QLatin1String("preliminary")) #define COMMAND_INPUBLICGROUP Doc::alias(QLatin1String("inpublicgroup")) #define COMMAND_REENTRANT Doc::alias(QLatin1String("reentrant")) @@ -69,6 +70,7 @@ QList CodeParser::parsers; bool CodeParser::showInternal = false; +QMap CodeParser::nameToTitle; /*! The constructor adds this code parser to the static @@ -170,6 +172,7 @@ << COMMAND_MAINCLASS << COMMAND_NONREENTRANT << COMMAND_OBSOLETE + << COMMAND_PAGEKEYWORDS << COMMAND_PRELIMINARY << COMMAND_INPUBLICGROUP << COMMAND_REENTRANT @@ -230,6 +233,9 @@ else if (command == COMMAND_SINCE) { node->setSince(arg); } + else if (command == COMMAND_PAGEKEYWORDS) { + node->addPageKeywords(arg); + } else if (command == COMMAND_SUBTITLE) { if (node->type() == Node::Fake) { FakeNode *fake = static_cast(node); @@ -245,10 +251,20 @@ if (node->type() == Node::Fake) { FakeNode *fake = static_cast(node); fake->setTitle(arg); + nameToTitle.insert(fake->name(),arg); } else location.warning(tr("Ignored '\\%1'").arg(COMMAND_TITLE)); } } +/*! + Find the page title given the page \a name and return it. + */ +const QString CodeParser::titleFromName(const QString& name) +{ + const QString t = nameToTitle.value(name); + return t; +} + QT_END_NAMESPACE