Commit Graph

890 Commits (69d46a3e205e3533c8bdcf1a1f4e5ce92604759d)

Author SHA1 Message Date
Topi Reinio d06c060de4 qdoc: Stop outputting duplicate \brief for QML type and module pages
When generating the body of a documentation page, QDoc omits
the brief description for nodes of type DocNode. Since Qt 5.4,
a number of nodes are promoted from subnode types of DocNode
to top-level nodes -specifically,
    - QML types
    - Modules
    - QML modules
    - Groups

As a result we now see a duplicate or unintentional brief
description on pages of the above type.

This change instructs qdoc to skip generation of the brief
for also above node types, as it was on 5.3.

Task-number: QTBUG-40741
Change-Id: Id92dce27b13c68be0958225e04ed61813fdc91ee
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2014-08-14 09:28:43 +02:00
David Edmundson 7487592cce Create.tag entries for QML classes
This patch makes Qml Classes get written to tag files the same as C++
tags.

Task-number: QTBUG-40551
Change-Id: I4a1973eeed6f7c2fdb65686c50e6ae4d273c9d7a
Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-08-13 09:22:30 +02:00
Topi Reinio 338f9c4f7c qdoc: Distinguish between QML property and attached property
A recent change in qtdeclarative (60ed6a43) added an attached
property 'Window' to Item type, with property names identical
to the ones already available in Window. This caused QDoc to
report warnings for duplicate documentation for QML properties,
because there was no distiction between a QML property and an
attached property.

This change fixes the issue by:
    - Allowing identical names for \qmlproperty and
      \qmlattachedproperty
    - Using distinct URLs/UUIDs/anchor references for them
    - Marking attached properties with '[attached]' qualifier
      in 'All Members' page.

This doesn't solve the issue of disambiguating between a
similarly named QML property and attached property when
linking from an external location. However, these can be
solved with the help of the \target command.

Task-number: QTBUG-40674
Change-Id: Icc74de237366e9897334689fe354ab83e4af0356
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-08-12 07:27:45 +02:00
Jędrzej Nowacki 9d19be5994 Remove unused property from moc
Change-Id: Ia09ce83b23d1d9eb54ab5fac1fee4755913f5a33
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-08-09 15:38:07 +02:00
Jędrzej Nowacki 2f1ab7156a Micro-optimize qdoc codeparser.
There is no need to allocate new string while a simple reference is
enough.

Change-Id: I137b58fc180fe9a7bff9d0f9e546ca04aa9f4696
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-08-07 15:54:03 +02:00
Jędrzej Nowacki b80c449c2d Micro-optimize uic
Avoid redundant QStringRef to QString conversion.

Change-Id: I93c4f19798e81515f483371f0cc6fcccc7fe36c7
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-07-31 08:49:41 +02:00
Jędrzej Nowacki ac38fa541b Micro-optimize qdoc
Avoid redundant QStringRef to QString conversions.

Change-Id: I535e7ba02b4ac5abef6036f631e228205e63f32a
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-07-31 08:49:31 +02:00
Frederik Gladhorn ea90032685 Merge remote-tracking branch 'origin/5.3' into dev
Conflicts:
	src/network/ssl/qsslsocket_openssl_symbols.cpp

Change-Id: Ic62419fa1fee5f4de6c372459d72e6e16f9a810b
2014-07-29 12:56:06 +02:00
Bernd Weimer ec703836b3 Improve dbus cross compilation
Building QtDBus on Linux host for QNX target had two issues:
* Configure check failed, because dbus-1 library was not linked in,
  if target platform doesn't support pkg-config.
* Host tools were not built, because pkg-config was not used to locate
  dbus headers on the host.

Task-number: QTBUG-37324
Change-Id: I71d8309599fd40ef2dd8c9e3b44b93a7482019f1
Reviewed-by: Rolf Eike Beer <eb@emlix.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-07-28 14:08:22 +02:00
Jerome Pasion b5b4eb742c QDoc: Fixed section title offset in QML basic type pages.
-QML basic type page layout is now separate from the other
 doc page layouts, but the section offset was incorrect.
-the offset is the same as the QML type pages.

Change-Id: I422e97eebe58a87c11607f2c8c5aedb10abbda7e
Task-number: QTBUG-40335
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-07-23 12:09:51 +02:00
Jerome Pasion bd9d1f83f9 QDoc: Restored QML basic type pages' table of contents.
-QDoc in 5.4 processed QML basic types as separate pages
 but the ToC wasn't added.

Change-Id: I5a887158bacef923e765accac7ee5ca7c2c7a12b
Task-number: QTBUG-40335
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-07-23 12:09:46 +02:00
Kai Koehne e46d72751b rcc: String literal conversion cleanup
Replace QString::fromUtf8 with QString::fromLatin1 for ascii strings.
Also optimize use of QT_VERSION_STR.

Change-Id: I13c683499c56cb4ac4d2bbd9b6b53c337917e347
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-07-23 07:44:15 +02:00
Topi Reinio fe099b6383 qdoc: Validate index file paths
Check for existence of the paths added by 'indexes'
documentation configuration command, and generate
warnings accordingly. Also, ensure that the strings
added with 'depends' command contain no duplicates.

Change-Id: I66a3d1b25907567bb5bfc72b78a8009d7bd8e067
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2014-07-18 10:14:42 +02:00
Topi Reinio d15309edee qdoc: Support use of \value command outside \enum topic.
Even though qdoc accepts the \value command(s) anywhere in the
documentation and generates tables for them, the produced output was
invalid for documentation topics other than \enum.

This change fixes the issue by not trying to resolve the enumeration
values and removing the 'Value' column for generated tables when the
\value command is used outside c++ enum documentation topic.

This enables, for example, the use of the \value command for
documenting acceptable values for QML enumeration properties,
without having to use custom lists or tables.

Task-number: QTBUG-35019
Change-Id: I597b2f9d7d03d4ab72f276752ddf53e1c405313c
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-07-18 10:14:31 +02:00
Jerome Pasion 83c6e74a0c QDoc: Allow the listing of uppercase- and lowercase-named items in list.
-QML basic types are lowercase-named while object types are uppercased.
-reference page for QML types should list both.
-caveat: simple implementation means the uppercase items are listed
 first.

Change-Id: I9092ad0cd9e79c4d3f8b794ac5d68879ce6338a5
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-07-17 10:46:23 +02:00
hjk c87a894927 RCC: Use macros not defined in qglobal.h
This prevents conflicts in case of link time optimizations or
precompiled headers are used since we don't include qglobal.h
in the generated code.

Change-Id: I4266c8ae38e6eafefd28b3bde5cb725a24d67ea0
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-07-16 17:40:14 +02:00
Kai Koehne bb0263eb80 rcc: Prevent CRLF conversion on Windows for -binary
Fix an issue on Windows where

  rcc -binary project.qrc >project.rcc

resulted in a corrupted file (\n was automatically replaced with \r\n).

This is caused by Qt using fwrite internally, which will automatically
replace linefeed with carriage-return for streams opened in text mode.

The fix forces stdout to binary mode in this case.

Task-number: QTBUG-39422
Change-Id: Ib5b5e82db922dc389d160b0115dbafe8641c95fd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-07-16 10:57:10 +02:00
Jerome Pasion 0e4807455a QDoc: Allow QDoc to collect all QML basic types in a map.
-needed if a list of just QML basic types is needed.
-adding QML basic types to map of QML types.
-generating the list of "qmlbasictypes" also now supported.
-part of the fix for QTBUG-32871

Change-Id: Id291982a5684645b2b5e75256be673c1701e60b1
Task-number: QTBUG-32871
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-07-15 14:13:07 +02:00
Jerome Pasion d4cd55daa2 QDoc: Prevent QDoc from outputting the brief for example pages.
Example pages' \brief do not form a complete sentence. The example
pages have proper introductions and descriptions, unlike API pages
which do use the brief information to summarize.

