Commit Graph

653 Commits

Author SHA1 Message Date
Martin Smith
c025d49119 qdoc: Eliminate uses of qmlModuleIdentifier()
The QML module identifier is no longer useful.
The function to generate it is retained for now.

Task-number: QTBUG-32173
Change-Id: Ic811ed432f2059c0370e9e0d86b2e334b5c82a3c
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-10-04 09:40:43 +02:00
Topi Reinio
35f8bcd438 qdoc: Remove debug code
Remove a piece a debug code from qmlvisitor.cpp

Change-Id: I3a1a72d11597c36d277310c92bf9590633844d03
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-10-02 10:56:03 +02:00
Topi Reinio
803253ba73 qdoc: Use empty common prefix for alphabetical QML type lists
This change allows an empty string to be used as a common prefix
for class/type compact lists, and uses it for QML types as they
do not have a common prefix like public C++ Qt classes do.

This fixes the issue with sorting order for QML type lists.

Task-number: QTBUG-33715
Change-Id: I28ab689d28017ae28eccbf590d1dbbe107665e33
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-10-02 10:07:19 +02:00
Martin Smith
b906f3919b qdoc: Fixed handling of QML references
Updated qdoc to handle QML references without using the
QML module version.

Task-number: QTBUG-32173
Change-Id: Ibfba9bc92458ae04017706e904625e7d32fc0be4
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-01 18:07:20 +02:00
Topi Reinio
cf5470e170 qdoc: Correct location info for typedefs with associated enums
For typedef nodes that have an associated enumeration, qdoc
generates incorrect location info (written to index files)
by simply appending '-typedef' to the node name.  The correct
location to link to is the associated enumeration, if one
exists.

Task-number: QTBUG-33684
Change-Id: I749171ccae9ccc10f084a40fda14e72d5f4d44cf
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-09-27 09:43:30 +02:00
hjk
00da2e615e rcc: Remove compile dependency on private headers.
Not needed anymore now that it's using the new commandline parser.

Change-Id: I1a44c8658d128e4fbb9a6fc5000025f55e5293c2
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2013-09-26 22:25:10 +02:00
Jerome Pasion
6621188515 Doc: Restore QDoc's use of the \since
-one argument: assume it is the Qt version
-more than one argument: copy verbatim

Task-number: QTBUG-32172
Change-Id: Iaf5ec538f23abf4d1dfdf50bffcbbdede56d0b22
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-09-24 18:02:55 +02:00
Martin Smith
a252f434e6 qdoc: Import statement now shows correct version
The Import statement shown at the top of each QML type
page now always gets the version number from the QML
module page for the QML type's module.

Task-number: QTBUG-32153
Change-Id: I57649c07ea680806bc92ad62fb3bc4d4fb56f717
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-09-24 14:33:00 +02:00
Ivan Komissarov
f3a723f2ec Add QKeySequenceEdit
Change-Id: I497309d3e6cbf38b298afb5ff3cb1ed6a0e82000
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2013-09-24 10:55:17 +02:00
Stephen Kelly
72d6717b26 moc: Don't stumble over MSVC __declspec.
Commit 310031188c (Fix moc stumbling over gcc __attribute__
extensions, 2012-10-01) applied similar logic for GNU style
attributes.

Change-Id: I550eaefd703b4e974e6ffae7716f02074c8a8823
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-09-24 10:09:14 +02:00
Martin Smith
f5b3224cb5 qdoc: \externalpage links are fixed
The problem was they were being incorrectly written to
and read from the index files.

Task-number: QTBUG-33510
Change-Id: Ib0b34265cd22fff5ed88ae2fd5d5d7ea58b3761d
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-09-23 12:36:55 +02:00
Jędrzej Nowacki
8969f57b6a Improve qdoc performance.
Valgrind blamed CppCodeMarker::addMarkUp as slow, the patch improves
situation by ~12%

Use of QStringLiterals instead of const char* reduce amount of
allocations on startup.

