summaryrefslogtreecommitdiffstats
path: root/src/corelib/global
Commit message (Collapse)AuthorAgeFilesLines
* iOS: Move Q_OS_IOS out of makesespec to qsystemdetection.hTor Arne Vestbø2013-02-261-0/+6
| | | | | | | | | We treat iOS as a variant of Mac OS, so for iOS both Q_OS_MAC and Q_OS_IOS will be defined. This matches what Apple assumes in the header file TargetConditionals.h Change-Id: I55cc851401b748297478e4c32e84e0f6e1fdfc28 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QPA: Add interface for setting the application state explicitlyRichard Moe Gustavsen2013-02-212-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The motivation for this patch is twofold: 1: we need a way (for iOS/Android) to tell the current window to remove focus from the focus object when the user hides the input panel. Otherwise, if the focus object is e.g a line edit, the cursor will continue to blink inside it, which is wrong. As it stands, telling the active window to deactivate (by calling QWindowSystemInterface::handleWindowActivated(0)), will cause the whole application to deactivate if no windows are active, which is not what we want. 2: Qt currently understands just two application states, Activated and Deactivated. On mobile platforms we can have other states as well, like "suspended" on iOS. So controlling the application state should not depend on window activation, but instead be controlled through a separate API by the platform plugin. This patch will add the following function: QWindowSystemInterface::handleApplicationStateChanged(Qt::ApplicationState newState) that lets us control the application state from the plugin. This also means that we factor out application state handling from window activation, which also gives us a way to remove focus from a window while keeping the application active. To not break existing desktop platforms that relies on application activation being tied to window activation, we need to make this API opt-in by using a platform integration capability hint. This is not optimal, but found necessary after investigating several other solutions. Which states (other that active/inactive) it makes sense to add to Qt::ApplicationState will be a topic for later patches. Change-Id: Ic6fdd3b66867abb67da43eba04ec86f06d82ff94 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-02-201-2/+20
|\ | | | | | | | | | | | | | | | | | | 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
| * Document the qintptr for public usageLaszlo Papp2013-02-201-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | The QAbstractSocket API has been already using this as a return type. Hence, this has already been exposed to the public API users, anyhow. http://qt-project.org/doc/qt-5.0/qtnetwork/qabstractsocket.html#socketDescriptor A minor mistake has also been fixed in this commit at the quintptr section. Change-Id: I8143b3050428548ff6baee2e3a0bce4058ea8701 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Introduce macros for simplifying platform checks on Mac OS and iOSTor Arne Vestbø2013-02-181-0/+10
| | | | | | | | | | Change-Id: Ibab8486e1e6d7e4d8922fce96add055e60c6095c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Start using Availability.h over AvailabilityMacros.h on Mac OSTor Arne Vestbø2013-02-181-13/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The former was introduced with Mac OS 10.6 and can also be used for checking iOS versions, so it's preferable. We still include the old availability header, and use it in various places in Qt, and so does the Mac OS frameworks, so there's no need to phase it out, but for new platform checks we want to use the updated macros of the form: #if __MAC_OS_X_VERSION_MAX_ALLOWED > __MAC_10_7 Ideally you should not use the named version macro, and use 1070 instead, in case you build against an SDK that does not define the named version yet, but we take care of defining these in qsystemdetection.h for convenience. Change-Id: I9cfa72e37816583f28ff9643793f111e155b7789 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Don't override OS X deployment target unconditionally in qsystemdetection.hTor Arne Vestbø2013-02-181-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | AvailabilityMacros.h will pick up the MACOSX_DEPLOYMENT_TARGET environment variable, as well as the -mmacosx-min-version= command line flag, and set the MAC_OS_X_VERSION_MIN_REQUIRED based on that. By setting the define before including AvailabilityMacros.h we essentially skipped that whole logic and always set it to 10.6. Only in the case where there's no deployment target specified on the command line do we want to ensure that it's at least 10.6 Change-Id: Ic558ff4deb77937ea805b048d83949815b273bcc Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Remove ifdefs for supporting Mac OS <= 10.5Tor Arne Vestbø2013-02-181-1/+1
| | | | | | | | | | | | | | | | Qt5 requires Mac OS 10.6, so we can remove checks such as if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6 Change-Id: Iea21727a277291148704ecf9677ed0b68c24920f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-02-141-6/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Bump Qt version to 5.0.2Sergio Ahumada2013-02-011-2/+2
| | | | | | | | | | Change-Id: I573601fb609cdb632fbb422920801a24be4c0448 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Merge branch 'release' into stableSergio Ahumada2013-01-311-1/+1
| |\ | | | | | | | | | Change-Id: If3aa1b7ed75082eff6e9761ad82c83691135ed60
| | * Fix some more old references and links to NokiaSergio Ahumada2013-01-281-1/+1
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-28156 Change-Id: I9ba0d6f1e92103219bec1e61e716b6b2f269a8ad Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| * | Doc: Fix description about Qt::UniqueConnectionSze Howe Koh2013-01-291-5/+5
| | | | | | | | | | | | | | | | | | | | | Qt::UniqueConnection is a flag, not a standalone connection type. Change-Id: Ibafb7306f3d60753a4381897488131e6484d368f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Add Q_DECL_UNUSED, marking functions or variables unusedThiago Macieira2013-02-121-0/+4
| | | | | | | | | | | | | | | | | | | | | It's similar to Q_UNUSED, but this is to be added in the declaration Change-Id: I2f664129fb1f34f7913ef371d45c2c0fec958174 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Add qunsetenv(), next to qputenv() and friends.David Faure2013-02-072-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing tst_qgetputenv shows that qputenv with an empty value doesn't lead to the same result on Windows and on Unix, and there was no way to fully delete an env var on Unix (which is needed for some env vars where not-set and empty are different, such as TZ, see `man tzset`). This is also why qglobal has qEnvironmentVariableIsSet() vs qEnvironmentVariableIsEmpty(), on the getter side. Qt4's ifdefs around unsetenv in qapplication_x11.cpp show that this is needed within Qt too (although this particular startup notification code has to be re-imported into Qt5 still). Change-Id: I631c8cddbcf933d4b9008f11aefc59f5a3c7c866 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Add note about QT_{BEGIN,END}_HEADER removal for Qt 6Sergio Ahumada2013-02-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | This macro usage has been removed from most of the Qt 5 code, so adding a note to be completely removed in Qt 6. Change-Id: I19a90db78745f3cacbcbf206e8642c7d7c36e04a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Add QT_{BEGIN,END}_HEADER definition backSergio Ahumada2013-02-051-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | This commit partially reverts 07e3bcdc106ac42703ae0fb88b6cac2d2bfdd072 The empty macro defition was not supposed to be removed yet. Change-Id: Ie83b2adbe2328b83c70a70274a401e1e6c74498f Reviewed-by: David Faure (KDE) <faure@kde.org>
* | | Put #ifdef around Windows-only functionThiago Macieira2013-02-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Only on Windows do we use wchar_t messages. Change-Id: I9672371aa001effc755b32f9d7c83ada8464394f Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | | Remove left-overs of QT_{BEGIN,END}_HEADERSSergio Ahumada2013-01-311-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2013-01-292-2/+2
|\ \ \ | | | | | | | | | | | | refs/staging/dev
| * | | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-01-282-2/+2
| |\| | | | | | | | | | | | | | Change-Id: I12b4d8b99bdccae53b1a978cd6eb8f4ac6fb3c76
| | * | Doc: Fix module name formatSze Howe Koh2013-01-252-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | Add the Qt::ItemNeverHasChildren flag and use it in QTreeView.Stephen Kelly2013-01-292-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It can be used to determine whether expand() should really expand. Change-Id: If79d8c295a4ca1356e60051682b227524a065126 Reviewed-by: David Faure (KDE) <faure@kde.org> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* | | | Remove QT_{BEGIN,END}_HEADER macro usageSergio Ahumada2013-01-2912-44/+0
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The macro was made empty in ba3dc5f3b56d1fab6fe37fe7ae08096d7dc68bcb 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>
* | | Doc: write up the docs for Q_GLOBAL_STATICThiago Macieira2013-01-243-13/+523
| | | | | | | | | | | | | | | | | | Change-Id: I5bf4d0d027dc8f960c94b4be3ebf7381e9ef4be1 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2013-01-2330-31/+31
|\ \ \ | | | | | | | | | | | | refs/staging/dev
| * | | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-01-2230-31/+31
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * | Update copyright year in Digia's license headersSergio Ahumada2013-01-1830-31/+31
| | | | | | | | | | | | | | | | | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | | Change QT_FATAL_WARNINGS behavior to require a non-empty valueThiago Macieira2013-01-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows easy unsetting of the variable in a shell like: QT_FATAL_WARNINGS= progname Change-Id: Ie9cfb6ebfd4931de1c90af68bfeeae1e9f3d4b9d Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | | | VxWorks header only available in DKM mode and not in RTP mode.Pasi Petäjäjärvi2013-01-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Check if _WRS_KERNEL is defined so we are compiling for DKM mode. Change-Id: I15801b0575d3fe6e543f81a177fd01d015d9085f Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* | | | Add a new Q_GLOBAL_STATIC implementationThiago Macieira2013-01-223-119/+161
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unlike the previous implementation, this implementation is locked: only one initialisation is ever run at the same time. It is exception-safe, meaning that a throwing constructor will restart the process. Also, start using the thread-safe behaviour that GCC has offered for a long time and C++11 requires. Change-Id: I20db44f57d258923df64c0051358fd0d9a5ccd51 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: David Faure (KDE) <faure@kde.org> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-01-163-13/+30
|\| | | | | | | | | | | | | | | | | | | | Conflicts: src/widgets/styles/qstyleanimation.cpp Change-Id: Iae570895be6544de80f9c1ec309d1a08c59daff8
| * | Fix accidental obsolation of Qt::InputMethodQueryPekka Vuorela2013-01-111-1/+1
| | | | | | | | | | | | | | | | | | | | | \obsolete for one value was marking the whole enum obsolete. Change-Id: If022b4af8365e3448556ca11a538203ab5c63c78 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * | Protect Q_UNREACHABLE and Q_ASSUME by Q_ASSERT.Jędrzej Nowacki2013-01-102-12/+29
| |/ | | | | | | | | | | | | | | | | Both Q_UNREACHABLE and Q_ASSUME with an invalid condition can produce really weird side effects and crashes. Change-Id: I4d808c705ae98388ef5853e6539b70bd5e5ad34b Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Bump Qt version to 5.1.0Frederik Gladhorn2013-01-151-2/+2
| | | | | | | | | | | | Change-Id: I6d372c933e48eeda921fe781b073bf4e05b31585 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: David Faure (KDE) <faure@kde.org>
* | Merge branch 'stable' into devSergio Ahumada2013-01-093-3/+4
|\| | | | | | | Change-Id: I7f0dab6bdb1f3cc1d3e6c30166ff6db9dfae37e9
| * Define Q_COMPILER_AUTO_FUNCTION for MVSCThiago Macieira2013-01-081-0/+1
| | | | | | | | | | | | | | | | | | This definition was missing. It's clear MSVC supports this feature because it has been in use in qtconcurrentrun.h under an #ifdef Q_COMPILER_DECLTYPE, which is defined for MSVC. Change-Id: Id76198b2be8bba13fd00c65d6d4f73d3ef601449 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| * Replace macro qdoc with Q_QDOCDebao Zhang2013-01-082-3/+3
| | | | | | | | | | | | | | | | 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>
* | Merge "Merge branch 'stable' into dev" into refs/staging/devJędrzej Nowacki2013-01-071-2/+5
|\|
| * Disable Q_COMPILER_RVALUE_REFS on QNXRafael Roquetto2013-01-041-0/+3
| | | | | | | | | | | | | | std::forward and std::move are not yet supported by the NDK. Change-Id: I1df1b5e88717c0d27a280862b98eb68262927f2b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Remove redundant Q_OS_BLACKBERRY define check.Rafael Roquetto2013-01-041-2/+2
| | | | | | | | | | | | | | Q_OS_QNX is always implied by Q_OS_BLACKBERRY Change-Id: Ic07a967ab9a45b3c6c088aa8399bab823b9a413e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Rename QRegularExpression-related feature defs to QT_NO_REGULAREXPRESSIONGiuseppe D'Angelo2013-01-072-0/+10
|/ | | | | | | | | | | | QRegExp and QRegularExpression are totally independent, therefore using two different defines is the right thing to do. Also, document the new define in qfeatures.{txt,h}. Change-Id: Ice4826ea543f4b22f1cc27bf31ed6e043d0c43b0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Make these headers includable directly, on all systemsThiago Macieira2013-01-011-1/+2
| | | | | | | | | | | | | For qwineventnotifier.h, just wrap the code around #ifdef Q_OS_WIN. This has the added benefit of fixing the current qt_no_master_include problem (that is, even if you #include <QtCore> on Windows, you wouldn't get it). For qtypetraits.h, it requires qglobal.h first. Change-Id: If1ba09a0a29de429a5b87e9878c8ac6a62a443c4 Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Bump Qt version to 5.0.1Sergio Ahumada2012-12-211-2/+2
| | | | | Change-Id: Ie8f437b8dfe8a67c7b34321439dd988a02612437 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Doc: Removed the \relates instancesVenugopal Shivashankar2012-12-201-2/+0
| | | | | | | | | | | | | | | | | QDoc supports \relates in the context of a function that relates to an existing class or a namespace, but not in the context of a class. We can use \sa to list the related classes or namespaces for a class instead. This change ensures that QDoc generates documentation for QMessageLogger and QMessageLogContext classes. Task-number: QTBUG-28468 Change-Id: I2242ab730fe5e3acf54b6fa65774e751d2daa7a4 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Mac: Ignore ScrollBarAlwaysOn policy for transient scrollbarsGabriel de Dietrich2012-12-191-1/+3
| | | | | Change-Id: I8a542263df64a21cad6b8cddc5ab1d8a93e153d5 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Fix direct compilation of qtypeinfo.h and othersThiago Macieira2012-12-183-5/+6
| | | | | | | | | | | | | | qtypeinfo.h is included by qglobal.h, so it needs to include that before the #ifdef. Otherwise, we get a circular dependency problem with qflags.h: ./QtCore/../../src/corelib/global/qflags.h:60:27: error: "Q_PRIMITIVE_TYPE" has not been declared Also, take the opportunity to fix the other headers that are included from qglobal.h to avoid similar problems in the future. Change-Id: I99a56f42775c24bdcc796995b06509c1ca0cb849 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Entered hardcoded url for <SVG 1.2 Tiny>Nico Vertriest2012-12-141-1/+1
| | | | | | | | Corrected in qnamespace.qdoc Task-number: QTBUG-27512 Change-Id: I9e0ecdb122d02f53dd3be457bfa2b358711222e0 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* doc: Remove documentation for removed TRUE and FALSE macrosSergio Ahumada2012-12-061-20/+0
| | | | | | | These macros were removed by 158f39ec7870c54ff3a15f72fe151062d6daa172 Change-Id: I2aabef1dd2c9cb3949040c167a4e5cf1a9390ba6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Remove the TRUE and FALSE macrosDavid Faure2012-12-061-11/+0
| | | | | | | | | | They are completely unused in Qt, and are a potential source of compilation errors in application code. Change-Id: I6dfe2891f3b2365a30048f99c31e8e3a2425e62b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>