summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
Commit message (Collapse)AuthorAgeFilesLines
* Fix duplicated application menu items on Mac OSChris Meyer2013-03-203-4/+10
| | | | | | | | | Added code to check to see if the menu item already exists in the application menu before adding it. Change-Id: Ie0a5eab3c61d5a3413a834d2e57bab40660f6802 Task-number: QTBUG-27202 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Set StyleMask to NSBorderless if FramelessWindowHint is set.Irfan Omair2013-03-141-1/+1
| | | | | | | | | Task-number: QTBUG-29815 Change-Id: Idb93843a2ad8332c81587c245fe73aa2bf5cc661 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Merge "Merge remote-tracking branch 'origin/release' into stable" into ↵Stephen Kelly2013-03-135-10/+71
|\ | | | | | | refs/staging/stable
| * Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-03-085-10/+71
| |\ | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/opengl/qgl/tst_qgl.cpp Change-Id: I3c601351c984c1f4b00478d3c47ac9eeb021e892
| | * Cocoa: Pick right rectangle when rendering window maskGabriel de Dietrich2013-03-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Ususally, the object setting the mask knows better than the window, since the latter may not have had its size set by then. Task-number: QTBUG-29856 Change-Id: Ib24d452a98a76b57f5d9236d5fa1ba4755cf0840 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| | * Cocoa: Fix shadowless popupsGabriel de Dietrich2013-03-062-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | The window shadow was never invalidated after setting the transparency mask. We now do it right after the first draw after setting the mask. Change-Id: Icc5c6002d25abeb25d58ee4d1f868e928121ae9b Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| | * Cocoa: Improve expose event handling.Morten Johan Sørvig2013-03-065-9/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Send expose events on window and view show/hide notifications. Implement QCocoaWindow::isExposed. Close all windows on quit. This allows sending (de-)expose events for those windows while the event loop is running. Remove the flushWindowSystemEvents call in setVisible. This function is called from application code. Flushing window system events here is wrong since it can lead to events being processed in the middle of the user code call stack. flushWindowSystemEvents should only be called as a result of (native) window system activity. Skip one of the tst_qtooltip tests which becomes unstable/ fails in the CI system as a result of this change. Task-number: QTBUG-29583 Change-Id: I3fb8b3f77e2b2e19dfeafba5d7dfcef602891d37 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | | Fix sluggish resizing for opengl windows on X11Shawn Rutledge2013-03-132-4/+8
|/ / | | | | | | | | | | | | | | Disable sync protocol for OpenGL surfaces in the XCB plugin. Task-number: QTBUG-29304 Change-Id: I4cb47b04637e15e012758d3b0840abd13d27df69 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* | Mac: Fix inactive window appearanceGabriel de Dietrich2013-03-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The inactive palette values were set to be the same as the disabled palettte whereas, on Mac, they are the same as the active palette. Also, some of the logic to draw inactive looking widgets was a bit dubious. Add to that the fact that HITheme is not responding to kThemeStateInactive as expected, or so it looks. Task-number: QTBUG-29860 Change-Id: I5d67765a9411a40449a8a4440276b2fad167f7c4 Reviewed-by: Eike Ziller <eike.ziller@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* | Delete the reference of the QNX screen in child windows on deletionFabian Bumberger2013-03-052-2/+10
| | | | | | | | | | | | Change-Id: Ic3e5deaeabe282ff44400aba80f8746067473030 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Avoid setting initialNameFilter when mode is DirectoryIrfan Omair2013-03-051-4/+8
| | | | | | | | | | | | | | | | Task-number: QTBUG-30001 Change-Id: I5e854ce99137bd9d718cb2052f2c8dc1fb92b78f Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Windows: Repaint when switching off layered windows by opacity.Friedemann Kleint2013-03-041-0/+2
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-29010 Change-Id: I565a800e5a5b4870bd3ee2e3fb3f55523334425f Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Cocoa: Don't send duplicate mouse move events.Morten Johan Sørvig2013-03-011-1/+0
| | | | | | | | | | | | | | | | | | | | We now use tracking regions to generate move events, setAcceptsMouseMoveEvents will generate duplicates. See also commit b077e67f. Change-Id: I750e33766e66693ce899380c5cd9715baa9aa241 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* | Fix Alt key capture issue with mouseWheelIrfan Omair2013-03-011-0/+2
| | | | | | | | | | | | | | Task-number: QTBUG-29820 Change-Id: I8932b7bcadd6495debda6cdf0a576f83a0ccad47 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | QNX: QQnxCursor implementation.Rafael Roquetto2013-02-286-3/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implementation of QQnxCursor, a QPlatformCursor subclass. Due to the lack of a proper cursor API from the underlying OS, this class only caches the current cursor position to make sure that the QCursor class works properly. This is a backport of 290ed7f8fafd67197f773454223410bbe57fc4d3. At the time there weren't any known bugs regarding this, so it was committed to "dev" branch as a feature. Now we needed it in "stable", otherwise menus don't work correctly, due to QCursor::pos() being bogus. Change-Id: I5a4217c92a0aaed0b22b45ca3c4e0fad882e810f Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | Fix automatic hiding/restoring of transient children.Friedemann Kleint2013-02-281-2/+2
| | | | | | | | | | | | | | Task-number: QTBUG-28408 Change-Id: I31382c4edc213961dfb132af3bf5202e178e7a57 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | qcocamenubar: force update after destructorFawzi Mohamed2013-02-281-1/+3
| | | | | | | | | | | | Task-number: QTCREATORBUG-8785 Change-Id: I1e782cab36f4fea331561f016ea67a73deb63c37 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* | Disable maximize button for fixed-size windows.Friedemann Kleint2013-02-271-8/+7
| | | | | | | | | | | | | | Task-number: QTBUG-28407 Change-Id: I5bab7fcf4ad3ecc7008ef02b9d3575d75893895d Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | Fix warnings about extra tokens after preprocessor directive.Friedemann Kleint2013-02-251-1/+1
| | | | | | | | | | Change-Id: I7f18ec42f6f6dd697947654384767c2c6b211498 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | Cocoa: Make grabWindow work on retina displays.Morten Johan Sørvig2013-02-251-3/+3
| | | | | | | | | | | | | | | | | | Not taking the devicePixelRatio into account causes us to either grab a quarter of the screen or do a low-resolution grab. Change-Id: Ie6b681e3a089f17b63554c8158bb471a14963d7a Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* | QNX post an expose event when the window is hiddenFabian Bumberger2013-02-251-3/+3
| | | | | | | | | | | | | | | | | | When the window is hidden, an expose event has to be be posted. This is e.g. needed by the qquickwindow. A exposeEvent calles the exposureChanged function of the window manager there. Change-Id: I9d891e07f81192dcd6674743620319c44da19c48 Reviewed-by: Wolfgang Bremer <wbremer@rim.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Set correct image format for non-alpha windows.Morten Johan Sørvig2013-02-251-1/+3
| | | | | | | | | | | | | | | | Use QImage::Format_RGB32. Change-Id: I4be6b6271034be8dad5cfcb85f89fe33a817b78f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Transient QWindows centered; default-constructed geometryShawn Rutledge2013-02-243-16/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Default-constructed geometry does not mean put the window at 0,0, and it does not mean center the window on the screen: it means let the window manager position the window. If the window is explicitly positioned at 0,0 though, that is a higher priority than the transient hint; without this change, the transientFor property had no effect. On X11, transient means use center "gravity" to make the transient window exactly centered. But the user can still override the geometry of a transient window, as with any window. On OSX and Windows, neither transient window functionality nor smart initial positioning are provided, so a window with no position set will be centered on the screen, and a transient window will be put at the center of its transientParent. Change-Id: I4f5e37480eef5d105e45ffd60362a57f13ec55f5 Task-number: QTBUG-26903 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Cocoa: Compile with Qt in a namespace.Morten Johan Sørvig2013-02-231-1/+4
| | | | | | | | | | | | | | Task-number: QTBUG-29710 Change-Id: I28a4c213b78723aa369c7e00167401ec643155e6 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* | QCococaWindow: Add NSView hosting support.Morten Johan Sørvig2013-02-235-6/+32
| | | | | | | | | | | | | | | | | | | | | | | | Add and export QCCoocaView::setContentView(NSView *), making it possible to host a foreign NSView in a QWindow. Change QCoocaWindow::m_contentView to be a generic NSView, instead of a QNSView. Add a separate m_qtView for code paths that expect a QNSView. Change-Id: I47935b69705c70ea7efbb03d6d4bf489947c3487 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* | Fix OpenGL context creation in the XCB pluginFredrik Höglund2013-02-235-212/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make it possible to create a core context with OpenGL implementations that don't implement the compatibility profile or the GL_ARB_compatibility extension. Qt was effectively clamping the OpenGL version to 3.0 by assuming that the highest supported backwards compatible version is also the highest supported core version. Since there is no way to check if the implementation supports a context with a given set of attributes without trying to create the context, we have to try every known OpenGL version until we find one that's supported. Note that this commit does not fix similar breakage on other platforms. Change-Id: I9616762b059db9e6182f853ab7f24ff44dc7d529 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* | Cocoa: Add basic support for Qt::SubWindow.Morten Johan Sørvig2013-02-223-2/+55
|/ | | | | | | | | | | | | | This allows embedding a QWindow in a foreign NSView hierarchy. Don't create a NSWindow. Add code paths for handling the embedded window case. Avoid changing the other window cases. There is potential for merging some of these cases but that can be done at a later point in time. Change-Id: I54c7b4eb82fad268f90ea6b716fc650ae31bd3af Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Fix for url encoding in QDesktopServices::openUrl().Indrajit Tapadar2013-02-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | URLs containing spaces (encoded) couldnt be opened using QDesktopServices::openUrl() -method. This is a regression as it works for 4.8, Using url.toEncoded() instead of url.toString() which removed percent encoding. The NSUrl uses RFC 2396 for parsing, and according to the documentation, of 2.4. Escape Sequences - Data must be escaped if it does not have a representation using an unreserved character; And as a space does not have a representation using unreserved character it needs to be escaped. Example: Using this url, http://www.google.com/search?q=testme%20withspace url.toString() returns "http://www.google.com/search?q=testme withspace" and url.toEncoded() returns, http://www.google.com/search?q=testme%20withspace" which is also the expected result. Task-number: QTBUG-29124 Change-Id: Ieed3d4cfb689b9311f6cf21e5098a1e70256ab03 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Clean up the cached cursors inside the destructor of QCocoaCursorAndy Shaw2013-02-202-0/+5
| | | | | Change-Id: I4e1222832efa29680b4e658a5c9109641599a2b9 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Fix the default handling of cursor shape when there is no standard oneAndy Shaw2013-02-201-0/+5
| | | | | | | | | When the cursor specified is a bitmap one we cannot cache it based on the shape as the pixmap set on the cursor may be different. Therefore we should always create a new cursor in this instance. Change-Id: I2c201590ff632490d76c1b423908ae32aa584eb6 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Fix focus handling of native child widgets in xcb.Gunnar Sletta2013-02-193-2/+25
| | | | | | Change-Id: If4d596195624011142bff6853849a23064e478df Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> (cherry picked from commit fc663b5f9aae16fe6a03160e3eb148a5f742ac58)
* QNX: Don't crash with 0 by 0 sized windowsSergio Martins2013-02-191-2/+6
| | | | | | | | | | | | In the rare event of an invalid sized window, the application crashes because libscreen doesn't like creating empty buffers. Not creating the buffers at all would also be a solution, if we didn't have QPainter crashes due do null paint devices. Change-Id: I561d0082576b6226dd52129f9640952ba46273c8 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNX: Print the buffer size before crashing, for debug purposes.Sergio Martins2013-02-181-0/+1
| | | | | Change-Id: I2d423ee3717bb09b7bb2c63f645e5315be1fa611 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Fix the GL_CONTEXT_FLAG_DEBUG_BIT checkFredrik Höglund2013-02-152-2/+10
| | | | | | | | Use the correct enum. GL_CONTEXT_FLAG_DEBUG_BIT does not have the same value as GLX/WGL_CONTEXT_DEBUG_BIT_ARB. Change-Id: I7d90da54ca1ff526c8b00669b486a68424fc8dfb Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Fix globalPos() in scrollwheel events on OSX.Josh Faust2013-02-141-5/+4
| | | | | | | | | | | The window position was getting passed as both the window and global positions. QTBUG-29543 Change-Id: I24746675e5ba45adbd054742877bd2fe783d6608 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Fix the GL_CONTEXT_PROFILE_MASK checkFredrik Höglund2013-02-132-19/+8
| | | | | | | | | | | A bit mask can have more than one bit set, so we can't use a switch statement here. Also use the correct enums, and make sure that the profile is set to QSurfaceFormat::NoProfile when the OpenGL version is less than 3.2. Change-Id: I6d2c4e35d4fb3d87fd47c9724cb415f8619a7b95 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Fix the GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT checkFredrik Höglund2013-02-132-2/+2
| | | | | Change-Id: I83dc92085c81b8b0c71502ea71878b5e85cbbacc Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Check for GLX_ARB_create_context_profile before specifying a profileFredrik Höglund2013-02-131-1/+2
| | | | | Change-Id: Idc4982c039f8a6a304d9ce5ce6736d518fb0ef00 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Don't ignore QSurfaceFormat::Options in the XCB pluginFredrik Höglund2013-02-121-5/+15
| | | | | | | | | | | The XCB plugin requested a forward-compatible context regardless of whether QSurfaceFormat::DeprecatedFunctions was set, and also ignored the QSurfaceFormat::DebugContext option. Change-Id: I81c737447b554b3b6f61c2725bce7583e0e887ab Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* QNX: Fix QInputMethod::keyboardRectangleChanged() signalOleg Shparber2013-02-122-0/+7
| | | | | Change-Id: Iad3ee07ba85854d2eb0cf36710643b75993bf61c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNX: Fix qFatal() statements.Sergio Martins2013-02-121-5/+5
| | | | | | "QQNXQBBWindow" doesn't make sense. Change-Id: I0e56d5be4a9bb7a0336f71ea3348621be730dee1 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Cocoa: Export QImage <-> CGImage conversion funcs.Morten Johan Sørvig2013-02-125-23/+61
| | | | | | | | | | | | | | For implementing to/fromMacCGImageRef in QtMacExtras. These do not depend on internal Qt state. The main reason for exporting them is to keep the implementation in one place to ease maintenance. Refactor qt_mac_cg_context to support QImage. Add qt_mac_toQImage. Change-Id: Ia9c226ed52d087b2c6b47aa8210ed8f2645b9cf2 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Fix devicePixelRatio getter for embedded QWindows.Morten Johan Sørvig2013-02-111-3/+1
| | | | | | | | | | m_nsWindow is not set for non-toplevel QWindows, causing devicePixelRatio to always return 1. Use [m_contentView window] instead. Change-Id: I6689a70812c9484f103b5e706fe4c1b76406b750 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* QNX: Add support for QInputMethod::keyboardRectangle()Oleg Shparber2013-02-085-5/+32
| | | | | Change-Id: Ie23aa06fed5778e228abf0f35fc1136a86661771 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Cocoa: Make tool window receive mouse events also when its parent is modalGabriel de Dietrich2013-02-081-2/+4
| | | | | | | | We need to check for the Cocoa window class because of the way currently QDockWidget works. Change-Id: If69c7327c168518614fe884defa79deb358e260d Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Fix broken fading of menus.Friedemann Kleint2013-02-081-2/+2
| | | | | | | | | | Breakage introduced by b3820b12fbded1f173837eee7f7559783e92b46b Set layered in backing store for frameless windows as was before. Task-number: QTBUG-29010 Task-number: QTBUG-28531 Change-Id: I13f8f0d58d71b6612430c7048056f672e23b8095 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Do not force top level flag on embedded windows.Friedemann Kleint2013-02-081-3/+5
| | | | | | | | | | Regression introduced by cd7ba89a07f794b17fc66ba29515b104c4d21f27. Task-number: QTBUG-29564 Task-number: QTBUG-28872 Change-Id: I6402a971af89321d18afb42dc25e54b1c88df129 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fixed QT_NO_DRAGANDDROP build for the windows pluginBjoern Breitmeyer2013-02-074-7/+30
| | | | | Change-Id: Ieb987105bdcc08118a1b83cf3b74a93fa402264a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fixed QT_NO_CURSOR build for windows/CE plugin.Bjoern Breitmeyer2013-02-075-2/+34
| | | | | Change-Id: I02f13b2af2d8c285fbca46917ff77826720857be Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Removed User32.dll usage on WINCEBjoern Breitmeyer2013-02-071-2/+6
| | | | | | Change-Id: Id65dc0a9a829d66d0a2cc7bd40c5ba3190d9ecba Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Janne Anttila <janne.anttila@digia.com>