Commit Graph

642 Commits (8af776d4140c19baccb8e2767ed8b57cc79ccb06)

Author SHA1 Message Date
Martin Smith 6d3ab0c96b qdoc: Don't document QML signal handlers
qdoc now ignores QML signal handler comments
and does not report errors for missing QML
signal handler documentation.

Task-number: QTBUG-29993
Change-Id: If2daae80944c8b85312d38d4ee8c07ebe1f79001
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-03-06 13:00:31 +01:00
Frederik Gladhorn b861063873 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-03-06 00:11:52 +01:00
Tor Arne Vestbø d28073d9eb Distinguish between 'mac' and 'macx' qmake scopes
The former applies both on Mac OS X and iOS, but 'macx' is specific to
Mac OS X.

ios.conf and macx.conf now share most of their settings in the common
mac.conf. We set the default QMAKE_MAC_SDK before loading mac.conf, so
that any overrides in the device config will apply afterwards. This
means configure's mkspec parsing will be able to read the QMAKE_MAC_SDK.

Change-Id: I0c7e26a6a0103e19b23ef152aa9e4ab461cee632
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-03-05 20:59:45 +01:00
Frederik Gladhorn 5e8ae03578 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	configure
	qmake/generators/mac/pbuilder_pbx.cpp
	src/corelib/kernel/qtimerinfo_unix.cpp
	src/plugins/platforms/cocoa/qcocoabackingstore.mm
	src/plugins/platforms/cocoa/qcocoawindow.mm
	src/plugins/platforms/windows/qwindowswindow.cpp
	src/plugins/platforms/xcb/qglxintegration.cpp

Change-Id: I8d125fe498f5304874e6976b53f588d3e98a66ac
2013-03-05 13:42:11 +01:00
Martin Smith 8b10e8c198 qdoc: Maintain correct nesting level for QML parsing
qdoc was not incrementing the nesting level when parsing
a UiObjectBinding, which can contain a component definition.
qdoc now increments the nesting level when starting to vidit
a UiObjectBinding and decrements it when ending the visit.

Note this fix does not stop qdoc from reporting that public
signal handlers have not been documented. If that is to be
changed, it will be done separately.

Task-number: QTBUG-29993
Change-Id: Ibd5ef81082e989652b3a15dcc95080a2757e0077
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-03-05 12:19:08 +01:00
Martin Smith c0c38912eb qdoc: Allow QML linking without version nr
This change allows links of the form:
\l{qml-module-name::qml-type}{name}
i.e. no version number provided.

This change does not handle collisions.
There aren't any in Qt5 at the moment.
If a collision occurs, qdoc will link to
the name in one of the colliding QML
modules, but not necessarily the most
recent one. Hence, the link may go to
the wrong page. A further update might
be forthcoming that will handle this
better.

Task-number: QTBUG-29778
Change-Id: Ie2c2b117446ed02852593dd0273c390d39fed927
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-03-04 15:36:56 +01:00
Olivier Goffart 7e5d1c1c2f moc: Support the '$' character as an identifier
Both gcc and clang allow the use of '$' in their identifiers as an
extension. moc should not throw a parse error if there is one in the
file. Instead, consider '$' as valid in identifiers.

Task-number: QTBUG-22720
Change-Id: I8be3a52429c0db5b7e8308b8f4fe475d3d3994bf
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-03-02 12:58:18 +01:00
Olivier Goffart b0e58a9008 Fix compilation of moc generated file with MEMBER properties
If the object has only MEMBER properties, without any other property
specifying READ, the generated will fail to compile with this error:

tst_moc.moc: In member function ‘virtual int ClassWithOneMember::qt_metacall(QMetaObject::Call, int, void**)’:
tst_moc.moc:3810:42: error: ‘_v’ was not declared in this scope

That's because the '_v' is only declared if 'needTempVarForGet' is set,
and it should be set when we have a MEMBER property.

Change-Id: I829fad3faf69654b5a3fd540857df19f4a9449d4
Reviewed-by: Gerhard Gappmeier <gerhard.gappmeier@ascolab.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-03-02 12:58:18 +01:00
Thiago Macieira a496b5dc38 Fix warnings reported by ICC in qdoc
doc.cpp(3292): error #68: integer conversion resulted in a change of sign
generator.cpp(363): error #68: integer conversion resulted in a change of sign

