summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Haiku: Fix tst_qfileselector.cpp unit testTobias Koenig2015-03-125-1/+4
| | | | | | | | | Add the missing test data for haiku platform selector and adapt unit test to use them. Change-Id: I578e7f7e04f2a4c68f23d5356ea201e9562dbe6c Reviewed-by: Augustin Cavalier <waddlesplash@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make QRingBuffer a 64-bit safeAlex Trotsenko2015-03-122-23/+23
| | | | | | | | | | | According to I/O API, QIODevice and its inherited classes should be able to process a full 64-bit offsets and lengths. This requires 64-bit parameters in operations with internal buffers. Rework QRingBuffer to avoid implicit truncation of numbers and fix some 64-bit issues in code. Change-Id: Iadd6fd5fefd2d64e6c084e2feebb4dc2d6df66de Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* tst_qvariant: Remove an obsolete QSKIPOlivier Goffart2015-03-111-3/+0
| | | | | | | | | | The QSkip was there because of a bug in QList. Since commit 8153386397087ce4f5c8997992edf5c1fd38b8db, the test is no longer using QList. We can remove the QSKIP Task-number: QTBUG-8959 Change-Id: Icc18d341d734d0605dcddaf925586f3bd603d6a0 Reviewed-by: Jocelyn Turcotte (Woboq GmbH) <jturcotte@woboq.com>
* Introduce QRgba64 structure for 64bit RGBA valuesAllan Sandfeld Jensen2015-03-101-1/+84
| | | | | | | | This structure is meant to replace QRgb where higher precision is needed. Change-Id: I49d441e2133371a8b91c2e6af0c137bcc5fcb9ed Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Add string range tests to qaccessibilitymacBoris Dušek2015-03-101-1/+21
| | | | | Change-Id: Ie01b12639057b5b9092531b74948d47f2b080a3d Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
* Refactoring of qaccessibilitymac testBoris Dušek2015-03-101-37/+223
| | | | | | | | | | In order to support testing values of more accessibility attributes and parameterized attributed, we provided some "infrastructure" to be able to query them with minimal effort. We also reworked current 6 supported attributes to use this new way. Change-Id: Iece670fa9a862f84389466587c1595466eeedc7f Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
* Merge "Merge remote-tracking branch 'origin/5.5' into dev" into refs/staging/devFrederik Gladhorn2015-03-0961-70/+683
|\
| * Merge remote-tracking branch 'origin/5.5' into devFrederik Gladhorn2015-03-0961-70/+683
| |\ | | | | | | | | | Change-Id: I9d10911c51700965f2cf0e3173b88fd9116bd3ee
| | * QStringAlgorithms::simplified_helper: add missing check for detachedThiago Macieira2015-03-071-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | Otherwise, we modify shared strings that happened to be rvalues. Task-number: QTBUG-44706 Change-Id: Ia0aac2f09e9245339951ffff13c85bfc912f03d1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| | * Fix race condition in QDateTime::timeZone() and other methodsThiago Macieira2015-03-071-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When timezone support for QDateTime was added, we decided it was a good idea to delay creating the QTimeZone object and checking that the time is valid in that timezone (including for local time) until the user requested that information. Unfortunately, QExplicitlySharedDataPointer returns a non-const T* in operator->(), which meant we were accidentally modifying the d pointer's contents in const methods, which in turn means those const methods were not thread-safe when operating on the same object. This commit changes the d pointer to QSharedDataPointer, which is safer in this regard and pointed out where the issues with constness were located. Since we can't lazily calculate QTimeZone anymore, we need to do it whenever the date, time or offset changes. Task-number: QTBUG-43703 Change-Id: Ic5d393bfd36e48a193fcffff13b9686ef4ef1454 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * Introduce QQuaternion::rotationTo(vecFrom, vecTo)Konstantin Ritt2015-03-071-0/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | which returns the shortest arc quaternion to rotate vector from to the destination vector to. Change-Id: Ibd7a746789ecdfe6f7fe17e4ac9049f7ac46560d Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * [QQuaternion] Add a way to convert to/from orthonormal axesKonstantin Ritt2015-03-071-28/+95
| | | | | | | | | | | | | | | | | | | | | | | | It is just a convenience wrapper around convertion to/from the rotation matrix. Change-Id: I27511b43866827172960b0152f1c7b65da857f6f Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * Add a QHostAddress::toIPv4Address overload taking a bool *okThiago Macieira2015-03-061-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | This allows one to check whether the conversion is successful without checking for the return result, as the value of 0 represents the valid IPv4 address 0.0.0.0. Change-Id: I637fe55583f2255c85b0d955e5886b61494e0c7c Reviewed-by: Richard J. Moore <rich@kde.org>
| | * QHostAddress: Revert auto-converting of IPv6 v4-mapped addresses to IPv4Thiago Macieira2015-03-061-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 85136496bc8517951dcc3e670d1a46d340819f0d, Shane made QHostAddress automatically convert any IPv6 address that was v4-mapped to IPv4 in QHostAddress. While that is an interesting trick, it prevents us from being specific about what we want. On some OS (like FreeBSD and OS X), the distinction is relevant, so keep it. Moreover, it was inconsistent: it might fail depending on how the QHostAddress was constructed and the order of comparison. [ChangeLog][Important Behavior Changes] QHostAddress will no longer convert IPv6 addresses of type "v4-mapped" to IPv4. To perform this conversion manually, construct another QHostAddress with the result of toIPv4Address(). Change-Id: I06afbc7018539804bb3044ef1fe6a49ac7a5f240 Reviewed-by: Richard J. Moore <rich@kde.org>
| | * Make QPersistentModelIndex an internal meta-typeGabriel de Dietrich2015-03-062-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was already a user meta-type, so it only gets promoted to internal. [ChangeLog][QtCore] QPersistentModel index becomes an built-in meta-type, including QVariant support. Change-Id: I63d733d1eb66aa61691e7afce27fe7372a83ac00 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| | * Manual dialog test: Add a message box for printer errors.Friedemann Kleint2015-03-051-8/+41
| | | | | | | | | | | | | | | | | | Task-number: QTCREATORBUG-13742 Change-Id: I137854eee589cde7a6cf3b841b0b63311e031517 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| | * Introduce QQuaternion::dotProduct()Konstantin Ritt2015-03-051-0/+55
| | | | | | | | | | | | | | | Change-Id: I14b9857ca0a43808b7d536fc258a6bb10f611211 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
| | * Make QCoreApplication::applicationName available after app destruction.David Faure2015-03-051-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling applicationName() in the destructor of a global static (e.g. via QLockFile) was working when calling setApplicationName explicitly but otherwise it would suddenly return an empty string. This led to inconsistencies, the application name switching from non-empty to empty at saving-on-destruction time. There was already a global static, used when setting the app name explicitly before construction. Use it now to store the app name in all cases (explicitly set, or fallback). Change-Id: I71d3a0c40158f8bfd022c385b198346a2594b1cb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Add missing fetchAndXxx methods to atomic classes based on std::atomicThiago Macieira2015-03-0551-19/+111
| | | | | | | | | | | | | | | | | | | | | | | | And add tests for the GCC intrinsics and for std::atomic. Task-number: QTBUG-43794 Change-Id: Ic5d393bfd36e48a193fcffff13b9b2dbaee80469 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| | * Fix bind+connect in both TCP and UDPThiago Macieira2015-03-042-13/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has been known to be broken for a while. Now it works: you can bind and you'll retain the port (and the file descriptor) for the connect call. Incidentally, in fixing the binding for more than one IP for the hostname (with event loop), this commit fixes the setSocketDescriptor XFAIL. [ChangeLog][QtNetwork] Fixed a bug that caused both QTcpSocket and QUdpSocket to close the socket and lose any bound ports before connecting. Now bind()/setSocketDescriptor() followed by connect() will retain the original file descriptor. Task-number: QTBUG-26538 Change-Id: I691caed7e8fd16a9cf687b5995afbf3006bf453a Reviewed-by: Richard J. Moore <rich@kde.org>
* | | QNetworkAccessManager: Support HTTP redirectionMandeep Sandhu2015-03-091-2/+156
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for following HTTP redirect responses on a per request basis. This behavior is disabled by default. It can be switched on by setting the QNetworkRequest::FollowRedirectAttribute to true. 2 new error codes have been added to QNetworkReply: * TooManyRedirectsError: Set when the number of redirects exceed a given value set by the user (defaults to 50 if not set) * UnsecureRedirectError: Set when we are redirecting from a 'https' to 'http' protocol. Test cases for the following scenarios: * Single HTTP redirect using local test server * Changing max-redirects * Testing all redirect related error scenarios The next commit will extend this feature at a QNAM level. Task-number: QTBUG-8232 Change-Id: If9e28ad12bad08bcdc5bc511b1cd59dc9d8150f0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | xcb: implement and deprecate QWidget::setWindowIconText()Shawn Rutledge2015-03-061-0/+2
| | | | | | | | | | | | | | | | | | | | This is a little-used feature which only affects how minimized icons are displayed on certain older window managers, and is not necessary even then. It has not been implemented in Qt 5 until now. Task-number: QTBUG-44659 Change-Id: Ie6ead7a6f922878b349a096d905bf7f675dc2f31 Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* | QCommandLineParser: add parsing mode for options after argumentsDavid Faure2015-03-061-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new mode, ParseAsPositionalArguments, allows to interpret "application argument --opt" as having two positional arguments, "argument" and "--opt". This mode is useful for executables that aim to launch other executables (e.g. wrappers, debugging tools, etc.) or who support internal commands followed by options for the command. "argument" is the name of the command, and all options occurring after it can be collected and parsed by another command line parser, possibly in another executable. [ChangeLog][QtCore][QCommandLineParser] Add parsing mode for options after arguments, to allow treating them as more arguments. Change-Id: I48d5fcf90f2f59deda8422538b8ebf2680fae828 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Fix accessibility character rect testsBoris Dušek2015-03-051-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | textEditTest in qaccessibility test was using QTextEdit::setCurrentFont on second pass, but that did not change the font used for text in any way. I don't know what was the purpose. So I changed it into something that made sense to me and actually tests text with a different font on second pass. Also fixed characterRect function in tests to use correct font/format. Change-Id: I3663e02abda381be1401e298c15b51cd0fb75939 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
* | Fix tst_qaccessibility::textEditTest for some screen resolutionsFrederik Gladhorn2015-03-051-0/+1
| | | | | | | | | | | | | | | | | | On a high resolution display the test will potentially create a text edit that introduces line breaks and these make it fail then. Change-Id: Ie82cc4b4139fe0f51ddca219c5c911957fa715b7 Reviewed-by: Boris Dušek <me@dusek.me> Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into devOswald Buddenhagen2015-03-0411-84/+78
|\| | | | | | | Change-Id: Idd21ab419588ee8b893649e3227d41c46a32e519
| * Merge remote-tracking branch 'origin/5.4' into 5.5Oswald Buddenhagen2015-03-041-4/+4
| |\ | | | | | | | | | Change-Id: I556be99cc7ad3fc6f7177542b7444269616a7478
| | * tst_QNetworkDiskCache: Stop using actual web serversThiago Macieira2015-03-041-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | www.example.com is a reserved domain (RFC 6761), but IANA is running a web server there. As for www.foo.com, that also exists, is a real website and is often content-filtered in corporations (it triggers a firewall warning for me -- "You attempted to visit a site that is in violation of Intel acceptable use guidelines"). So use a localhost instead, since we don't actually need to connect to the servers to do the work. And since we don't need to connect, I chose port 4 as it's extremely unlikely someone is running an HTTP server there (/etc/services lists it as unassigned). Change-Id: Ia0aac2f09e9245339951ffff13c82439c6d5f945 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * | Optimize fallback RGB888 to RGB32 conversionAllan Sandfeld Jensen2015-03-032-2/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improves the conversion from RGB888 to RGB32 on platforms without SIMD versions. This includes the fallback used on non-neon ARM devices. Besides image conversion the routine is also used for decoding JPEG. On x86 this version is within 0.7x of the speed of the SSSE3 version. Change-Id: Id131994d7c3c4f879d89e80f9d6c435bb5535ed7 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| * | QTabletEvent manual test: use built-in QDebug operatorShawn Rutledge2015-03-031-77/+11
| | | | | | | | | | | | | | | | | | | | | | | | There's no need to decode the event details here anymore, and anyway this had a bug: it always said the device is unknown. Change-Id: If99dddbe2136d95e818f4fe526f62650cbd7c1ca Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| * | autotests: fix the build in case of QT_NO_WHEELEVENTShawn Rutledge2015-03-037-1/+34
| | | | | | | | | | | | | | | | | | | | | Wheel event tests aren't possible if there's no wheel event. Change-Id: Ibe380c01fbf6cebfd2f43c6ecb52863134ea3c01 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | | Merge remote-tracking branch 'origin/5.5' into devOswald Buddenhagen2015-03-0326-56/+2796
|\| | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/xcb/qxcbscreen.cpp Change-Id: Ie42931791a849b34b63d814d2eb5ac653986d868
| * | Merge remote-tracking branch 'origin/5.4' into 5.5Oswald Buddenhagen2015-03-026-13/+138
| |\| | | | | | | | | | Change-Id: I95b3a87c5068c6b8068b30a35655b4c2419e7f9e
| | * Fix drawing of background for multipage QTextTable cellsJoni Poikelin2015-03-021-0/+115
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-31330 Change-Id: I0103919ee2864b7cd8bed41e6d6fe4ac5b84142e Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * Revert "Update the DNS and name-resolver tests to the official zone"Thiago Macieira2015-03-013-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 24c52bd44b700725d4feec0d2e05a7e382e59c4e and makes the Qt unit tests requiring DNS zones to use the temporary test zone in macieira.org (Thiago's domain). Change-Id: Ia0aac2f09e9245339951ffff13c6d3752c83b773 Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com> Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com>
| | * Fix crash when converting format of QImage created from bufferEirik Aavitsland2015-02-261-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When doing format conversion, the optimized inplace codepath did not check if the image data was readonly, i.e. if the QImage had been created by the constructor taking an existing external buffer. Task-number: QTBUG-44610 Change-Id: I085ff8da427bc4ee392f548dffd2418b63148965 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
| | * Autotest: fix existence check after c8c68ec.David Faure2015-02-241-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | The files were moved to a qrc resource, so the string is never empty, we need to use QFile::exists to make sure they exist. And the error message was wrong, pointing to current dir. Change-Id: I532bda9f6221fb5c69b779b8b48baac9ede90eba Reviewed-by: Rainer Keller <rainer.keller@theqtcompany.com>
| * | Prevent static functions of Q[Gui]Application from crashing if there is no ↵Friedemann Kleint2015-02-272-0/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instance. Add tests. Task-number: QTBUG-44499 Change-Id: I160b089ad3f23ab71a87519e50f8a2ef5d2a4a6f Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| * | Use C++ <cmath> instead of <math.h> in math3d autotestsKonstantin Ritt2015-02-263-9/+10
| | | | | | | | | | | | | | | Change-Id: I2e13ec190ec42ac7732ce9ed3ca5567f637beb1e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
| * | Output registered enums in qDebug operator for QFlags.Friedemann Kleint2015-02-261-0/+8
| | | | | | | | | | | | | | | Change-Id: Ia424df234fbd333782c10f0a4422875bb1bfc1f5 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * | [QQuaternion] Fix naming of the new methodsKonstantin Ritt2015-02-261-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to the Qt naming policy, methods that return value(s) via the mutable parameter(s) should have "get" prefix to mention that. [ChangeLog][QtGui][QQuaternion] Added methods to convert a quaternion to/from Euler angles and to/from rotation matrix. Change-Id: I95704e1f4623dc4ca54cd237ea203539fb60d452 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * | Reverse iteration in QMetaEnum::valueToKeys().Friedemann Kleint2015-02-261-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise, values that are composed of others are not handled correctly. For example, Qt::Dialog|Qt::FramelessWindowHint (Qt::Dialog=0x2|Qt::Window) is currently output as "Window|FramelessWindowHint" since Qt::Window matches first and its bits are removed from the flag value so that Qt::Dialog in the next iteration no longer matches. Change-Id: I67db5c977c75f887392aa8f345c5e6e9d82c5c26 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * | QSysInfo: expand Linux distribution detection to /etc/lsb-releaseThiago Macieira2015-02-253-0/+147
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some older (or weird) Linux distributions don't have /etc/os-release, so let's try to read /etc/lsb-release instead. If we find a file called /etc/<distronamelowercase>-release and it's bigger than the pretty name we read from /etc/lsb-release, use that. Because the order of the keys changes between the two *-release files, we can't do a sorted search anymore. Change-Id: I1a800c709d3543699131ffff13c48532d5074f3c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Dirk Hohndel <dirk@hohndel.org> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | QVariant: fix converting enum to stringOlivier Goffart2015-02-251-1/+1
| | | | | | | | | | | | | | | | | | | | | Use QMetaEnum::valueToKey instead of valueToKeys. Change-Id: I270f0820a03aaebde94c37c011c5e9b81421b50f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| * | Fix crash when accessing QStyleHints before QGuiApplication is constructed.Friedemann Kleint2015-02-252-1/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make styleHints a static member variable of QGuiApplicationPrivate and fix accessor accordingly. Extend tst_QApplication::settableStyleHints() to run without QApplication instance as well and add a similar test to QGuiApplication. Task-number: QTBUG-44499 Change-Id: I42b92ef38f7dd512d08d70accfa7dd4f09a22f01 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| * | Add manual test for QMimeDatabase.Friedemann Kleint2015-02-253-1/+147
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add command line test application that can print the mime type of a file or dump all mime types. Task-number: QTCREATORBUG-13996 Task-number: QTCREATORBUG-14005 Change-Id: I5ef2fa4b9fbab986b1db4fc0bd8abaacdf4f8fa0 Reviewed-by: David Faure <david.faure@kdab.com>
| * | add autotest for qmake parserOswald Buddenhagen2015-02-252-1/+1945
| | | | | | | | | | | | | | | Change-Id: Ib3dcb6c1aaac20ca6a3bc0dc564e16ec7bd152db Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
| * | add autotest for ioutilsOswald Buddenhagen2015-02-252-0/+99
| | | | | | | | | | | | | | | Change-Id: I63700a57e0edf5aec02abfffdc7601743379f12c Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * | add test for the qmake libraryOswald Buddenhagen2015-02-254-0/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | the existing test is a blackbox test. this one is going to be different. the first test is a bit trivial ... Change-Id: Iba1b0b5c32490677551ee92c36f381b884c2765d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * | Decide whether to synthesize mouse events on a per device basisAlexander Volkov2015-02-253-26/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently Qt uses the QPlatformIntegration::StyleHint SynthesizeMouseFromTouchEvents to check whether to synthesize mouse events from touch events. But not only platform plugins can produce touch events, they can be created by e.g. QTest::touchEvent() and in this case we almost definitely need synthesizing regardless of the platform. This commit introduces a QTouchDevice::MouseEmulation capability which replaces use of the QPlatformIntegration::SynthesizeMouseFromTouchEvents. So it's possible to pass QTouchDevice without this capability to QTest::touchEvent() and be sure that mouse events will be synthesized. Notice that touch pads always emulate mouse events. As a result we can activate some tests which were disabled for specific platform configurations by commits 6c1670d8c273819435867c42725c0db0eee597dc and e9760f1559361c39f269fb89f1ebd01f6ee8378d. Change-Id: Idc82fa4007a095fc1cb5934979361b0023d2b793 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>