Change-Id: I11f1362cd05e3cf90ae8e1c3a07d2584737fd89c
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-07-14 17:18:19 +02:00
Aleix Pol 52eccc6cfa Introduce a new warning in moc, to notify about duplicated properties
At the moment, it's possible to have 2 properties with the same name,
which doesn't make much sense. Notify the user about that so she can
react on it.

Change-Id: I4865b71730921b79ce9dd8abb0cc760b3f1dbfd8
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-07-10 16:10:59 +02:00
Jerome Pasion c05fd55b96 QDoc: Edited title generation for QML and C++ API pages
-added "QML Type" for QML types
-reworded basic type pages by adding "QML Basic Type" at the end
-streamlined variables in QDoc related to the HTML and page titles.

These two changes were implemented in 5.3 branch, but got lost during
the merge into dev:
1243940f83
8e5e9d7987
This commit restores the changes while ammending similar fixes

Change-Id: I996b18f020b392aceeb40da7797838aca4a0626f
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-07-10 14:05:33 +02:00
Frederik Gladhorn f035786021 Merge remote-tracking branch 'origin/5.3' into dev
Change-Id: Ia12ffdb27ecdf25c2a2bdb0eed1945387502108a
2014-07-10 10:11:11 +02:00
David Faure 676e5a4f37 Port qdoc to QCommandLineParser
This will simplify future maintenance of qdoc, adding options being
much easier with QCommandLineParser.

As always, this revealed a number of undocumented options:
-log-progress, debug, -autolink-errors.

