summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4Frederik Gladhorn2014-09-247-19/+52
|\
| * Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-09-237-19/+52
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The isAlwaysAskOption was removed in 38621713150b663355ebeb799a5a50d8e39a3c38 so manually removed code in src/plugins/bearer/connman/qconnmanengine.cpp Conflicts: src/corelib/global/qglobal.h src/corelib/tools/qcollator_macx.cpp src/corelib/tools/qstring.cpp src/gui/kernel/qwindow.cpp src/gui/kernel/qwindow_p.h src/gui/text/qtextengine.cpp src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig_p.h src/plugins/platforms/android/qandroidinputcontext.cpp src/plugins/platforms/xcb/qglxintegration.cpp src/plugins/platforms/xcb/qglxintegration.h src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/testlib/qtestcase.cpp src/testlib/qtestlog.cpp src/widgets/dialogs/qfiledialog.cpp src/widgets/kernel/qwindowcontainer.cpp tests/auto/corelib/tools/qcollator/tst_qcollator.cpp tests/auto/gui/text/qtextscriptengine/tst_qtextscriptengine.cpp tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp Change-Id: Ic5d4187f682257a17509f6cd28d2836c6cfe2fc8
| | * Cocoa: Handle insertNewLine selector for when it is sent while composing textAndy Shaw2014-09-192-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some IMEs will perform an insertNewLine when Return/Enter is pressed while composing text as well as causing the edit to finish. By handling this it will ensure that the extra enter/return event is sent when the IME requests it. Task-id: QTBUG-39125 Change-Id: Ice6eded68e6b1dc51703a38316f76f78099923da Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| | * OSX: emit aboutToShow signal for top-level dock menu.Erik Verbruggen2014-09-161-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt sets a QCocoaMenuDelegate on every menu it creates in order to emit the (OSX specific) aboutToShow signal. However, there are a few cases where OSX will copy a menu without copying the delegate. One of those cases is the dock: the result of -[NSApplication applicationDockMenu:] is used to create a new menu, to which a few more items are copied. This copy is then send back to the dock. This patch invokes the delegate's -menuWillOpen: method when -[NSApplication applicationDockMenu:] is called. Note that sub-menus won't receive the call-back, because the dock doesn't tell the application what happens after returning from applicationDockMenu:. Task-number: QTBUG-39604 Change-Id: I0e06df371a3d77342ae4b7148041214e5c4579d7 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
| | * OS X: Fix positioning of popup menus in case of native NSWindowsEike Ziller2014-09-161-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code transformed the coordinates from the view to the window's content view, and since that content view is flipped in the pure Qt world (content view == QNSView), it manually flipped the coordinates to transform from that to window coordinates. Instead just directly transform the view coordinates to window coordinates using standard Cocoa methods, which then works with any kind of content view and NSWindow configuration. Task-number: QTBUG-40958 Change-Id: Idddd327fe9cff3309606379d0e04ee8b4bd5eece Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| | * cocoa: fix namespace manging for QNSViewTim Blechmann2014-09-152-2/+6
| | | | | | | | | | | | | | | Change-Id: I83035b45cabd938a9fdfa3a5d12de2c1793b30b3 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| | * cocoa: don't override NSApplication-sendEvent if configured as ↵Tim Blechmann2014-09-151-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | AA_MacPluginApplication Change-Id: I48cebbcb814ee8e97583c3165e7cb668077cfbad Task-number: QTBUG-40409 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| | * Cocoa: Work around faulty screen list on startupMorten Johan Sørvig2014-08-241-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The NSScreen API has been observed to a return a screen list with one mirrored, non-primary screen when Qt is running as a startup item. Always use the screen if there's only one screen in the list. Change-Id: I721e25bb7595599287b97f6528e04060ce5da6c1 Task-id: QTBUG-37878 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| | * OSX MenuRole detection: remove ampersand before looking for keywordsShawn Rutledge2014-08-121-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | The chosen shortcut should not affect the menu role. Task-number: QTBUG-40181 Change-Id: I5a77d0109999b2fb8d40f8c526e0bbcfa31ad5e7 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* | | Accessibility OS X: Fix image roleFrederik Gladhorn2014-09-231-0/+1
|/ / | | | | | | | | Change-Id: I0839a30041dbe558c420c944da49abe8ea26e0ab Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* | Respect the PM_SmallIconSize setting for icons in a menu on OS XAndy Shaw2014-09-202-2/+10
| | | | | | | | | | | | | | | | | | When a platform menu is used then it would hard code the icon size to 16x16. Instead of using the hard coded value then PM_SmallIconSize should be used instead. Change-Id: I27540ebc4397501e8f57686a118c28cd7167c0a1 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* | OS X: Add scan code mappings for Escape, Return and function keys.Dyami Caliri2014-09-171-16/+26
| | | | | | | | | | | | | | | | | | | | | | | | In OS X, certain keyboard layouts (such as Japanese) do not produce unicode character conversions for Escape and other keys. In these cases the code uses a fallback scan code check to map the key. The scan code mapping had the function keys, but there are several other important keys it can map. Task-number: QTBUG-41090 Change-Id: I624793c9bb28ae8c98b54539c277943905cac7e2 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* | qpa: Make screen geometry updates (full and available geometry) atomicTor Arne Vestbø2014-09-101-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updating the geometry and available geometry in two steps means that QScreen will be in an inconsistent state when emitting the geometry change signal, as the available geometry has not been updated yet. Piggy-backing changes to the availableGeometry based on the virtual geometry changing does not make sense, so we now tie geometry and availableGeometry (and their size variants) to their own separate geometryChanged and availableGeometryChanged signals. Change-Id: Iee0ced642cbb91c470cb54bc507d2c0512482c13 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | OS X QColorDialog: emit reject() when closed by the titlebar buttonShawn Rutledge2014-08-251-0/+19
| | | | | | | | | | | | | | | | | | | | but only if there is a Cancel button. A color dialog without a cancel button might be kept open and apply to various selections, so it doesn't make sense to reject such a dialog, only to close it. Task-number: QTBUG-40855 Change-Id: Ifffb4ae81307c72259ed388a4776ba09543603e7 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* | OS X: Fix pan gestures.Morten Johan Sørvig2014-08-251-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QPanGesture recognizer requires single-point touch events. The touch implementation in Qt 4 would test Qt::WA_TouchPadAcceptSingleTouchEvents and forward single touch events if set. Making this work in Qt 5 is a little bit more involved since the platform plugins don't know about widgets. Change the Cocoa touch implementation to send single-point touch events to QWidgetWindow windows only. Make QApplication forward single-point touch events only if the target widget has the Qt::WA_TouchPadAcceptSingleTouchEvents attribute set. Task-number: QTBUG-35893 Change-Id: I68712a5e3efb4ece7a81ca42f49c412e525eeb3a Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* | standardize QPA input event logging category hierarchyShawn Rutledge2014-08-241-20/+15
| | | | | | | | | | | | | | | | | | | | | | If qtlogging.ini contains a rule qt.qpa.input*=true then all available input event logging will be enabled on any platform. There are more specific categories for touch, tablet, gestures, input methods etc. on some platforms. Change-Id: I8754ce23df8f0b750a4b7dfcf3afe5bab800ead8 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4Giuseppe D'Angelo2014-08-193-45/+7
|\ \
| * | Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-08-123-45/+7
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Manually included changes from 3a347a4e70e5a10ee92dd2578316c926a399e894 in src/opengl/qgl.cpp. Conflicts: src/opengl/qgl_qpa.cpp src/plugins/platforms/android/androidjnimain.cpp Change-Id: Ic26b58ee587d4884c9d0fba45c5a94b5a45ee929
| | * Font Database: Add support for private, system UI font familiesGabriel de Dietrich2014-08-113-45/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We introduce QPlatformFontDatabase::isPrivateFontFamily() to allow testing for private, system UI font families. Both QFontComboBox and QFontDialog need to filter out those private font families which, by definition, should be hidden from the end user. (The textedit example had to be updated to fix the issue where the default font would be private. In 5.4, we will be adding an equivalent, public API in QFontDatabase, and a better solution for the textedit example and QTexEdit in general). In particular, on OS X and iOS, private fonts are used for the system UI font. Those have their font family name prefixed by a dot. QCoreTextFontDatabase knows about this, and makes sure those are tested positive as private font families. In order to have a cleaner layer separation, we moved the QPA theme font resolution from the platform theme classes into QCoreTextFontDatabase for both Cocoa and iOS QPA plugins. In both cases, we use CoreText's CTFontCreateUIFontForLanguage(), that nicely maps to the HITheme API we were using so far on Mac. That means one HITheme dependency less. We also cache the font descriptors we get for these font for each time QCTFD::populateFamilies() gets called. (While not common, this currently happens in auto-tests, like tst_QFontDatabase, and could happen in actual applications -- specially when adding and removing application fonts.) Change-Id: Ic6f0b60f9f597afee1a43596a669742dc546b97f Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| | * cocoa: Fix compiler warnings about unused functions.Sérgio Martins2014-07-311-6/+0
| | | | | | | | | | | | | | | Change-Id: Id85c86dd2f2468b3ac17751aefdebe0e8666a0c0 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | | Handle 10-bit per color formats in qt_mac_toCGImageAllan Sandfeld Jensen2014-08-161-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for the four new RGB30 formats to qt_mac_toCGImage so that they get converted to ARGB32_Premultiplied instead of potentially misinterpreted. Change-Id: I0921edaef7509c1db9bd547b454dade03d289ea3 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | | Add accessible rolesFrederik Gladhorn2014-08-131-0/+6
|/ / | | | | | | | | Change-Id: Ic5465687f51c441235ec23cb88045e14644f1d2a Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* | Make the expose region local on all platformsLaszlo Agocs2014-08-121-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QExposeEvent::region() reports a region in a random coordinate system. The behavior is undocumented and the platform plugins do different things. xcb, offscreen and ios are correct. These set the region in local coordinates, which is the most logical interpretation of the expose region. windows is almost correct, except for one occurrence. cocoa and others need changes: passing in geometry() as the exposed region is always wrong. The patch documents the expected behavior both for QExposeEvent and internally in QWindowSystemInterface. The problematic plugins are fixed to use local coordinates. Task-number: QTBUG-40470 Change-Id: I6ded3154d14254fa71d4292d8e1b5e6cf696c81a Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | OS X: Remove mnemonics in parenthesesTakumi Asaki2014-08-084-24/+18
| | | | | | | | | | | | | | | | | | | | | | | | In some language, mnemonics put after label text within parentheses. e.g. "&Open" is translated to "開く(&O)" in Japanese. OS X doesn't use mnemonics and '&' in label text is removed. Mnemonics in parentheses (and spaces before them) also should be removed. Change-Id: I88c0a1f60af7e148b3cf24a4e215ce807d62bce3 Reviewed-by: Tasuku Suzuki <stasuku@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Add QFont strategy to disable subpixel antialiasingAllan Sandfeld Jensen2014-08-031-0/+7
| | | | | | | | | | | | | | | | | | | | | | This patch adds the option to disable subpixel antialiasing on QFont basis. This can be useful when painting to offscreen surfaces. On OS X this option disables the aggressive LCD font smoothing, which can be necessary for certain fonts it may otherwise ruin. Task-number: QTBUG-40396 Change-Id: I1664b636520ae63ee1503b5df7436748106b9f5c Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | OS X: correct tablet stylus rotation to range -180..180 degreesShawn Rutledge2014-07-311-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When the user holds the Wacom Art Pen straight, rotation is zero; when turning it counter-clockwise, it should have a negative angle, whereas the driver sends a positive angle; when turning it clockwise it should have a positive angle up to 180, whereas the driver sends 360 going downwards towards 180. These corrections make the angle reading consistent between Linux, Windows and OS X. Task-number: QTBUG-39570 Change-Id: I7a57cc1fb56d4f7128ca1add10aff2597f29c507 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | OS X: add buttons to tablet eventsShawn Rutledge2014-07-311-2/+13
| | | | | | | | | | | | Task-number: QTBUG-39458 Change-Id: I112107e392bf3b55771039b72271fdf887e2e5db Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | OS X: correct tablet airbrush tangentialPressure to range -1..1Shawn Rutledge2014-07-311-1/+1
| | | | | | | | | | | | | | | | | | | | The driver sends values in the range 0..1, but we want the "center" value to be 0. This correction makes tangentialPressure consistent between Linux, Windows and OS X. Task-number: QTBUG-40469 Change-Id: Ia4aa777efdf015c2802b945f6ca7a8e442bbf5fc Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | Add accessible roles for web document, paragraph and sectionFrederik Gladhorn2014-07-231-0/+3
| | | | | | | | | | | | | | | | These roles seem wide-spread enough that it makes sense to add them. QtWebEngine will use them. Change-Id: I9c2d6ab23ada0607078bcd407a72ecae9f87eeea Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* | Revert "Session management for OS X"Olivier Goffart2014-07-136-186/+16
| | | | | | | | | | | | | | | | | | Broke tst_QMenu::statusTip by closing the menu while it should not. (and therefore, a QTimer::singleShot that fires while following test are running is making the test fail) This reverts commit 50c04d631858639c630e85456e7e003a80e33493. Change-Id: Ib4ef8190f945b915fe268745cc64d471994c5e2d Reviewed-by: Richard J. Moore <rich@kde.org>
* | Session management for OS XSamuel Gaist2014-07-106-16/+186
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch aims to implement the session management available on OS X. Currently applicationShouldTerminate is just a go through that closes everything and ends the application. The new implementation calls first appCommitData and cancels the termination properly if required. This means that if a user wishes to logout, Qt applications can now cancel that like e.g. answering to Safari asking whether it is ok to close because of a number of opened tab/window. Task-number: QTBUG-33034 Change-Id: Icedc8590a1c0934d9bc87d3a43d6702a9903bfb8 Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* | QAccessible::PushButton is deprecated in favor of just ButtonFrederik Gladhorn2014-07-101-1/+1
| | | | | | | | | | | | Change-Id: I2878a28f18f3a004705ec50f616846f6cd00eed1 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com> Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* | Accessibility: Improve handling current valueFrederik Gladhorn2014-07-071-1/+1
| | | | | | | | | | | | | | | | | | Value interfaces on OS X and iOS can be strings, so can the value property of MSAA. Before we'd always only send doubles, instead change it to use strings as well. Change-Id: I1b4410c68238ba7a69a5507d87c251f2ac61c568 Reviewed-by: Caroline Chao <caroline.chao@digia.com>
* | Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-038-23/+69
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/accessible/qaccessiblecache_mac.mm src/gui/accessible/qaccessiblecache_p.h src/plugins/platforms/cocoa/qcocoaaccessibilityelement.h src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm src/widgets/kernel/qwidget_qpa.cpp Manually moved change in qwidget_qpa.cpp to qwidget.cpp (cd07830e3b27da7e96a0a83f91ba08c168b45e62) Change-Id: Ia51f471f9b53de2f3b07d77ea89db9303ac8961d
| * Cocoa: Handle Qt::WA_ShowWithoutActivatingMorten Johan Sørvig2014-07-022-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | Forward the flag to QWindow by setting the _q_showWithoutActivating property on the window in QWidgetPrivate::create_sys(). Implement by refusing to become the key window or first responder during QCocoaWindow::setVisible(). Task-number: QTBUG-19194 Change-Id: I8446927ec510d7226a5a7b51b7be49d2f9bfd098 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| * Cocoa: Handle Qt::WindowDoesNotAcceptFocusMorten Johan Sørvig2014-07-023-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Make windows with the Qt::WindowDoesNotAcceptFocus flag refuse to become the key window. This is in addition to the existing refusal to become the first responder in QNSView. Refactor the common test into a new function: bool shouldRefuseKeyWindowAndFirstResponder() Task-number: QTBUG-32385 Change-Id: I31021b5d8895a17c48f94f3691e6590c90b68627 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| * Cocoa: Fix Qt-in-namespace build.Tim Blechmann2014-07-023-11/+23
| | | | | | | | | | | | | | | | Wrap cocoa classes in namespace macros. Task-number: QTBUG-39382 Change-Id: Id840e666105afca21760fcb529b5765e0a534120 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| * Cocoa: Separate framestrut and normal button stateMorten Johan Sørvig2014-07-022-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Frame strut button state can get out of sync due to missing calls to handleFrameStrutMouseEvent, typically when a mouse down is sent but the mouse up isn't. There is no reason this should interfere with normal button state: Add m_frameStrutButtons for tracking the frame strut button state. Change-Id: Ia21700af94fe000c73088b7657237372f3a04bf8 Task-number: QTBUG-39810 Reviewed-by: Eike Ziller <eike.ziller@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
| * OS X: when opening a URL via QFileOpenEvent, pass as QUrlShawn Rutledge2014-07-021-1/+1
| | | | | | | | | | | | | | | | | | | | Opening a file from Finder and opening a URL from the browser are two different operations, and the URL might not be a local file. Task-number: QTBUG-39972 Change-Id: I467dfef7efe8eb88c922410db16137e135bc8133 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Empty icons and Cocoa menu items.Timur Pocheptsov2014-07-021-3/+4
| | | | | | | | | | | | | | | | Clear menu item's image if QImage is empty (isNull). Task-number: QTBUG-39557 Change-Id: I8145b67342b0361da2bb945070603cc182202b71 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* | Accessibility OS X: Publish synthetic increase and decrease actionsJan Arve Saether2014-07-011-24/+18
| | | | | | | | | | | | | | | | | | Increase and decrease actions can be generally applied to any value interface. We therefore make them available regardless of the existence of any action interface. Change-Id: If5916c7cfd79812e2139e882a397ac1e040aca78 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-015-25/+108
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/qnx-x86-qcc/qplatformdefs.h src/corelib/global/qglobal.h src/network/socket/qnativesocketengine_winrt.cpp src/plugins/platforms/android/androidjniaccessibility.cpp src/plugins/platforms/windows/qwindowswindow.cpp Manually adjusted: mkspecs/qnx-armle-v7-qcc/qplatformdefs.h to include 9ce697f2d54be6d94381c72af28dda79cbc027d4 Thanks goes to Sergio for the qnx mkspecs adjustments. Change-Id: I53b1fd6bc5bc884e5ee2c2b84975f58171a1cb8e
| * Cocoa: Do mouse move and cursor update handling separate from viewEike Ziller2014-06-242-12/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We are using tracking areas for mouse move, enter/leave and cursor update events, so we should keep handling of that out of the "normal" event chain. If we handle mouse moved events in the views' mouseMoved method, we need to pass the event up the responder chain if we didn't handle it, or we would break for example hover behavior in native WebViews, because these do not handle mouse moved events directly in their mouseMoved:, but only if the event wasn't handled otherwise (arguably a bug in Web(HTML)View). But passing the event up the responder chain is not good either, because the QNSViews in the parent hierarchy get the event from their tracking areas already. Change-Id: I636a84ab1b7ef73070f81a8e33b5fa734ff4a42c Task-number: QTBUG-26593 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Eike Ziller <eike.ziller@digia.com>
| * Cocoa: cleanup modal sessions for dialogs not run with .exec()Dyami Caliri2014-06-231-0/+3
| | | | | | | | | | | | | | | | | | For modal dialogs not run through QDialog.exec(), the modal sessions were not cleaned up, causing the application's menus to be inaccessible. Task-number: QTBUG-37699 Change-Id: I2704c23fec8989aa2e8ddcc3d5e3f21bb6c5db73 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| * Cocoa: fix Option + any key in key eventLiang Qi2014-06-211-1/+1
| | | | | | | | | | | | | | | | Unmodified key code should be used. Task-number: QTBUG-33200 Change-Id: I9cf91030e80336772c05a40efae52f3b8734cbdb Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| * Cocoa: Don't send duplicate close events.Morten Johan Sørvig2014-06-101-1/+8
| | | | | | | | | | | | | | | | | | | | | | Don't send QCloseEvents to QWidgetWindows during cmd-q application shutdown, since widgets will will already have received close events from QApplication close event handling. Task-number: QTBUG-39398 Change-Id: I7f6e892b0042361bed7a3bc5fac8518eabfc8e4e Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| * Cocoa: Re-implement QCocoaScreen::topLevelAt()Morten Johan Sørvig2014-06-061-11/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous implementation used [NSApp orderedWindows] which does not return NSPanel subclasses, which is used by Qt dialogs and pops. Use [NSWidow windowNumberAtPoint:belowWindowWithWindowNumber] instead, which hit-tests on all window types. This can potentially include windows from other processes and non-Qt windows which needs to be filtered out. Add EXPECT_FAIL to tst_MacGui::nonModalOrder. The correct topLevelAt() implementation now exposes that this test is failing. Task-number: QTBUG-39322 Change-Id: I81afa3da964e08fe682802220d8fe81e9284205e Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* | OS X: Fix build with QT_NO_OPENGLSergio Martins2014-06-3011-6/+58
| | | | | | | | | | | | Task-number: QTBUG-31151 Change-Id: I7ed8117ae05ba0eebaf85731c7fdd2bb51d6ed04 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* | Support adapting an existing NSOpenGLContext in cocoaLaszlo Agocs2014-06-253-3/+37
| | | | | | | | | | Change-Id: I61b4055020c82dd5ac40850fe7def91d26ffb6fe Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵J-P Nurmi2014-06-078-75/+77
|\ \ | | | | | | | | | refs/staging/dev