Change-Id: Ie714ffcb4098debc701ce3fb6fa444154ac02ae5
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-03-01 16:56:25 +01:00
Thiago Macieira 1ee1147462 Rename the SQL driver header files to _p.h (make private)
The drivers were never public API. They were exposed by mistake in
public headers. What's more, they have #include'd a private header
(qsqlcachedresult_p.h) since at least Qt 4.5.1. That means no one used
those headers in Qt 4 (private headers weren't installed then) and
it's unlikely anyone did in 5.0.

Change-Id: Ie0a47bcf0260ee6bdd3d8494b78fd1eec28a2d6b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-02-26 11:20:06 +01:00
Thiago Macieira 44cb71d6fd Compile only the SHA-1 code into qdoc
There's no need to compile the other codecs if they never get
used. It's possible that a whole-program optimisation would remove the
dead code away, but it's not very likely.

Change-Id: I75d7618c174566beec2fab44f60a9f7120133775
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-02-23 18:38:49 +01:00
Martin Smith bfce04fe5b doc: QML Inheritance is not resolved correctly.
qdoc did not resolve QML Inheritance correctly and the result was that
QML inheritance was not shown correctly in the documentation. Part of
the problem was that information was missing for QML types in the .index
files produced by qdoc. qdoc also did not show inheritance properly
when one of its base types was marked internal. These problems have
now been fixed.

This update also fixes the problem that caused qdoc to slow down to a
snail's pace over time. The group members list for certain group pages
was getting longer and longer, because qdoc added the same member to
the member list an additional time every time qdoc was run in -prepare
mode if you didn't clear the index files first. Now, qdoc only adds a
member to the member list if it isn't already in the member list.

Task-number: QTBUG-29778
Change-Id: Ie4f0458a2ea4ceb1a64cdcd7f60f16b124a20790
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-02-22 18:34:35 +01:00
Olivier Goffart b05f19f232 moc: Fix infinite recursion in macro substitution
When performing macro argument substitution, one should keep the set of
macro to exclude, else we can enter an infinite recursion.

Testcase:
 #define M1(A) A
 #define M2 M1(M2)

Task-number: QTBUG-29759
Change-Id: I564bbfed65e1c8599592eaf12c6d67285d2fd9ce
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-02-21 16:55:41 +01:00
Frederik Gladhorn dcb710dd87 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	mkspecs/features/unix/separate_debug_info.prf
	src/gui/kernel/qwindow_p.h
	src/plugins/platforms/cocoa/qcocoacursor.mm
	tests/auto/tools/moc/tst_moc.cpp

Change-Id: Ieb57834c00f961a747ffe51e6eb9fc9612cebccf
2013-02-20 22:08:29 +01:00
Martin Smith 2cb22c6cc0 qdoc: QML Inheritance is not resolved correctly.
This change adds some QML property, signal, and method
data to the .index file. It also provides more robust
resolving of QML inheritance for qml types.

Task-number: QTBUG-29778
Change-Id: Iaefd64227913a19f427b21e904ca5e32c82d7b29
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-02-20 17:22:26 +01:00
Topi Reinio a595ac15cd Doc: Document example manifest files in QDoc manual
Adds documentation for example manifest files and the related qdoc
configuration command \manifestmeta into QDoc manual.

Change-Id: I6a627698ab14f57c9a117b6d4b794f352959f5ac
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-02-20 15:22:55 +01:00
Tor Arne Vestbø eb09f9b82c moc: Error out when detecting unterminated macro usage
Exhausting the symbol list while looking for the
final right parenthesis means it is missing.

Task-number: QTBUG-29308
Change-Id: Iccf5897b0f5eb719699fd12d6c8e4a16ff189d9b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-02-19 20:51:44 +01:00
Jerome Pasion 5d6916b4c1 Doc: Removed reference to deprecated \badcode command.
-QDoc doesn't differentiate between \badcode and \code. They both
look the same in the output.

Change-Id: Ifabd51b7e433a1c30cf30c267d3ce63dded1bd43
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2013-02-19 11:55:51 +01:00
Tor Arne Vestbø 3988ad95f7 moc: Error out when detecting unterminated macro usage
Exhausting the symbol list while looking for the
final right parenthesis means it is missing.

Task-number: QTBUG-29308
Change-Id: Iccf5897b0f5eb719699fd12d6c8e4a16ff189d9b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-02-19 07:55:39 +01:00
Frederik Gladhorn f4900d340a Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/widgets/styles/qmacstyle_mac.mm

Change-Id: If8326db9e7da3cbf45dbf7475fdff9915c7723b1
2013-02-18 16:14:52 +01:00
Topi Reinio 284958c222 Doc: Support for meta-content in manifest XML files
This change makes qdoc support additional attributes and tags written
to example/demo manifest files. The goal is to enable highlighting of
selected items, as well as having additional content to make searching
for specific categories work better in Qt Creator welcome screen.

This meta-content is stored in manifest-meta.qdocconf, which is loaded
globally for all modules.

Tag handling is also changed to use a QSet to eliminate possible
duplicate tags.

Task-number: QTBUG-29354
Change-Id: I2c4b2dff6229172efbecc2bfc1c269017edc4d56
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-02-15 17:48:36 +01:00
Frederik Gladhorn e65cd6f379 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/concurrent/doc/qtconcurrent.qdocconf
	src/corelib/doc/qtcore.qdocconf
	src/corelib/global/qglobal.h
	src/dbus/doc/qtdbus.qdocconf
	src/dbus/qdbusmessage.h
	src/gui/doc/qtgui.qdocconf
	src/gui/image/qimagereader.cpp
	src/network/doc/qtnetwork.qdocconf
	src/opengl/doc/qtopengl.qdocconf
	src/opengl/qgl.h
	src/plugins/platforms/windows/qwindowswindow.cpp
	src/printsupport/doc/qtprintsupport.qdocconf
	src/sql/doc/qtsql.qdocconf
	src/testlib/doc/qttestlib.qdocconf
	src/tools/qdoc/doc/config/qt-cpp-ignore.qdocconf
	src/widgets/doc/qtwidgets.qdocconf
	src/xml/doc/qtxml.qdocconf

Change-Id: Ie9a1fa2cc44bec22a0b942e817a1095ca3414629
2013-02-14 14:24:57 +01:00
Friedemann Kleint b5119f9d4e Move TR_EXCLUDE to qdoc.pro.
It does not have any effect in a SUBDIRS-type .pro-file.
Fixes 42a6d405e4 .

Change-Id: If2eafacecfd69b916861bf4b0afddb62628d720f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-02-13 15:48:20 +01:00
Martin Smith cd84491aad qdoc: inherited members do not show up for QML components
This was a regression bug owing to a big qdoc cleanup
for Qt5. But the way QML inheritance had been handled
was not a good design, so it has been changed here.
When a .qml file is parsed by qdoc, the base type of
the QML component is detected, and its name is stored
in qdoc's tree node for the component. After qdoc has
parsed all the QML files, it traverses the tree, and
for each QML component that has a base type name but
no base type node pointer yet, it searches the tree
for the base type node and stores the pointer to
the node in the node for the components. Then when
the output generator generates the doc page for the
component, it has access to all the inherited members
in the base type.

Task-number: QTBUG-29569
Change-Id: Ib4958d05f55fa48a572f8ca51ffd57712f29bbc7
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-02-13 10:11:48 +01:00
Montel Laurent c080f1f98a Remove unused variable
Change-Id: I3cef189a668f73c8599958b2c15bf140bd86d091
Reviewed-by: David Faure <david.faure@kdab.com>
2013-02-11 11:12:08 +01:00
Montel Laurent 6230873a65 Fix initialize variables
Change-Id: Iaebd03bebf38cddf84f163703e2820925b69c3d9
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-02-11 11:02:56 +01:00
Oswald Buddenhagen 42a6d405e4 exclude bootstrapped tools from lupdate message collection
the translation infrastructure is disabled in the bootstrapped tools, so
the translations are wasted.

Change-Id: Ief5d13f09242e03aaf0d4a3d9b1645f9c7a1ab3a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-11 10:57:46 +01:00
Martin Smith 4866fcf008 qdoc: Missing links to qRegisterMetaType()
A serious problem in the design of qdoc is its
C++ parser. It is an ad hoc recursive descent
parser, which has not kept pace with Qt's use
of the more esoteric aspects of C++. Part of
the problem is that qdoc does not send files
through the preprocessor before processing
them. The bottom line is qdoc needs the C++
parser used in Qt Creator.

But that is a long-term solution. In the short
term, we have to introduce minor hacks like
this one to keep qdoc going until the parser
can be replaced.

The problem in this case is that qdoc doesn't
handle the QT_PREPEND_NAMESPACE macro in
function declarations. The solution is to let
qdoc ignore the macro and just use the macro's
parameter, which is what qdoc wants anyway.

Task-number: QTBUG-28953
Change-Id: I5b9efcc10fa8fb500a44854ee995c2e50e9e16b5
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-02-08 17:37:51 +01:00
Topi Reinio 10d5b24cc5 Doc: Make QDoc/HelpProjectWriter always add member pages to .qch files
This change refactors the code for inserting compatibility and
obsolete member pages into a qhp file, detaching it as a new
function and calling it when processing each node.

This ensures that members page, compatibility and obsolete
pages (html files) are added to .QCH files for all processed
nodes that have children or related nodes.

Also renames a variable ('node'->'nodeChildren') to prevent
shadowing.

Task-number: QTBUG-29314
Change-Id: Iccee70ba8768d48b24e68b08651043d0ce4a62a5
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-02-08 11:22:27 +01:00
Friedemann Kleint d757d023fe Fix spelling error found by bot.
Change-Id: I7e9a00e014368450b6dcb8172f7888bb744d6555
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-02-07 18:22:08 +01:00
Jerome Pasion 09e972884e Doc: Made QDoc Manual use Qt 5's qdoc
-removed extra qdocconf and files
-"make docs" using QMAKE_DOCS
-installs the documentation in QT_INSTALL_DOCS
-updated title of the manual to "QDoc Manual"
-modified listing of contents in Assistant

Change-Id: I22f93c0903c5e672a0e7efa83bf3f592658be66d
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-02-07 18:22:08 +01:00
Laszlo Papp d00224881b Fix a typo in the qdoc manual
Change-Id: I7eb6348562a18ce87e065950315dec3253a22aeb
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2013-02-07 12:36:25 +01:00
Friedemann Kleint 41dfd254c3 qdoc: Fix translation contexts.
Put all translations into the namespace QDoc and fix warnings
about invalid tr()-usage by removing the free tr()-function
from tr.h. Provide QCoreApplication::translate() for bootstrap
builds.

Change-Id: I2b6931188346f290e80e14b84adff8892d8a860f
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-02-07 12:36:00 +01:00
Frederik Gladhorn a1f4a821fc Nokia -> Qt Project
Change-Id: Iadd29ee918dc181d2a468f5198e66351c7cb3548
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-02-05 20:53:57 +01:00
Topi Reinio 1d9863658d Doc: Fix filenames for nested classes generated by qdoc
Generator::fullDocumentLocation() adds a parent class name twice into
the generated filename for nested classes, which not correct.

This change fixes the issue and makes documentation for nested classes
work in Qt Creator (qch files).

Task-number: QTBUG-29440
Change-Id: I489800ba09f49dda2befef73634cb2b344be0060
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-02-05 18:54:41 +01:00
Sergio Ahumada 1e33f30f75 Remove left-overs of QT_{BEGIN,END}_HEADERS
This macro is useless from Qt 5.1 on, so:

 - Remove comment about using QT_BEGIN_NAMESPACE after QT_BEGIN_HEADER
 - There is no need to blacklist these in qt-cpp-ignore.qdocconf

Change-Id: I2c3ceb3d77d294a606b87f7486071a2350b3d42f
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-01-31 20:08:58 +01:00
Frederik Gladhorn 02ba93dd3d Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I12b4d8b99bdccae53b1a978cd6eb8f4ac6fb3c76
2013-01-28 11:10:29 +01:00
Sze Howe Koh 63569a68d2 Doc: Fix module name format
Follow the conventions at
http://qt-project.org/wiki/Spelling_Module_Names_in_Qt_Documentation

QtCore         -> Qt Core
QtDBus         -> Qt D-Bus
QtDesigner     -> Qt Designer
QtGui          -> Qt GUI
QtImageFormats -> Qt Image Formats
QtNetwork      -> Qt Network
QtPrintSupport -> Qt Print Support
QtScript       -> Qt Script
QtSql          -> Qt SQL
QtSvg          -> Qt SVG
QtTest         -> Qt Test
QtWebKit       -> Qt WebKit
QtWidgets      -> Qt Widgets
QtXml          -> Qt XML

QtConcurrent   -> Qt Concurrent (partial)
QtQuick        -> Qt Quick      (partial)

Also, distinguish between "module" and "library"

Change-Id: Icb8aa695ae60b0e45920b0c8fce4dc763a12b0cd
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-01-25 17:27:44 +01:00
Frederik Gladhorn c608ec8254 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/corelib/io/qsavefile_p.h
	src/corelib/tools/qregularexpression.cpp
	src/gui/util/qvalidator.cpp
	src/gui/util/qvalidator.h

Change-Id: I58fdf0358bd86e2fad5d9ad0556f3d3f1f535825
2013-01-22 18:40:13 +01:00
Volker Krause 5ab42af612 Adapt to WebKit Widgets module split.
These classes moved as well, but were missed in commit c07408e2. This
fixes uic generating invalid code if any of these classes are used in
an .ui file.

Change-Id: I0359157f540a5f4979cca781169e5a9b2a0afad7
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-01-19 18:31:07 +01:00
Gerhard Gappmeier 9bbebb9144 Add support for defining properties from member variables.
This associates properties with member variables and
avoids writing getter and setter methods manually.
The metaCall() method directly accesses the member variable,
so additional method calls can be avoided.
The metaCall() setter code also supports NOTIFY signals,
which means the according signal is emitted when the property
gets written.

Task-number: QTBUG-16852

Change-Id: I88a1f237ea53a1e9cf65fc9ef2e207718eb8b6c3
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-01-19 17:36:55 +01:00
Sergio Ahumada 48e0c4df23 Update copyright year in Digia's license headers
Change-Id: Ic804938fc352291d011800d21e549c10acac66fb
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-01-18 09:07:35 +01:00
Martin Smith c72cbfc37f qdoc: Fix problem of missing inherited members
This was another bug resulting from modularization.
qdoc is now run twice for each module in Qt 5.
First, qdoc is run with the -prepare flag for each
module. The only thing qdoc generates is the .index
file for each module. Then qdoc is run with the
-generate flag for each module. Here, for each
module, qdoc first reads the .index files for the
modules on which the current module depends. Then
qdoc generates the docs for the module.

qdoc was not reading the index files for the
prerequisite modules, when it was run in the
-prepare phase. This has now been corrected.
qdoc now reads the prerequisite .index files
in both the -prepare phase and the -generate
phase.

Note that this requires that the order qdoc
runs in the -prepare phase must be the same
as the order of building modules when building
Qt 5.

This change also tells qdoc to ignore nodes,
when traversing its main data structure to
output docs, if the nodes came from reading
a .index file, because the docs for these
nodes are generated in the -generate phase
for their respective modules.

Task-number: QTBUG-28508
Change-Id: Id73652ae1c4022e4c9e4f199caab12a854e5f9b4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-01-11 12:02:21 +01:00
Nico Vertriest d208c8b247 Doc: corrected typo "the the"
Task-number: QTBUG-28756

Spurious repetition of the definite article
Trailing space issue corrected.

Change-Id: I3a051f5dc291e546d8d67d6775e84b388bdc0363
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
2013-01-11 12:02:21 +01:00
Sergio Ahumada ef838063b1 qdoc: Fix some old links and references to Nokia
Change-Id: I06535a7e301c3986fb104b7092934e8925bacd39
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: hjk <qthjk@ovi.com>
2013-01-10 14:53:04 +01:00
Jon Severinsson e2fb3f94e8 qdbusxml2cpp: Check string length before checking for \r\n.
Change-Id: I5370bae258933536ecf9785da95a9006fafc1a62
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-02 13:53:15 +01:00
Thiago Macieira 96b48ee0cb Fix warning about unused variable in qdoc
codeparser.cpp:245:18: error: unused variable ‘dn’ [-Werror=unused-variable]

Change-Id: Id271b3829ba3278e80d4e79746db7aabfabd751a
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-23 17:53:07 +01:00
Friedemann Kleint 85557694df DBUS: Fix linker errors on Windows.
QDBusMarshaller symbols were duplicated.

Initial-patch-by: vonreth@kde.org

Change-Id: Ic66681696aaf2a440119c06fce8d1dbd99c8396a
Reviewed-by: Patrick von Reth <vonreth@kde.org>
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-12-20 01:42:05 +01:00
Frederik Gladhorn 234163adb3 QDoc: Fix warning - unused variable
Change-Id: Id4068e1a1fcfad8fb3cc9174f995cb2b73b6e194
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-12-19 13:44:27 +01:00
Oswald Buddenhagen 25a18283d0 remove more symbian vestiges
Change-Id: Ib875202b77193c474bbbd411a7bd0065b26996e9
Reviewed-by: Liang Qi <liang.qi@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-17 14:08:17 +01:00
Oswald Buddenhagen 599a58170d remove obsolete DEPENDPATH assignments
qmake now add CONFIG+=depend_includepath by default, making manual
DEPENDPATH setup unnecessary.

Change-Id: Ie57cf05c369e21b5b9e099b6ce9be4f75da1508f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-17 14:08:17 +01:00
Liang Qi 139f416237 Remove the timestamp info in genarated files
For moc, rcc and uic, then it's friendly for tools like ccache.
ccache is using md5 to check file modification, but the different
timestamp info will cause different md5 for same meaningful
contents, it will disabled ccache.

Updated the autotest for uic and rcc.

Task-number: QTBUG-26589
Change-Id: I9f1dcf6cd826ad9603af6e183757bcd748c32bd1
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-15 11:32:38 +01:00
Debao Zhang d914017ebe Clean up Q_WS_WIN
The first branch is required to MSVC. The bitfield isn't large enough to
represent all possible enum values of Virtualness for MSVC.

In addition, using bitfield is a premature optimisation in this case.
So remove them.

Change-Id: I4c5f85271d2bca1411426e6a321a795a7e783aff
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-12-14 23:39:14 +01:00
Martin Smith f03f8431ef qdoc: Make links to \target work intermodule
\target sets up a unique target that should be
accessible with \l across module boundaries.
This was not working across module boundaries.
Now it has been fixed, and it is one way of
handling the problem described in the referenced
bug report.

Task-number: QTBUG-28244
Change-Id: I541f409b998f84b2b8dcf66751762cf07f9f108b
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-12 10:55:28 +01:00
Topi Reinio 90c3340356 QDoc: Fix generated anchors for c++ class signals
Add a missing 's' for plural form for signals. This fixes the linking
to Signals topic in class references.

Task-number: QTBUG-28450
Change-Id: Ic666e608b4b5b40b1f886ea581e54227e1a94678
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-11 11:02:13 +01:00
Martin Smith e77eec1cf7 qdoc: Make extraimages behave like styles and scripts
This configuration variable now assumes its values,
if relative, are relative to the config file that
contains the extraimages variable.

Task-number: QTBUG-28307
Change-Id: I9b34d1f456b31e36ac77401b957b68cd10590376
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-05 19:31:10 +01:00
Martin Smith fd1f65a9b8 qdoc: Don't include inherited members in the class ref
Once upon a time, the inherited functions, signals,
slots, etc were not listed on the class reference
page, but they were counted and a link to the base
class was provided for them, eg:

2 public functions inherited from QAbstractListModel
39 public functions inherited from QAbstractItemModel
31 public functions inherited from QObject

Somehow, this got broken, so that all these inherited
things were listed on the class reference page as if
they were members of the class. But they liunked to
the documentation in the base class.

This now works correctly again. It simnplifies the
class reference pages a lot.

Task-number: QTBUG-27496
Change-Id: If493da8cbf81634f1344b12094d9a06f8528e8e5
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-12-05 17:29:46 +01:00
Oswald Buddenhagen 8b5c0e8cbc remove pointless directory references
Change-Id: Ice43a3d3eeab5ada35e1439e055eb7b709d66c83
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-04 13:57:58 +01:00
hjk 9799743ca1 Remove reference to Qt 3 documentation from example qdoc code.
Change-Id: I0999b24f12ee4c878fc2a95b171474eea7a55ba5
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-30 18:37:43 +01:00
Sergio Ahumada 33a8455042 More changes from Nokia to Digia
Change-Id: I8f2edd238e64c01d3ccb7c012b389d61435d7135
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-30 00:50:47 +01:00
Martin Smith d2d210044f qdoc: Don't include internal items in annotated lists
Now things that are marked internal oe whose parent
is marked internal won't appear in annotated lists.

Task-number: QTBUG-28274
Change-Id: I14ea96e223640cad45e7e4249a3e1fc0642bd9c3
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-11-29 20:20:01 +01:00
J-P Nurmi 14cb07864e uic: remove internal QStyle subclasses from qclass_lib_map.h
Change-Id: I10f0b2198d60f882cd59a03f33b2cc1afb0ffcf5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-29 20:19:50 +01:00
aavit ca35995c1b Provide the bundled zlib headers for external access
(Currently, the Qt5 windows packages lack the tiff and mng plugins
from qtimageformats because of this issue.)

If Qt is configured to use its bundled zlib, it is compiled into
QtCore, and the public symbols are exported so that it can be used
by other Qt libraries. However, after modularization, this did not
work for libraries outside qtbase, since they did not have access
to the headers of the bundled zlib.
This commit fixes that.

Ref. also 1f461ac45b

Change-Id: Ie986f47e00fd0c16f2ba04d27f4258a20d61b260
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-28 16:21:57 +01:00
Martin Smith 793ed1bf88 qdoc: Listing QML group members across modules
This is a second update, which fixes the
"All QML APIs by Module" page, I think.
I expect there will be more insifious places
where this problem will pop up. qdoc must be
dragged, kicking and screaming into the
modular age.

Task-number: QTBUG-28036
Change-Id: I8dd4733a2b0aac9bab3cb2066b6dbf139a8e98a6
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-28 16:21:57 +01:00
Eike Ziller ab0b8f3fce Fix filesToOpen in example manifests.
Task-number: QTBUG-27801
Change-Id: Ibfe1f3f2f3ba9d00698d3465fb0950e77a63bd4e
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-11-27 17:10:24 +01:00
Martin Smith 3e33d29a86 qdoc: Listing group members across modules
This is a first attempt at fixing the problem, but
it probably is not the entire solution. The problem
requires adding attributes to the index files and
then reusing them when the index files are read.
The same problem will be affecting the module
lists themselves, but that is not fixed in this
update.

Task-number: QTBUG-28036
Change-Id: I8593d5b9446e51a5204b6c71f8c4f2b63f445972
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-27 15:54:45 +01:00
Sergio Ahumada c80b33a62f Change license header from Nokia to Digia
Change-Id: I2be215284d7670f60f8b5838fce1e6832dde2270
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-11-26 17:33:37 +01:00
Eike Ziller 274407f347 Allow qdocconf to specify where the examples are located in install.
We have qdoc configurations for the different qtbase libraries and
modules now, which specify e.g. "../../../examples/opengl" for the
exampledirs. That means that qdoc finds examples like
"2dpainting/2dpainting.pro" which is then installed into
"[QT_INSTALL_EXAMPLES]/opengl/2dpainting/2dpainting.pro". (At the moment
even into "[QT_INSTALL_EXAMPLES]/qtbase/opengl/...", which will be
changed to match the structure in source.)

In order for Qt Creator to find the examples, qdoc must write the path
behind [QT_INSTALL_EXAMPLES] into the example manifest file. This patch
introduces "examplesinstallpath" that allows qdoc configs to specify the
missing part, e.g. the opengl qdocconf can add

examplesinstallpath = opengl

to tell qdoc that the examples will be installed into
"[QT_INSTALL_EXAMPLES]/opengl/"

Task-number: QTBUG-27801
Change-Id: Idf518e16d3ca0f9522b084e92f34725b93e9d11f
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-11-26 15:01:12 +01:00
Konstantin Ritt 6d1acac613 moc: Fix assertion in QVector::first()
introduced in aea68c93ae

Change-Id: I05c1dfa16c42019ee0a0b44ffc50ad2c2c0d209b
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-25 20:58:17 +01:00
Lars Knoll aea68c93ae Proper macro replacment and branch evaluation
Correclty replace macros according to the C++ standard.
Use the correct replacement method also to evaluate

With this moc correctly processes boost headers.

Task-number: QTBUG-27546

Change-Id: I001b3054c5fcdc34d46cfa53d1387bd19436f361
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-11-23 17:04:00 +01:00
Lars Knoll 436e3dc4f9 Correctly expand arguments in function macros
Arguments in function macros are only expanded if they
aren't used in conjunction with a # or ## operator.

Change-Id: I8c80e11902a592128504c4637545e75866566965
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-11-23 17:04:00 +01:00
Lars Knoll 863e44a42b Remove additional whitespaces from the macro tokens
According to the spec, we should ignore whitespace tokens
at the beginning and end of the macro definition. In addition,
whitespaces after a # and around ## should be ignored

Change-Id: I830d0f4aaed3bcfac345d7da6df65693ec3315b8
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-11-23 17:04:00 +01:00
hjk 31e801d642 qdoc: fix urls in manifests after modularization
Change-Id: Ib01062f29139f670894f5496d67ccdfe622b778b
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-11-23 10:08:10 +01:00
Konstantin Ritt 07d8e30a7e Unbreak the bootstrap lib build on MinGW
With -std=c++0x, MinGW headers doesn't declare some common functions
we're using in qglobal.cpp.

Change-Id: I0ba68ee73b1099c8591a578f06f58db316631e8e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-11-21 22:25:57 +01:00
Thorbjørn Lund Martsum 37eb61677c uic - fix to handle QTreeWidget with empty header(s)
This makes it possible for uic to handle QTreeWidget that in
the designer has one or more empty headers.

Before the right(most) empty items where there wasn't a
non-empty header to the right of them would not be visible.

The other empty items - where there was a header to the
right of it would not be empty but initialized with a number.

This patch ensures the same behavior that the QTableWidget
is having.

Task-number: QTBUG-18156

Change-Id: I19bfd3307befe46a1af2d6a3275f7446a15b3442
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-21 16:36:50 +01:00
Martin Smith 23ea027841 qdoc: Make image paths relative to html file
Task-number: QTBUG-28080

Change-Id: Ie552cacdf736f9f6da3148a11ef2362248775e1a
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-21 11:03:48 +01:00
Oswald Buddenhagen e4b36acf11 don't run syncqt three times in debug_and_release configs
Change-Id: Ifdf7727444779ffa79d9f2ec908d24d1e0663c21
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-20 16:46:40 +01:00
Oswald Buddenhagen 1c70033bb6 don't set CONFIG+=release during build passes
otherwise we get inconsistent builds.

Task-number: QTBUG-28046
Change-Id: I7952000bfc8e02ced5fd2c1bbffab7384f2730c1
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-20 16:46:33 +01:00
Eskil Abrahamsen Blomfeldt 0dc61c4216 Merge branch 'newdocs'
Added prepare_docs to qt_build_config.prf (it was added
directly in configure in the source branch)

Conflicts:
	configure
	tools/configure/configureapp.cpp

Change-Id: I1337c69fc62b1c934e3e39b4409e4857440c9db8
2012-11-20 10:12:44 +01:00
Oswald Buddenhagen f2b77e0c3c make qt_tool support building bootstrapped tools
as a "side effect", this fixes the build of bootstrapped tools when
doing a debug build under msvc: qt.prf would add CONFIG+=release after
default_post.prf already loaded debug.prf.

Change-Id: Idd17cf28d358950fd90bb18ca7a8d67e06953bc1
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-11-16 15:59:20 +01:00
Oswald Buddenhagen 4b85211a43 remove pointless TARGET assignments
TARGET defaults to the project file's basename

Change-Id: I0cd204ae6559e6c51d3c987bc38ae372e2b4a3dd
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-16 15:59:20 +01:00
Martin Smith a5f2a0816b qdoc: Handle extra imahes exactly like styles
The values of the extraimages variable in the qdocconf file
must now be paths that are relative to the location of
the qdocconf file, just like for styles. They can be
absolute paths, of course, but if they are relative,
they must be relative to the qdocconf file containing
the extraimages variable.

The extraimages variable is for including images used
in the HTML heard and footer that are not referred to
in the documentation.

Task-number: QTBUG-27878
Change-Id: If5e0d1dee7ba231a9c1a73f02a1bbaeb7bfe52c8
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-16 14:57:59 +01:00
Martin Smith b75980d7f5 qdoc: Handle scripts exactly like styles
The values of the scripts variable in the qdocconf file
must now be paths that are relative to the location of
the qdocconf file, just like for styles. They can be
absolute paths, of course, but if they are relative,
they must be relative to the qdocconf file containing
the scripts variable.

Task-number: QTBUG-27878
Change-Id: Iec12d1937ca9db540a2aa5e378fadc60de0a2d8c
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-16 14:11:46 +01:00
Martin Smith 0f4a1d4421 qdoc: Removed debug code
Just removing calls to qDebug().

Task-number: QTBUG-27878
Change-Id: I592ddbb8541b5b65aee9e0f940b50217e84b3a5e
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-16 12:06:33 +01:00
Martin Smith d4f1f4a56b qdoc: better copying of .css files
This change ignores templatedir for css files.
It assumes that the paths in the stylesheets
variable are relative to the qdocconf file that
contains the stylesheets variable.

Task-number: QTBUG-27878
Change-Id: I2155e58f352e17d710c93ad4e92679beb169d823
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-16 11:43:05 +01:00
Martin Smith 6326746d22 qdoc: better copying of .css files
This fix searches for the css files specified in the
stylesheets variable. It searches for them in the
directory specified as the templatedir. It copies
them into the style subdirectory of the outputdir.

It also tests QT_INSTALL_DOCS before setting it to
the library info. If it was set on the command line,
it is not set from the library info.

This change also includes some debug code, which
will be removed after testing.

Task-number: QTBUG-27878
Change-Id: I7a9469b840e13b966aca44b99aebba102e5d4f0c
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-14 13:29:17 +01:00
Oswald Buddenhagen 26cdc11503 add QLinkedList to bootstrap lib
lrelease will need it.

Change-Id: I929d8eeb4c2d342aaf780a4c72283deb051a7bec
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-11 12:10:45 +01:00
Oswald Buddenhagen e268cf6a38 add (parts of) QtXml to the bootstrap lib
we bootstrap it anyway (as qdoc already needed it). now lrelease will
also need it.

Change-Id: I5117634448368e18d6cf5540d678e039a66c7260
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-08 16:59:50 +01:00
Oswald Buddenhagen 306f5f86c1 compile bootstrap lib with QT_NO_TRANSLATION
Change-Id: Ie0d65d69dd924f0815e1214adc4598e0e1b3b8f4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-08 16:59:50 +01:00
Oswald Buddenhagen 3ad90ea8f6 Generate a proper static QtBootstrap module
Making a properly installed libQtBootstrap simplifies
our tools build process a little and in addition allows
other comand line tools to use the bootstrap lib and
link against it.

Initial-version-by: Lars Knoll
Change-Id: Iddf4568a5505bc24898ec1abf7e7022e19f0a454
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-08 16:59:50 +01:00
Martin Smith 2cf7aceb4e qdoc: better copying of .css files
This fix searches for the css files specified in the
stylesheets variable. It searches for them in the
directory specified as the templatedir. It copies
them into the style subdirectory of the outputdir.

Task-number: QTBUG-27878
Change-Id: Ic9ff43ab6f939cb50f1b41a9cc58f3f8686ebaf5
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-08 15:41:20 +01:00
Oswald Buddenhagen f4121624e9 fix warnings about empty "while" bodies
as it happens, this matches our coding style ...

Change-Id: I88d0916499a05a48d12691f5df5999c5ffd7a91c
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-07 16:48:08 +01:00
Martin Smith 3b78aa72c7 qdoc: Removed setting of codeindent variable
All the qdocconf files in use for Qt 5.0 set the
codeindent variable to 1, which prefixes each line
of a snippet with one ' '. But this messes up the
cutting and pasting of snippets into editors for
actual use. qdoc now lets the codeindent variable
be initialized to 0, and then it never changes it.
This looks ok in the default formatted html output.
If the html output formatted with the template CSS
files also looks ok, then the codeindent variable
can be removed from all the qdocconf files, since
it will no longer be used by qdoc.

Task number: QTBUG-27798

Change-Id: I398c57bdfc99e747ec086fbd8ddf5994cf3ee6d5
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-07 14:08:14 +01:00
Jerome Pasion ce85e1b228 Help generator: Add a global config for "extraFiles".
There should be a way to include files across projects regardless of
their project configuration.

Change-Id: I61797fad594c425a30a54b73539ae670e9545cb9
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-11-07 10:15:52 +01:00
Martin Smith 2efbf2dbbe qdoc: Added module attribute to most index elements
The index file generated by qdoc when it is run in
-prepare mode has been modified so that most elements
have a module attribute. The value of the module
attribute either came from an \inmodule command, or
it is the value of the project variable specified in
the qdocconf file that was read by qdoc.

Task number: QTBUG-27626

Change-Id: I44198bbbc1738fafc110c6b905eb1d67bc745323
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-06 14:09:59 +01:00
Jerome Pasion c808dd2745 Merge branch 'master' of ssh://codereview.qt-project.org/qt/qtbase into newdocs
Change-Id: I7e6cee190a341901dfbf8effb54ebccb91bf7a17
2012-11-02 14:41:27 +01:00
Martin Smith d9d8845d50 qdoc: Fixed the since list for modularized Qt
This required adding a "since" attribute to the index file.

Task number: QTBUG-27695

Change-Id: I97ca96b837ce404ea85ca8086718be4e7a9e21a8
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-02 12:41:43 +01:00
Oswald Buddenhagen 8abfe4bb43 purge dead defines
Change-Id: I8770416a19fb0951c0096cedf3f36c3493437903
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-01 20:17:57 +01:00
Martin Smith 7c50e0b8df qdoc: Fixed All Namespaces list
In Qt5, each namespace has a URL, so the test for an
empty URL fails in findAllNamespaces(). The test is
now wrong and is therefore removed.

Task number: QTBUG-27695

Change-Id: I888f70aff6e6e6c696e173caa91b5dcfabdab0ec
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-10-31 11:52:38 +01:00
Martin Smith 09ebab46b6 qdoc: Fixed All Functions list
In Qt5, each class has a URL, so the test for an
empty URL fails in findAllFunctions(). The test is
now wrong and is therefore removed.

Task number: QTBUG-27695

Change-Id: If1aa823d4c59b91c67113f77a1a57c04ff7d1a02
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-10-30 15:07:08 +01:00
Thiago Macieira 9fb536adda Use -ffunction-sections in libbootstrap.a
So that the linker discards unused functions too. Some of our .cpp are
way too big

Change-Id: I1a2685be6a5e7fd3cf34f18d545483c63c2343dd
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2012-10-30 04:29:18 +01:00
Stephen Kelly bb8c83986f Set the Directory flag when we find a directory.
Change-Id: I103a0b8e7b7ba673d00f920944026d7d04fac193
Reviewed-by: hjk <qthjk@ovi.com>
2012-10-26 18:57:54 +02:00
Martin Smith 9024570d79 qdoc: Fixed All Classes list
In Qt5, each class has a URL, so the test for an
empty URL fails in findAllClasses(). The test is
no longer necessary and is removed.

Task number: QTBUG-27695

Change-Id: Id3e7b17c9d68fc59340f88d1300f2a422ad2a18c
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-10-26 14:50:13 +02:00
Tor Arne Vestbø 6e5818f2bb Merge remote-tracking branch 'gerrit/master' into newdocs
Change-Id: I10cf9f915c602c8e5a0e7d7c9e17b7bc5ca00640
2012-10-26 12:28:53 +02:00
Martin Smith aca24f1146 qdoc: Adding the -log-progress option
qdoc now sends progress log messages to stderr
only if -log-progress appears on the command line.
The progress messages are not printed to stderr
if -log-progress is not used. i.e., -log-progress
is off by default.

Task number: QTBUG-27707

Change-Id: Id605d943506ab38639730bf16473b156d061dc53
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-10-25 14:19:53 +02:00
Martin Smith 34d2a7e6b6 qdoc: Don't load index in -prepare phase
qdoc was loading index files during the -prepare
phase, which it shouldn't do. The index files it
was loading were from modules other than the one
qdoc was running on. They had not been deleted
because qdoc only clears the output directory of
the module it is running on.

Also added a static function to the Location class
to print information messages on standard error.
This is useful to see what qdoc is doing and when
it is doing it because these log messages are
interleaved in the qdoc error messages. More of
these log messages will be added as needed.

Also removed some unneeded qDebug() stuff in
the code that processes the dependencies from
the qdocconf file.

Task number: QTBUG-27707

Change-Id: I1eec8d6ec89ff040969c2a1f62f21f551f347e05
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-10-25 13:04:31 +02:00
Tor Arne Vestbø 600f2397b8 Add config option to build documentation as a two-step process
The new 'prepare_docs' CONFIG option triggers the documentation rules in
default_post to generate two extra targets: prepare_docs and generate_docs.
The prepare_docs stage runs qdoc with the -prepare option, which means qdoc
will only generate index files, and the generate_docs stage will call
qdoc with -generate, which reads the index files and generates the final
output. The regular docs target will then run the prepare_docs target
for all submodules before running the generate_docs target.

This ensures that when generating the final output, qdoc has all the
index files for all the other modules available, to be able to resolve
cross-references between the various Qt modules.

This patch needs a follow-up in qt5.git to add CONFIG+=prepare_docs, so
that the root Qt5 build will be able to hook into this new behavior.

Change-Id: I654d7f0d4d5a41d9be208e6d3a8923bf0194f9ad
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-10-25 12:19:17 +02:00
Martin Smith 1c370b2215 qdoc: Clear outputdir in -prepare phase only
qdoc now clears the outputdir in the -prepare
phase but not in the -generate phase. It also
does not print error and warning messages in
the -prepare phase. It does print fatal errors
in the -prepare phase, of course, and the QML
parser prints syntax errors in the -prepare
phase, but all the qdoc errors and warnings
are only printed in the -generate phase.

Task number: QTBUG-27688

Change-Id: I9973a473260b4f79428f6b8e12a5ac35f3be15b4
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-10-23 15:45:45 +02:00
Jens Bache-Wiig 087e4bc517 Remove Cleanlooks and Plastique
We have a new style Fusion that will replace these styles.
They will be moved to a separate
module rather than included in platforms that do not need them.

Change-Id: I51ebbcad5406e99130e5b12e62ba624d1489088c
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-10-22 19:36:43 +02:00
Thiago Macieira c67a5df8d8 Rename the syncqt -qtdir to -mkspecsdir
It's actually looking for the mkspecs (so it can read qconfig.pri to
get the Qt version), so give it exactly what it wants.

