| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Location is self-referential, so explicitly mark it as Q_COMPLEX_TYPE.
Location::StackEntry is held in QVector, by way of QStack.
Change-Id: I4d9001b55b86f0387ae41b93da17d06fb2857ee4
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Location is a self-referential type that is very expensive to copy.
So don't.
Instead, just remember the iterator, and use value()->location()
(which returns a reference, so doesn't copy).
Change-Id: I9a2b72b05b8051e793cf67179a0195f2f3551a10
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQmlJS::AST::SourceLocation wasn't marked as movable, and it is larger
than void*, so QList<SourceLocation> is horribly inefficient.
Fix by marking as movable primitive and holding in QVector instead.
The same fix probably is required in QtDeclarative, too.
Change-Id: I4e0d2cd32b7e03205d59cbc9900287f77045154a
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQmlJS::Engine::comments() returns a QList<QQmlJ::AST::SourceLocation> by value.
The QList is horribly inefficient, but that will be topic of a separate patch.
The loop in QmlMarkupVisitor did not store the result of comments() in a local
variable, it called engine->comments() whenever it referenced it, which was
_three_ times per loop iteration. Two of those references applied op[] to
the rvalue engine->comments(), which, being mutable, detaches. _Twice_ per
loop, with a QList that heap-allocates its elements!.
And that was followed by a similar loop.
Fix by using a local const copy of the list to iterate over.
The loop termination condition also looks fishy (j is used to index into
the comments, but is not checked against comments.size()), but apparently
qdoc works fine with it so far, so don't try to fix.
The copy of QQmlJS in QtDeclarative is not affected by this (qdoc-specific
code).
Change-Id: I133c35dc9293609dfb8ad633e2d82399223b508b
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This update changes how qdoc handles getter, setter, resetter,
and notifier functions for properties. With this update, if you
provide documentation for any of these functions associated with
a property, links to that function will go to the documentation
for that function, instead of to the associated property.
Additionally, the documentation for the function will have a note
added, e.g. "Note: Notifier signal for property fubar," where the
fubar property name is a link to the documentation for property
fubar.
Change-Id: I1f821fd4a6c2de142da4718ef3bdde314dc59627
Task-number: QTBUG-45620
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It was harder to fix this tan you might think, but the
fix cleans up the overload mechanism a lot, so if no
regressions are introduced by the fix, the code will
be easier to manage.
The related non-members are now added to the class
node's list of secondary (overload) functions. This
way, they get an overload number just like overloaded
member functions.
Change-Id: I68d7a314b0bb5ec0fbba15dc1fd40a5b870c659d
Task-number: QTBUG-46148
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
qdoc now always tries to use an element's declaration location
for the "location," "filepath," and "lineno" attributes in the
index file, when it makes sense to use the declaration location.
That's pretty much everything in C++.
qdoc records both the declaration location and the definition
location in the element's tree node. When it writes the element
to the index file, it asks for the declaration location.
Change-Id: I2d169a0f028bb0d46717e6f822dacc6dd20673b2
Task-number: QTBUG-46034
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
HtmlGenerator::highlightedCode() contained a potential
out-of-range- memory reference, which is prevented by
this fix.
Change-Id: I3bc87a8287e1d51c2786f5ec42384dbac04c9636
Task-number: QTBUG-45643
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
|
|
|
|
|
|
| |
Whitespace only.
Change-Id: I6e4b55ad55e22da4150530457202f144fcc7f416
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/corelib/global/qnamespace.qdoc
src/corelib/io/qwindowspipereader.cpp
src/corelib/io/qwindowspipereader_p.h
src/corelib/statemachine/qstatemachine.cpp
src/corelib/statemachine/qstatemachine_p.h
src/plugins/platforms/xcb/qxcbconnection.h
tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
tests/auto/tools/qmake/tst_qmake.cpp
tests/manual/touch/main.cpp
Change-Id: I917d694890e79ee3da7d65134b5b085e23e0dd62
|
| |
| |
| |
| |
| |
| |
| |
| | |
It should also be possible to use QT_STRICT_ITERATORS in Qt's own code base
Change-Id: I0914db480d4d2b06e71e3a2588163efdd3ff6d27
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QDoc generates tags for examples based on the example title and the
name of the module. This change makes the following improvements:
- Edit regular expression to match strings like 'OpenGL' and
'Qt3D' as a single tag.
- Strip off enclosing parentheses.
- Filter out common words ('and', 'the')
- When cleaning/modifying generated tags, keep them in a QSet
to eliminate duplicates.
Change-Id: I288104df12bf23a224068d40bce1f980148a412a
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In single-exec mode, QDoc must never skip documentation warnings
as there is no subsequent QDoc run to re-execute the same code
paths (in generate phase) that generate warnings.
Change-Id: I8da2f16cfb12b3b3509249d1c9941d63733176a9
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The \qmlabstract command was missing from the qdoc user manual, and
qdoc was still allowing the \abstract command to be used for marking
up the abstract of a scientific paper. The \abstract command is now
made a synonym of \qmlabstract, and they are both added to the qdoc
user manual.
Change-Id: I003ac50b8dabbf037f18d9ea3e6d88a12d69bf5f
Task-number: QTBUG-46003
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The new connection syntax is a bit tricky to use, when the signal or
the slot is overloaded, because one must explicitly cast to the
correct signal type.
This patch adds an example to the documentation of each overloaded
signal. The example shows how to do the cast to the correct signal
type.
Change-Id: Ifc9f28d05c2ae126a674d2ca5887935fc59cd83b
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/tools/qdoc/tree.cpp
tests/auto/gui/painting/qcolor/tst_qcolor.cpp
Change-Id: Iaa78f601a63191fa643aabf853520f913f2f0fdc
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For classes declared in a namespace, QDoc needs to take account
the fact that its base classes typically are not qualified with
the namespace name if those base classes are from the same
namespace.
There already was code for this, but it was disabled by a macro.
This change re-enables it, and adds an additional check to
restart the search in valid namespaces only.
Change-Id: Ia07dcb783b59de5fc9ddcfd43000a63c6c74ebe1
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When QDoc constructs the full path to a documentation node, it
must construct a clean anchor reference. Intra-page links use
a different code path, so the links e.g. from Member Functions
list to their detailed descriptions always work, but using the
link command to link to functions with certain characters (such
as 'operator==') failed because the node name was used as-is and
not sanitized ('operator-eq-eq').
This change moves HtmlGenerator::cleanRef() static function to
its parent class, Generator, and takes it into use in
Generator::fullDocumentLocation().
Change-Id: Ic939ffa3ae0f4495ef2a30eff0d4a1de65ea3e8f
Task-number: QTBUG-45629
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This update to the qdoc manual fixes a few broken links.
Change-Id: Ibdd954a473c3e010b3856cca68601cd11905e457
Task-number: QTBUG-45793
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
qdoc can now parse enum values in the enum declaration where the
enum value contains a comma. See, for example, thise values in
QSysInfo::MacVersion:
MV_IOS_4_3 = Q_MV_IOS(4, 3),
MV_IOS_5_0 = Q_MV_IOS(5, 0),
MV_IOS_5_1 = Q_MV_IOS(5, 1),
MV_IOS_6_0 = Q_MV_IOS(6, 0),
MV_IOS_6_1 = Q_MV_IOS(6, 1),
MV_IOS_7_0 = Q_MV_IOS(7, 0),
MV_IOS_7_1 = Q_MV_IOS(7, 1),
MV_IOS_8_0 = Q_MV_IOS(8, 0)
Change-Id: Idd7da89330efc0e9fa428a99b0090969ea1d97d9
Task-number: QTBUG-45758
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/corelib/statemachine/qstatemachine.cpp
src/corelib/statemachine/qstatemachine_p.h
src/gui/painting/qdrawhelper.cpp
src/plugins/platforms/xcb/qxcbnativeinterface.cpp
src/plugins/platforms/xcb/qxcbwindow.cpp
src/plugins/platforms/xcb/qxcbwindow.h
src/testlib/qtestblacklist.cpp
src/tools/qdoc/node.cpp
src/tools/qdoc/node.h
tests/auto/gui/painting/qcolor/tst_qcolor.cpp
Change-Id: I6c78b7b162001712d5774293f501b06b4ff32684
|
| |
| |
| |
| |
| | |
Change-Id: I7c27632cdda13ebc8ee5d2bc18d9ba64c1f4ec70
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a signal declaration is marked with QSignalPrivate,
This note is included in its documentation: "Note: This
is a private signal. It must not be emitted by the user."
For Notifier signals, [see note] is appended to the signature line,
and the Note is printed below the list.
Change-Id: Ie792894ace56cda47fd9a45af9c732f408ac45f6
Task-number: QTBUG-45535
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a minor visual change that stops QDoc from ending the
sentences with a full stop in the tables for class/QML type
requisites (Inherits, Inherited by, etc).
This ensures a uniform look for the table, as some of the
fields were already omitting the full stop.
Change-Id: I37b39ed0a5e273b40b24f24602042194d069ed00
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
To avoid source-incompatibilites, wrap in QT_DEPRECATED_SINCE(5, 5)
in public headers.
Change-Id: I6117e8a6b11200d2f1a0a94a0e87d5c27538218e
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
An Aggregate node is a tree node that is not a leaf.
Change-Id: I4a3964865fb653a217ee75d0b21e563f7f990a1c
Task-number: QTBUG-45450
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In preparation for refactoring the Node class hierarchy,
the names of a few enum types and the functions that set
and get them are changed so that they will not be confused
with other uses of the word Type.
Change-Id: I0496b46e5d7adffccadcb464aedb2806728e781d
Task-number: QTBUG-45450
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
|\|
| |
| |
| | |
Change-Id: I04f9f2749f68c0cb5a427b8d84e43b44bb143e4d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When listing group nodes, for example, with \annotatedlist command,
QDoc created a link with the plain name (the string that was passed
to \group command as parameter) as the link text.
This change makes QDoc use the group \title, if one exists.
Change-Id: I30b7f9eefc60c12f67b1e579bbc4c5cebe84474b
Task-number: QTBUG-45420
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In preparation for refactoring the Node class hierarchy,
several data member names and some getter and setter names
in the Node hierarchy have been changed to make them more
readable.
Change-Id: Id76ce21c960e4033673f5cf0684aa70e701957b1
Task-number: QTBUG-45450
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
qdoc was creating the scripts and used-in-examples subdirectories
whether or not there were any scripts or images used in examples.
Now qdoc creates these subdirectories only if there is something
to put in them.
Change-Id: Ied0e1b38ee28973313c68754c821b34edfd5f505
Task-number: QTBUG-44655
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/testlib/qtestblacklist.cpp
src/widgets/accessible/qaccessiblewidgets.cpp
Change-Id: If032adb9296428f62384ed835dbf41ee7a0b886c
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This update ensures that there are no internal QML types in a
QML type's "inherited by" list. It also fixes a bug that caused
the "inherited by" lists to be empty when running qdoc in the
single-exec mode.
Change-Id: Iee8b9dbcd56a09b7a49ec8a703b5d861f0b1f0ec
Task-number: QTBUG-44004
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The resolving of namespaces across module boundaries
was moving all the nodes for elements contained in the
namespace into the namespace node for the \namespace
command for that namespace. But moving class and
namespace nodes is wrong because they are actually in
different modules where they should also be output.
This update to the fix for the original bug leaves
the class and nested namespace nodes where they are
but adds them as special "orphan" nodes to the
namespace node that has the \namespace command.
These orphan nodes are then included in the namespace
content list when it is written out.
Change-Id: I0eee368ed39f28129b5b43bb4a16963961f53db3
Task-number: QTBUG-44688
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
| |
| |
| |
| |
| |
| |
| | |
Print example directories and files.
Change-Id: I58553f45f87ec2c2036a8c4ddf9ffb54baa75870
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We have two State types in the All QML Types list. One is in QtQuick
and the other is in QtQml, but they are both just listed as "State"
with no way to tell which is which. Now they look like this:
State: QtQml
State: QtQuick
Change-Id: I48bb3deda10a61f565d1aed1910360fea4fb7891
Task-number: QTBUG-45141
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove the \service and \mainclass commands, and the ditamap stuff.
Also remove all reverences to these commands from qdoc itself.
Change-Id: I8d150acdd56d40e6a4198a021e50f5fe3f3b1194
Task-number: QTBUG-45143
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
|\|
| |
| |
| | |
Change-Id: If5d2e621c2fa5476c3ab687a3f4620c54fc3b32e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When QDoc resolves and combines namespace child nodes located in
different modules to be under a single namespace node, it also changes
the output subdirectory of each child according to the destination
module.
However, if one of those child nodes is a namespace node or a class
node with nested child classes, the output subdir of those children is
left as the old (incorrect) directory.
This change fixes that by making the setOutputSubdirectory() function
recursive for nodes of type InnerNode.
Change-Id: I07b2f406283e1bf3bd8643797c3b789b0211b5bb
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/plugins/platforms/xcb/qxcbnativeinterface.cpp
src/plugins/platforms/xcb/qxcbnativeinterface.h
Change-Id: I31b38ba439b9341d51a01c0fd54bea33f7410076
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For some reason, the QML/JS parser doesn't like them,
so they must be removed when qdoc parses JavaScript
code. This update handles every case I could find
except jquery.min.js, which is a different problem.
Change-Id: Iacbc4eda554516496a642189368d63d6560e3571
Task-number: QTBUG-44817
Reviewed-by: Caroline Chao <caroline.chao@theqtcompany.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The return type was not printed, for \qmlmethod commands used
in QML files. The parameter types and default values weren't
being printed either. This update corrects those problems.
Change-Id: I68301fb2040c9dc5f5650e7dd3fee9c42197e3f7
Task-number: QTBUG-44064
Reviewed-by: Caroline Chao <caroline.chao@theqtcompany.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
qdoc's QML parser has fallen behind the QML: parser in
QtDeclarative. Bring it up to date.
Change-Id: I12a688873564762434852960350c56655004e460
Task-number: QTBUG-44868
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
| |
| |
| |
| |
| |
| |
| | |
Found with GCC's -Wcast-qual.
Change-Id: Ia0aac2f09e9245339951ffff13c94687a79b3f40
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
|\|
| |
| |
| | |
Change-Id: I9d10911c51700965f2cf0e3173b88fd9116bd3ee
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When support for documenting JavaScript was added to qdoc,
some tests qdoc uses to determine whether an entity is a
QML signal or a QML method were modified incorrectly, a
case of premature optimization. This caused QML methods to
be listed as QML signals in the documentation. This update
corrects those tests.
Change-Id: Ie6d5b43a03a6f3ae39982292cb9ad92952de0bff
Task-number: QTBUG-44825
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It turns out this bug was caused by modularization,
which created the situation where members of the Qt
namespace are in different modules. Most are in QtCore,
but a few are in QtGui.
qdoc was creating a namespace node for the Qt namespace
in the node tree for QtCore, and another namespace node
in the node tree for QtGui. This meant that there were
two NamespaceNodes for the Qt namespace. Correctly, only
one of these nodes contained the text for the \namespace
command for the Qt namespace. This was the namespace node
that was being used to create the HTML reference page for
the Qt namespace.
Unfortunately, the Qt namespace node in the tree for QtGui
was not being merged into the Qt namespace node in QtCore,
so some of the members of the Qt namespace were not being
shown on the reference page.
This update teches qdoc how to merge namespace nodes to
ensure that all the members appear on the reference page
for the namespace. There can be a namespace node for the
namespace xxx in any number of modules, but they will all
be merged into the namespace node for namespace xxx that
contains the qdoc comment for \namespace xxx.
Change-Id: I0f6a653ea6f920aacd5d8e13f9865488d95f6458
Task-number: QTBUG-44688
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QMap sorts the subproject entries by default, which doesn't seem
logical for the qch use case. The subprojects should be listed in the
order they are defined in the qdocconf. Moreover, the no. of
subproject entries in the map is often less than 4, at least for qt.
So there is no performance gain in using QMap for this scenario.
QList just serves the purpose of storing the subprojects in a list
before they are written to the qhp file.
Change-Id: I841934289e09e8e232859353a3dfa15c491dba2e
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
src/plugins/platforms/xcb/qxcbscreen.cpp
Change-Id: Ie42931791a849b34b63d814d2eb5ac653986d868
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change addresses two issues that affect generating .tags files
in QDoc:
- Paths written to the .tags file are now always relative to output
subdirectory, i.e. the same folder where the file is created in.
- Opening the file for writing no longer fails silently. If the
'tagfile' configuration variable specifies no path, or the path
does not exist, the file is written to the output directory by
default.
Change-Id: I23ac529dbfa67575ae96da1c3123ea487cd664f5
Task-number: QTBUG-44366
(cherry picked from commit 5113fdeb7d50979c6acbe2c9c5b26ad134614873)
Reviewed-by: Martin Smith <martin.smith@digia.com>
|