Commit Graph

91 Commits (c26d5cf6ef50ea102cfb18eb2109f60bcdfdafb6)

Author SHA1 Message Date
Marc Mutz 559a72e4b6 QtConcurrent::run: allow to select the thread pool on which to run the task
This is the second and last part of the forward-port of
https://qt.gitorious.org/qt/qt/merge_requests/1281

[ChangeLog][QtConcurrent] run() now optionally takes as its first argument
the QThreadPool to run the task on.

Task-number: QTBUG-17220
Change-Id: I4b46eca6ef7de9cd34dac07e6d4b8ad830426b97
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-08-05 18:05:04 +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
Marc Mutz 9b58f95c63 Doc: Add docs for QtConcurrent::{Unhandled,Exception}
Change-Id: I2a9f28e572f8e59e260f659b6d17721037cbd38e
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-03-17 20:52:42 +01:00
David Schulz cc0636ea1e Remove level 4 compiler warnings from MSVC.
Task-number: QTBUG-7233

Change-Id: I52067e3a22e98a62fd87415906e54a54ff2d6b49
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Dave McClelland
2014-03-15 10:46:17 +01:00
Nikolai Kosjar 08cbbde617 QtConcurrent: Extend workaround GCC bug 58800 in median calculation
GNU/Linux distributions like Fedora update the __GLIBCXX__ date (e.g.
because of applied extra patches on top) and thus make the current
workaround useless. As long as no official gcc/libstdc++ version is
released, we can increment the "upper bound" date to cover such cases.

See also comment #1 at QTCREATORBUG-11129.

Change-Id: I1fdf6f312664163f6a99a8eddf490646ff25a87d
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-02-19 06:45:00 +01:00
Nikolai Kosjar 9302169bd5 QtConcurrent: Workaround GCC bug 58800 in median calculation
1) Revert 880b614 for libstdc++ <= 4.7.3 || (4.8.0 >= ... <= 4.8.2)
2) Fix off-by-one error in reverted code for Median::_bufferSize <= 2.

Task-number: QTBUG-35058
Change-Id: I9d226c2806c1cf06c3d5b9c9f371262d2d69bf2b
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2013-12-03 11:45:18 +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
Marc Mutz 0884802bb5 Revert "QtConcurrent::Median: add some qMove()"
This reverts commit 12bd604f24.

This causes problems in QtCreator without anyone being able to say why.

Task-number: QTBUG-34397
Change-Id: I7733c3db7d35bba2734e128476aabcb0152a91e4
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-11-04 22:46:13 +01:00
Oswald Buddenhagen 43684a20d0 use private linkage where possible
Change-Id: Ie8eaa71bee87654c21218a23efd7e9d65b71f022
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-31 19:49:32 +01:00
Sze Howe Koh bec8d2e089 Doc: Remove unofficial Qt Concurrent headers
<QtConcurrentRun>, <QtConcurrentMap>, and <QtConcurrentFilter> are not
official headers. Developers should use <QtConcurrent> instead.

As a side-effect, this patch also stops the function documentation from
being duplicated (one copy in the QtConcurrent namespace page, one copy
in the \headerfile pages)