Change-Id: I2957b2d93a8837b8492d313209d45ff3ec01704c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-19 00:44:54 +02:00
Simon Hausmann c07408e220 Adapt to WebKit Widgets module changes
QtWebKit is being split up into QtWebKit and QtWebKitWidgets. QWebView
and QGraphicsWebView live in the QtWebKitWidgets module and consequently
the class list here in UIC needs to be adapted.

Change-Id: I245dba49d4fb23ca197f78de4a429b8ba9f78c3f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-10-15 16:10:23 +02:00
Olivier Goffart 21426f281e moc: parse properly the gcc extension for variadic macro
Task-number: QTBUG-27547

Change-Id: I983b96b09c405e5330327092e56164b9921a2d0f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-10-14 20:53:42 +02:00
Shawn Rutledge 2230e349df qdoc outputs warnings in a form which Creator will recognize
Recently Creator started recognzing the warnings from qdoc, however because
warnings are not labeleled with " warning: ", there is no yellow-triangle
symbol in the Issues list.  This patch makes the output look the same as
warnings or errors that come from gcc.

Change-Id: I895a656d22ce8b59da90c58b86a444c86c8edf84
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-10-13 15:47:27 +02:00
Simon Hausmann 9ab8c0ae98 Fix moc preprocessor-only mode with input that contains seemingly invalid identifiers
In WebKit we use moc -E to pre-process various files before throwing at
further build creation tools. The pre-processing is used to filter out
code depending in #ifdef'fed features.