Change-Id: I8737e02785506bba7e23868ab3952eab09d543d2
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-09-21 18:39:13 +02:00
Martin Smith
d84ed9a92a qdoc: Documentation for property groups is back
This bug was marked fixed and closed, but I'm not sure
it was ever completely fixed. The qdoc commands for QML
property groups were not being processed, so although
the property group and its sub-properties appeared on
the page, the documentation text for the property
group and its properties was never written to the HTML
file. This has been corrected with this update.

Task-number: QTBUG-32341
Change-Id: I5b33ab512a53456379c52236496fb7bc74850842
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-09-18 11:28:28 +02:00
Martin Smith
433f2315ac qdoc: Now reports duplicate page titles better.
Currently, qdoc reports duplicate pages, when it should be reporting
duplicate page titles. Sometimes the duplicate titles actually refer
to the same page, but often they are different pages with the same
title. This update changes the error message to better indicate that
two identical page titles were seen.

A further complication was that the qdoc warnings for these duplate
page title errors were useless when the duplicates were in different Qt5
modules, because the support for file location information in the qdoc
index files was inadequate. This update adds better location information
to each section in the index file. This makes the index files bigger
and will increase qdoc runtimes, hopefully not too much.

Task-number: QTBUG-33506
Change-Id: I35db3c5e1551b9ef748d63377e94453da80c1e26
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-09-16 15:35:33 +02:00
Sergio Ahumada
415f65fbff Merge "Merge branch 'stable' into dev" into refs/staging/dev 2013-09-14 01:11:43 +02:00
Sergio Ahumada
f7837e28b5 Merge branch 'stable' into dev
Conflicts:
	src/concurrent/qtconcurrentmedian.h
	src/corelib/itemmodels/qabstractitemmodel.cpp

Change-Id: Iac46a90bbb2958cef7670031a4b59c3becd8538a
2013-09-13 18:04:17 +02:00
Giuseppe D'Angelo
549c3248ec Remove qFill usages from uic
QtAlgorithms is getting deprecated,
see http://www.mail-archive.com/development@qt-project.org/msg01603.html

Change-Id: I58d0c78609381b20ffe8a68e36c8216689362ed5
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-09-13 16:53:14 +02:00
Martin Smith
93d7ee0da3 qdoc: Eliminate duplicate page warnings in some cases
Prevent qdoc from reporting duplicate pages for external pages with
the same URL and title.

Task-number: QTBUG-33462
Change-Id: Idabdb241aaa4fe105f7b3ea78229ff1ae8776ecf
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-09-13 14:09:56 +02:00
Giuseppe D'Angelo
1119eb5742 Remove qSort usages from qdoc
QtAlgorithms is getting deprecated,
see http://www.mail-archive.com/development@qt-project.org/msg01603.html

Change-Id: I419d767ea18944917888037899e6ececdb014e82
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2013-09-13 13:53:55 +02:00
Giuseppe D'Angelo
173ce3ab93 Fix Strict Weak Ordering in qdoc's comparator
If both n1 and n2 are "Private", the comment says they're equivalent,
but the function is actually stating that n1 < n2 AND n2 < n1.

Change-Id: I8e30b32c1e5240551ab1808baf6fc476841dfde4
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2013-09-13 13:53:53 +02:00
Giuseppe D'Angelo
76ef6aac6a QDoc: properly initialize a member
Spotted by valgrind:

