summaryrefslogtreecommitdiffstats
path: root/src/tools
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/bootstrap/bootstrap.pro20
-rw-r--r--src/tools/moc/moc.cpp6
-rw-r--r--src/tools/qdbuscpp2xml/qdbuscpp2xml.pro1
-rw-r--r--src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp2
-rw-r--r--src/tools/qdbusxml2cpp/qdbusxml2cpp.pro1
-rw-r--r--src/tools/qdoc/codemarker.cpp34
-rw-r--r--src/tools/qdoc/codemarker.h6
-rw-r--r--src/tools/qdoc/cppcodemarker.cpp86
-rw-r--r--src/tools/qdoc/generator.cpp6
-rw-r--r--src/tools/qdoc/htmlgenerator.cpp4
-rw-r--r--src/tools/qdoc/node.h5
-rw-r--r--src/tools/qdoc/qdoc.pro3
-rw-r--r--src/tools/qdoc/qdocdatabase.cpp35
-rw-r--r--src/tools/qdoc/qdocdatabase.h30
-rw-r--r--src/tools/qdoc/qdocindexfiles.cpp6
-rw-r--r--src/tools/qdoc/tree.cpp48
-rw-r--r--src/tools/rcc/rcc.cpp4
-rw-r--r--src/tools/tools.pro14
-rw-r--r--src/tools/uic/uic.cpp3
19 files changed, 151 insertions, 163 deletions
diff --git a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro
index f2f041b704..0d4b62fd16 100644
--- a/src/tools/bootstrap/bootstrap.pro
+++ b/src/tools/bootstrap/bootstrap.pro
@@ -41,16 +41,6 @@ load(qt_module)
INCLUDEPATH += $$QT_BUILD_TREE/src/corelib/global
-DEPENDPATH += $$INCLUDEPATH \
- ../../corelib/global \
- ../../corelib/kernel \
- ../../corelib/tools \
- ../../corelib/io \
- ../../corelib/codecs \
- ../../corelib/json \
- ../../xml/dom \
- ../../xml/sax
-
SOURCES += \
../../corelib/codecs/qlatincodec.cpp \
../../corelib/codecs/qtextcodec.cpp \
@@ -139,16 +129,6 @@ win32:LIBS += -luser32 -lole32 -ladvapi32
lib.CONFIG = dummy_install
INSTALLS += lib
-# Make dummy "sis" and "freeze" target to keep recursive "make sis/freeze" working.
-sis_target.target = sis
-sis_target.commands =
-sis_target.depends = first
-QMAKE_EXTRA_TARGETS += sis_target
-freeze_target.target = freeze
-freeze_target.commands =
-freeze_target.depends = first
-QMAKE_EXTRA_TARGETS += freeze_target
-
!build_pass {
# We need the forwarding headers before their respective modules are built,
# so do a minimal syncqt run.
diff --git a/src/tools/moc/moc.cpp b/src/tools/moc/moc.cpp
index 96d6e9e456..5fbbd57c22 100644
--- a/src/tools/moc/moc.cpp
+++ b/src/tools/moc/moc.cpp
@@ -831,9 +831,6 @@ static void findRequiredContainers(ClassDef *cdef, QSet<QByteArray> *requiredQtC
void Moc::generate(FILE *out)
{
-
- QDateTime dt = QDateTime::currentDateTime();
- QByteArray dstr = dt.toString().toLatin1();
QByteArray fn = filename;
int i = filename.length()-1;
while (i>0 && filename[i-1] != '/' && filename[i-1] != '\\')
@@ -842,8 +839,7 @@ void Moc::generate(FILE *out)
fn = filename.mid(i);
fprintf(out, "/****************************************************************************\n"
"** Meta object code from reading C++ file '%s'\n**\n" , fn.constData());
- fprintf(out, "** Created: %s\n"
- "** by: The Qt Meta Object Compiler version %d (Qt %s)\n**\n" , dstr.data(), mocOutputRevision, QT_VERSION_STR);
+ fprintf(out, "** Created by: The Qt Meta Object Compiler version %d (Qt %s)\n**\n" , mocOutputRevision, QT_VERSION_STR);
fprintf(out, "** WARNING! All changes made in this file will be lost!\n"
"*****************************************************************************/\n\n");
diff --git a/src/tools/qdbuscpp2xml/qdbuscpp2xml.pro b/src/tools/qdbuscpp2xml/qdbuscpp2xml.pro
index a17b91dd79..02c3655f33 100644
--- a/src/tools/qdbuscpp2xml/qdbuscpp2xml.pro
+++ b/src/tools/qdbuscpp2xml/qdbuscpp2xml.pro
@@ -19,7 +19,6 @@ SOURCES += qdbuscpp2xml.cpp \
$$QT_SOURCE_TREE/src/dbus/qdbusutil.cpp \
$$QT_SOURCE_TREE/src/dbus/qdbusmisc.cpp \
$$QT_SOURCE_TREE/src/dbus/qdbusargument.cpp \
- $$QT_SOURCE_TREE/src/dbus/qdbusmarshaller.cpp \
$$QT_SOURCE_TREE/src/dbus/qdbusextratypes.cpp \
$$QT_SOURCE_TREE/src/dbus/qdbus_symbols.cpp \
$$QT_SOURCE_TREE/src/dbus/qdbusunixfiledescriptor.cpp
diff --git a/src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp b/src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp
index bdc9bc30dc..786d5108fc 100644
--- a/src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp
+++ b/src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp
@@ -498,7 +498,7 @@ static QString stringify(const QString &data)
retval += QLatin1String("\\\"");
else
retval += data[i];
- if (data[i] == QLatin1Char('\r') && data[i+1] == QLatin1Char('\n'))
+ if (i+1 < data.length() && data[i] == QLatin1Char('\r') && data[i+1] == QLatin1Char('\n'))
i++;
retval += QLatin1String("\\n\"\n");
}
diff --git a/src/tools/qdbusxml2cpp/qdbusxml2cpp.pro b/src/tools/qdbusxml2cpp/qdbusxml2cpp.pro
index 7c2bb2e22f..b473014938 100644
--- a/src/tools/qdbusxml2cpp/qdbusxml2cpp.pro
+++ b/src/tools/qdbusxml2cpp/qdbusxml2cpp.pro
@@ -19,7 +19,6 @@ SOURCES = qdbusxml2cpp.cpp \
$$QT_SOURCE_TREE/src/dbus/qdbusutil.cpp \
$$QT_SOURCE_TREE/src/dbus/qdbusmetatype.cpp \
$$QT_SOURCE_TREE/src/dbus/qdbusargument.cpp \
- $$QT_SOURCE_TREE/src/dbus/qdbusmarshaller.cpp \
$$QT_SOURCE_TREE/src/dbus/qdbusextratypes.cpp \
$$QT_SOURCE_TREE/src/dbus/qdbus_symbols.cpp \
$$QT_SOURCE_TREE/src/dbus/qdbusunixfiledescriptor.cpp
diff --git a/src/tools/qdoc/codemarker.cpp b/src/tools/qdoc/codemarker.cpp
index 7cc6b631f6..9fe91d93e8 100644
--- a/src/tools/qdoc/codemarker.cpp
+++ b/src/tools/qdoc/codemarker.cpp
@@ -396,7 +396,7 @@ void CodeMarker::insert(FastSection &fastSection,
bool irrelevant = false;
bool inheritedMember = false;
if (!node->relates()) {
- if (node->parent() != (const InnerNode*)fastSection.innerNode && !node->parent()->isAbstract()) {
+ if (node->parent() != fastSection.parent_) { // && !node->parent()->isAbstract()) {
if (node->type() != Node::QmlProperty) {
inheritedMember = true;
}
@@ -468,7 +468,7 @@ void CodeMarker::insert(FastSection& fastSection,
(parent->subType() == Node::QmlPropertyGroup)) {
parent = parent->parent();
}
- inheritedMember = (parent != (const InnerNode*)fastSection.innerNode);
+ inheritedMember = (parent != fastSection.parent_);
if (!inheritedMember || style == Subpage) {
QString key = sortName(node);
@@ -488,24 +488,24 @@ void CodeMarker::insert(FastSection& fastSection,
}
/*!
- Returns true if \a node represents a reimplemented member function.
- If it is, then it is inserted in the reimplemented member map in the
- section \a fs. And, the test is only performed if \a status is \e OK.
- Otherwise, false is returned.
+ Returns true if \a node represents a reimplemented member
+ function in the class of the FastSection \a fs. If it is
+ a reimplemented function, then it is inserted into the
+ reimplemented member map in \a fs. The test is performed
+ only if \a status is \e OK. True is returned if \a node
+ is inserted into the map. Otherwise, false is returned.
*/
bool CodeMarker::insertReimpFunc(FastSection& fs, Node* node, Status status)
{
- if (node->access() == Node::Private)
- return false;
-
- const FunctionNode* fn = static_cast<const FunctionNode*>(node);
- if ((fn->reimplementedFrom() != 0) && (status == Okay)) {
- bool inherited = (!fn->relates() && (fn->parent() != (const InnerNode*)fs.innerNode));
- if (!inherited) {
- QString key = sortName(fn);
- if (!fs.reimpMemberMap.contains(key)) {
- fs.reimpMemberMap.insert(key,node);
- return true;
+ if ((node->access() != Node::Private) && (node->relates() == 0)) {
+ const FunctionNode* fn = static_cast<const FunctionNode*>(node);
+ if ((fn->reimplementedFrom() != 0) && (status == Okay)) {
+ if (fn->parent() == fs.parent_) {
+ QString key = sortName(fn);
+ if (!fs.reimpMemberMap.contains(key)) {
+ fs.reimpMemberMap.insert(key,node);
+ return true;
+ }
}
}
}
diff --git a/src/tools/qdoc/codemarker.h b/src/tools/qdoc/codemarker.h
index 0e699a62bf..14d33d37a0 100644
--- a/src/tools/qdoc/codemarker.h
+++ b/src/tools/qdoc/codemarker.h
@@ -82,7 +82,7 @@ struct Section
struct FastSection
{
- const InnerNode *innerNode;
+ const InnerNode *parent_;
QString name;
QString divClass;
QString singularMember;
@@ -91,12 +91,12 @@ struct FastSection
QMap<QString, Node *> reimpMemberMap;
QList<QPair<InnerNode *, int> > inherited;
- FastSection(const InnerNode *innerNode0,
+ FastSection(const InnerNode *parent,
const QString& name0,
const QString& divClass0,
const QString& singularMember0,
const QString& pluralMember0)
- : innerNode(innerNode0),
+ : parent_(parent),
name(name0),
divClass(divClass0),
singularMember(singularMember0),
diff --git a/src/tools/qdoc/cppcodemarker.cpp b/src/tools/qdoc/cppcodemarker.cpp
index 3abe4c2a65..74036f4011 100644
--- a/src/tools/qdoc/cppcodemarker.cpp
+++ b/src/tools/qdoc/cppcodemarker.cpp
@@ -449,74 +449,74 @@ QList<Section> CppCodeMarker::sections(const InnerNode *inner,
QList<Section> sections;
if (inner->type() == Node::Class) {
- const ClassNode *classe = static_cast<const ClassNode *>(inner);
+ const ClassNode *classNode = static_cast<const ClassNode *>(inner);
if (style == Summary) {
- FastSection privateFunctions(classe,
+ FastSection privateFunctions(classNode,
"Private Functions",
QString(),
"private function",
"private functions");
- FastSection privateSlots(classe, "Private Slots", QString(), "private slot", "private slots");
- FastSection privateTypes(classe, "Private Types", QString(), "private type", "private types");
- FastSection protectedFunctions(classe,
+ FastSection privateSlots(classNode, "Private Slots", QString(), "private slot", "private slots");
+ FastSection privateTypes(classNode, "Private Types", QString(), "private type", "private types");
+ FastSection protectedFunctions(classNode,
"Protected Functions",
QString(),
"protected function",
"protected functions");
- FastSection protectedSlots(classe,
+ FastSection protectedSlots(classNode,
"Protected Slots",
QString(),
"protected slot",
"protected slots");
- FastSection protectedTypes(classe,
+ FastSection protectedTypes(classNode,
"Protected Types",
QString(),
"protected type",
"protected types");
- FastSection protectedVariables(classe,
+ FastSection protectedVariables(classNode,
"Protected Variables",
QString(),
"protected type",
"protected variables");
- FastSection publicFunctions(classe,
+ FastSection publicFunctions(classNode,
"Public Functions",
QString(),
"public function",
"public functions");
- FastSection publicSignals(classe, "Signals", QString(), "signal", "signal");
- FastSection publicSlots(classe, "Public Slots", QString(), "public slot", "public slots");
- FastSection publicTypes(classe, "Public Types", QString(), "public type", "public types");
- FastSection publicVariables(classe,
+ FastSection publicSignals(classNode, "Signals", QString(), "signal", "signals");
+ FastSection publicSlots(classNode, "Public Slots", QString(), "public slot", "public slots");
+ FastSection publicTypes(classNode, "Public Types", QString(), "public type", "public types");
+ FastSection publicVariables(classNode,
"Public Variables",
QString(),
"public variable",
"public variables");
- FastSection properties(classe, "Properties", QString(), "property", "properties");
- FastSection relatedNonMembers(classe,
+ FastSection properties(classNode, "Properties", QString(), "property", "properties");
+ FastSection relatedNonMembers(classNode,
"Related Non-Members",
QString(),
"related non-member",
"related non-members");
- FastSection staticPrivateMembers(classe,
+ FastSection staticPrivateMembers(classNode,
"Static Private Members",
QString(),
"static private member",
"static private members");
- FastSection staticProtectedMembers(classe,
+ FastSection staticProtectedMembers(classNode,
"Static Protected Members",
QString(),
"static protected member",
"static protected members");
- FastSection staticPublicMembers(classe,
+ FastSection staticPublicMembers(classNode,
"Static Public Members",
QString(),
"static public member",
"static public members");
FastSection macros(inner, "Macros", QString(), "macro", "macros");
- NodeList::ConstIterator r = classe->relatedNodes().constBegin();
- while (r != classe->relatedNodes().constEnd()) {
+ NodeList::ConstIterator r = classNode->relatedNodes().constBegin();
+ while (r != classNode->relatedNodes().constEnd()) {
if ((*r)->type() == Node::Function) {
FunctionNode *func = static_cast<FunctionNode *>(*r);
if (func->isMacro())
@@ -531,7 +531,7 @@ QList<Section> CppCodeMarker::sections(const InnerNode *inner,
}
QStack<const ClassNode *> stack;
- stack.push(classe);
+ stack.push(classNode);
while (!stack.isEmpty()) {
const ClassNode *ancestorClass = stack.pop();
@@ -566,8 +566,7 @@ QList<Section> CppCodeMarker::sections(const InnerNode *inner,
insert(publicSignals, *c, style, status);
}
else if (isStatic) {
- if ((*c)->type() != Node::Variable
- || !(*c)->doc().isEmpty())
+ if ((*c)->type() != Node::Variable || !(*c)->doc().isEmpty())
insert(staticPublicMembers,*c,style,status);
}
else if ((*c)->type() == Node::Property) {
@@ -578,8 +577,9 @@ QList<Section> CppCodeMarker::sections(const InnerNode *inner,
insert(publicVariables, *c, style, status);
}
else if ((*c)->type() == Node::Function) {
- if (!insertReimpFunc(publicFunctions,*c,status))
+ if (!insertReimpFunc(publicFunctions,*c,status)) {
insert(publicFunctions, *c, style, status);
+ }
}
else {
insert(publicTypes, *c, style, status);
@@ -590,8 +590,7 @@ QList<Section> CppCodeMarker::sections(const InnerNode *inner,
insert(protectedSlots, *c, style, status);
}
else if (isStatic) {
- if ((*c)->type() != Node::Variable
- || !(*c)->doc().isEmpty())
+ if ((*c)->type() != Node::Variable || !(*c)->doc().isEmpty())
insert(staticProtectedMembers,*c,style,status);
}
else if ((*c)->type() == Node::Variable) {
@@ -599,8 +598,9 @@ QList<Section> CppCodeMarker::sections(const InnerNode *inner,
insert(protectedVariables,*c,style,status);
}
else if ((*c)->type() == Node::Function) {
- if (!insertReimpFunc(protectedFunctions,*c,status))
+ if (!insertReimpFunc(protectedFunctions,*c,status)) {
insert(protectedFunctions, *c, style, status);
+ }
}
else {
insert(protectedTypes, *c, style, status);
@@ -611,13 +611,13 @@ QList<Section> CppCodeMarker::sections(const InnerNode *inner,
insert(privateSlots, *c, style, status);
}
else if (isStatic) {
- if ((*c)->type() != Node::Variable
- || !(*c)->doc().isEmpty())
+ if ((*c)->type() != Node::Variable || !(*c)->doc().isEmpty())
insert(staticPrivateMembers,*c,style,status);
}
else if ((*c)->type() == Node::Function) {
- if (!insertReimpFunc(privateFunctions,*c,status))
+ if (!insertReimpFunc(privateFunctions,*c,status)) {
insert(privateFunctions, *c, style, status);
+ }
}
else {
insert(privateTypes,*c,style,status);
@@ -654,15 +654,15 @@ QList<Section> CppCodeMarker::sections(const InnerNode *inner,
append(sections, macros);
}
else if (style == Detailed) {
- FastSection memberFunctions(classe,"Member Function Documentation","func","member","members");
- FastSection memberTypes(classe,"Member Type Documentation","types","member","members");
- FastSection memberVariables(classe,"Member Variable Documentation","vars","member","members");
- FastSection properties(classe,"Property Documentation","prop","member","members");
- FastSection relatedNonMembers(classe,"Related Non-Members","relnonmem","member","members");
- FastSection macros(classe,"Macro Documentation","macros","member","members");
-
- NodeList::ConstIterator r = classe->relatedNodes().constBegin();
- while (r != classe->relatedNodes().constEnd()) {
+ FastSection memberFunctions(classNode,"Member Function Documentation","func","member","members");
+ FastSection memberTypes(classNode,"Member Type Documentation","types","member","members");
+ FastSection memberVariables(classNode,"Member Variable Documentation","vars","member","members");
+ FastSection properties(classNode,"Property Documentation","prop","member","members");
+ FastSection relatedNonMembers(classNode,"Related Non-Members","relnonmem","member","members");
+ FastSection macros(classNode,"Macro Documentation","macros","member","members");
+
+ NodeList::ConstIterator r = classNode->relatedNodes().constBegin();
+ while (r != classNode->relatedNodes().constEnd()) {
if ((*r)->type() == Node::Function) {
FunctionNode *func = static_cast<FunctionNode *>(*r);
if (func->isMacro())
@@ -676,8 +676,8 @@ QList<Section> CppCodeMarker::sections(const InnerNode *inner,
++r;
}
- NodeList::ConstIterator c = classe->childNodes().constBegin();
- while (c != classe->childNodes().constEnd()) {
+ NodeList::ConstIterator c = classNode->childNodes().constBegin();
+ while (c != classNode->childNodes().constEnd()) {
if ((*c)->type() == Node::Enum ||
(*c)->type() == Node::Typedef) {
insert(memberTypes, *c, style, status);
@@ -705,10 +705,10 @@ QList<Section> CppCodeMarker::sections(const InnerNode *inner,
append(sections, macros);
}
else {
- FastSection all(classe,QString(),QString(),"member","members");
+ FastSection all(classNode,QString(),QString(),"member","members");
QStack<const ClassNode *> stack;
- stack.push(classe);
+ stack.push(classNode);
while (!stack.isEmpty()) {
const ClassNode *ancestorClass = stack.pop();
diff --git a/src/tools/qdoc/generator.cpp b/src/tools/qdoc/generator.cpp
index 50687d8014..d9aed3ed06 100644
--- a/src/tools/qdoc/generator.cpp
+++ b/src/tools/qdoc/generator.cpp
@@ -1529,9 +1529,9 @@ void Generator::initialize(const Config &config)
if (outputFormats.contains((*g)->format())) {
currentGenerator_ = (*g);
(*g)->initializeGenerator(config);
- QStringList extraImages = config.getCleanPathList((*g)->format() +
- Config::dot +
- CONFIG_EXTRAIMAGES);
+ QStringList extraImages = config.getPathList((*g)->format() +
+ Config::dot +
+ CONFIG_EXTRAIMAGES);
QStringList::ConstIterator e = extraImages.constBegin();
while (e != extraImages.constEnd()) {
QString filePath = *e;
diff --git a/src/tools/qdoc/htmlgenerator.cpp b/src/tools/qdoc/htmlgenerator.cpp
index 1a8425b5ce..6c0248362c 100644
--- a/src/tools/qdoc/htmlgenerator.cpp
+++ b/src/tools/qdoc/htmlgenerator.cpp
@@ -3502,6 +3502,10 @@ QString HtmlGenerator::getLink(const Atom *atom, const Node *relative, const Nod
}
if (!*node) {
*node = qdb_->findUnambiguousTarget(first, ref, relative);
+ if (*node && !(*node)->url().isEmpty() && !ref.isEmpty()) {
+ QString final = (*node)->url() + "#" + ref;
+ return final;
+ }
}
}
if (*node) {
diff --git a/src/tools/qdoc/node.h b/src/tools/qdoc/node.h
index f93e777d84..88be423478 100644
--- a/src/tools/qdoc/node.h
+++ b/src/tools/qdoc/node.h
@@ -822,13 +822,8 @@ private:
QString rt;
QStringList pp;
-#ifdef Q_WS_WIN
Metaness met;
Virtualness vir;
-#else
- Metaness met : 4;
- Virtualness vir : 2;
-#endif
bool con : 1;
bool sta : 1;
bool ove : 1;
diff --git a/src/tools/qdoc/qdoc.pro b/src/tools/qdoc/qdoc.pro
index b489668059..c0f3cd70d1 100644
--- a/src/tools/qdoc/qdoc.pro
+++ b/src/tools/qdoc/qdoc.pro
@@ -5,9 +5,6 @@ DEFINES += QDOC2_COMPAT
INCLUDEPATH += $$QT_SOURCE_TREE/src/tools/qdoc \
$$QT_SOURCE_TREE/src/tools/qdoc/qmlparser
-DEPENDPATH += $$QT_SOURCE_TREE/src/tools/qdoc \
- $$QT_SOURCE_TREE/src/tools/qdoc/qmlparser
-
# Increase the stack size on MSVC to 4M to avoid a stack overflow
win32-msvc*:{
QMAKE_LFLAGS += /STACK:4194304
diff --git a/src/tools/qdoc/qdocdatabase.cpp b/src/tools/qdoc/qdocdatabase.cpp
index fa5b2c013f..806b7b1d48 100644
--- a/src/tools/qdoc/qdocdatabase.cpp
+++ b/src/tools/qdoc/qdocdatabase.cpp
@@ -684,14 +684,15 @@ const Node* QDocDatabase::findNodeForTarget(const QString& target, const Node* r
Inserts a new target into the target table with the specified
\a name, \a node, and \a priority.
*/
-void QDocDatabase::insertTarget(const QString& name, Node* node, int priority)
+void QDocDatabase::insertTarget(const QString& name, TargetRec::Type type, Node* node, int priority)
{
- Target target;
+ TargetRec target;
+ target.type_ = type;
target.node_ = node;
target.priority_ = priority;
Atom a = Atom(Atom::Target, name);
target.ref_ = refForAtom(&a);
- targetMultiMap_.insert(name, target);
+ targetRecMultiMap_.insert(name, target);
}
/*!
@@ -701,16 +702,16 @@ void QDocDatabase::insertTarget(const QString& name, Node* node, int priority)
const Node*
QDocDatabase::findUnambiguousTarget(const QString& target, QString& ref, const Node* relative)
{
- Target bestTarget;
+ TargetRec bestTarget;
int numBestTargets = 0;
- QList<Target> bestTargetList;
+ QList<TargetRec> bestTargetList;
QString key = Doc::canonicalTitle(target);
- TargetMultiMap::iterator i = targetMultiMap_.find(key);
- while (i != targetMultiMap_.end()) {
+ TargetRecMultiMap::iterator i = targetRecMultiMap_.find(key);
+ while (i != targetRecMultiMap_.end()) {
if (i.key() != key)
break;
- const Target& candidate = i.value();
+ const TargetRec& candidate = i.value();
if (candidate.priority_ < bestTarget.priority_) {
bestTarget = candidate;
bestTargetList.clear();
@@ -808,14 +809,14 @@ const DocNode* QDocDatabase::findDocNodeByTitle(const QString& title, const Node
QString QDocDatabase::findTarget(const QString& target, const Node* node) const
{
QString key = Doc::canonicalTitle(target);
- TargetMultiMap::const_iterator i = targetMultiMap_.constFind(key);
+ TargetRecMultiMap::const_iterator i = targetRecMultiMap_.constFind(key);
- if (i != targetMultiMap_.constEnd()) {
+ if (i != targetRecMultiMap_.constEnd()) {
do {
if (i.value().node_ == node)
return i.value().ref_;
++i;
- } while (i != targetMultiMap_.constEnd() && i.key() == key);
+ } while (i != targetRecMultiMap_.constEnd() && i.key() == key);
}
return QString();
}
@@ -840,7 +841,7 @@ void QDocDatabase::resolveTargets(InnerNode* root)
if (child->doc().hasTableOfContents()) {
const QList<Atom*>& toc = child->doc().tableOfContents();
- Target target;
+ TargetRec target;
target.node_ = child;
target.priority_ = 3;
@@ -849,32 +850,32 @@ void QDocDatabase::resolveTargets(InnerNode* root)
QString title = Text::sectionHeading(toc.at(i)).toString();
if (!title.isEmpty()) {
QString key = Doc::canonicalTitle(title);
- targetMultiMap_.insert(key, target);
+ targetRecMultiMap_.insert(key, target);
}
}
}
if (child->doc().hasKeywords()) {
const QList<Atom*>& keywords = child->doc().keywords();
- Target target;
+ TargetRec target;
target.node_ = child;
target.priority_ = 1;
for (int i = 0; i < keywords.size(); ++i) {
target.ref_ = refForAtom(keywords.at(i));
QString key = Doc::canonicalTitle(keywords.at(i)->string());
- targetMultiMap_.insert(key, target);
+ targetRecMultiMap_.insert(key, target);
}
}
if (child->doc().hasTargets()) {
const QList<Atom*>& toc = child->doc().targets();
- Target target;
+ TargetRec target;
target.node_ = child;
target.priority_ = 2;
for (int i = 0; i < toc.size(); ++i) {
target.ref_ = refForAtom(toc.at(i));
QString key = Doc::canonicalTitle(toc.at(i)->string());
- targetMultiMap_.insert(key, target);
+ targetRecMultiMap_.insert(key, target);
}
}
}
diff --git a/src/tools/qdoc/qdocdatabase.h b/src/tools/qdoc/qdocdatabase.h
index 2a91693c02..d715b71e23 100644
--- a/src/tools/qdoc/qdocdatabase.h
+++ b/src/tools/qdoc/qdocdatabase.h
@@ -65,21 +65,23 @@ enum FindFlag {
NonFunction = 0x4
};
-class QDocDatabase
+struct TargetRec
{
+ public:
+ enum Type { Unknown, Target, Keyword, Contents, Class, Function, Page, Subtitle };
+ TargetRec() : node_(0), priority_(INT_MAX), type_(Unknown) { }
+ bool isEmpty() const { return ref_.isEmpty(); }
+ //void debug(int idx, const QString& key);
+ Node* node_;
+ QString ref_;
+ int priority_;
+ Type type_;
+};
+typedef QMultiMap<QString, TargetRec> TargetRecMultiMap;
- struct Target
- {
- public:
- Target() : node_(0), priority_(INT_MAX) { }
- bool isEmpty() const { return ref_.isEmpty(); }
- //void debug(int idx, const QString& key);
- Node* node_;
- QString ref_;
- int priority_;
- };
- typedef QMultiMap<QString, Target> TargetMultiMap;
+class QDocDatabase
+{
public:
static QDocDatabase* qdocDB();
static void destroyQdocDB();
@@ -127,7 +129,7 @@ class QDocDatabase
const Node* resolveTarget(const QString& target, const Node* relative, const Node* self=0);
const Node* findNodeForTarget(const QString& target, const Node* relative);
- void insertTarget(const QString& name, Node* node, int priority);
+ void insertTarget(const QString& name, TargetRec::Type type, Node* node, int priority);
/* convenience functions
Many of these will be either eliminated or replaced.
@@ -226,7 +228,7 @@ class QDocDatabase
NodeMapMap funcIndex_;
TextToNodeMap legaleseTexts_;
DocNodeMultiMap docNodesByTitle_;
- TargetMultiMap targetMultiMap_;
+ TargetRecMultiMap targetRecMultiMap_;
};
QT_END_NAMESPACE
diff --git a/src/tools/qdoc/qdocindexfiles.cpp b/src/tools/qdoc/qdocindexfiles.cpp
index 2db5db3714..fec4f304e3 100644
--- a/src/tools/qdoc/qdocindexfiles.cpp
+++ b/src/tools/qdoc/qdocindexfiles.cpp
@@ -381,15 +381,15 @@ void QDocIndexFiles::readIndexSection(const QDomElement& element,
location = Location(parent->name().toLower() + ".html");
}
else if (element.nodeName() == "keyword") {
- qdb_->insertTarget(name, parent,1);
+ qdb_->insertTarget(name, TargetRec::Keyword, parent, 1);
return;
}
else if (element.nodeName() == "target") {
- qdb_->insertTarget(name, parent,2);
+ qdb_->insertTarget(name, TargetRec::Target, parent, 2);
return;
}
else if (element.nodeName() == "contents") {
- qdb_->insertTarget(name, parent,3);
+ qdb_->insertTarget(name, TargetRec::Contents, parent, 3);
return;
}
else
diff --git a/src/tools/qdoc/tree.cpp b/src/tools/qdoc/tree.cpp
index c622fb929b..e7a8f5b5d0 100644
--- a/src/tools/qdoc/tree.cpp
+++ b/src/tools/qdoc/tree.cpp
@@ -398,6 +398,11 @@ void Tree::addPropertyFunction(PropertyNode* property,
}
/*!
+ This function resolves inheritance and reimplementation settings
+ for each class node found in the namspace beginning ar \a rootNode.
+ If it finds another namespace node in the child list of \a rootNode,
+ it calls itself recursively. For each child of \a rootNode that is a
+ class node, it calls the other resolveInheritance() function.
*/
void Tree::resolveInheritance(NamespaceNode* rootNode)
{
@@ -475,11 +480,24 @@ void Tree::resolveProperties()
}
/*!
+ This function is run twice for each \a classNode in the
+ tree. First it is run with \a pass set to 0 for each
+ \a classNode. Then it is run with \a pass set to 1 for
+ each \a classNode.
+
+ In \a pass 0, all the base classes of \a classNode are
+ found and added to the base class list for \a classNode.
+
+ In \a pass 1, each child of \a classNode that is a function
+ that is reimplemented from one of the base classes is marked
+ as being reimplemented from that class.
+
+ Some property node fixing up is also done in \a pass 1.
*/
-void Tree::resolveInheritance(int pass, ClassNode* classe)
+void Tree::resolveInheritance(int pass, ClassNode* classNode)
{
if (pass == 0) {
- QList<InheritanceBound> bounds = unresolvedInheritanceMap[classe];
+ QList<InheritanceBound> bounds = unresolvedInheritanceMap[classNode];
QList<InheritanceBound>::ConstIterator b = bounds.constBegin();
while (b != bounds.constEnd()) {
Node* n = findClassNode((*b).basePath);
@@ -487,17 +505,17 @@ void Tree::resolveInheritance(int pass, ClassNode* classe)
n = findClassNode((*b).basePath, (*b).parent);
}
if (n) {
- classe->addBaseClass((*b).access, static_cast<ClassNode*>(n), (*b).dataTypeWithTemplateArgs);
+ classNode->addBaseClass((*b).access, static_cast<ClassNode*>(n), (*b).dataTypeWithTemplateArgs);
}
++b;
}
}
else {
- NodeList::ConstIterator c = classe->childNodes().constBegin();
- while (c != classe->childNodes().constEnd()) {
+ NodeList::ConstIterator c = classNode->childNodes().constBegin();
+ while (c != classNode->childNodes().constEnd()) {
if ((*c)->type() == Node::Function) {
FunctionNode* func = (FunctionNode*)* c;
- FunctionNode* from = findVirtualFunctionInBaseClasses(classe, func);
+ FunctionNode* from = findVirtualFunctionInBaseClasses(classNode, func);
if (from != 0) {
if (func->virtualness() == FunctionNode::NonVirtual)
func->setVirtualness(FunctionNode::ImpureVirtual);
@@ -505,7 +523,7 @@ void Tree::resolveInheritance(int pass, ClassNode* classe)
}
}
else if ((*c)->type() == Node::Property) {
- fixPropertyUsingBaseClasses(classe, static_cast<PropertyNode*>(*c));
+ fixPropertyUsingBaseClasses(classNode, static_cast<PropertyNode*>(*c));
}
++c;
}
@@ -551,11 +569,11 @@ void Tree::fixInheritance(NamespaceNode* rootNode)
/*!
*/
-FunctionNode* Tree::findVirtualFunctionInBaseClasses(ClassNode* classe,
+FunctionNode* Tree::findVirtualFunctionInBaseClasses(ClassNode* classNode,
FunctionNode* clone)
{
- QList<RelatedClass>::ConstIterator r = classe->baseClasses().constBegin();
- while (r != classe->baseClasses().constEnd()) {
+ QList<RelatedClass>::ConstIterator r = classNode->baseClasses().constBegin();
+ while (r != classNode->baseClasses().constEnd()) {
FunctionNode* func;
if (((func = findVirtualFunctionInBaseClasses((*r).node, clone)) != 0 ||
(func = (*r).node->findFunctionNode(clone)) != 0)) {
@@ -569,10 +587,10 @@ FunctionNode* Tree::findVirtualFunctionInBaseClasses(ClassNode* classe,
/*!
*/
-void Tree::fixPropertyUsingBaseClasses(ClassNode* classe, PropertyNode* property)
+void Tree::fixPropertyUsingBaseClasses(ClassNode* classNode, PropertyNode* property)
{
- QList<RelatedClass>::const_iterator r = classe->baseClasses().constBegin();
- while (r != classe->baseClasses().constEnd()) {
+ QList<RelatedClass>::const_iterator r = classNode->baseClasses().constBegin();
+ while (r != classNode->baseClasses().constEnd()) {
Node* n = r->node->findChildNodeByNameAndType(property->name(), Node::Property);
if (n) {
PropertyNode* baseProperty = static_cast<PropertyNode*>(n);
@@ -588,10 +606,10 @@ void Tree::fixPropertyUsingBaseClasses(ClassNode* classe, PropertyNode* property
/*!
*/
-NodeList Tree::allBaseClasses(const ClassNode* classe) const
+NodeList Tree::allBaseClasses(const ClassNode* classNode) const
{
NodeList result;
- foreach (const RelatedClass& r, classe->baseClasses()) {
+ foreach (const RelatedClass& r, classNode->baseClasses()) {
result += r.node;
result += allBaseClasses(r.node);
}
diff --git a/src/tools/rcc/rcc.cpp b/src/tools/rcc/rcc.cpp
index 969b644d84..fb952e2970 100644
--- a/src/tools/rcc/rcc.cpp
+++ b/src/tools/rcc/rcc.cpp
@@ -793,9 +793,7 @@ bool RCCResourceLibrary::writeHeader()
writeString("/****************************************************************************\n");
writeString("** Resource object code\n");
writeString("**\n");
- writeString("** Created: ");
- writeByteArray(QDateTime::currentDateTime().toString().toLatin1());
- writeString("\n** by: The Resource Compiler for Qt version ");
+ writeString("** Created by: The Resource Compiler for Qt version ");
writeByteArray(QT_VERSION_STR);
writeString("\n**\n");
writeString("** WARNING! All changes made in this file will be lost!\n");
diff --git a/src/tools/tools.pro b/src/tools/tools.pro
index f7d1e651ff..fa9ed54c50 100644
--- a/src/tools/tools.pro
+++ b/src/tools/tools.pro
@@ -4,20 +4,20 @@ TOOLS_SUBDIRS = src_tools_bootstrap src_tools_moc src_tools_rcc src_tools_qdoc
contains(QT_CONFIG, dbus): TOOLS_SUBDIRS += src_tools_qdbusxml2cpp src_tools_qdbuscpp2xml
!contains(QT_CONFIG, no-widgets): TOOLS_SUBDIRS += src_tools_uic
# Set subdir and respective target name
-src_tools_bootstrap.subdir = $$PWD/bootstrap
+src_tools_bootstrap.subdir = bootstrap
src_tools_bootstrap.target = sub-tools-bootstrap
-src_tools_moc.subdir = $$PWD/moc
+src_tools_moc.subdir = moc
src_tools_moc.target = sub-moc
-src_tools_rcc.subdir = $$PWD/rcc
+src_tools_rcc.subdir = rcc
src_tools_rcc.target = sub-rcc
-src_tools_uic.subdir = $$PWD/uic
+src_tools_uic.subdir = uic
src_tools_uic.target = sub-uic
-src_tools_qdoc.subdir = $$QT_SOURCE_TREE/src/tools/qdoc
+src_tools_qdoc.subdir = qdoc
src_tools_qdoc.target = sub-qdoc
contains(QT_CONFIG, dbus) {
- src_tools_qdbusxml2cpp.subdir = $$QT_SOURCE_TREE/src/tools/qdbusxml2cpp
+ src_tools_qdbusxml2cpp.subdir = qdbusxml2cpp
src_tools_qdbusxml2cpp.target = sub-qdbusxml2cpp
- src_tools_qdbuscpp2xml.subdir = $$QT_SOURCE_TREE/src/tools/qdbuscpp2xml
+ src_tools_qdbuscpp2xml.subdir = qdbuscpp2xml
src_tools_qdbuscpp2xml.target = sub-qdbuscpp2xml
}
diff --git a/src/tools/uic/uic.cpp b/src/tools/uic/uic.cpp
index 38b4780ec9..1188271d99 100644
--- a/src/tools/uic/uic.cpp
+++ b/src/tools/uic/uic.cpp
@@ -134,8 +134,7 @@ void Uic::writeCopyrightHeader(DomUI *ui)
out << "/********************************************************************************\n";
out << "** Form generated from reading UI file '" << QFileInfo(opt.inputFile).fileName() << "'\n";
out << "**\n";
- out << "** Created: " << QDateTime::currentDateTime().toString() << "\n";
- out << "** " << QString::fromLatin1("by: Qt User Interface Compiler version %1\n").arg(QLatin1String(QT_VERSION_STR));
+ out << "** Created by: Qt User Interface Compiler version " << QLatin1String(QT_VERSION_STR) << "\n";
out << "**\n";
out << "** WARNING! All changes made in this file will be lost when recompiling UI file!\n";
out << "********************************************************************************/\n\n";