The latest addition to the family of pre-processed files is the CSS grammar,
which is written in Bison. It contains rule lines like

   $$ = parser->createFoo()

and when pre-processing this moc stumbles over the dollar sign. Instead
of ignoring un-tokenizable input we should add it to the current token
if we're in preprocessor-only mode, otherwise the $$ gets eaten and we
produce data-loss by printing out less characters than.

Change-Id: Ib32e7c04b38dd2ba3726201e76f27405f7ea6c0d
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-10-13 05:51:19 +02:00
Martin Smith 9dbe3dc3a6 qdoc: qdoc now can run in 2 passes
Two command line options have been added, -prepare and -generate.
If you run qdoc with -prepare, qdoc reads and parses the source
files but does not generate the documentation. It only creates
the .index file for the module you are running qdoc on.

If you run qdoc with -generate, qdoc reads and parses the source
files as well as the .index files created by running qdoc with
-prepare, and it generates the documentation but no .index file.

If you run without either option, qdoc runs as before, i.e. it
runs both passes as a single pass.

Task number: QTBUG-27539

Change-Id: Idbfe3f0f9dff58283596b504f00dff3f70f6e371
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-10-13 05:51:19 +02:00
Martin Smith 8473b6d05c qdoc: Allow empty character literal ''
qdoc's tokenizer was reporting an error for the
empty character literal ''. Now it allows it.
Apparently it makes sense in .js files.

