summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Add libfuzzer test for QXmlStreamReader::readNext()Robert Loehning2019-01-243-0/+78
| | | | | | Change-Id: I8a15057954dbb09200bcef8a89a8008e0e9fad9c Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Add a feature to enable CodeCoverage analysis of testlibEdward Welbourne2019-01-2456-0/+111
| | | | | | | | | | Based on Asmo Saarela's advice (QTPM-686), adapted on advice from FrogLogic support and converted to a feature so that the selftest and testlib qmake config can be co-ordinated. Task-number: QTPM-1385 Change-Id: Icd706f086009e1e08b3f8c5cd553f792402e28c0 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Add assorted tests to exercise more QTest functionsEdward Welbourne2019-01-2410-0/+275
| | | | | | | | | Coverage analysis reveals some unexercised code. Task-number: QTPM-1385 Change-Id: Ib3fdbcf778e7af14ca6dfa1a11bcb4943276de69 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* Enable path conversion from Windows-style to Unix-style on WindowsRyan Chu2019-01-241-0/+5
| | | | | | | | | | | COMPOSE_CONVERT_WINDOWS_PATHS is supported by Docker and available for you to configure the docker-compose command-line behavior. It enables path conversion from Windows-style to Unix-style in volume definitions. Users of Docker Machine and Docker Toolbox on Windows should always set this to true. Change-Id: Ib59756ad68482fdd889ce39ab1ab0118b5fc9071 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* tst_qsslsocket: Make an ALPN test available to other backendsMårten Nordheim2019-01-241-40/+41
| | | | | | | | | | | Currently only available for the OpenSSL backend to use but doesn't actually rely on anything OpenSSL specific. Move it so it can be used by the Schannel backend in an upcoming patch Change-Id: Ia29b153bf3f29cff0d62a41ec5dd7d4671a18095 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Ssl: Add support for IP-address in alternate subject nameMårten Nordheim2019-01-242-0/+31
| | | | | | | | | | While it's not common it still occurs, perhaps especially with 127.0.0.1 Can be tested by attempting to connect to https://1.1.1.1/ using Qt. Change-Id: Idad56476597ab570b8347236ff700fa66ab5b1f4 Fixes: QTBUG-71828 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Always escape the table names when creating the SQL statementAndy Shaw2019-01-235-77/+85
| | | | | | | | | | | | | | | | | | | | | Since some databases are case sensitive if part of the query is quoted, then we should ensure that all instances of the table name are escaped unless the test is delibrately testing the non-escaped case. As a result, this commit also removes some expected failures pertaining to PostgreSQL and also adds an entry to the list of tables being dropped when a test is finished. [ChangeLog][Sql][PostgreSQL] QSqlDatabase is now stricter about table names when used with record() and primaryIndex(). If the tablename was not quoted when it was created, then the table name passed to record() and primaryIndex() needs to be in lower case so that PostgreSQL is able to find it. Fixes: QTBUG-65788 Change-Id: Id1f54cb66b761c39edf858501b730ede7eec1fd3 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QFile/QFileInfo: mark readLink() as deprecatedChristian Ehrlicher2019-01-233-4/+4
| | | | | | | | | | | QFile/QFileInfo::readLink() functions are obsolete but were not marked as deprecated. Explicit mark them as deprecated so they can be removed with Qt6. Change-Id: I52424dc5441e1f5b01015713df990bbec5186caa Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* QProcess: mark obsolete functions as deprecatedChristian Ehrlicher2019-01-232-10/+10
| | | | | | | | | | QProcess::finished(int)/readChannelMode()/setReadChannelMode() are obsolete but were not marked as deprecated. Explicit mark them as deprecated so they can be removed with Qt6. Change-Id: Iedbfd80a3c987f35caf93181e9277913a18961d9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* uic: Fix broken icon code generationFriedemann Kleint2019-01-232-1/+5
| | | | | | | | | | | | | Change b86d0b62156993936bf93169a895a92ad60adf7d rearranged the sequence of function calls when generating code adding QTabWidget and QToolBox pages, not taking into account that the iconCall() has a side effect (writing out icon definition) Revert that part and add a comment. Fixes: QTBUG-72980 Task-number: PYSIDE-797 Change-Id: Ie8fbaa36f21cd4408fb1f491195da5c260708e6c Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* Allow more fine grained control over QFlags debug outputTor Arne Vestbø2019-01-231-17/+48
| | | | | | | | Useful in contexts such as other QDebug operators, where the class is already known, and the full scope of the flags is not needed. Change-Id: I546381b1722c9c846e2412e56763563b8f625212 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Allow more fine grained control over QMetaEnum debug outputTor Arne Vestbø2019-01-231-6/+43
| | | | | | | | Useful in contexts such as other QDebug operators, where the class is already known, and the full scope of the enum is not needed. Change-Id: Ibd04b1fd4f0f914c7224a007fc248d4ebabcde3e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove useless fall-back network interface of Dante-serverRyan Chu2019-01-232-8/+8
| | | | | | | | | | Setting the fall-back network interface of danted's environment to eth0 by docker-compose file is redundant because the value of danted's configuration (danted.conf) has been set to eth0 by default. Change-Id: If2dea8daaf851577a573e201e9c50684916e5206 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* Fix QNetworkReply ServiceUnavailableError in macOSRyan Chu2019-01-231-0/+10
| | | | | | | | | | | | | | | | | | | | | | | For macOS and Windows, the test-server containers are deployed in the VirtualBox (Boot2Docker). Because Boot2Docker is a lightweight Linux distribution made specifically to run Docker containers, it doesn't install avahi-daemon and support mDNS discovery. To resolve this problem, Docker compose file supports "extra_hosts" to add hostname mappings inside containers. BFAIL items: tst_QNetworkReply::headFromHttp(...+proxy...) (ten cases) tst_QNetworkReply::ioGetWithManyProxies(http-on-http) tst_QNetworkReply::ioGetWithManyProxies(http-on-http2) tst_QNetworkReply::ioGetWithManyProxies(http-on-multiple-http) tst_QNetworkReply::ioGetWithManyProxies(http-on-http+socks) tst_QNetworkReply::ioGetWithManyProxies(http-on-ftp+http+socks) tst_QNetworkReply::ioPostToHttpFromSocket(...+proxy) (twelve cases) tst_QNetworkReply::ioPostToHttpFromSocket(...+proxyauth) (ten cases) Change-Id: Iec55966a9b5f191b7446985a15b49a8b09dcf407 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* Use environment variables to replace the hard-code value of domain nameRyan Chu2019-01-233-19/+32
| | | | | | | | | | Docker compose file supports variable substitution. When running docker-compose up, Compose looks for the environment variables from shell and substitutes the values at runtime. Change-Id: I5255ead82276fac7db24ee74af453f83ca20bbe6 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Docker-based test servers for network-related Qt autotests on WindowsRyan Chu2019-01-239-19/+175
| | | | | | | | | | | | | There is no docker bridge on Windows. Docker document recommends using port mapping to connect to a container. The problem is that it causes a port conflict if the user is running a service that binds the same port on the host. This change applies the same solution of macOS to deploy the docker environment into VirtualBox and use the host network option. Task-number: QTQAINFRA-2294 Change-Id: Iedcb8daa39373f02adb59f02eae2775f02870c54 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Extend the default retry times of QtNetworkSettings::verifyConnectionRyan Chu2019-01-231-2/+2
| | | | | | | | | | | | Apparently, it is not enough to just retry 10 times (10 seconds) in the CI network. It happens from time to time that a test fails due to server port is unreachable. Especially, the docker containers are running in a virtual machine on Windows and macOS platforms. In such cases, it needs more time to warm up the service depending on the system loading. Change-Id: Ia0234bff2a82988b62f451e20b50671708784008 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* Schannel supportMårten Nordheim2019-01-223-10/+57
| | | | | | | | | | | | | Adds support for Schannel, an SSL backend for Windows, as an alternative to OpenSSL. [ChangeLog][QtNetwork][Ssl] Added support for Schannel on Desktop Windows. To build Qt with Schannel support use '-schannel' during configure. Task-number: QTBUG-62637 Change-Id: Ic4fb8ed3657dab994f9f4a4ac5cbddc7001a0a46 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Add QStringList::indexOf/lastIndexOf for QStringView and QLatin1StringAlbert Astals Cid2019-01-221-16/+48
| | | | | Change-Id: I42eac69c1f7ab88441d464b9d325139defe32b03 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Update manual qsslsocket test to use HTTP/2 instead of spdyMårten Nordheim2019-01-221-6/+6
| | | | | | | | | Some of the spdy/3 tests don't pass anymore because those services no longer support spdy/3. Solve this by updating it to HTTP/2 (h2). Change-Id: Ib3ef6109b75f4298fed15c1c7922deca35459df9 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2019-01-2119-48/+99
|\ | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Ibfcb30053f3aacb8ec2ec480e146538c9bf440ea
| * tst_QPrinter: stabilize qprinter testChristian Ehrlicher2019-01-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | The CreationDate entry in the two PDF files can potentially be different depending on when the test is run. 97b4c5a5746a33a27076d72ceb3533fbd54b9642 already accounts for it but the current tag for creation date is '/CreationDate'. Therefore check if the line contains 'CreationDate' instead. Change-Id: I1fc069cf935bba07084ac4a0743ff05312374d10 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * tst_QString: fix localeAwareCompare() when using ICUChristian Ehrlicher2019-01-201-25/+25
| | | | | | | | | | | | | | | | | | | | | | | | tst_QString::localeAwareCompare() is failing since ab448f731ecd8437c7c5c8b96a0e7f419ec3a7ca because the 'C' locale no longer initializes ICU and falls back to simple QString comparison. Fix it by explicitly setting the locale for the testdata to en_US so the QCollator is properly initialized. Task-number: QTBUG-73116 Change-Id: I9d4d55e666c5c52f93298dedb7e22da01a25318d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Eliminate some stray misleading paths from expected output filesEdward Welbourne2019-01-165-12/+12
| | | | | | | | | | | | | | | | | | The output files for the tuplediagnostics selftest of testlib had a stray non-canoical path fragment in them; so replaced with its canonical form. Change-Id: Ib421380036c3fb1b91447eb8c87be4ad0dfe5c96 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
| * tst_qsyntaxhighlighter: fix no-op QTRY_VERIFY checkMårten Nordheim2019-01-161-1/+2
| | | | | | | | | | | | | | | | The bool is assigned on the previous line: QTRY_VERIFY will not do anything because the statement is already true. Change-Id: I067290e19ffd100819b2b631af431c6013623a00 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
| * QSyntaxHighlighter: cancel delayed highlight if done manuallyMårten Nordheim2019-01-161-0/+19
| | | | | | | | | | | | | | | | | | | | It was an implicit effect before which stopped working after dec7961709c90f6977d2447f7fa6c6625af41cb2. Reintroduce it as some projects used this side-effect as a way to abort the initial highlighting. Change-Id: I5340ee9882a242bc8b5f7f843f1cfe793a65d357 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
| * fix out-of-bounds access on trailing percent sign in tr() argumentOswald Buddenhagen2019-01-142-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | tr() recognizes %n and %Ln. it offers no way to escape lone percent signs, which implies that they must be interpreted verbatim, which is what the code actually does. except that it would run off the end if the % appeared at the end of the string. Fixes: QTBUG-57171 Done-with: Mateusz Starzycki <mstarzycki@gmail.com> Change-Id: Icf81925c482be1ea66ec8daafb3e92ad17ea7fab Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
| * qWaitFor: Prevent being stuck in QCoreApplication::processEventsTor Arne Vestbø2019-01-098-9/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using the overload of QCoreApplication::processEvents that takes a maxtime argument, the function will keep processing events until there are no more events, or until it times out. The problem is that the function doesn't distinguish between events that were on the event queue when the function was called, and events generated by processing events as part of its own execution. If for example a widget calls update() in its paintEvent, the function will spin for the entire duration of maxtime. That doesn't work for qWaitFor, where we need to check the predicate between each pass, so we use the overload of processEvents that doesn't take a maxtime. That's fine, as we have our own timeout logic. Change-Id: I9738d7d0187c36d4a5ddfcd3fd075b0bd84583c4 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| * Blacklist a flaky qtableview function in WinRTTony Sarajärvi2019-01-081-0/+2
| | | | | | | | | | | | Task-number: QTBUG-72853 Change-Id: Iaf2b25712b571a3ce73387cb3d2e70d427808364 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Fix the timing issue of vsftpd during boot (probably invalid config)Ryan Chu2019-01-161-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This appears to be a timing issue of vsftpd's initial script (/etc/init.d/vsftpd). When starting the vsftpd service, the script uses a while loop to make sure that the vsftpd process has been created with the expected PID. The problem is that it should sleep if it can't grep the same PID via ps command. while [ ${n} -le 5 ] do _PID="$(if [ -e ...vsftpd.pid ]; then cat ...vsftpd.pid; fi)" if ! ps -C vsftpd | grep -qs "${_PID}" then break fi sleep 1 n=$(( $n + 1 )) done if ! ps -C vsftpd | grep -qs "${_PID}" then log_warning_msg "vsftpd failed - probably invalid config." exit 1 fi However, synchronization based on time is not working in general. This change will rewrite the while loop to an infinite loop and remove the exclamation symbol (!) from the if condition. Upgrading the version of vsftpd is not helpful here because vsftpd_3.0.3-11 (Ubuntu 18.10) didn't resolve it yet. Change-Id: I07382709c33bd9bab61fcea76ab7deca5f630084 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Support debug_and_release option (which is the default under Windows)Ryan Chu2019-01-151-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When debug_and_release option is in use, qmake will generate one mata-Makefile and two additional leaf Makefile (Makefile.Debug and Makefile.Release). In such case, testserver.pri will be included in all three passes. The problem is that the mata-Mafile is used to invoke leaf Mafile recursively. The docker test server should only be integrated in the leaf Makefile. To resolve this problem, this change uses "!build_pass" condition to determine whether this is a pass of meta-Makefile, and then skip it. Change-Id: Ibc48d657680e089ebaa1bc356b87eb4cfd9f4580 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | disabledProtocol() - use the right address when connectingTimur Pocheptsov2019-01-091-2/+2
| | | | | | | | | | | | | | ... as we normally do in other tests, using localhost. Change-Id: I7969d7bfd50b545adae7e23476d17b6224e9a8fc Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | Skip smb-path test of tst_QNetworkReply when using Docker test serversRyan Chu2019-01-081-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | The tests of smb protocol only work in the CI network. Therefore, the docker-based test server for Windows can't pass all the tests of QNetworkReply. These two tests should be reworked when adding Samba server to the docker-based test servers later on. Task-number: QTBUG-72861 Change-Id: I54e639b5414760ee929d0d28fe10f9e021aff7dc Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* | Don't treat the ampersand in a titlebar as a mnemonicAndy Shaw2019-01-081-0/+48
| | | | | | | | | | | | | | | | | | | | As the mnemonic has no meaning when it is in a dockwidget title, we should just treat it as a literal ampersand instead and display it as such. Fixes: QTBUG-54485 Change-Id: I96c856ce2771a68d226f48f8f47affc24f1c53cd Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | Make convert_generic_to_rgb64 more genericAllan Sandfeld Jensen2019-01-081-0/+10
| | | | | | | | | | | | | | | | | | This makes it possible to get rid of specialized functions for converting to RGBA64PM, while at the same time making the conversion faster as the painter routines are better optimized. Change-Id: I3e73856b2c1411977450e72af1741aab0ecf537e Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | Add clear, reserve and capacity methods to QPainterPathJean-Michaël Celerier2019-01-081-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | This allows anticipating and reusing internal allocations of QPainterPathElements instead of using the common `m_myPath = QPainterPath{}` pattern. [ChangeLog][QtGui][QPainterPath] Added clear(), reserve(), capacity(). clear() removes allocated QPainterPath elements but preserves allocated memory, which can be useful for application with complex paths that are often recreated. reserve() and capacity() follow QVector semantics. Change-Id: I763461e2a421feda9053d3eb512af2fcf07ade2b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2019-01-074-136/+13
|\| | | | | | | Change-Id: Ieb57137ee2b7d0c505e3531d5aa1bcb66978847e
| * Fix warnings about uninitialized variablesJędrzej Nowacki2019-01-061-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qtbase/src/corelib/kernel/qmetatype.cpp: In static member function ‘static void QMetaType::destroy(int, void*)’: qtbase/src/corelib/kernel/qmetatype.cpp:2599:27: error: ‘info.QMetaType::m_destructor’ may be used uninitialized in this function [-Werror=maybe-uninitialized] if (m_typedDestructor && !m_destructor) ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ qtbase/src/corelib/kernel/qmetatype.cpp:1868:15: note: ‘info.QMetaType::m_destructor’ was declared here QMetaType info(type); ^~~~ qtbase/src/corelib/kernel/qmetatype.cpp:2600:26: error: ‘info.QMetaType::m_typedDestructor’ may be used uninitialized in this function [-Werror=maybe-uninitialized] m_typedDestructor(m_typeId, data); ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ qtbase/src/corelib/kernel/qmetatype.cpp:1868:15: note: ‘info.QMetaType::m_typedDestructor’ was declared here QMetaType info(type); ^~~~ The extended (not inlined) function may be called on a half initialized invalid instance. Change-Id: I26d677a8ad2bd0c5846233f06393e774d377936d Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * qmake: add $$read_registry() functionOswald Buddenhagen2019-01-051-0/+2
| | | | | | | | | | Change-Id: I7f9f17e0f44c273e4754d1decc92a8594cad8658 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Revert "Blacklist tst_QTimer::basic_chrono on macOS"Tony Sarajärvi2019-01-041-2/+0
| | | | | | | | | | | | | | | | | | | | Incorrectly blacklisted. This reverts commit 40a7c57ba990dfd58814a4a9dc69948991458cd4. Task-number: QTBUG-61013 Change-Id: I7d9dc4a4b1c8d7ff77ab75c61027b908ffb74552 Reviewed-by: Liang Qi <liang.qi@qt.io>
| * Remove dead codeVitaly Fanaskov2019-01-041-134/+0
| | | | | | | | | | | | | | Task-number: QTBUG-44131 Change-Id: Ic092f2be5855840d6467560159c12f3c5aa36344 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2019-01-0411-50/+236
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also blacklist tst_QRawFont::unsupportedWritingSystem() and tst_QGlyphRun::mixedScripts() on windows for now. Conflicts: qmake/generators/makefile.cpp src/corelib/itemmodels/qstringlistmodel.cpp src/platformsupport/fontdatabases/windows/qwindowsfontengine_p.h tests/auto/corelib/itemmodels/qstringlistmodel/tst_qstringlistmodel.cpp tests/auto/gui/text/qglyphrun/BLACKLIST tests/auto/gui/text/qrawfont/BLACKLIST Task-number: QTBUG-72836 Change-Id: I10fea1493f0ae1a5708e1e48d0a4d7d6b76258b9
| * Respect roles of buttons added to QMessageBoxVitaly Fanaskov2019-01-031-0/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a button added to QMessageBox has AcceptRole or YesRole, the signal accepted() will be emitted upon click on the button. If the button has RejectRole or NoRole, the signal rejected() will be emitted upon click on the button. If a button has a different role, neither accepted() nor rejected() will be emitted. This works for both standard and custom buttons. The signal finished() with result code will be sent regardless of a clicked button role. Also added documentation strings for some methods of private classes in order to have better tooltips in IDE(s). Task-number: QTBUG-44131 Change-Id: I521a4e5112eb4cf168f6fbb4c002dbe119aeeb09 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| * Fix QStringListModel::setData to check for actual changesLuca Beldi2018-12-241-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | QStringListModel::setData documentation states that "The dataChanged() signal is emitted if the item is changed." This patch actually respects the doc. setData will check that the data actually changed before sending the dataChanged signal. [ChangeLog][QtCore][QStringListModel] setData will now emit the dataChanged() signal only if the string set is different from the one already contained in the model Change-Id: I4308a6f3b4851203fb899c5e29a36076e0c32f2f Reviewed-by: David Faure <david.faure@kdab.com>
| * macOS: Only do gamma-corrected blending for subpixel-antialiased textTor Arne Vestbø2018-12-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | The grayscale font-smoothing doesn't expect to be linearly blended, as first assumed. Amended nativetext manual test to better diagnose the native Core Text behavior. Non-linear blending will result in the magenta text having a dark outline against the green background. Change-Id: I24a5f04eb1bd66fb98d621078d80ee9b80800827 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| * Fix text shifting vertically when elidedEskil Abrahamsen Blomfeldt2018-12-212-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When eliding text we would check for the existence of the ellipsis character and fall back to using the dot if it was not available. However, when font merging was in use, we would also use ellipsis from a fallback font if available. This could cause the metrics of the text to increase if the fallback font had larger metrics, and the result was that text could shift when elided. It is better to prefer the dot from the current font than to use the ellipsis from a fallback, so we only use the ellipsis if it is in the main font. [ChangeLog][QtGui][Text] Fixed a bug where eliding text could change the height of its bounding rectangle for certain fonts. Fixes: QTBUG-72553 Change-Id: Ib27fc65302465ddce661801bcc5ae32e55f1aeb9 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * QTableView: Fix keyboard navigation with disabled rowsChristian Ehrlicher2018-12-181-6/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The keyboard navigation with MovePageUp/Down and MoveEnd did not honor disabled cells in all cases which lead to inconsistencies in the navigation (esp. since MoveHome does honor them correctly). Therefore make sure that all four move operations work consistent by refactoring the code to use common functions. Fixes: QTBUG-72400 Change-Id: I63fa3b626510d21c66f4f9b2b1bfb3261728ecaf Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Luca Beldi <v.ronin@yahoo.it> Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| * nativewindow: Add additional test for 8pt font sizeTor Arne Vestbø2018-12-161-4/+3
| | | | | | | | | | | | Change-Id: I5012eb6ffee8f81da61a6fe611352ee5900a5eee Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * moc: add support for C++11 enum structSamuel Gaist2018-12-152-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | C++11 added the new enum class key as well as enum struct. While the former is likely the most known and used, the later can be used in the same contexts and with the same effects. Currently moc doesn't parse enum struct while it does for enum class. This patch fixes this. [ChangeLog][moc] moc now parses enum struct the same way as enum class therefore that keyword can be used with the Q_ENUM macro as well as Q_FLAG and Q_DECLARE_FLAGS. Change-Id: Iaac3814ad63a15ee4d91b281d451e786b510449c Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * QRegularExpression: anchor wildcard patternSamuel Gaist2018-12-151-38/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation of wildcardToRegularExpression doesn't anchor the pattern which makes it not narrow enough for globbing patterns. This patch fixes that by applying anchoredPattern before returning the wildcard pattern. [ChangeLog][QtCore][QRegularExpression] The wildcardToRegularExpression method now returns a properly anchored pattern. Change-Id: I7bee73389d408cf42499652e4fb854517a8125b5 Fixes: QTBUG-72539 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>