Compared generated docs with and without the patch, looked fine,
except that order differs (the qt_qhash_seed thing doesn't work)

Based on initial patch by Laszlo Papp.

Change-Id: I3c851135f2fd573d622d2ed456a11cee34e06054
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-07-09 01:32:08 +02:00
Nico Vertriest 637ac8a81e Doc: removed trolltech.com from namespace in manual qdocconf file
Task-number: QTBUG-23270
Change-Id: Id65ded1adbbb4f15ef5634f9a984c6cfad5c18d5
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-07-07 12:38:27 +02:00
Thiago Macieira 11c30f9705 Remove QT_STATIC_CONST
This macro is no longer used. It was introduced probably by mistake,
due to MSVC not following the strict string requirement of the C and
C++ standards by default (you can assign a string literal to a
non-const char*).

Change-Id: I4b221dd435191b0eea689dbed35915cf3206648b
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-07-07 03:51:41 +02:00
Jerome Pasion e4661df947 Doc: Removed "url" variable from qdocconf files.
url is set in qtbase/doc/global which is inherited by the
Qt 5 module qdocconf files.

Change-Id: Ieffa174f598f4a3b8ce8be9bfae7ca9b6981f12b
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-07-04 12:12:29 +02:00
Martin Smith 391b2accd8 qdoc: ASSERT failure while writing index file
An attempt was made to write an XML attribute after the
atart tag had been closed. This has been fixed by moving
some code around.

Change-Id: I279d91c345f4217dab8fc47faabe3350258d9ece
Task-number: Qt QTBUG-40039
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
2014-07-04 07:55:34 +02:00
Frederik Gladhorn e6a94778d0 Merge "Merge remote-tracking branch 'origin/5.3' into dev" into refs/staging/dev 2014-07-01 18:41:14 +02:00
Frederik Gladhorn a09a8d509a Merge remote-tracking branch 'origin/5.3' into dev
Conflicts:
	mkspecs/qnx-x86-qcc/qplatformdefs.h
	src/corelib/global/qglobal.h
	src/network/socket/qnativesocketengine_winrt.cpp
	src/plugins/platforms/android/androidjniaccessibility.cpp
	src/plugins/platforms/windows/qwindowswindow.cpp

Manually adjusted:
	mkspecs/qnx-armle-v7-qcc/qplatformdefs.h
	to include 9ce697f2d5

Thanks goes to Sergio for the qnx mkspecs adjustments.

Change-Id: I53b1fd6bc5bc884e5ee2c2b84975f58171a1cb8e
2014-07-01 16:25:19 +02:00
Thiago Macieira 7beca6e20f Remove the rcc output file if we failed to write it
This happens if the second pass failed to find the signature data in the
compiled output, which can happen if the compiler is not *actually*
compiling anything (LTO / LTCG mode).

If we left the unmodified file in the output, make would continue
running next time it was invoked, resulting in bad data.

Change-Id: I97f23a89a1ca1f8b8c449b0744de3f0c78daa706
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-07-01 13:31:23 +02:00
Robin Burchell 685655c4a5 qdoc: Add header file debug output to match source file debug output
Change-Id: If8c941be42986704e9ac4da056a6c4b2490e6131
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-07-01 10:56:02 +02:00
Martin Smith d8062f117b qdoc: Give documenter more control of linking
This update enables using the module name as the parameter
in square brackets for the \l command. You will use this
when your link goes to the wrong page. e.g. Suppose this
link command went to a page in QtGui instead of the page
where it is meant to go in QtQuick:

\l { mytarget } { the text for my link }

When a link goes to a page in the wrong module, it means
the target exists in more than one module and because qdoc
searches the modules in sequence and stops when it finds a
match, it might match the wrong target. This would be a
collision in the single tree version of qdoc, but now qdoc
builds a separate tree for each module. Since you know
which module you want your link to go to, put the module
name in square brackets as the first parameter, like this:

\l [QtQuick] { mytarget } { the text for my link }

Now qdoc will only search for mytarget in the tree for
the QtQuick module.

The \target command can now be used anywhere. It has not
been tested in all possible locations, but it works in
the places where people have asked why it doesn't work there.

There will be a further update to complete this task for
implementing the other types of parameters that can be in
the square brackets.

Task-number: QTBUG-39221
Change-Id: I2db4fdd0319ff272ec1d2fa9dc396f14599d80f9
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-06-26 08:33:53 +02:00
Jerome Pasion b7f8e7664a qdoc: Improve <title> element contents in HTML pages.
-applied logic to projects that set (or not set):
    -landing page
    -home page
    -version
-change would remove duplicate information and proper module names
 instead of "Title | QtModule 5.4", it would be "Title | Qt Module 5.4"
-tested on various projects:
    -Digia projects
    -Qt 5
    -Qt Creator

Change-Id: Ica7d5203d293910c98306f947bfee8454b9225d0
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-06-25 17:12:53 +02:00
Mitch Curtis ffdba0459b Correct grammar of missing Q_OBJECT macro warning.
Change-Id: Ifb84220285e38ce6940595035ca9fe012c350b79
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-06-23 11:19:07 +02:00
Jerome Pasion e2a7293290 QDoc: Introduce a variable to set table of contents depth.
-"HTML.tocdepth" variable controls depth value.
-setting to "0" disables table of contents.
-sections 3 and 4 usually don't have descriptive titles
 to warrant their listing in the table of contents.
-table width and CSS (online and offline) don't support wide entries.
-Config class' getInt() function now returns -1 if a variable is
 not set.
-for Qt 5 and projects which use html-config.qdocconf, tocdepth is
 set to "2".
-added variable documentation.

Task-number: QTBUG-38967
Change-Id: Ibd612f5b846ecb9c4b575e7ac11605c6efd2b77c
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-06-11 15:13:29 +02:00
Topi Reinio 1a3d149174 qdoc: Revised logic for which example file to open in Qt Creator
qdoc stores the 'files to open' into the example manifest. These
files are opened in Qt Creator's editor when an example is selected
from the Welcome / Examples list.

This change uses the following criteria (case insensitive), in
order of preference:
    - .qml file matching the project name
    - .cpp file matching the project name
    - .h file matching the project name
    - main.qml
    - main.cpp

A 'mainFile = "true"' argument is written for the file that is
preferred to be the top-most file.

Having a main.qml file take precedence over main.cpp ensures that
most Qt Quick examples open into the relevant QML code instead of
the boilerplate C++ used for launching the application.

Task-number: QTBUG-37203
Change-Id: I2ea58a31b1284f4f7d424dd35d49a84a23a88c23
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-06-10 10:16:56 +02:00
J-P Nurmi d9a7ad80f7 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2014-06-07 00:40:44 +02:00
hjk 5395180fcb Make RCC handle bigger binaries
Traditionally, RCC in "C mode" was meant to bundle small resources into
a binary, like help texts or an occasional icon. RCC produces a .cpp
file containing the actual data in a char array which is then passed
to the compiler and linker as a normal source file. Larger resources
should be compiled in RCC's binary mode and loaded at run time.

Current Qt Quick use tries to deploy large hunks of data in "C mode",
causing heavy compiler/system load.

This patch works around the issue by splitting the process into
three parts:

1. Create a C++ skeleton, as usual, but use a placeholder array
   with "easily compilable" (mostly NULs) data instead.
2. Compile the skeleton file.
3. Replace the placeholder data with the real binary data.

time (qmake5 ; make clean ; make) takes 1.3 s real time for a
100 MB resource here, and there is still room for improving patching
performance if really needed.

Change-Id: I10a1645fd86a95a7d5663c89e19b05cb3b43ed1b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-06-06 15:41:00 +02:00
J-P Nurmi 0fcce50af0 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	mkspecs/features/qt.prf
	src/plugins/platforms/xcb/qxcbwindow.h
	src/tools/qdoc/qdocindexfiles.cpp
	src/widgets/kernel/qwidget_qpa.cpp

Change-Id: I214f57b03bc2ff86cf3b7dfe2966168af93a5a67
2014-06-05 22:26:44 +02:00
Oswald Buddenhagen 939d021813 do not auto-add install dir to index dirs
the install dir may contain indexes from previous builds. a build must
never refer to previous builds.

Change-Id: I67c04df8f3f82bdbebb67e280f70795ed0a76ccf
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-06-05 17:11:35 +02:00
hjk 9e3a780c6a RCC: Avoid some needless to/fromLatin1 cycle
Change-Id: I70f330ee5ce083fb90f0c6d70e5b99063bc6e974
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-06-03 17:27:17 +02:00
Martin Smith 46959875cf qdoc: Give documenter more control of linking
This update is preparation for implementing the actual task
described in the bug. To implement it required converting
the QML type node and the QML basic type node to be first
order tree nodes instead of subtypes of the documentation
node. This cleans up a lot of messy logic in some places.

It was also necessary to split the getLink() function in the
html output generator into two functions, one still called
getLink(), which handles the \l command, and one called
qetAutoLink() which is called for generating auto links.
This should make qdoc run faster.

The basic infrastructure was also added for parsing the
string in the square brackets for the \l command.

There will be a further update to complete this task.
Note that some autolinks might not be generated due to
this change. I haven't seen any yet, but I believe there
will be some. This can be fixed later, if it is a problem.

Task-number: QTBUG-39221
Change-Id: I8135229984398408205ba901b9ef95ceac74683c
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-06-01 13:40:53 +02:00
Frederik Gladhorn 52ff4120a2 Fix Null pointer dereferencing in an error handler
identified by static analysis from
http://www.viva64.com/en/b/0251/

Change-Id: I0042336d9598415b978bf9819e74639685c627b5
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-05-28 16:52:04 +02:00
Oswald Buddenhagen 7c94b8955f purge obsolete variable documentationPath
Change-Id: I1eb9e7ff28e0632c5a87b726dcd52b6542612101
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-05-23 11:39:25 +02:00
Simon Hausmann 508b95899d Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Ia36e93771066d8abcf8123dbe2362c5c9d9260fc
2014-05-22 07:46:17 +02:00
Thiago Macieira 5283a6c87b Disable hash seeding for bootstrapped tools
Any bootstrapped tool is a development tool, by definition. So the
effects of seeding the hash with a random number can cause the same
source input to produce different binary results, which can throw some
caching tools into disarray (like the Open Build System).

There should be minimal fall out from the reduced protection against
DoS. Since those are only development tools, "specially crafted" input
implies the developer is DoS'ing him/herself.

Note: the change to qhash.cpp applies to moc and rcc, which are always
bootstrapped.

Change-Id: I061ab52036e40627c0703f1bf881455cbf848f43
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-05-21 01:34:38 +02:00
Sze Howe Koh 1243940f83 QDoc: Stop copying title string unnecessarily
"htmlTitle" never diverges from "fullTitle".

Change-Id: Id1ce9005311bd86aa9803836168a2bebae6db65d
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2014-05-20 13:42:24 +02:00
Thiago Macieira 199b2594ff Make the use of -ffunction-sections more generic in Qt
Move it from bootstrap.pro into qt_module.prf so it will apply to any
other bootstrapped libraries, like libQmlDevTools.

Variable called "SPLIT_SECTIONS" because -fdata-sections could be added
in the future, if it proves to be a benefit.

Change-Id: I3fbb004f111620a84e58e9112e9bce3afd95631e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-05-19 19:33:15 +02:00
Alex Blasche 60d0b900d7 Force qdbusxml2cpp to use QStringLiteral rather than QLatin1String
Change-Id: I6db4c80a14466b51d73c2704e8fc2e2e8a8a6b02
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-05-15 10:08:59 +02:00
Jerome Pasion 8e5e9d7987 QDoc: Added "QML Type" to HTML titles of QML type pages.
-makes it more consistent with the C++ pages.
-easier to read for the search engines.

Change-Id: I172bdff04e0aa80ee58a903d112585992234d7d7
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-05-14 20:10:03 +02:00
Martin Smith 47b898cdaf qdoc: Now lists variable in namespaces
qdoc never did list variables declared in a namespace. It was
probably an oversight, because there are currently no uses of
the \variable command in namespaces. But recently a developer
tried to use \variable to document a namespace variable, and
it didn't work. This update corrects that problem.

Task-number: QTBUG-38734
Change-Id: I47b6234f2bafbb73dfb755a2ad82c9596a4489b1
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-05-10 10:30:39 +02:00
Frederik Gladhorn 1326cd15f7 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	mkspecs/qnx-x86-qcc/qplatformdefs.h
	src/corelib/global/qglobal.h
	src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
	src/opengl/qgl.cpp
	src/opengl/qglpixelbuffer.cpp
	src/opengl/qglshaderprogram.cpp
	tests/auto/opengl/qglthreads/tst_qglthreads.cpp

Change-Id: Iaba137884d3526a139000ca26fee02bb27b5cdb5
2014-05-06 16:50:03 +02:00
Kurt Pattyn beb7258a56 Add default case to switch statements
When compiling with the -Wswitch-default flag, the compiler
spits warnings for the moc generated files.
In certain development environments (e.g. where MISRA rules
have to be followed) every switch statement needs to have a
default case. Unfortunately the moc generated files contain
switch statements without default case. This patch adds a
default statement to all switch statements that are generated
by the moc compiler.

Change-Id: I8f3d81e3463fce4d3abf2ea5d0fa8727a7d9ba2e
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-05-02 17:36:45 +02:00
Martin Smith 6010b73932 qdoc: Added 2nd argument to \generate list classes command
The qdoc command \generatelist has an argument that tells
qdoc which list to generate. When the argument is "classes"
qdoc generates the "All C++ Classes" list. qdoc looks for a
common prefix for all the members of the list and sorts the
members of the list using the character that follows the
common prefix. The problem was that the common prefix "Q"
was hardcoded in qdoc.

This update allows the \generate list command to have a
second argument, which is the common prefix. If the common
prefix is not provided, qdoc sorts the members of the list
on the first character.

There is only one use of the \generatelist command with
the classes argument in Qt5. It is changed to be
\generatelist classes Q, and the qdoc user manual is
updated to reflect this change.

Task-number: QTBUG-38226
Change-Id: Ie1011d728819a1e5598bbdf73b7444009377d231
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-05-02 10:12:20 +02:00
Martin Smith 761265ef64 qdoc: attaching type of attached properties was missing
This bug was probably intoroduced when the QmlPropertyGroup
became a first class Node type. Otherwise, there is no way
to explain how it worked at all. But now qdoc includes the
attaching type.

Some debugging code was also cleaned up.

Task-number: QTBUG-35559
Change-Id: I478efb7f4356d51015af9f33c893958d4b4ae301
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-05-02 10:11:23 +02:00
Topi Reinio 9e44204bf8 qdoc: Simplify config code for reading file paths
This change greatly simplifies the code used for
reading paths from config files: near-identical
functions Config::getCanonicalPathList() and
Config::getPathList() are combined into one, and
the use of Config::getCleanPathList() is
replaced with the above.

Effectively, all paths read from the config files
are now converted into canonical ones.

It also adds support for absolute paths in config
files.

Task-number: QTBUG-36193
Change-Id: I2dc1ee6a67a400e056404ec1c09c6e81f643aa77
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2014-05-02 09:56:24 +02:00
Jędrzej Nowacki 0e99bd1990 Build fix with defined DEBUG_MOC
Change-Id: I365feceda20625e95503eb5acfa58fc89bd3720a
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-04-25 10:55:31 +02:00
Martin Smith 9b8dd3012c qdoc: \l now works with QML property groups
This update makes it possible to link to the name of a
QML property group with a \l command. e.g. \l {Item::anchors}

Task-number: QTBUG-35844
Change-Id: I2dc51bd90eadd13754a8f4d3357f3f17605a068d
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
2014-04-17 14:27:07 +02:00
Jędrzej Nowacki 78a1c46a86 Mark each QT_MOC_LITERAL usage with a comment
The comment shows to which string a QT_MOC_LITERAL is pointing.

Change-Id: Ia389d750b1b1c21e2242bad6beceea4f9298ff8e
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-04-15 14:55:20 +02:00
Iikka Eklund 0ab63b035a Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I2a6eb9dd7724931bc89f28bcc156e77c4e26d069
2014-04-01 11:44:27 +03:00
Martin Smith d13d03f012 qdoc: Unexplained empty ref attributes in qhp files
This update fixes a bug introduced by the extensive changes
for QTBUG-35377. Three node subtypes - Group, Module, and
QML module, were promoted to be first line node types in the
update for QTBUG-35377. This broke the file name construction
routine for those node subtypes, which used to have the DocNode
node type. This caused empty ref attributes to appear for those
keyword elements in the qhp file. The file name construction
routine has now been corrected to account for this.

Task-number: QTBUG-37658
Change-Id: I307979255fdfd48493b3a4cebaf996b2130bc2c7
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-03-31 21:05:30 +02:00
Martin Smith 2ea15849a0 qdoc: \l{Qt::Window} links to the wrong page
kThis update fixes a bug introduced by the extensive changes
for QTBUG-35377. The name Qt represents two namespaces, one
in C++ and one in QML. The name "Window" is used in both of
them, so the link \l{Qt::Window} would cause a collision in
the single tree qdoc. In the multiple tree qdoc, there is
no collision, but in this case the link should have gone to
the C++ page and it went to the QML page instead. The fix
involved correcting the way qdoc searches for link targets.

Task-number: QTBUG-37633
Change-Id: Ib9b209eced937a0be0d3299f300ebf22b2776012
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-03-31 21:05:23 +02:00
Martin Smith 900c150a07 qdoc: fix inheritance information for some QML types
This update fixes a bug introduced by the extensive changes
for QTBUG-35377. For a QML base type loaded from an index file,
its QML base type was not being resolved. This resulted in the
"All members" page for some QML types to be incomplete because
the pointer to the base type was 0 when it should have been set.
This change also introduces the concept of "just in time"
resolution for base type pointers, which appears to speed up
qdoc a little.

Task-number: QTBUG-37326
Change-Id: I5f09336ec70ba84029b44b245c56f7f8fe349757
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-03-31 21:05:16 +02:00
Martin Smith c55d437d29 doc: Remove "current child" code
The current child concept was added to the Name
Collision Node to heuristically provide better
linking when a link operation reached a collision
node. It is doubtful that this improved linking
much, but now that qdoc uses multiple trees, it
is much less likely that collision nodes will
occur. In fact, there are none in in the current
Qt5. Therefore, the current child code is hereby
removed from qdoc.

Task-number: QTBUG-37067
Change-Id: I33aea5d550afb7ceaf941d49112e02c21d44f6dc
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-03-31 21:05:07 +02:00
Martin Smith a9d75c8eb8 qdoc: Teach qdoc to use multiple trees (part 3)
With this update, qdoc is now ready for testing
with multiple trees. In making this change to using
multiple trees, it has become clear that qdoc does
not really need trees the way it currently uses them.
Each C++ class or namespace, or QML type is naturally
a tree tree structure, but above that level, what we
currently call a tree in qdoc should really be called
a collection of maps. This change has moved qdoc in
that direction. It remains to replace the Tree class
with a class that encapsulates a set of maps, one for
each major node type. That can be implemented later.

Task-number: QTBUG-35377
Change-Id: I39068a0cb26c01f14ec0e4621742d727efb913bf
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-03-31 21:05:00 +02:00
Martin Smith 5fecc6512f qdoc: Teach qdoc to use multiple trees (part 2)
qdoc now knows how to search the forrest of node
trees in an optimal order. But there remain some
problems with specific searches that cross module
boundaries. These include group membership and C++
and QML module membership, as well ass C++ base
class resolution. Part 3 will be concerned with
fixing these remaining bugs.

With this update, qdoc now takes less time to
generate the docs for Qt 5. Testing indicates
that qdoc run time has dropped from about 14
minutes to about 7.5 minutes on an iMac.

Task-number: QTBUG-35377
Change-Id: I6bded6ef54124b4f6e5914cad4548f0b600209b0
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-03-31 21:04:52 +02:00
Martin Smith e9954e3162 qdoc: Teach qdoc to use multiple trees
qdoc now builds a separate Node Tree for each index
file it parsed. The main Node Tree now contains only
the Nodes of things being documented in the current
module. This should make qdoc run a little faster.

qdoc now uses these separate trees to make intra-module
and inter-module linking more robust by searching the
trees in an order that depends on the type of link it
is searching for. The tree for the current module is
always searched first. Then qdoc searches the trees
for either the C++ modules or the QML modules, depending
on whether it is looking for a C++ link or a QML link.

In preparation for this update, qdoc was also simplified
a lot. Many functions became obsolete and were removed.
Others were combined.

Task-number: QTBUG-35377
Change-Id: Iea4e49869ff6a6ff0f4d53090728770d40d892f3
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-03-31 21:04:43 +02:00
Kai Koehne b5731ceef1 Update copyright year in tools output
Change-Id: I9ee9604303b3cb29f89a4252df5af35e729f6249
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
2014-03-31 12:46:44 +02:00
Kai Koehne e7270b68fe Doc: Update year to 2014
Change-Id: Iae2f31232fb364b26aa4da99048d92c262b4fdec
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2014-03-27 15:22:33 +01:00
Sze Howe Koh cd08d34452 QDoc: Doc: Use correct terminology ("signal" vs. "signal handler")
Change-Id: I0c6cdc77296b8a1a759671bac2c920bc05d0cbcb
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2014-03-26 07:22:35 +01:00
David Faure 91c9cae720 QDebugStateSaver: call maybeSpace() in destructor.
tst_qdebug didn't test adding something else after the MyLine object,
so I didn't realize that a space was missing there. All debug operators
should end with maybeSpace(), but with the settings of the caller, so this
requires restoring the settings before calling it. To make it convenient
for all << operators, the destructor of QDebugStateSaver takes care of that.

Change-Id: I18ab78d99d7ee3be951082b5b5d34718ee60e21d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-03-13 17:59:50 +01:00
Topi Reinio d87ddcf56f qdoc: Improve navigation bar for example files
For example file pages, added a link to the parent example page
into the navigation bar.

Also,
    - Removed protectEnc() calls for strings added as Text atoms,
      this is done automatically when generating the navigation
      bar output, and doing it twice results in malformed output.

    - Removed the subtitle from being appended to example file
      title. The subtitle contains the full path of the file and
      it's already displayed on the page body, so removing it
      from the html title + navigation bar makes for a cleaner
      look without losing any information.

Task-number: QTBUG-33022
Change-Id: I3ca942470453379e22f1a4aaec1d9b866d85bb5c
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2014-03-09 12:12:55 +01:00
Jędrzej Nowacki 742e0fb560 QDoc: Do not warn about a file overwritting while writing to /dev/null
Change-Id: I7d23edf5a73d521bad361f1007be0750acd4c1e9
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-03-06 12:21:14 +01:00
Sergio Ahumada 7e872de76e Fix some typos
Change-Id: I7dbe938bff5ac3ab50a0197f94bdb2f6c22fbd16
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
2014-03-03 18:24:29 +01:00
Jerome Pasion e99c374944 Doc: Removed Contents listing for Qt Examples and Tutorials page.
-Qt Examples and Tutorials page does not need the table of contents.

Task-number: QTBUG-36838
Change-Id: Id51ebc7cba7831a24cd9d8e8e6bde7f96bece326
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-02-20 11:06:14 +01:00
Frederik Gladhorn dbafabb019 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/corelib/global/qglobal.h

Change-Id: I03d8b6e07135056baaa1d97c3c63fbe8b25583d9
2014-02-17 11:39:16 +01:00
Olivier Goffart 2b0f02aa5c moc: Fix parsing of operator<
moc would skip the 'operator' keyword as unknown and try to parse a type again
but as it sees the '<' it looks for the corresponding '>' which does not exist
types can't start with '<' anyway, so return an invalid type and continue
parsing as usual

Task-number: QTBUG-36834

Change-Id: If3d27076ef9947abf8c57c594713eece9334d0b0
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2014-02-14 14:33:17 +01:00
Olivier Goffart 2b26f801b5 Make parsing of template arguments more robust.
At first, my goal was just to fix Moc::until() to parse properly
template arguments containing expressions containing > or >>
such as Foo<(8>>2)>

But with the test, I realized that normalizeType also requires change
not to split the > > too much.

And QMetaObjectPrivate::decodeMethodSignature should not interpret
the ) within the template parameter as the end of the function.