Task number: QTBUG-25775

Change-Id: If407427fad9b65a035c2c4785d53c9e3d5202e62
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-10-13 05:51:19 +02:00
Tor Arne Vestbø 087efb572a Modularize documenation build
qdocconf files can now reference $QT_INSTALL_DOCS to pick up e.g. global
includes, instead of using relative paths. Qt modules will automatically
get a doc target that builds and installs into the right place (including
supporting shadow-builds) if they set QMAKE_DOCS before loading(qt_module).

Change-Id: Ia408385199e56e3ead0afa45645a059d1a8b0d48
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-10-10 23:27:03 +02:00
Tor Arne Vestbø 3f7388bc1e Centralize place where we ensure qdoc is built before generating docs
Change-Id: Ie0220d3c76990f6052edcd8c738e4e2807f35c71
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-10-10 14:44:51 +02:00
Martin Smith 9418be80ec qdoc: Implements the -no-link-errors option
The -no-link-errors flag tells qdoc not to print any link error
messages at all. This is useful for finding and fixing all non-link
errors in a module.

Task number: QTBUG-26870

Change-Id: Id4b0eebb6c0509c57d2f01763b6dedbfb6756a91
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-10-10 10:44:12 +02:00
Pierre Rossi fb029eeac6 QDoc/Bootstrap library: fix link error on Windows
QSettingsPrivate on windows requires advapi32.

Change-Id: If4de132827398033c7bb588f6f19bc6fe9619286
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-10-09 18:07:00 +02:00
Friedemann Kleint 803dbf5293 uic: Map QLCDNumber::numDigits to QLCDNumber::digitCount.
QLCDNumber::numDigits was deprecated in Qt 4 and removed in Qt 5.

Task-number: QTBUG-27462
Change-Id: I3772a884f31aeea70121cccd429ac996b2ecbccd
Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
2012-10-08 17:28:36 +02:00
Tor Arne Vestbø cb3af435f1 doc: remove old un-used monolithic qdocconf file
Change-Id: I253fa079928e55e2c3c574e9c98780d2c72086cf
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-10-08 17:14:33 +02:00
Pierre Rossi f71170aa35 Tools: add QLibraryInfo to the bootstrapped library.
For future use by qdoc.

Change-Id: Id9079a6fa581ff16810df9a8f2bb94314ee11ca9
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-10-08 17:14:24 +02:00
Jan Arve Saether 983badb1dc Fix a bug in how paths are made canonical and relative
Change-Id: Id9b2de9097cab4520882b48a28fccd382c5e076d
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-10-08 11:14:28 +02:00
Martin Smith bac9d5921f qdoc: Simplification of target ref construction
This change is being done to simplify qdoc,
but the motivation was to fix a segfault in
qdoc when running the release version of
qdoc on linux. The change improves qdoc by
simplifying the code whether it fixes the
segfault or not.

Change-Id: I2c865f7f1e2a44763aa7349d1bd739ad562f4029
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-10-08 09:12:20 +02:00
Martin Smith 50eab48fce qdoc: Change to debug output
Only print debug output if -debug is used
on the command line.

Change-Id: I2bdfca1a072f728427da61f05b34e6e07d933183
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-10-08 09:12:11 +02:00
Martin Smith 5e6e6dd116 qdoc: Change qdoc to use QML terminology
\since command's output to "This QML type was introduced..."

Task number: QTBUG-24784

Change-Id: I741efb57979eb76f4675915ef1a6b983deb492d9
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-10-08 09:12:00 +02:00
Martin Smith 5da3f7fb85 qdoc: Adding a debug function
qdoc segfaults for one user, when he runs
the release version of qdoc but not the debug
version. This change adds a -debug option to
the qdoc command line options. If set, qdoc
will print debug messages at useful milestones
so we can see where it is when it goes into
the weeds.

