summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Wasm: Implement QThread::idealThreadCount()v5.13.0-alpha1Morten Johan Sørvig2019-02-071-0/+5
| | | | | | | | Read the navigator.hardwareConcurrency property. Task-number: QTBUG-64625 Change-Id: I2ad582b67e4b0ddac3e3c21febab55543b2e1d6d Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Wasm: enable thread supportMorten Johan Sørvig2019-02-075-6/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | configure.json: Make the “thread” feature be allowed for wasm but disabled by default. Change qmake.conf and wasm.prf to enable Emscripten pthreads mode: - Add USE_PTHREADS=1 linker flag - Add PTHREAD_POOL_SIZE linker flag with a default pool size (4). - Add TOTAL_MEMORY linker flag to set available memory (1GB) It is possible to override options such as PTHREAD_POOL_SIZE from the application .pro file using QMAKE_WASM_PTHREAD_POOL_SIZE To change TOTAL_MEMORY, use QMAKE_WASM_TOTAL_MEMORY Make qtloader.js work in pthreads mode: - The Module.instantiateWasm callback must provide the module in addition to the instance to Emscripten. - Set Module.mainScriptUrlOrBlob so that the pthreads web workers can access the main script Task-number: QTBUG-64625 Change-Id: I1ab5a559ec97c27c5fc24500ba5f863bcd275141 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Wasm: enable source map support for debug buildsMorten Johan Sørvig2019-02-071-0/+7
| | | | | | | | | | The source map location can be configured by setting QMAKE_WASM_SOURCE_MAP_BASE in the .pro file. Fall back to “http://localhost:8000” if not set. Task-number: QTBUG-72002 Change-Id: I9da80dacdefc272f267e5db4caac274d93ba4479 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Improve ARGB32ToRGBA64 conversionsAllan Sandfeld Jensen2019-02-072-35/+29
| | | | | | | Improves the precision so 255 values map to 65535 exactly. Change-Id: I366f408e8c6047d52acbed35e9d665249bbaba2b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* wasm: add public API for local file accessMorten Johan Sørvig2019-02-073-0/+97
| | | | | | | | | | | | | | | | | | | | | | | | The web sandbox restricts access to the local file system, which means Qt needs new public API to provide such access to applications. This adds a new static, asynchornous getOpenFileContent() function to QFileDialog, which will show a file dialog, read the file contents once a file has been selected, and finally call the user-provided callback with the selected file name and file data. auto fileReady = [](const QString &fileName, const QByteArray &fileContents) { // Process file } QFileDialog::getOpenFileContent("*.*", fileReady); This API can be expanded in at least two ways in the future: allow reading multiple files, and allow file streaming by returning a QOIDevice. Change-Id: I011b92fbcf21f0696604e66b7f9eb265c1a07aaa Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* wasm: add local file access private APIMorten Johan Sørvig2019-02-075-0/+252
| | | | | | | | | | | | | | | | Access to the local file system is restricted by the Web sandbox, and a separate API an implementation is needed to facilitate this for Qt applications. This adds a private asynchronous callback-based C++ API for opening a file dialog and reading file content. The implementation uses a file input html element to show a file dialog, and then the uses the native File and FileReader APIs to read the selected file(s). Change-Id: I4e28baa032d7c3cd63241465f0ae55efd219a05b Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* wasm: add qstdweb private APIMorten Johan Sørvig2019-02-075-0/+410
| | | | | | | | | | | | | | | | | | qstdweb provides a C++ API covering parts of the DOM API useful for implementing Qt. This currently includes ArrayBuffer, Blob, File, FileReader, and Uint8Array. The implementation uses emscripten::val, which currently proxies via JavaScript, but should at some point be able to acccess the DOM directly, once WebAssembly gains such access. This API should be easier to use than the string-and-casting emscripten::val API. It is currently private, and can be changed and extended as needed. Change-Id: I95a2ad735e511c8da61f3cc21357fbffe3b05d8e Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Fix some deprecation warnings in examplesFriedemann Kleint2019-02-0622-56/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | googlesuggest.cpp:163:36: warning: ‘void QTreeWidgetItem::setTextColor(int, const QColor&)’ is deprecated: Use QTreeWidgetItem::setForeground() instead [-Wdeprecated-declarations] xbeltree.cpp:187:34: warning: ‘void QTreeWidget::setItemExpanded(const QTreeWidgetItem*, bool)’ is deprecated: Use QTreeWidgetItem::setExpanded() instead [-Wdeprecated-declarations] imageitem.cpp:114:21: warning: ‘void QGraphicsItem::setMatrix(const QMatrix&, bool)’ is deprecated: Use setTransform() instead [-Wdeprecated-declarations] xbelreader.cpp:143:48: warning: ‘void QTreeWidget::setItemExpanded(const QTreeWidgetItem*, bool)’ is deprecated: Use QTreeWidgetItem::setExpanded() instead [-Wdeprecated-declarations] xbelgenerator.cpp:103:55: warning: ‘bool QTreeWidget::isItemExpanded(const QTreeWidgetItem*) const’ is deprecated: Use QTreeWidgetItem::isExpanded() instead [-Wdeprecated-declarations] xbelwriter.cpp:90:55: warning: ‘bool QTreeWidget::isItemExpanded(const QTreeWidgetItem*) const’ is deprecated: Use QTreeWidgetItem::isExpanded() instead [-Wdeprecated-declarations] xbelhandler.cpp:97:50: warning: ‘void QTreeWidget::setItemExpanded(const QTreeWidgetItem*, bool)’ is deprecated: Use QTreeWidgetItem::setExpanded() instead [-Wdeprecated-declarations] node.cpp:180:60: warning: ‘QColor QColor::light(int) const’ is deprecated: Use QColor::lighter() instead [-Wdeprecated-declarations] node.cpp:181:64: warning: ‘QColor QColor::light(int) const’ is deprecated: Use QColor::lighter() instead [-Wdeprecated-declarations] chip.cpp:82:81: warning: ‘QColor QColor::dark(int) const’ is deprecated: Use QColor::darker() instead [-Wdeprecated-declarations] chip.cpp:84:40: warning: ‘QColor QColor::light(int) const’ is deprecated: Use QColor::lighter() instead [-Wdeprecated-declarations] chip.cpp:108:93: warning: ‘QColor QColor::dark(int) const’ is deprecated: Use QColor::darker() instead [-Wdeprecated-declarations] roundrectitem.cpp:65:42: warning: ‘QColor QColor::dark(int) const’ is deprecated: Use QColor::darker() instead [-Wdeprecated-declarations] roundrectitem.cpp:97:51: warning: ‘void QPainter::drawRoundRect(const QRectF&, int, int)’ is deprecated: Use drawRoundedRect(..., Qt::RelativeSize) instead [-Wdeprecated-declarations] roundrectitem.cpp:105:34: warning: ‘void QPainter::drawRoundRect(const QRectF&, int, int)’ is deprecated: Use drawRoundedRect(..., Qt::RelativeSize) instead [-Wdeprecated-declarations] splashitem.cpp:82:57: warning: ‘void QPainter::drawRoundRect(int, int, int, int, int, int)’ is deprecated: Use drawRoundedRect(..., Qt::RelativeSize) instead [-Wdeprecated-declarations] robot.cpp:116:53: warning: ‘QColor QColor::light(int) const’ is deprecated: Use QColor::lighter() instead [-Wdeprecated-declarations] robot.cpp:176:49: warning: ‘QColor QColor::light(int) const’ is deprecated: Use QColor::lighter() instead [-Wdeprecated-declarations] robot.cpp:200:49: warning: ‘QColor QColor::light(int) const’ is deprecated: Use QColor::lighter() instead [-Wdeprecated-declarations] mandelbrotwidget.cpp:120:41: warning: ‘const QMatrix& QPainter::matrix() const’ is deprecated: Use transform() instead [-Wdeprecated-declarations] composition.cpp:344:47: warning: ‘QColor QColor::light(int) const’ is deprecated: Use QColor::lighter() instead [-Wdeprecated-declarations] composition.cpp:346:46: warning: ‘QColor QColor::dark(int) const’ is deprecated: Use QColor::darker() instead [-Wdeprecated-declarations] colorswatch.cpp:89:34: warning: ‘QColor QColor::light(int) const’ is deprecated: Use QColor::lighter() instead [-Wdeprecated-declarations] mainwindow.cpp:81:62: warning: ‘void QTreeWidget::setItemSelected(const QTreeWidgetItem*, bool)’ is deprecated: Use QTreeWidgetItem::setSelected() instead [-Wdeprecated-declarations] puzzlewidget.cpp:172:35: warning: ‘Qt::DropAction QDrag::start(Qt::DropActions)’ is deprecated: Use QDrag::exec() instead [-Wdeprecated-declarations] spreadsheet.cpp:191:37: warning: ‘QColor QTableWidgetItem::backgroundColor() const’ is deprecated: Use QTableWidgetItem::background() instead [-Wdeprecated-declarations] spreadsheet.cpp:198:32: warning: ‘QColor QColor::light(int) const’ is deprecated: Use QColor::lighter() instead [-Wdeprecated-declarations] spreadsheet.cpp:203:24: warning: ‘QColor QColor::dark(int) const’ is deprecated: Use QColor::darker() instead [-Wdeprecated-declarations] spreadsheet.cpp:238:47: warning: ‘QColor QTableWidgetItem::backgroundColor() const’ is deprecated: Use QTableWidgetItem::background() instead [-Wdeprecated-declarations] spreadsheet.cpp:249:38: warning: ‘void QTableWidgetItem::setBackgroundColor(const QColor&)’ is deprecated: Use QTableWidgetItem::setBackground() instead [-Wdeprecated-declarations] spreadsheet.cpp:494:58: warning: ‘void QTableWidgetItem::setBackgroundColor(const QColor&)’ is deprecated: Use QTableWidgetItem::setBackground() instead [-Wdeprecated-declarations] spreadsheet.cpp:509:56: warning: ‘void QTableWidgetItem::setBackgroundColor(const QColor&)’ is deprecated: Use QTableWidgetItem::setBackground() instead [-Wdeprecated-declarations] spreadsheet.cpp:513:58: warning: ‘void QTableWidgetItem::setBackgroundColor(const QColor&)’ is deprecated: Use QTableWidgetItem::setBackground() instead [-Wdeprecated-declarations] spreadsheet.cpp:527:56: warning: ‘void QTableWidgetItem::setBackgroundColor(const QColor&)’ is deprecated: Use QTableWidgetItem::setBackground() instead [-Wdeprecated-declarations] spreadsheet.cpp:531:58: warning: ‘void QTableWidgetItem::setBackgroundColor(const QColor&)’ is deprecated: Use QTableWidgetItem::setBackground() instead [-Wdeprecated-declarations] spreadsheet.cpp:545:56: warning: ‘void QTableWidgetItem::setBackgroundColor(const QColor&)’ is deprecated: Use QTableWidgetItem::setBackground() instead [-Wdeprecated-declarations] spreadsheet.cpp:549:58: warning: ‘void QTableWidgetItem::setBackgroundColor(const QColor&)’ is deprecated: Use QTableWidgetItem::setBackground() instead [-Wdeprecated-declarations] spreadsheet.cpp:563:55: warning: ‘void QTableWidgetItem::setBackgroundColor(const QColor&)’ is deprecated: Use QTableWidgetItem::setBackground() instead [-Wdeprecated-declarations] spreadsheet.cpp:567:58: warning: ‘void QTableWidgetItem::setBackgroundColor(const QColor&)’ is deprecated: Use QTableWidgetItem::setBackground() instead [-Wdeprecated-declarations] spreadsheet.cpp:581:55: warning: ‘void QTableWidgetItem::setBackgroundColor(const QColor&)’ is deprecated: Use QTableWidgetItem::setBackground() instead [-Wdeprecated-declarations] spreadsheet.cpp:585:58: warning: ‘void QTableWidgetItem::setBackgroundColor(const QColor&)’ is deprecated: Use QTableWidgetItem::setBackground() instead [-Wdeprecated-declarations] spreadsheet.cpp:599:55: warning: ‘void QTableWidgetItem::setBackgroundColor(const QColor&)’ is deprecated: Use QTableWidgetItem::setBackground() instead [-Wdeprecated-declarations] starrating.cpp:91:46: warning: ‘const QBrush& QPalette::foreground() const’ is deprecated: Use QPalette::windowText() instead [-Wdeprecated-declarations] document.cpp:341:36: warning: ‘QColor QColor::dark(int) const’ is deprecated: Use QColor::darker() instead [-Wdeprecated-declarations] document.cpp:342:39: warning: ‘QColor QColor::light(int) const’ is deprecated: Use QColor::lighter() instead [-Wdeprecated-declarations] document.cpp:343:36: warning: ‘QColor QColor::dark(int) const’ is deprecated: Use QColor::darker() instead [-Wdeprecated-declarations] norwegianwoodstyle.cpp:88:39: warning: ‘const QBrush& QPalette::background() const’ is deprecated: Use QPalette::window() instead [-Wdeprecated-declarations] norwegianwoodstyle.cpp:89:39: warning: ‘QColor QColor::dark(int) const’ is deprecated: Use QColor::darker() instead [-Wdeprecated-declarations] norwegianwoodstyle.cpp:188:52: warning: ‘const QBrush& QPalette::background() const’ is deprecated: Use QPalette::window() instead [-Wdeprecated-declarations] norwegianwoodstyle.cpp:264:56: warning: ‘const QBrush& QPalette::foreground() const’ is deprecated: Use QPalette::windowText() instead [-Wdeprecated-declarations] plugindialog.cpp:128:49: warning: ‘void QTreeWidget::setItemExpanded(const QTreeWidgetItem*, bool)’ is deprecated: Use QTreeWidgetItem::setExpanded() instead [-Wdeprecated-declarations] tetrixboard.cpp:361:74: warning: ‘const QBrush& QPalette::background() const’ is deprecated: Use QPalette::window() instead [-Wdeprecated-declarations] tetrixboard.cpp:408:32: warning: ‘QColor QColor::light(int) const’ is deprecated: Use QColor::lighter() instead [-Wdeprecated-declarations] tetrixboard.cpp:412:31: warning: ‘QColor QColor::dark(int) const’ is deprecated: Use QColor::darker() instead [-Wdeprecated-declarations] mandelbrotwidget.cpp:120:41: warning: ‘const QMatrix& QPainter::matrix() const’ is deprecated: Use transform() instead [-Wdeprecated-declarations] Change-Id: If0afabbc35ef25f127f211c11699011d4ae4ae65 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* Add deprecation exclusion around deprecated calls in deprecated codeFriedemann Kleint2019-02-066-0/+18
| | | | | | | | | | | | Fix: io/qdir.cpp:1087:16: warning: ‘static void QResource::addSearchPath(const QString&)’ is deprecated: Use QDir::addSearchPath() instead [-Wdeprecated-declarations] io/qprocess.cpp:1178:34: warning: ‘void QProcess::finished(int)’ is deprecated: Use QProcess::finished(int, QProcess::ExitStatus) instead [-Wdeprecated-declarations] image/qpixmap.cpp:997:48: warning: ‘static QPixmap QPixmap::grabWidget(QObject*, const QRect&)’ is deprecated: Use QWidget::grab() instead [-Wdeprecated-declarations] text/qfont.cpp:2218:29: warning: ‘QString QFont::lastResortFamily() const’ is deprecated [-Wdeprecated-declarations] itemviews/qitemdelegate.cpp:1008:41: warning: ‘static QPixmap* QPixmapCache::find(const QString&)’ is deprecated: Use bool find(const QString &, QPixmap *) instead [-Wdeprecated-declarations] Change-Id: I51259edc175b1f55f61ded3af50ebfffd8c304a8 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* Feature 'ocsp' - fix a broken win-64 buildTimur Pocheptsov2019-02-064-2/+78
| | | | | | | | | | | Alas, we have to do the job ossl_typ.h failed to - undef macros coming from wincrypt.h (?) and clashing with identifiers/naming conventions not exactly very wisely chosen by OpenSSL. Change-Id: I1725c4f769be64dbb391d040b2c1574b20b65151 Fixes: QTBUG-73322 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Switch epilogues of AVX2 conversions to single stepAllan Sandfeld Jensen2019-02-061-79/+79
| | | | | | | | Not only is it fewer instructions but all the logic except for load and store can be identical to the main loop. Change-Id: I2caac0c7504d94e404bd8cfe5080aff07ba2d465 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Windows style, themes: Fix deprecation warningsFriedemann Kleint2019-02-064-18/+20
| | | | | | | | | | | | | | Fix: qwindowstheme.cpp:287:77: warning: 'const QBrush& QPalette::background() const' is deprecated: Use QPalette::window() instead [-Wdeprecated-declarations] qwindowstheme.cpp:336:37: warning: 'const QBrush& QPalette::foreground() const' is deprecated: Use QPalette::windowText() instead [-Wdeprecated-declarations] qwindowstheme.cpp:861:102: warning: 'static bool QPixmapCache::find(const QString&, QPixmap&)' is deprecated: Use bool find(const QString &, QPixmap *) instead [-Wdeprecated-declarations] qwindowsvistastyle.cpp:635:56: warning: 'const QBrush& QPalette::background() const' is deprecated: Use QPalette::window() instead [-Wdeprecated-declarations] qwindowsvistastyle.cpp:707:60: warning: 'static bool QPixmapCache::find(const QString&, QPixmap&)' is deprecated: Use bool find(const QString &, QPixmap *) instead [-Wdeprecated-declarations] qwindowsxpstyle.cpp:743:58: warning: 'const QMatrix& QPainter::deviceMatrix() const' is deprecated: Use deviceTransform() instead [-Wdeprecated-declarations] qwindowsinputcontext.cpp:448:49: warning: 'const QBrush& QPalette::background() const' is deprecated: Use QPalette::window() instead [-Wdeprecated-declarations] Change-Id: I00a52a27b066caeb135ad4124f71ef3e09beafbf Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* ibus: allow filterEvent() from QWindowSystemEventHandler::sendEvent()Gatis Paeglis2019-02-061-15/+16
| | | | | | | | | | | | | | | | The async mode, which is also default mode will recurs if QIBusPlatformInputContext::filterEvent() is called from QWindowSystemEventHandler::sendEvent() callback. The sync mode works fine without this patch. Modes can be toggled via IBUS_ENABLE_SYNC_MODE envvar. Removed redundant #ifndef and renamed one variable to something more meaningful. Change-Id: I8773445cef10212464cff09e3a70487fb38ac3fd Reviewed-by: Takao Fujiwara <takao.fujiwara1@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* xcb: respect big-request encoding in max request sizeGatis Paeglis2019-02-066-26/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From big-request specification: "This extension defines a mechanism for extending the length field beyond 16 bits. If the normal 16-bit length field of the protocol request is zero, then an additional 32-bit field containing the actual length (in 4-byte units) is inserted into the request, immediately following the 16-bit length field." Meaning that the request requires 4 additional bytes. This patch provides a convenience API for calculating maximum request data size. Besides fixing QTBUG-73044, it was also discovered that calculations for xcb_image_put (in QXcbBackingStoreImage::flushPixmap) were wrong. The code assumed that xcb_get_maximum_request_length() returns bytes, but what it actually returns is length which is measured in four-byte units. This means that we were sending 4x less bytes than allowed by the protocol. Furthermore, use the actual 'stride' (bytes per line) value when calculating rows_per_put. The new stride value was introduced by 760b2929a3b268e2edf14a561329bdb78fbdc26e, but was not updated in rows_per_put calculations. Fixes: QTBUG-73044 Done-with: JiDe Zhang <zccrs@live.com> Done-with: Mikhail Svetkin <mikhail.svetkin@qt.io> Change-Id: I06beb6082da3e8bc78225a87603914e796fe5878 Reviewed-by: Błażej Szczygieł <spaz16@wp.pl> Reviewed-by: JiDe Zhang <zccrs@live.com> Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io> Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* QtWidgets: mark QDialog/QFileDialog functions as deprecatedChristian Ehrlicher2019-02-067-15/+33
| | | | | | | | | | | | | Mark some long obsolete functions as deprecated so the can be removed with Qt6: - QDialog::setOrientation()/orientation() - QDialog::setExtension()/extension()/showExtension() - QFileDialog::setNameFilterDetailsVisible()/isNameFilterDetailsVisible() - QFileDialog::setResolveSymlinks()/resolveSymlinks() Change-Id: Ibbd5b4192ea8ab483d6b2a8dbf9879f29f9ee86d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* QtWidgets: mark obsolete functions as deprecatedChristian Ehrlicher2019-02-066-10/+28
| | | | | | | | | | | | | | | Mark some long obsolete functions as deprecated so the can be removed with Qt6: - QLayout::margin()/setMargin() - QComboBox::autoCompletion()/setAutoCompletion() - QComboBox::autoCompletionCaseSensitivity() - QComboBox::setAutoCompletionCaseSensitivity() - QTextStream& operator<<(QTextStream&, const QSplitter&) - QTextStream& operator>>(QTextStream&, QSplitter&); Change-Id: Ic16b36bf647413b5b3ea2d9105981b95370b3178 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Cleanup QtCore examplesChristian Ehrlicher2019-02-0629-77/+59
| | | | | | | | | | | | Cleanup QtCore examples: - use new signal/slot syntax - use 0 instead nullptr - remove unneeded includes - use initializer lists - replace foreach with range-based-for loop Change-Id: I5581f485fa0e9ccf3f4ce6f643908832bc6959bb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add llvm linker detection to configureMichal Klocek2019-02-066-6/+74
| | | | | | | | | | | | | | | | | | | https://gcc.gnu.org/ml/gcc-patches/2018-10/msg01240.html This is currently only used for webengine, where link time really matters. New configure options: * force 'lld' '-linker lld' or' --linker=lld' * force 'gold' '-linker gold' or '--linker=gold' * force 'bfd' '-linker bfd' or '--linker=bfd' Note before by default gold was always forced (if supported) now default linker is system default one. [ChangeLog][Tools][configure & build system] Added --linker=[bfg,lld,gold] configure flag. Change-Id: Idaa13510da70243c6176b96db846d629cd65c7af Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Add support for setting the peer verify name via the QNetwork* classesAndy Shaw2019-02-0611-9/+105
| | | | | | | | | | This adds functions to QNetworkRequest to be able to set the peerVerifyName. An overload of connectToHostEncrypted is also added to have an extra argument to allow setting it directly in this manner too. Fixes: QTBUG-73125 Change-Id: I371e90035b53a74c9eb3cef64f367e307dce073e Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QNX QPA: Add support for Qt Virtual KeyboardKarim Pinter2019-02-062-7/+17
| | | | | | | | | | | If the QT_IM_MODULE environment variable is set, then it loads the IM module accordingly, otherwise it is using the PPS one, if it is available. Task-number: QTBUG-54576 Change-Id: Icb8b474805053d8297029096365783c2cabc2cbc Reviewed-by: Samuli Piippo <samuli.piippo@qt.io> Reviewed-by: James McDonnell <jmcdonnell@blackberry.com>
* Disable Docker-based test servers on macOS temporarilyLiang Qi2019-02-061-1/+12
| | | | | | | | | | | The coin agent starts to crash after the docker-compose call. Need to have qt5 5.13 integrated first, then fix the real issue later. Task-number: QTQAINFRA-2717 Task-number: QTQAINFRA-2750 Change-Id: I3dcd963b1c5cea0b2197f1589398d8a9ed18f46f Reviewed-by: Aapo Keskimolo <aapo.keskimolo@qt.io>
* Fix convertARGBToARGB32PM_avx2 and convertARGBToRGBA64PM_avx2Allan Sandfeld Jensen2019-02-051-2/+2
| | | | | | | | The tails was off since f370410097f8cb8d8fdf6174b799497fe7fe0adf Fixes: QTBUG-73440 Change-Id: If86178c6cad3f87d9b5f0f89e90354d49cd386a4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QtWidgets/Graphics-/ItemViews: mark obsolete functions as deprecatedChristian Ehrlicher2019-02-0510-7/+38
| | | | | | | | | | | | | | | Mark some long obsolete functions as deprecated so the can be removed with Qt6: - QGraphicsItem::matrix()/setMatrix()/resetMatrix()/sceneMatrix() - QGraphicsItemAnimation::reset() - QGraphicsScene::isSortCacheEnabled()/setSortCacheEnabled() - QAbstractItemDelegate::elidedText() - QAbstractItemView::setHorizontalStepsPerItem()/horizontalStepsPerItem() - QAbstractItemView::setVerticalStepsPerItem()/verticalStepsPerItem() Change-Id: I7244078552ebeac9dfbcf3291b3ae0c44cc2c1d9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* QtWidgets: replace 0 with \nullptr in documentationChristian Ehrlicher2019-02-0512-88/+90
| | | | | | | | | Replace 0 with \nullptr in the documentation. As a drive-by also replace some 0 with nullptr in the corresponding code. Change-Id: I5e5bc1ae892f270d7c3419db1c179053561f1b26 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* QtGui documentation: cleanupChristian Ehrlicher2019-02-0515-55/+64
| | | | | | | | | | Cleanup the QtGui documentation: - use new signal/slot syntax - use range-based for loop instead foreach Change-Id: Id49ff2cbe78f28a06ca0fb63e6ca6f7dc2736f7b Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* QtWidgets documentation: cleanupChristian Ehrlicher2019-02-0520-114/+104
| | | | | | | | | Cleanup the QtWidgets documentation: - use new signal/slot syntax - use range-based for loop instead foreach Change-Id: I621b1ddac108d3df676209241d93d9b4f04a25fe Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* QAnimationDriver: mark obsolete functions as deprecatedChristian Ehrlicher2019-02-052-3/+6
| | | | | | | | | Mark the two long obsolete (and empty) functions as deprecated so they can be removed with Qt6: - setStartTime()/startTime() Change-Id: I7ee1d99ff194860e41723909f81adc181a71ec7c Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QtGui: replace 0 with \nullptr in documentationChristian Ehrlicher2019-02-0211-29/+28
| | | | | | | | | Replace 0 with \nullptr in the documentation. As a drive-by also replace some 0 with nullptr in the corresponding code. Change-Id: Ieffbfffa76e3018257b667a3e8ad6e3b88486cde Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* QtWidgets: replace 0 with \nullptr in documentationChristian Ehrlicher2019-02-0212-117/+120
| | | | | | | | | Replace 0 with \nullptr in the documentation. As a drive-by also replace some 0 with nullptr in the corresponding code. Change-Id: Id8056dc2364a372e40bc04e8cb9fcc443e49fb18 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* QtGui/QPainterPath: mark obsolete functions as deprecatedChristian Ehrlicher2019-02-022-29/+39
| | | | | | | | | | Mark some long obsolete functions as deprecated so the can be removed with Qt6: - addRoundRect() - subtractedInverted() Change-Id: I4707c07e983a4ac65ec3706d25b09ec01a9de62c Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* QtGui/QPainter: mark obsolete functions as deprecatedChristian Ehrlicher2019-02-024-22/+53
| | | | | | | | | | | | | | Mark some long obsolete functions as deprecated so the can be removed with Qt6: - initFrom() - setMatrix()/matrix()/deviceMatrix()/resetMatrix() - setWorldMatrix()/worldMatrix()/combinedMatrix() - setMatrixEnabled()/matrixEnabled() - drawRoundRect() - setRedirected()/redirected()/restoreRedirected() Change-Id: I0daed72c0ef06c192309f02366a7201154e75ac9 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* QtGui: mark obsolete QPixmapCache::find() functions as deprecatedChristian Ehrlicher2019-02-0213-33/+57
| | | | | | | | | QPixmapCache::find(QString) and QPixmapCache::find(QString, QPixmap&) are deprecated since Qt4 times. Explicit mark them as deprecated so they can be removed with Qt6. Change-Id: Iaf185f69afe02203559a1c812fbb4a95c9049a1d Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Examples: cleanup foreach usageChristian Ehrlicher2019-02-0212-32/+37
| | | | | | | Replace deprecated foreach macro with range-based for loop Change-Id: If919ba1d1d4acddfc1c5460ce7aebf8c49e3ac38 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Enable deprecation warnings by defaultGiuseppe D'Angelo2019-02-023-15/+23
| | | | | | | | | | | | | | | | | | | | | | | | | With Qt 6 in sight, people need to start moving away from their deprecated APIs, as we want to remove them all in 6.0. We are marking deprecated APIs with deprecation attributes, but by default we're disabling deprecation warnings, making them an opt-in by the user. We need to do the opposite: make deprecation warnings enabled by default, and have an opt-out define. [ChangeLog][QtCore][Important Behavior Changes] Qt now enables by default warnings when using APIs marked as deprecated. It is possible to disable such warnings by defining the QT_NO_DEPRECATED_WARNINGS macro. The old QT_DEPRECATED_WARNINGS macro which was used to enable this warning now has no effect (warnings are automatically enabled). Task-number: QTBUG-73048 Change-Id: Ie2b024fd667eb876b6ac9054cbbbc5a455cb9d5c Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge dev into 5.13Paul Wicking2019-02-01229-1286/+105270
|\ | | | | | | Change-Id: I8113c6d8735a151bd152e6096f8c8b8e63a05474
| * Regenerate TLS certificates after docker machine resumesRyan Chu2019-01-291-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After the system reboots, the docker machine is created, but in a stopped state. As stated in the docker docs, you might get errors when attempting to connect to a machine or pull an image from Docker Hub. For instance, Error checking TLS connection: ... The solution is to regenerate TLS certificates of docker machine after machine resums. Change-Id: I8781ac0f0790aeda6cc778aee9c44d03c2b788d3 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| * Schannel: Add ALPN supportMårten Nordheim2019-01-283-6/+114
| | | | | | | | | | | | | | | | [ChangeLog][QtNetwork][SSL] The Schannel backend now supports ALPN and thus HTTP/2. Change-Id: I1819a936ec3c9e0118b9dad12681f791262d4db2 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| * Cleanup Widgets examples - includesChristian Ehrlicher2019-01-2836-85/+66
| | | | | | | | | | | | | | | | | | Cleanup the Widgets examples - adjust includes to Qt coding style and remove unused includes and formward declarations Change-Id: I9f2e513284ad631337ff52ec9c0b98645055dcca Reviewed-by: Konstantin Shegunov <kshegunov@gmail.com> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| * Cleanup Widgets examples - replace foreachChristian Ehrlicher2019-01-286-17/+25
| | | | | | | | | | | | | | | | | | | | Cleanup the Widget examples - replace foreach with a standard for loop Change-Id: I59cb2bf4494201f9f0228b07a8bb936ce40da46f Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch> Reviewed-by: Konstantin Shegunov <kshegunov@gmail.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| * QtGui: mark some image functions as obsoleteChristian Ehrlicher2019-01-2811-7/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mark functions which were obsolete since Qt4 times as deprecated so they can be removed with Qt6: - QBitmap::transformed(QMatrix) - QImageIOHandler::name() - QImageWriter::setDescription() - QImageWriter::description() - QPixmap::fill() - QPixmap::grabWindow() - QPixmap::grabWidget() - QTransform::det() Change-Id: I8523065eb59a3242c4c4c195f31ae15c4dcbf8f7 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| * QtGui/Text: mark obsolete functions as deprecatedChristian Ehrlicher2019-01-286-3/+16
| | | | | | | | | | | | | | | | | | | | | | Mark some long obsolete functions as deprecated so the can be removed with Qt6: - QTextFormat::setAnchorName()/anchorName() - QTextList::isEmpty() Change-Id: Ic1f5317980d116c846def3645d2a6cd61ba8679d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| * QtBase: replace 0 with \nullptr in documentationChristian Ehrlicher2019-01-284-22/+22
| | | | | | | | | | | | | | | | | | | | Replace 0 with \nullptr in the documentation. As a drive-by also replace some 0 with nullptr in the corresponding code. Change-Id: I914b6b2151554c06acc2d244eff004524cbb9a82 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| * QtWidgets: replace 0 with \nullptr in documentationChristian Ehrlicher2019-01-2817-50/+53
| | | | | | | | | | | | | | | | | | | | Replace 0 with \nullptr in the documentation. As a drive-by also replace some 0 with nullptr in the corresponding code. Change-Id: I8d7e9c838da1399988a830669d58fc7f2f010696 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| * QtCore: replace 0 with \nullptr in documentationChristian Ehrlicher2019-01-2813-37/+39
| | | | | | | | | | | | | | | | | | | | | | Replace 0 with \nullptr in the documentation. As a drive-by also replace some 0 with nullptr in the corresponding code. Change-Id: I101a61f5fad71cadb73bba9a8fd5dce6cc0836d0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| * Merge "Merge remote-tracking branch 'origin/5.12' into dev" into ↵Liang Qi2019-01-28128-1049/+104797
| |\ | | | | | | | | | refs/staging/dev
| | * Merge remote-tracking branch 'origin/5.12' into devLiang Qi2019-01-26128-1049/+104797
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/android/templates/AndroidManifest.xml tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp Change-Id: I4c9679e3a8ebba118fbf4772301ff8fde60455b9
| | | * xcb: Avoid repaint lags with DnDAlexander Volkov2019-01-253-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The lags can be seen when dragged data is requested for a MIME type. This leads to calling QXcbClipboard::waitForClipboardEvent() which runs a loop in the GUI thread and processes events from QXcbEventQueue. The loop ends when a corresponding event is received, otherwise it makes a delay of 50 ms before the next iteration. Sync with QXcbEventQueue thread by QWaitCondition instead of using the delay. This way the loop will end as soon as possible and Expose events will be processed with minimal delay. Task-number: QTBUG-44849 Fixes: QTBUG-55442 Fixes: QTBUG-62344 Fixes: QTBUG-73253 Change-Id: Ie18d63b51a7260c83d53ffe1169b25e5135dd73b Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | | * Ability to switch language under platform eglfs/linuxfbElena Zaretskaya2019-01-2514-7/+267
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I need to change keymap under platforms eglfs and linuxfb (without wayland). I use the function QEglFSFunctions::loadKeymap(const QString&), but there's no way to switch between english and another language than to press AltGr as a modifier. I added the function that allows to change the language. And also added the ability to switch the keymap and language for the platform linuxfb and also added the ability to switch the keymap and language for the platform linuxfb Task-number: QTBUG-72452 Change-Id: I37432cf60d375555bea2bf668ec1387322b4964f Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| | | * QMacStyle: fix PE_PanelLineEdit and PE_FrameLineEdit handlingTimur Pocheptsov2019-01-251-12/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NSTextField (or its cell) that we use to paint PE_FrameLineEdit overpaints whatever fill color QCommonStyle::drawPrimitive(PE_PanelLineEdit) found in opt->palette and using for PE_PanelLineEdit. As a result the ability to customize widget's colors is lost - we always use the system default colors on top of the custom background color. It's not a problem in 'Dark' mode apparently (controls are transparent there anyway). If it's not 'Dark' mode and common style, indeed, wants from QMacStyle to draw PE_FrameLineEdit - we set the correct background color there. Change-Id: Idad853257f637b028af4bd1181d78afdf079f455 Fixes: QTBUG-73183 Fixes: QTBUG-72662 Fixes: QTBUG-72428 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | | * tst_QItemDelegate: try to stabilize combobox testChristian Ehrlicher2019-01-252-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tst_QItemDelegate::comboBox() is flaky because sometimes the used QTableWidget does not yet have the focus which prevents a correct editing. Fix it by explictily setting the focus on the widget after it is shown. A similar fix was added for dateTimeEditor() in 9822d57d858068cfe5a07281ef069ef8c4c7b7b3. With this patch the test no longer fails for my on opensuse, therefore remove the blacklisting. Task-number: QTBUG-67282 Change-Id: I907db662ca347f8e8d31e5be215a100377b159ca Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Kari Oikarinen <kari.oikarinen@qt.io>