Change-Id: Ia9d3a2a786368aeda1edcf66280d70f64cf05070
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-02-14 09:42:53 +01:00
Frederik Gladhorn a9c88c1f39 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/gui/image/qimage.cpp
	src/gui/text/qtextengine.cpp
	src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp
	src/printsupport/kernel/qprintengine_win.cpp

Change-Id: I09ce991a57f39bc7b1ad6978d0e0d858df0cd444
2014-02-12 16:28:07 +01:00
Kai Koehne e14885a18a Enable categorized logging for bootstrapped tools
Change-Id: Ie908a175bda103fd8d73031024a823a4c4d3dbb7
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2014-02-11 15:53:10 +01:00
David Faure 5428db88de Document `moc -f<...>` behavior change in Qt-5.2.0
Better late than never :)
Task-number: QTBUG-33749

Change-Id: I5035255e66a56754b609441f5b81ab119565a7cb
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-02-11 12:59:08 +01:00
David Faure 9ce3b0d953 qdoc: fix memory leaks, unchecked open(), hardcoded path - in debugging code
Change-Id: I3b065dd18f60214a858543d062dfb2f0f1dc1b36
Reviewed-by: Laurent Montel <laurent.montel@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-02-10 11:00:41 +01:00
Frederik Gladhorn a1fe728fa5 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/gui/kernel/qguiapplication.cpp
	src/plugins/platforms/android/androidjnimain.cpp
	src/plugins/platforms/android/qandroidplatformintegration.cpp
	src/plugins/platforms/android/qandroidplatformintegration.h
	src/plugins/platforms/android/qandroidplatformopenglcontext.cpp
	src/plugins/platforms/cocoa/qcocoawindow.h
	src/plugins/platforms/cocoa/qcocoawindow.mm
	src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
	src/sql/doc/src/sql-driver.qdoc
	src/widgets/widgets/qtoolbararealayout.cpp