==14189== Conditional jump or move depends on uninitialised value(s)
==14189==    at 0x47B3FD: DocParser::parse(QString const&, DocPrivate*, QSet<QString> const&, QSet<QString> const&) (doc.cpp:1627)
==14189==    by 0x4818AC: Doc::Doc(Location const&, Location const&, QString const&, QSet<QString> const&, QSet<QString> const&) (doc.cpp:2755)
==14189==    by 0x4E6C3D: PureDocParser::processQdocComments() (puredocparser.cpp:140)
==14189==    by 0x4E6A9E: PureDocParser::parseSourceFile(Location const&, QString const&) (puredocparser.cpp:109)
==14189==    by 0x4D2E4C: processQdocconfFile(QString const&) (main.cpp:473)
==14189==    by 0x4D3B3C: main (main.cpp:656)
==14189==  Uninitialised value was created by a heap allocation
==14189==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==14189==    by 0x474378: DocPrivate::constructExtra() (doc.cpp:415)
==14189==    by 0x47B975: DocParser::insertTarget(QString const&, bool) (doc.cpp:1676)
==14189==    by 0x476B52: DocParser::parse(QString const&, DocPrivate*, QSet<QString> const&, QSet<QString> const&) (doc.cpp:956)
==14189==    by 0x4818AC: Doc::Doc(Location const&, Location const&, QString const&, QSet<QString> const&, QSet<QString> const&) (doc.cpp:2755)
==14189==    by 0x4E6C3D: PureDocParser::processQdocComments() (puredocparser.cpp:140)
==14189==    by 0x4E6A9E: PureDocParser::parseSourceFile(Location const&, QString const&) (puredocparser.cpp:109)
==14189==    by 0x4D2E4C: processQdocconfFile(QString const&) (main.cpp:473)
==14189==    by 0x4D3B3C: main (main.cpp:656)

Change-Id: I5c50c6611a1d901cc19d12bc3757977c36b2a73b
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2013-09-13 13:53:50 +02:00
Richard Moe Gustavsen
31b4461097 moc: add -M<key=value> to ease static qml plugin linking
A module plugin in qml belongs to a URI/namespace. This
uri is resolved run-time by QtDeclarative by knowing the
path of the qmldir that references the plugin.
For static plugins this becomes a problem, since we lost
the information regarding which plugin belongs to which
qmldir, since a static plugin has no file path.

To avoid pushing the responsibility of clarifying this
onto the application developer, it is better to embed this
information into the meta data of the plugins themselves.
Since this information can be resolved by the
build system, a new option to moc has been added:
-M<key=value>
that will let you add meta tags to the meta data from
the command line to each class that has an IID specified.
For the URI case, we can then e.g do:
-Muri=QtQuick.Controls -Muri=QtQuick.Controls.Private

Change-Id: I81a156660148fc94db6f3cac0473e9e1c8458c58
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-09-13 11:48:08 +02:00
Martin Smith
5cfb252b07 qdoc: Avoid CppCodeMarker crash on abstract QML types
In a while loop, when the first QML type encountered was
abstract, qdoc didn't create a class map on the heap, but
later in the loop, the class map was used anyway. This
caused a crash because of a null pointer to the class map.

Now qdoc creates a class map if one hasn't been created
yet, even if the QML type is abstract. This might not be
correct, but the real problem is probably the order in
which qdoc processes the QML types. It should probably
always start with a non-abstract type. But this fix will
at least avoid the crash.

Task-number: QTBUG-33387
Change-Id: Icecb165261469856820f81e3866218b15416ae3b
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-09-12 07:10:59 +02:00
Friedemann Kleint
ba7da9b733 Fix moc-crash when compiling QtScript on Windows.
@file-arguments were not parsed correctly.

Change-Id: I10dc7ebcd7c9eedb332c7c350aa06c7ac9c2e8b1
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-09-11 21:46:52 +02:00
Sergio Ahumada
bcbec4bc49 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-09-10 23:22:23 +02:00
David Faure
b508dc98a5 Port moc to QCommandLineParser
This required special care because of @option-file where additional args can be read from.

Found again one undocumented option, --ignore-option-clashes.

Usage: moc [options] [header-file] [@option-file]
Qt Meta Object Compiler version 67 (Qt 5.2.0)