Change-Id: I0e826e74399eaf50091817c68c775d02c6b615d2
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-10-08 09:11:48 +02:00
Simon Hausmann 310031188c Fix moc stumbling over gcc __attribute__ extensions
Reported by David Faure.

In KDE a DEPRECATED macro gets defined in a header file created by cmake.
The define is not guarded with #if Q_CC_GNU or similar because at cmake
time the compiler is determined. Therefore moc suddenly sees this gcc
specific token and stumbles over it.

This patch simply defines an empty __attribute__ macro that will expand
to nothing and thus become invisible to moc's "C++ parser" after the
pre-processing.

Change-Id: I4448b9ac3f72b6334e32b27484401fb0fca23a0c
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-10-01 14:27:14 +02:00
Martin Smith 42b8833712 qdoc: Augment imagedirs list
Modularization of examples has resulted in putting
all documentation and code for an example in each
example subdirectory. In particular, each example
subdirectory now contains a doc/images subdirectoy,
where images are stored that are linked to from the
example .qdoc files, which are in the doc/src
subdirectory of the example directory.

Because there are so many example subdirectories,
it would be difficult to list all the doc/images
directories in the imagedirs variable of the
qdocconf file. Therefore, qdoc now searches all
the directories listed in the exampledirs variable
to find all the doc/images subdirectories there,
and it adds these to the imagedirs variable for
use in finding images called out in \image and
\inlineimage commands.

Task Nr: QTBUG-27248

Change-Id: I070ba1a558ab32e1db06429a71c083b55f9dd0ea
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-09-29 02:31:35 +02:00
Pierre Rossi a152157998 QDoc: remove the experimental basedir variable
It was introduced in the early days of the docs'
modularization and appears not to be used anywhere
anymore.

Change-Id: I5b0c60d92828624af2129153fce96ad01aec861c
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-09-28 07:32:55 +02:00
Jens Bache-Wiig 570ae40f57 Remove CDE and Motif styles from qtbase
It is time to clean up some of our legacy code. These styles have
not been actively maintained for a long time and I think it is safe
to say that they should no longer belong as part of the default
distribution of Qt. We dont support any platforms based on CDE with
our source packages.

Note that even if we are removing these styles from the default
distribution of Qt, applications that depend on them
will still be able to bundle the existing (and unmodified) styles
along with their own source code as we are not breaking compatibility.

Change-Id: I1709630c20ba8e8088cd01628628d86856db57a4
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-09-27 15:16:16 +02:00
Martin Smith 4b21631f59 qdoc: retrying More refactoring of qdoc data structures
This commit is the second phase of a significant
overhaul of qdoc. Two new classes, QDocIndexFiles,
and QDocTagFiles, are added to encapsulate the
creation and use of the qdoc index files, and the
creation of the qdoc tag file.

Change-Id: I94651b10628e535ea7b26bd8256037cd819ccea7
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-09-26 10:12:04 +02:00
Mitch Curtis 6b6fefad48 Remove duplicate words and punctuation from documentation.
Change-Id: I5550c62d412510bc2c5acceb2cae7d2f2ef6a8d3
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-09-26 04:03:20 +02:00
Lars Knoll 789f929907 Moc: Correctly expand macros with arguments
Moc now supports full expansion of macros with arguments
with the exception of some keywords such as Q_OBJECT
and others that are used internally

Change-Id: I283d47152f75de81ec68a3df1f0f2273f11c5149
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-09-25 00:08:16 +02:00
Lars Knoll 99194d1db6 Moc: Make # and ## valid tokens in cpp parsing mode
This is required so preprocessing macros with arguments
can work correctly.

Change-Id: Ia30ede6a3579be13800bf1255d313748e2d696f9
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-09-25 00:08:16 +02:00
Lars Knoll 38f1b4eeae Correctly parse function macros
Parse function macros and add it's list of arguments
to the Macro definition.

Change-Id: Id22f5cf4a1c098f7b4f5b72f002900cd40d03e0f
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-09-25 00:08:16 +02:00
Lars Knoll 34a3b63dc7 Correctly expand macros without arguments in moc
This helps e.g. cases where a namespace is defined
through a macro and moc doesn't see it at all.

Expanding macros with arguments is significantly more
work, and should happen in a separate commit.

Change-Id: Ic8d0443d06fab2ed343115d8c43022f2c67ec3cd
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-09-25 00:08:16 +02:00
Marc Mutz 06c89ae026 Use QStringList::join(QChar) overload where applicable [tools]
This is an automated change performing the following replacements:
                    join\("(.)"\) -> join('\1')
  join\(QLatin1String\("(.)"\)\)  -> join(QLatin1Char('\1'))
  join\(QStringLiteral\("(.)"\)\) -> join(QLatin1Char('\1'))

Change-Id: Ia087beb886bbaec1a0976cd924440d8904044879
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-09-23 23:30:33 +02:00
Iikka Eklund be15856f61 Change copyrights from Nokia to Digia
Change copyrights and license headers from Nokia to Digia

Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2012-09-22 19:20:11 +02:00
Marc Mutz 373a7277db QDBusMetaTypeId: don't cache the result of qMetaTypeId<>() in static ints
There's not much point in caching the result of qMetaTypeId<>,
because it's already internally memoised.

In addition, the code that initialised the static int caches wasn't
protected against concurrent access under the assumption that the
operations performed were thread-safe.

That is true for most of them, but not for the stores to the static ints,
which race against each other:

   // Thread A               // Thread B
   r1 = initialized /*=false*/
                             r1 = initialized /*=false*/
   r2 = qMetaTypeId<...>();
                             r2 = qMetaTypeId<...>();
   message = r2;             message = r2; // race, ditto for all other ints

To fix, turn the ints into inline functions that just call the respective
qMetaTypeId<>() function.

Change-Id: I5aa80c624872c3867232abc26ffdcde70cd54022
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-09-22 19:19:37 +02:00
Oswald Buddenhagen 5ad378859a move syncqt call to qt_module_headers.prf
for one, the syncqt invocation is qt module magic and thus simply does
not belong into the generic default_pre file.
second, this way the forwarding header generation is now linked to the
rest of the build magic for a particular module, which is way less
confusing for the unsuspecting developer.

Change-Id: Idc8e420d3faf173d7fff4a41e6e1c59af15c3023
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-09-21 02:44:22 +02:00
Oswald Buddenhagen 2794b99bc6 make src/tools/ compile without CamelCase headers
so the build works with syncqt -minimal