Change-Id: Ifd7e58760c3cb6bd8a7d1dd32ef83b7ec190d41e
2014-02-07 13:07:25 +01:00
Frederik Gladhorn 49f30168c0 Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2014-02-04 10:37:11 +01:00
Sze Howe Koh 8bb5dba0cb Doc: Fix broken links
Change-Id: Ic275dfbf0b332fc34ea0fac1c31c4935ad961527
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-02-04 01:30:24 +01:00
Frederik Gladhorn 899604af55 Merge remote-tracking branch 'origin/release' into stable
Change-Id: I625c46b86491fee66d39494d1466b2d616ea7380
2014-02-03 17:26:01 +01:00
Topi Reinio 62feb088a3 qdoc: Never use a collision page as a main QCH landing page
When writing the main/landing page for a documentation set to
a .qhp file, check that it's not a collision page. If it is,
default to 'index.html' instead.

Task-number: QTCREATORBUG-11035
Change-Id: I0269834f6e50fcf5ae779c026263e69e4c3cd7b6
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-01-29 14:15:00 +01:00
Friedemann Kleint dd921b59ab moc: Make error message 'too many input files' more verbose.
Make it easier to diagnose quoting errors in scripts.

Change-Id: I17894a426faa5cdf50f5ace4ed422ab2bd202558
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-01-27 13:01:48 +01:00
Albert Astals Cid ef288db325 qdoc: Fix crash in Generator::generateInnerNode
Using an iterator is not a good idea since the generateInnerNode can
end up adding new items to the childrenNode list and thus the iterator becomes invalid

Without this patch i was getting this trace in valgrind
    ==19251== Invalid read of size 8
    ==19251==    at 0x474350: Generator::generateInnerNode(InnerNode*) (generator.cpp:1018)
    ==19251==    by 0x4A422D: HtmlGenerator::generateTree() (htmlgenerator.cpp:276)
    ==19251==    by 0x4AC369: processQdocconfFile(QString const&) (main.cpp:515)
    ==19251==    by 0x40B894: main (main.cpp:669)
    ==19251==  Address 0x943c1c0 is 0 bytes after a block of size 32 free'd
    ==19251==    at 0x4C2C72E: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==19251==    by 0x51676F2: QListData::realloc(int) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.2.0)
    ==19251==    by 0x51677EE: QListData::append(int) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.2.0)
    ==19251==    by 0x439BAB: QList<Node*>::append(Node* const&) (qlist.h:533)
    ==19251==    by 0x4B46B3: InnerNode::addChild(Node*) (node.cpp:1262)
    ==19251==    by 0x4B48DC: Node::Node(Node::Type, InnerNode*, QString const&) (node.cpp:179)
    ==19251==    by 0x4B539F: InnerNode::InnerNode(Node::Type, InnerNode*, QString const&) (node.cpp:1193)
    ==19251==    by 0x4B54EB: DocNode::DocNode(InnerNode*, QString const&, Node::SubType, Node::PageType) (node.cpp:1608)
    ==19251==    by 0x4C0C5E: QDocDatabase::findQmlModule(QString const&) (node.h:535)
    ==19251==    by 0x497EEA: HtmlGenerator::generateQmlRequisites(QmlClassNode*, CodeMarker*) (htmlgenerator.cpp:2005)
    ==19251==    by 0x4995B9: HtmlGenerator::generateDocNode(DocNode*, CodeMarker*) (htmlgenerator.cpp:1533)
    ==19251==    by 0x474508: Generator::generateInnerNode(InnerNode*) (generator.cpp:1010)
    ==19251==    by 0x474372: Generator::generateInnerNode(InnerNode*) (generator.cpp:1019)
    ==19251==    by 0x4A422D: HtmlGenerator::generateTree() (htmlgenerator.cpp:276)
    ==19251==    by 0x4AC369: processQdocconfFile(QString const&) (main.cpp:515)
    ==19251==    by 0x40B894: main (main.cpp:669)