Options:
  -h, --help               Displays this help.
  -v, --version            Displays version information.
  -o <file>                Write output to file rather than stdout.
  -I <dir>                 Add dir to the include path for header files.
  -F <framework>           Add Mac framework to the include path for header fil
                           es.
  -E                       Preprocess only; do not generate meta object code.
  -D <macro[=def]>         Define macro, with optional definition.
  -U <macro>               Undefine macro.
  -i                       Do not generate an #include statement.
  -p <path>                Path prefix for included file.
  -f <file>                Force #include [optional <file>] (overwrite default)
                           .
  -b <file>                Prepend #include <file> (preserve default include).
  -n <which>               Do not display notes (-nn) or warnings (-nw). Compat
                           ibility option.
  --no-notes               Do not display notes.
  --no-warnings            Do not display warnings (implies --no-notes).
  --ignore-option-clashes  Ignore all options that conflict with compilers, lik
                           e -pthread conflicting with moc's -p option.

Arguments:
  [header-file]            Header file to read from, otherwise stdin.
  [@option-file]           Read additional options from option-file.

Change-Id: I0dfa8e029f95ad8084832530d701e30f315df98e
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-10 19:06:56 +02:00
Martin Smith
3260dfc0be qdoc: Better use of versions of QML modules
Now qdoc doesn't use the QML module version number
when it isn't necessary. Page names are cleaner
without appending the version number to the QML
module name.

Also reduces the number of duplicate page warnings,
but this will be updated further next time.

Task-number: QTBUG-33257
Change-Id: Iba587164532bdc819523e0666f7561ac2dbd5e52
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-09-10 16:11:15 +02:00
Nico Vertriest
c9c435179e Doc: split up Qdoc-manual
qdoc-manual.qdoc is now an overview document
Each section is a separate qdoc file
Title modification in minimal qdocconf qdoc file

Task-number: QTBUG-31801

Change-Id: I9e50eb8c4f1f501e9c0bc768372d4393b73053ed
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-09-10 13:26:59 +02:00
Caroline Chao
56bbf3c2d5 QMetaMethod and QDBusMetaObject: Give public access to signal methods
To be consistent with signals which are public since Qt5.

Change-Id: I633077e37d0851b118c22da0681e8b8b1892ddbb
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-09-09 16:21:10 +02:00
Sergio Ahumada
2346ae1675 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I9ee4176f0a0078908d49896508826154c9f71530
2013-09-07 16:18:32 +02:00
Martin Smith
f029564607 qdoc: Removed declared but undefined member function
The declaration for addToQmlModule() in class Tree
is removed.

Task-number: QTBUG-33350
Change-Id: I2278a67cd6daf0e7723b4bf6d33ff9ed33cf9266
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-09-05 14:46:09 +02:00
Jerome Pasion
3062cea229 Doc: Get QDoc to list the QT variable for namespaces.
Task-number: QTBUG-32172
Change-Id: Id774b5d5036661a6f6b56b9c68f089031288eacc
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-09-05 11:18:59 +02:00
Jerome Pasion
b51b3e63a6 Doc: Fixed QDoc's HTML generator to avoid creating blank pages.
-The qdb->findModule() call creates a module node even if the module
 name is empty. This creates the extra module.html pages in some
 doc projects.
-The fix is to create a condition for calling findModule()

Task-number: QTBUG-32990
Change-Id: I6c1d1c53f3814ea483df2cd05b8d39dc14b0fb7b
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-09-04 18:52:29 +02:00
Giuseppe D'Angelo
10e690506e Remove qSort usage from rcc
QtAlgorithms is getting deprecated,
see http://www.mail-archive.com/development@qt-project.org/msg01603.html

Change-Id: I09dc82b7f9509f73c7b8b9c16a08fefb8ca0b8a5
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-09-03 22:21:02 +02:00
Sergio Ahumada
0a3eb0fe44 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-09-02 16:26:21 +02:00
Tobias Hunger
275c940340 QDoc: Fix (!a == b) bug
This is (!a) == b which is not what is intended here.

This exact bug was fixed in a couple of other instances of the QmlJSParser
(in QtCreator and Qt itself) by now.

