summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa
Commit message (Collapse)AuthorAgeFilesLines
...
* Cocoa: Fix a variable shadowing issue that caused a crash on macZeno Albisser2011-10-041-3/+4
| | | | | | | Change-Id: I2d5ceb9502c769b5a585cdc6f1053168dfadbf12 Reviewed-on: http://codereview.qt-project.org/6000 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Cocoa: Add env variable for disabling foreground.Morten Sorvig2011-10-041-12/+14
| | | | | | | | | | | Setting QT_MAC_DISABLE_FOREGROUND_APPLICATION_TRANSFORM prevents the process from having an dock icon and taking focus. Change-Id: Id127967d8ec1dadda790128f36a7c1f50d581433 Reviewed-on: http://codereview.qt-project.org/5968 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Zeno Albisser <zeno.albisser@nokia.com>
* Cocoa: Send proper mouse coordinates.Morten Sorvig2011-10-031-8/+29
| | | | | | | | | | | | Clear up coordinate system confusion. Also change QApplicationPrivate::pickMouseReceiver to indicate that, yes, it does modify the 3rd argument in addition to returning the mouse receiver widget. Change-Id: If2c44eff65aedfdc78c6da1728f31d6e2db71f9d Reviewed-on: http://codereview.qt-project.org/5919 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
* Cocoa: Fix spelling errors in comments.Morten Sorvig2011-10-035-9/+9
| | | | | | | | | | This could be the basis for a "english spelling for norwegians" course. Change-Id: I1d6de11b6673ec0a8ba3c2ff12dd8472fb467703 Reviewed-on: http://codereview.qt-project.org/5691 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: Fix window resizingMorten Sorvig2011-10-031-0/+1
| | | | | | | | | | Set the geomeotry on the platform window on resize. (There used to be a callback form the QWindow earlier.) Change-Id: I2298a03d1e015279b28a02da9f05f90f25148efb Reviewed-on: http://codereview.qt-project.org/5834 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Respect the QSurfaceFormat when constructing a QOpenGLContext on MacGunnar Sletta2011-09-272-4/+4
| | | | | | | Change-Id: I1a17d2e7e060d9931d84afeb0fd42bc3b1f44e5d Reviewed-on: http://codereview.qt-project.org/5527 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: Enable native menus.Morten Sorvig2011-09-222-4/+7
| | | | | | | | | | Fix menu duplication bug: make QCocoaMenu::addAction do nothing before the native menu has ben created. Change-Id: Ifca192421f2073264de9f5faeb053008ecb8532e Reviewed-on: http://codereview.qt-project.org/5135 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: Adjust touch point rectangle by -0.5.Bjørn Erik Nilsen2011-09-201-1/+8
| | | | | | | | | | | The actual touch point is supposed to be in the center of the rectangle, and since the rectangle is 1x1 it means we have to subtract 0.5 from x and y. Change-Id: Ica4aba26dbe61328c8e7cbdcf8b02c96e2f41a40 Reviewed-on: http://codereview.qt-project.org/5256 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Bjørn Erik Nilsen <bjorn.nilsen@nokia.com>
* Cocoa: Update the geometry whenever the window moves.Bjørn Erik Nilsen2011-09-201-1/+10
| | | | | | | Change-Id: I3d47d62aaa0b4ccc88159ba9b6d1a3ebd42fedf5 Reviewed-on: http://codereview.qt-project.org/5255 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Bjørn Erik Nilsen <bjorn.nilsen@nokia.com>
* Cocoa: Add helper functions for NSPoint <-> QPoint(F) conversion.Bjørn Erik Nilsen2011-09-202-2/+19
| | | | | | | | | | ... and use [NSEvent mouseLocation] as global mouse position rather than relying on QCursor::pos() (which is buggy at the moment). Change-Id: Ieb8000089d0d824bed89abd8b2add9e28273f227 Reviewed-on: http://codereview.qt-project.org/5254 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Bjørn Erik Nilsen <bjorn.nilsen@nokia.com>
* Cocoa platform plugin: Reduce multitouch area to be one pixel.Bjørn Erik Nilsen2011-09-192-2/+5
| | | | | | | | | | Mac only support multitouch points, hence width/height 1. Also add comment about performance related to multitouch events. Change-Id: I307261492366e361e17f9edf446f456c07c87a22 Reviewed-on: http://codereview.qt-project.org/5162 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Bjørn Erik Nilsen <bjorn.nilsen@nokia.com>
* Cocoa platform plugin: update headers for multitouch.Bjørn Erik Nilsen2011-09-192-2/+2
| | | | | | | | | | See commit: b888bf1b515b47bc12dfaeac06f33af762ce0372 (Moved multitouch code from gui/widgets/ to plugins/platforms/cocoa) Change-Id: I7c71f4d858cba4918392d477c6597b48e271ea99 Reviewed-on: http://codereview.qt-project.org/5154 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
* Cocoa platform plugin: Implement multitouch support.Bjørn Erik Nilsen2011-09-193-0/+34
| | | | | | | Change-Id: Ic4b5bc4e48bd1e70cffedf15530b8a933037de66 Reviewed-on: http://codereview.qt-project.org/5153 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
* Mac: Adapt multitouch code for cocoa to QWindowSystemInterface.Bjørn Erik Nilsen2011-09-192-32/+20
| | | | | | | Change-Id: I4a80ed8a497dfb1b8b477e4a40ec91a16f1bb541 Reviewed-on: http://codereview.qt-project.org/5152 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
* Mac: Move multitouch support from widgets to cocoa platform plugin.Bjørn Erik Nilsen2011-09-192-0/+320
| | | | | | | Change-Id: I91994801aefa1257e7bda51b409290f70ab9128e Reviewed-on: http://codereview.qt-project.org/5151 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
* Fix missing/incorrect license headersJason McDonald2011-09-153-0/+122
| | | | | | | Change-Id: I9db33c63c951f288f7a106c3008771699662d104 Reviewed-on: http://codereview.qt-project.org/4852 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Clang Build Fix: Cocoa platform pluginTakumi ASAKI2011-09-094-5/+5
| | | | | | | | | | Fix some assignment from const values to non-const without cast. Move #import to avoid compile error. Fix type mismatch. Change-Id: I93ae5cd07827b92a91093df979992616b26b14af Reviewed-on: http://codereview.qt-project.org/4536 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Fix compile error on Mac.Takumi ASAKI2011-09-081-0/+2
| | | | | | | Change-Id: I88123bc741303ff440f628f752f39486da81e426 Reviewed-on: http://codereview.qt-project.org/4358 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: QMenu refactor.Morten Sorvig2011-09-0717-93/+2942
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change prepares for enabling native menus on OS X. Move code from src/widgets to cocoa: - qcocoaapplicaiton - qcocoaapplicaitondelegate - qcocoamenuloader - qcocoamenu - qmenu_mac - misc helpers to qcocoahelpers Create a QNSApplication and QCocoaApplicationDelegate at application startup. New Lighthouse API: - class QPlatformMenu - class QPlatformMenuBar - QPlatformIntegration::createPlatformMenu() - QPlatformIntegration::createPlatformMenuBar() Platforms that wants a native menu integration subclasses QPlatformMenu[|Bar] and implements the create function. The default implementation returns 0, which causes QMenu to use the standard Qt menus. This API is based on the current native menu abstraction that Mac, Wince and S60 uses in Qt 4. The main difference is that the platform classes are proper standalone classes and not #ifdeffed into QMenuPrivate. Change-Id: I3da41f80b0ae903a476937908b1f9b88014b7954 Reviewed-on: http://codereview.qt.nokia.com/4068 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: Fix qmlscene flicker on startup.Morten Sorvig2011-08-311-3/+6
| | | | | | | | | | | | | | | | | | | | | | | The SG render thread was racing window creation in the GUI thread, which would cause flicker if the window won the race and was shown before the SG thread had a frame ready. Send a synchronous expose event before showing the window - this will wait for the SG render thread. In addition, don't defer NSwindow creation. The GL context setup is done before the window is shown and needs a fully created window. New API: QWindowSystemInterface::handleSynchronousExposeEvent Retire: QWindowSystemInterface::handleExposeEvent Change-Id: I0bb46089d16ec4882aaac8db67b57d15e0f51531 Reviewed-on: http://codereview.qt.nokia.com/3399 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
* Cocoa: Make the hellowindow opengl example work.Morten Sorvig2011-08-304-20/+5
| | | | | | | | | | | | | | | You're not supposed to use NSOpenGLView and NSOpenGLContext at the same time - it's one or the other. Qmlscene worked because it was hitting the raster path that doesn't have a NSOpenGLView. Remove the NSOpenGLView path and m_windowSurfaceView. Change-Id: I10358851a94cd1780a312af09bbb7cf5db8f984f Reviewed-on: http://codereview.qt.nokia.com/3862 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Cocoa: Fix qmlscene flicker on resize.Morten Sorvig2011-08-291-3/+3
| | | | | | | | | | Update the GL context before sending the geometry change event to Qt. Change-Id: If331bfcc7f7b0fd4f2f24d4445c8197ec6af688f Reviewed-on: http://codereview.qt.nokia.com/3448 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
* Make plain executables foreground processes.Morten Sorvig2011-08-294-2/+215
| | | | | | | | | | | | Non-bundled executables are started as background processes which does not have a dock icon or a task switcher entry. This is generally not what we want for Qt gui applications so change the process type. Change-Id: I0d29eb9b70655e95bc0b9500803fbf3955d264e4 Reviewed-on: http://codereview.qt.nokia.com/3387 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
* Cocoa: Load the standard app menu.Morten Sorvig2011-08-2914-3/+511
| | | | | | | | | | | | | | | | | | | It's now possible to quit and hide the app window using the keyboard shortcuts. The menu nib files are now stored in Qt resources, written to QDir::temp at app startup and loaded from there. This will simplify deployment compared with Qt 4 where the nibs had to be copied into the QtGui framework when deploying the app. This change also moves the mac resources (qt_menu.nib, cursors) from widgets to the cocoa plugin. Change-Id: If1d6fd353369ea4e89a9e35579906a2de7298fa2 Reviewed-on: http://codereview.qt.nokia.com/3314 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
* Get cocoa plugin compiling after OpenGL refactoringGunnar Sletta2011-08-292-3/+3
| | | | | | | Change-Id: I9de6de9e633c1355d45c0851c1df94e707b62927 Reviewed-on: http://codereview.qt.nokia.com/3721 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Copy core GL functionality to QtGui with QGL -> QOpenGL naming.Samuel Rødal2011-08-294-7/+7
| | | | | | Change-Id: Ibc989afa4a30dd184d41d1a1cd89f97196e48855 Reviewed-on: http://codereview.qt.nokia.com/3710 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Introduce new platform capability ThreadedOpenGL.Samuel Rødal2011-08-261-0/+1
| | | | | | | | | | | | | Lets the platform plugin advertise whether it's safe to use OpenGL from a different thread. With XCB we only advertise this if we have a reasonably new XCB libary, as older versions suffer from the xcb_wait_for_reply() blocking bug, which cause GL rendering in a separate to stall when using Mesa drivers. Change-Id: I4829df7e583a1c8aed218ae13a159d21266cc594 Reviewed-on: http://codereview.qt.nokia.com/3613 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Preliminary change to get resizeEvents for QWindow::resize() callsGunnar Sletta2011-08-241-1/+4
| | | | | | | Change-Id: I43e1d7fb98f1b20939dba8cdccffa4dcb99a7369 Reviewed-on: http://codereview.qt.nokia.com/3453 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Enable multisampling and swap interval by default on cocoaGunnar Sletta2011-08-181-0/+4
| | | | | | | Change-Id: If3d1939e6196f5aa6654645d20dab7ad251046fa Reviewed-on: http://codereview.qt.nokia.com/3138 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Set the style mask manually.Morten Sorvig2011-08-181-2/+2
| | | | | | | | | | | Looks like the window flags conversion code from Qt 4 is not working, set a style mask suitable for qmlscene for now. Change-Id: I5e672f586045a0f0403f6b75252f0029c8d8a205 Reviewed-on: http://codereview.qt.nokia.com/2956 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
* Fix crash-on-exit in qmlscene.Morten Sorvig2011-08-183-2/+17
| | | | | | | | | | Take control over NSWindow deletion to make sure it's lifetime matches that of the QCocoaWindow. Change-Id: Ia10006d814345356e6aebe7fa1f9a0e012535786 Reviewed-on: http://codereview.qt.nokia.com/2960 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
* Create NSWindow subclass.Morten Sorvig2011-08-182-4/+27
| | | | | | | | | Allows us to override canBecomeKeyWindow etc. Change-Id: Ia74006ac85acb98e8a0fe0a8cdc8e5e0b9aee5c4 Reviewed-on: http://codereview.qt.nokia.com/2955 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
* Cocoa: Remove autorelease warnings from qmlscene.Morten Sorvig2011-08-181-0/+3
| | | | | | | | | | | The SG Canvas render thread was creating a QCocoaGLContext without an autorelease pool in place. Change-Id: I08882f42efdf905107497e8be21f2a2d20c3c4cf Reviewed-on: http://codereview.qt.nokia.com/2911 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
* Cocoa: Fix flicker on window resize.Morten Sorvig2011-08-161-2/+1
| | | | | | | | | | | | | | | During window resizing the geometry change events must be processed before returning from the event handler. New API: QWindowSystemInterface::handleSynchronousGeometryChange, similar to handleGeometryChange but sends the event immediately instead of queueing it. Change-Id: I7dc809b3fd2e8a933c100fef3f5144972f46e363 Reviewed-on: http://codereview.qt.nokia.com/2993 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
* Cocoa: Set child window geometry correctly.Morten Sorvig2011-08-112-15/+58
| | | | | | | | | | | Qt child window geometry is in the parent window coordinate space, convert from/to OS X screen coordinates when needed. Change-Id: I50d35dd35e51af8fc161ec363c0e996a0e8aa9f3 Reviewed-on: http://codereview.qt.nokia.com/2859 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
* Cocoa: Activate Qt apps on startup.Morten Sorvig2011-08-111-0/+6
| | | | | | | | | | | | | | This prevents Qt apps from launching behind the terminal and QProcess parent apps, which is the native OS X but not the cross-platform Qt behavior. This reverses the change made mid 4.x series and reverts back to the "old" Qt 4 behavior Change-Id: I99d9f95980db884f8614ec2df663305505e08531 Reviewed-on: http://codereview.qt.nokia.com/2858 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Undefine "slots" before including cocoa headers to make it compileGunnar Sletta2011-08-052-0/+2
| | | | | | | Change-Id: Id2ba9d657a93e0d10b70b31b6a44a6ea9f598d8f Reviewed-on: http://codereview.qt.nokia.com/2328 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Mac: fix crash when creating a new windowRichard Moe Gustavsen2011-08-031-3/+1
| | | | | | | Change-Id: I90f7bff954f3710f48d7416287bb5debafa94447 Reviewed-on: http://codereview.qt.nokia.com/2570 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
* Make QPlatformIntegration not have a factory for eventdispatcherJørgen Lind2011-07-282-3/+6
| | | | | | | | | but rather an accessor for the guiThreadEventDispatcher Change-Id: I1b9ba14efc9f338c5a67e3e24ddb0caf76c07413 Reviewed-on: http://codereview.qt.nokia.com/2321 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Added workable QScreen API on top of QPlatformScreen.Samuel Rødal2011-07-252-14/+4
| | | | | | | | | | | | | | | | | | | | | QPlatformIntegration::screens() no longer has to be implemented, implementations should call QPlatformIntegration::screenAdded() for each screen instead. This is for being able to support adding screens at run-time later on, by connecting it to a signal in QGuiApplication. The QGuiGLContext API has changed a bit, by not sending in all the parameters in the constructor but instead having a create() function. The createPlatformGLContext() factory in QPlatformIntegration takes a QGuiGLContext * instead of a QSurfaceFormat and a share context, similar to how the window and backing store factory functions work. The XCB plugin has experimental support for connecting to multiple X displays simultaneously, creating one or more QScreen for each. Change-Id: I248a22a4fd3481280710110272c04a30a8021e8f Reviewed-on: http://codereview.qt.nokia.com/2103 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Rename QPixmapData to QPlatformPixmap.Samuel Rødal2011-07-192-3/+3
| | | | | | | | | Makes the API symmetric with the other Lighthouse APIs. Change-Id: I8a399f3c968ea35d4624711b31f2ac5bb94b7893 Reviewed-on: http://codereview.qt.nokia.com/1735 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Cocoa: Window type and flags handling.Morten Sorvig2011-07-012-7/+175
| | | Bring over code from Qt4's qwidget_mac.mm.
* Cocoa: Fix raise/lower.Morten Sorvig2011-07-011-2/+2
|
* Cocoa: Fix RGB/BGR color inversion.Morten Sorvig2011-06-291-1/+1
|
* Factor out CGL code for reuse in wayland.Morten Sorvig2011-06-281-20/+5
|
* Refactor window system event dispatching.Morten Sorvig2011-06-232-7/+5
| | | | | | | | | | Add QWindowSystemInterface::sendWindowSystemEvents, which contains the canonical "empty and send queued window system events" implementation. Make the Cocoa, QPA, and GLIB dispatchers use the new implementation. Cocoa now no longer inherits from QPA.
* Compile.Morten Sorvig2011-06-221-1/+1
|
* Send expose on (initial) showMorten Sorvig2011-06-221-0/+1
|
* CompileMorten Sorvig2011-06-222-2/+2
|
* Cocoa: clean up pro file for platform pluginRichard Moe Gustavsen2011-06-221-3/+0
|