Change-Id: I7a6ae0a689ea5edddacf7f27f9dce95b26a441df
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-01-22 15:25:06 +01:00
Jędrzej Nowacki 6111cc55ca Add comment to moc output to simplify slots flags reading.
Change-Id: I5b8f63b6fa561c108abed4c2726b3aff99144fe2
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-01-22 14:09:19 +01:00
Jędrzej Nowacki 9a9e7a8215 Fix lack of deterministic behavior in moc.
Moc should check full scope of any related objects or
gadget when it constructs extra data.

Change-Id: Ibd1b607a389cd4e788c0916984464cd9103d9c59
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-01-22 08:27:50 +01:00
Frederik Gladhorn 46791c08e1 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2014-01-21 17:57:54 +01:00
Frederik Gladhorn 9033977d39 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/corelib/global/qglobal.h
	src/corelib/tools/qstring.cpp
	src/gui/image/image.pri
	src/gui/image/qimage.cpp
	src/plugins/platforms/cocoa/qcocoawindow.h
	src/plugins/platforms/cocoa/qcocoawindow.mm
	src/plugins/platforms/eglfs/qeglfshooks_stub.cpp
	tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp

Change-Id: I3b9ba029c8f2263b011f204fdf68c3231c6d4ce5
2014-01-20 18:18:59 +01:00
Jędrzej Nowacki 4a8ce53ad6 Remove duplicated code from moc generator
Change-Id: I0d603ac39068f796fc7397a74230d544a16e0371
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-01-20 16:56:13 +01:00
Jędrzej Nowacki a88d97174e Do not close string data by a double null terminator.
There is no point in saving \0 twice. Any code that could relay on it
is broken anyway, because moc saves \0\0 for an empty string.

Change-Id: I28fa4f78aae8c883c088df43ec89d608a99b3bdd
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-01-20 16:55:35 +01:00
Oswald Buddenhagen 11476aaa19 move and build qlalr
Change-Id: I852e1a33fc056a52f6dbba8aaf7dd75274bbe815
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-01-20 09:26:47 +01:00
Kai Koehne 278152fffd Replace win32-g++ with mingw scope
Commit 773dd01 introduced a general mingw platform scope, which
is cleaner and more flexible than matching the spec name.

Change-Id: Ie3a9cb791a83f7c8a51bc4e23069190c452ab521
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-01-17 12:08:24 +01:00
Olivier Goffart 55659fb5a4 moc: Fix parsing of complex defines defined via command line
Since now in Qt5 the moc does full macro substitution, it needs to handle
the defines passed is command argument, even if they span over multiple
tokens, or if they do not have any token.

Example:
 moc '-DCOMPLEX=QVector<int>' '-DEMPTY=' foo.h

[ChangeLog][moc] Fixed passing -D of a macro defined to something more
complex than a single identifier.

Task-number: QTBUG-33668
Change-Id: Ie8131de215f1659a24af4778d52ee40cda19759f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2014-01-17 01:36:37 +01:00
Sze Howe Koh 7c11e7ec19 qdocconf: Remove nonexistent dependency
Change-Id: I9d2f36102691a2bd8ab0697d20f6eac59d59a84f
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-01-15 08:57:19 +01:00
Olivier Goffart 40133df06f moc: Fix -Wsign-conversion warning in the moc generated file
There is the warning it fixes:

moc_foo.cpp:28:9: warning: conversion to ‘qptrdiff {aka long long int}’ from ‘long unsigned int’ may change the sign of the result [-Wsign-conversion]
         - idx * sizeof(QByteArrayData) \
         ^
qarraydata.h:282:49: note: in definition of macro ‘Q_STATIC_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET’
     { Q_REFCOUNT_INITIALIZE_STATIC, size, 0, 0, offset } \
                                                 ^
moc_foo.cpp:26:5: note: in expansion of macro ‘Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET’
     Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
     ^
moc_foo.cpp:33:1: note: in expansion of macro ‘QT_MOC_LITERAL’
 QT_MOC_LITERAL(1, 23, 5),
 ^

[ChangeLog][moc][QTBUG-36128] Fixed sign conversion warning in generated file.

Task-number: QTBUG-36128
Change-Id: Ibf00974dbfb419bb53a3109d93e4cee598bb0588
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-01-15 08:18:11 +01:00
Kurt Pattyn f2f2e4e53e Fix to comply with Qt coding guidelines
Change-Id: Ie6c62d3107d17e64c94fa01380b3b1d80f24d0de
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2014-01-11 19:17:05 +01:00
Frederik Gladhorn 7917dfbf1c Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I99af0bef7f1c931533a324ebcfb27c40ee871a5e
2014-01-10 18:27:49 +01:00
Tasuku Suzuki 2dc04430ba Make qtbase compile with QT_NO_DOM
Change-Id: I98bef84ca9bf86bf7dddd3ca2a3d8210a8e46a16
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-01-10 17:14:29 +01:00
Tasuku Suzuki eb5c0f4b12 Make qtbase compile with QT_NO_XMLSTREAMWRITER
Change-Id: I6d2447ba0875117e8a50d1aa3133bd5ea098d51a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-01-10 04:53:36 +01:00
Friedemann Kleint 2433ee06ef Windows/Windows CE: Do not dynamically load shell32/coredll.
Those libraries are contained in QMAKE_LIBS_CORE and
GetSpecialFolderPath() is present in all supported versions.

Change-Id: Iae40714e0f234625b063aeb50e29fc79c4aaa6ea
Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-01-07 21:14:35 +01:00
Simon Hausmann b5ab7ee0d7 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Id13badc270db98806048753fd7fb658aa17f1ede
2014-01-03 14:30:21 +01:00
Topi Reinio 631c3dbc80 qdoc: Fix Q_PROPERTY parsing
When parsing Q_PROPERTY declarations, qdoc tries to always
read an associated value for each matched keyword. This
fails for property declarations including a CONSTANT or
FINAL, as they have no associated values.

This change fixes the above problem and makes the parsing
more robust by checking the return value of matchProperty()
and skipping to closing parenthesis in case of failure.

Task-number: QTBUG-35722
Change-Id: Ia483b8e74aeef19b2e761b21473cd4f765cdca19
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-12-31 20:37:46 +01:00
Simon Hausmann 2b287c7c21 Fix regression in property handling with enums from gadgets
When declaring a Q_PROPERTY(SomeType::SomeEnum foo ...) and SomeType is not a
QObject but a gadget, then we must still include SomeType's meta object in the
list of related meta objects.

Task-number: QTBUG-35657
Change-Id: I46195140cb5d180c4f03bb1fe06a876e3fe11267
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-12-24 08:10:16 +01:00
Frederik Gladhorn 3f3be55835 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/gui/kernel/qplatformtheme.h
	tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp
	tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp

