diff options
Diffstat (limited to 'tools/qdoc3')
60 files changed, 728 insertions, 444 deletions
diff --git a/tools/qdoc3/codemarker.cpp b/tools/qdoc3/codemarker.cpp index 614419e..705ef6c 100644 --- a/tools/qdoc3/codemarker.cpp +++ b/tools/qdoc3/codemarker.cpp @@ -76,7 +76,7 @@ CodeMarker::~CodeMarker() A code market performs no initialization by default. Marker-specific initialization is performed in subclasses. */ -void CodeMarker::initializeMarker(const Config &config) +void CodeMarker::initializeMarker(const Config& ) // config { } diff --git a/tools/qdoc3/codeparser.cpp b/tools/qdoc3/codeparser.cpp index c7a8912..9ab5f82 100644 --- a/tools/qdoc3/codeparser.cpp +++ b/tools/qdoc3/codeparser.cpp @@ -287,6 +287,9 @@ void CodeParser::processCommonMetaCommand(const Location &location, FakeNode *fake = static_cast<FakeNode *>(node); fake->setTitle(arg); nameToTitle.insert(fake->name(),arg); + if (fake->subType() == Node::Example) { + + } } else location.warning(tr("Ignored '\\%1'").arg(COMMAND_TITLE)); diff --git a/tools/qdoc3/cppcodemarker.cpp b/tools/qdoc3/cppcodemarker.cpp index b81e979..743688f 100644 --- a/tools/qdoc3/cppcodemarker.cpp +++ b/tools/qdoc3/cppcodemarker.cpp @@ -49,6 +49,8 @@ #include "text.h" #include "tree.h" +#include <ctype.h> + QT_BEGIN_NAMESPACE /*! @@ -876,26 +878,6 @@ static const char * const keywordTable[] = { "signals", "slots", "emit", 0 }; -static QString untabified(const QString &in) -{ - QString res; - int col = 0; - int i = 0; - - for (; i < (int) in.length(); i++) { - if (in[i] == QChar('\t')) { - res += QString(" " + (col & 0x7)); - col = (col + 8) & ~0x7; - } else { - res += in[i]; - if (in[i] == QChar('\n')) - col = 0; - } - } - - return res; -} - /* @char @class @@ -1155,15 +1137,15 @@ QList<Section> CppCodeMarker::qmlSections(const QmlClassNode* qmlClassNode, "property", "properties"); FastSection qmlsignals(qmlClassNode, - "Signals", + "Signal Handlers", "", - "signal", - "signals"); + "signal handler", + "signal handlers"); FastSection qmlattachedsignals(qmlClassNode, - "Attached Signals", + "Attached Signal Handlers", "", - "signal", - "signals"); + "signal handler", + "signal handlers"); FastSection qmlmethods(qmlClassNode, "Methods", "", @@ -1218,9 +1200,9 @@ QList<Section> CppCodeMarker::qmlSections(const QmlClassNode* qmlClassNode, FastSection qmlproperties(qmlClassNode, "Property Documentation","qmlprop","member","members"); FastSection qmlattachedproperties(qmlClassNode,"Attached Property Documentation","qmlattprop", "member","members"); - FastSection qmlsignals(qmlClassNode,"Signal Documentation","qmlsig","member","members"); - FastSection qmlattachedsignals(qmlClassNode,"Attached Signal Documentation","qmlattsig", - "member","members"); + FastSection qmlsignals(qmlClassNode,"Signal Handler Documentation","qmlsig","handler","handlers"); + FastSection qmlattachedsignals(qmlClassNode,"Attached Signal Handler Documentation","qmlattsig", + "handler","handlers"); FastSection qmlmethods(qmlClassNode,"Method Documentation","qmlmeth","member","members"); FastSection qmlattachedmethods(qmlClassNode,"Attached Method Documentation","qmlattmeth", "member","members"); diff --git a/tools/qdoc3/cppcodeparser.cpp b/tools/qdoc3/cppcodeparser.cpp index 6f5baa0..1a4c344 100644 --- a/tools/qdoc3/cppcodeparser.cpp +++ b/tools/qdoc3/cppcodeparser.cpp @@ -47,7 +47,7 @@ #include <stdio.h> #include <errno.h> - +#include <qdebug.h> #include "codechunk.h" #include "config.h" #include "cppcodeparser.h" @@ -704,7 +704,7 @@ Node *CppCodeParser::processTopicCommand(const Doc& doc, if (command == COMMAND_CLASS) { if (paths.size() > 1) { if (!paths[1].endsWith(".h")) { - ClassNode*cnode = static_cast<ClassNode*>(node); + ClassNode* cnode = static_cast<ClassNode*>(node); cnode->setQmlElement(paths[1]); } } @@ -712,9 +712,9 @@ Node *CppCodeParser::processTopicCommand(const Doc& doc, return node; } else if (command == COMMAND_EXAMPLE) { - FakeNode *fake = new FakeNode(tre->root(), arg, Node::Example); - createExampleFileNodes(fake); - return fake; + ExampleNode* en = new ExampleNode(tre->root(), arg); + createExampleFileNodes(en); + return en; } else if (command == COMMAND_EXTERNALPAGE) { return new FakeNode(tre->root(), arg, Node::ExternalPage); @@ -2349,8 +2349,8 @@ void CppCodeParser::createExampleFileNodes(FakeNode *fake) proFileName, userFriendlyFilePath); if (fullPath.isEmpty()) { - fake->doc().location().warning( - tr("Cannot find file '%1' or '%2'").arg(tmp).arg(proFileName)); + fake->doc().location().warning(tr("Cannot find file '%1' or '%2'").arg(tmp).arg(proFileName)); + fake->doc().location().warning(tr("EXAMPLE PATH DOES NOT EXIST: %1").arg(examplePath)); return; } } @@ -2362,7 +2362,6 @@ void CppCodeParser::createExampleFileNodes(FakeNode *fake) QStringList exampleFiles = Config::getFilesHere(fullPath,exampleNameFilter); QString imagesPath = fullPath + "/images"; QStringList imageFiles = Config::getFilesHere(imagesPath,exampleImageFilter); - if (!exampleFiles.isEmpty()) { // move main.cpp and to the end, if it exists QString mainCpp; @@ -2382,7 +2381,7 @@ void CppCodeParser::createExampleFileNodes(FakeNode *fake) exampleFiles.append(mainCpp); // add any qmake Qt resource files and qmake project files - exampleFiles += Config::getFilesHere(fullPath, "*.qrc *.pro qmldir"); + exampleFiles += Config::getFilesHere(fullPath, "*.qrc *.pro *.qmlproject qmldir"); } foreach (const QString &exampleFile, exampleFiles) diff --git a/tools/qdoc3/ditaxmlgenerator.cpp b/tools/qdoc3/ditaxmlgenerator.cpp index 64f12d6..e3e32a0 100644 --- a/tools/qdoc3/ditaxmlgenerator.cpp +++ b/tools/qdoc3/ditaxmlgenerator.cpp @@ -751,7 +751,7 @@ int DitaXmlGenerator::generateAtom(const Atom *atom, { writeStartTag(DT_codeblock); xmlWriter().writeAttribute("outputclass","cpp"); - QString chars = trimmedTrailing(atom->string()); + QString chars = trimmedTrailing(atom->string()); writeText(chars, marker, relative); writeEndTag(); // </codeblock> } @@ -2101,9 +2101,10 @@ DitaXmlGenerator::generateClassLikeNode(const InnerNode* inner, CodeMarker* mark generateSince(qcn, marker); enterSection("h2","Detailed Description"); generateBody(qcn, marker); - if (cn) + if (cn) { generateQmlText(cn->doc().body(), cn, marker, qcn->name()); - generateAlsoList(cn, marker); + generateAlsoList(cn, marker); + } leaveSection(); leaveSection(); // </apiDesc> @@ -3391,6 +3392,7 @@ void DitaXmlGenerator::writeText(const QString& markedCode, "<@type>", "<@type>", "<@headerfile>", "<@headerfile>", "<@func>", "<@func>", + "<@func ", "<@func ", "<@param>", "<@param>", "<@extra>", "<@extra>", "</@link>", "</@link>", @@ -3403,7 +3405,7 @@ void DitaXmlGenerator::writeText(const QString& markedCode, for (int i = 0, n = src.size(); i < n;) { if (src.at(i) == charLangle) { bool handled = false; - for (int k = 0; k != 12; ++k) { + for (int k = 0; k != 13; ++k) { const QString & tag = spanTags[2 * k]; if (tag == QStringRef(&src, i, tag.length())) { html += spanTags[2 * k + 1]; @@ -4316,7 +4318,8 @@ void DitaXmlGenerator::generateDetailedQmlMember(const Node* node, writeStartTag(DT_li); writeGuidAttribute((Node*)qpn); QString attr; - if (!qpn->isWritable(myTree)) + const ClassNode* cn = qpn->declarativeCppNode(); + if (cn && !qpn->isWritable(myTree)) attr = "read-only"; if (qpgn->isDefault()) { if (!attr.isEmpty()) diff --git a/tools/qdoc3/doc.cpp b/tools/qdoc3/doc.cpp index 37f68f8..f1f1418 100644 --- a/tools/qdoc3/doc.cpp +++ b/tools/qdoc3/doc.cpp @@ -62,7 +62,7 @@ QT_BEGIN_NAMESPACE Q_GLOBAL_STATIC(QSet<QString>, null_Set_QString) Q_GLOBAL_STATIC(QStringList, null_QStringList) Q_GLOBAL_STATIC(QList<Text>, null_QList_Text) -Q_GLOBAL_STATIC(QStringMap, null_QStringMap) +//Q_GLOBAL_STATIC(QStringMap, null_QStringMap) Q_GLOBAL_STATIC(QStringMultiMap, null_QStringMultiMap) struct Macro @@ -1861,7 +1861,7 @@ void DocParser::startSection(Doc::Sections unit, int cmd) } -void DocParser::endSection(int unit, int endCmd) +void DocParser::endSection(int , int) // (int unit, int endCmd) { leavePara(); append(Atom::SectionRight, QString::number(currentSection)); diff --git a/tools/qdoc3/doc/config/images/arrow_down.png b/tools/qdoc3/doc/config/images/arrow_down.png Binary files differnew file mode 100644 index 0000000..9d01e97 --- /dev/null +++ b/tools/qdoc3/doc/config/images/arrow_down.png diff --git a/tools/qdoc3/doc/config/images/bg_l.png b/tools/qdoc3/doc/config/images/bg_l.png Binary files differnew file mode 100755 index 0000000..90b1da1 --- /dev/null +++ b/tools/qdoc3/doc/config/images/bg_l.png diff --git a/tools/qdoc3/doc/config/images/bg_l_blank.png b/tools/qdoc3/doc/config/images/bg_l_blank.png Binary files differnew file mode 100755 index 0000000..5a9673d --- /dev/null +++ b/tools/qdoc3/doc/config/images/bg_l_blank.png diff --git a/tools/qdoc3/doc/config/images/bg_ll_blank.png b/tools/qdoc3/doc/config/images/bg_ll_blank.png Binary files differnew file mode 100644 index 0000000..95a1c45 --- /dev/null +++ b/tools/qdoc3/doc/config/images/bg_ll_blank.png diff --git a/tools/qdoc3/doc/config/images/bg_r.png b/tools/qdoc3/doc/config/images/bg_r.png Binary files differnew file mode 100755 index 0000000..f0fb121 --- /dev/null +++ b/tools/qdoc3/doc/config/images/bg_r.png diff --git a/tools/qdoc3/doc/config/images/bg_ul_blank.png b/tools/qdoc3/doc/config/images/bg_ul_blank.png Binary files differnew file mode 100644 index 0000000..7051261 --- /dev/null +++ b/tools/qdoc3/doc/config/images/bg_ul_blank.png diff --git a/tools/qdoc3/doc/config/images/box_bg.png b/tools/qdoc3/doc/config/images/box_bg.png Binary files differnew file mode 100755 index 0000000..3322f92 --- /dev/null +++ b/tools/qdoc3/doc/config/images/box_bg.png diff --git a/tools/qdoc3/doc/config/images/breadcrumb.png b/tools/qdoc3/doc/config/images/breadcrumb.png Binary files differnew file mode 100755 index 0000000..0ded551 --- /dev/null +++ b/tools/qdoc3/doc/config/images/breadcrumb.png diff --git a/tools/qdoc3/doc/config/images/bullet_dn.png b/tools/qdoc3/doc/config/images/bullet_dn.png Binary files differnew file mode 100644 index 0000000..f776247 --- /dev/null +++ b/tools/qdoc3/doc/config/images/bullet_dn.png diff --git a/tools/qdoc3/doc/config/images/bullet_gt.png b/tools/qdoc3/doc/config/images/bullet_gt.png Binary files differnew file mode 100755 index 0000000..7561b4e --- /dev/null +++ b/tools/qdoc3/doc/config/images/bullet_gt.png diff --git a/tools/qdoc3/doc/config/images/bullet_sq.png b/tools/qdoc3/doc/config/images/bullet_sq.png Binary files differnew file mode 100755 index 0000000..a84845e --- /dev/null +++ b/tools/qdoc3/doc/config/images/bullet_sq.png diff --git a/tools/qdoc3/doc/config/images/bullet_up.png b/tools/qdoc3/doc/config/images/bullet_up.png Binary files differnew file mode 100644 index 0000000..7de2f06 --- /dev/null +++ b/tools/qdoc3/doc/config/images/bullet_up.png diff --git a/tools/qdoc3/doc/config/images/feedbackground.png b/tools/qdoc3/doc/config/images/feedbackground.png Binary files differnew file mode 100755 index 0000000..3a38d99 --- /dev/null +++ b/tools/qdoc3/doc/config/images/feedbackground.png diff --git a/tools/qdoc3/doc/config/images/header_bg.png b/tools/qdoc3/doc/config/images/header_bg.png Binary files differnew file mode 100644 index 0000000..a436aa6 --- /dev/null +++ b/tools/qdoc3/doc/config/images/header_bg.png diff --git a/tools/qdoc3/doc/config/images/horBar.png b/tools/qdoc3/doc/config/images/horBar.png Binary files differnew file mode 100755 index 0000000..100fe91 --- /dev/null +++ b/tools/qdoc3/doc/config/images/horBar.png diff --git a/tools/qdoc3/doc/config/images/page.png b/tools/qdoc3/doc/config/images/page.png Binary files differnew file mode 100644 index 0000000..1db151b --- /dev/null +++ b/tools/qdoc3/doc/config/images/page.png diff --git a/tools/qdoc3/doc/config/images/page_bg.png b/tools/qdoc3/doc/config/images/page_bg.png Binary files differnew file mode 100755 index 0000000..9b3bd99 --- /dev/null +++ b/tools/qdoc3/doc/config/images/page_bg.png diff --git a/tools/qdoc3/doc/config/images/spinner.gif b/tools/qdoc3/doc/config/images/spinner.gif Binary files differnew file mode 100644 index 0000000..1ed786f --- /dev/null +++ b/tools/qdoc3/doc/config/images/spinner.gif diff --git a/tools/qdoc3/doc/config/images/sprites-combined.png b/tools/qdoc3/doc/config/images/sprites-combined.png Binary files differnew file mode 100755 index 0000000..3a48b21 --- /dev/null +++ b/tools/qdoc3/doc/config/images/sprites-combined.png diff --git a/tools/qdoc3/helpprojectwriter.cpp b/tools/qdoc3/helpprojectwriter.cpp index 6a99a3b..4629644 100644 --- a/tools/qdoc3/helpprojectwriter.cpp +++ b/tools/qdoc3/helpprojectwriter.cpp @@ -48,6 +48,7 @@ #include "config.h" #include "node.h" #include "tree.h" +#include <qdebug.h> QT_BEGIN_NAMESPACE diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp index 655c3b4..85ce9ac 100644 --- a/tools/qdoc3/htmlgenerator.cpp +++ b/tools/qdoc3/htmlgenerator.cpp @@ -161,6 +161,9 @@ void HtmlGenerator::initializeGenerator(const Config &config) pleaseGenerateMacRef = config.getBool(HtmlGenerator::format() + Config::dot + HTMLGENERATOR_GENERATEMACREFS); + noBreadCrumbs = config.getBool(HtmlGenerator::format() + + Config::dot + + HTMLGENERATOR_NOBREADCRUMBS); project = config.getString(CONFIG_PROJECT); @@ -257,6 +260,7 @@ void HtmlGenerator::generateTree(const Tree *tree) generatePageIndex(outputDir() + "/" + fileBase + ".pageindex"); helpProjectWriter->generate(myTree); + generateManifestFiles(); } void HtmlGenerator::startText(const Node * /* relative */, @@ -312,8 +316,10 @@ int HtmlGenerator::generateAtom(const Atom *atom, break; case Atom::BriefLeft: if (relative->type() == Node::Fake) { - skipAhead = skipAtoms(atom, Atom::BriefRight); - break; + if (relative->subType() != Node::Example) { + skipAhead = skipAtoms(atom, Atom::BriefRight); + break; + } } out() << "<p>"; @@ -750,6 +756,15 @@ int HtmlGenerator::generateAtom(const Atom *atom, out() << " alt=\"" << protectEnc(text) << "\""; out() << " />"; helpProjectWriter->addExtraFile(fileName); + if ((relative->type() == Node::Fake) && + (relative->subType() == Node::Example)) { + const ExampleNode* cen = static_cast<const ExampleNode*>(relative); + if (cen->imageFileName().isEmpty()) { + ExampleNode* en = const_cast<ExampleNode*>(cen); + en->setImageFileName(fileName); + ExampleNode::exampleNodeMap.insert(en->title(),en); + } + } } if (atom->type() == Atom::Image) out() << "</p>"; @@ -1492,8 +1507,10 @@ void HtmlGenerator::generateBreadCrumbs(const QString &title, const Node *node, CodeMarker *marker) { + if (noBreadCrumbs) + return; + Text breadcrumbs; - if (node->type() == Node::Class) { const ClassNode *cn = static_cast<const ClassNode *>(node); QString name = node->moduleName(); @@ -1780,7 +1797,6 @@ void HtmlGenerator::generateTableOfContents(const Node *node, toc = node->doc().tableOfContents(); if (toc.isEmpty() && !sections && (node->subType() != Node::Module)) return; - bool debug = false; QStringList sectionNumber; int detailsBase = 0; @@ -3706,8 +3722,6 @@ void HtmlGenerator::endLink() inObsoleteLink = false; } -#ifdef QDOC_QML - /*! Generates the summary for the \a section. Only used for sections of QML element documentation. @@ -3764,7 +3778,8 @@ void HtmlGenerator::generateDetailedQmlMember(const Node *node, out() << "<a name=\"" + refForNode(qpn) + "\"></a>"; - if (!qpn->isWritable(myTree)) { + const ClassNode* cn = qpn->declarativeCppNode(); + if (cn && !qpn->isWritable(myTree)) { out() << "<span class=\"qmlreadonly\">read-only</span>"; } if (qpgn->isDefault()) @@ -4193,7 +4208,6 @@ QString HtmlGenerator::fullDocumentLocation(const Node *node) return ""; } else if (node->type() == Node::Fake) { -#ifdef QDOC_QML if ((node->subType() == Node::QmlClass) || (node->subType() == Node::QmlBasicType)) { QString fb = node->fileBase(); @@ -4201,9 +4215,9 @@ QString HtmlGenerator::fullDocumentLocation(const Node *node) return fb + ".html"; else return Generator::outputPrefix(QLatin1String("QML")) + node->fileBase() + QLatin1String(".html"); - } else -#endif - parentName = node->fileBase() + ".html"; + } + else + parentName = node->fileBase() + ".html"; } else if (node->fileBase().isEmpty()) return ""; @@ -4314,6 +4328,165 @@ QString HtmlGenerator::fullDocumentLocation(const Node *node) return parentName.toLower() + anchorRef; } -#endif +/*! + This function outputs one or more manifest files in XML. + They are used by Creator. + */ +void HtmlGenerator::generateManifestFiles() +{ + generateManifestFile("examples", "example"); + generateManifestFile("demos", "demo"); + ExampleNode::exampleNodeMap.clear(); +} + +/*! + This function is called by generaqteManiferstFile(), once + for each manifest file to be generated. \a manifest is the + type of manifest file. + */ +void HtmlGenerator::generateManifestFile(QString manifest, QString element) +{ + if (ExampleNode::exampleNodeMap.isEmpty()) + return; + QString fileName = manifest +"-manifest.xml"; + QFile file(outputDir() + "/" + fileName); + if (!file.open(QFile::WriteOnly | QFile::Text)) + return ; + bool demos = false; + if (manifest == "demos") + demos = true; + + bool proceed = false; + ExampleNodeMap::Iterator i = ExampleNode::exampleNodeMap.begin(); + while (i != ExampleNode::exampleNodeMap.end()) { + const ExampleNode* en = i.value(); + if (demos) { + if (en->name().startsWith("demos")) { + proceed = true; + break; + } + } + else if (!en->name().startsWith("demos")) { + proceed = true; + break; + } + ++i; + } + if (!proceed) + return; + + QXmlStreamWriter writer(&file); + writer.setAutoFormatting(true); + writer.writeStartDocument(); + writer.writeStartElement("instructionals"); + writer.writeAttribute("module", project); + writer.writeStartElement(manifest); + + i = ExampleNode::exampleNodeMap.begin(); + while (i != ExampleNode::exampleNodeMap.end()) { + const ExampleNode* en = i.value(); + if (demos) { + if (!en->name().startsWith("demos")) { + ++i; + continue; + } + } + else if (en->name().startsWith("demos")) { + ++i; + continue; + } + writer.writeStartElement(element); + writer.writeAttribute("name", en->title()); + //QString docUrl = projectUrl + "/" + en->fileBase() + ".html"; + QString docUrl = "%REPLACEME%/" + en->fileBase() + ".html"; + writer.writeAttribute("docUrl", docUrl); + foreach (const Node* child, en->childNodes()) { + if (child->subType() == Node::File) { + QString file = child->name(); + if (file.endsWith(".pro") || file.endsWith(".qmlproject")) { + if (file.startsWith("demos/")) + file = file.mid(6); + writer.writeAttribute("projectPath", file); + break; + } + } + } + //writer.writeAttribute("imageUrl", projectUrl + "/" + en->imageFileName()); + writer.writeAttribute("imageUrl", "%REPLACEME%/" + en->imageFileName()); + writer.writeStartElement("description"); + Text brief = en->doc().briefText(); + if (!brief.isEmpty()) + writer.writeCDATA(brief.toString()); + else + writer.writeCDATA(QString("No description available")); + writer.writeEndElement(); // description + QStringList tags = en->title().toLower().split(" "); + if (!tags.isEmpty()) { + writer.writeStartElement("tags"); + bool wrote_one = false; + for (int n=0; n<tags.size(); ++n) { + QString tag = tags.at(n); + if (tag.at(0).isDigit()) + continue; + if (tag.at(0) == '-') + continue; + if (tag.startsWith("example")) + continue; + if (tag.startsWith("chapter")) + continue; + if (tag.endsWith(":")) + tag.chop(1); + if (n>0 && wrote_one) + writer.writeCharacters(","); + writer.writeCharacters(tag); + wrote_one = true; + } + writer.writeEndElement(); // tags + } + + QString ename = en->name().mid(en->name().lastIndexOf('/')+1); + QSet<QString> usedNames; + foreach (const Node* child, en->childNodes()) { + if (child->subType() == Node::File) { + QString file = child->name(); + QString fileName = file.mid(file.lastIndexOf('/')+1); + QString baseName = fileName; + if ((fileName.count(QChar('.')) > 0) && + (fileName.endsWith(".cpp") || + fileName.endsWith(".h") || + fileName.endsWith(".qml"))) + baseName.truncate(baseName.lastIndexOf(QChar('.'))); + if (baseName.toLower() == ename) { + if (!usedNames.contains(fileName)) { + writer.writeStartElement("fileToOpen"); + if (file.startsWith("demos/")) + file = file.mid(6); + writer.writeCharacters(file); + writer.writeEndElement(); // fileToOpen + usedNames.insert(fileName); + } + } + else if (fileName.toLower().endsWith("main.cpp") || + fileName.toLower().endsWith("main.qml")) { + if (!usedNames.contains(fileName)) { + writer.writeStartElement("fileToOpen"); + if (file.startsWith("demos/")) + file = file.mid(6); + writer.writeCharacters(file); + writer.writeEndElement(); // fileToOpen + usedNames.insert(fileName); + } + } + } + } + writer.writeEndElement(); // example + ++i; + } + + writer.writeEndElement(); // examples + writer.writeEndElement(); // instructionals + writer.writeEndDocument(); + file.close(); +} QT_END_NAMESPACE diff --git a/tools/qdoc3/htmlgenerator.h b/tools/qdoc3/htmlgenerator.h index e36c562..62a7f605 100644 --- a/tools/qdoc3/htmlgenerator.h +++ b/tools/qdoc3/htmlgenerator.h @@ -87,6 +87,7 @@ class HtmlGenerator : public PageGenerator virtual void terminateGenerator(); virtual QString format(); virtual void generateTree(const Tree *tree); + void generateManifestFiles(); QString protectEnc(const QString &string); static QString protect(const QString &string, const QString &encoding = "ISO-8859-1"); @@ -106,6 +107,8 @@ class HtmlGenerator : public PageGenerator virtual QString linkForNode(const Node *node, const Node *relative); virtual QString refForAtom(Atom *atom, const Node *node); + void generateManifestFile(QString manifest, QString element); + private: enum SubTitleSize { SmallSubTitle, LargeSubTitle }; enum ExtractionMarkType { @@ -266,6 +269,7 @@ class HtmlGenerator : public PageGenerator QString footer; QString address; bool pleaseGenerateMacRef; + bool noBreadCrumbs; QString project; QString projectDescription; QString projectUrl; @@ -296,6 +300,7 @@ class HtmlGenerator : public PageGenerator #define HTMLGENERATOR_GENERATEMACREFS "generatemacrefs" // ### document me #define HTMLGENERATOR_POSTHEADER "postheader" #define HTMLGENERATOR_POSTPOSTHEADER "postpostheader" +#define HTMLGENERATOR_NOBREADCRUMBS "nobreadcrumbs" QT_END_NAMESPACE diff --git a/tools/qdoc3/jscodemarker.cpp b/tools/qdoc3/jscodemarker.cpp index bb9e829..9016988 100644 --- a/tools/qdoc3/jscodemarker.cpp +++ b/tools/qdoc3/jscodemarker.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tools/qdoc3/node.cpp b/tools/qdoc3/node.cpp index 189c28f..709f03f 100644 --- a/tools/qdoc3/node.cpp +++ b/tools/qdoc3/node.cpp @@ -51,6 +51,8 @@ QT_BEGIN_NAMESPACE +ExampleNodeMap ExampleNode::exampleNodeMap; + /*! \class Node \brief The Node class is a node in the Tree. @@ -317,6 +319,38 @@ QString Node::ditaXmlHref() } /*! + If this node is a QML class node, return a pointer to it. + If it is a child of a QML class node, return a pointer to + the QML class node. Otherwise, return 0; + */ +const QmlClassNode* Node::qmlClassNode() const +{ + if (isQmlNode()) { + const Node* n = this; + while (n && n->subType() != Node::QmlClass) + n = n->parent(); + if (n && n->subType() == Node::QmlClass) + return static_cast<const QmlClassNode*>(n); + } + return 0; +} + +/*! + If this node is a QML node, find its QML class node, + and return a pointer to the C++ class node from the + QML class node. That pointer will be null if the QML + class node is a component. It will be non-null if + the QML class node is a QML element. + */ +const ClassNode* Node::declarativeCppNode() const +{ + const QmlClassNode* qcn = qmlClassNode(); + if (qcn) + return qcn->classNode(); + return 0; +} + +/*! \class InnerNode */ @@ -1073,6 +1107,16 @@ QString FakeNode::subTitle() const } /*! + The constructor calls the FakeNode constructor with + \a parent, \a name, and Node::Example. + */ +ExampleNode::ExampleNode(InnerNode* parent, const QString& name) + : FakeNode(parent, name, Node::Example) +{ + // nothing +} + +/*! \class EnumNode */ @@ -1694,37 +1738,6 @@ bool QmlPropertyNode::fromTrool(Trool troolean, bool defaultValue) } } -static QString valueType(const QString &n) -{ - if (n == "QPoint") - return "QDeclarativePointValueType"; - if (n == "QPointF") - return "QDeclarativePointFValueType"; - if (n == "QSize") - return "QDeclarativeSizeValueType"; - if (n == "QSizeF") - return "QDeclarativeSizeFValueType"; - if (n == "QRect") - return "QDeclarativeRectValueType"; - if (n == "QRectF") - return "QDeclarativeRectFValueType"; - if (n == "QVector2D") - return "QDeclarativeVector2DValueType"; - if (n == "QVector3D") - return "QDeclarativeVector3DValueType"; - if (n == "QVector4D") - return "QDeclarativeVector4DValueType"; - if (n == "QQuaternion") - return "QDeclarativeQuaternionValueType"; - if (n == "QMatrix4x4") - return "QDeclarativeMatrix4x4ValueType"; - if (n == "QEasingCurve") - return "QDeclarativeEasingValueType"; - if (n == "QFont") - return "QDeclarativeFontValueType"; - return QString(); -} - /*! Returns true if a QML property or attached property is read-only. The algorithm for figuring this out is long diff --git a/tools/qdoc3/node.h b/tools/qdoc3/node.h index cb16bea..a08151a 100644 --- a/tools/qdoc3/node.h +++ b/tools/qdoc3/node.h @@ -58,7 +58,15 @@ QT_BEGIN_NAMESPACE +class Node; +class ClassNode; class InnerNode; +class ExampleNode; +class QmlClassNode; + +typedef QMap<QString, const Node*> NodeMap; +typedef QMultiMap<QString, Node*> NodeMultiMap; +typedef QMap<QString, const ExampleNode*> ExampleNodeMap; class Node { @@ -194,6 +202,8 @@ class Node QString guid() const; QString ditaXmlHref(); QString extractClassName(const QString &string) const; + const QmlClassNode* qmlClassNode() const; + const ClassNode* declarativeCppNode() const; protected: Node(Type type, InnerNode* parent, const QString& name); @@ -380,8 +390,10 @@ class FakeNode : public InnerNode virtual QString title() const; virtual QString fullTitle() const; virtual QString subTitle() const; + virtual QString imageFileName() const { return QString(); } const NodeList &groupMembers() const { return gr; } virtual QString nameForLists() const { return title(); } + virtual void setImageFileName(const QString& ) { } private: SubType sub; @@ -390,7 +402,21 @@ class FakeNode : public InnerNode NodeList gr; }; -#ifdef QDOC_QML +class ExampleNode : public FakeNode +{ + public: + ExampleNode(InnerNode* parent, const QString& name); + virtual ~ExampleNode() { } + virtual QString imageFileName() const { return imageFileName_; } + virtual void setImageFileName(const QString& ifn) { imageFileName_ = ifn; } + + public: + static ExampleNodeMap exampleNodeMap; + + private: + QString imageFileName_; +}; + class QmlClassNode : public FakeNode { public: @@ -482,7 +508,6 @@ class QmlPropertyNode : public LeafNode Trool wri; bool att; }; -#endif class EnumItem { diff --git a/tools/qdoc3/puredocparser.cpp b/tools/qdoc3/puredocparser.cpp index c7db1bf..0f21cbc 100644 --- a/tools/qdoc3/puredocparser.cpp +++ b/tools/qdoc3/puredocparser.cpp @@ -55,6 +55,11 @@ PureDocParser::~PureDocParser() { } +QString PureDocParser::language() +{ + return "qdoc"; +} + QStringList PureDocParser::sourceFileNameFilter() { return QStringList("*.qdoc"); diff --git a/tools/qdoc3/puredocparser.h b/tools/qdoc3/puredocparser.h index 7f0434d..814c829 100644 --- a/tools/qdoc3/puredocparser.h +++ b/tools/qdoc3/puredocparser.h @@ -64,6 +64,7 @@ public: PureDocParser(); virtual ~PureDocParser(); + virtual QString language(); virtual QStringList sourceFileNameFilter(); }; diff --git a/tools/qdoc3/qmlcodemarker.cpp b/tools/qdoc3/qmlcodemarker.cpp index 179598e..1134947 100644 --- a/tools/qdoc3/qmlcodemarker.cpp +++ b/tools/qdoc3/qmlcodemarker.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tools/qdoc3/qmlcodeparser.cpp b/tools/qdoc3/qmlcodeparser.cpp index ae66d6e..c74b6cb 100644 --- a/tools/qdoc3/qmlcodeparser.cpp +++ b/tools/qdoc3/qmlcodeparser.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tools/qdoc3/qmlmarkupvisitor.cpp b/tools/qdoc3/qmlmarkupvisitor.cpp index f7cb606..78f51bf 100644 --- a/tools/qdoc3/qmlmarkupvisitor.cpp +++ b/tools/qdoc3/qmlmarkupvisitor.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tools/qdoc3/qmlmarkupvisitor.h b/tools/qdoc3/qmlmarkupvisitor.h index 0d9e0cf..5681b2d 100644 --- a/tools/qdoc3/qmlmarkupvisitor.h +++ b/tools/qdoc3/qmlmarkupvisitor.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/tools/qdoc3/qmlvisitor.cpp b/tools/qdoc3/qmlvisitor.cpp index cdc4e84..a8886de 100644 --- a/tools/qdoc3/qmlvisitor.cpp +++ b/tools/qdoc3/qmlvisitor.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -67,20 +67,32 @@ QmlDocVisitor::~QmlDocVisitor() { } -QDeclarativeJS::AST::SourceLocation QmlDocVisitor::precedingComment(unsigned offset) const +QDeclarativeJS::AST::SourceLocation QmlDocVisitor::precedingComment(quint32 offset) const { - QDeclarativeJS::AST::SourceLocation currentLoc; + QListIterator<QDeclarativeJS::AST::SourceLocation> it(engine->comments()); + it.toBack(); - foreach (const QDeclarativeJS::AST::SourceLocation &loc, engine->comments()) { - if (loc.begin() > lastEndOffset && loc.end() < offset) - currentLoc = loc; - else + while (it.hasPrevious()) { + + QDeclarativeJS::AST::SourceLocation loc = it.previous(); + + if (loc.begin() <= lastEndOffset) + // Return if we reach the end of the preceding structure. break; - } - if (currentLoc.isValid()) { - QString comment = document.mid(currentLoc.offset, currentLoc.length); - if (comment.startsWith("!") || comment.startsWith("*")) - return currentLoc; + + else if (usedComments.contains(loc.begin())) + // Return if we encounter a previously used comment. + break; + + else if (loc.begin() > lastEndOffset && loc.end() < offset) { + + // Only examine multiline comments in order to avoid snippet markers. + if (document.mid(loc.offset - 1, 1) == "*") { + QString comment = document.mid(loc.offset, loc.length); + if (comment.startsWith("!") || comment.startsWith("*")) + return loc; + } + } } return QDeclarativeJS::AST::SourceLocation(); @@ -93,20 +105,18 @@ void QmlDocVisitor::applyDocumentation(QDeclarativeJS::AST::SourceLocation locat if (loc.isValid()) { QString source = document.mid(loc.offset, loc.length); - if (source.startsWith(QLatin1String("!")) || - (source.startsWith(QLatin1String("*")) && - source[1] != QLatin1Char('*'))) { - - Location start(filePath); - start.setLineNo(loc.startLine); - start.setColumnNo(loc.startColumn); - Location finish(filePath); - finish.setLineNo(loc.startLine); - finish.setColumnNo(loc.startColumn); - - Doc doc(start, finish, source.mid(1), commands); - node->setDoc(doc); - } + + Location start(filePath); + start.setLineNo(loc.startLine); + start.setColumnNo(loc.startColumn); + Location finish(filePath); + finish.setLineNo(loc.startLine); + finish.setColumnNo(loc.startColumn); + + Doc doc(start, finish, source.mid(1), commands); + node->setDoc(doc); + + usedComments.insert(loc.offset); } } @@ -152,6 +162,11 @@ bool QmlDocVisitor::visit(QDeclarativeJS::AST::UiImportList *imports) return true; } +void QmlDocVisitor::endVisit(QDeclarativeJS::AST::UiImportList *definition) +{ + lastEndOffset = definition->lastSourceLocation().end(); +} + /*! Visits public member declarations, such as signals and properties. These only include custom signals and properties. @@ -195,7 +210,7 @@ bool QmlDocVisitor::visit(QDeclarativeJS::AST::UiPublicMember *member) qmlPropGroup->setDefault(); QmlPropertyNode *qmlPropNode = new QmlPropertyNode(qmlPropGroup, name, type, false); qmlPropNode->setWritable(!member->isReadonlyMember); - applyDocumentation(member->firstSourceLocation(), qmlPropNode); + applyDocumentation(member->firstSourceLocation(), qmlPropGroup); } } break; @@ -204,7 +219,6 @@ bool QmlDocVisitor::visit(QDeclarativeJS::AST::UiPublicMember *member) return false; } - //current->doc = precedingComment(member->firstSourceLocation().begin()); return true; } diff --git a/tools/qdoc3/qmlvisitor.h b/tools/qdoc3/qmlvisitor.h index 34ed8c1..28821a9 100644 --- a/tools/qdoc3/qmlvisitor.h +++ b/tools/qdoc3/qmlvisitor.h @@ -57,6 +57,7 @@ public: virtual ~QmlDocVisitor(); bool visit(QDeclarativeJS::AST::UiImportList *imports); + void endVisit(QDeclarativeJS::AST::UiImportList *definition); bool visit(QDeclarativeJS::AST::UiObjectDefinition *definition); void endVisit(QDeclarativeJS::AST::UiObjectDefinition *definition); @@ -67,7 +68,7 @@ public: bool visit(QDeclarativeJS::AST::IdentifierPropertyName *idproperty); private: - QDeclarativeJS::AST::SourceLocation precedingComment(unsigned offset) const; + QDeclarativeJS::AST::SourceLocation precedingComment(quint32 offset) const; void applyDocumentation(QDeclarativeJS::AST::SourceLocation location, Node *node); QDeclarativeJS::Engine *engine; @@ -77,6 +78,7 @@ private: QString document; QList<QPair<QString, QString> > importList; QSet<QString> commands; + QSet<quint32> usedComments; Tree *tree; InnerNode *current; }; diff --git a/tools/qdoc3/test/assistant.qdocconf b/tools/qdoc3/test/assistant.qdocconf index 4141a03..bb98db4 100644 --- a/tools/qdoc3/test/assistant.qdocconf +++ b/tools/qdoc3/test/assistant.qdocconf @@ -6,14 +6,14 @@ include(qt-defines.qdocconf) project = Qt Assistant description = Qt Assistant Manual -url = http://doc.qt.nokia.com/4.7/ +url = http://doc.qt.nokia.com/4.8/ indexes = $QT_BUILD_TREE/doc-build/html-qt/qt.index qhp.projects = Assistant qhp.Assistant.file = assistant.qhp -qhp.Assistant.namespace = com.trolltech.assistant.474 +qhp.Assistant.namespace = com.trolltech.assistant.480 qhp.Assistant.virtualFolder = qdoc qhp.Assistant.indexTitle = Qt Assistant Manual qhp.Assistant.extraFiles = images/bg_l.png \ @@ -50,7 +50,7 @@ qhp.Assistant.extraFiles = images/bg_l.png \ style/style_ie8.css \ style/style.css -qhp.Assistant.filterAttributes = qt 4.7.4 tools assistant +qhp.Assistant.filterAttributes = qt 4.8.0 tools assistant qhp.Assistant.customFilters.Assistant.name = Qt Assistant Manual qhp.Assistant.customFilters.Assistant.filterAttributes = qt tools assistant qhp.Assistant.subprojects = manual examples diff --git a/tools/qdoc3/test/carbide-eclipse-integration.qdocconf b/tools/qdoc3/test/carbide-eclipse-integration.qdocconf index 4d43403..ff50ce6 100644 --- a/tools/qdoc3/test/carbide-eclipse-integration.qdocconf +++ b/tools/qdoc3/test/carbide-eclipse-integration.qdocconf @@ -6,7 +6,7 @@ macro.TheEclipseIntegration = Carbide.c++ HTML.footer = "<p /><address><hr /><div align=\"center\">\n" \ "<table width=\"100%\" cellspacing=\"0\" border=\"0\"><tr class=\"address\">\n" \ - "<td width=\"30%\" align=\"left\">Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies)</td>\n" \ + "<td width=\"30%\" align=\"left\">Copyright © 2011 Nokia Corporation and/or its subsidiary(-ies)</td>\n" \ "<td width=\"40%\" align=\"center\"><a href=\"http://qt.nokia.com/doc\">Trademarks</a></td>\n" \ "<td width=\"30%\" align=\"right\"><div align=\"right\">Carbide.c++</div></td>\n" \ "</tr></table></div></address>" diff --git a/tools/qdoc3/test/designer.qdocconf b/tools/qdoc3/test/designer.qdocconf index 6c98ddf..f59fdf0 100644 --- a/tools/qdoc3/test/designer.qdocconf +++ b/tools/qdoc3/test/designer.qdocconf @@ -6,14 +6,14 @@ include(qt-defines.qdocconf) project = Qt Designer description = Qt Designer Manual -url = http://doc.qt.nokia.com/4.7/ +url = http://doc.qt.nokia.com/4.8/ indexes = $QT_BUILD_TREE/doc-build/html-qt/qt.index qhp.projects = Designer qhp.Designer.file = designer.qhp -qhp.Designer.namespace = com.trolltech.designer.474 +qhp.Designer.namespace = com.trolltech.designer.480 qhp.Designer.virtualFolder = qdoc qhp.Designer.indexTitle = Qt Designer Manual qhp.Designer.extraFiles = images/bg_l.png \ @@ -50,7 +50,7 @@ qhp.Designer.extraFiles = images/bg_l.png \ style/style_ie8.css \ style/style.css -qhp.Designer.filterAttributes = qt 4.7.4 tools designer +qhp.Designer.filterAttributes = qt 4.8.0 tools designer qhp.Designer.customFilters.Designer.name = Qt Designer Manual qhp.Designer.customFilters.Designer.filterAttributes = qt tools designer qhp.Designer.subprojects = manual examples diff --git a/tools/qdoc3/test/jambi.qdocconf b/tools/qdoc3/test/jambi.qdocconf index aa87826..3f4b42d 100644 --- a/tools/qdoc3/test/jambi.qdocconf +++ b/tools/qdoc3/test/jambi.qdocconf @@ -42,7 +42,7 @@ HTML.postheader = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0 HTML.footer = "<p /><address><hr /><div align=\"center\">\n" \ "<table width=\"100%\" cellspacing=\"0\" border=\"0\"><tr class=\"address\">\n" \ - "<td width=\"30%\" align=\"left\">Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies)</td>\n" \ + "<td width=\"30%\" align=\"left\">Copyright © 2011 Nokia Corporation and/or its subsidiary(-ies)</td>\n" \ "<td width=\"40%\" align=\"center\"><a href=\"trademarks.html\">Trademarks</a></td>\n" \ "<td width=\"30%\" align=\"right\"><div align=\"right\">Qt Jambi \\version</div></td>\n" \ "</tr></table></div></address>" diff --git a/tools/qdoc3/test/linguist.qdocconf b/tools/qdoc3/test/linguist.qdocconf index c9d6751..7c4b938 100644 --- a/tools/qdoc3/test/linguist.qdocconf +++ b/tools/qdoc3/test/linguist.qdocconf @@ -6,14 +6,14 @@ include(qt-defines.qdocconf) project = Qt Linguist description = Qt Linguist Manual -url = http://doc.qt.nokia.com/4.7/ +url = http://doc.qt.nokia.com/4.8/ indexes = $QT_BUILD_TREE/doc-build/html-qt/qt.index qhp.projects = Linguist qhp.Linguist.file = linguist.qhp -qhp.Linguist.namespace = com.trolltech.linguist.474 +qhp.Linguist.namespace = com.trolltech.linguist.480 qhp.Linguist.virtualFolder = qdoc qhp.Linguist.indexTitle = Qt Linguist Manual qhp.Linguist.extraFiles = images/bg_l.png \ @@ -50,7 +50,7 @@ qhp.Linguist.extraFiles = images/bg_l.png \ style/style_ie8.css \ style/style.css -qhp.Linguist.filterAttributes = qt 4.7.4 tools linguist +qhp.Linguist.filterAttributes = qt 4.8.0 tools linguist qhp.Linguist.customFilters.Linguist.name = Qt Linguist Manual qhp.Linguist.customFilters.Linguist.filterAttributes = qt tools linguist qhp.Linguist.subprojects = manual examples diff --git a/tools/qdoc3/test/qdeclarative.qdocconf b/tools/qdoc3/test/qdeclarative.qdocconf index 8fe9034..2ae2fd6 100644 --- a/tools/qdoc3/test/qdeclarative.qdocconf +++ b/tools/qdoc3/test/qdeclarative.qdocconf @@ -6,7 +6,7 @@ include(qt-defines.qdocconf) project = Qml description = Qml Reference Documentation -url = http://qt.nokia.com/doc/4.7/ +url = http://qt.nokia.com/doc/4.8/ qmlonly = true edition.Console.modules = QtCore QtDBus QtNetwork QtScript QtSql QtXml \ @@ -21,7 +21,7 @@ edition.DesktopLight.groups = -graphicsview-api qhp.projects = Qml qhp.Qml.file = qml.qhp -qhp.Qml.namespace = com.trolltech.qml.474 +qhp.Qml.namespace = com.trolltech.qml.480 qhp.Qml.virtualFolder = qdoc qhp.Qml.indexTitle = Qml Reference @@ -29,9 +29,9 @@ qhp.Qml.indexTitle = Qml Reference # See also extraimages.HTML qhp.Qml.extraFiles = images/bg_l.png \ images/bg_l_blank.png \ - images/bg_ll_blank.png \ - images/bg_ul_blank.png \ - images/header_bg.png \ + images/bg_ll_blank.png \ + images/bg_ul_blank.png \ + images/header_bg.png \ images/bg_r.png \ images/box_bg.png \ images/breadcrumb.png \ @@ -61,9 +61,9 @@ qhp.Qml.extraFiles = images/bg_l.png \ style/style_ie8.css \ style/style.css -qhp.Qml.filterAttributes = qt 4.7.4 qtrefdoc -qhp.Qml.customFilters.Qt.name = Qt 4.7.4 -qhp.Qml.customFilters.Qt.filterAttributes = qt 4.7.4 +qhp.Qml.filterAttributes = qt 4.8.0 qtrefdoc +qhp.Qml.customFilters.Qt.name = Qt 4.8.0 +qhp.Qml.customFilters.Qt.filterAttributes = qt 4.8.0 qhp.Qml.subprojects = classes qhp.Qml.subprojects.classes.title = Elements qhp.Qml.subprojects.classes.indexTitle = Qml Elements diff --git a/tools/qdoc3/test/qmake.qdocconf b/tools/qdoc3/test/qmake.qdocconf index c5a0f40..56e7f96 100644 --- a/tools/qdoc3/test/qmake.qdocconf +++ b/tools/qdoc3/test/qmake.qdocconf @@ -6,14 +6,14 @@ include(qt-defines.qdocconf) project = QMake description = QMake Manual -url = http://qt.nokia.com/doc/4.7 +url = http://qt.nokia.com/doc/4.8 indexes = $QT_BUILD_TREE/doc-build/html-qt/qt.index qhp.projects = qmake qhp.qmake.file = qmake.qhp -qhp.qmake.namespace = com.trolltech.qmake.474 +qhp.qmake.namespace = com.trolltech.qmake.480 qhp.qmake.virtualFolder = qdoc qhp.qmake.indexTitle = QMake Manual qhp.qmake.extraFiles = images/bg_l.png \ @@ -50,7 +50,7 @@ qhp.qmake.extraFiles = images/bg_l.png \ style/style_ie8.css \ style/style.css -qhp.qmake.filterAttributes = qt 4.7.4 tools qmake +qhp.qmake.filterAttributes = qt 4.8.0 tools qmake qhp.qmake.customFilters.qmake.name = qmake Manual qhp.qmake.customFilters.qmake.filterAttributes = qt tools qmake qhp.qmake.subprojects = manual diff --git a/tools/qdoc3/test/qt-build-docs_ja_JP.qdocconf b/tools/qdoc3/test/qt-build-docs_ja_JP.qdocconf index a14054c..06cc9a0 100644 --- a/tools/qdoc3/test/qt-build-docs_ja_JP.qdocconf +++ b/tools/qdoc3/test/qt-build-docs_ja_JP.qdocconf @@ -17,15 +17,15 @@ indexes = $QT_BUILD_TREE/doc-build/html-qt/qt.index qhp.projects = Qt qhp.Qt.file = qt.qhp -qhp.Qt.namespace = com.trolltech.qt.474 +qhp.Qt.namespace = com.trolltech.qt.480 qhp.Qt.virtualFolder = qdoc qhp.Qt.title = Qt qhp.Qt.indexTitle = Qt qhp.Qt.selectors = fake:example -qhp.Qt.filterAttributes = qt 4.7.4 qtrefdoc ja_JP -qhp.Qt.customFilters.Qt.name = Qt 4.7.4 -qhp.Qt.customFilters.Qt.filterAttributes = qt 4.7.4 +qhp.Qt.filterAttributes = qt 4.8.0 qtrefdoc ja_JP +qhp.Qt.customFilters.Qt.name = Qt 4.8.0 +qhp.Qt.customFilters.Qt.filterAttributes = qt 4.8.0 # Files not referenced in any qdoc file (last four are needed by qtdemo) # See also extraimages.HTML diff --git a/tools/qdoc3/test/qt-build-docs_zh_CN.qdocconf b/tools/qdoc3/test/qt-build-docs_zh_CN.qdocconf index d4d43b8..1efda05 100644 --- a/tools/qdoc3/test/qt-build-docs_zh_CN.qdocconf +++ b/tools/qdoc3/test/qt-build-docs_zh_CN.qdocconf @@ -6,7 +6,7 @@ include(qt-defines.qdocconf) project = Qt description = Qt Reference Documentation -url = http://qt.nokia.com/doc/zh_CN/4.7 +url = http://qt.nokia.com/doc/zh_CN/4.8 sourceencoding = UTF-8 outputencoding = UTF-8 @@ -17,15 +17,15 @@ indexes = $QT_BUILD_TREE/doc-build/html-qt/qt.index qhp.projects = Qt qhp.Qt.file = qt.qhp -qhp.Qt.namespace = com.trolltech.qt.474 +qhp.Qt.namespace = com.trolltech.qt.480 qhp.Qt.virtualFolder = qdoc qhp.Qt.title = 教程 qhp.Qt.indexTitle = 教程 qhp.Qt.selectors = fake:example -qhp.Qt.filterAttributes = qt 4.7.4 qtrefdoc zh_CN -qhp.Qt.customFilters.Qt.name = Qt 4.7.4 -qhp.Qt.customFilters.Qt.filterAttributes = qt 4.7.4 +qhp.Qt.filterAttributes = qt 4.8.0 qtrefdoc zh_CN +qhp.Qt.customFilters.Qt.name = Qt 4.8.0 +qhp.Qt.customFilters.Qt.filterAttributes = qt 4.8.0 # Files not referenced in any qdoc file (last four are needed by qtdemo) # See also extraimages.HTML diff --git a/tools/qdoc3/test/qt-cpp-ignore.qdocconf b/tools/qdoc3/test/qt-cpp-ignore.qdocconf index 044eef4..5b41ae3 100644 --- a/tools/qdoc3/test/qt-cpp-ignore.qdocconf +++ b/tools/qdoc3/test/qt-cpp-ignore.qdocconf @@ -73,7 +73,8 @@ Cpp.ignoretokens = QAXFACTORY_EXPORT \ Q_DECLARATIVE_EXPORT \ Q_GADGET \ QWEBKIT_EXPORT \ - Q_INVOKABLE + Q_INVOKABLE \ + Q_DECL_CONSTEXPR Cpp.ignoredirectives = Q_DECLARE_HANDLE \ Q_DECLARE_INTERFACE \ Q_DECLARE_METATYPE \ diff --git a/tools/qdoc3/test/qt-defines.qdocconf b/tools/qdoc3/test/qt-defines.qdocconf index 50a355f..aaf935a 100644 --- a/tools/qdoc3/test/qt-defines.qdocconf +++ b/tools/qdoc3/test/qt-defines.qdocconf @@ -10,7 +10,8 @@ defines = Q_QDOC \ Q_BYTE_ORDER \ QT_DEPRECATED \ Q_NO_USING_KEYWORD \ - __cplusplus + __cplusplus \ + Q_COMPILER_INITIALIZER_LISTS versionsym = QT_VERSION_STR diff --git a/tools/qdoc3/test/qt-html-default-styles.qdocconf b/tools/qdoc3/test/qt-html-default-styles.qdocconf index d37ef5d..0db36bc 100644 --- a/tools/qdoc3/test/qt-html-default-styles.qdocconf +++ b/tools/qdoc3/test/qt-html-default-styles.qdocconf @@ -8,8 +8,10 @@ HTML.stylesheets = style/offline.css HTML.scripts = -# Files not referenced in any qdoc file (last four needed by qtdemo) -# See also qhp.Qt.extraFiles +# Files not referenced in any qdoc file, many needed by style sheets. +# These also need to be listed in qhp.Qt.extraFiles with the correct +# directory prefixes. + extraimages.HTML = qt-logo.png \ arrow_down.png \ breadcrumb.png \ diff --git a/tools/qdoc3/test/qt-html-templates-online.qdocconf b/tools/qdoc3/test/qt-html-templates-online.qdocconf index 77ab3c5..3584b68 100644 --- a/tools/qdoc3/test/qt-html-templates-online.qdocconf +++ b/tools/qdoc3/test/qt-html-templates-online.qdocconf @@ -19,7 +19,7 @@ HTML.postheader = \ " </div>\n" \ " <div id=\"shortCut\">\n" \ " <ul>\n" \ - " <li class=\"shortCut-topleft-inactive\"><span><a href=\"index.html\">Qt 4.7</a></span></li>\n" \ + " <li class=\"shortCut-topleft-inactive\"><span><a href=\"index.html\">Qt 4.8</a></span></li>\n" \ " <li class=\"shortCut-topleft-active\"><a href=\"http://doc.qt.nokia.com\">ALL VERSIONS" \ " </a></li>\n" \ " </ul>\n" \ @@ -181,16 +181,4 @@ HTML.footer = \ " <div id=\"blurpage\">\n" \ " </div>\n" \ "\n" \ - " <script src=\"scripts/functions.js\" type=\"text/javascript\"></script>\n" \ - " <script type=\"text/javascript\">\n" \ - " var _gaq = _gaq || [];\n" \ - " _gaq.push(['_setAccount', 'UA-4457116-5']);\n" \ - " _gaq.push(['_trackPageview']);\n" \ - " (function() {\n" \ - " var ga = document.createElement('script'); " \ - "ga.type = 'text/javascript'; ga.async = true;\n" \ - " ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + " \ - "'.google-analytics.com/ga.js';\n" \ - " var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n" \ - " })();\n" \ - " </script>\n" + " <script src=\"scripts/functions.js\" type=\"text/javascript\"></script>\n" diff --git a/tools/qdoc3/test/qt-html-templates.qdocconf b/tools/qdoc3/test/qt-html-templates.qdocconf index 8a70f3b..4f0cb1f 100644 --- a/tools/qdoc3/test/qt-html-templates.qdocconf +++ b/tools/qdoc3/test/qt-html-templates.qdocconf @@ -55,256 +55,255 @@ qhp.Qt.extraFiles = index.html \ #QtWebKit Guide files qhp.Qt.extraFiles += webkit-guide/anim_accord.htm \ -webkit-guide/anim_demo-rotate.htm \ -webkit-guide/anim_demo-scale.htm \ -webkit-guide/anim_demo-skew.htm \ -webkit-guide/anim_gallery.htm \ -webkit-guide/anim_panel.htm \ -webkit-guide/anim_pulse.htm \ -webkit-guide/anim_skew.htm \ -webkit-guide/anim_slide1.htm \ -webkit-guide/anim_slide2.htm \ -webkit-guide/anim_slide3.htm \ -webkit-guide/anim_tabbedSkew.htm \ -webkit-guide/_copyright.txt \ -webkit-guide/css3_backgrounds.htm \ -webkit-guide/css3_border-img.htm \ -webkit-guide/css3_gradientBack.htm \ -webkit-guide/css3_gradientBackStop.htm \ -webkit-guide/css3_gradientButton.htm \ -webkit-guide/css3_grad-radial.htm \ -webkit-guide/css3_mask-grad.htm \ -webkit-guide/css3_mask-img.htm \ -webkit-guide/css3_multicol.htm \ -webkit-guide/css3_reflect.htm \ -webkit-guide/css3_scroll.htm \ -webkit-guide/css3_sel-nth.htm \ -webkit-guide/css3_shadow.htm \ -webkit-guide/css3_text-overflow.htm \ -webkit-guide/css3_text-shadow.htm \ -webkit-guide/css3_text-stroke.htm \ -webkit-guide/form_tapper.htm \ -webkit-guide/form_toggler.htm \ -webkit-guide/_image_assets.htm \ -webkit-guide/_index.html \ -webkit-guide/layout_link-fmt.htm \ -webkit-guide/layout_tbl-keyhole.htm \ -webkit-guide/mob_condjs.htm \ -webkit-guide/mob_layout.htm \ -webkit-guide/mob_mediaquery.htm \ -webkit-guide/storage.htm \ -webkit-guide/css/anim_accord.css \ -webkit-guide/css/anim_demo-rotate.css \ -webkit-guide/css/anim_demo-scale.css \ -webkit-guide/css/anim_demo-skew.css \ -webkit-guide/css/anim_gallery.css \ -webkit-guide/css/anim_panel.css \ -webkit-guide/css/anim_pulse.css \ -webkit-guide/css/anim_skew.css \ -webkit-guide/css/anim_slide.css \ -webkit-guide/css/anim_tabbedSkew.css \ -webkit-guide/css/css3_backgrounds.css \ -webkit-guide/css/css3_border-img.css \ -webkit-guide/css/css3_gradientBack.css \ -webkit-guide/css/css3_gradientBackStop.css \ -webkit-guide/css/css3_gradientButton.css \ -webkit-guide/css/css3_grad-radial.css \ -webkit-guide/css/css3_mask-grad.css \ -webkit-guide/css/css3_mask-img.css \ -webkit-guide/css/css3_multicol.css \ -webkit-guide/css/css3_reflect.css \ -webkit-guide/css/css3_scroll.css \ -webkit-guide/css/css3_sel-nth.css \ -webkit-guide/css/css3_shadowBlur.css \ -webkit-guide/css/css3_shadow.css \ -webkit-guide/css/css3_text-overflow.css \ -webkit-guide/css/css3_text-shadow.css \ -webkit-guide/css/css3_text-stroke.css \ -webkit-guide/css/form_tapper.css \ -webkit-guide/css/form_toggler.css \ -webkit-guide/css/layout_link-fmt.css \ -webkit-guide/css/layout_tbl-keyhole.css \ -webkit-guide/css/mob_condjs.css \ -webkit-guide/css/mobile.css \ -webkit-guide/css/mob_mediaquery.css \ -webkit-guide/css/mq_desktop.css \ -webkit-guide/css/mqlayout_desktop.css \ -webkit-guide/css/mqlayout_mobile.css \ -webkit-guide/css/mqlayout_touch.css \ -webkit-guide/css/mq_mobile.css \ -webkit-guide/css/mq_touch.css \ -webkit-guide/css/storage.css \ -webkit-guide/img/border-frame.png \ -webkit-guide/img/gal0.png \ -webkit-guide/img/gal1.png \ -webkit-guide/img/gal2.png \ -webkit-guide/img/gal3.png \ -webkit-guide/img/gal4.png \ -webkit-guide/img/gal5.png \ -webkit-guide/img/gal6.png \ -webkit-guide/img/gal7.png \ -webkit-guide/img/gal8.png \ -webkit-guide/img/gradient.jpg \ -webkit-guide/img/gray_icon_close.png \ -webkit-guide/img/ic_ag_016.png \ -webkit-guide/img/ic_ag_032.png \ -webkit-guide/img/ic_ag_036.png \ -webkit-guide/img/ic_ag_048.png \ -webkit-guide/img/ic_al_016.png \ -webkit-guide/img/ic_al_032.png \ -webkit-guide/img/ic_al_036.png \ -webkit-guide/img/ic_al_048.png \ -webkit-guide/img/ic_ar_016.png \ -webkit-guide/img/ic_ar_032.png \ -webkit-guide/img/ic_ar_036.png \ -webkit-guide/img/ic_ar_048.png \ -webkit-guide/img/ic_b_016.png \ -webkit-guide/img/ic_b_032.png \ -webkit-guide/img/ic_b_036.png \ -webkit-guide/img/ic_b_048.png \ -webkit-guide/img/ic_be_016.png \ -webkit-guide/img/ic_be_032.png \ -webkit-guide/img/ic_be_036.png \ -webkit-guide/img/ic_be_048.png \ -webkit-guide/img/ic_c_016.png \ -webkit-guide/img/ic_c_032.png \ -webkit-guide/img/ic_c_036.png \ -webkit-guide/img/ic_c_048.png \ -webkit-guide/img/ic_ca_016.png \ -webkit-guide/img/ic_ca_032.png \ -webkit-guide/img/ic_ca_036.png \ -webkit-guide/img/ic_ca_048.png \ -webkit-guide/img/ic_cl_016.png \ -webkit-guide/img/ic_cl_032.png \ -webkit-guide/img/ic_cl_036.png \ -webkit-guide/img/ic_cl_048.png \ -webkit-guide/img/ic_cu_016.png \ -webkit-guide/img/ic_cu_032.png \ -webkit-guide/img/ic_cu_036.png \ -webkit-guide/img/ic_cu_048.png \ -webkit-guide/img/ic_f_016.png \ -webkit-guide/img/ic_f_032.png \ -webkit-guide/img/ic_f_036.png \ -webkit-guide/img/ic_f_048.png \ -webkit-guide/img/ic_fe_016.png \ -webkit-guide/img/ic_fe_032.png \ -webkit-guide/img/ic_fe_036.png \ -webkit-guide/img/ic_fe_048.png \ -webkit-guide/img/ic_h_016.png \ -webkit-guide/img/ic_h_032.png \ -webkit-guide/img/ic_h_036.png \ -webkit-guide/img/ic_h_048.png \ -webkit-guide/img/ic_he_016.png \ -webkit-guide/img/ic_he_032.png \ -webkit-guide/img/ic_he_036.png \ -webkit-guide/img/ic_he_048.png \ -webkit-guide/img/ic_k_016.png \ -webkit-guide/img/ic_k_032.png \ -webkit-guide/img/ic_k_036.png \ -webkit-guide/img/ic_k_048.png \ -webkit-guide/img/ic_li_016.png \ -webkit-guide/img/ic_li_032.png \ -webkit-guide/img/ic_li_036.png \ -webkit-guide/img/ic_li_048.png \ -webkit-guide/img/ic_mg_016.png \ -webkit-guide/img/ic_mg_032.png \ -webkit-guide/img/ic_mg_036.png \ -webkit-guide/img/ic_mg_048.png \ -webkit-guide/img/ic_n_016.png \ -webkit-guide/img/ic_n_032.png \ -webkit-guide/img/ic_n_036.png \ -webkit-guide/img/ic_n_048.png \ -webkit-guide/img/ic_na_016.png \ -webkit-guide/img/ic_na_032.png \ -webkit-guide/img/ic_na_036.png \ -webkit-guide/img/ic_na_048.png \ -webkit-guide/img/ic_ne_016.png \ -webkit-guide/img/ic_ne_032.png \ -webkit-guide/img/ic_ne_036.png \ -webkit-guide/img/ic_ne_048.png \ -webkit-guide/img/ic_ni_016.png \ -webkit-guide/img/ic_ni_032.png \ -webkit-guide/img/ic_ni_036.png \ -webkit-guide/img/ic_ni_048.png \ -webkit-guide/img/ic_o_016.png \ -webkit-guide/img/ic_o_032.png \ -webkit-guide/img/ic_o_036.png \ -webkit-guide/img/ic_o_048.png \ -webkit-guide/img/icon_check.png \ -webkit-guide/img/icon_check_x24green.png \ -webkit-guide/img/icon_dismiss.png \ -webkit-guide/img/icon_dismiss_x22.png \ -webkit-guide/img/icon_drill-down.png \ -webkit-guide/img/icon_drill-down_x32.png \ -webkit-guide/img/icon_drill-up.png \ -webkit-guide/img/icon_drill-up_x32.png \ -webkit-guide/img/icon_expand-nav.png \ -webkit-guide/img/icon_head-collapsed.png \ -webkit-guide/img/icon_head-collapsed_x13.png \ -webkit-guide/img/icon_head-expanded.png \ -webkit-guide/img/icon_head-expanded_x13.png \ -webkit-guide/img/icon_info.png \ -webkit-guide/img/icon_info_x24.png \ -webkit-guide/img/icon_link-doc.png \ -webkit-guide/img/icon_link-email.png \ -webkit-guide/img/icon_link-external.png \ -webkit-guide/img/icon_link-pdf.png \ -webkit-guide/img/icon_link-ppt.png \ -webkit-guide/img/icon_link-rss.png \ -webkit-guide/img/icon_link-sms.png \ -webkit-guide/img/icon_link-tel.png \ -webkit-guide/img/icon_link-xls.png \ -webkit-guide/img/icon_list-all_circ.png \ -webkit-guide/img/icon_list-all.png \ -webkit-guide/img/icon_nav_end.png \ -webkit-guide/img/icon_nav-start.png \ -webkit-guide/img/icon_nav-top.png \ -webkit-guide/img/icon_nav-up.png \ -webkit-guide/img/icon_question.png \ -webkit-guide/img/icon_scroll-left.png \ -webkit-guide/img/icon_scroll-right.png \ -webkit-guide/img/icon_trash.png \ -webkit-guide/img/ic_pt_016.png \ -webkit-guide/img/ic_pt_032.png \ -webkit-guide/img/ic_pt_036.png \ -webkit-guide/img/ic_pt_048.png \ -webkit-guide/img/ic_si_016.png \ -webkit-guide/img/ic_si_032.png \ -webkit-guide/img/ic_si_036.png \ -webkit-guide/img/ic_si_048.png \ -webkit-guide/img/ic_zn_016.png \ -webkit-guide/img/ic_zn_032.png \ -webkit-guide/img/ic_zn_036.png \ -webkit-guide/img/ic_zn_048.png \ -webkit-guide/img/land1.png \ -webkit-guide/img/land2.png \ -webkit-guide/img/land3.png \ -webkit-guide/img/land4.png \ -webkit-guide/img/land5.png \ -webkit-guide/img/land6.png \ -webkit-guide/img/land7.png \ -webkit-guide/img/land8.png \ -webkit-guide/img/mask.png \ -webkit-guide/img/tnail_gal1.png \ -webkit-guide/img/tnail_gal2.png \ -webkit-guide/img/tnail_gal3.png \ -webkit-guide/img/tnail_gal4.png \ -webkit-guide/img/tnail_gal5.png \ -webkit-guide/img/tnail_gal6.png \ -webkit-guide/img/tnail_gal7.png \ -webkit-guide/img/tnail_gal8.png \ -webkit-guide/js/anim_accord.js \ -webkit-guide/js/anim_gallery.js \ -webkit-guide/js/anim_panel.js \ -webkit-guide/js/anim_skew.js \ -webkit-guide/js/css3_backgrounds.js \ -webkit-guide/js/css3_border-img.js \ -webkit-guide/js/css3_grad-radial.js \ -webkit-guide/js/css3_mask-grad.js \ -webkit-guide/js/css3_mask-img.js \ -webkit-guide/js/css3_text-overflow.js \ -webkit-guide/js/form_tapper.js \ -webkit-guide/js/mob_condjs.js \ -webkit-guide/js/mobile.js \ -webkit-guide/js/storage.js \ - + webkit-guide/anim_demo-rotate.htm \ + webkit-guide/anim_demo-scale.htm \ + webkit-guide/anim_demo-skew.htm \ + webkit-guide/anim_gallery.htm \ + webkit-guide/anim_panel.htm \ + webkit-guide/anim_pulse.htm \ + webkit-guide/anim_skew.htm \ + webkit-guide/anim_slide1.htm \ + webkit-guide/anim_slide2.htm \ + webkit-guide/anim_slide3.htm \ + webkit-guide/anim_tabbedSkew.htm \ + webkit-guide/_copyright.txt \ + webkit-guide/css3_backgrounds.htm \ + webkit-guide/css3_border-img.htm \ + webkit-guide/css3_gradientBack.htm \ + webkit-guide/css3_gradientBackStop.htm \ + webkit-guide/css3_gradientButton.htm \ + webkit-guide/css3_grad-radial.htm \ + webkit-guide/css3_mask-grad.htm \ + webkit-guide/css3_mask-img.htm \ + webkit-guide/css3_multicol.htm \ + webkit-guide/css3_reflect.htm \ + webkit-guide/css3_scroll.htm \ + webkit-guide/css3_sel-nth.htm \ + webkit-guide/css3_shadow.htm \ + webkit-guide/css3_text-overflow.htm \ + webkit-guide/css3_text-shadow.htm \ + webkit-guide/css3_text-stroke.htm \ + webkit-guide/form_tapper.htm \ + webkit-guide/form_toggler.htm \ + webkit-guide/_image_assets.htm \ + webkit-guide/_index.html \ + webkit-guide/layout_link-fmt.htm \ + webkit-guide/layout_tbl-keyhole.htm \ + webkit-guide/mob_condjs.htm \ + webkit-guide/mob_layout.htm \ + webkit-guide/mob_mediaquery.htm \ + webkit-guide/storage.htm \ + webkit-guide/css/anim_accord.css \ + webkit-guide/css/anim_demo-rotate.css \ + webkit-guide/css/anim_demo-scale.css \ + webkit-guide/css/anim_demo-skew.css \ + webkit-guide/css/anim_gallery.css \ + webkit-guide/css/anim_panel.css \ + webkit-guide/css/anim_pulse.css \ + webkit-guide/css/anim_skew.css \ + webkit-guide/css/anim_slide.css \ + webkit-guide/css/anim_tabbedSkew.css \ + webkit-guide/css/css3_backgrounds.css \ + webkit-guide/css/css3_border-img.css \ + webkit-guide/css/css3_gradientBack.css \ + webkit-guide/css/css3_gradientBackStop.css \ + webkit-guide/css/css3_gradientButton.css \ + webkit-guide/css/css3_grad-radial.css \ + webkit-guide/css/css3_mask-grad.css \ + webkit-guide/css/css3_mask-img.css \ + webkit-guide/css/css3_multicol.css \ + webkit-guide/css/css3_reflect.css \ + webkit-guide/css/css3_scroll.css \ + webkit-guide/css/css3_sel-nth.css \ + webkit-guide/css/css3_shadowBlur.css \ + webkit-guide/css/css3_shadow.css \ + webkit-guide/css/css3_text-overflow.css \ + webkit-guide/css/css3_text-shadow.css \ + webkit-guide/css/css3_text-stroke.css \ + webkit-guide/css/form_tapper.css \ + webkit-guide/css/form_toggler.css \ + webkit-guide/css/layout_link-fmt.css \ + webkit-guide/css/layout_tbl-keyhole.css \ + webkit-guide/css/mob_condjs.css \ + webkit-guide/css/mobile.css \ + webkit-guide/css/mob_mediaquery.css \ + webkit-guide/css/mq_desktop.css \ + webkit-guide/css/mqlayout_desktop.css \ + webkit-guide/css/mqlayout_mobile.css \ + webkit-guide/css/mqlayout_touch.css \ + webkit-guide/css/mq_mobile.css \ + webkit-guide/css/mq_touch.css \ + webkit-guide/css/storage.css \ + webkit-guide/img/border-frame.png \ + webkit-guide/img/gal0.png \ + webkit-guide/img/gal1.jpg \ + webkit-guide/img/gal2.jpg \ + webkit-guide/img/gal3.jpg \ + webkit-guide/img/gal4.jpg \ + webkit-guide/img/gal5.jpg \ + webkit-guide/img/gal6.jpg \ + webkit-guide/img/gal7.jpg \ + webkit-guide/img/gal8.jpg \ + webkit-guide/img/gradient.jpg \ + webkit-guide/img/gray_icon_close.png \ + webkit-guide/img/ic_ag_016.png \ + webkit-guide/img/ic_ag_032.png \ + webkit-guide/img/ic_ag_036.png \ + webkit-guide/img/ic_ag_048.png \ + webkit-guide/img/ic_al_016.png \ + webkit-guide/img/ic_al_032.png \ + webkit-guide/img/ic_al_036.png \ + webkit-guide/img/ic_al_048.png \ + webkit-guide/img/ic_ar_016.png \ + webkit-guide/img/ic_ar_032.png \ + webkit-guide/img/ic_ar_036.png \ + webkit-guide/img/ic_ar_048.png \ + webkit-guide/img/ic_b_016.png \ + webkit-guide/img/ic_b_032.png \ + webkit-guide/img/ic_b_036.png \ + webkit-guide/img/ic_b_048.png \ + webkit-guide/img/ic_be_016.png \ + webkit-guide/img/ic_be_032.png \ + webkit-guide/img/ic_be_036.png \ + webkit-guide/img/ic_be_048.png \ + webkit-guide/img/ic_c_016.png \ + webkit-guide/img/ic_c_032.png \ + webkit-guide/img/ic_c_036.png \ + webkit-guide/img/ic_c_048.png \ + webkit-guide/img/ic_ca_016.png \ + webkit-guide/img/ic_ca_032.png \ + webkit-guide/img/ic_ca_036.png \ + webkit-guide/img/ic_ca_048.png \ + webkit-guide/img/ic_cl_016.png \ + webkit-guide/img/ic_cl_032.png \ + webkit-guide/img/ic_cl_036.png \ + webkit-guide/img/ic_cl_048.png \ + webkit-guide/img/ic_cu_016.png \ + webkit-guide/img/ic_cu_032.png \ + webkit-guide/img/ic_cu_036.png \ + webkit-guide/img/ic_cu_048.png \ + webkit-guide/img/ic_f_016.png \ + webkit-guide/img/ic_f_032.png \ + webkit-guide/img/ic_f_036.png \ + webkit-guide/img/ic_f_048.png \ + webkit-guide/img/ic_fe_016.png \ + webkit-guide/img/ic_fe_032.png \ + webkit-guide/img/ic_fe_036.png \ + webkit-guide/img/ic_fe_048.png \ + webkit-guide/img/ic_h_016.png \ + webkit-guide/img/ic_h_032.png \ + webkit-guide/img/ic_h_036.png \ + webkit-guide/img/ic_h_048.png \ + webkit-guide/img/ic_he_016.png \ + webkit-guide/img/ic_he_032.png \ + webkit-guide/img/ic_he_036.png \ + webkit-guide/img/ic_he_048.png \ + webkit-guide/img/ic_k_016.png \ + webkit-guide/img/ic_k_032.png \ + webkit-guide/img/ic_k_036.png \ + webkit-guide/img/ic_k_048.png \ + webkit-guide/img/ic_li_016.png \ + webkit-guide/img/ic_li_032.png \ + webkit-guide/img/ic_li_036.png \ + webkit-guide/img/ic_li_048.png \ + webkit-guide/img/ic_mg_016.png \ + webkit-guide/img/ic_mg_032.png \ + webkit-guide/img/ic_mg_036.png \ + webkit-guide/img/ic_mg_048.png \ + webkit-guide/img/ic_n_016.png \ + webkit-guide/img/ic_n_032.png \ + webkit-guide/img/ic_n_036.png \ + webkit-guide/img/ic_n_048.png \ + webkit-guide/img/ic_na_016.png \ + webkit-guide/img/ic_na_032.png \ + webkit-guide/img/ic_na_036.png \ + webkit-guide/img/ic_na_048.png \ + webkit-guide/img/ic_ne_016.png \ + webkit-guide/img/ic_ne_032.png \ + webkit-guide/img/ic_ne_036.png \ + webkit-guide/img/ic_ne_048.png \ + webkit-guide/img/ic_ni_016.png \ + webkit-guide/img/ic_ni_032.png \ + webkit-guide/img/ic_ni_036.png \ + webkit-guide/img/ic_ni_048.png \ + webkit-guide/img/ic_o_016.png \ + webkit-guide/img/ic_o_032.png \ + webkit-guide/img/ic_o_036.png \ + webkit-guide/img/ic_o_048.png \ + webkit-guide/img/icon_check.png \ + webkit-guide/img/icon_check_x24green.png \ + webkit-guide/img/icon_dismiss.png \ + webkit-guide/img/icon_dismiss_x22.png \ + webkit-guide/img/icon_drill-down.png \ + webkit-guide/img/icon_drill-down_x32.png \ + webkit-guide/img/icon_drill-up.png \ + webkit-guide/img/icon_drill-up_x32.png \ + webkit-guide/img/icon_expand-nav.png \ + webkit-guide/img/icon_head-collapsed.png \ + webkit-guide/img/icon_head-collapsed_x13.png \ + webkit-guide/img/icon_head-expanded.png \ + webkit-guide/img/icon_head-expanded_x13.png \ + webkit-guide/img/icon_info.png \ + webkit-guide/img/icon_info_x24.png \ + webkit-guide/img/icon_link-doc.png \ + webkit-guide/img/icon_link-email.png \ + webkit-guide/img/icon_link-external.png \ + webkit-guide/img/icon_link-pdf.png \ + webkit-guide/img/icon_link-ppt.png \ + webkit-guide/img/icon_link-rss.png \ + webkit-guide/img/icon_link-sms.png \ + webkit-guide/img/icon_link-tel.png \ + webkit-guide/img/icon_link-xls.png \ + webkit-guide/img/icon_list-all_circ.png \ + webkit-guide/img/icon_list-all.png \ + webkit-guide/img/icon_nav_end.png \ + webkit-guide/img/icon_nav-start.png \ + webkit-guide/img/icon_nav-top.png \ + webkit-guide/img/icon_nav-up.png \ + webkit-guide/img/icon_question.png \ + webkit-guide/img/icon_scroll-left.png \ + webkit-guide/img/icon_scroll-right.png \ + webkit-guide/img/icon_trash.png \ + webkit-guide/img/ic_pt_016.png \ + webkit-guide/img/ic_pt_032.png \ + webkit-guide/img/ic_pt_036.png \ + webkit-guide/img/ic_pt_048.png \ + webkit-guide/img/ic_si_016.png \ + webkit-guide/img/ic_si_032.png \ + webkit-guide/img/ic_si_036.png \ + webkit-guide/img/ic_si_048.png \ + webkit-guide/img/ic_zn_016.png \ + webkit-guide/img/ic_zn_032.png \ + webkit-guide/img/ic_zn_036.png \ + webkit-guide/img/ic_zn_048.png \ + webkit-guide/img/land1.jpg \ + webkit-guide/img/land2.jpg \ + webkit-guide/img/land3.jpg \ + webkit-guide/img/land4.jpg \ + webkit-guide/img/land5.jpg \ + webkit-guide/img/land6.jpg \ + webkit-guide/img/land7.jpg \ + webkit-guide/img/land8.jpg \ + webkit-guide/img/mask.png \ + webkit-guide/img/tnail_gal1.png \ + webkit-guide/img/tnail_gal2.png \ + webkit-guide/img/tnail_gal3.png \ + webkit-guide/img/tnail_gal4.png \ + webkit-guide/img/tnail_gal5.png \ + webkit-guide/img/tnail_gal6.png \ + webkit-guide/img/tnail_gal7.png \ + webkit-guide/img/tnail_gal8.png \ + webkit-guide/js/anim_accord.js \ + webkit-guide/js/anim_gallery.js \ + webkit-guide/js/anim_panel.js \ + webkit-guide/js/anim_skew.js \ + webkit-guide/js/css3_backgrounds.js \ + webkit-guide/js/css3_border-img.js \ + webkit-guide/js/css3_grad-radial.js \ + webkit-guide/js/css3_mask-grad.js \ + webkit-guide/js/css3_mask-img.js \ + webkit-guide/js/css3_text-overflow.js \ + webkit-guide/js/form_tapper.js \ + webkit-guide/js/mob_condjs.js \ + webkit-guide/js/mobile.js \ + webkit-guide/js/storage.js diff --git a/tools/qdoc3/test/qt-html-templates_ja_JP-online.qdocconf b/tools/qdoc3/test/qt-html-templates_ja_JP-online.qdocconf index fa15d90..8dc17af 100644 --- a/tools/qdoc3/test/qt-html-templates_ja_JP-online.qdocconf +++ b/tools/qdoc3/test/qt-html-templates_ja_JP-online.qdocconf @@ -24,7 +24,7 @@ HTML.postheader = \ " </div>\n" \ " <div id=\"shortCut\">\n" \ " <ul>\n" \ - " <li class=\"shortCut-topleft-inactive\"><span><a href=\"index.html\">Qt 4.7</a></span></li>\n" \ + " <li class=\"shortCut-topleft-inactive\"><span><a href=\"index.html\">Qt 4.8</a></span></li>\n" \ " <li class=\"shortCut-topleft-active\"><a href=\"http://qt.nokia.com/doc/\">ALL VERSIONS" \ " </a></li>\n" \ " </ul>\n" \ @@ -149,7 +149,7 @@ HTML.footer = \ " </div> \n" \ " <div class=\"footer\">\n" \ " <p>\n" \ - " <acronym title=\"Copyright\">©</acronym> 2008-2010 Nokia Corporation and/or its\n" \ + " <acronym title=\"Copyright\">©</acronym> 2008-2011 Nokia Corporation and/or its\n" \ " subsidiaries. Nokia, Qt and their respective logos are trademarks of Nokia Corporation \n" \ " in Finland and/or other countries worldwide.</p>\n" \ " <p>\n" \ diff --git a/tools/qdoc3/test/qt-html-templates_ja_JP.qdocconf b/tools/qdoc3/test/qt-html-templates_ja_JP.qdocconf index 18ed5c1..74a4d14 100644 --- a/tools/qdoc3/test/qt-html-templates_ja_JP.qdocconf +++ b/tools/qdoc3/test/qt-html-templates_ja_JP.qdocconf @@ -36,7 +36,7 @@ HTML.footer = \ " </div> \n" \ " <div class=\"footer\">\n" \ " <p>\n" \ - " <acronym title=\"Copyright\">©</acronym> 2008-2010 Nokia Corporation and/or its\n" \ + " <acronym title=\"Copyright\">©</acronym> 2008-2011 Nokia Corporation and/or its\n" \ " subsidiaries. Nokia, Qt and their respective logos are trademarks of Nokia Corporation \n" \ " in Finland and/or other countries worldwide.</p>\n" \ " <p>\n" \ diff --git a/tools/qdoc3/test/qt-html-templates_zh_CN-online.qdocconf b/tools/qdoc3/test/qt-html-templates_zh_CN-online.qdocconf index 285ec27..e7e8220 100644 --- a/tools/qdoc3/test/qt-html-templates_zh_CN-online.qdocconf +++ b/tools/qdoc3/test/qt-html-templates_zh_CN-online.qdocconf @@ -24,7 +24,7 @@ HTML.postheader = \ " </div>\n" \ " <div id=\"shortCut\">\n" \ " <ul>\n" \ - " <li class=\"shortCut-topleft-inactive\"><span><a href=\"index.html\">Qt 4.7</a></span></li>\n" \ + " <li class=\"shortCut-topleft-inactive\"><span><a href=\"index.html\">Qt 4.8</a></span></li>\n" \ " <li class=\"shortCut-topleft-active\"><a href=\"http://qt.nokia.com/doc/\">ALL VERSIONS" \ " </a></li>\n" \ " </ul>\n" \ @@ -149,7 +149,7 @@ HTML.footer = \ " </div> \n" \ " <div class=\"footer\">\n" \ " <p>\n" \ - " <acronym title=\"Copyright\">©</acronym> 2008-2010 Nokia Corporation and/or its\n" \ + " <acronym title=\"Copyright\">©</acronym> 2008-2011 Nokia Corporation and/or its\n" \ " subsidiaries. Nokia, Qt and their respective logos are trademarks of Nokia Corporation \n" \ " in Finland and/or other countries worldwide.</p>\n" \ " <p>\n" \ diff --git a/tools/qdoc3/test/qt-html-templates_zh_CN.qdocconf b/tools/qdoc3/test/qt-html-templates_zh_CN.qdocconf index 7773aa6..b4c8f7b 100644 --- a/tools/qdoc3/test/qt-html-templates_zh_CN.qdocconf +++ b/tools/qdoc3/test/qt-html-templates_zh_CN.qdocconf @@ -24,7 +24,7 @@ HTML.postheader = \ " </div>\n" \ " <div id=\"shortCut\">\n" \ " <ul>\n" \ - " <li class=\"shortCut-topleft-inactive\"><span><a href=\"index.html\">Qt 4.7</a></span></li>\n" \ + " <li class=\"shortCut-topleft-inactive\"><span><a href=\"index.html\">Qt 4.8</a></span></li>\n" \ " <li class=\"shortCut-topleft-active\"><a href=\"http://qt.nokia.com/doc/\">ALL VERSIONS" \ " </a></li>\n" \ " </ul>\n" \ @@ -149,7 +149,7 @@ HTML.footer = \ " </div> \n" \ " <div class=\"footer\">\n" \ " <p>\n" \ - " <acronym title=\"Copyright\">©</acronym> 2008-2010 Nokia Corporation and/or its\n" \ + " <acronym title=\"Copyright\">©</acronym> 2008-2011 Nokia Corporation and/or its\n" \ " subsidiaries. Nokia, Qt and their respective logos are trademarks of Nokia Corporation \n" \ " in Finland and/or other countries worldwide.</p>\n" \ " <p>\n" \ diff --git a/tools/qdoc3/test/qt-project.qdocconf b/tools/qdoc3/test/qt-project.qdocconf index 9c18608..57bf797 100644 --- a/tools/qdoc3/test/qt-project.qdocconf +++ b/tools/qdoc3/test/qt-project.qdocconf @@ -5,8 +5,8 @@ include(qt-defines.qdocconf) project = Qt description = Qt Reference Documentation -url = http://qt.nokia.com/doc/4.7 -version = 4.7.3 +url = http://qt.nokia.com/doc/4.8 +version = 4.8.0 sourceencoding = UTF-8 outputencoding = UTF-8 @@ -15,14 +15,14 @@ naturallanguage = en_US qhp.projects = Qt qhp.Qt.file = qt.qhp -qhp.Qt.namespace = com.trolltech.qt.474 +qhp.Qt.namespace = com.trolltech.qt.480 qhp.Qt.virtualFolder = qdoc qhp.Qt.indexTitle = Qt Reference Documentation qhp.Qt.indexRoot = -qhp.Qt.filterAttributes = qt 4.7.4 qtrefdoc -qhp.Qt.customFilters.Qt.name = Qt 4.7.4 -qhp.Qt.customFilters.Qt.filterAttributes = qt 4.7.4 +qhp.Qt.filterAttributes = qt 4.8.0 qtrefdoc +qhp.Qt.customFilters.Qt.name = Qt 4.8.0 +qhp.Qt.customFilters.Qt.filterAttributes = qt 4.8.0 qhp.Qt.subprojects = classes overviews examples qhp.Qt.subprojects.classes.title = Classes qhp.Qt.subprojects.classes.indexTitle = Qt's Classes @@ -105,7 +105,7 @@ exampledirs = $QT_SOURCE_TREE/doc/src \ $QT_SOURCE_TREE/examples/tutorials \ $QT_SOURCE_TREE \ $QT_SOURCE_TREE/qmake/examples \ - $QT_SOURCE_TREE/src/3rdparty/webkit/WebKit/qt/docs + $QT_SOURCE_TREE/src/3rdparty/webkit/Source/WebKit/qt/docs imagedirs = $QT_SOURCE_TREE/doc/src/images \ $QT_SOURCE_TREE/examples \ $QT_SOURCE_TREE/doc/src/declarative/pics \ diff --git a/tools/qdoc3/test/standalone-eclipse-integration.qdocconf b/tools/qdoc3/test/standalone-eclipse-integration.qdocconf index 96c2c98..850a2db 100644 --- a/tools/qdoc3/test/standalone-eclipse-integration.qdocconf +++ b/tools/qdoc3/test/standalone-eclipse-integration.qdocconf @@ -5,7 +5,7 @@ macro.TheEclipseIntegration = The Qt Eclipse Integration HTML.footer = "<p /><address><hr /><div align=\"center\">\n" \ "<table width=\"100%\" cellspacing=\"0\" border=\"0\"><tr class=\"address\">\n" \ - "<td width=\"30%\" align=\"left\">Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies)</td>\n" \ + "<td width=\"30%\" align=\"left\">Copyright © 2011 Nokia Corporation and/or its subsidiary(-ies)</td>\n" \ "<td width=\"40%\" align=\"center\"><a href=\"http://qt.nokia.com/doc/trademarks.html\">Trademarks</a></td>\n" \ "<td width=\"30%\" align=\"right\"><div align=\"right\">Qt Eclipse Integration 1.5.3</div></td>\n" \ "</tr></table></div></address>" diff --git a/tools/qdoc3/tree.cpp b/tools/qdoc3/tree.cpp index 63d6ea9..21d1db0 100644 --- a/tools/qdoc3/tree.cpp +++ b/tools/qdoc3/tree.cpp @@ -1544,8 +1544,72 @@ bool Tree::generateIndexSection(QXmlStreamWriter &writer, return true; } + /*! - */ + Returns true if the node \a n1 is less than node \a n2. + The comparison is performed by comparing properties of the nodes in order + of increasing complexity. +*/ +bool compareNodes(const Node *n1, const Node *n2) +{ + // Private nodes can occur in any order since they won't normally be + // written to the index. + if (n1->access() == Node::Private && n2->access() == Node::Private) + return true; + + if (n1->location().filePath() < n2->location().filePath()) + return true; + else if (n1->location().filePath() > n2->location().filePath()) + return false; + + if (n1->type() < n2->type()) + return true; + else if (n1->type() > n2->type()) + return false; + + if (n1->name() < n2->name()) + return true; + else if (n1->name() > n2->name()) + return false; + + if (n1->access() < n2->access()) + return true; + else if (n1->access() > n2->access()) + return false; + + if (n1->type() == Node::Function && n2->type() == Node::Function) { + const FunctionNode *f1 = static_cast<const FunctionNode *>(n1); + const FunctionNode *f2 = static_cast<const FunctionNode *>(n2); + + if (f1->isConst() < f2->isConst()) + return true; + else if (f1->isConst() > f2->isConst()) + return false; + + if (f1->signature() < f2->signature()) + return true; + else if (f1->signature() > f2->signature()) + return false; + } + + if (n1->type() == Node::Fake && n2->type() == Node::Fake) { + const FakeNode *f1 = static_cast<const FakeNode *>(n1); + const FakeNode *f2 = static_cast<const FakeNode *>(n2); + if (f1->fullTitle() < f2->fullTitle()) + return true; + else if (f1->fullTitle() > f2->fullTitle()) + return false; + } + + return false; +} + +/*! + Generate index sections for the child nodes of the given \a node + using the \a writer specified. If \a generateInternalNodes is true, + nodes marked as internal will be included in the index; otherwise, + they will be omitted. +*/ void Tree::generateIndexSections(QXmlStreamWriter &writer, const Node *node, bool generateInternalNodes) const @@ -1555,7 +1619,10 @@ void Tree::generateIndexSections(QXmlStreamWriter &writer, if (node->isInnerNode()) { const InnerNode *inner = static_cast<const InnerNode *>(node); - foreach (const Node *child, inner->childNodes()) { + NodeList cnodes = inner->childNodes(); + qSort(cnodes.begin(), cnodes.end(), compareNodes); + + foreach (const Node *child, cnodes) { /* Don't generate anything for a QML property group node. It is just a place holder for a collection of QML property |