summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/android
Commit message (Collapse)AuthorAgeFilesLines
* Android: Fix warning: unused variable 'm_statusBarShowing'Alessandro Portale2020-09-011-2/+0
| | | | | Change-Id: I612c2239f1626abb1841100745d17f54f60e806b Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Include qhash.h in header instantiating QHashEdward Welbourne2020-08-281-0/+1
| | | | | | | | | | Include what you use. In this case, the include needs to happen before qpa/qplatformmenu.h, since that seems to pull in src/gui/kernel/qwindowdefs.h, which confuses matters (somehow) with a forward declaration. Change-Id: Ic09ecb014563e8ebee86f338c7e98e470f82185b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add QOffScreenSurface platform API abstractionAssam Boudjelthia2020-08-275-38/+44
| | | | | | | | | | | | | | | | | | | | | This follows the work done in 6ff79478a44fce12ca18832a56db4a370a9ff417. The API is available by including qoffscreensurface.h, scoped in the QPlatformInterface namespace. The namespace exposes platform specific type-safe interfaces that provide: a) Factory functions for adopting native contexts, e.g. QAndroidPlatformOffscreenSurface::fromNative(ANativeWindow); b) Access to underlying native handles, e.g. surface->platformInterface<QAndroidPlatformOffscreenSurface>() ->nativeSurface() Fixes: QTBUG-85874 Change-Id: I29c459866e0355a52320d5d473e8b147e050acb3 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Android: split arguments passed to the main appAssam Boudjelthia2020-08-251-1/+2
| | | | | | | | | | | Keep the same behavior as desktop platforms with QApplication::arguments() should return a string list of args not a string of args together. Task-number: QTCREATORBUG-23712 Change-Id: I1874655427f5c902ca81a3fcf6183d0eeccbfef7 Reviewed-by: BogDan Vatra <bogdan@kdab.com> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* Android: Add support for travesing directories and accessing filesAndy Shaw2020-08-072-3/+91
| | | | | | | | | | | | | | | | | | | This enables QDir and QFileInfo/QFile to work with entries found from a entryList() as it will obtain the permission for these files correctly when it is encountered. Due to what seems to be a quirk in the Android API, we cache whenever we come across a known directory to save time later on for checking if it is a directory. All uris accessed where we get permissions for are cached so we get the right URI for that given content url as some are granted via the Intent. Fixes: QTBUG-85538 Fixes: QTBUG-83041 Fixes: QTBUG-76886 Pick-to: 5.15 Change-Id: I685b3c60804812a0e4b85fbdbb4ec5efaa09420c Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Move eglconvenience to QtGuiFriedemann Kleint2020-07-139-10/+13
| | | | | | | Task-number: QTBUG-83255 Change-Id: I8a008d8906308dd73a0793db5b88d3a1b6fdaf5c Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Refactor pointer event hierarchyShawn Rutledge2020-07-101-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some goals that have hopefully been achieved are: - make QPointerEvent and QEventPoint resemble their Qt Quick counterparts to such an extent that we can remove those wrappers and go back to delivering the original events in Qt Quick - make QEventPoint much smaller than QTouchEvent::TouchPoint, with no pimpl - remove most public setters - reduce the usage of complex constructors that take many arguments - don't repeat ourselves: move accessors and storage upwards rather than having redundant ones in subclasses - standardize the set of accessors in QPointerEvent - maintain source compatibility as much as possible: do not require modifying event-handling code in any QWidget subclass To avoid public setters we now introduce a few QMutable* subclasses. This is a bit like the Builder pattern except that it doesn't involve constructing a separate disposable object: the main event type can be cast to the mutable type at any time to enable modifications, iff the code is linked with gui-private. Therefore event classes can have less-"complete" constructors, because internal Qt code can use setters the same way it could use the ones in QTouchEvent before; and the event classes don't need many friends. Even some read-accessors can be kept private unless we are sure we want to expose them. Task-number: QTBUG-46266 Fixes: QTBUG-72173 Change-Id: I740e4e40165b7bc41223d38b200bbc2b403e07b6 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* CMake: Fix various issues with the Android buildAlexandru Croitor2020-07-091-8/+0
| | | | | | | | | | | | | | | | | | | Certain resources and compiled jar files have to be copied into the non-prefix build dir location. They were previously only installed, which doesn't do anything in a non-prefix build. Change pro2cmake to generate code that places the compiled java jars into QT_BUILD_DIR, so that non-prefix builds work. Place the module dependencies xml files into lib folder in non-prefix builds. Don't special case the output and install location of the Android QPA plugin. Task-number: QTBUG-85399 Change-Id: I4ac9d3929ea8ecc95ec99a77e621ad2121b68832 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Android: Don't depend on the OpenGL moduleAndy Shaw2020-07-094-16/+0
| | | | | | | | | | It is not using this for anything in the code anyway so we can just drop it. This avoids a need to have the platform plugin depend on OpenGL if it is configured to be on. Change-Id: I87de162800be93db00c5022bef85c235b3655528 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Add ; to Q_UNUSEDLars Schmertmann2020-07-075-12/+12
| | | | | | | | This is required to remove the ; from the macro with Qt 6. Task-number: QTBUG-82978 Change-Id: I3f0b6717956ca8fa486bed9817b89dfa19f5e0e1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Use qsizetype in QListLars Knoll2020-07-061-2/+2
| | | | | | | | | | | | | | | | | | | | The change creates a slight source incompatibility. The main things to take care of are * code using printf statements on list.size(). Using qsizetype in printf statements will always require a cast to work on both 32 and 64 bit. * A few places where overloads now get ambiguous. One example is QRandomGenerator::bounded() that has overloads for int, uint and double, but not int64. * Streaming list.size() to a QDataStream will change the format depending on the architecture. [ChangeLog][QtCore][QList] QList now uses qsizetype to index into elements. Change-Id: Iaff562a4d072b97f458417b670f95971bd47cbc6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Use QList instead of QVector in pluginsJarek Kobus2020-07-064-8/+8
| | | | | | Task-number: QTBUG-84469 Change-Id: Ic86f4a3000592a1c9ae62e4a83f4fe39832a6b24 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Remove unnecessary ; after function implementationsLars Schmertmann2020-07-061-8/+8
| | | | | | Task-number: QTBUG-82978 Change-Id: Iea3bcaec1ef9f4bd0f73e5dccca33354650f5bf4 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Avoid use of Q_UNUSED by eliminating the parameter namesLars Schmertmann2020-07-031-3/+3
| | | | | | | | | This change only happens to files touched by the commit to add missing ; to Q_UNUSED. Task-number: QTBUG-82978 Change-Id: I10e6993a2bb3952cf9a262708b8573550e0dbe63 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Introduce platform API abstraction for QOpenGLContextTor Arne Vestbø2020-07-024-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The API is available by including qopenglcontext.h as usual, but scoped in the QPlatformInterface namespace. The namespace exposes platform specific type-safe interfaces that provide: a) Factory functions for adopting native contexts, e.g. QCocoaGLContext::fromNative(nsContext, shareContext); b) Access to underlying native handles, e.g. openGLContext->platformInterface<QCocoaGLContext>->nativeContext() c) Platform specific functionality, e.g. static QWGLContext::openGLModuleHandle() openGLContext->platformInterface<QEGLContext>->doSomething(); The platform interfaces live close to the classes they extend, removing the need for complex indirection and plumbing, and avoids kitchen-sink modules and APIs such as the extras modules, QPlatformFunctions, or QPlatformNativeInterface. In the case of QOpenGLContext these platform APIs are backed by the platform plugin, so dynamic_cast is used to ensure the platform plugin supports the requested interface, but this is and implementation detail. The interface APIs are agnostic to where the implementation lives, while still being available to the user as part of the APIs they extend/augment. The documentation will be restored when the dust settles. Task-number: QTBUG-80233 Change-Id: Iac612403383991c4b24064332542a6e4bcbb3293 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Android: Fix android accessibility not being set activeVikke Matikainen2020-06-213-1/+17
| | | | | | | | | | | | | | Android platform event of activating accessibility might be received, before the platform plugin is initialized, thus disregarding the activation step. This change saves the activation event state and defers setting it in platform integration. Fixes: QTBUG-77320 Pick-to: 5.15 5.12 Change-Id: I06aab76159d1de0e72c0c535dbe80c2858f8e79b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Android: Only emit the signals once when doing multiple file selectionAndy Shaw2020-06-181-2/+2
| | | | | | Change-Id: Ie57908f5e882ef4f85f4199ecb06c09ae5d8ae2a Pick-to: 5.15 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Introduce QInputDevice hierarchy; replace QTouchDeviceShawn Rutledge2020-06-163-21/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have seen during the Qt 5 series that QMouseEvent::source() does not provide enough information: if it is synthesized, it could have come from any device for which mouse events are synthesized, not only from a touchscreen. By providing in every QInputEvent as complete information about the actual source device as possible, we will enable very fine-tuned behavior in the object that handles each event. Further, we would like to support multiple keyboards, pointing devices, and named groups of devices that are known as "seats" in Wayland. In Qt 5, QPA plugins registered each touchscreen as it was discovered. Now we extend this pattern to all input devices. This new requirement can be implemented gradually; for now, if a QTWSI input event is received wtihout a device pointer, a default "core" device will be created on-the-fly, and a warning emitted. In Qt 5, QTouchEvent::TouchPoint::id() was forced to be unique even when multiple devices were in use simultaneously. Now that each event identifies the device it came from, this hack is no longer needed. A stub of the new QPointerEvent is added; it will be developed further in subsequent patches. [ChangeLog][QtGui][QInputEvent] Every QInputEvent now carries a pointer to an instance of QInputDevice, or the subclass QPointingDevice in case of mouse, touch and tablet events. Each platform plugin is expected to create the device instances, register them, and provide valid pointers with all input events. If this is not done, warnings are emitted and default devices are created as necessary. When the device has accurate information, it provides the opportunity to fine-tune behavior depending on device type and capabilities: for example if a QMouseEvent is synthesized from a touchscreen, the recipient can see which touchscreen it came from. Each device also has a seatName to distinguish users on multi-user windowing systems. Touchpoint IDs are no longer unique on their own, but the combination of ID and device is. Fixes: QTBUG-46412 Fixes: QTBUG-72167 Task-number: QTBUG-69433 Task-number: QTBUG-52430 Change-Id: I933fb2b86182efa722037b7a33e404c5daf5292a Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Port platform plugins to QStringViewLars Knoll2020-06-154-4/+10
| | | | | | Task-number: QTBUG-84319 Change-Id: If409ba1c99f30c7ab32c7cc826c7f303ccf18c1d Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Android: fix behovior of right click to not interfere with other clicksAssam Boudjelthia2020-06-111-10/+10
| | | | | | | | | | | | To allow treating long press as right click on Android, set the environment variable QT_ANDROID_ENABLE_RIGHT_MOUSE_FROM_LONG_PRESS to 1. Pick-to: 5.15 Fixes: QTBUG-73416 Task-number: QTBUG-84179 Change-Id: Ibe1d6af6ab9965112f1418638a088717798b554c Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Port QLocale::quoteString from QStringRef to QStringViewLars Knoll2020-06-111-2/+2
| | | | | | | Task-number: QTBUG-84319 Change-Id: I29726ebfda7a5f51a0a6ee29e905b0b904256c8d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Move the UNIX event dispatchers into QtGuiFriedemann Kleint2020-06-104-5/+1
| | | | | | Task-number: QTBUG-83255 Change-Id: I7d32eb1ec01784c9ed6bf5fc4913ffc5b3a34a49 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Phase 2 of removing QDesktopWidgetVolker Hilsheimer2020-06-081-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | Remove QDestopWidget public header, simplify the implementation that maintains a Qt::Desktop type QWidget for each QScreen, and turn QWidget's initial target screen into a QScreen pointer. QApplication::desktop() now takes an optional QScreen pointer, and returns a QWidget pointer, so that applications and widgets can get access to the root widget for a specific screen without having to resort to private APIs. QDesktopWidgetPrivate implementations to look up a screen for an index, widget, or point are now all inline functions that thinly wrap QGuiApplication::screens/screenAt calls. We should consider adding those as convenience APIs to QScreen instead. Note that QWidget::screen is assumed to return a valid pointer; there is code that handles the case that it returns nullptr (but also code that trusts that it never is nullptr), so this needs to be defined, verified with tests, and asserted. We can then simplify the code further. Change-Id: Ifc89be65a0dce265b6729feaf54121c35137cb94 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Fix build for Android on macOSEskil Abrahamsen Blomfeldt2020-06-033-3/+1
| | | | | | | | | | The FreeType engine has moved out of the fontdatabases library, so the .a file would be empty. This caused the error "attempt to map 60 bytes at offset 72 exceeds size of file" when building for Android on macOS. Change-Id: I9d9afca67e7626d3b5c6a62fcde33fed029fe04c Reviewed-by: Liang Qi <liang.qi@qt.io>
* Move QtAccessibilitySupport into QtGuiTor Arne Vestbø2020-06-023-3/+2
| | | | | | Task-number: QTBUG-83255 Change-Id: Ibc1b38e77c3c90030a832c41f4de65c6c38bc91d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Android: Clear the clipboard when getting a null mimedataAndy Shaw2020-05-303-1/+10
| | | | | | | | | | From API 28 it is possible to clear the clipboard so we should ensure that this is done if API 28 or later is being used. Otherwise it is not removed, but that is due to limitations on the Android side. Pick-to: 5.15 Change-Id: I1fe504d0e566c6923b39b2adf4540619c6b1daf7 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* CMake: Regenerate src/pluginsAlexandru Croitor2020-05-292-15/+14
| | | | | Change-Id: Icceceeb42023e7fa5edf320bb21f03d11bd357b7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Move QPlatformBackingStoreOpenGLSupport handling out of platform pluginsTor Arne Vestbø2020-05-291-5/+1
| | | | | | | | Allows them to not depend on QtOpenGL just to provide the default backing store OpenGL support backend. Change-Id: I90d6d9247ce76848d9d03e2d512fb736c81488d3 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Move QtPlatformCompositorSupport into QtOpenGLTor Arne Vestbø2020-05-283-4/+4
| | | | | | Task-number: QTBUG-83255 Change-Id: Id9ea654db8efb00b487d53aea03d7f23a7ab1a54 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Move FreeType font engine/database to QtGuiTor Arne Vestbø2020-05-271-1/+1
| | | | | | Task-number: QTBUG-83255 Change-Id: If6be7057d6bd25b34acd99e18658744161985ed0 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Move QtVulkanSupport into QtGui and QtOpenGLTor Arne Vestbø2020-05-223-5/+1
| | | | | | Task-number: QTBUG-83255 Change-Id: Ib021cecebda89fa2ab9332752124a8cec0a51a10 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Android: Only have one valid QMimeData object kept aroundAndy Shaw2020-05-192-4/+13
| | | | | | | | | | | | Once the clipboard data is queried then we can clean up the previous QMimeData object created. So rather than keeping on to it and cleaning up when the clipboard is created we can delete it at that point. This means it is not necessary to make it a QObject subclass, so we can save in that respect too. Pick-to: 5.15 Change-Id: I152ca6ea5c713abe25f75ca2016759c0e3152bfb Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: Clear the m_selectedFile variable when showing againAndy Shaw2020-05-191-0/+2
| | | | | | | | | | Since the helper is being reused then the m_selectedFile variable should be cleared, otherwise it ends up appending the new result to the old one. Change-Id: I72c24409dc91f91bad55a7da2772605f03fb4623 Pick-to: 5.15 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android JNI: update usage of QWindowSystemInterface::handleMouseEvent()Shawn Rutledge2020-05-121-18/+15
| | | | | | | | | | Follup to a37785ec7638e7485112b87dd7e767881fecc114: this API has been deprecated since 5.11. Pick-to: 5.15 Change-Id: Ib143f3997f89fc71d37d740338dae7df52ff45b4 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Android: allow file dialog to use remote locationsAssam Boudjelthia2020-05-122-10/+0
| | | | | | | | | Allow the native file dialog to use remote locations like OneDrive, Google Drive, etc. Pick-to: 5.15 Change-Id: I67027f0da8e6bd759a4936e03b6c9e95f3f90e1a Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-05-051-6/+40
|\ | | | | | | Change-Id: I003c0d6271c6444748bf30b4331eca3fb2410f44
| * Android: fix mimeTypes handling for file dialogAssam Boudjelthia2020-05-051-6/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | Since Android native file manager supports mimeTypes, I use QMimeDatabase to get the correct mime type for the nameFilter used with the file dialog. [ChangeLog][Android] Support setting mimetypes and and namefilters for Android native file dialog. Task-number: QTBUG-83089 Change-Id: I46545576dc9b51aa872bb37dbf4fe12b2533bdd9 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* | CMake: Regenerate projects to match updated plugin APILeander Beernaert2020-04-272-2/+2
| | | | | | | | | | Change-Id: Iafe0a953e74d7f36ec48fa075b3725dd6466c5e3 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Android: Implement MaximizeUsingFullscreenGeometryHintEskil Abrahamsen Blomfeldt2020-03-308-107/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (This reintroduces c17a5cec1901dd23f4c39ec2ae47a060fbb06895, which was reverted in Qt 5 because it requires API level 23.) This flag tells the app to use as much of the screen as possible while still keeping system UI visible, and can be supported on Android by using translucent system UI, similar to iOS. What this does: 1. It changes the current fullscreen/not-fullscreen logic to allow three states: fullscreen, fullscreen with translucent decorations and not-fullscreen. 2. In order for it to work, we have to send the actual screen geometry and available geometry, at least in the case where the user needs to know the available geometry to know the safe area of the window. So we get the real screen metrics and pass these to the QPA plugin (API level 17, so we can do that now that the minimum version is 21.) 3. Note that getting the insets and calculating the useable area does not work for non-fullscreen windows, since Android is quite inconsistent in this respect. So in this case we just use the window size and origin of 0,0 for the available geometry. 4. Since we are touching this code anyway, this patch also tries to use more consistent wording (calling it "available geometry" everywhere instead of desktop geometry in some places and just geometry in others, etc.) [ChangeLog][Android] Qt::MaximizeUsingFullscreenGeometryHint window flag is now supported, and will make the window fullscreen, but keep the system UI on-screen, with a translucent background color. Fixes: QTBUG-74202 Change-Id: I4cc5ef9cc2a3bd22d4d8d2bb767c6ff8a3aa75c0 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* | Initial cleanup of qevent.h for Qt6Allan Sandfeld Jensen2020-03-052-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | Takes care of the first round of todos and deprecations for Qt6 in qevent. Not touching anything that might interfere with changing the class hierarchy as the file also suggest. Change-Id: If72d63d8932f1af588785bf77b34532358639a63 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devLars Knoll2020-03-041-20/+5
|\| | | | | | | Change-Id: I99ee6f8b4bdc372437ee60d1feab931487fe55c4
| * Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-02-291-20/+5
| |\ | | | | | | | | | Change-Id: I851c0328c3c38ea67b5ad115b205ac6a1262706e
| | * Android: Don't recurse into directories inside the assets when iteratingAndy Shaw2020-02-271-20/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | When iterating, it should only return what is in the specified path and not the contents of the sub-directories inside the given path in addition. Change-Id: Iad56f075c22fdf1c633582e37444e26520c24a73 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-03-032-2/+51
|\| | | | | | | | | | | Change-Id: If36d96c0fef3de5ab6503977501c55c62a2ecc97
| * | Android: Add support for getting information about content urisAndy Shaw2020-02-282-2/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This enables things like size(), exists() to work with Android content uris with the provided uri given from a filedialog. It is expected that it is always a full path due to the nature of content uris, so relative paths will not work. Change-Id: I9c9ea42833677eb9d937b33e9dd42ee2a7d9c7c5 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-02-263-71/+156
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/network/bearermonitor/CMakeLists.txt examples/network/CMakeLists.txt src/corelib/tools/qlinkedlist.h src/sql/kernel/qsqldriver_p.h src/sql/kernel/qsqlresult_p.h src/widgets/kernel/qwidget.cpp src/widgets/kernel/qwidget_p.h tests/auto/network/socket/platformsocketengine/tst_platformsocketengine.cpp tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp tests/auto/tools/moc/allmocs_baseline_in.json Change-Id: I21a3c34570ae79ea9d30107fae71759d7eac17d9
| * | Android: fully integrate native file dialogAssam Boudjelthia2020-02-172-64/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow Qt to use native file dialog to open (file, multiple files, directory) and save a file. Due to changes in file permission in Android 10, proper permissions tokens are granted after selecting a file or directory. [ChangeLog][Android] Use native file dialog by default for open and save operations. Task-number: QTBUG-82120 Fixes: QTBUG-75484 Change-Id: I92c9d08e0f214a57c4b3880fbd948adbabe39694 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| * | Android: handle check permissions before any file operationsAssam Boudjelthia2020-02-171-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is required because opening a Uri with no permissions can cause crashes. Some exceptions were not handled at all. Change-Id: I2e8f9505879b9fc4c1c47bdfa1bf173b39ada3ea Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | | Merge remote-tracking branch 'origin/5.15' into devLiang Qi2020-02-135-4/+26
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/widgets/graphicsview/boxes/scene.h src/corelib/Qt5CoreMacros.cmake src/corelib/Qt6CoreMacros.cmake src/network/ssl/qsslsocket.cpp src/network/ssl/qsslsocket.h src/platformsupport/fontdatabases/windows/qwindowsfontenginedirectwrite.cpp src/testlib/CMakeLists.txt src/testlib/.prev_CMakeLists.txt tests/auto/corelib/tools/qscopeguard/tst_qscopeguard.cpp Disabled building manual tests with CMake for now, because qmake doesn't do it, and it confuses people. Done-With: Alexandru Croitor <alexandru.croitor@qt.io> Done-With: Volker Hilsheimer <volker.hilsheimer@qt.io> Change-Id: I865ae347bd01f4e59f16d007b66d175a52f1f152
| * | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-02-122-0/+5
| |\| | | | | | | | | | Change-Id: I8caee4d1ce0eed27d905194df3c3d46c5d07d2b0