The link to the class reference page for the class that
contains the obsolete members is now embedded in the text
description of what the page contains. This change affects
both the obsolete members papge and the compatibility members
page. Without this change, the link to the class reference
page stands off on its own and makes it look like the class
itself is obsolete or maintained for compatibility with
previous versions. Since this is not the case, the link is
now embedded in the text description of the page.
Task-number: QTBUG-31379
Change-Id: Ic5f4554c8722ee193f2dfae9efd8adab98f32ca1
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
This fix ensures that the page name is
set only once. Also included are a few
internal documentation changes that
bring qdoc's internal terminology up
to date.
Task-number: QTBUG-31578
Change-Id: Ib52a5a9024533d5a695cee0055bf2bc4d9bc2af9
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Scripts are available in internal mkdist repo.
Added license tags, updated licenses and copyrights/contacts
Change-Id: Ibc734275f3000987eaa4f5c57f19d4e1fda2c479
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Change-Id: I837eaef4fb114c20a75ffc188b49aa612f07f507
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
qmlvisitor.cpp:248:13: warning: variable 'pgc_idx' set but not used
[-Wunused-but-set-variable].
Change-Id: Ia8ec15add69771ad7b71d2e17c68204c5bffb360
Reviewed-by: Martin Smith <martin.smith@digia.com>
The \qmlpropertygroup command is added, and qdoc is taught to generate
better output for it. The format is, e.g.:
\qmlpropertygroup QtQuick2::Item::anchors
\qmlproperty AnchorLine QtQuick2::Item::anchors.top
\qmlproperty AnchorLine QtQuick2::Item::anchors.bottom
\qmlproperty AnchorLine QtQuick2::Item::anchors.left
\qmlproperty AnchorLine QtQuick2::Item::anchors.right
\qmlproperty AnchorLine QtQuick2::Item::anchors.horizontalCenter
\qmlproperty AnchorLine QtQuick2::Item::anchors.verticalCenter
\qmlproperty AnchorLine QtQuick2::Item::anchors.baseline
\qmlproperty Item QtQuick2::Item::anchors.fill
\qmlproperty Item QtQuick2::Item::anchors.centerIn
\qmlproperty real QtQuick2::Item::anchors.margins
\qmlproperty real QtQuick2::Item::anchors.topMargin
\qmlproperty real QtQuick2::Item::anchors.bottomMargin
\qmlproperty real QtQuick2::Item::anchors.leftMargin
\qmlproperty real QtQuick2::Item::anchors.rightMargin
\qmlproperty real QtQuick2::Item::anchors.horizontalCenterOffset
\qmlproperty real QtQuick2::Item::anchors.verticalCenterOffset
\qmlproperty real QtQuick2::Item::anchors.baselineOffset
\qmlproperty bool QtQuick2::Item::anchors.alignWhenCentered
Task-number: QTBUG-32341
Change-Id: I4b06a3a061b23680e663e8d4e82ac9863ffd4ecb
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
-"qmlclasses" was used in Qt 4.7
-enables the listing of QML types in a page
Task-number: QTBUG-31490
Change-Id: I4f666945067ef1df6e358c488c245792b5aea3ab
Reviewed-by: Martin Smith <martin.smith@digia.com>
For instance, exporting an object with a slot like
QString complexMethod(const MyVariantMap& vars);
(even with a simple typedef QVariantMap MyVariantMap)
used to silently skip that method in the introspection.
Now it outputs:
generateInterfaceXml: Skipped method "complexMethod" : Invalid type in parameter list: MyVariantMap
Change-Id: I7964cfb63e973257ce1abe47b9625e361b2ad23f
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
The HTML pages need to display minimal navigation such
as a link to the module landing page or Qt 5's index.html.
-new variables available in qdocconf files:
navigation.landingpage
navigation.homepage
navigation.cppclassespage
navigation.qmltypespage
buildversion
The navigation variables are for the new navigation bar.
The buildversion variable is to insert documentation build
information into the pages.
Note about compatibility with Qt Creator docs:
The HTML template files for Qt Creator is retained to keep
Qt Creator compatible with 5.0.x and 5.1.x.
Change-Id: Ibb4d7cada19644204457d822b6b77b2aa7b70f8d
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
-The navigation bar requires the titles of the landing page and
relevant pages.
Change-Id: I5d5986b2bf74205cd49957b63fd6ac4e32cbb36b
Reviewed-by: Martin Smith <martin.smith@digia.com>
The current implementation does not allow colons in attribute values,
as it's already used as a separator in the form of 'name:value'.
This change allows colons in the value string - one use case is to
have URL attributes, as in 'imageUrl:qthelp://path.to.image'.
Change-Id: I05c5cb32ffc79a39fbe5e4102f7a4b5bdcc2be53
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
When qdoc searched for QtConncurrent::blockingFilter(),
it found the module node for QtConcurrent instead of the
namespace. This was because qdoc wasn't given specific
enough instructions on how to perform the search. Now
it searches for the namespace first, then the C++ class,
then the module.
Task-number: QTBUG-31535
Change-Id: I4f8aec503903508789738f2a77c76f47a3e80a93
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
QDoc uses .qdoc files as snippets in other .qdoc files. These snippet
.qdoc files are also parsed, which is not the intent. This change
resolves the issue by renaming the files to have a different
extension.
Task-number: QTBUG-31574
Change-Id: I399c8b714478b9c4b8fbe2db53f601e6a1386cea
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
make the include dir in the source tree the "main" include path, as
that's where the majority of the headers is. then selectively add the
shadowed dirs.
Change-Id: I03ad13cfcf77175c141b94d41b1221740d851faf
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Before: <title>QtMultimedia 5.1: Camera</title>
After: <title>Camera | QtMultimedia 5.1</title>
"Camera" is page name and "QtMultimedia 5.1" is the assembled project
name.
-Regular page title is the same.
-It's a readability issue to not see the page title right away
-New arrangement conforms to Qt Project and blog name format:
"<Title> | <Domain>"
-Tested with the tw-parser and it looks compatible with the
qt-project.org site
Change-Id: Iae0eec9e66b5e21285bdad1e525923f60c72e56b
Reviewed-by: Sami Makkonen <sami.makkonen@digia.com>
Reviewed-by: Nico Vertriest <nico.vertriest@digia.com>
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
It's no more on QtWidgets.
Task-number: QTBUG-31508
Change-Id: Iba117a4103c2b32173816a4ecb5faa187f169b32
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
It was comparing an absolute path to a relative path.
These could never be the same. Instead of the relative
path, it now gets the canonical absolute path, so the
comparison succeeds when it should.
Task-number: QTBUG-31404
Change-Id: I9c482d4649d493ce6d4f9a522cb61f2c8a5eb21f
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Currently qdoc skips collision nodes (and their children)
when reading index files. This means that cross-linking
between modules does not work for nodes that are defined
under a collision page node. Most notably, the QML global
object 'Qt' cannot be linked to from outside Qml module
as it collides with Qt namespace.
This change fixes the issue by skipping collision nodes
and only processing their children when writing index
files. In addition, we need to adjust the function that
searches for nodes to the possibility that there may be
multiple nodes with the same name but different type.
Task-number: QTBUG-31096
Change-Id: Ic71d714f85539d8537021c73d8f1a527006a6f23
Reviewed-by: Martin Smith <martin.smith@digia.com>
This page is generated by a function in qdoc
that was wwrriten especially for this page.
It wasn't checking to see of the group member
pages were marked with \internal. Now it does.
Task-number: QTBUG-31197
Change-Id: If3f0e90f1a3748c47b3975373047b04d011d6748
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
For grouped properties, the property list in
the summary section was not shown owing to a
bug introduced when implementing the abstract
base class concept for QML types. This has
now been fixed.
Task-number: QTBUG-31317
Change-Id: Idc2344539ecf3da53e1be6816f59e01922c5c6fc
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
The brief attribute for a C++ property was being written
after the <property> tag had been closed. This has been
fixed by explicitlty writing the brief attribute for each
XML tag that has a brief text to write.
Task-number: QTBUG-31149
Change-Id: Ic3857b8fa50cfb84536b838771751d8b92ed590e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
when the type is a pointer to a registerable 1 argument template type.
Task-number: QTBUG-31002
Change-Id: Iac0d6b71b2b805a1876110a0781d02188083c4e5
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
When encountering code such as:
X<a<b>
moc does not have the mean to know if 'a' is a type or a variable, so the
type parser currently assume that '<' always open a template parameter.
(instead of being the operator<)
The type parser do not care about the actual type, it just need to strip
the string out. The problem is that then the whole rest of the file will
be considered as the type.
With this patch, we also stop the parsing at semicolon. The type will
be wrong, but this allow the parser to recover and it will continue to
look for more classes after this.
(In other words, moc will no longer break if it encounter such construct
in a header. But it will still not parse such types correctly if used
within a Q_OBJECT class)
Task-number: QTBUG-31218
Change-Id: I1fef6bc58493d7c00df72401c9ad55463b24eaa7
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
QDoc adds document nodes as files into the .qhp, including nodes with
image subtype. This will generate a lot of unnecessary warnings for
missing '<image>.png.html' files from qhelpgenerator when running
'make docs'.
This change makes qdoc skip the above step for image nodes to remove
the warnings. The images are still always added to .qch in a separate
step.
Change-Id: Ib07fc8a3ce65f5d4dd700daf00f5f6a36f74a696
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
qdoc's faux C++ parser did not recognize class declarations
of the form:
class Name1::Name2 {
...
};
...where class Name2 is nested in class Name1. Now it does,
but this fix doesn't handle deeper nestings. doc needs a
proper C++ parser.
Task-number: QTBUG-28664
Change-Id: I5adf88cc1b2ce03f5565250734416bf9592914b5
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
The brief text for a documented thing is now output as an
attribute of that thing in the module's index file, and it
is reconstituted in the thing's tree node, when qdoc reads
the module's index file later. Only the verbatim text of
the brief is saved in the index file, i.e. no links or
other markup.
The effect is that brief texts can be used in other modules.
Task-number: QTBUG-31021
Change-Id: I932a0c85259b6d1901138f0c0959ddb9815b7db5
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
There is no longer any difference in install directories between demos
and examples (QT_INSTALL_DEMOS is obsolete and points to the same dir
as QT_INSTALL_EXAMPLES for compatibility). This change removes any
special handling of demos' paths used in manifest xml, enabling the
demos to be visible in Creator welcome mode as well.
Change-Id: I5afdf578a42d001fab05979d3ea1102fd52b51da
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
qWarning now depends on QT_MESSAGE_PATTERN, depending on that variable.
It will show things like the moc process id or the Parser::error
function name. We don't want that.
Change-Id: I5b35401200f0f7de2442aa77d700a82402081489
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
If \wrapper appears in a \class comment or a
\qmltype comment, qdoc will not print warnings
when it finds public members of the class or the
QML type that are not documented.
The \wrapper command is added to several
opengl classes. This reduces the number of
qdoc warnings by several thousands.
Task-number: QTBUG-30755
Change-Id: Iba1eebc1590ccf54100e40fe91423240c1b3d09d
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
The Config class is further modified to make
use of the current directory information it
stores with each configuration variable.
Task-number: QTBUG-30725
Change-Id: I34c845e6c05d7868266324f1d54e56f94d709f95
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
The Config class is modified to build a single
multimap containing a record for each variable
found in each .qdocconf file. Each reacord
contains not only the name and value of the
variable, but also its location in the qdocconf
file it was read from and the path to that file.
This single multimap replaces 3 maps in the
Config class.
Task-number: QTBUG-30725
Change-Id: I049a69790f943b24c014a24b55b2b39725a1b56f
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>