Change-Id: Iecd3343d6a050b8764f78d809c4a1532aeba69e5
2013-12-16 16:59:33 +01:00
Thiago Macieira b0afad8f0b Implement support for ref-qualified QString::toLatin1 & friends
This is the first step in implementing an in-place conversion of QString
to QByteArray. This requires ref-qualifiers in member functions so we
know that we have an rvalue QString.

Converting from UTF-16 to Latin1 always requires half the memory.

For conversion from UTF-16 to UTF-8, the typical string will also need
the same memory or less: characters from U+0000 to U+007F consume one
fewer byte; characters from U+0080 to U+07FF and from U+10000 to
U+1FFFFF occupy the same space in UTF-8 and UTF-16; it's only the ones
from U+0800 to U+FFFF that consume more space in the UTF-8 string.

For the locale's 8-bit codec, we can't be sure and the code (currently)
needs to go through QTextCodec anyway.

This requires a #define set before #include'ing "qstring.h". However,
since qstring.h is included by the QtCore PCH, we need an extra qmake
compiler without the PCH flags to compile this .cpp.

After this change, the distribution of calls in QtCore, Network, Gui,
and Widgets is as follows:

                  const &               &&
 toUtf8           31 (74%)              11 (26%)
 toLatin1         79 (77%)              24 (23%)
 toLocal8Bit      26 (16%)              138 (84%)

Change-Id: Idd96f9ddb51b989bc59f6da50054dd10c953dd4f
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-12-13 09:29:58 +01:00
Simon Hausmann 54f0733e7d Fix erroneous exclusion of classes from related meta objects in moc
Assume an unrelated class that declares an enum and uses Q_ENUMS. Consider
then a class that uses UnrelatedClass::Enum as a Q_PROPERTY. We used to
include UnrelatedClass in the primary class's related meta objects, in order
to support use-cases like
    obj->setProperty("enumProperty", "ValueOfEnumAsString");

If however moc happens to see Q_DECLARE_METATYPE(UnrelatedClass::Enum), then it
would exclude it from the related meta objects, which would silently break the
string based enum value conversion. This was meant as an optimization, but it
isn't apparent to the developer why sometimes the string conversion would
work and sometimes not (depending on whether somebody declares that macro).
This also becomes visible in QML, which relies on the same embedded type
information for enum assignments.

This patch removes that check in moc's code generator and cleans up the code a
little. However always including the prefix of Q_PROPERTY(SomePrefix::Enum ...)
is not correct either, because it may be that SomePrefix is a namespace, which
would cause compilation issues. Therefore we limit the inclusion of related
meta objects only to Q_OBJECT decorated classes the moc has seen, and for these
we save the fully qualified name in the related meta objects array (for QTBUG-2151).

While this patch makes the previous workaround for namespace issues by using a
Q_DECLARE_METATYPE not workable anymore, by saving the fully qualified name we
are making a hopefully sufficient effort to not require a workaround in the
first place. There's always the new workaround of fully qualifying the type in
Q_PROPERTY.

One side-effect of this change is that in the autoPropertyMetaTypeRegistration
test of tst_moc, the CustomQObject for Q_PROPERTY(CustomQObject::Number
enumValue ...) is now a related meta object, and therefore when querying for
the type of this property via QMetaProperty::userType(), we are now aware of
this being an enum and try to resolve CustomQObject::Number via
QMetaType::type(qualfiedName). As there is no guarantee for this to succeed, we
must now also do what is done in the non-enum code path in ::userType(), which
is to call the moc generated type registration function.

Task-number: QTBUG-33577
Task-number: QTBUG-2151
Change-Id: Ibf20e7421cba464c558a25c76a7e1eef002c6cff
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-12-12 22:57:19 +01:00
Marc Mutz 7e2c9a9c62 moc: move qt_meta_extradata data from .data.rel into .data.rel.ro
It's still a relocation, but at least it can be marked read-only
after the relocation run, if indeed the dynamic linker goes to
such a length.

Change-Id: Ibadddac3ab99d2e58cc32cfd57311bddd3bdb0ef
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-12-09 10:30:05 +01:00
Frederik Gladhorn f6dbdd9c16 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/sql/drivers/sqlite/qsql_sqlite.cpp

Change-Id: Ia7cffd2c99ae3d5eea6b5740683c06e921336dcd
2013-12-05 18:52:38 +01:00
Frederik Gladhorn 733ace5a7a Merge remote-tracking branch 'origin/release' into stable
Conflicts:
	configure
	mkspecs/macx-ios-clang/features/default_post.prf
	tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp

Change-Id: Iaba97eed2272bccf54289640b8197d40e22f7bf5
2013-12-05 17:42:33 +01:00
Topi Reinio dd97932a04 qdoc: Fix output filenames for QML basic type documentation
qdoc intends to prepend all html files related to QML with
a 'qml-' prefix. This doesn't work for basic QML types, as
those nodes do not have valid qml module name information.

This change fixes the issue by removing the requirement
for a qml module name, thereby always using the qml
prefix for a qml (basic) type.

Task-number: QTBUG-35229
Change-Id: If61572b2dc8a39be08140c37aa59646b88e99b29
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-12-04 09:11:34 +01:00
Martin Smith 1fc28716e6 qdoc: Replaced hard-coded href with computed href
For enum types that have QFlags versions, qdoc was
outputting the documentation with a hard-coded link
to qflags.html, which only workjed in the single
directory mode. When qdoc outputs modular documentation,
the href for the link should be "../qtcore/qflags.html" .
Now qdoc computes this href correctly before it writes
the docs. The href is no longer hard-coded.

Task-number: QTBUG-35209
Change-Id: Ibdf5b11dbd063726eb77048de78f8874c65752ca
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-12-03 14:12:20 +01:00
Robin Burchell 2a76ef7e99 qdbusxml2cpp: Use the mtime on the input XML to avoid needless source changes.
These can cause rebuilds unnecessarily when repeatedly running qdbusxml2cpp.

Change-Id: I902954d4bed6fe68802183e51d82700fe30af437
Reviewed-by: Mathias Hasselmann <mathias.hasselmann@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-11-30 20:49:41 +01:00
Frederik Gladhorn 4a8273a6fc Merge remote-tracking branch 'origin/stable' into dev
For the conflicts in msvc_nmake.cpp the ifdefs are extended since we
need to support windows phone in the target branch while it is not there
in the current stable branch (as of Qt 5.2).

Conflicts:
	configure
	qmake/generators/win32/msvc_nmake.cpp
	src/3rdparty/angle/src/libEGL/Surface.cpp
	src/angle/src/common/common.pri
	src/corelib/global/qglobal.h
	src/corelib/io/qstandardpaths.cpp
	src/plugins/platforms/qnx/qqnxintegration.cpp
	src/plugins/platforms/qnx/qqnxscreeneventhandler.h
	src/plugins/platforms/xcb/qglxintegration.h
	src/widgets/kernel/win.pri
	tests/auto/corelib/thread/qreadwritelock/tst_qreadwritelock.cpp
	tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
	tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
	tools/configure/configureapp.cpp

Change-Id: I00b579eefebaf61d26ab9b00046d2b5bd5958812
2013-11-26 22:35:48 +01:00
Venu f5ef78cec2 Doc: Updated the \l links in the manual
- Replaced all \l instances that were using
the html file name qualifier to link to a \target.
- Updated the linking instructions to not mention
the html file name way to link.

Task-number: QTBUG-32173
Change-Id: Ic3e266e58de7566d533bbc7fbec7ff5c3ec8f231
Reviewed-by: Nico Vertriest <nico.vertriest@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-11-14 21:15:35 +01:00
Stephen Kelly 459fb11481 uic: Accept an -include argument to generate a #include.
Change-Id: I2854619ab995b4ba3c820fec58e998ad04ac9858
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-11-11 15:56:52 +01:00
Martin Smith 0491a7a298 qdoc: Don't include internal QML types
QML types marked \internal were appearing in the
"All QML Types" list. These links were dead because
the pages for these internal types were not being
created, which was correct. Now these internal QML
types no longer appear in the list.