Change-Id: I46a50153d7c349f21e0a888e2e3b4c4fa65c27c0
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-09-02 16:26:21 +02:00
Topi Reinio
0023774411 qdoc: Enable support for rvalue references in function signatures
qdoc interprets the double-ampersand in function parameters
using rvalue references (e.g. 'Type &&other') incorrectly
as a logical AND operator, resulting in a syntax error.

This change works around the issue by treating '&' the same
as '*', and defining Q_COMPILER_RVALUE_REFS for qdoc.

Task-number: QTBUG-32675
Change-Id: I499611f16f22c33ff5b878da0cd59d67ddf53d72
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-08-30 09:22:16 +02:00
Nico Vertriest
6264526659 Doc: minor language and layout edits
Task-number: QTBUG-31801

Change-Id: I99043ba5d1a417e093ae2e4bc7d2967ec9d095fc
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-08-29 13:23:06 +02:00
David Faure
468b539935 Port uic to QCommandLineParser
Before:
=======
Qt User Interface Compiler version 5.2.0
Usage: uic [options] <uifile>

  -h, -help                 display this help and exit
  -v, -version              display version
  -d, -dependencies         display the dependencies
  -o <file>                 place the output into <file>
  -tr <func>                use func() for i18n
  -p, -no-protection        disable header protection
  -n, -no-implicit-includes disable generation of #include-directives
                            for forms generated by uic3
  -g <name>                 change generator

After:
======
Usage: uic [options] [uifile]
Qt User Interface Compiler version 5.2.0

Options:
  -h, --help                    Displays this help.
  -v, --version                 Displays version information.
  -d, --dependencies            Display the dependencies.
  -o, --output <file>           Place the output into <file>
  -p, --no-protection           Disable header protection.
  -n, --no-implicit-includes    Disable generation of #include-directives.
  --postfix <postfix>           Postfix to add to all generated classnames.
  --tr, --translate <function>  Use <function> for i18n.
  -g, --generator <java|cpp>    Select generator.

Arguments:
  [uifile]                      Input file (*.ui), otherwise stdin.

Notes:
* "-dependencies" etc. still work.
* -n option still has effect, but technically not only for ui3 files
* the fact that the <uifile> parameter is optional wasn't documented
* -postfix option was undocumented
* -translate alternative for -tr was undocumented
The last two points show the benefit of using QCommandLineParser.

Change-Id: Ie05cfb9bbe50f4ac2788aa7b6011b2daa1acde6a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-08-29 10:25:01 +02:00
David Faure
4774ff8eb1 Port rcc to QCommandLineParser.
Before:
=======
Qt resource compiler
Usage: rcc  [options] <inputs>

Options:
  -o file              write output to file rather than stdout
  -name name           create an external initialization function with name
  -threshold level     threshold to consider compressing files
  -compress level      compress input files by level
  -root path           prefix resource access path with root path
  -no-compress         disable all compression
  -binary              output a binary file for use as a dynamic resource
  -namespace           turn off namespace macros
  -project             Output a resource file containing all
                       files from the current directory
  -version             display version
  -help                display this information

Undocumented: -verbose and -list !

After:
======
Usage: rcc [options] inputs
Qt Resource Compiler version 5.2.0

Options:
  -h, --help          Displays this help.
  -v, --version       Displays version information.
  -o, --output <file> Write output to <file> rather than stdout.
  --name <name>       Create an external initialization function with <name>.
  --root <path>       Prefix resource access path with root path.
  --compress <level>  Compress input files by <level>.
  --no-compress       Disable all compression.
  --threshold <level> Threshold to consider compressing files.
  --binary            Output a binary file for use as a dynamic resource.
  --namespace         Turn off namespace macros.
  --verbose           Enable verbose mode.
  --list              Only list the files, do not generate code.
  --project           Output a resource file containing all files from the current directory.

Arguments:
  inputs              Input files (*.qrc).

Change-Id: If20958afd6c01df5d0d755e13e8581bc1cb9af51
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-29 10:25:01 +02:00
David Faure
e8e7128188 Add QCommandLineParser to the bootstrap lib
Change-Id: I861758746eca954cf074893b0241fd66c2ff39d2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-08-28 12:15:43 +02:00
Frederik Gladhorn
190fa97c83 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	examples/widgets/doc/src/addressbook-fr.qdoc

