summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa
Commit message (Collapse)AuthorAgeFilesLines
* Cocoa Helpers: Add qt_mac_flipRect(const QRect &)Gabriel de Dietrich2014-01-172-0/+7
| | | | | | | Task-number: QTBUG-33082 Change-Id: If72b2744d3694b3899c124c7a6a6ccc6e6397165 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* expand tabs and related whitespace fixes in *.{cpp,h,qdoc}Oswald Buddenhagen2014-01-131-1/+1
| | | | | | | | the diff -w for this commit is empty. Started-by: Thiago Macieira <thiago.macieira@intel.com> Change-Id: I77bb84e71c63ce75e0709e5b94bee18e3ce6ab9e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* OSX: support fake fullscreen and etcLiang Qi2014-01-032-4/+40
| | | | | | | | | | | | * Fix QCocoaWindow::setGeometry() to respect WindowFrameInclusive * Support fake fullscreen on 10.6 or WindowFullscreenButtonHint was not set on 10.7 and later * Fix tst_qwindow on 10.6 and later Task-number: QTBUG-23059 Task-number: QTBUG-34629 Change-Id: I6e032ca55b45674388b00506a424d3bd7ece429f Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Merge remote-tracking branch 'origin/stable' into devSimon Hausmann2014-01-031-5/+0
|\ | | | | | | Change-Id: Id13badc270db98806048753fd7fb658aa17f1ede
| * Cocoa: fix single punctuation input via CJK input methodLiang Qi2014-01-031-5/+0
| | | | | | | | | | | | | | | | | | | | | | 2d05d3bd2815c220474b3c07bf3f2ef7417d3070 was not correct. On OS X, when user uses CJK input method, only types single punctuation, it was converted to CJK ones, and not showed in composing text. Task-number: QTBUG-35700 Change-Id: I919edb3f5165bf943c0d90d06a788a2f335bb1ba Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-12-2411-65/+69
|\| | | | | | | Change-Id: I2defae1904154283446b069d151c3ef57302ec7b
| * cocoa: avoid sending windowNotification to a non-QNSViewShawn Rutledge2013-12-231-4/+5
| | | | | | | | | | | | | | | | | | Then it's possible to embed native cocoa widgets without crashing. Task-number: QTBUG-35629 Change-Id: Ic212c36178282b4d090c6ce0470012adc8e0c2bb Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
| * Prevent a crash when there is no accessible interfaceAndy Shaw2013-12-211-1/+4
| | | | | | | | | | Change-Id: I058b76ff9d40b75eb51f9a6b1b89032ead629aed Reviewed-by: Liang Qi <liang.qi@digia.com>
| * Fix static builds on Mac.Morten Johan Sørvig2013-12-189-60/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | QMacPasteboardMime is a public class in Qt 4. Qt 5 has two copies, one public QtMacExtras and an internal one in the cocoa plugin. This causes a symbol collision when building statically. Rename the internal copy to QMacInternalPasteboardMime. Task-number: QTBUG-35310 Change-Id: I891787b451a0b342ed85aa7196e606bc11623e21 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-12-167-6/+62
|\| | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qplatformtheme.h tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp Change-Id: Iecd3343d6a050b8764f78d809c4a1532aeba69e5
| * Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-12-057-6/+62
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/macx-ios-clang/features/default_post.prf tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp Change-Id: Iaba97eed2272bccf54289640b8197d40e22f7bf5
| | * Revert "Cocoa (OpenGL): If no view is attached, makeCurrent() should return ↵Morten Johan Sørvig2013-12-041-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | false" This reverts commit 2eb1e28a90eaf82f4405dc65584021f16415014b, which makes several of the OpenGL examples crash on startup. (textures, hellogl_es2) Change-Id: Id47d2df6f57b2396c333e478b3c062f4cb4becb5 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
| | * Improve expose event handling.Morten Johan Sørvig2013-12-043-4/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prevent the cocoa platform plugin from sending expose events for windows that are off-screen or has invalid geometry. Differentiate between initial exposes and geometry update exposes, in order that e.g. geometry updates that happen before setVisible() don't trigger expose events. After the initial expose geometry updates to and from invalid geometry will trigger obscure and expose events. Task-number: QTBUG-35143 Task-number: QTBUG-35091 Change-Id: Ibbff20c69974f098ea7635e9ca38620597840a05 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| | * Cocoa: Mouse enter events on window activation.Christoph Schleifenbaum2013-12-033-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch tells the window system that it should create a mouse enter event if a window was activated when the mouse was inside. This wasn't working and was a regression. Task-number: QTBUG-35109 [ChangeLog][Cocoa] Fix enterEvent not being called on activate. Change-Id: I4e4662b4a4c58dafa8d0a2c09458ab88f678d243 Reviewed-by: Liang Qi <liang.qi@digia.com>
* | | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-12-056-27/+68
|\| | | | | | | | | | | | | | | | | | | | Conflicts: src/sql/drivers/sqlite/qsql_sqlite.cpp Change-Id: Ia7cffd2c99ae3d5eea6b5740683c06e921336dcd
| * | Clear QCocoaGLContext's m_currentWindow when window is hidden.Gunnar Sletta2013-12-053-0/+14
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-35363 Change-Id: I1b3d883ed10200af8a2d4188fb1725b36eb78022 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| * | Use case insensitive comparison when checking platform plugin keys.Friedemann Kleint2013-12-031-2/+1
| | | | | | | | | | | | | | | | | | Change-Id: Iff44698dcc941ca244b476f0e6c6a993f2ad75f3 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * | Respect the custom paper size settings on MacAndy Shaw2013-12-032-25/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the user added a custom paper size then it would be silently ignored when printing on Mac. This now ensures that it is respected when appropriate. [ChangeLog][Platform Specific Changes][OS X][QtPrintSupport] Respect the custom paper size settings when printing. Task-number: QTBUG-34700 Change-Id: I08afe24e0e67a50e9301abf4642c6f65bb0df1fe Reviewed-by: John Layt <jlayt@kde.org>
* | | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-11-295-13/+27
|\| | | | | | | | | | | Change-Id: Ibb342cc5fc55ff9a3f4b3ecbd53936b57bc13e63
| * | Cocoa: avoid a crash in QCocoaDragLiang Qi2013-11-292-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NSEvent needs to be copied. Reference: http://lists.apple.com/archives/cocoa-dev/2007/Dec/msg00678.html Task-number: QTBUG-33533 Change-Id: I73709545573e59aab6875a8c3dd903cb171e858f Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
| * | Allow resetting Qt::WindowFullscreenButtonHintZeno Albisser2013-11-271-10/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently Qt::WindowFulscreenButtonHint is only respected on window creation. But flags can also be adjusted later on. Further setWindowShadow can be removed from within createNSWindow, as it operates on a Nil object in that case. It is however called by recreateWindow / setWindowFlags subsequently. Change-Id: I507d6fde5ad2f0ee5b9db322325ede99b70e151e Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
| * | QCocoaFileDialogHelper: Cache directory until delegate has been createdGabriel de Dietrich2013-11-272-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-34393 Change-Id: Idee9e879e586afe25fd099d157ed7af88c17c4a3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* | | cocoa: Use swapInterval from QSurfaceFormatLaszlo Agocs2013-11-291-1/+1
|/ / | | | | | | | | | | | | | | | | | | xcb and windows already do this. The default value is 1 so the behavior on cocoa does not change when setSwapInterval() is not called. Task-number: QTBUG-31939 Change-Id: Id9d9204c9324f1cc187c6aee4286e7da42583759 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Fix compiler warnings.Erik Verbruggen2013-11-261-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | As seen with Xcode 5.0.2. qmacclipboard.mm:108:30: warning: cast to 'void *' from smaller integer type 'int' [-Wint-to-void-pointer-cast] promiseKeeper(paste, (PasteboardItemID)promise.itemId, flavor, this); ^ qmacclipboard.mm:316:56: warning: cast to 'void *' from smaller integer type 'int' [-Wint-to-void-pointer-cast] PasteboardPutItemFlavor(paste, (PasteboardItemID)itemID, QCFString(flavor), 0, kPasteboardFlavorNoFlags); ^ Change-Id: I94b8ea2ff32d606d4cab28981b26c2ef516035dc Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-11-262-2/+5
|\| | | | | | | Change-Id: I83ff8f4d7dffd7385013a1bd8a1732a89ee20d56
| * Handle the Qt::FramelessWindowHint correctly in CocoaAndy Shaw2013-11-211-2/+4
| | | | | | | | | | | | | | | | | | | | This fixes a regression introduced by be405c86f8efac7c6bc8b749725d6d0e0499314d. Task-number: QTBUG-34988 Change-Id: Id825b51d4d94826819d2405bb711886db3db8bc8 Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| * Fix crash regression for ApplicationWindow on MacJens Bache-Wiig2013-11-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a recent regression following the integration of change: 7cc1656fef21e6bdc044968a79f0a41155357c29 (Make sure menu bar has a parent window ...) As it now consistently crashes on mac in several of the Qt Quick Controls examples, it is critical that it gets into the release branch. Change-Id: If3db1025229a7f7fd4e7ecc703d5f655db73964d Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* | Remove empty QAccessible2 headerFrederik Gladhorn2013-11-203-5/+3
| | | | | | | | | | Change-Id: Ia5e9b1adf9280e6b7d7aaf8cb5b5167b694a6070 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* | Merge "Merge remote-tracking branch 'origin/release' into stable" into ↵Frederik Gladhorn2013-11-204-9/+146
|\| | | | | | | refs/staging/stable
| * Fix the window flags for Cocoa windowsAndy Shaw2013-11-161-7/+5
| | | | | | | | | | | | | | | | | | | | This ensures that the possible window flag combinations are respected where possible in Cocoa. Task-number: QTBUG-34645 Task-number: QTBUG-31616 Change-Id: I6be8ca666b7cbc397575e97cd95ea298f52a7113 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
| * Fix compiler warning for cast from int to id.Erik Verbruggen2013-11-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | qcocoaapplication.mm:118:61: warning: cast to 'id' from smaller integer type 'int' [-Wint-to-pointer-cast] id a1 = ([args->arg1 isKindOfClass:[NSNumber class]]) ? (id)[args->arg1 intValue] : args->arg1; ^ qcocoaapplication.mm:119:61: warning: cast to 'id' from smaller integer type 'int' [-Wint-to-pointer-cast] id a2 = ([args->arg2 isKindOfClass:[NSNumber class]]) ? (id)[args->arg2 intValue] : args->arg2; Change-Id: Ibcf3d5d5698ff863f3c9bd65e0388ccca147f419 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| * Remove stray debug outputLars Knoll2013-11-151-1/+0
| | | | | | | | | | | | | | | | This was actually causing test failures in qtdeclarative and blocking the CI there. Change-Id: I4538342f16b6468ad60b283c19948863b20ad5d4 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * Update QSurfaceFormat when creating a GL context in the cocoa qpaSean Harmer2013-11-142-0/+140
| | | | | | | | | | | | Task-number: QTBUG-34471 Change-Id: I99f643280b8a4aaa8d63329232c0c3f4b2faed4b Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Keep the dockwidget with the mouse when moving to another screenAndy Shaw2013-11-201-1/+11
|/ | | | | | | | | | | | When you move a dockwidget from one screen to another then it needs to be kept at the same position on the new screen, i.e. with the mouse pointer. This fix ensures that this is happening including when the screens may not 100% align up with each other. Task-number: QTBUG-33369 Change-Id: If414effdd0e0415629ca31a86f8bbe382dd29f80 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Cocoa File Dialog: Remove sandbox-ufriendly file system watcherGabriel de Dietrich2013-11-081-44/+49
| | | | | | | | | | | | | | | | | QFileSystemWatcher causes sandboxing errors since its backend uses POSIX API in a relatively liberal way. Also, Cocoa already acts as a file system watcher, and calls -[QNSOpenSavePanelDelegate panel:shouldShowFilename:] on each file. From a logical point of view, caching the directory content can be replaced by testing the current file against the filter setting. We expect Cocoa to cache results, and by using NSFileManager things should remain relatively fast. Task-number: QTBUG-34107 Change-Id: Ia872b9b1244f7b390d173a498011379b9309b3c6 Reviewed-by: Cyril Oblikov <munknex@gmail.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Cocoa: fix a crash in QCocoaFileDialogHelperLiang Qi2013-11-081-1/+1
| | | | | | | | | Current directory can't be nil. Task-number: QTBUG-34561 Change-Id: I58c84da4928bd9081c916b6e5541bb86cf75ed47 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Cocoa (OpenGL): If no view is attached, makeCurrent() should return falseGabriel de Dietrich2013-11-051-0/+2
| | | | | Change-Id: Ie2869fae1549c3b0a8ef78702410e6ca0c980737 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Cocoa: Don't hide views when reparentingGabriel de Dietrich2013-11-051-0/+3
| | | | | | | | | Commit a2bdda8e3ba32 was meant for creation only. We should not hide views on our own, particularly when Qt had not asked for that. Task-number: QTBUG-33581 Change-Id: Ib35fc78a27be1498f80aabd385e7a2185475b949 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Remove Q_INIT_RESOURCE_EXTERNTor Arne Vestbø2013-11-051-1/+0
| | | | | | | | | | | It's not providing any convenience over using Q_INIT_RESOURCE, which does its own extern, were never documented, and was added back in 2010 without any commit message justifying its existence. Change-Id: I1ca9a042d3f4fca34007d28b140661c50064f11b Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Cocoa: Improve cursor setting.Morten Johan Sørvig2013-11-015-44/+88
| | | | | | | | | | | | | | | | Implement cursor setting in terms of [NSCursor set] and [NSView cursorUpdate] using the window tracking area. Refactor cursor conversion into QCocoaCursor:: convertCursor. Rename QCoocaWindow::m_underMouseWindow to m_enterLeaveTargetWindow since it's set according to spesific enter/leave logic. Add m_windowUnderMouse which tracks mouseEntered/mouseExited state. Task-number: QTBUG-33961 Change-Id: Id5e12594f5db365e09c9926a4c08d748a9afb935 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Mac: Modify Qt::SizeAllCursor to look like arrowsKari P2013-10-313-3/+3
| | | | | | | | | On Mac, Qt::SizeAllCursor showed a spreadsheet cell selection cursor. It has been changed to look like it looks in the Qt Documentation. Task-number: QTBUG-27577 Change-Id: I2d50ab0d813137366b56cb30b8784ecf70392d4e Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Different native Cocoa menu fixes.Christoph Schleifenbaum2013-10-292-11/+19
| | | | | | | | - Fix location of NSMenu when no NSView is given. - Fix shortcut when given in text with tab. Change-Id: Iec21cf3d12084db1e70c1a8779d5482c78285796 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Cocoa: Fix mouse event coordinates transform to window spaceGabriel de Dietrich2013-10-291-22/+21
| | | | | | | | | | | We pass the mouse screen coordinates that we convert to window space instead of the other way around. This makes sure the original mouse coordinates are not bound to any moving window. Task-number: QTBUG-29583 Task-number: QTBUG-32221 Change-Id: I8f9ada6e8c0d20af8e85e88ee39190d23e58977f Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Fix compile warnings on 10.6Morten Johan Sorvig2013-10-253-0/+3
| | | | | | | | Apple clang 3.0 complains about missing function declarations. Add them. Change-Id: Ib9c3c238c94e8649844cf3e67a659875ad549ecb Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Accessibility: Make it possible to send events with no QObjectFrederik Gladhorn2013-10-251-7/+3
| | | | | Change-Id: Icbb9d15ec52ff5f7718eaf3600cab140971274aa Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Cocoa: Allow popups to grab mouse and keyboardGabriel de Dietrich2013-10-182-1/+9
| | | | | | | | | According to the QWindow documentation this should happen regardless of the window type. (It also mimics the current behavior on Linux and Windows). Change-Id: I1b0959ad8cf19bce452fd79a13b07d0a3a3c49e9 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Implement native gestures on OS X.Morten Johan Sørvig2013-10-171-0/+96
| | | | | | | | | | | | | | | Add QWindowSystemInterface::GestureEvent and QNativeGestureEvent to QtGui. These events are copies of Qt4's QNativeGestureEvent, where it was an implementation detail of QGestureManager. Add gesture message handlers to QNSView and bring back the Mac gesture recognizers for QGestureManager. Task-number: QTBUG-28126 Change-Id: I1304e09e776fa7c44d133d54ca8b895ca2f544c5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Ensure that context menus show even if the window is not active on MacAndy Shaw2013-10-162-4/+14
| | | | | | | | | | | When using the mouse to show a context menu on Mac then even if the window is not active then it will show the menu for native applications. So this ensures that this is respected for context menus in Qt too. Task-number: QTBUG-31497 Change-Id: Ibfcb4b893b0e31d4ce36926a83c9214d130d8fa2 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* OS X: a dialog should always have an enabled titlebar close buttonShawn Rutledge2013-10-161-5/+11
| | | | | | | | | regardless of modality. Task-number: QTBUG-28385 Task-number: QTCREATORBUG-9264 Change-Id: Iaa608f6e742686d4068547766ec596e37c696a07 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Cocoa: Deliver key event to top-level QWidgetWindowGabriel de Dietrich2013-10-161-12/+21
| | | | | | | | | | | | | Having several QWidgetWindow in our hierarchy translates as as many NSViews. Clicking will make the NSView under the mouse cursor key, meaning it will receive all the Cocoa key events. In order to make sure the QWidgets hierarchy sees the key event "as usual," we climb the QWindow hierarchy in search for the top-level QWidgetWindow. (Something similar is already being done in -[QNSView becomeFirstResponder]). Task-number: QTBUG-32914 Change-Id: Idc700309d202820de326d4e2990fad24d7b692ae Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>