Task-number: QTBUG-34506
Change-Id: I1d005459e84ed9a2afae94b797b9d39aa3e517f3
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-11-07 10:00:19 +01:00
Topi Reinio 170da92d02 qdoc: Fix output file name generation for examples
When generating output file names for examples, qdoc prepends
a module-specific prefix. Unless already defined, it defaults
to the project name defined in .qdocconf file. This leads to
wrong prefix being used in some cases - specifically, on pages
in qtdoc module listing examples in other modules.

This change takes the modulename prefix from the node, and
only uses the project name as a fallback.

Task-number: QTBUG-34581
Change-Id: Ia0a940cbc05ed819ff36c328cf9c1e30e2c65b5e
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-11-07 10:00:19 +01:00
Jerome Pasion 5c389cecd0 Doc: Updated url variable in qdocconf files.
In 5.2, the HTML output is in a flatter structure and when they are
hosted in qt-project.org/doc, the documentation will be found at
http://qt-project.org/doc/qt-$QT_VER

The url variable is used by projects outside of Qt 5 which need
to link to Qt 5 documentation, such as Qt Creator.

Task-number: QTBUG-34584
Change-Id: Ifa55fcd9e402b0e184a41e316340e46aeb7101de
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2013-11-06 11:31:39 +01:00
Topi Reinio 00b5dec9e6 qdoc: warn if index file for dependency is not found
Output a warning for each doc dependency that qdoc cannot
locate an index file for.

The index files are loaded for both prepare and generate
phases. To avoid duplication, output warnings only when
in generate phase.

Change-Id: I74f9ba78e4b57cb1a62e0d1c2efda01ecc85c06d
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-11-04 11:42:01 +01:00
Martin Smith 45b10ee02a qdoc: Don't output docs for internal things
This update to the Generator base class prevents qdoc
from writing an html file for anything that is marked
\internal if the user has not set the showinternal flag.

Task-number: QTBUG-34269
Change-Id: Ia60109d4568447501370bb9d4c1344a48f9b6113
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Nico Vertriest <nico.vertriest@digia.com>
2013-11-01 14:52:47 +01:00
Martin Smith 0b152831cc qdoc: Update qdoc's QML parser
Because qdoc is part of qtbase/src/tools, it is not allowed to depend
on anything outside of qtbase. But qdoc uses the QML parser from
qtdeclarative, so qdoc has its own copy of the QML parser sources. The
QML parser has been updated to the current version for Qt 5.2.

Task-number: QTBUG-34269
Change-Id: I5ac9c8ff08a3494d5c35a0014a437be88f2dc31d
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Nico Vertriest <nico.vertriest@digia.com>
2013-11-01 14:52:47 +01:00
Martin Smith e9fe369321 qdoc: Corrected error in QDocDatabase::findQmlType()
It was still using the QML module version number as
part of the search key. e.g. it tried to find the
type node for QtQuick.Controls::Button using
QtQuick.Controls2.Button, but now it searches without
the 2.

Task-number: QTBUG-34173
Change-Id: Ibc8b6d9ef4ceebb20c1be00ec3bc9190c51bcdf3
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Nico Vertriest <nico.vertriest@digia.com>
2013-11-01 14:52:47 +01:00
Martin Smith 6893a0d656 qdoc: Part 2 of fix for inheriting abstract QML types
This fix not only gets the property lists correct
but also creates correct links to the property docs.
A side effect is that QML properties, methods, and
signals whose names begin with "__" are automatically
treated as if they are marked \internal. This had been
agreed earlier but had not been implemented. It is also
required to fix this bug so it is included here.

Task-number: QTBUG-33814
Change-Id: I57de1e49774db47cb57c042f181ccc8edec62d13
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Nico Vertriest <nico.vertriest@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-11-01 14:52:47 +01:00
Martin Smith 7e6ca1ef0d qdoc: Internal QML Types no longer marked public
When a QML type marked with \internal is read from an index file,
it is given private access instead of public access.

Task-number: QTBUG-34010
Change-Id: If9270372cf4db835dca9731bce8c446a2fa4e140
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Nico Vertriest <nico.vertriest@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-11-01 14:52:47 +01:00
Martin Smith b21c82908c qdoc: Snippets files no longer parsed by qdoc
The files in the doc/snippets subdirectory of each example
subdirectory are no longer parsed by qdoc as source files.
They continue to be used as snippets files.

This fix also ensures that there are no duplicates in the
list of files to be parsed.

Task-number: QTBUG-34003
Change-Id: Icec1a2a539237f24ee6bae89c6401f0dc81826d1
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Nico Vertriest <nico.vertriest@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-11-01 14:52:47 +01:00
Martin Smith 9205ae8fa4 qdoc:headers and sources paths are canonicalized
This eliminates the possibility that the same file could
appear in the file list twice causing qdoc to parse it twice.

Task-number: QTBUG-34002
Change-Id: Iab63d778c9f955076515a8ae2f1bd9560099b13d
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Nico Vertriest <nico.vertriest@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-11-01 14:52:47 +01:00
Martin Smith b6a4545b8f qdoc: Include internal types in the index files
Internal types can be inherited. Documentation is not created for
internal types, but if an internal type is abstract, its properties
must be listed on the documentation page of each subtype that inherits
the internal type. This fix includes internal types in the index file.

Task-number: QTBUG-33814
Change-Id: Ib6ef7cbd92804b3c605009802ddb15d35b32692c
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Nico Vertriest <nico.vertriest@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-11-01 14:52:47 +01:00
Friedemann Kleint d7f8f7e078 qdbusxml2cpp: Fix warnings about writing to closed devices.
Unearthed by fe1cbe9ca7 while
building QPlatformSupport.

Change-Id: Ife56efe111dda6bcf9f11f9c144a4d1dc1651380
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-29 16:23:00 +01:00
Kai Koehne befe02aa6e Fix crash in qdoc startup
the order of initialization of static variables is undefined, and we
therefore cannot (safely) initialize the array with static QStrings
declared elsewhere.

This was leading to crashes in MinGW gcc 4.8.0. Work around the issue
by initializing the array at runtime initialization instead.

Task-number: QTBUG-34172
Change-Id: I24f0e6af6685fc280d12c8ef90d40b8ebe994450
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-10-18 18:01:54 +02:00
Tasuku Suzuki a3a1bd755f Fix build when fwrite() is declared with attribute warn_unused_result
Task-number: QTBUG-33921
Change-Id: I58dded1f54239e4c5cfd5f4f5c1655dbf879b2c8
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-15 17:53:32 +02:00
Jerome Pasion 4533cc9944 Doc: Adding mark-up to boolean default values.
Default values should have mark-up to denote that they are code.
This commit changes:
-"property is true" to "property is \c true".
-"Returns true" to "Returns \c true".
-"property is false" to "property is \c false".
-"returns true" to "returns \c true".
-"returns false" to "returns \c false".

src/3rdparty and non-documentation instances were ignored.

Task-number: QTBUG-33360
Change-Id: Ie87eaa57af947caa1230602b61c5c46292a4cf4e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-08 00:46:27 +02:00
Martin Smith db7501b051 qdoc: Remove algorithm to find common prefix
HtmlGenerator::generateCompactList() no longer uses an algorithm to
find out a common prefix for classes/qml types when generating the
alphabetical lists. The common prefix argument is no longer optional.
To indicate there is no common prefix, pass an empty string as the
common prefix argument.

Task-number: QTBUG-33750
Change-Id: I4b44bbcff909fcea5c7bfd58c6796e303086bc68
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-04 09:40:55 +02:00
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