| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QDoc was marking all undocumented public API elements as
"internal" and "private" because most of these undocumented
elements should not be documented. The standard way to tell
QDoc not to warn about an undocumented elemewnt in the public
API is to give it a QDoc comment with the command "\internl"
in it. But it was decided this would require too much work
to eliminate all the warnings, because there are so many
undocumented elements in the Qt public API that we really
don't want to be documented. So we decided to just mark them
all as both internal and private in QDoc itself, and that
eliminated a great many useless QDoc warnings.
But it also meant that QDoc would no longer warn when a
public element was left undocumented by mistake. This is
most often seen in C++ classes that are in the public API
but are not documented. QFutureInterface is an example of
a class that is not documented but should be documented
because it is useful.
This change lets QDoc warn that a class in the public API
was not documented with a \class comment.
Special cases:
1. If the undocumented class has no members, don't warn that it was
not documented with a \class comment.
2. If the undocumented class's name contains the word "Private" it
is probably not meant to be in the public API, so don't warn that
it has no \class comment.
3. If the undocumented class has no function members, then don't
warn that it has no \class comment.
4. If the undocumented class is marked DontDocument, then don't
warn that it has no \class comment.
The other part of this change relates to item 4 above. To mark a
class or struct as DontDocument required adding a new topic
command to QDoc. The new topic command is \dontdocument. The
argument to this command is a list of class and struct names. The
list is enclosed in parentheses. For example:
\dontdocument (QMacAutoReleasePool QIncompatibleFlag
...
QTextCodec::ConverterState QThreadStorageData)
QDoc looks up each name in the list and marks it DontDocument.
The documentation generator then sees the node is marked
DontDocument and ignores the node. This makes it a lot easier to
tell QDoc which public classes and structs should not generate
the warning about no documentation.
Task-number: QTBUG-57183
Change-Id: I7eee48de03ca7aeb72c63ae90ba373503d41612d
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This update was motivated by the need to correct two known issues
in qdoc. First, linking to overloaded functions failed in some cases
because the overloads were not numbered consistently, causing links
to go to the wrong overload or to nowhere at all. Second, the
mechanism for handling the \relates command didn't support using it to
relate a function to more than one class.
For example, there are many global qHash() functions spread
around QtBase. Each is meant to compute a hash index for an
object of some class type, so the object can be inserted into a
QHash map for that class type. It is then desired to relate
qHash(type Xxx, int seed) to both QHash<type> and class Xxx, so
that the documentation for that qHash() function appears as a
related non-member function of both QHash<type> and class Xxx.
The example above also illustrates the overload numbering problem,
because all these qHash() functions are overloads of the name
qHash. To make matters worse, they are not all in the same module.
Most of them are in QtCore, but a few are in QtNetwork, and this
distribution problem will become worse over time as more qHash()
functions are added. Prior to this update, qdoc was unable to
relate a function to something in a different module, or it didn't
always work.
While designing a fix for these issues, it became clear that the
processing of the FunctionNode and the function parameters would
have to be rewritten. That's what this update does. These are
the main points:
1. A new subclass of Node is added to act as a proxy for a class
in another module. This ProxyNode acts as a place holder for the
functions (and possibly other elements) that are related to a
class in another module. This is used for the qHash() functions
in QtNetwork that are related to QHash in QtCore. qdoc generates
an html file named qtnetwork/qhash-proxy.html that contains the
documentation for these functions. But these functions are listed
as related non-members on the QHash class reference page in the
qtcore output directory. They are listed there in the summary,
but they link to the qhash-proxy.html page in qtnetwork.
2. A new, Parameters class is added to qdoc (parameters.h and
parameters.cpp), and the class Parameter is moved there from
node.h. class Parameters replaces the old QVector<Parameter>
wherever it was used. This encapsulates all the parameter
processing and matching in the Parameters class and simplifies
the code at all the places where QVector<Parameter> had been
used.
3. The assignment of overload numbers is now done in the
normalizeOverloads() function, which is called after all the
headers and sources have been processed but before the
generate phase begins. This assignment is a simple renumbering
now because all the overloads of a function are linked to
each other via a nextOverload_ link in the FunctionNode. The
first function named qHash() is inserted into the Aggregate
node's function map, but subsequent qHash() FunctionNodes
are not entered into the function map but are linked to the
first qHash() via its nextOverload_ link.
4. The \relates command can now be used multiple times in a
single qdoc comment. There remains some work to be done here
because this currently only works for global entities, but
there are several cases where \relates has been used in the
qdoc comment of a member of a class. This will be fixed soon,
I believe.
When qdoc sees the first \relates Xxx command, for example
for qHash(Yyy, seed), that qHash() is a child of the global
namespace. qdoc allows it to remain as a child of the global
namespace but it tells class Xxx to "adopt" that child (see
Node::adoptChild()). This function makes this instance of
qHash() be a child of class Xxx (in this case QHash<type>),
so that the parent of this qHash() becomes Xxx. After this
"adoption," qHash() is a child of both the global namespace
and class Xxx, but qHash() only knows it is a child of Xxx,
i.e. its parent pointer is Xxx. If this is the first qHash()
to become a child of Xxx, it is inserted into the function
map of Xxx, but its nextOverload_ link is not changed. This
is because all the global qHash() functions have already been
linked into the nextOverload_ linked list, and this list must
not be changed. Hence, when qdoc searches for qHash(something)
to make a link to it, it will find it as a child of the global
namespace, but it will correctly link to it using its actual
parent pointer.
When qdoc sees the second \relates Yyy for this qHash()
function, qdoc sees that this FunctionNode has already been
made a related non-member of Xxx, so it can't let Yyy "adopt"
it. Instead, it tells Yyy to clone this qHash(), which creates
a shallow copy of it but resets its nextOverload_ pointer to
nullptr. I believe this clone of qHash() won't be found in a
search for a function named qHash(), because the global one
(the adopted one) will be found first. Or, if it is found, a
link to the clone will be generated, but that's ok because
the documentation is identical.
Note that the existence of qHash in two child lists is taken
into account at destruction time. The only place where a Node
is destroyed is in the destructor of Tree, which destroys the
Node tree from the root down to the leaves. Each aggregate
node is responsible for deleting each of its child nodes, but
it only deletes a child node if it is the parent of that child
node.
All of the above revealed that some of the findFunctionNode()
functions were either no longer needed or weren't being called
in the first place, so they were deleted.
This change is now ready for testing.
Change-Id: I6da3e2e9e71d39a29d90e073ed614309a49e3d4c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
| |
Change-Id: I62692b4b667a32fe77ee9dc51be15114aae9387b
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a significant refactoring of QDoc's Node class hierarchy,
which is meant to make maintenance of QDoc easier, and which will
enable further development of QDoc as a library and plugin.
Class DocumentNode is renamed to class PageNode, and it inherits
the Node base class instead of inheriting class Aggregate. Class
Aggregate inherits class PageNode instead of the Node base class.
IOW, class DocumentNode and class Aggregate have swapped places
in the class hierarchy, and DocumentNode has changed its name to
PageNode.
This makes the Node hierarchy more logical because:
1. Every entity that causes a documentation page to be written
is a PageNode.
2. Only those PageNodes that can have children are Aggregates.
Thus the HeaderFile subtype of the former DocumentNode has been
promoted to class HeaderNode, which is a subclass of Aggregate.
This makes sense because the old HeaderFile DocumentNode caused
a documentation page to be generated, and that documentation page
was very much like a class reference page. The \headerfile command
is not used a lot in the Qt documentation but there are some useful
cases, so it is worth making a subclass of Aggregate to handle them.
The HeaderNode is now processed very much like the ClassNode and the
NamespaceNode.
Developers should be advised that isDocumentNode() is now isPageNode(),
but isPageNode() can no longer be used to decide if an Aggregate* is
a PageNode* (DocumentNode*), because Aggregate is now a subclass of
PageNode. So a new convenience function is added: isTextPageNode(),
which returns true if your Node* is a PageNode but not an Aggregate.
IOW, isTextPageNode() returns true if the Node* is some kind of text
page that doesn't represent a C++ or QML declaration.
Class ExampleNode is a subclass of PageNode, not Aggregate. IOW, an
ExampleNode no longer has children. Instead, the example files and
example images that belong to the example are stored as string lists.
It seems to work, but there might be problems in help files I haven't
found yet.
Class CollectionNode is now a subclass of Node instead of LeafNode.
Class LeafNode is removed. All former subclasses of LeafNode are now
subclasses of Node.
This change also removes a lot of DITA bitrot.
Work remaining to be done:
1. Remove the remaining DITA bitrot.
2. Consider letting QmlProperty and JsProperty be instances of Property
and use the Genus value to distiguish them.
3. Also consider replacing QmlPropertyGroup and JsPropertyGroup with a
single PropertyGroup and use the Genus value to distinguish them.
This update also rearranges the parameters passed to the clang parser,
and it removes some diff conflict lines that got saved by mistake.
Change-Id: I918f83030c48d96db4a5588ab53458f221a5374e
Reviewed-by: Martin Smith <martin.smith@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This update adds two classes called Section and Sections. These classes
replace the FastSection and Section structs that used to be in
codemarker.h, and they also replace the section building functions that
used to be in codemarker.cpp and cppcodemarker.cpp.
Basically, the two structs FastSection and Section are combined into the
single new class Section. FastSection was used to collect all the
members for a section in a map with the node names as the keys and the
nodes as the values. This allowed the names to be sorted as the map is
built. When completed, themap was used to build the Section, where the
map keys were copied to a list in the Section, and the map values were
copied to another list. The values in these lists were already sorted.
Then the Section structs were copied into a list of Sections and the
list was returned. The code was becoming too messy to maintain and
impossible to use for implementing custom sections for QTBUG-45725.
Now the new class Section combines the deleted structs FastSection and
Section. The procedure for building an instance of class Section is much
the same as the old procedure for building a struct FastSection and then
using the FastSection to build a struct Section. In the old procedure, 4
separate passes over all the child nodes of a class were required to
build the FastSections and Sections for the Summay lists, the Details
lists, the All Members list, and the Obsolete members lists. In the new
procedure, only a single pass is required. This single pass is the
purpose for the other new class Sections, which manages several static
instances of QVector<Section>. All the required Section objects are
built at the same time, and the never have to be copied. When the docs
for a class, namespace, etc have been written, each Section is cleared
but not deleted. The static instances of QVector<Section> are kept in
their constructed state.
I thought this would speed up qdoc some, because there is much less
allocating and deallocating of objects, but it seems to have actually
slowed down a bit, and I can't see why. But the code is a lot simpler
and reusable for the custom sections proposal, so I will continue with
it and hopefully find the cause of the slowdown.
Change-Id: I49f592c631ccc6182d1dae742985c7b2bb15c81b
Reviewed-by: Martin Smith <martin.smith@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
qdoc outputs a standard list of sections for C++ classes, namespaces,
header files, etc, and for QML types. The code for constructing the
lists of section data structures was include in the CodeMarker class
hierarchy, but it should not have been located there because it doesn't
have anything to do with documentation markup. The result was that the
CodeMarker classes (CodeMarker & CppCodeMarker) contained many member
functions that should have been isolated in separate classes.
This update creates those separate classes and refactors CodeMarker
and CppCodeMarker by removing the classes used for creating the lists
of sections into a separate Sections class. This refactoring not only
makes the code cleaner, it also enables implementation of the custom
sections idea described in QTBUG-45725.
There is a lot more work to be done for this task.
Change-Id: I950a78aa31c6b5f206854efa16363b992e9bfea5
Task-number: QTBUG-45725
Reviewed-by: Martin Smith <martin.smith@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
qdoc didn't handle this. This update fixes most of what was wrong,
but tuning the details of the namespace reference pages might follow.
We have namespace Qt as an example. Most of the elements in the Qt
namespace are in QtCore, but a few functions are declared in QtGui.
Before this update, qdoc used the hack of using #ifdef to remove the
declarations from qtextdocument.h in QtGui and .cpp and then added
them back into qtnamespace.h and .cpp in QtCore.
Now that hack is no longer necessary. The functions in the Qt namespace
that are declared in QtGui are documented there, but the documentation
is linked to from the namespace reference page, which remains in QtCore.
That is, only one \namespace command is used to document the Qt namespace,
and it appears in qnamespace.qdoc where it always did, but the documentation
for the Qt namespace functions declared in QtGui is now appears in
qtextdocument.cpp where it belongs.
This also allows qdoc to report when a namespace contains elements that are
public and documented, but the namespace itself is not documented, which was
not possible before this change. qdoc also reports if a namespace is documented
in more than one module. That is, for example, when \namespace Qt is used in
both QtCore and QtGui.
Note that this change will increase the number of qdoc warnings in
QtBase, but the new warnings are expacted.
Change-Id: If978a59209b7b2ae90713d3ae809ae03361df72f
Task-number: QTBUG-67267
Reviewed-by: Martin Smith <martin.smith@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Shared comments were only allowed for functions that
are members of classes. This update extends that
functionality to functions in namespaces, including
the global namespace.
Change-Id: Ida855d8b49c6cdfa1fe900d96af9841e05a87aee
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
| |
This update adds QtGadgetHelper to the list of names that are
ignored if they are not documented.
Change-Id: I58ca829d4576c390d78dcd2e0c5a3b75a9fec7de
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Earlier, a test was added to qdoc to ensure that functions added
to class declarations by macros like Q_OBJECT would not cause qdoc
to output warnings that the functions were not documented. But the
undocumented functions were still listed in the documentation. This
update keeps them out of the documentation.
Task-number: QTBUG-66742
Change-Id: I10014341fc7b870ef937ef7f0a303ccc301bf8b5
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Shared comments nodes were not detected and handled correctly in
certain cases. This update fixes those problems to avoid trying
to output documentation for the individual nodes, when they are
sharing a comment. Only the shared comment node should cause
documentation to be generated for the nodes sharing the comment.
Change-Id: I4ad7afc0964b1b6836dd5a140aa874784974b139
Reviewed-by: Martin Smith <martin.smith@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The shared comment in qdoc was originally meant only for
use with the \fn command, and only for multiple \fn commands
in the same class. But it proved to be useful for other things,
so people started using it in other contexts, even though it
didn't work there. This update should handle them all.
For example, when listing multiple \fn commands, they no longer
need be for functions in the same class. Also, multiple \typedef
commands are handled correctly.
Change-Id: I4be86026a227d74822f5f2295577adf0fe170d49
Reviewed-by: Martin Smith <martin.smith@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This change replaces the last uses of qdoc's old, ad hoc
C++ parser. Clang is now used for parsing all C++ code.
\macro, \qmlxxx, and \jsxxx commands are parsed by simple
pattern matching functions using QString::split().
Change-Id: If6f95b0487d1dd3206373bc55ec8e6b8b9c55b1e
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change is a partial fix for the multi-\fn documentation concept.
It outputs the documentation once but listing all the function signatures
from the \fn commands found in the qdoc comment.
Multiple \since commands are not implemented; the \until command is not
implemented, and providing text applicable to a specific \fn signature is
not implemented.
This change requires clang, which means it requires a sequence of other
updates as well, so you can't test it unless you have all that stuff.
Task-number: QTBUG-60420
Change-Id: Ib316b6f97fa427ef730c4badfc785101bff55dce
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
| |
This fixes several cases where QChar was compared to -1.
Change-Id: Ib7a0fec0f1e266ba47545296549e482592624ecc
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This update makes qdoc parse and record the presence of
ref qualifiers on the end of function declarations. It
unfortunately increases the number of qdoc errors
reported in QtBase, but that is because these functions
are not documented correctly. There will be another
update to qdoc to allow documenting multiple functions
with a single comment, which is needed for documenting
these ref qualified functions but also can be useful in
other contexts.
Change-Id: If2efb1a71c683a465d66608a20e238d84ea45d9a
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allow implicitly declared special member functions to be
explicitly documented. For example, in class QFuture, the
destructor, copy constructor and assignment operatore are
implicitly declared, but they are explicitly documented
in qfuture.qdoc. clangqdoc no longer complains that it
can't find these functions in any header file. It creates
them for documentation purposes, and they are documented
as expected.
Where these function signatures appear on the class reference
page, " = default" is appended to the end to indicate that the
function is implicitly declared.
Change-Id: I7bcf16c31099439f424b438eb41589435d7254b6
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The way function signatures are specified is changing.
A basic assumption of qdoc was that in the function
signature specified with the \fn command, each formal
parameter would have a name, and the name would be
documentede in the text using the \a markup. This is
no longer valid. There are now several cases in Qt where
std::nullptr_t is used to specify a formal parameter, and
no parameter name is provided. Furthermore, there are
a few cases where some other type is used as the
parameter type and no parameter name is given.
The meaning in the first case is that the function must
be called with NULL, and the meaning in the second case
is that the parameter is not used in the function implementation.
This clean up task must be accomplished in preparation for
implementing the changes described above. The Parameter
class had become a kludge. The so-called "rightType_" data
member (which has not been used for quite a long time now
and which was marked for removal long ago) is removed here.
The change also affects the <parameter> element in the .index
file, where the "right" item is removed and the "left" item is
renamed to "type" . This index file change might break 3rd
party applications that parse qdoc's index files, but I think
there is only one, so be on the lookout for a complaint from
that guy.
Task-number: QTBUG-58277
Change-Id: I721bebdd5d0f2fcd65324373c3a3ec3ea1c33e26
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This patch adds the missing QRegExp includes in prevision of
the qtbase include cleanup.
Change-Id: I25b66ac2cf71bdfa74612aa9dcd35ae9d0584f17
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
|
|
|
|
|
|
|
| |
Change-Id: Iad837dbdaf492eff77ced4d93dc05095e1d89400
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Michael Winkelmann <Michael.winkelmann@qt.io>
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From Qt 5.7 -> tools & applications are licensed under GPL v3 with some
exceptions, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/
Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one
(in those files which will be under GPL 3 with exceptions)
License header tests also updated to match current headers.
Change-Id: Ia6bdacaa3c5bbc9d31334e1a0cabfe502a484dc4
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit fixes an issue that was addressed previously by
694d3003 (qtbase), but that was reintroduced by dab4877a (qtbase).
Some QML methods are documented as having parameters without data
types:
bool grabToImage(callback, targetSize)
QDoc was incorrectly inserting spaces after each name:
bool grabToImage(callback , targetSize )
Fix the above, and format the typeless parameter names correctly
(in italics).
Change-Id: I3b61f7b3531c2cbf0e70cd88a3e91e6f7b0eea95
Task-number: QTWEBSITE-691
Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Now avoids qdoc warnings for undocumented copy-assignment
operators and move-assignment operators. This update also
improves the text output by surrounding it with <p> and </p>.
There was also a bit of refactoring.
Change-Id: I922c7083d17b9b911d81f818f51fe7623a78eb22
Task-number: QTBUG-50630
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
\qmlmethod now works for QML basic types. Use it the same
way it is used for QML types. \qmlsignal should work now
too, but I only tested this for methods. There is now not
much difference between QML types and basic types.
Change-Id: Ie7dfb01dd2ff0b68944b864ebe29d4a95ba7d550
Task-number: QTBUG-51125
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I9248c0481c44f9ebbbe9df86cad182689288f810
Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
|
|
|
|
|
|
| |
Task-number: QTBUG-50870
Change-Id: I8ce46e41e880ece93c9e6e09f2e01f1047de1622
Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When qdoc runs without one or more of the index files for
the modules it depends on, there was a chance it could set
a QML type's base type to point to the QML type itself.
This resulted in an infinite loop, which crashed qdoc with
a bad alloc error. qdoc has now been changed so that it
refuses to set a QML type's base type to itself.
Change-Id: I08e8959ddb67b2d1f3b1bf44d9dc48624bafebfa
Task-number: QTBUG-50163
Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
The singular/plural names were missing the 'attached' prefix. This
meant that the links from the Table Of Contents to those sections
were also broken.
Change-Id: I814e2e5174bbd5b10a6641e1a3c0df4106bdda7c
Task-number: QTBUG-25578
Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
|
|
we can do that now, as the bootstrap lib is now a properly exported
module, and qmldevtools is now bootstrapped as well.
this removes the abomination of a copy of the qml parser in qtbase.
unfortunately qtbase/2422251ee5025a067b14b989153764ab36e43f10 is
reverted, as qtdeclarative is still missing the respective change.
this introduces no regression in discoverability or usability, as a full
doc build already needed qttools - for qhelpgenerator.
Change-Id: Ic9c4c9732ddf5998637b9e42e27939ba50b31479
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|