| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
The code parser already tracked the invokability of a function; tag the
function signature when generating the detailed documentation.
Fixes: QTBUG-79698
Change-Id: I42d727f762b488b13dd10b400c5c07453c60cbac
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
(cherry picked from commit 8aa4beaff186063b24a3760a1f36a3184f8bf2e7)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The property type defined in Q_PROPERTY may contain the const
qualifier. Store the qualifier and make the code a bit more
robust against ill-formatted property declarations.
Fixes: QTBUG-91990
Change-Id: I6b06e4c8af8bb9dec3c467c6e19d9987b8340110
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
(cherry picked from commit 526604ea5705ba9c61161da98dafda93cafc5fba)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Skip nodes marked as \internal from the generated index files, unless
--showinternal option was set. This reduces the size of index files,
improves performance, and also avoids linking issues in corner cases
where QDoc is searching for a specific function overload but fails to
find it because the link target matches with an internal node.
Fixes: QTBUG-91409
Change-Id: I062e261a86e737fde0f138264244324d43091270
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
(cherry picked from commit 616d0b5dc3a2ad63afa2812027f91fc17c507b69)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit 550c3031 improved the handling of \relates command, but
introduced a regression; When relating a primary function (a
first in the linked list of overloads) to another aggregate,
the primary's nextOverload pointer was cleared. Subsequent
\fn commands trying to document other overloads then failed.
The correct way is to move the head of the linked list forward.
However, if there are no overloads, we do not want to delete the
list entirely, as the function (typically, a global one) must
be searchable from the original (global) scope.
Fixes: QTBUG-91244
Change-Id: If80fa93ac5231d0676c0809f1acfa97733f9f9e8
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
(cherry picked from commit 026edd4bcefd6f0cffa72c2385407c28042b4b36)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-90691
Change-Id: I576849bb291926461f40622278619ffe096036cf
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
(cherry picked from commit cf8eb842984c315e8f0843d88bd6f42b73032117)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When adopting a function node from one parent to another, QDoc did not
touch the linked list of overloads for the adopted function. This
caused situations where traversing the node tree, trying to find
functions for an aggregate (parent), yielded also overloads that are
not supposed to be found as they are not members of that parent.
One visible place was the classes-with-obsolete-members generated list,
where QDoc erraneously found obsolete overloads for a class that had
adopted function(s) from the global namespace.
To fix, remove an adoptee from the overload list of its primary function
(maintained by the original parent), and re-add it to the overload list
maintained by the new parent.
Refactor functions that manage linked lists; using recursion is
unnecessary.
Fixes: QTBUG-89003
Change-Id: Ibd215cd4b1d97003ac79fe02a71452e4a7a154db
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
(cherry picked from commit 550c3031c2fbafe89daec4046dd45946ee8a788b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
QML signals may belong to a group, and the automatic note generation
for corresponding signal handler must take this into account.
Fixes: QTBUG-85572
Change-Id: Ibfc793475618fb78a8ba0a0344537917ad6fb0bf
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
(cherry picked from commit 8a20d5b62dec6d45e6d6d29fd894aa362c3301fb)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
This caused documentation for obsolete members to go missing if a
section had only obsolete members.
Task-number: QTBUG-89003
Change-Id: I9fb38bb76af45eda42cddc25bb4f6137e73e6fc3
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
(cherry picked from commit 19002292a73d502da9ab4da168b8509cda1d6908)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While we store the QML base type name into the index file, the
inheritance chain was never rebuilt for nodes read from the
index.
Do this recursively for index nodes; this provides full inheritance
information on 'All members' pages for QML types, provided that
all required documentation dependencies are loaded using the
'depends' qdocconf variable.
Task-number: QTBUG-89479
Change-Id: Ibafcd3224d7870e7eec7c0ed88d35135b7be3eaf
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
(cherry picked from commit 147e098c04c804c97e075834cf24c399acfafc6e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Change-Id: Id8b82e7838c3b142cbd9118689bafae0bbe2beb1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 3c017e3affcc71c8f4741b313675b6a4928a6125)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
The default timeout of 10s (runProcess()) is a bit
short for COIN testing.
Change-Id: I8e125e7261674143adea06775aee683439548465
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit fb72c61bd0f53e4700042007e8be29d72a502ee3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix the CMake snippet in the class documentation pages to use PRIVATE
linkage. PUBLIC linkage is only needed if the Qt types are also used
in the public API of the user's module.
Task-number: QTBUG-88935
Change-Id: If4aee64a25ec8152a2a0ad5b5504f53a41d93079
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
(cherry picked from commit a774889df6ee2e07d0f01580bc9e486365200ff5)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Once an example had an attribute associated - for instance isHighlighted
- all the other examples afterward got the attribute too.
This caused a (more or less) random list of examples to be highlighted
in Qt Creator.
Change-Id: Id09c232f56328d345deb9521651af40ecf750a36
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
(cherry picked from commit e2c263a1b980636b62dbfd2037e70ee665a0ad39)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
find_package() only knows about COMPONENTS, not COMPONENT.
While at it, also make the find_package call REQUIRED, and do use
the versioned library target name.
Change-Id: I1410b7c8cce84a1f24853bfcef650e440c468b33
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
(cherry picked from commit c57c4836d627406f33b80e4a188c93f79331a1bc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
It's allowed for a collection node (e.g. a QML module page) to have
no members (QML types), and still be considered valid. List these
types of pages when processing the \generatelist command.
Fixes: QTBUG-88536
Change-Id: I23c890c4752039f29489a7504f73f8078fe01fe3
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QFINDTESTDATA(.) first matches :/. (in the resource subsystem) so this
led to
QFAIL("Cannot open expected data file!");
because it was looking for
:/./expected_output/qdoctests-qdocfileoutput.html
Not sure how this ever passed on CI.
Change-Id: Ia4de8e35eb352b2c560d1fc92a1f837be0c20b9d
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
| |
Only the members of a property group were written to .index, not the
group itself; this made cross-module linking to the group fail.
Fixes: QTBUG-88386
Change-Id: I096a2bbdd2b0af00c4d0e9a6974b6dc7dce075a2
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
\typedef can be used as a substitute for \typealias for documenting
aliases. Since they are identical in terms of usage, unify also the
way they are documented:
- Remove 'typedef' and '(alias)' from both the summary and details
sections, making both appear as types.
- Remove automatically generated 'This is a type alias for ...' note
for type aliases. This typically resulted in duplicate statements.
- Use '-typedef' anchor suffix for both.
- Use 'typedef' as element for both in .index files and webxml output
format.
- Add template parameters for type aliases for DocBook generator;
these were previously missing.
Fixes: QTBUG-87622
Change-Id: I93986a2dc91c3c3dff9e21f5bf5cf19d0b55c4df
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In Qt 6, some types that used to be classes are now type aliases or
specializations of a templated class; for example, QPair is now an
alias to std::pair.
While the \typedef command supports aliases, it's not always clear
where the reference of such type should live, as a \typedef cannot
generate a page of its own and needs to be related to some other
aggregate (class, header, or namespace). Therefore, allow aliases
to generate a type page using the \class command.
Fixes: QTBUG-88012
Change-Id: Ice67d58eb036299c0fd04f6ed48a846bfed8ed1d
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LinguistTools is not created yet when the cmake test is configured,
resulting in
-- Could NOT find Qt6LinguistTools (missing: Qt6LinguistTools_DIR)
CMake Error at qttools/tests/auto/cmake/linguist/CMakeLists.txt:38 (find_package):
Found package configuration file:
/home/qt/depot/qt5/qtbase/lib/cmake/Qt6/Qt6Config.cmake
but it set Qt6_FOUND to FALSE so package "Qt6" is considered to be NOT
FOUND. Reason given by package:
Failed to find Qt component "LinguistTools" config file at ""
Work around this by explicitly disabling the autotest.
Fixes: QTBUG-88264
Change-Id: I7712098dbe58cefbabf8825058ca42b2f34135f6
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows us to cleanly control whether an example appears in
Qt Creator's welcome mode or not, while still generating the
example documentation. This can be done with
\example path/to/example
\meta tag broken
Delay writing the manifest attributes until we know whether to
generate the example element or not.
Fixes: QTBUG-88181
Change-Id: Idbd23244ffdb0c6b7ca87f927cb6d2ed3a526b2a
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
| |
Fixes: QTBUG-87870
Change-Id: I554b0ededd59dc60fec6a18759e2a400ce594f4d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 687bf591414017644ead1923c5bcc2059a6a2e29. While we
want to advocate using CMake, the support for iOS (and partially Android)
is not completely there yet. To be able to offer the best cross-platform
experience with examples we therefore should stay with .pro files as
default.
Fixes: QTCREATORBUG-24858
Change-Id: I5acc54a2435b6aef0d9a0193538aa335a606c302
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 'sources' configuration variable was not considered when searching
for file to include.
- An empty QString was pushed to the location stack in
DocParser::include(), resulting in vague warning messages
- The search algorithm chose the first path that ended in the
filename to find, with the potential of incorrectly choosing
'foobar.cpp' over 'bar.cpp'.
Fixes: QTBUG-86844
Change-Id: If180ffe0817b2e786356b49f7e679e158fbc407d
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A misplaced 'i++' caused an error where names of documented parameters
were shifted around if one or more of the parameters were unnamed.
Fixing the above uncovered issues with handling of \fn commands with
[tag] argument; improve and simplify related code.
Finally, avoid redundant space characters when generating signatures
with unnamed parameters or in 'All Members' page where parameter
names are omitted.
Fixes: QTBUG-87855
Change-Id: I526c89c10c66572b8c71106660f43346a4751e4e
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add testing framework and test that builds, deploys,
and verifies deployment of simple and complex app bundles.
Based on the windeployqt autotest.
Change-Id: If02321daa77bde3a787372656a5816df78f4b13e
Pick-to: 5.15
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
|
|
|
|
|
| |
Change-Id: I5ae779a77458ef92e1a8a134d1bf912e2d43185c
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
| |
After qttools/b346eba0a1b73b9798f4ad66cc81d0bfca712bd6,
it should pass.
Change-Id: I7a2c97d5018bc779bd3a375fa8ea3d401d6e132b
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
| |
Change-Id: Ifa2682c8bc3864dfd11abbb475b064e74c105a52
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Parameters with a type QPrivateSignal were already removed when
constructing a FunctionNode from header declaration. This was
erraneously subtracted from the number of stored parameters when
parsing an \fn command.
Fixes: QTBUG-87731
Change-Id: I01409c0fcdab0dfbf8a0b9d22cded99618bdcc2d
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implicitly generated class members such as default constructor are not
visible in the Clang AST, and QDoc failed to match \fn commands for
such functions.
Fix this by visiting the translation unit generated for the \fn command,
and constructing a temporary FunctionNode. If this temporary node is
of any of the special member types that can be implicit, add that
function as a child to the class node.
Add 'default' attribute for such functions in the generated docs.
Fixes: QTBUG-86984
Change-Id: I6c662e4ca030d80b68dd22f3639526093c27c20b
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Up until now, only select node types (PageNodes) stored the
information about \ingroup command argument(s) into the index file.
This meant that generating lists that contain non-page nodes (e.g.
functions) did not produce correct results, if group members included
non-page nodes from other modules.
Add a helper function QDocDatabase::groupNamesForNode() that returns
a list of groups regardless of node type, and use that when generating
the index file.
[ChangeLog][qdoc] QDoc's \generatelist and \annotatedlist commands now
produce correct output when listing functions from external
documentation modules.
Fixes: QTBUG-87161
Change-Id: Id3079729891ec22716e4b7606bec604a7ebff74a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QDoc writes a node using \relates twice into the index;
once under the original (lexical) parent (typically, the
global scope), and again under the adoptive parent specified
with \relates. This is by design, as it allows searching for
the node under both scopes.
However, when the nodes are read back in, what was originally
a single node was duplicated. This caused issues e.g. when
that node is part of a group; when generating a list for a
group, a line representing the node appeared twice.
Use Aggregate::adoptChild() when reading nodes from index,
instead of constructing multiple nodes. This is similar to
what the code parser does when processing the \relates
command.
To identify an index entry appearing twice as a representation
of a single node, repurpose the "related" attribute to track
the index of each related node.
Fixes: QTBUG-87311
Change-Id: I2aa8a97b9be26ee3945b3e4ce222b0f8dc4ca8b5
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
One of the steps (crossModuleLinking), calls another step to
generate its .index file. This caused also those files to be
copied twice when -regenerate option was set.
Disable the regeneration flag for the step.
Change-Id: Ia3ed90c014a8ec89db18a7e7168a4bc167d4b82b
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When parsing a friend declaration in a class, QDoc associated the
subsequent function declarations to the namespace scope. This
was conceptually correct as friend functions are not class members,
but made it impossible to match documentation to these functions using
the \fn command; the functions are still found under the class scope
in Clang AST, and this has to align with QDoc's node tree for the
documentation to be matched correctly.
Fix this by letting friend functions remain in the class, keeping
track of the friend declarations, and marking friend functions
automatically as related non-members.
Fixes: QTBUG-86987
Change-Id: I0ad26eed1c72af9302c9e420f5db0ec98c40d86a
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Config::getString() must return an empty but non-null QString for
a variable that is defined as empty.
Fixes: QTBUG-87127
Change-Id: Iaf8e92096f67a47c46a80736d04826b4242c6109
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
| |
Also remove some unused includes where I update includes
in any case.
Fixes: QTBUG-87081
Change-Id: Id63a3c58f9088a8f312468ff1ce0e8fd59f29de2
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
| |
This is necessary to make this test pass with the clang-based lupdate.
Task-number: QTBUG-87090
Change-Id: I1ea085c1d37375ffb161176f23fba51450986867
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
|
|
|
|
|
|
|
|
| |
Modify special case locations to use the new API as well.
Task-number: QTBUG-86815
Change-Id: I84f5fc4eb26f95d81ce5b5b8cc72706bb9185026
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
| |
Removing the not particularly useful "Checking..." message, and print
instead the working directory for lupdate.
Change-Id: Iddd0107783152dba183908f88d4854e79bd9ec7e
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove the generateTagFile wrapper from QDocDatabase.
Let the HtmlGenerator accesses the TagFileWriter directly.
Drop being a singleton for the sake of being a singleton, as
it is clearly not needed.
Add test case to expected output test as part of refactoring.
Task-number: QTBUG-71176
Fixes: QTBUG-86999
Change-Id: I0f7b3caa1249679c9676327417d675ca164e7a40
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
| |
QXmlStreamWriter already handles this for us.
Pick-to: 5.15
Fixes: QTBUG-86988
Change-Id: I6aafbf880e79fc4e0a7600f272ae298929577da8
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-86010
Change-Id: Ibc70cb2ecf4233b84c4043684e8487d9fe7a7f89
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
The QML import and major version number is needed to disambiguate
components with the same name that belongs to distincts modules.
The unqualified keyword is kept for retro-compatibility.
Task-number: QTBUG-61876
Change-Id: Id886f8fb6ecbad7a9cccd05025709ba6eab13093
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
| |
Add componentset.qml file.
Add tag that can get stripped out by manifestwriter.
Change-Id: Ie64fe0cdd29089a6b809fa7a9704f5c81edd1bdd
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
| |
Make it a lot easier to read the qdoc output when a failure occurs.
Change-Id: I28477681926c7dbd5e5e1e019f173f41617ff56e
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
| |
Change-Id: I39ec66fbe95edc42a3dac51e8bc718ee42cc4a2a
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In order to test the Q_PROPERTY macros, we need to provide include
paths to QtCore for the test. Generate a list of include files when
running qmake or CMake, stored in a file, and load that file as
extra command line arguments when running QDoc.
Skip the test if that file is not available at the time of test
execution.
Fixes: QTBUG-85565
Change-Id: Ibe7ec4a454441c15320b3a7e1ff8ebefb44c2f5e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-86815
Change-Id: I5b7f85344ebe2bf4baf36c5e29975051ce1a72ff
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
| |
Change-Id: Id49e23c5711d1d03319e772f7942634765731116
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|