summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
Commit message (Collapse)AuthorAgeFilesLines
* QWindowsFontDatabase: provide better fallbackFamilies.Pierre Rossi2012-12-041-74/+87
| | | | | | | | | | | Borrowed some code from QWindowsFontDatabase::createEngine that will help ensure our fallback options are thorough enough to display say chinese glyphs when using the QRawFont + QTextLayout combination that QtWebKit relies on. Task-number: QTWEBKIT-383 Change-Id: Ie4c1d5ef7d58588afaa436c89a9575ffd646c314 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Ensure ctrl + click sends a right mouse button press in CocoaAndy Shaw2012-12-042-2/+15
| | | | | | | | | | | Since Mac's typically just have one button for their mice then pressing Control then clicking the button should end it as a right mouse button event. Task-number: QTBUG-28350 Change-Id: Iabcac5b315c36cb8cd062c27d7b1506bc066f5bb Reviewed-by: Liang Qi <liang.qi@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* properly syncqt-ize harfbuzz headersOswald Buddenhagen2012-12-041-2/+0
| | | | | | | | | we were already installing them into QtCore/private, so turn them into proper private headers to start with. this cleans up our project files. Change-Id: I0795f79e03b60b5854de9e4dc339e9b5a5e6fd87 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* QNX: Fix plugin compilationRafael Roquetto2012-12-041-1/+1
| | | | | | | | | Fix the plugin compilation after cd34da54269e6cd7fa5c18242d982736f022a14a renamed the QWindow API. Change-Id: I3ec4ce9ae2df9a66f6bf24a18277bc59c05d2e8e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* Mac: fix regression to make dialog resizableLiang Qi2012-12-031-2/+2
| | | | | | | Task-number: QTBUG-28254 Change-Id: I8623a68d589bec17042935ad308f85ddc953540d Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* xcb: notify when the logical DPI changes; add Q_MM_PER_INCH constantShawn Rutledge2012-12-031-2/+6
| | | | | Change-Id: I15696bf45ae99cc5b0fd95dab4884fc85cbfc6da Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Removed temporary backwards-compat properties and accessors in QWindowShawn Rutledge2012-12-033-4/+4
| | | | | | Change-Id: I718b877e3b6c0b1191a932d934599d5c2f5aa958 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Cocoa: create dialogs as NSPanelsTeemu Katajisto2012-12-011-6/+10
| | | | | | | | | NSPanels have builtin support to work with modal sessions. Task-number: QTBUG-28111 Change-Id: Ifeb6de03129e77aad744b3989931964c375cdbc7 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Properly release pixel format and context in QCocoaGLContext.Zeno Albisser2012-12-012-0/+8
| | | | | Change-Id: Idd13924dccc8d7798f463484eeb3c3074f7b51f1 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Basic high-dpi "retina" support for Qt 5.Morten Johan Sørvig2012-12-018-14/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | Bring Qt 5 on par with Qt 4, prepare for more comprehensive support later on. Introduce device independent pixels (dips), device pixels, and devicePixelRatio. Add high-dpi support to QPainter, QGLWidget, the cocoa platform plugin, mac and fusion styles. Dips are similar to CSS pixels, Apple points and Android density-independent pixels. Device pixels are pixels in the backing store/physical pixels on screen. devicePixelRatio is the ratio between them, which is 1.0 on standard displays and 2.0 on "retina" displays. New API: QImage::devicePixelRatio() and setDevicePixelRatio() QPixmap::devicePixelRatio() and setDevicePixelRatio() QWindow::devicePixelRatio() QScreen::devicePixelRatio() QGuiApplicaiton::devicePixelRatio() Change-Id: If98c3ca9bfdf0e1bdbcf7574cd5b912c9ff63856 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* QWidget windows have fullscreen button by default; manual test for itShawn Rutledge2012-12-011-0/+3
| | | | | | | | | | It's again possible for QWindows and widget windows to go into fullscreen mode on the Mac. Change-Id: I7b304a135838394ef0392f89be4f225f2949fad3 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Cocoa: Disable accessibility.Morten Johan Sørvig2012-12-018-3/+28
| | | | | | | | | The accessibility implementation is unstable and causes application crashes. Disable until it has been stabilized. Change-Id: Ic34361a0ad599c6f92df722499d274fe0655646b Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Cocoa: fix modal native dialogs with ongoing modal sessionsTeemu Katajisto2012-12-013-0/+13
| | | | | | | | | | | | | Commit 26db7de13d5885067844532b5a5814181a0ddf16 introduced the modal session cleanup for Cocoa print dialog before running the modal event loop for the dialog. Add the same cleanup for Cocoa file, font and color dialog helpers. Task-number: QTBUG-28146 Change-Id: Ifeb7c82566db35f0c6654be7762e9aaffbafb900 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* QNX: Move buffer count check to appropriate locationRafael Roquetto2012-12-011-13/+14
| | | | | | | | | | | The buffer count check should take place right after buffers are created. For some reason, the buffer count value inside libscreen may become incosistent during the course of the program. Change-Id: Icbbaf4734eac5b0c5c95bdd93771899f9fcdb7db Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
* make minimalegl plugin compile without QtWidgetsTasuku Suzuki2012-11-301-1/+0
| | | | | Change-Id: I060ea584dd78e5f389010ab007567aed11793c23 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Cocoa: update OpenGL viewport when nsview movesRichard Moe Gustavsen2012-11-283-3/+35
| | | | | | | | | | | | | | | | | | NSOpenGLContext expexts an -update call whenever the physical position of the view it draws to changes on screen. Since we don't get geometry callbacks for such views when the parent view moves, we need to register a special notification for that case, and tell Qt that we need to repaint the QWindow that the view is backing. This case does not hit very often, but is evident in MDI applications where the subwindows are OpenGL backed QGraphicsView widgets. Dragging the subwindows around produces garbage inside the windows. Change-Id: I1b162470b03cca6ed722c6c54080459f2c5e91d9 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* QNX: Fix window focus problems when using QNX 6.5.0.Sergio Martins2012-11-283-0/+13
| | | | | | | | | In blackberry, activation events come through the navigator, but we might not have a navigator. Change-Id: I0d9e1a08336aa403035fdf00be46d839a83f4b58 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Fix touch event handling for WindowsOliver Wolff2012-11-275-14/+29
| | | | | | | | | | | | | Filtering touch events depending on Qt::WA_AcceptTouchEvents is not trivial. I thought about doing so in QWidgetWindow::handleTouchEvent but the target widget (not window), which has to be checked, has to be obtained using the primary touch event's position etc. Thus that is not part of this commit and will be done in a followup. Change-Id: I876ee72acd7fdfbe46da61c6eb3c5891ea319cd8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fixed abbreviations in QWindow::framePos() and QWindow::setFramePos().Samuel Rødal2012-11-271-1/+1
| | | | | | | | | | | | As 672e7c875e8680818e23d0aef98129d95eb7e91c did changing pos() to position() and setPos() to setPosition(). Luckily there's not much code that uses these. Change-Id: I1e1982f00412a22bd376e667a5e8c30b6149f9b5 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Mac: Fix wheel event handling on 10.6Liang Qi2012-11-271-5/+5
| | | | | | | | | Change "else" case to support compiling on 10.7+ and deploying on 10.6 Task-number: QTBUG-28060 Change-Id: Iaaeaaefe98083863ed750c7cb320db02e16543af Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Fixed excessive enter/leave events being generated with the xcb plugin.Samuel Rødal2012-11-231-2/+39
| | | | | | | | | | | | | | | | | | | | | When we get a leave event we peek ahead in the queue to see if there's an enter event already pending. If so we use QWindowSystemInterface::handleEnterLeave() instead of two separate window system interface events, so that you don't get leave and enter events for the whole parent chain when moving the mouse cursor between two neighbouring native child widgets. We skip VIRTUAL events as they are generated for parent windows, and we only care about the bottom-most window that is being entered / left. Qt can take care of the rest since it knows the QWindow hierarchy. We need to not skip leave events with detail set to INFERIOR, since Qt expects to get a handleEnterLeave() when the mouse moves from a parent window to a child window. Task-number: QTBUG-27550 Change-Id: I7457d2e59d8b694081f2e43a16cd2e58d769624e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Cocoa: Make sure non windowed QCocoaWindows hide their content viewsGabriel de Dietrich2012-11-231-0/+4
| | | | | | Change-Id: I92b8600c513ba033c459b6911ca62fc31698dc4a Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Cocoa: Make sure child windows' QNSView is properly releasedGabriel de Dietrich2012-11-231-0/+2
| | | | | | | | | | Child QCocoaWindows don't have an assigned NSWindow, but still get a QNSView as backing store. That QNSView is added as a subview to the parent window's QNSView. That would leave an unmanaged QNSView alive. Change-Id: I10f57fb971f7aa1e278bb0af4217052d1e4bb0bc Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Cocoa: QGLWidget draws wrong within QMainWindow on Mac OSRichard Moe Gustavsen2012-11-236-101/+125
| | | | | | | | | | | | | | | | | | | | | | | | The resons for this bug is that Qt can share the same backingstore between several windows (if they exist in the same hierarchy), but this was just not supported by the Cocoa plugin. This patch will make sure that we pay attention to which window the QCocoaBackingStore is told to flush, and forward this information to the QNSView that backs it up. Inside the views drawRect function we then take some extra steps to get the correct sub-part of the possibly shared backingstore image. This patch also does some effort to ensure that we recreate the backingstore image as little as possible, as we can often get several resizes to the backingstore before we actually draw anything. Moreover, by being a bit careful on how we tell UiKit to update the view upon a flush, we can minimize the number of drawRect calls (and then CGImageRef creations) we need to do. This patch actually ends up improving resize/repaint performance a lot as well. QT-BUG: 27390 Change-Id: I2c2a26b149fa855411b6bff8b9cc9a61694ae72f Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Add nsOpenGLContextForContext to QCocoaNativeInterface.Zeno Albisser2012-11-232-4/+12
| | | | | | | | | | This change enables receiving the native NSOpenGLContext that is used by a QOpenGLContext. This clearly is non-public api that is only meant to be used as a last resort for cases where it is really necessary to get hold of a native context object. Change-Id: Iea7c6abb458acc7aa15926052673270d25d1d9d1 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* xcb plugin: Move the include XInput2.h statementsThomas Senyk2012-11-231-5/+5
| | | | | | | | | | If the include of egl.h does nasty things with X11-defines (this happens with the imx6 gpu-drivers) errors are avoided if the include of XInput2.h is next to the other X-includes, and not after include of egl.h Change-Id: I182d0e1fcf3fa3e6abce880d34e63cc1d2ce8ed4 Reviewed-by: Laszlo Agocs <lagocs83@gmail.com>
* Cocoa: Fix disabled colors in paletteGabriel de Dietrich2012-11-231-1/+0
| | | | | Change-Id: I1e6cf2a860f611e08ae2720c2e4eed65a85dbe9c Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Add WindowFullscreenButtonHint.Morten Johan Sørvig2012-11-231-5/+4
| | | | | | | | | | | | | | | | Adds the fullscreen button on Mac OS X. Has no effect on other platforms. Regarding the name I dropped the "Mac" prefix (like MacWindowToolBarButtonHint). Other platforms can use and we don't want to accumulate "Mac" API's. Change logic in QCocoaWindow check for this flag instead of using WindowsMaximizebutton. Change-Id: I9f2db75e8e71b3da36777c7e48852eda3ce9d534 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Accessibility Mac: Return textArea as role for multi line text.Frederik Gladhorn2012-11-234-5/+8
| | | | | | Change-Id: I88eb4746463b7372c2dfe089ba74ea4cb0098396 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Fix drops from external sources.Gatis Paeglis2012-11-221-6/+5
| | | | | | | Task-number: QTBUG-26832 Change-Id: Ia1ccce391178e73d26a4f09955bce6c37616384f Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Pass extended key event infomation in xcb platform.Weng Xuetian2012-11-221-2/+2
| | | | | | | | Bare QKeyEvent missing some useful info for input method. Use new construct of QKeyEvent to create extended QKeyEvent Change-Id: I8c89e80e7329b92e3e04d5fe52d07c6f6f9e006f Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Cocoa: Properly set QNSView's geometry when it's a subviewGabriel de Dietrich2012-11-221-0/+3
| | | | | | Task-number: QTBUG-26960 Change-Id: Ib8ca76572c868305f378d22c21d13511b4999244 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Remove warnings from qtbase.Mitch Curtis2012-11-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | geometryengine.cpp: In member function 'void GeometryEngine::drawCubeGeometry(QGLShaderProgram*)': geometryengine.cpp:159:93: warning: cast to pointer from integer of different sie [-Wint-to-pointer-cast] geometryengine.cpp:167:95: warning: cast to pointer f rom integer ofdifferent size [-Wint-to-pointer-cast] benchmarking.cpp: In member function 'void TestBenchmark::multiple()': benchmarking.cpp:85:9: warning: variable 'result' set but not used [-Wunused-but-set-variable] benchmarking.cpp: In member function 'void TestBenchmark::series()': benchmarking.cpp:120:9: warning: variable 'result' set but not used [-Wunused-but-set-variable] qstandarditemmodel.cpp:2717:45: warning: unused variable 'd' [-Wunused-variable] qxcbconnection.cpp: In member function 'xcb_timestamp_t QXcbConnection::getTimestamp()': qxcbconnection.cpp:930:40: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qguiapplication.cpp: In constructor 'BlockableWindow::BlockableWindow()': tst_qguiapplication.cpp:340:9: warning:'BlockableWindow::enters' will be initialized after [-Wreorder] tst_qguia pplication.cpp:339:9: warning 'int BlockableWindow::leaves' [-Wreorder] tst_qguiapplication.cpp:342:12: waring: when initialized here [-Wreorder] tst_qsqltablemodel.cpp:570:10: warning: unused parameter 'value' [-Wunused-parameter] tst_qabstractitemview.cpp:1546:8: warning: unused parameter 'index' [-Wunused-parameter] Change-Id: I49c88547182e4669cfde2c2536403fc5573ca2da Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QNX: Fix crash due to re-entering QToolTip::show().Sergio Martins2012-11-211-2/+6
| | | | | | | | | | | | | | | | | | | The flushWindowSystemEvents() was added to send the geometry event synchronously. A side effect was that all input events were also sent. We don't want that. We're probably in setGeometry() because some other input event brought us here, and it's still in the call stack. One crashy example is the static method QToolTip::show() which uses static variables([1]). If we process input events while the first QToolTip::show() is still on the call stack, it will trigger a second one, deleting stuff ([1]) that the first invocation will still need once the stack unwinds. Change-Id: Iea22419a7f386d6b6231404666092340dfd1afed Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* SIC QPrintSupport: Remove unused PPK_SuppressSystemPrintStatusJohn Layt2012-11-211-2/+0
| | | | | | | | | Print Engine key PPK_SuppressSystemPrintStatus was added in Qt4.1 for Cocoa dialog to suppress the progress dialog. In Qt5 all cocoa code has been removed and this key is now unused. Change-Id: I3a91e9651e16f81611a9a736163f76acf9f20096 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* exclude 3rdparty from lupdateOswald Buddenhagen2012-11-202-0/+4
| | | | | | Change-Id: I00c569787943a87dda60786b179af1f55a94ea68 Reviewed-by: hjk <qthjk@ovi.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Use setImage workaround on all OS X versions.Morten Johan Sørvig2012-11-201-6/+3
| | | | | | | | | | The painting bug that we are working around/fixing here has been observed on 10.7 as well. Change-Id: Ic29421bcc84405afa085af2f0ed2bc554c684f98 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Teemu Katajisto <teemu.katajisto@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* QSystemTrayIcon/X11: Use display obtained as native screen resource.Friedemann Kleint2012-11-192-0/+20
| | | | | | | | | | Previously, the screen name was used, which contained the display name. This was changed to return the xrandr-name. Task-number: QTBUG-5416 Change-Id: I560143d6d459a8051c9640079cf7d39a3caebfec Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Compile with -no-widgets.Morten Johan Sorvig2012-11-194-49/+59
| | | | | | | | | | | | | | Remove QApplication usage in qcocoasystemtrayicon.mm Move qt_mac_cg_context from qpaintengine_mac.mm to qcocoahelpers.mm to make it available in no-widgets builds. (Move qt_mac_colorSpaceForDeviceType as well; color space support needs to be cleaned up later on.) Change-Id: I724fdb09538d65eae56c26165f3ba53b6814ea78 Reviewed-by: Liang Qi <liang.qi@digia.com>
* Accessibility Mac: Implement value interfaceFrederik Gladhorn2012-11-151-1/+8
| | | | | Change-Id: Iea6e3c69b220d35bddb1798ff991f8e67e1749e3 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Implement EditableText accessibility for Mac.Morten Johan Sorvig2012-11-154-5/+121
| | | | | Change-Id: Ibe03975bafc5a6a420b3bd69dfaa93dbf65c9958 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Fix QApplication::primaryScreen() in WindowsMiikka Heikkinen2012-11-151-3/+11
| | | | | | | | | | QPlatformInterface::screenAdded() documentation specifies that first added screen will be the primary screen, so we need to ensure that the screen Windows reports as the main display gets added first. Task-number: QTBUG-27988 Change-Id: Ibc17b05a6c37007ff749fb54ab62d47ffa40f8ac Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Windows: Fixed mouse events related to size gripsOliver Wolff2012-11-151-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | The code which was adapted from Qt4 seems not to work as expected on current Windows versions. There are no additional mouse move events after releasing the mouse button from the size grip. One special behaviour in regards to SizeGrips here seems to be that there is no WM_LBUTTONUP message but a WM_MOUSEMOVE received when the mouse button is released from the size grip. Due to mouse event handling in the Windows plugin that event triggers the desired mouse release event so everything should be fine. With the previous implementation the behaviour from the bug report can be explained by the fact, that the mouseMove event is eaten in qwindowsmousehandler and so the second mouse click isn't even delivered. Basically the first click triggers the press event without a release and the second click does not trigger a press but a release event. Task-number: QTBUG-27864 Change-Id: I987c6e01dec4a6b6189ed30959daf7a2fcc17df6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Change to enter/leave policy while grabbing.Miikka Heikkinen2012-11-152-31/+49
| | | | | | | | | | | | | | | | | | | | | Sending enter and leave events to other windows than the grabbing window is not logical. The policy should be that only the grabbing window receives enter and leave events. Changed the documentation accordingly and provided the necessary changes to Windows implementation. Also removed explicit leave event generation for widgets when popup is opened as that is now redundant. tst_QWidget::underMouse() test was changed to behave according to new logic. Task-number: QTBUG-27871 Change-Id: I127fb8685b4a4206d1a319f42cba491ec02bc8ca Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Windows: Fix autocapture for multiple buttonsMiikka Heikkinen2012-11-151-4/+5
| | | | | | | | | | | Automatic capture of mouse events on button press was released when the first button was released, even if multiple buttons were pressed. Changed it so that the capture is released when the last button is released. Task-number: QTBUG-28007 Change-Id: Icee59aacaf0ba947820c40cb7ede00193ff46a14 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Cocoa: application menu items sometimes get duplicatedRichard Moe Gustavsen2012-11-141-3/+17
| | | | | | | | | | | | | | | | | | Under some circumstances, the same menu item appears several times in the application menu in the menu bar. This can be seen in Qt creator, where "About Qt Creator" appears twize. The reason is that QCocoaMenu::syncMenuItem does not take into account that merged items cannot be found in the QCocoaMenu that owns the menuItem, but rather inside the application menu. And because of this, it fails cleaning up the old item when it changes from e.g TextHeuristicRole to ApplicationRole. This patch will fix this. Change-Id: Ia84f552d1788d80d778c7dded3393412b9d2d8cb Reviewed-by: Chris Meyer <cmeyer1969@gmail.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Added expose and configure event compression in xcb platform plugin.Samuel Rødal2012-11-142-1/+60
| | | | | | | | | We had this in 4.x to prevend swamping the event queue and causing a lot of needless processing of stale events. Task-number: QTBUG-27734 Change-Id: I020fe44885569f5a68c07220fcb44bea3e138089 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Windows: Fixed handling of key events containing ctrl modifierOliver Wolff2012-11-141-0/+8
| | | | | | | | | | | | | | | | | QKeyEvent::key() returned the wrong value if the ctrl modifier was used in that key event. That was due to the fact that ToUnicode might not return the correct code for these events/keyboard states. While it works for alt+shift+= (us layout) and gives '+' as unicode value it just claims that it cannot translate the given state for ctrl+shift+=. So if the control modifier is used and ToUnicode return 0 toKeyOrUnicode should try again without the control modifier. Task-number: QTBUG-10781 Change-Id: I5eb9c200701b4c98a8089fc0ab1ebaa385dbeea8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Cocoa: fix window focus lost when opening comboboxRichard Moe Gustavsen2012-11-121-6/+4
| | | | | | | | | | | | | | In cocoa, saying that a panel accepts key events, will make it receive key events, but also show it as the active window on screen. The former we dont really have to care about, since Qt will take care of forwarding events to the popup for us anyway, even when they target another window. So the only reason to actually let a panel become key window, is when we want it to become active. And for popups, we only want this to happend for Tool windows. Change-Id: Ic4e5058307c514cbe30174d2a2d4ca0f41c8f71f QTBUG: 26598 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Add a QEnterEvent containing the mouse position.Friedemann Kleint2012-11-103-11/+20
| | | | | | | | | | | | | Enter handling requires knowledge of the mouse position. Extend the enter handling of QWindowSystemInterface to receive the position (implemented for Windows, XCB and Mac), passing it on to QEnterEvent. Dispatch QEnterEvent from widgets code. Change-Id: I49c07d2b1f46310c877017dd55d4cd7d636bdbce Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>