Change-Id: Id1196e8e0c6445f1616c3f29234c974d809f8e48
2013-08-27 22:51:09 +02:00
Martin Smith
94dca6d10c qdoc: Fixed the relative link to installdir problem
Instead of using the fake "outputdir" to force qdoc
to generate a relative path to the actual output dir,
it now uses the value of HTML.outputsubdir, or just
"html" if HTML.outputsubdir is not specified.

Task-number: QTBUG-32580
Change-Id: I45c79a788e102213e6d343a7ed108a3d17d94759
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-08-26 08:53:32 +02:00
Nico Vertriest
6d0d5a2ade Doc: added excludedirs to qdocconf example.
Corrected style issues pointed out in review.

Task-number: QTBUG-31801

Change-Id: Ibbc4e5f8dcd8ca129ae945b5e62b15daed47d86d
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-08-23 11:48:00 +02:00
Nico Vertriest
3e7c77cfae Doc: minimal qdocconf file with comments
Task-number: QTBUG-31801

Change-Id: Ia94989b066ab2cd4d6dbf64261b5d9b4207db12a
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-08-23 09:35:36 +02:00
Martin Smith
e4df7fc75a qdoc: Fix the qdoc \include command
qdoc's \include command now works as expected.
This command is only for including a file that
contains qdoc comments that contain qdoc commands
to be processed by qdoc. The file to be included
should have the .qdocinc suffix, although qdoc
will accept any suffix now. The file must be in
one of the directories specified by the sourcedirs
variable in the qdocconf file.

Task-number: QTBUG-33046
Change-Id: I45ea08932b4218aae369469968117fb5132f764b
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-08-22 16:11:29 +02:00
Martin Smith
d9b5cead97 qdoc: Make example file names unique
To avoid duplicate files for examples, the files
are named this way. Suppose you have an example
called mandelbrot. The example is in a subdirectory
named mandelbrot, and there is a \example command
somewhere like this:

\example mandelbrot

In this case, the mandelbrot example is in the QtCore
module. Then the name of the example page will be:

"qtcore-mandelbrot-example"

...and the names of the example files will be:

"qtcore-mandelbrot-main-cpp.html"
"qtcore-mandelbrot-mandelbrot-pro.html"
"qtcore-mandelbrot-mandelbrotwidget-cpp.html"
"qtcore-mandelbrot-mandelbrotwidget-h.html"
"qtcore-mandelbrot-renderthread-cpp.html"
"qtcore-mandelbrot-renderthread-h.html"

Task-number: QTBUG-32580
Change-Id: Ic4445fd65b679523d6d94a8b0c19289d049ef0b0
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-08-22 16:11:29 +02:00
Olivier Goffart
8a96679493 moc generated code should compile with QT_NO_KEYWORDS
Don't use the 'emit' keyword in the moc generated code for properties
with MEMBER

Task-number: QTBUG-33094
Change-Id: I5a0950e9c7a0dee347a6a6c79098e3e7d4776014
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-22 16:03:28 +02:00
Olivier Goffart
2bd40c53ef moc: Fix related objects containing itself
This may happen when we have namespaces and the qualified name is used
to scope an enum.

Task-number: QTBUG-32933
Change-Id: Ic4923bbfb138387bae1e3694172661ace8342089
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-22 16:03:28 +02:00
Olivier Goffart
c20b358703 moc: Issue a warning instead of an error when macro argument mismatch
moc's C++ is not 100% accurate, so better process the invalid macro with
a warning rather than an error.

Such errors occurred in the QSKIP macro with variadic arguments since
that macro is defined conditionally.
It is also causing problem in boost header (cf task QTBUG-29331)

Task-number: QTBUG-29331
Change-Id: Ice6a01b675286540d6470c8e36920b7efd39b540
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-22 07:11:33 +02:00