Change-Id: Ief5e8eb9a504dd6c84cff76cc3e5257450386a0f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-09-19 19:54:44 +02:00
Jan-Arve Saether a95ce12b91 Make qdoc read multiline macros in files with CRLF endings
This caused qdoc for instance to not being able to parse qglobal.h
correctly. (On windows, it stopped to parse anything meaningful after
the line with this macro:)

  #define Q_INIT_RESOURCE_EXTERN(name) \
      extern int QT_MANGLE_NAMESPACE(qInitResources_ ## name) ();

It worked on linux just because on linux a line continuation 'token' is
the sequence "\\\n" (on windows it is "\\\r\n")

So for files with CRLF line endings, it treated *only* the first line
as a macro, potentially causing the subsequent lines to affect the
state of the tokenizer.

Change-Id: If7c80ee7eb317f2d324ace7ff540ced7c31185dc
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-09-18 03:34:08 +02:00
John Layt 54b899f448 SIC: QtPrintSupport - Remove QAbstractPageSetupDialog
QAbstractPageSetupDialog is a completely unnecessary base class that
is not really abstract and is used nowhere else.  This changes merges
its methods into the QPageSetupDialog main class.

While technically SIC no-one else uses this so no apps should be
affected.

Change-Id: I59b1739f1c453c34c25d1664d5d042e7918db316
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-09-17 22:08:16 +02:00
Laszlo Papp 83b1ed1ea8 Make maemo scope syntax in project files more generic
It is necessary to use the n9 device file for now in scratchbox or/and on the
community open build service because the maemo platform mkspecs file assumes
that a cross-toolchain is used all the time. If no platform file is used, then
for instance certain plugins may not be built in general. There is currently an
ongoing issue with the meego plugin for context management in the Harmattan
components project. That is currently not built due to this issue, so no
orientation works in those applications.

The nice solution would be to make the maemo platform file work with cross and
native toolchains as well, but that requires a decent amount of investigation
and work. Thereby, the scope is extended this way for now.

Change-Id: I172c7d152bdbb2db279526d9fd1ca5648d0cd0a9
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
2012-09-14 19:07:15 +02:00
Martin Smith 14f7eb86ca qdoc: Refactoring of qdoc data structures
This commit is the beginning of a significant
overhaul of qdoc. A new class, QDocDatabase, is
added, which will eventually encapsulate all the
data structures used by qdoc. In this commit, the
Tree class is made private and only accessible
from QDocDatabase. Several maps structures are
also moved into QDocDatabase from other classes.

Much dead code and unused parameters were removed.
Further simplification will follow.

Change-Id: I237411c50f3ced0d2fc8d3b0fbfdf4e55880f8e9
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
2012-09-14 15:23:15 +02:00
Sergio Ahumada 0a37bcf245 Mark (non-public API's) ctor's as explicit
Make C++ class constructors that can be used with only one
required argument 'explicit' to minimize wrong use of the class.

Change-Id: I12ad5b6eb1794108c6b7464a2573e84068733b03
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-09-14 15:23:15 +02:00
Jerome Pasion 77cd2f6797 QDoc manual: ordered command list
Some commands were not listed in alphabetical order.

Change-Id: I299abe145ca0f9d63c9ceefb801f5c53548e7938
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-09-14 11:51:23 +02:00
Frederik Gladhorn 3b813accc6 Output absolute paths in qdoc messages.
Change-Id: I4499bb0464cca3703026e317e940612091bf55a2
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-09-11 12:09:47 +02:00
Marc Mutz ecf7f0d954 Use QStringList::join(QChar) overload where applicable [QtDBus]
This is an automated change performing the following replacements:
                    join\("(.)"\) -> join('\1')
  join\(QLatin1String\("(.)"\)\)  -> join(QLatin1Char('\1'))
  join\(QStringLiteral\("(.)"\)\) -> join(QLatin1Char('\1'))

Change-Id: I807b0e88ac71a0cb367fb4170cca8f2cb0ad43f3
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
2012-09-10 00:27:13 +02:00
Lars Knoll 8fca1e70e7 Use the same hash for 8 bit strings as in QByteArray
Moc still used a different and quite a bit more complicated
algorithm to hash 8bit strings then QByteArray.

Change-Id: I86efb08d5ab7de1863fc168dcfc73399e72e1331
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-09-09 21:05:55 +02:00
Sergio Ahumada 67cb9e24e5 Removing duplicate includes
Do not include a header more than once

Change-Id: Ia2e5d66e72988ad833cf5177a3f8aa988bf510e9
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-09-09 18:30:43 +02:00
Sergio Ahumada 15eeb0e7dc Fix missing or improper include guard in headers
Use an include guard in headers to ensure the header is not included
more than once. Make the header guard match its file name.

Change-Id: Icf7d7d4bed91443b3b21ef5d4219dbd260dffef3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-09-09 08:50:48 +02:00
Sergio Ahumada 7d482d8ef2 qdoc: Renaming include guard in qmlmarkupvisitor.h header
This header guard is duplicated with qmlvisitor.h

Change-Id: I11787dd8af2834e446eabd219f93b74c0b52428d
Reviewed-by: Martin Smith <martin.smith@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-09-08 20:30:02 +02:00
Jerome Pasion 8c4ac07258 Added API Reference Style Guidelines
-added C++ and QML language guidelines as part of QDoc Guide
    -included snippets
-fixed links in the HTML template of the QDoc Guide
-compiles when the main QDoc manual is compiled

Change-Id: Iadd799712eef80e905d092396cb7a1e25a863b43
Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-09-07 15:39:31 +02:00
Jan-Arve Saether 2e8763ca44 Fix a bug in qdoc where to look for index files.
This was only a problem if the qdocconf file was in the same
directory as the current directory (QDir::relativeFilePath()
returns an empty string in that case), so if the documentation was
generated with the makefile rules, this problem did not reveal itself.

Change-Id: I9c8956fdb46c4f307df7ab297dc94e8d3ef93fb4
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-09-07 15:39:31 +02:00
Stephen Kelly 5a1fa8860c Generate includes for Qt containers used as auto-metatypes.
Otherwise the containers might be forward declared in the moc file,
and when the moc file is compiled in a standalone translation unit,
the full definition of it would not be available. This results in
odd compile errors, so instead generate the includes if required.

Change-Id: Ie01c5a5d45314daad0b00dec03b3e1e18cdbae64
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Volker Krause <volker.krause@kdab.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-09-03 20:05:04 +02:00
Volker Krause 8c1cb66712 Fix moc generating invalid code for slots with reference types as argument.
We can't have T& declared/registered as a metatype (wont compile), but
using it as type for a slot argument is possible. With the recent
introduction of metatype auto-registration we have to make sure that moc
doesn't attempt to auto-register those. Simple types are handled correctly
already, this fixes containers and smart pointers.

Change-Id: Id96857c57d6ebf158a67e9d527c89dc195473b1b
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-09-02 23:41:42 +02:00
Frederik Gladhorn 5f5e9b0e04 Find qdoc indexes in relative paths.
Change-Id: Ie717e85bfc3d49173d1ae4caf2a01ad6e9b8b625
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-09-01 11:25:43 +02:00
Frederik Gladhorn 4d78b86731 Use QString() instead of "".
Change-Id: I42c55344663808b8362e2c9185273a00fc1c70b0
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-09-01 11:24:57 +02:00
Casper van Donderen 0f409aca96 QDoc: Write SHA1 of .qhp to file.
QDoc should generate a SHA1 hash of the .qhp file to be able to use that
file as a search index. The idea is that we can use the hash as an
identifier to check if the search index was updated.

Change-Id: Ifd19571bcebf7d735ef452dca6c046a14fedc0e2
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-08-31 21:23:38 +02:00
Casper van Donderen 2e7f06c9bc Doc: Simplify qtbase qdocconfs.
We should be using the global qdocconf for the common variables. This
change also allows you to just specify -installdir without using a
templatedir.

Change-Id: I207d279d9b5199212e896fc5ccab5c212b1896c6
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-08-31 01:16:56 +02:00
Friedemann Kleint 861786bb50 Fix static plugins for classes in namespaces.
Breakage introduced by 819d0203e6 .

Extend QT_MOC_EXPORT to take the unqualified class name
as well for the function names.

Change-Id: I736097b564caa37c522d723780663d03341f9032
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Lukas Geyer <lgeyer@gmx.at>
2012-08-30 13:51:22 +02:00
Frederik Gladhorn 3d13156025 Let qdoc respect excludedirs for examples.
Change-Id: I01063b38122aea3615801ff013c8c4a1589327fc
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-08-29 14:12:00 +02:00
Lukas Geyer 819d0203e6 Use qualified name for QT_MOC_EXPORT_PLUGIN()
Using non-qualified name for QT_MOC_EXPORT_PLUGIN() breaks template
instatiation for QPointer<T>::operator=(T*) in qt_plugin_instance()
when the class is embedded a namespace with the same name.

namespace Test {

class Test : public QObject
{
    Q_OBJECT
    Q_PLUGIN_METADATA(IID "Test")

public:
    Test(QObject *parent = 0) : QObject(parent) {}
};

} // namespace Test

In function 'QObject* qt_plugin_instance()':
 error: expected type-specifier before 'Test'
 error: no match for 'operator=' in
        '_instance = (int*)operator new(4u)'
 note: candidates are:
 In file included from qtbase\include\QtCore/qpointer.h:1:0,
                  from qtbase\include\QtCore/QtCore:68,
                  from test.cpp:1:
  qtbase/src/corelib/kernel/qpointer.h:87:25:
   note: QPointer<T>& QPointer<T>::operator=(T*) [with T = QObject]
  qtbase/src/corelib/kernel/qpointer.h:87:25:
   note:   no known conversion for argument 1
           from 'int*' to 'QObject*'
  qtbase/src/corelib/kernel/qpointer.h:79:7:
   note: QPointer<QObject>&
         QPointer<QObject>::operator=(const QPointer<QObject>&)
  qtbase/src/corelib/kernel/qpointer.h:79:7:
   note:   no known conversion for argument 1
           from 'int*' to 'const QPointer<QObject>&'
 error: expected ';' before 'Test'

Change-Id: Idd3e57ab1c888352ad2a8e8f6efca75d858089df
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-08-29 07:57:01 +02:00
Stephen Kelly a912b14c75 Add automatic metatype registration for invokable methods.
This works similarly to the automatic registration for Q_PROPERTY types,
but in this case it mostly affects the need for users to
call qRegisterMetaType<T>() before using queued connections
with methods using non-built-in metatypes, or before using invokeMethod
manually.

Change-Id: Ib17d0606b77b0130624b6a88b57c36d26e97d12d
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2012-08-28 18:30:39 +02:00
Stephen Kelly 62c2061a50 Add automatic metatype registration for Q_PROPERTY types.
In Qt 4, the user needs to call qRegisterMetaType if the property
could otherwise be read before the type is registered with the metatype
system. This patch makes that unnecessary and automatic by registering
it when the first read indicates that it is not yet registered instead
or when QMetaProperty::userType is called before it is registered.

The types which are automatically registered exclude the built-in
types, which do not need to be registered, and include metatypes which
are automatically declared, such as pointers to QObject derived types
and containers of existing metatypes.

Change-Id: I0a06d8efdcb64121618e2378366d0142fa0771f5
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2012-08-28 18:30:32 +02:00
Marc Mutz 80694dd614 moc: parse classes that use Q_DECL_FINAL|final|sealed
This only works with the C++11 contextual keyword
directly, the MSVC equivalent 'sealed', or the Qt
define for it.

While this isn't a problem for syncqt, being an
internal tool, moc should eventually be able to parse
user code using local C++11-final-wrapping macros.
For this, I guess moc would have to be taught to
expand macros in code and not just test #if clauses,
potentially driven by something like
  #pragma qt-moc expand-this
  #define MY_FINAL_CLASS final
but that's something for someone more intimately
familiar with moc's source than I am.

Change-Id: Id6aec961a881e8d5a9b76a7fc8e1c02c71913f64
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-08-26 14:29:52 +02:00
Martin Smith 5f4d793d81 doc: Replaced FakeNode with DocNode
The name FakeNode was a bad choice. It was used
to represent something that wasn't derived from
a C++ declaration in a .h file. Any generic page
or QML item or any special kind of qdoc construct
was stored in a FakeNode. The name was unfortunate
because the constructs stored in FakeNodes were
just as real as C++ constructs.

So FakeNode has been renamed to DocNode, which
just refers to a documentation node. The node
type Fake has been replaced with node type
Document.

Change-Id: Ida9de8288b7b8915bf9273fd890ca84aaf05e182
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-08-21 16:15:21 +02:00
Stephen Kelly fe0a6e57a0 Remove QProxyModel from qtbase.
A copy is placed in uihelpers for anyone who might be using it.

Change-Id: I175f7bc5dcbf25a910d28bfd8985579866392938
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-08-20 21:10:01 +02:00
Sergio Ahumada 64d22311d8 Doc: Fix spelling errors
Change-Id: Ibae8d10183f6b15a16b1499daa2df8802dbb014e
Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
2012-08-17 22:45:27 +02:00
Jan-Arve Saether 526da72e99 Fix a bug in qdocs handling of excludedirs
The bug was there because the way qdoc tries to exclude the directories
given in the "excludedirs" variable:
It did a simple string comparision on the candidate path (to include)
with every string in the "excludedirs" variable.

However, this did not work for all cases, since the paths are not
canonicalized.
For instance, the problem I faced was that the following qdocconf
fragment: (config file located in doc/qtwidgets.qdocconf)
sourcedirs  += ..
excludedirs += snippets

Since qdoc would recursively parse all subfolders of sourcedirs, it
would at one point visit the snippets folder, but it would have the
relative path "../doc/snippets", which did not match with "snippets",
causing snippets to not be excluded.

In addition, it seems that qdoc tries hard not to use absolute paths
(maybe because of more human-friendly error messages). I therefore
chose to canonicalize the relative paths.

As a side-effect this also give a better output from qdoc, as
../doc/foo.qdoc:42: Missing link
will become
foo.qdoc:42: Missing link

Change-Id: If9c25fa569abd03542bd12675acd44d8f4e0282c
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-08-17 19:31:50 +02:00
Marc Mutz 0a3a70a6cb rcc: use new qEnvironmentVariableIsEmpty()
Change-Id: I48dd9b7b8dd51e1c662273eb37ac2e1f4c1c4d15
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-08-14 20:21:23 +02:00
Andreas Holzammer 0ef4bf1c1e Add possibility to add OpenSSL, DBUS, MySQL path under Windows
Under Windows it's quite possible that OpenSSL, DBUS or MySQL is
not installed into a central place. If -I and -L is
passed at configure time, it is added to all targets,
and if that path contained a conflicting header things would go
wrong.

Change-Id: Ic3338c49aa6eaa91b3abf5341e709ef604bf7aab
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-07 18:55:43 +02:00
Martin Smith e361a3f178 qdoc: Don't always add example .qdoc files to source list
When qdoc finds a .qdoc file in an exampledirs directory,
it only adds it to the source list if it isn't already in
the source list. This may be overkill, but it's safe.

Change-Id: I2c5714c968f06e90f9b29b3a5481f80469e19ced
Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
2012-08-07 16:40:07 +02:00
Martin Smith 7a64f2790e qdoc: Removed "../" from paths to images
qdoc was mistakenly assuming that the output
was going into subdirectories. The base dir
variable was not being tested.

Task nr: QTBUG-26638

Change-Id: I9b331926f8954b58102f75fad3f233eaebb2bb4d
Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
2012-08-06 16:04:06 +02:00
Martin Smith 35215a0f5f qdoc: No longer prints namespace qualifier twice
enum values in the Qt namespace were being printed
as. e.g.: Qt::Qt::AlignLeft. This was due to the
presence of a collision node that was not handled
properly.

Task nr: QTBUG-26628

Change-Id: I54adaba72410b2838f0922f181846bb7e76b61d4
Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
2012-08-06 01:31:19 +02:00
Martin Smith e0b3965831 qdoc: Ignore property functions of obsolete properties
Property setter and getter functions are no longer
included in the output when the property itself has
been marked \obsolete.

Task nr: QTBUG-26425

Change-Id: Iac315445d1916467b12be03989bd4513a03a2397
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-08-02 20:38:54 +02:00
Laszlo Papp f11934af3d Fix a typo in the qdoc manual (QChra -> QChar)
Change-Id: I331765f42f8dd46bf312223754ade3c5d156e6dc
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-08-02 20:38:54 +02:00
Casper van Donderen 2264e606ac QDoc: Set HTML Doctype to XHTML 1.0 Transitional.
Previously QDoc HTML output was marked as XHTML 1.0 Strict, but did not pass validation.
As XHTML 1.0 Transitional the W3C validation passes.

Change-Id: Iced8c02b2602a82b94ee394e580bfb92023a517b
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-08-02 20:38:54 +02:00
Casper van Donderen 2117580d79 QDoc: Set the default output encoding for HTML to UTF-8.
Change-Id: Ic6d8efae967514e143f224aed4c761a4c01eb434
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-08-02 20:38:54 +02:00
Casper van Donderen 17a68ee65b QDoc: Add extra tags when no HTML.endheader is specified.
The default Qt template inserts </head><body> with some arguments in the header of the HTML document.
When you don't specify the HTML.endheader qdocconf variable those tags will not be generated and the
QTextBrowser-based view in Qt Assistant will not be able to render the documentation.

Change-Id: Ieee231f300e1dc71d6b6343771d2682b3de96d73
Reviewed-by: Pierre Rossi <pierre.rossi@nokia.com>
2012-08-02 20:38:54 +02:00
Martin Smith e178b49522 qdoc: Added support for modularized example doc
qdoc now searches for .qdoc files in the directories
listed in the exampledirs variable. These files are
added to the list of sources to be parsed.

Task nr: QTBUG-26708

Change-Id: I6dfd7cd7b41e0bdf847f88b6d61ac0272902d4e1
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-08-01 18:12:34 +02:00
Martin Smith d61c356516 qdoc: Removed useless qdoc warnings
qdoc was printing warning messages when a QML type
was not given a minor version number in its
\inqmlmodule command. The minor version number is
not used for anything, so the warning messages are
no longer printed.

Change-Id: I5586b4d860fcc8e392de3d388c3327ed0029e266
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-08-01 15:37:46 +02:00
Andreas Holzammer 262f53210f Fix crash in uic
Compiling Qt5 uic with Microsoft Visual Studio 2008
with SP1 will lead into a assertion in the copy
constructor of qstring.

This is apparently a compiler Bug.

Change-Id: Ia3353434d00b2e87800b937d891eabef86293751
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-08-01 15:37:46 +02:00
Joerg Bornemann a03b14f685 build host tools in release mode again
CONFIG does not contain build_all anymore,
thus we need to check QT_CONFIG in bootstrap.pr{i,o}.

Change-Id: Ia505fa101adc49f185908ca575d3211caed612db
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-31 11:51:55 +02:00
Lars Knoll a806c6a8b2 Search the include paths for json files containing plugin info
This fixes shadow builds with autogenerated .json files as
e.g. used by Qt Creator.

Change-Id: Ibb783b05d97d996100da4b0dca859fa3f310dc83
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-07-31 11:13:43 +02:00
Friedemann Kleint 7b655eef48 qclass_lib_map.h: Fix include of the QDeclarativeView widget.
Task-number: QTBUG-25196

Change-Id: If25c4df29297435b159706257d9f37a9ef2f3d7a
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-07-31 11:13:28 +02:00
Lars Knoll 5af9ecafd9 Move the text codec list to qcoreglobaldata.
This removes some global statics in QTextCodec and
makes the code better to maintain in the longer term.

Remove QT_NO_THREAD defines around mutexes as this
isn't required in Qt 5 anymore.

Change-Id: I15ede75f53b16f134f4053f3188c4b47e86fcd8a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-07-31 11:11:43 +02:00
Martin Smith d294ac8d68 qdoc: Added safety checks to findUnambiguousTarget()
This is a blind attempt to fix QTBUG-26615. I can't
reproduce the crash on OSX.

Task nr: QTBUG-26615

Change-Id: Ifc6b68b7f302b9cd7d02129be8ae56841a35e5de
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-07-30 10:43:50 +02:00
Martin Smith be46199c62 qdoc: Updated qdoc manual and qdoc guide
These documents now include the \qmltype and
\instantiates commands, and the \qmlclass command
is deprecated.

Task nr: QTBUG-26648

Change-Id: I62da273be51609e651e33b9088e1667e4c6c1e76
Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
2012-07-27 17:03:27 +02:00
Martin Smith 3658eedc97 qdoc: Changed \qmlclass to \qmltype, added \instantiates
The \qmlclass qdoc command is now deprecated. Use \qmltype instead.
\qmlclass had two arguments, the QML type name and, if the QML type
was elemental, the name of the C++ class that the QML element
instantiates. The \qmltype command has only one argument, the QML type
name.

If the QML type is elemental, then the \qmltype command should be
followed by a \instantiates context command in the same qdoc
comment. e.g.:

\qmltype Item
\instantiates QDeclarativeItem

When the developer does not include the \instantiates command for an
elemental QML type, qdoc will no longer be able to detect that the C++
class name is missing, and qdoc will no longer be able to detect when
the name specified for a \qmlproperty of the elemental QML type has
the wrong name.

Task nr: QTBUG-26648

Change-Id: Ia60872a35113a6f615bfc751ce1e9db6279dfb8e
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-07-26 14:24:40 +02:00
Casper van Donderen 353069f974 Revert "QDoc: Allow '0' to be used as 2nd arg for \qmlclass."
This reverts commit 50dfd15dcc.
The change is not necessary anymore, since a new solution using
\instantiates in in the works, having two ways to do exactly the same
thing is not necessary.

Change-Id: I6e139d760372fc6177023c470850418b2385fccd
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-07-26 14:24:34 +02:00
Casper van Donderen 95191658d0 QDoc: Introduce a setting to include index nodes in QHP.
Change-Id: I5d35961241300f509b8a9d8e3cf980fabc10cfab
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-07-25 13:50:58 +02:00
Martin Smith a4cd6ef25d qdoc: Fixed incorrect href attribute values in qdoc
There were two fileBase() functions, but only one
was correct. The wrong one was being called in some
cases. Now there is only one fileBase() function,
which is always called.

Task nr: QTBUG-26591

Change-Id: I2c40e2152a8c7ad1bb9db256ecf1367148f0e7f6
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-07-25 01:00:41 +02:00
Martin Smith fb7b18c703 qdoc: Restricted qdoc errors for \reimp command
qdoc no longer considers the \reimp command when the
parent C++ class has been marked \internal, because
the reimplimented functions aren't supposed to be in
the documentation at all, when the parent class is
internal.

Change-Id: I3d811ca737934f95e9078ce7b1e957890f6aaf38
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-07-20 09:13:00 +02:00
Casper van Donderen 91512af3d5 QDoc: Fix make commands for QDoc manual.
Change-Id: I55c3eae43928e87a0aa470127f9877741391deee
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-07-19 12:42:26 +02:00
Stephen Kelly 1329a57783 Generate a fatal error as appropriate.
Otherwise, subdirectories under directories which are added to
a resource file generate garbage in the binary.

The easiest way to see this is

 cd tests/auto/corelib/kernel/qvariant
 mkdir stream/qt4.9/somedir
 make && ./tst_qvariant loadQt4Stream

Change-Id: I32630ecb6d515db1d135f0ffc5cf14fd8caa0a4f
Reviewed-by: hjk <qthjk@ovi.com>
2012-07-16 16:30:55 +02:00
Stephen Kelly c027372b80 Fix typo qith -> with.
Change-Id: Ie9eaa016c61f929be17fd1687517540c2ae1f3d2
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
2012-07-14 13:24:54 +02:00