summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
Commit message (Collapse)AuthorAgeFilesLines
* Use Android's View.generateViewId() for generating ids for views/surfacesMichał Cieślak104 min.1-3/+7
| | | | | | | | | | | Qt Android was using consecutive numbers starting from 1 as ids for View.setId(int). The ids are used internally with an assumption that they are unique. It was potentially leading to collisions and unexpected behavior when adding custom views with id generated by View.generateViewId(). Task-number: QTBUG-98649 Pick-to: 5.15 6.2 Change-Id: I5bf2fe1d196c7adafeec544d8d945ebd82ba5cb6 Reviewed-by: Rami Potinkara <rami.potinkara@qt.io> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* qnx: Fix typos in source code commentsJonas Kvinge3 hours3-3/+3
| | | | | Change-Id: I6420e14e3de9c7efc7d5073f44ccfd7ee9b88ea6 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* android: Fix typo in source code commentJonas Kvinge3 hours1-1/+1
| | | | | Change-Id: Ieeab35d51588cf247c3d9626d0291e2983720873 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Support to get timing from pagefilpElvis Lee4 hours3-3/+14
| | | | | | | | | Handle the timing from drmEvent when page flip finished. The information can be used to optimize rendering timing. Change-Id: I14612ca48a8fea5208aa74949d7543787e860c5f Reviewed-by: Elvis Lee <kwangwoong.lee@lge.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* wasm: Fix assert/crash when tooltip window is closed and mouse movedLorn Potter41 hours1-3/+3
| | | | | | | | Fixes: QTBUG-92521 Pick-to: 5.15 6.2 Change-Id: I627fdcf3064321a3c1cb1140473038571ec78b9e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* wasm: fix mouse move and right clickLorn Potter6 days1-4/+8
| | | | | | | | | | | | Emscripten has no concept of 'no mouse button', so when there is no button down, it was sending left mouse. Also we were hiding mousepress for only leftmouse downs. Fixes: QTBUG-97431 Pick-to: 6.2 Change-Id: Ibf078705c343944e45551830b7fee94ed5aa7333 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* xcb: stablilize xkb state when keymap updatedLiang Qi6 days3-5/+22
| | | | | | | | | | | | | | | | QXcbKeyboard only deals with core_device_id. With the reporter's test case: using xdotool to send a string, the deviceID is not changed, then we assume xkb_state_new() is more stable(or correct) than xkb_x11_state_new_from_device() in this case. See also https://www.x.org/releases/current/doc/man/man3/xcb_xkb_new_keyboard_notify_event_t.3.xhtml . Fixes: QTBUG-95933 Pick-to: 6.2 5.15 Change-Id: Ic595e1f1424fbc6814871a85ac159907f1aeb12a Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Zhang Hao <zhanghao@uniontech.com> Reviewed-by: Liang Qi <liang.qi@qt.io>
* Android: Set sem_wait m_terminateSemaphore behind an atomic flagRami Potinkara7 days1-1/+7
| | | | | | | | | | | Prevents QML app using QtActivity never calling AndroidJniMain::startQt..'s to jam as ANR Pick-to: 6.2 5.15 Task-number: QTBUG-97115 Change-Id: Ibfe8579dbb701068f4896b6d826ff487094bdf56 Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Windows QPA: Further cleanup of pre-Win10 codeYuhang Zhao9 days14-383/+109
| | | | | | | | | | | | | | | | | Mostly a removal of dynamically loaded Win32 APIs. Since Qt 6's minimum supported platform is Win10 1809 (10.0.17763, code name RS5), all these functions will be available and no need to resolve them at run-time. Things not remove: WinTab functions in "qwindowstabletsupport.cpp". Not my familiar area, so not touch it. Pick-to: 6.2 Task-number: QTBUG-84432 Change-Id: I7ad6c3bc8376f6c0e3ac90f34e22f7628efeb694 Reviewed-by: André de la Rocha <andre.rocha@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* QCocoaMenuBar: set the app's 'Window' menuTimur Pocheptsov9 days3-0/+31
| | | | | | | | | | To enable a list of windows the app has open in the Dock's menu. Not to surprise existing applications with a 'Window' menu where they did not have it before, make the item hidden. Fixes: QTBUG-59433 Change-Id: I1ac3d3de69f4313f39c4631dc4b68bf6e096532a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* xcb: Return standalone image from QXcbBackingStore::toImage()Tor Arne Vestbø13 days1-1/+7
| | | | | | | | | Otherwise the original backingstore image will detach from the m_xcb_image data on the next backingstore paint or scroll. Pick-to: 6.2 Change-Id: I73f68d9c2e7c106951541831a5df8b97695f2001 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* wasm: remove unused variableMorten Johan Sørvig13 days1-4/+0
| | | | | | Change-Id: I442e3dc4534193709c3510c43a484e5d3c2eb4af Reviewed-by: David Skoland <david.skoland@qt.io> Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Windows QPA: Fix multi-touch support in some devicesAndré de la Rocha14 days2-9/+37
| | | | | | | | | | | | | | | | Some multi-touch devices send touch information for each finger using different WM_POINTER messages/frames, instead of a single one with a list of touches, like most devices. This would result in the generation of multiple touch events, which can cause unexpected behavior in applications (the QTouchEvent documentation specifies that it should contain all simultaneous touches). This patch adds a workaround to ensure all simultaneous touches are included in the events, to comply with the expected behavior. Pick-to: 6.2 5.15 Change-Id: I12a2f84b35a6bdd49ee53d25de580c0941a9aea6 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* xcb: Don't mark scrolled area as flushed when doing client side scrollTor Arne Vestbø14 days1-8/+9
| | | | | | | | | | | | | | The m_pendingFlush variable is used to track what is missing in the server side backingstore. If we're doing a client side scroll the pending area is still the same. If we were to always discard the scrolled area from m_pendingFlush we would get in trouble on the next non-client side scroll, as we think the content exists server-side. Pick-to: 6.2 Change-Id: Ie50a99a8e5d8a83d1299c53534a1c83c6bfb47bd Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* xcb: Ensure we have pixmap GC before trying to flush to it during scrollTor Arne Vestbø14 days1-2/+2
| | | | | | Pick-to: 6.2 Change-Id: Icc85b1eb830d8d9b1b2bfb8b9998470388522832 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* xcb: Prepare correct area when doing client side backingstore scrollTor Arne Vestbø14 days1-2/+4
| | | | | | | | The area we're going to fill is the one after applying the scroll delta. Pick-to: 6.2 Change-Id: I254830a15e5f4c93ba28ed8f0a9b35c40f1d1af2 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* macOS: Clear NSOpenGLContext drawable when QNSView is about to go awayTor Arne Vestbø2021-11-163-0/+20
| | | | | | | | | | | | | | Calling doneCurrent() on a QCocoaGLContext only clears the current context, but doesns't reset the drawable (view) of the context. In most cases this is fine, but it has been observed to cause issues when using the software GL renderer on Big Sur and above. To be a good citizen we clear the drawable of any of our contexts that are tied to the NSView this about to be go away. Pick-to: 6.2 6.2.2 Change-Id: I8c845727c50871f30fbebc2ed62a7d0485651ecf Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* xcb: Implement support for touchpad gesturesPovilas Kanapickas2021-11-156-4/+228
| | | | | | | | | | | | | | | | | | | | They map to the data exposed by libinput exactly the same way as touchpad gestures on Wayland. The implementation is functionally the same and follows the same patterns to preserve similar behavior across X11 and Wayland. For example, we use the last known pointer position as the position for gestures, even though on X11 this data is available as part of events. The new implementation is only enabled if the used xcb supports the required APIs. [ChangeLog][Platform Specific Changes][X11] Touchpads can now detect multi-finger gestures and send RotateNativeGesture, ZoomNativeGesture and PanNativeGesture events, since XInput 2.4 and X Server 21.1. Change-Id: If404dcf8385210deadeb7e7c6d29171e9abc9e50 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Windows QPA: Set SWP_NOCOPYBITS during resize to avoid jitterYuhang Zhao2021-11-121-1/+6
| | | | | | | | | | | | | Allowing Windows to re-use parts of the client area when resizing might result in jitter. See discussion in: https://stackoverflow.com/questions/53000291/how-to-smooth-ugly-jitter-flicker-jumping-when-resizing-windows-especially-drag Fixes: QTBUG-97774 Pick-to: 6.2 Change-Id: Idc8f0d1953dd0a8b329312d8a9fd0509cc24d81f Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QIOSTextInputOverlay: listen for selection changes, also for Qt::ImReadOnlyRichard Moe Gustavsen2021-11-111-4/+28
| | | | | | | | | | | | | The focus object can emit selection updates (e.g from mouse drag), and accept modifying it through IM when dragging on the handles, even if it doesn't accept text input and IM in general (and hence return false from inputMethodAccepted()). This is typically the case for read-only text fields. So we should listen for selection changes and enable handles also for this case (unless the IM hints tells us explicitly not to use handles/edit menu). Fixes: QTBUG-91545 Change-Id: I2855505fc229e954b2c43f5e11374e64bba7eb4e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QIOSInputContext: use QIOSResponder when the focus object is Qt::ImReadOnlyRichard Moe Gustavsen2021-11-111-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | In Qt, Qt::ImEnabled means that the focus object accepts text input from input method (IM) events. But the IM API also contains API for dealing with text selections. Text input and text selections are logically two different operations, but since IM makes use of selections to implement text input (like selecting a word to suggest a spelling correction), it's understandable that they are combined into to same API. So when a focus object reports Qt::ImEnabled to be false, it only means that it doesn't accept input. E.g a TextArea in QML with "readOnly:true" will set Qt::ImEnabled to false. At the same time, it can have "selectByMouse:true", which lets you select text with the mouse. This behavior is consistent in Qt, for both Quick, Controls 2 and Widgets. Since we want to support any selections done in controls/widgets on iOS with selection handles and edit menus, regardless if the focus object accepts input or not, this patch will set the QIOSResponder (with read-only actions) as first responder when we detect a focus object with Qt::ImReadOnly. This means that if a query for Qt::ImReadOnly returns "true", we take that to mean that it implements the IM API, but without accepting input. Task-number: QTBUG-91545 Change-Id: I07349909a3bca81f484a2e9af9672428dca62c49 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QIOSTextInputResponder: factor out the "read-only" part to a ↵Richard Moe Gustavsen2021-11-115-136/+223
| | | | | | | | | | | | | | | | | | | | | | | | | | QIOSTextResponder base class QIOSTextInputResponder has two responsibilities; It takes care of handling text input from UIKit, and to implement first responder actions related to the edit menu, like copy and paste. Currently the responder offers both writable (paste) and readable (select, copy) actions. Because of the former, it means that it can only be used for focus objects that accepts text input. Since we also want to be able to show an edit menu for selections done on a read-only input field, this patch will factor out the read-only actions we want for that case into a QIOSTextResponder base class. An instance of this class can be used as first responder for a focus object that has read-only text, but otherwise doesn't support text input. This part is implemented in a subsequent patch. The remaining set of writeable actions, together with input method handling, will continue to be in the QIOSTextInputResponder subclass. Task-number: QTBUG-91545 Change-Id: I1c215bb509eb7820c6c60f7ad806f61a5de02ded Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Q{XcbGl,EglFSDevice}IntegrationFactory: remove unused extra plugin pathThiago Macieira2021-11-104-51/+6
| | | | | | | | | | Cargo-cult copied this from somewhere, unnecessarily. This just made the code bigger for no reason. Task-number: QTBUG-97950 Pick-to: 6.2 Change-Id: Ice04365c72984d07a64dfffd16b48520d42c7043 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Bump WINVER, _WIN32_WINNT and _WIN32_IE to _WIN32_WINNT_WIN10 (0x0A00)Yuhang Zhao2021-11-106-25/+12
| | | | | | | | | | | And bump NTDDI_VERSION to 0x0A00000B (NTDDI_WIN10_CO) at the same time, to unblock the developers from accessing the latest Windows APIs. Pick-to: 6.2 Change-Id: Ifbc28c8f8b073866871685c020301f5f20dc9591 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove unreachable breaksDavid Skoland2021-11-101-5/+0
| | | | | Change-Id: I0e005964624125d3ab12f77c94fd393802547a13 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* macOS: Add QCALayerBackingStore::preserveFromFrontBuffer helper functionTor Arne Vestbø2021-11-082-10/+22
| | | | | | Pick-to: 6.2 Change-Id: Iadd4791907564b8b82437643c54696ffa778d882 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* macOS: Rename QCALayerBackingStore::prepareForFlush()Tor Arne Vestbø2021-11-082-39/+50
| | | | | | | | The need to finalize the back buffer isn't limited to flushing. Pick-to: 6.2 Change-Id: I98b04ab49ec27ea536e99462deab8d48a8e40e82 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* macOS: Track painted area of backingstore buffer via its dirty regionTor Arne Vestbø2021-11-082-17/+28
| | | | | | | | | When introducing support for scrolling the backingstore it doesn't make sense to track the painted region explicitly. Pick-to: 6.2 Change-Id: I370932f02490ac526fb049908f99af678884e807 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* macOS: Don't defer back/front-buffer swap in CALayer backingstoreTor Arne Vestbø2021-11-081-25/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | CoreAnimation doesn't immediately mark a surface as in use the moment we assign it to a layer, but defers it until the surface has bee picked up by the window server. In theory this would allow us to defer the swap until the next beginPaint(), which would allow painting to the back buffer again before Core Animation has time to flush the transaction and persist the layer changes to the window server, and would also automatically deal with requests to flush without painting anything. But, since a client may do several rounds of beginPaint/endPaint before flushing, we might end up in a situation where we detect that a surface is in use in the middle of several paint rounds, and end up swapping in a new back buffer without copying over the previously painted content, like we do in prepareForFlush. To be on the safe side we swap the back and front buffer straight away. We also need to mark the surface in use, to prevent the same problem from appearing when the window server doesn't pick up the surface in between two rounds of flushes. Pick-to: 6.2 Change-Id: Ib418852424773c399df710da33a388e8d2c2e92c Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* wasm: fix size of QDialogsLorn Potter2021-11-061-1/+6
| | | | | | | | | We can simply propagate the minimum window size. Pick-to: 6.2 5.15 Fixes: QTBUG-83503 Change-Id: Ia9f67c92ca37fd0f4e89f08e5153e12c1385f6f8 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* iOS: Hide UIWindow before restoring mirror modeTor Arne Vestbø2021-11-041-1/+1
| | | | | | | | | | Doing it the opposite way, by associating the new screen first, will result in the external screen not going back to mirroring the main display. Pick-to: 6.2 5.15 Change-Id: I63970380fc4f0902af5032043809a9c1b1f9f95b Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* iOS: Defer restoring screen mirroring until next runloop passTor Arne Vestbø2021-11-041-3/+7
| | | | | | | | | | | | | | | Associating the UIWindow with a different screen will trigger layout of the child views of the window, including the view that we're in the process of removing, which doesn't have a platform window anymore. Instead of protecting every possible code path in the view code with checks for a platform window we defer the restoring of mirror mode until after the view has been removed. Pick-to: 6.2 5.15 Task-number: QTBUG-94530 Change-Id: I8c66106cafa67e06721e621c019b2d10acf02326 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* iOS: Don't try to initialize a11y for views that have no platform windowTor Arne Vestbø2021-11-041-0/+5
| | | | | | | | | | The window may have been destroyed, but the UIView may still be be referenced and kept alive by the a11y subsystem. Pick-to: 6.2 5.15 Task-number: QTBUG-94530 Change-Id: I24f1c9d45e80c1bb4c92536e7f91533a94fd077f Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* qnsview_mouse, scrollWheel: do not assume zero deltas on Ending phaseTimur Pocheptsov2021-11-031-4/+4
| | | | | | | | | | | | | | | | | | It's somewhat difficult to reproduce, but having a mac with a trackpad and a huge scrollview (meaning I have to scroll fast and a lot), I am able from time to time to trigger an assert on the line: Q_ASSERT(pixelDelta.isNull() && angleDelta.isNull()) In all such cases, I can see that deltas are not zero, but equal to the ones that the next event (momentumPhase == Begin) has. The code is based on Tor Arne's patch. Pick-to: 6.2 5.15 Fixes: QTBUG-97945 Change-Id: I874c776b265d3950cc2b6c1d8054363b3d0d1fde Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Add ShowDirectoriesFirst platform theme hintMitch Curtis2021-11-031-0/+2
| | | | | | | | This allows Qt Quick Dialogs to accurately check how it should show files and directories. Change-Id: I0f5102553ff9a0484b3714ba176f7e5e668fd05c Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QAbstractFileEngine: Remove useless method overridesIevgenii Meshcheriakov2021-11-033-16/+0
| | | | | | | | | | | | Remove useless overrides of QAbstractFileEngine methods from the derived classes. Also remove "This virtual function must be reimplemented by all subclasses" passages from the QAbstractFileEngine's documentation. There are pure virtual methods for such use cases. QAbstractFileEngine already contains useful defaults for classes not supporting all the functionality. Change-Id: Ia25965854f3809b15d7502da3749cc2f3414bbc3 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Revert "Add support for EGL_EXT_platform_xcb"Paul Olav Tvete2021-11-021-6/+1
| | | | | | | | | | | This reverts commit 816c5de460439faac0745cb364c374162b7fc651. Reason for revert: Causes crash on Nvidia when Qt is configured with -opengl es2 Fixes: QTBUG-97738 Change-Id: I9fe43146b922fc770890a144fdb1bd1c564635bb Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Fix show()/hide() for child windows on xcbLars Knoll2021-11-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change e946e6895a8517a887ac246905e0769edd766fcc implements proper support for ICCM 4.1.4 window state handling. One issue it addressed is that a show() after a hide() needs to be delayed until the window manager/X-server has processed the previous event. This was handled with a deferred task list to send the map/unmap events. According to ICCM, we should wait for the _NET_WM_STATE notification before processing the deferred events. But this is only true for top level windows, as child windows are not handled by the window manager and will never receive any _NET_WM_STATE notifications. For those, we should use the unmap notify event, which means that the X-server has processed the unmap and handle deferred events once that notification has been received. This fixes an issue in Qt Multimedia, where QVideoWidget would not show the video anymore after a minimize of the player or when making the QVideoWidget fullscreen. This is because QVideoWidget uses an embedded QWindow to render video using HW acceleration. Fixes: QTBUG-97257 Pick-to: 6.2 5.15 Change-Id: I5c47eba3276a1f243bdafd5346f353c7843403bb Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* windows qpa: re-apply 8d6e825dMorten Johan Sørvig2021-10-291-0/+2
| | | | | | | | | | | | “Handle invisible child windows gracefully on dpi changes” This fix was accidentally removed by commit cd96d870 “Move VM_DPICHANGE handling to QWindowsWindow”. Fixes: QTBUG-96466 Pick-to: 6.2 Change-Id: I3774f6305631ba47282d43e8480e2acaba517a96 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Android: Treat ACTION_CANCEL as TouchCancelEventMike Achtelik2021-10-291-6/+30
| | | | | | | | | | | | | | | | | | | | Change 64d62c53c1e92a1cc07449a0ea3c71501592c1e7 started treating an ACTION_CANCEL as a TouchPointReleased. This leads to unintentional presses, if e.g. an edge swipe for the android back gesture starts on a MouseArea. When Android takes possession of the motion, an ACTION_CANCEL is delivered, which needs to be handled as such. It should not be treated as a normal up event that triggers a press. Otherwise, we get the above-mentioned issue, where an unintentional action is performed. So let's use QWindowSystemInterface::handleTouchCancelEvent to treat it as a canceled touch in Qt. Task-number: QTBUG-72110 Pick-to: 6.2 5.15 Change-Id: I68650a180130501568e5a1e9a7f20ea469461e97 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* wasm: fix changing cursor shapeLorn Potter2021-10-292-9/+10
| | | | | | | | | | | | | The previous implementation would occasionally result in a crash when a window was closed. Apparently 'auto' cursor does not work so well, so we now use 'default' name. Fixes: QTBUG-96178 Pick-to: 6.2 5.15 Change-Id: I0179d20dbdc01f0e3021d746324e1e39c678a298 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Revert "wasm: Hide popups when a window is left-clicked"David Skoland2021-10-291-3/+0
| | | | | | | | | This reverts commit 0921caf9769c84192c539db22085d343f1a4b5b1. Reason for revert: This change breaks mouse press handling in popups themselves. I'll make another solution. Change-Id: Ib9fd41f3f078e6abf22e5b0f75724d4acc737ead Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Add missing macOS header file that was indirectly included beforeØystein Heskestad2021-10-271-0/+1
| | | | | Change-Id: I4d4c7d4f957fc36dea5e06eb6d661aeecf6385f1 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Adjust behavior of windowIsPopupType and hasTitleBarDavid Skoland2021-10-272-9/+8
| | | | | | | | | | | The previous implementation did not check for the popup flag, so it was added, and the tool window exception was preserved. hasTitleBar was also changed so it checks for popups and not tooltips specifically (tooltips are always popups). Change-Id: I3e2ba3be56e992b30ca2a07375092073572e7fcb Pick-to: 6.2 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* wasm: fix window activationLorn Potter2021-10-273-1/+9
| | | | | | | | | | | | | | This fixes window activation of dialogs and tooltips In the case of tooltips, We were activating the window being removed. In the case of dialogs, we need to raise the window before requesting the activation. Change-Id: Ie989e6d92afedf1895b5e188f0695f6254d70272 Fixes: QTBUG-94918 Pick-to: 5.15 6.2 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Revert "Android: Place cursor correctly on screen when editing"Rami Potinkara2021-10-264-63/+9
| | | | | | | | | | | | | | | This reverts commit 5c6b10c3cee5737dbc041d0463220898c8120807. It caused a regression such that the main window no longer resized or panned when the VKB is shown, in spite of android:windowSoftInputMode being set. Pick-to: 6.2 5.15 Task-number: QTBUG-95300 Task-number: QTBUG-96117 Task-number: QTBUG-97503 Change-Id: If56e1113eea69a940f6760bdb2ad06a93a0759c1 Reviewed-by: Andreas Buhr <andreas.buhr@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* wasm: Hide popups when a window is left-clickedDavid Skoland2021-10-251-0/+3
| | | | | | | | | This logic is taken from the macOS platform implementation and seems reasonable to reuse in WASM. Fixes: QTBUG-90990 Change-Id: Id4a4dd8d9fdd9de3085bfcd9079793aad3dda363 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Android: set EXTRA_TITLE to the initially selected file in save dialogAssam Boudjelthia2021-10-252-4/+9
| | | | | | | | | | | | | | | The extra data EXTRA_TITLE is only documented to be used to provide the initially selected file name in the context of file dialog [1]. So, let's stick to setting it only in save mode. This also now allows the save dialog to set an initial file name which wasn't possible before. [1] https://developer.android.com/reference/kotlin/android/content/ Intent#action_create_document Pick-to: 6.2 5.15 Change-Id: Ib55191a7269bfad28af4928f4e74d87981bdd574 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Initialize member variables before we check their valuesVolker Hilsheimer2021-10-251-5/+3
| | | | | | | | | | | | | Amends 51679efcf97dfea86431912eeb9489088c0804ed, which broke Ctrl+key handling so that the key was not translated based on the alphanumerical character anymore. Fixes: QTBUG-97713 Pick-to: 6.2 Change-Id: I9835fd7af99693aae636ba3c4c114ef8e11621e9 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* xcb: use QXcbConnection::selectionOwner() convenience APIGatis Paeglis2021-10-224-18/+7
| | | | | Change-Id: I4fbae152829206b15bf0430d3fb2c9e2b6026566 Reviewed-by: Liang Qi <liang.qi@qt.io>