summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/windows
Commit message (Collapse)AuthorAgeFilesLines
...
* Add a QEnterEvent containing the mouse position.Friedemann Kleint2012-11-101-1/+3
| | | | | | | | | | | | | Enter handling requires knowledge of the mouse position. Extend the enter handling of QWindowSystemInterface to receive the position (implemented for Windows, XCB and Mac), passing it on to QEnterEvent. Dispatch QEnterEvent from widgets code. Change-Id: I49c07d2b1f46310c877017dd55d4cd7d636bdbce Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Windows: Add missing support for X-buttons.Miikka Heikkinen2012-11-081-3/+8
| | | | | | | | | Autocapture and framestrut event generation didn't handle X-buttons. Task-number: QTBUG-27874 Change-Id: Icfe9dfb9abc9cd506e1875f2b2b4cbc644cff6cd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
* Rename all QWindow properties that have "window" in themShawn Rutledge2012-11-075-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | windowTitle, windowModality, windowIcon and so on are named that way to be similar to the ones in QWidget. However QQuickWindow inherits all of the declared properties, and we would like to have shorter property names in QML. If you are working with a Window then it's obvious the title property is the window title. Unfortunately, there must be patches in many other modules which depend on this one. In order to avoid the need to merge them all at the same time, there is also patch https://codereview.qt-project.org/#change,39001 which temporarily adds backwards-compatible accessors, which can be removed after the other modules are able to build without them. We should not rename windowState to state, because in QML, state usually drives the state machine for animation transitions etc. (although QWindow is not an Item, a user might get confused about it). Related patches are https://codereview.qt-project.org/#change,39001 https://codereview.qt-project.org/#change,37764 https://codereview.qt-project.org/#change,37765 https://codereview.qt-project.org/#change,37766 https://codereview.qt-project.org/#change,37762 Change-Id: Ie4424ec15fbdef6b29b137f90a2ae33f173edd21 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Fix autocapture for doubleclick in WindowsMiikka Heikkinen2012-11-071-1/+2
| | | | | | | | | Holding down the second click of a doubleclick should also autocapture the mouse like it does in Qt4. Task-number: QTBUG-27863 Change-Id: I38c0567eca9fd7dcd3ef3d17921db5ebd3fe18b1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fix invalid mouse press and release events on window maximizeMiikka Heikkinen2012-11-072-2/+31
| | | | | | | | | | | | | | | | | | | | | In Windows, if the window is maximized with a doubleclick on the title bar or resized with a doubleclick on the bottom or top frame border, there comes no WM_LBUTTONDOWN or WM_LBUTTONDBLCLK event for the second click, but there comes at least one WM_MOUSEMOVE with left button down and eventual WM_LBUTTONUP. Since QWindowSystemInterface::handleMouseEvent() can't differentiate between actual button down event and a move event with button held down, the move resulted in a button down event being sent to the widget that was under cursor after resize. Fixed by ignoring any events with left button down for which we didn't get the initial native button down event. Since entering an application with mouse button already held down is not generating mouse events anyway until the button is released, this should be safe. Task-number: QTBUG-27845 Change-Id: Ibc7abf8a127c401801e1b654a2829582f43a1ae8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fix GDI leaks in fontengineMiikka Heikkinen2012-11-052-3/+6
| | | | | | | | | | GDI objects that are created need to be deleted once no longer needed, instead of just released. Task-number: QTBUG-27812 Task-number: QTBUG-27825 Change-Id: I53b04b54cea9e2aaa8fc72365c215f516c5682e6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Added MultipleWindows platform capability.Samuel Rødal2012-11-021-0/+2
| | | | | | | | | | | | | | Several platform plugins, like eglfs, kms, etc don't support multiple windows as there's no system compositor, they're rendering directly to a single back buffer. By adding a platform capability we'll be able to provide better error reporting when an application tries to create multiple QWindows on a single-window platform. Also, QML apps can use this capability to figure out whether they should create a QWindow for dialogs / popups / menus, or whether to just create items in the same scene, that are shown on top of the rest of the content. Change-Id: I15b8d21ee2bc4568e9d705dbf32f872c2c25742b Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Expose IAccessibleTable2 to non-conformant screen readersJan Arve Saether2012-11-021-7/+20
| | | | | | | This seems to be the established practice. Change-Id: I75a65d722a026ab0eb1805688743f46aba406e6c Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* beef up qt_plugin.prfOswald Buddenhagen2012-11-011-4/+2
| | | | | | | it now defines the DESTDIR and creates an INSTALLS rule. Change-Id: I15a462ccad9acbe3521c352fa98327825dc27c05 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Bring back native dialogs for Windows XP.Friedemann Kleint2012-10-303-46/+468
| | | | | | | | | | | | | | | The CLSID_FileOpenDialog, CLSID_FileSaveDialog-based dialogs are available from Windows Vista on only, the old Shell-function based ones are required for Windows XP. Add a command line argument to switch dialog types. Extract some common functionality for both dialog types. Task-number: QTBUG-27621 Change-Id: I224c5c4574c2ff54daf354f00d3d1f82abc6f459 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Fix build on MinGW after 0f14ea3f3a05ef785b44fa610bf90ff3b5ba7bebKonstantin Ritt2012-10-291-3/+0
| | | | | | | | Also generalize set _WIN32_WINNT to 0x0501 and _WIN32_IE to 0x0501 globally, as it is out minimal requirement these days. Change-Id: I8ca9102d49c37f908fd8ac032f707f8fe4fdcb22 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Possibility to change custom Drag&Drop cursors while dragging something. ↵Cyril Oblikov2012-10-261-17/+23
| | | | | | | | | | | Implementation for Windows and X11. Additional checks to figure out if new Drag&Drop cursors where set. This means it is possible now to keep QDrag object in your program and call setDragCursor() method every time we need to change cursor depending on context. Change-Id: I4be69e44b2863371a7ffbb29efc17c18210d6cde Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* New-style Windows cursors when dragging object from outsideCyril Oblikov2012-10-262-2/+39
| | | | | | | | | New-style drag&drop cursors are used now on Windows when user drags object to application from outside (e.g. image from Explorer). This is achieved by using IDropTargetHelper. Change-Id: I67e1db73cf433e235fce891eef0093cd4e605904 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Make compile on WCE after c3b9398Kevin Funk2012-10-261-0/+2
| | | | | Change-Id: I594893eb80ecade903e592c41c7117b08bc946a5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fix crash when handling WM_PAINT during COM operationsMiikka Heikkinen2012-10-254-3/+31
| | | | | | | | | | | | | Synchronous expose corrupts painter state if it is done during existing paint operation, which can happen e.g. when requesting some value from dumpcpp generated wrapper inside a slot. Fixed by implementing support for setting asynchronous expose and doing expose according to the setting in handleWmPaint(). Task-number: QTBUG-27209 Change-Id: I89b5aa823fda947d26b1a4757f129e7c31ea408b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Add ContextMenu event to QWindowSystemInterfaceMiikka Heikkinen2012-10-253-0/+31
| | | | | | | | | | | | | Context menu key wasn't working, as QPA had no handling for it. Added ContextMenu event to QWindowSystemInterface and proper handling to QGuiApplication and QWidgetWindow. Also provide Windows implementation. Task-number: QTBUG-27648 Change-Id: I7ce71ec4b5cdcc7be758e67f9faf6d863f7b19be Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Add ANGLE as a 3rdparty library to Qt.Jason Barron2012-10-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | ANGLE is a component that implements the OpenGL ES 2.0 API on top of DirectX 9. See the following for more info: http://code.google.com/p/angleproject/ ANGLE is now the default configuration on Windows. If you want to use desktop OpenGL, you should build Qt with the following configure options: -opengl desktop To configure Qt to use another OpenGL ES 2 implementation, you should use: -opengl es2 -no-angle Task-number: QTBUG-24207 Change-Id: Iefcbeaa37ed920f431729749ab8333b248fe5134 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Pass the correct handle to the Windows EGL context constructor.Jason Barron2012-10-221-1/+1
| | | | | | | | We should pass the shareHandle here instead of the handle for the context since that's what it expects. Change-Id: If851758817057ecc3c3646cba2354becf5a8a839 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Windows QPA plugin: Parse arguments from list passed to factory.Friedemann Kleint2012-10-184-42/+46
| | | | | | | Using dynamic properties on the native interface is deprecated. Change-Id: Ia3411780dad15af61d4805c0d9fabf00dba92301 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Fix compilation with MinGW-w64Jonathan Liu2012-10-173-4/+4
| | | | | Change-Id: I0c9e6adc54ccce34e0f81af048f2a51a4ac051b4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Windows: Multisampling is disabled by default.Friedemann Kleint2012-10-171-1/+1
| | | | | | | | | The previous code assumed that -1 indicated some sort of "auto", but this is not the case according to documentation. Task-number: QTBUG-27600 Change-Id: Id17ce32f94ded61a63a33d0c04ec5312f53c7923 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Windows: QT_LIGHTHOUSE_WINDOWS_VERBOSE -> QT_QPA_VERBOSE.Friedemann Kleint2012-10-172-2/+2
| | | | | Change-Id: Ieffa1f483cddd220b158ccd570af151420c8e3c3 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* QPlatformWindow: change API for QPlatformWindow::setWindowStateRichard Moe Gustavsen2012-10-172-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation requests the platform window to set the window state if it can, and return the actual window state back. The problem with this approach is that the platform window is created as late as possible, so a call to QWindow::setWindowState would in many (most?) cases never be forwarded to the platform window (instead, the platform window is responsible to check the current window state upon creation). As such, the window state might be left unsynched with the platform window. This patch suggests removing the return value from QPlatformWindow::setWindowState. This will at least be consistent, so that setting/getting state would produce the same result independent of delayed window creation. If needed, we can later add new API to QPlatformIntegration or QPlatformWindow for querying supported/actual window state. Change-Id: Ie43f56169656854a765ce88b47a808f8f3d51bb4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* QWindowsKeyMapper: use a more efficient data structure for 'keyLayout'Marc Mutz2012-10-162-61/+56
| | | | | | | | | | | | | | | | Instead of allocating small chunks (40 bytes) on the heap, use a contiguous array to hold them. This always occupies 10240 bytes of memory instead of 1024 (32 bits) or 2048 (64 bits) for the pointer array (plus heap memory which depends on the number of items allocated), but is more cache-friendly and uses less memory when the array isn't sparse. To emulate the nullptr, a new bool has been added (doesn't change sizeof(KeyboardLayoutItem)). Also replace a few more magic numbers by symbolic constants. Change-Id: I7160f600faddd63deea265c89dc6fd857c7b557f Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* QWindowsKeyMapper: remove dead codeMarc Mutz2012-10-161-1/+1
| | | | | | | | | As an array of automatic storage duration, 'keyLayout' can never be nullptr, so remove the respective check. Change-Id: I2fb2db8311de55b41a1f9aef7c35341949e38e5a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* QWindowsKeyMapper: replace one magic constant with a symbolic oneMarc Mutz2012-10-161-5/+6
| | | | | | | | | Replace occurrences of a literal 9 that mean 'number of modifier key combinations' with the new symbolic constant NumMods. Change-Id: I1e78a1a3c00b81095450ec0557e30751da44c39a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Implement setWindowIcon() for Windows.Miikka Heikkinen2012-10-162-3/+52
| | | | | | | | | Platform implementation for QWindow::setWindowIcon() was missing from Windows platform plugin. Task-number: QTBUG-27175 Change-Id: I6807d1ded057b7788a9f2fa5b143e212a666029b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QPA: Introducing QPlatformTheme standardPixmap(), fileIconPixmap()Gabriel de Dietrich2012-10-165-1/+255
| | | | | | | | | | | | | | | | | | | | The basic idea is that the platform theme is now responsible for providing the pixmaps for the given standard name, or any file or directory. Then, the QStyle implementation should query the platform theme for the pixmaps, and build the icons accordingly using ThemeHint::IconPixmapSizes. Same thing for QFileIconProvider. This also opens future support for getting platform dependent pixmaps in QtQuick components. Also includes the implementation for the Cocoa (QCocoaTheme) and Windows (QWindowsTheme) platform plugins. Task-number: QTBUG-27450 Change-Id: I4e8406585d970a9af481be10f6643cf0abbc38a3 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Windows: Document WinAPI usage for the various compilers.Friedemann Kleint2012-10-161-0/+34
| | | | | Change-Id: I139c6546cb84a1fa93920a501cd15eb11fdadbb8 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Windows QScreen: handle change in working area when the taskbar movesShawn Rutledge2012-10-164-2/+11
| | | | | Change-Id: Ic496419d89b9cca7653e77ef22978597abcb4e30 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QPlatformWindow: change API for QPlatformWindow::setWindowFlagsRichard Moe Gustavsen2012-10-152-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | The current implementation requests the platform window to set as many of the flags it can, and return the same flags with the unsupported flags removed. The problem with this approach is that the platform window is created as late as possible, so a call to QWindow::setWindowFlags would in many (most?) cases never be forwarded to the platform window (instead, the platform window is responsible to check the current window flags upon creation). As such, the filtering would never be done. Looking at the current set of plugins, most of them also seems to ignore this protocol, returning the flags unfiltered. This patch suggests removing the return value from QPlatformWindow::setWindowFlags. This will at least be consistent, so that setting/getting flags would produce the same result independent of delayed window creation. If needed, we can later add new API to QPlatformIntegration or QPlatformWindow for querying supported window flags. Change-Id: I9c759b5f9fab5ebed764a982f77fe19881118875 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Added possibleKeys(QKeyEvent *) to QWindowsIntegrationOliver Wolff2012-10-136-0/+41
| | | | | | Task-number: QTBUG-26902 Change-Id: I08d244816eae8794b52f244f049ee1fb825dac8b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Update/fix QTextBoundaryFinder simple usage cases in qtbaseKonstantin Ritt2012-10-131-5/+1
| | | | | | Change-Id: I4d3000558bce86e2de3c32247915868ba18fc8b7 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Modularize documenation buildTor Arne Vestbø2012-10-101-2/+0
| | | | | | | | | | qdocconf files can now reference $QT_INSTALL_DOCS to pick up e.g. global includes, instead of using relative paths. Qt modules will automatically get a doc target that builds and installs into the right place (including supporting shadow-builds) if they set QMAKE_DOCS before loading(qt_module). Change-Id: Ia408385199e56e3ead0afa45645a059d1a8b0d48 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Remove handleSynchronous* functions.Morten Johan Sorvig2012-10-101-7/+9
| | | | | | | | | | | | | | | | | | | | There are now two different ways to implement synchronous event processing. The platform plugins can choose which one to use. 1) flushWindowSystemEvents() Use to flush the event queue at one point, making preceding calls synchronous. 2) setSynchronousWindowsSystemEvents(bool enable) Makes all handle* functions synchronous, bypassing the event queue completely. Change-Id: I020b80c731fd13f855a377d7c91d06a4e39b6a0b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Windows: Filter out events sent during DestroyWindow().Friedemann Kleint2012-10-103-2/+7
| | | | | | | Task-number: QTBUG-26933 Change-Id: Ie7aaf9f0c9c12a33b059e796a3be161a2d60c64e Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Fix wheel events in WindowsMiikka Heikkinen2012-10-102-11/+46
| | | | | | | | | | Wheel events were always passed to window that got them from native message loop, which isn't what Qt expects. Changed the receiver to preferably be the window under cursor, as long as it is not blocked by modal window. Change-Id: I4edf0608842fe5b822a7f574abfdae81fa755ee5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fix Windows mouse enter/leave event generationMiikka Heikkinen2012-10-042-24/+59
| | | | | | | | | | | | | | | | | | | QWidget::underMouse() did not report correct widget in cases where mouse was grabbed by popup, which was especially disruptive in case of QCompleter popup, as that wouldn't close anymore with off-popup clicks. Root problem was that mouse capture in Windows caused enter/leave events for QWindows to be generated incorrectly. QPlatformWindow documentation specifies that enter/leave events should be sent independent of explicit mouse grabs and only automatic mouse grabbing done when button is pressed should suppress enter/leave events. Updated Windows mouse handling to conform to this. Task-number: QTBUG-27283 Change-Id: Iecf786a702f7d29e6026c42ff8ec4c9cbf1b6ac3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Run per-QWindow native event filter for all events.Friedemann Kleint2012-10-041-8/+11
| | | | | | | Task-number: QTBUG-27101 Change-Id: I064f91e250d68223da3b81d605e522c8b78535f5 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Remove unused placeholder from qErrnoWarning().Friedemann Kleint2012-10-041-3/+3
| | | | | | | | | The intention probably was to use __FUNCTION__, but since Qt logging can now be configured to print the function name by setting environment variables, just remove it. Change-Id: Ic87aebfea633dd91eda7376b33ca3b14d1cab93f Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Windows: Append file suffix in save-dialog.Friedemann Kleint2012-10-041-1/+21
| | | | | | Task-number: QTBUG-27186 Change-Id: I04304fce1cbf6fb6794f352ff896eb463699d42b Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* OpenGL: Don't request a context version higher than is supportedSean Harmer2012-10-031-4/+13
| | | | | | | | | | | | | | | The function wglCreateContextAttribsARB will fail if we request a context version higher than is supported. We therefore upper-bound the requested version by the version of the static context. This results in context creation succeeding and having the closest possible match to the requested format. The xcb qpa plugin is modified to operate similarly to the windows plugin in that it now creates a "static" context which is used to limit the versions of contexts requested by the user. Change-Id: I277ad7cc82edfdf7b9d8502ad921c8175feb1a4a Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Fix filter regular expression for native Windows file dialog.Friedemann Kleint2012-10-021-1/+1
| | | | | | | Task-number: QTBUG-26986 Change-Id: Idbbaca4ea4fc298c50a30671c48b597ac38d3308 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Fix OpenGL context creation in Windows platform pluginMiikka Heikkinen2012-09-271-1/+1
| | | | | | | | Attribute index was incremented incorrectly. Task-number: QTBUG-27272 Change-Id: Ia7e9c76acc6c9d8208b8ba43131861a3beff6b2c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* WindowsPlugin: Fix MinGW warningsKai Koehne2012-09-272-2/+4
| | | | | | | | | Fix warnings: Change-Id: Ia68607f72087c0085e528fee0e6270b80692e389 warning: enumeration value 'SynthesizeMouseFromTouchEvents' not handled in switch warning: suggest parentheses around assignment used as truth value Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* (WINCE)Add failure for font outline functionAndreas Holzammer2012-09-271-0/+2
| | | | | | | | | | There is no outline function in Windows CE, so add a failure to inform the user that, he needs to switch the font rendering. Change-Id: Ieceb68bec49a88c7f7eee99f1c62cf1701da6aec Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix build failure for MinGW using "system" freetypeMark Brand2012-09-241-0/+6
| | | | | | | | | The configure script correctly detects freetype and sets "system-freetype" in QT_CONFIG. However, the project file did not consider this possibility. Change-Id: I9ce90e7cd032a12ed7d06d3858b16c5a8d90c073 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Try to auto-detect the font rendering for WinCEAndreas Holzammer2012-09-242-4/+34
| | | | | | | | | | | | | | Native font rendering is broken for QML applications, use free type rendering for those scenarios. Use native rendering for all other applications. Use a workaround to find out if we are running a QML application on the target. Related to QTBUG-24205. Change-Id: I653ea579098db1e58af8176cb2c3f943be0b9602 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-2263-1513/+1513
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Fix mapping to/from global coordinates for child/embedded windows.Miikka Heikkinen2012-09-182-0/+19
| | | | | | | | | | | | | | | | | | | | | QWidget's mapToGlobal() and mapFromGlobal() functions assumed that if the widget reports it's a window or if it has no parent widget, it must be a top level window whose coordinates are in global coordinates. This is not true for child QWindows or embedded native windows (QAxWidgets). Changed the logic for mapping coordinates to use equivalent methods from QWindow if widget has a window handle, and changed QWindow's methods to map coordinates using native methods if window is embedded. Also fixed newly failing accessibility autotest. The geometry related failures there popped up because now the position of the rect returned by accessible interface is actually correct while widget geometry still reports position 0,0 before widget has shown up. Task-number: QTBUG-26436 Change-Id: I658fafd0ce01eb1604ba255efeeba3073ca0189f Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>