summaryrefslogtreecommitdiffstats
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Merge remote-tracking branch 'origin/release' into stable" into ↵Frederik Gladhorn2013-06-0313-46/+42
|\ | | | | | | refs/staging/stable
| * Use [NSEvent characters] to retrieve the input character.Gatis Paeglis2013-05-301-14/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is how it was done in Qt 4. An issue with the current approach was that it did not consider modifiers when setting a Qt::Key_* value, which would assign the same Qt keycode for: a = a(65) Alt + a = ā(65) [here it should return a unicode value for 'ā'] This is inconsistent with the other platform plugins. Also in the combination with a dead keys it was returning nothing in the output. Task-number: QTBUG-29005 (cherry picked from commit 6730413fcac1d7eb39af3683b87f965c5823cb6c) Change-Id: Ic28eb55b3a9798ecb6012cc2e3fb18589b8b0392 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| * Windows: Suppress mouse events synthesized by OS.Friedemann Kleint2013-05-302-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the hint for QPlatformIntegration::SynthesizeMouseFromTouchEvents to false for Windows and suppress the events synthesized by OS. The synthesized events cause touch events to generate 2 clicks in Quick2. Leave code as is for Windows CE. Task-number: QTBUG-31386 Change-Id: Ia0987342dcdd55c8540810da5e4b90518a501ce6 Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| * Move QBasicDrag and QSimpleDrag to QtGui.Samuel Rødal2013-05-304-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | These are useful as default implementations of QPlatformIntegration::drag(), instead of having it return 0 which will lead to crashes in Qt Quick 2 and widgets applications that use drag and drop. Task-number: QTBUG-31288 Change-Id: I70efa139306ced5d879def0f74e3a72d3bcd64f7 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * QMenu: Remove last references to QMacWindowFaderGabriel de Dietrich2013-05-302-15/+3
| | | | | | | | | | | | | | | | | | It was never ported to Qt 5, and 10.7 has simple API for that. Task-number: QTBUG-31336 Change-Id: Ie00c4ed3af9cd098c9e63eba1c654f1801aa83aa Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| * Cocoa: Allow delayed title setting in menu itemsGabriel de Dietrich2013-05-301-2/+3
| | | | | | | | | | | | | | | | | | | | | | This is what happens in uic generated code. Therefore, we should not mark an item as text-synced until it's got its text set. Task-number: QTBUG-31378 Change-Id: I7bb7db8abad922b50546c7669d285369ebf01394 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| * Cocoa: Hide empty menus from the menubarGabriel de Dietrich2013-05-301-0/+11
| | | | | | | | | | | | | | | | Task-number: QTBUG-31378 Change-Id: I33ab2979a26166fb07e836c85dfc8089af5e1fda Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| * Fix QPlatformWindow::initialGeometry() to not touch large windows.Friedemann Kleint2013-05-281-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | Do not touch windows whose geometry (including the unknown frame size) is likely to be larger than the screen. Remove fix-up in the Windows plugin. Task-number: QTBUG-30142 Task-number: QTBUG-31071 Change-Id: I13a8ffb9fb9d8c71d35de75094275388fa427f2c Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
| * Cocoa: Use actual modifiers when sending ShortcutOverride eventGabriel de Dietrich2013-05-281-1/+1
| | | | | | | | | | | | | | Probably a typo since keyCode clearly has no modifiers encoded. Change-Id: I1c7908b06a759baf7b2c3462861a5d61f8c52b9f Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | Fix leak in QNSView.Ivan Komissarov2013-05-311-0/+2
| | | | | | | | | | Change-Id: Ide0e826bf068340c86d87a8ccbb3bd58b60f6d8c Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* | Support Mac key equivalent Cmd+PeriodGatis Paeglis2013-05-312-0/+18
|/ | | | | | | | | | On Mac Cmd+Period isa special key combination which never got delived to Qt application. We can intercept these special keyboard shortcuts in the performKeyEquivalent function. Task-number: QTBUG-11386 Change-Id: I680385bde07b2810e8bde86ec9fbbe7e09156c84 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* iOS: bugfix function portraitToPrimary()Richard Moe Gustavsen2013-05-281-1/+1
| | | | | | | | | | The old implementation was wrong since it did not use the screen's height (which was already in primary orientation) to calculate what the new y value of the target rect (which was in portrait) should be. Change-Id: Ie5b2241119e244d099e06d85f69953c1d64979aa Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Fix transparent toplevels on Mac OS X again..Gunnar Sletta2013-05-283-7/+18
| | | | | | | | | | | | | | | | | We're using QWindow::format() to decide opacity or not in a few places, but this used to resolve to QPlatformFormat::format() which would in turn return a default format without alpha set. Instead, return the format requested by the user. Masked windows were always broken as converting a 32-bit image to an Indexed8, doesn't give a grayscale image, but rather a randomly spreadout set of indices based on the colortable generated by the converToFormat function. Task-number: QTBUG-28531 Change-Id: I537288f85c70b1e6194785b9ebcb5ea1f9581cee Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* iOS: Use right DPI for all iPad Minis, not just the WiFi versionTor Arne Vestbø2013-05-271-1/+1
| | | | | | | | The 3G versions are iPad2,6 and iPad2,7. Change-Id: I43a00e84535d494550bca8a533a6d16af4be6722 Reviewed-by: Ian Dean <ian@mediator-software.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: take orientation into account when reporting touch positionsRichard Moe Gustavsen2013-05-271-3/+6
| | | | | | | | | | This implementation will look at the orientation of the main screen to convert the touch coordinates. This will most likely change in future work, where we might look at a views view controller instead to decide orientation etc. Change-Id: Ic7875c5ecc4f21538f82a4f0467350bdf8ecc0b0 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Windows: Respect geometry set before native window creationGabriel de Dietrich2013-05-271-4/+8
| | | | | | | Task-number: QTBUG-31071 Change-Id: Idab21c5996d1dc31b0a6fab4960c3c48a50d4966 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Need to register dbus metatypes to have them work correctly.Lorn Potter2013-05-261-0/+2
| | | | | Change-Id: Ic994a0747c692fffe8a986eba6f754a6c0eddfa8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* iOS: don't activate non-toplevel windowsRichard Moe Gustavsen2013-05-241-1/+1
| | | | | | | | | | | | | | Parts of the code seems to assume that all QWindows are top-level windows. This will be false when not using alien, as then, each widget will be wrapped inside a QWidgetWindow. In that case, we should not tell QPA to activate the "window". This bug caused focus handling (and text input) to fall apart for e.g graphicsview when using a QGLWidget as viewport. Change-Id: I579db7a84d718973e02e96ed535fe6e25baf4bd5 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* QNX: fix buffer creationMatt Hoosier2013-05-241-1/+2
| | | | | | | | | | | | | During some coding style cleanup in 02311c07 ("QNX: normalize braces") some braces which were actually necessary got removed. The result was an spurious report of a fatal error when no underlying error condition had occurred. This change restores the braces to preserve the prior behavior. Change-Id: Ic32fbd5961ce59f6c01476fd2cef6fec0bdae93e Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Fix crash in QCococaWindow::childWindowAt().Friedemann Kleint2013-05-231-9/+5
| | | | | | | | Task-number: QTBUG-31297 Change-Id: I96f4652e410334fae54a0012ed917a965becfe5c Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* QNX: support underlain foreign windowsMatt Hoosier2013-05-232-13/+60
| | | | | | | | | | | | | | | Previously, any foreign window was treated as an overlay, with its z-order being forcibly set above the native Qt windows. This change adjusts the strategy to treat foreign windows whose initial z-order is less than -1 (the default z-order used by mmrender for its overlay surfaces) as underlays; otherwise the foreign window is treated as an overlay. Change-Id: Ifbcfd3a956965fa1a347076e9845afa50a81edfd Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* QNX: Support window translucencyMatt Hoosier2013-05-233-5/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | A few tactical changes were necessary to do this: * The root window's buffer must be the full size of the window in order for transparency to work. We now transition this buffer to full-size upon first request of some QWindow to be translucent. At the same time the root window is transitioned to being full- screen, we also set its alpha blending mode to Source-Over in order to permit lower z-ordered apps to show through. * Set the root window's buffer position to (0, 0) to avoid a momentary flicker of unpainted pixels on the far right-hand border as a translucent window comes on-screen. * Use Source-Over alpha blending for normal child windows too. The QtGui core logic for setting the backing surface pixel format to something with an alpha channel if Qt::WA_TranslucentBackground is set on the toplevel QWidget already accomplished the remainder of the work. Change-Id: I1c2b31aa6323b4555fa194313f0f5e06ada494fc Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
* Cocoa: Amend 5d07a4d9448f60 to avoid an assert in QWidget::mapTo()Gabriel de Dietrich2013-05-231-1/+2
| | | | | | | | For now, we only call 'flushWindowSystemEvents()' for top-level QWindows. Change-Id: Ie6f6d3f9b70241820d9c38bcc0caf832d521268b Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Windows: Fix toplevel window flags for Qt::Dialogs/Qt::Tool.Friedemann Kleint2013-05-231-4/+21
| | | | | | | Task-number: QTBUG-31111 Change-Id: I58dcf8101077f18c7867cae914026c692735fc15 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Improve error message in GL context creation.Friedemann Kleint2013-05-231-2/+6
| | | | | | | | Output format, glGetError(), shared context as well. Task-number: QTBUG-30077 Change-Id: Ibc4a7f9ad99bdcdcb439e719394d2532445c3fbe Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* QNX: normalize bracesRafael Roquetto2013-05-2310-195/+106
| | | | | Change-Id: I05f140a0626e543535cc74c6f737be9be1e27a5d Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* Process initial expose events immediately.Morten Johan Sørvig2013-05-231-0/+1
| | | | | | | | | | | | Required to prevent qmlscene flicker on startup. Also brings back that qWait() in tst_QGL::graphicsViewClipping() that seems necessary after all. Amended-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Change-Id: I14ba6e18ac98e5df1ce8ecbc263b30176b67d111 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Windows: Pass auto-fixed window flags to shouldShowMaximizeButton().Friedemann Kleint2013-05-231-4/+3
| | | | | | | | Task-number: QTBUG-28407 Task-number: QTBUG-31258 Change-Id: Ie918fddbeb6adee4ccbfffb2fab62b3d1842d272 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Suppress "Click to focus" for widget windows.Friedemann Kleint2013-05-231-2/+2
| | | | | | | | | | | | | | Calling requestActivate() on native child widgets can cause focus problems (keyboard input going to widgets that don't handle it,etc). Breakage introduced by: 4675681b5e88b178adbdef775ac6a4b1e573458 . Task-number: QTBUG-30922 Change-Id: I4efdfef6bffc89fe62156d248f05ed99c58bf794 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Observe initial screen for fullscreen windows.Friedemann Kleint2013-05-232-4/+8
| | | | | | | | | | | | | | | Introduce flag to determine "create" state and do not try to determine the screen from the geometry. Fixes breakage introduced by ded4613ae43842d4b960137843eb83a7472adc65. Task-number: QTBUG-31166 Task-number: QTBUG-30724 Change-Id: Ibe8df95e0ea84be070fdd06b158a6a10c76d42be Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Make QWindow update its screen when moved to a different oneGabriel de Dietrich2013-05-233-1/+26
| | | | | | | | Also implements the Cocoa backend for that. Change-Id: I32977e12a04e1cf48b12333442482746c69ce133 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Made the X11 eglfs hooks provide mouse input.Samuel Rødal2013-05-232-3/+159
| | | | | | | Makes the X11 hooks slightly more useful for testing eglfs. Change-Id: I53652cef7b9fc6830ee72e44c153fe281bc1bd7d Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Cocoa: Make sure main window gets focus after closing modal dialogGabriel de Dietrich2013-05-231-3/+15
| | | | | | | | | | As explained in the code, this is due to our event dispatcher. This could also make applications crash due to the way we bind windows to the menubar in the Cocoa QPA plugin. Task-number: QTBUG-30451 Change-Id: I6dd190d5b3b83f1216caec0b14414efa771634a5 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Cocoa: Remove "Incomplete implementation" compilation warningGabriel de Dietrich2013-05-231-1/+1
| | | | | Change-Id: I1db62c2504b55ef1451cb147d745c19cbef7de1e Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* A Dialog should not hide when the application is deactivatedShawn Rutledge2013-05-231-1/+3
| | | | | | | | To get this behavior, use Qt::Tool. Task-number: QTBUG-31133 Change-Id: I4811b5fe7e180a63bcdfe8018b35a56b370d9b61 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Fixed XCB build with -no-openglSamuel Rødal2013-05-221-1/+3
| | | | | | Task-number: QTBUG-30115 Change-Id: I1651a1cdda2a5370e23fabe631b0742a617631c0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QNX: Fixed build of QPA pluginBernd Weimer2013-05-221-1/+1
| | | | | | | | | | | Added private core and gui includes to project file. Those were implicitly included in the past, but removed with commit 289302e. Removed redundant module, as well. Change-Id: I878d9acabc5497702dc282e25d6fdd9016ae2ad6 Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Ignore mouse enter/leave on non-exposed windowsShawn Rutledge2013-05-221-1/+2
| | | | | | | | | | | | | | | If you put two OpenGL widgets in two tabs, you will have several QNSViews on the Mac (because using OpenGL forces a lot of the widgets to be non-alien). The GL widget on the non-visible tab will not be exposed, but QCocoaWindow::childWindowAt is recursive and was returning the last window found which contained the mouse location; but the children are not reordered when switching tabs. It should ignore the invisible windows and report that the mouse entered the one which is visible. Task-number: QTBUG-30934 Change-Id: Iae28db56e15815671bf39e1b1f382c8c285532bd Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Fix linuxfb plugin when fb offset is present.Michael Brasser2013-05-201-4/+5
| | | | | | | Task-number: QTBUG-30994 Change-Id: Ic9e80f5bfaf54e89e9a9187f3e73e57015ed8c3d Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* iOS: fix bug when reporting the screen position of touch eventsRichard Moe Gustavsen2013-05-201-8/+8
| | | | | | | | | | | | | | | | | The way we reported screen position (and normalized position) for touch events was just wrong. The old implementation did not take into account that a view could be anything else than a direct child of the window, which fails for many cases (e.g when using QGLWidgets). Nor did it take into account the status bar, which made it hard to push small buttons since the touch would always be slightly offset. This patch calculates the screen pos by converting the touch pos to window pos, and then subtract the application frame (that contains the size of the status bar). Change-Id: Ib7f5f6dcea3a611e1ed75d57fb4a4718564752f0 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Never show EGLFS mouse cursor in Qt for Android platform pluginEskil Abrahamsen Blomfeldt2013-05-203-8/+11
| | | | | | | | | | | | | The hack to use the environment variable for turning off the mouse cursor is broken when running against Ministro, because Ministro does not pass the environment on. A better solution is to make it possible to turn the cursor in the EGLFS plugin off in the hooks instead. Task-number: QTBUG-30553 Change-Id: Id09b48c350d2c95de9bb174f7480cf0cd2bf8145 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Fix ambiguity in shortcut matchingGatis Paeglis2013-05-201-10/+13
| | | | | | | | | | | Comparing to the Qt4 implementation, possibleKeys() should skip records where qtKeys are equal. Task-number: QTBUG-31132 Change-Id: I2fb073b4dc7291f909cce616f40f7c2491e7cf26 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* xcb: fallback to gtk cursor themesJørgen Lind2013-05-202-24/+98
| | | | | | | | | When Xcursor LoadCursor fails to find a cursor Task-number: QTBUG-27537 Change-Id: I46086c78c3d5bea3c39187dcc55b4774e58f5749 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Add QXcbConnectionGrabber classJørgen Lind2013-05-203-2/+30
| | | | | | | Inspired by QMutexLocker Change-Id: I66e31091d2a006db3272b627567d95d3e0b1c4f9 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Introduce QXcbXSettingsJørgen Lind2013-05-207-2/+372
| | | | | | | | | | | | | This allows you to easily retrieve properties in the XSETTINGS specification. It is also possible to add listeners to get notified when a specific property changes. XSETTINGS is lazy initialized, so it will not be instansiated before someone uses it. For now the intended use is a fallback for finding cursor theme Change-Id: Id47f0613f5876424cd47d721b40da17d3f63429e Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Prevent windows from jumping when changing geometry on OS XTor Arne Vestbø2013-05-151-2/+1
| | | | | | | | | | | | | | | We were setting the frame origin and content size as two separate steps. The frame origin was asynchronous, while the content size was synchronous. This resulted in the window visually jumping/moving, instead of applying the new geometry in one single step. We now set both in one go using setFrame, by manually calculating the frameRectForContentRect. This makes the whole process asynchronous. Task-number: QTBUG-31039 Change-Id: Iaba46106b9f200c707507f330fa801c99e2e7d89 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Cocoa: Fix Open GL resolution in high-dpiGabriel de Dietrich2013-05-152-12/+10
| | | | | | | | | | | | We permanently enable 'wantsBestResolutionOpenGLSurface' when creating an Open GL window/surface. We were enabling it once we would detect a high-dpi Cocoa backend, whitout ever turning it off. Leaving it 'on' on non-high-dpi displays should not change anything. Task-number: QTBUG-31000 Change-Id: I3d0c77f7b36f3c22dacd04a50fcc5a7d88af32c0 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Fix breakage of tst_qquickwindow::grab(invisible)Andy Nichols2013-05-142-12/+9
| | | | | | | | | | | | Instead of waiting for -drawRect to call -setView on the NSOpenGLContext, we go ahead and attempt to set the context as soon as possible. If it is indeed required that we call -drawRect first then will try to call -setView again during -drawRect with the new NSOpenGLContext. Change-Id: I33d9f2ba241b49e8cfa6c9156dd5bf5e4cc6b164 Reviewed-by: Liang Qi <liang.qi@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Cocoa DND: respect QDropEvent::setDropAction()J-P Nurmi2013-05-131-2/+5
| | | | | | Task-number: QTBUG-31061 Change-Id: Id3275a0510bfa619a52d17cf48a3e48b3bae5354 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Fix HTML data transferring through the Clipboard on WindowsGatis Paeglis2013-05-131-10/+9
| | | | | | | | | | | | | | | | When transferring html formated data through the clipboard some of the html markup was lost when converting from Windows clipboard native mimedata to Qt mimedata type. On X11 we are sending everything - inluding <!DOCTYPE ...><html> .. </html>. This patch enables the same behavior on Windows. Task-number: QTBUG-30984 (cherry picked from commit 9e28245da1580e25e77a665b7738c59eb298c422) Change-Id: Ic0e339ad53955f1d31e8dff92ccf38b6eeec369a Reviewed-by: Andy Shaw <andy.shaw@digia.com>