(For some reason, \brief doesn't work on standalone pages like these)

Change-Id: I9482f014acf52ba734a3fa597cdcc5931fcd7ecf
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-10-30 00:34:34 +01:00
Sze Howe Koh 3567f4c2fc Doc: Update boost::bind()/std::tr1::bind() to std::bind()
boost::bind() became part of the C++11 standard with minor
modifications. Present the standard version as the main one to use, but
list the others as alternatives.

Change-Id: If419d8d24c0925119d3b9f7ff76be44981351bc0
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-28 12:05:22 +01: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
Marc Mutz 0206c1e4e7 QtConcurrent: remove a using declaration in a header file
See Sutter/Alexandrescu, Item 59, for rationale.

Change-Id: Ie689e2a00f9ed0fce1ccfdb77c943dd1b1beb4dc
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-10-05 00:25:26 +02:00
Jerome Pasion 9bd350d03d Doc: Adding "qtdoc" to the depends qdocconf variable.
-needed to link to Qt 5.2 docs (as seen on the navigation bar)

Change-Id: Icc0bdb95231dbccd0393d4f401daafd8bcb30472
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-09-26 17:00:26 +02:00
Marc Mutz 935e52108d QtConcurrent::IterateKernel: fix a race on a cache variable
getticks() can be called concurrently, so accessing a non-atomic static long,
even when the assignment will produce the same value in evey case, constitutes
a data race.

Fixed by making 'useThreadCpuTime' atomic.

Since atomic long's might not be supported on all platforms, use an
atomic int instead. To avoid a narrowing conversion, and since we're
not interested in the return value of sysconf(), only whether it
succeeded, convert any non-error return value to 0 prior to storing
in the atomic.

Change-Id: Ic285f7801327b30ddcd9c24bf1ccee3112a447b1
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-09-26 06:31:32 +02:00
Sergio Ahumada a5d34b34fb Merge branch 'stable' into dev
Change-Id: I37d85631ab1165ab91457d8880c4da907a9df73b
2013-09-21 17:33:15 +02:00
Sze Howe Koh edf1a5706e Doc: Remove duplicated Qt Concurrent overview
- The "Concurrent Programming" page is an exact duplicate of the Qt Concurrent module landing
  page.
- The "qtconcurrent intro" target is not referenced anywhere.

Change-Id: Ice9b4360783013fe972258ca54a0004be43b8766
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-09-16 16:40:23 +02:00
Sze Howe Koh 14bcdce819 Doc: Remove space between class name and method name
Previously, the generated documentation contained
"QFutureWatcher:: progressValueChanged()". While it is legal C++, it
prevented QDoc from auto-linking to the QFutureWatcher class reference.

Change-Id: I2cace763f1825b0b4478b2bde95679d25df8bb5e
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-09-16 16:40:23 +02:00
Marc Mutz 12bd604f24 QtConcurrent::Median: add some qMove()
In case this code is ever instantiated with a type that actually benefits from moving.

'value' is save to move since it was passed to the function by value.
'*mid' is save to move since it originates in a container that will be
 discarded on the next line anyway.

Change-Id: I13587be10974ba6cf95d56e0f8912ff88167b60b
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-09-13 11:47:06 +02:00
Marc Mutz 46df8921e7 QtConcurrent: fix median calculation
The median, for arrays of odd size, is found in [size/2], not [size/2+1].
For arrays of even size, the code doesn't work anyway, so nothing to do there.

Change-Id: Id23ff3fe9538c2d8ef8f88e23127cb92af08b444
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-09-12 14:48:58 +02:00
Marc Mutz 880b614c8f QtConcurrent: use nth_element to calculate the (correct) median
Sorting is O(NlogN) complexity, while nth_element is linear.
Also remove the errornous +1 when calculating the median position.

Change-Id: Ib39085b59a6c5d15a3a940b1ce3377080340bc09
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-09-12 14:12:30 +02:00
Giuseppe D'Angelo 3256856bbe Remove qSort usages from QtConcurrent
QtAlgorithms is getting deprecated,
see http://www.mail-archive.com/development@qt-project.org/msg01603.html

Change-Id: I07a8b13f75eb789c45a7c2ef11c0dc15d9fdf8f6
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-09-11 12:24:33 +02:00
Jerome Pasion 0a796cfddf Doc: Setting module pages' \qtvariable.
Argument to \qtvariable is the QT variable needed for linking to the
module.

Task-number: QTBUG-32172
Change-Id: I181c0cfaf9529f3aea741cdaee0f20d6cd0e2d2f
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-08-02 13:35:45 +02:00
Jerome Pasion 200cad26f2 Doc: Adding navigation configs in the module qdocconf files.
-The navigation bar requires the titles of the landing page and
 relevant pages.

Change-Id: I5d5986b2bf74205cd49957b63fd6ac4e32cbb36b
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-06-25 14:02:57 +02:00
Jerome Pasion 3194df547e Doc: Removed pages from "technology-apis" group.
"technology-apis" doesn't serve a purpose anymore and its product
function is replaced by the new overviews on the landing page.

Change-Id: I1e959981fd163966a54bec0d697bed12007c39e6
Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
2013-05-27 02:45:21 +02:00
Sze Howe Koh bf9ae9018e Doc: Give C++ class lists consistent titles
The majority format is "<Qt Module> C++ Classes" (see
http://qt-project.org/doc/qt-5.0/qtdoc/modules-cpp.html)

Also, fix a broken link (Qt Network C++ Classes)

"<Qt Module> C++ API" is perhaps the more correct format, but that's
part of a much bigger cleanup: QTBUG-30556

Change-Id: I753365e2bec8d85d9a5f686b4aa35c9eeeaf0871
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-04-29 19:01:48 +02:00
Axel Waggershauser b11317a643 Whitespace cleanup: remove trailing whitespace
Remove all trailing whitespace from the following list of files:
*.cpp *.h *.conf *.qdoc *.pro *.pri *.mm *.rc *.pl *.qps *.xpm *.txt *README
excluding 3rdparty, test-data and auto generated code.

Note A): the only non 3rdparty c++-files that still
have trailing whitespace after this change are:
* src/corelib/codecs/cp949codetbl_p.h
* src/corelib/codecs/qjpunicode.cpp
* src/corelib/codecs/qbig5codec.cpp
* src/corelib/xml/qxmlstream_p.h
* src/tools/qdoc/qmlparser/qqmljsgrammar.cpp
* src/tools/uic/ui4.cpp
* tests/auto/other/qtokenautomaton/tokenizers/*
* tests/benchmarks/corelib/tools/qstring/data.cpp
* util/lexgen/tokenizer.cpp

Note B): in about 30 files some overlapping 'leading tab' and
'TAB character in non-leading whitespace' issues have been fixed
to make the sanity bot happy. Plus some general ws-fixes here
and there as asked for during review.

Change-Id: Ia713113c34d82442d6ce4d93d8b1cf545075d11d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-03-16 20:22:50 +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
Oswald Buddenhagen e01343352e fix doc page urls
they are versioned nowadays

Change-Id: I839db633e9d7d63c9d445f8e914b529bd7ce60a2
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-02-04 14:28:24 +01:00
Oswald Buddenhagen 06a6d1da58 substitute fixed version numbers in qdocconf files with variables
Change-Id: Ie57765c10a8e90d6fc74ee5a8fd84bfc7cd8bcf2
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-02-01 10:23:26 +01:00
Sergio Ahumada 07e3bcdc10 Remove QT_{BEGIN,END}_HEADER macro usage
The macro was made empty in ba3dc5f3b5
and is no longer necessary or used.

Discussed-on: http://lists.qt-project.org/pipermail/development/2013-January/009284.html
Change-Id: Id2bb2e2cabde059305d4af5f12593344ba30f001
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-01-29 01:06:04 +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
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
Frederik Gladhorn 7075e29199 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/widgets/styles/qstyleanimation.cpp

Change-Id: Iae570895be6544de80f9c1ec309d1a08c59daff8
2013-01-16 01:22:45 +01:00
Frederik Gladhorn 7818eaf2b1 Bump Qt version to 5.1.0
Change-Id: I6d372c933e48eeda921fe781b073bf4e05b31585
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-01-15 12:45:21 +01:00
Thiago Macieira 0c4f6c6ea9 Fix compilation of Qt Concurrent with gcc 4.3
GCC 4.3 had support for decltype but not the new function syntax (which
we call "auto function" for short). That meant the code did not compile.

qtconcurrentrun.h:105: error: expected initializer before ‘->’ token

Task-number: QTBUG-28984
Change-Id: I792276ec59c4f6e73f6137c517636e70c71ed849
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-01-15 07:28:49 +01:00
Debao Zhang 39795b1411 Replace macro qdoc with Q_QDOC
Both qdoc and Q_QDOC are used in source code, which looks not good.

Change-Id: I4f3a71670278b0758d92bfa5db086a07e1b1acfd
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-01-08 10:48:33 +01:00
Thiago Macieira 96d06124a1 Fix standalone header compilation
qtconcurrentfunctionwrappers.h:277:22: error: 'QStringList' was not declared in this scope

Change-Id: I54c48386d90146c872679672a1d8cc3675d49c39
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-23 17:53:57 +01:00
Sergio Ahumada 7426102c73 Bump Qt version to 5.0.1
Change-Id: Ie8f437b8dfe8a67c7b34321439dd988a02612437
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-12-21 22:49:02 +01:00
Lars Knoll 753a478925 Fixup concurrent docs
qdoc now finds an overview and the concurrent namespace.

Change-Id: I2cd15bc19091f53bd2bb98919e685d49d473dbec
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-30 00:48:37 +01:00
Eike Ziller 8534bb3dd6 Fix example paths in example manifests that are used by Qt Creator.
Task-number: QTBUG-27801
Change-Id: I345c009fc0e4e1c1eabb43ad142e3b474e7a6fee
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-26 17:33:37 +01:00
Jerome Pasion b4a05fd2d8 Doc: Cleaning up QHP information in module configuration files.
There is a common standard among all Qt modules. These changes affect
the final .qch file for each module.

Changes:
1)URL in qt-project.org is confirmed by DevNet maintainer
url = http://qt-project.org/doc/<module>

2)Landing page title mapping
indexTitle = landing page

3)"C++ Classes" as a child node.
The list of C++ classes and the titles are specified in the wiki.

4)Removed extra subprojects.
They are not needed for now. Each module may need additional nodes.

Change-Id: I1825476c21fe9aaddc9d6b512ff74229f17271a0
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-11-07 10:16:08 +01:00
Jerome Pasion e52f178b0d Doc: Removed the HTML template from the .qdocconf files
-qt-module-defaults.qdocconf already contains the HTML template.

Change-Id: I5757741166f0f688ce0e8a4e77ed45fd4d72f1c7
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-10-26 15:00:04 +02:00
Oswald Buddenhagen 1e68ec7e67 remove explicit load(qt_build_config)s from the libraries
.qmake.conf (and previously .qmake.cache) already does that for us.

Change-Id: I06cc01fa45921d7bd66dda7a0f88729faeff37bd
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-10-19 13:02:17 +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
Marc Mutz 7d21abfca3 Move QFutureSynchronizer back to QtCore
This class, too, belongs with QFuture.

Change-Id: I41a532ca66c156f1631e4b22ffc1a5879c854488
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-09-28 23:50:10 +02:00
Marc Mutz 08c50599f1 Move QFutureWatcher back to QtCore
This belongs with QFuture.

Change-Id: I555cd01c1d3890fbbaca4fd8a9170292ea4eb0fb
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-09-28 23:50:10 +02:00
Marc Mutz 727f25214e Move QFuture from QtConcurrent to QtCore
This class belongs to QThreadPool/QRunnable more than to QtConcurrent, so
move to QtCore, where QThreadPool awaits it.

Change-Id: Ibf20288a986593bf779453427c2dae8db1e1423a
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-09-28 23:50:10 +02:00
Marc Mutz f7a33ec29f QFuture: remove unused include
qtconcurrentcompilertest.h defines the HasResultType<> template, which
qfuture.h doesn't use.

Include qtconcurrentcompilertest.h in the headers which actually use
HasResultType<> instead.

Change-Id: Ic5939ccf4c9058b2b624432c7ea48a5aca2236b5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-09-28 23:50:10 +02:00
Marc Mutz a65a98399b Move QtConcurrent::ResultStore as QtPrivate::ResultStore to QtCore
No compatibility header needed. While this wasn't marked as private API,
it wasn't documented, either.

This is a prerequisite for moving QFuture to QtCore.

Change-Id: I8e986e6e2a22fbe5cf08d0600ec39ae9ae993e20
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-09-28 23:50:10 +02:00