summaryrefslogtreecommitdiffstats
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* Check for valid model and view in isValid for TableCells.Frederik Gladhorn2012-10-031-2/+3
| | | | | Change-Id: Iadca5503ed2a1d6411d46ed6fe9d5b9a56461a3a Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Make accessibility debug output optional.Frederik Gladhorn2012-10-031-1/+1
| | | | | | | | | On linux with the new plugin debug output was a bit too generous. Instead use environment var: If QT_DEBUG_ACCESSIBILITY is set, give the full a11y output. Change-Id: I1c9e2078e38799f91468cfc2d9ddcaa36ba4fa03 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Mac: QComboBox wouldn't receive mouse events when shown within a modal dialogGabriel de Dietrich2012-10-031-0/+4
| | | | | | | | | | The mouse events were being stolen by the modal dialog, preventing the combo box to update itself. Key events were being properly forwarded, but this was probably due to the different way key events are being delivered. Change-Id: I5bfc4800fad9fd4122a212e6fdec13811a7e647b Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* OpenGL: Don't request a context version higher than is supportedSean Harmer2012-10-036-61/+277
| | | | | | | | | | | | | | | The function wglCreateContextAttribsARB will fail if we request a context version higher than is supported. We therefore upper-bound the requested version by the version of the static context. This results in context creation succeeding and having the closest possible match to the requested format. The xcb qpa plugin is modified to operate similarly to the windows plugin in that it now creates a "static" context which is used to limit the versions of contexts requested by the user. Change-Id: I277ad7cc82edfdf7b9d8502ad921c8175feb1a4a Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Introducing the PlatformPanel event type.Sergio Martins2012-10-031-3/+8
| | | | | | | | | | | | | | | | | This event can be used by any platform plugin to implement special application panels/overlayed menus. Currently used by QNX only. This replaces sending fake Qt::Key_Menu presses in the QNX plugin. Qt::Key_Menu is already used when invoking context menus with the keyboard. Change-Id: I9c8f1743fd147a07c11883323800017376915ae1 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Change Q_ASSERT to warnings and returns for the menu classesAndy Shaw2012-10-033-10/+42
| | | | | | | | | | | On Mac usually release frameworks are used during development so asserts don't tend to get fired. Since the menu code did not crash in Qt 4.8, it was decided that we should ensure that the same code does not crash now so instead we warn instead of asserting for those cases. Change-Id: I923e5591202cb2ad801074ce3ad2a11d7190cee8 Reviewed-by: James Turner <james.turner@kdab.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Cocoa: add missing auto release poolsRichard Moe Gustavsen2012-10-021-0/+4
| | | | | | | | Got complaints while running file dialog example. Adding in the release pools will fix the problem. Change-Id: Ib33fddd5aedfc3e4aaa6fdd8995bbc8c8098267c Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Cocoa: bugfix staysOnTopFlag in combination with transient parentRichard Moe Gustavsen2012-10-021-15/+8
| | | | | | | | | | | | | | | A staysOnTop window with a parent would never stay on top. The reason was that we placed the window on the same level as the parent, which would undermine the staysOnTop flag. The fix for this is to always level the window to _at least_ as the same level as the parent, but never lower. A code path for this already existed in the windowLevel function for popups. so we factor that out and use it for all cases. Task-number: QTBUG-27410 Change-Id: I0c30194be33703f54b6c2fe7f3088a9febcd1e2c Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Fix a crash with xcb on 64bit systems when hitting any key.Jocelyn Turcotte2012-10-024-38/+138
| | | | | | | | | | | | | | | | xcb uses 32bits for xcb_keysym_t, but Xlib uses 64bit longs on 64bits systems for KeySym and all other XIDs on the client side. Passing an xcb_keysym_t* to XLookupString, expecting a KeySym*, would overwrite the next 32bits in memory and possibly cause a crash. This patch makes sure that a KeySym* is passed to XLookupString, and use the signature declared in Xutil.h to make sure the types are right. Encapsulate it in qxlibconvenience.cpp since including Xutil.h inside qxcbkeyboard.cpp causes macro expansion problems. Change-Id: I68451a24cb44a43dfa4382b5dce1ea7845f14e26 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Laszlo Papp <lpapp@kde.org>
* Stop delivering messages when drop has occurred.Gatis Paeglis2012-10-022-1/+7
| | | | | | | Task-number: QTBUG-27406 Change-Id: If14c108060ad6de70991658f0e0249eb544b87a0 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Retrieve drop data with a proper timestampGatis Paeglis2012-10-024-4/+8
| | | | | | | | | | | Occasionally drag-and-drop was returning empty mimedata due to using wrong value for timestamp. Accoring to the xdnd specification we must use timestamp from XdndPosition or XdndDroptime for retrieving the data. Task-number: QTBUG-27367 Change-Id: Iadb6b6989cfc4e8ab241e2fd0ded59355108f22f Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Ensure that QDrag is set correctly at all times.Gatis Paeglis2012-10-021-5/+7
| | | | | | | | | | | | | This patch fixes broken code in handleSelectionRequest(). There are 2 cases when this function is called: 1) When XdndDrop has arrived (on mouse release) 2) When drop has not occurred yet (while mouse are still pressed down) Second case was not working due to this bug. Task-number: QTBUG-27405 Change-Id: I913cfd332128a28861e2fcc027b406eb821d2597 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Fixed xdnd protocol-version detection codeGatis Paeglis2012-10-021-3/+3
| | | | | | | | | | | Bug introduced when porting from Xlib to xcb. Xcb returns actual number of bytes read while Xlib returns number of 8-bit, 16-bit, or 32-bit items stored in the returned data. Task-number: QTBUG-27403 Change-Id: Ia64da1953ec7be8d32cc591565cd1b41ce8d7dbb Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Don't let mimeData return 0.Gatis Paeglis2012-10-021-12/+25
| | | | | | | | | Fixes bug introduced in SHA e247e2810 (QTBUG-26709). Change-Id: I9aa80239675b2d564d08a019ca267a9aa814074e Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Fix filter regular expression for native Windows file dialog.Friedemann Kleint2012-10-021-1/+1
| | | | | | | Task-number: QTBUG-26986 Change-Id: Idbbaca4ea4fc298c50a30671c48b597ac38d3308 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* fix QWidget::setWindowFilePath on Mac OSJoerg Bornemann2012-10-022-0/+12
| | | | | | | | Task-number: QTBUG-27299 Change-Id: I4dddbb9690aac327ad33477d8cea9afa84d10eb3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* QNX: Also support input method hints from QtQuick elementsThomas McGuire2012-10-011-1/+1
| | | | | | | | | Turns out some QtQuick elements have the "inputMethodHints" property as well, so don't only accept input hints for widgets. Change-Id: I81a14be20cdca7d993dc88e8e252ecdfde8eb4ea Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QXcbWindow: Don't recreate window when reparenting.Yoann Lopes2012-10-011-3/+0
| | | | | | | | | | | | For consistency, this behavior has been kept across Qt versions... Just get rid of it. Also fixes native child widgets not being notified of the change of window handle (winId) when being reparented. Updated auto-test. Change-Id: I3616dc0f1c32a519d78a4846297d6d4a6e926fbf Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* QNX: Only set parent window if it is not NULLRafael Roquetto2012-10-011-1/+1
| | | | | | | | | | | | | There are cases where a widget has a parent, but is also a toplevel window at the same time, causing the system window to have no parent. For instance, a QMenu usually has a QMenuBar as a parent, however QMenuBar itself does not have its own platform window, as opposed to QMenu. Thus QMenuBar::parent == QMainWindow (for example), but QMenuBar::platformWindow == 0x0; QMenu::parent == QMenuBar, but QMenu::platformWindow != 0x0 (which is QMenuBar's value). Change-Id: Ib203fa1b85f5f20ef53366c80d6752d6384a202d Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* QQnxWindow: use a proper castMarc Mutz2012-09-291-4/+1
| | | | | | | | | Replace a C-cast with a const_cast. Casting doesn't care about nullptr, so don't check for one. Change-Id: I18a3e8f21d73b73385e567c7ceaf64e36aaa2cf3 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNX: fix bug on window hierarchy listRafael Roquetto2012-09-281-8/+6
| | | | | | | | | removeFromParent() must not be called from raise()/lower(), because it wrongly sets m_currentParent to 0, causing the parent/child link to be broken after a call either of these methods. Change-Id: I58f847dc4a46f2cf120cb3acf230bac46bcf24f5 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* QNX: fix assert condition on the destructorRafael Roquetto2012-09-281-1/+1
| | | | | | | | m_childWindows must be 0 (and not > 0), since at this point it should have no children. Change-Id: I149e34849cab2d56f8617cc04fc6bf95c0476e4c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Some improvements to the system Mac paletteGabriel de Dietrich2012-09-281-8/+5
| | | | | Change-Id: I0c3c306db440a9a230a0916e7ee1eb27b072d057 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Blackberry: Support input method hintsThomas McGuire2012-09-284-8/+25
| | | | | | | Change-Id: I2d30d6079d3982e5ca2b8d9346d0d511279792ad Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNX: use assert on QQnxWindow destructorRafael Roquetto2012-09-281-5/+4
| | | | | | | | | This makes it clear that the m_childWindows size must be 0 at this point, indicating otherwise an inconsistency in the logic of the child windows management. Change-Id: I04e418bc6e1d23681bd96f4d619cde9645dc6a22 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* Sand box support, fix for the file dialogs.Pasi Matilainen2012-09-271-42/+45
| | | | | | | | | - Also get rid of all deprecated calls Task-number: QTBUG-21609 Change-Id: I284587517537c7be4229d99637c6907d7e7652a5 Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Fix OpenGL context creation in Windows platform pluginMiikka Heikkinen2012-09-271-1/+1
| | | | | | | | Attribute index was incremented incorrectly. Task-number: QTBUG-27272 Change-Id: Ia7e9c76acc6c9d8208b8ba43131861a3beff6b2c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Blackberry: Fix hardware button detection on the BB Dev AlphaThomas McGuire2012-09-271-1/+1
| | | | | | | | The format of the PPS object has changed, it is now prefixed with [n], so be more leninent in parsing to support both formats. Change-Id: I54eb1502a6231acf2dd121531539435c59d7d668 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* WindowsPlugin: Fix MinGW warningsKai Koehne2012-09-272-2/+4
| | | | | | | | | Fix warnings: Change-Id: Ia68607f72087c0085e528fee0e6270b80692e389 warning: enumeration value 'SynthesizeMouseFromTouchEvents' not handled in switch warning: suggest parentheses around assignment used as truth value Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Return correct accessible name when a label has rich textJosé Millán Soto2012-09-271-1/+9
| | | | | | | | | | When a QLabel was displaying rich text, the raw html was being returned as accessible name. Now the plain text is returned. Task-number: QTBUG-27302 Change-Id: I169d5eff527a0aef810af11d7712a362148974a5 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* (WINCE)Add failure for font outline functionAndreas Holzammer2012-09-271-0/+2
| | | | | | | | | | There is no outline function in Windows CE, so add a failure to inform the user that, he needs to switch the font rendering. Change-Id: Ieceb68bec49a88c7f7eee99f1c62cf1701da6aec Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* QtPrintSupport: cleanup CUPS tmp filesTeemu Katajisto2012-09-271-0/+1
| | | | | | | | | Set fd so that it gets closed in QPdfPrintEnginePrivate::closePrintDevice() Task-number: QTBUG-14724 Change-Id: Ic9c02c92b07ece92911d7bc3eac79689b4864253 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* xcb: consistently check xcb_get_extension_data for extension initsShawn Rutledge2012-09-271-4/+10
| | | | | | | | | This seems to fix the ability to run a Qt app across a forwarded X connection (e.g. ssh -X). Change-Id: I2b7a26985cf11107e69b303337a5fbb369e38c9e Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Uli Schlachter <psychon@znc.in>
* Fix initial window orientation with Qt on MeeGo 1.2 HarmattanSimon Hausmann2012-09-262-1/+4
| | | | | | | | | | | | | | The window orientation changes are handled through a generic QPA plugin and sends an initial window orientation change event on startup for the initial orientation and subsequent updates when the device orientation changes. Unfortunately the plugin was never loaded after the introduction of the new plugin loading mechanism, because the factory key ("MeeGoIntegration") was not provided to the plugin registry. Change-Id: Ib7324561993abfbac1dccb0839aab0a8e870d231 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Laszlo Papp <lpapp@kde.org>
* XCB: Correctly report the created OpenGL context version and profileSean Harmer2012-09-261-8/+69
| | | | | | | | | | | | | | | This commit fixes the xcb qpa plugin such that it now correctly reports the version and profile of the created OpenGL context in the QOpenGLSurfaceFormat. To do this we have to create a temporary X window so that we can make our new context current. We also handle the buggy nVidia drivers which incorrectly report 0 for the GL_CONTEXT_PROFILE_MASK query. The reduced format is also copied back from qglx_findVisualInfo. Change-Id: I6f34fe1c6130aebbb6b40c36df4acc216069d2b1 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* QtPrintSupport: use PPD defaults in CUPS pluginTeemu Katajisto2012-09-262-0/+112
| | | | | | | | | | Initialize CUPS plugin with default values from the PPD file. Implement paper size handling when using CUPS paper sizes to make paper sizes to map properly when used through QPrinter interface. Change-Id: I84d20aa4b1c7250fca754aecde419467f57ef16b Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* xcb: better error handling if no randr or screen resources query failsShawn Rutledge2012-09-261-47/+53
| | | | | | | | | | Marc Mutz already reported problems with ssh -X fowarding. Now all such errors are treated the same: if we can't get screen output attributes, just assume there is only one. Change-Id: I96802fc90072c623de3370ed2898893daf58198a Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* fix build failure for MinGW using "system" freetypeMark Brand2012-09-241-0/+6
| | | | | | | | | The configure script correctly detects freetype and sets "system-freetype" in QT_CONFIG. However, the project file did not consider this possibility. Change-Id: I9ce90e7cd032a12ed7d06d3858b16c5a8d90c073 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Try to auto-detect the font rendering for WinCEAndreas Holzammer2012-09-242-4/+34
| | | | | | | | | | | | | | Native font rendering is broken for QML applications, use free type rendering for those scenarios. Use native rendering for all other applications. Use a workaround to find out if we are running a QML application on the target. Related to QTBUG-24205. Change-Id: I653ea579098db1e58af8176cb2c3f943be0b9602 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* xcb: dynamic QScreens; primary first; corrected logical DPIShawn Rutledge2012-09-246-94/+151
| | | | | | | | | | | | | | | | A new QScreen is created when an output is activated (monitor or projector is added, for example), and destroyed when the output is turned off. Ensures that screens and siblings are always in the right order: primary comes first. Logical DPI is derived from virtual geom / virtual size, which will be different than output geom / physical size if X was started with --dpi override. This is a good thing: when X gets wrong EDID info for physical size and you need to override it to get reasonable font sizes, Qt will heed the logical DPI for font sizing. Change-Id: I5e3de34013c1b6b21067243de56f3f1eb72787fa Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-22437-10451/+10451
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Cocoa GL context: do not crash when closing windowsLaszlo Agocs2012-09-201-2/+2
| | | | | | | | | Running hellowindow and closing its windows one by one would result in crashes without the additional checks for the presence of the underlying native window. Change-Id: Id32bdfda9a77936380b2e9a95fb56ceb52028d9d Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Load Mac specific resources when used in a static buildAndy Shaw2012-09-201-0/+7
| | | | | | | | | When Qt was built statically then the Mac specific resources were not being loaded which meant some style specific images were not used. Task-number: QTBUG-25391 Change-Id: If311148df19a87b6c8104553b662e3bf157f5717 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Rotate non maximized windowsRafael Roquetto2012-09-192-1/+114
| | | | | | | | | | | | | | There are two types of rotation to be considered: 1. Rotation of native widgets The corresponding window should be rotated and resized proportionally to the new screen geometry. 2. Rotation of toplevel windows. The window will be only rotated. It will be only moved or resized if it becomes clipped, in order to be fitted on the screen properly. Change-Id: Ice92427ac07a9bea284e68917ff3e0f436722bc0 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Make QStatusBar text available via accessibility.Tilman Sauerbeck2012-09-192-1/+6
| | | | | | | UNTESTED cause the build fails for me (unrelated to this patch). Change-Id: Ie6836596b6fbaf93baa21d7008509774f1379f5c Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Introducing NoDropShadowWindowHint window flagGabriel de Dietrich2012-09-182-0/+9
| | | | | | | | | | Added suppport on QCocoaWindow. Also we deprecate WA_MacNoShadow since it isn't used anywhere, and updated the 'windowflags' example app. Change-Id: Id0b453ba15a23b768b0615838597bca139f507ad Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Fix mapping to/from global coordinates for child/embedded windows.Miikka Heikkinen2012-09-182-0/+19
| | | | | | | | | | | | | | | | | | | | | QWidget's mapToGlobal() and mapFromGlobal() functions assumed that if the widget reports it's a window or if it has no parent widget, it must be a top level window whose coordinates are in global coordinates. This is not true for child QWindows or embedded native windows (QAxWidgets). Changed the logic for mapping coordinates to use equivalent methods from QWindow if widget has a window handle, and changed QWindow's methods to map coordinates using native methods if window is embedded. Also fixed newly failing accessibility autotest. The geometry related failures there popped up because now the position of the rect returned by accessible interface is actually correct while widget geometry still reports position 0,0 before widget has shown up. Task-number: QTBUG-26436 Change-Id: I658fafd0ce01eb1604ba255efeeba3073ca0189f Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* X11 (xcb) support for QScreen-per-output and runtime changesShawn Rutledge2012-09-184-64/+244
| | | | | | | | | | | | | QScreen has notifiers for its properties, but they were not being emitted when one changes the resolution or arrangement of individual outputs, e.g. via xrandr. Also there should be one QScreen per "output", e.g. laptop LCD + external monitor means 2 QScreens which will be siblings, rather than just 1 QScreen to represent the whole desktop. Change-Id: Ia61bbc5e6a3506f813ab11f87c03d14cf7f4ce85 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Prevent buffer overflow in QXcbWindow.Samuel Rødal2012-09-181-1/+1
| | | | | | | | Thanks to Janne Kulmala for noticing this and informing about the fix. Task-number: QTBUG-27123 Change-Id: Idd3cfd74fb7be277b6d805446aea5784b8fdf2f6 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Make maemo scope syntax in project files more genericLaszlo Papp2012-09-142-2/+2
| | | | | | | | | | | | | | | | | It is necessary to use the n9 device file for now in scratchbox or/and on the community open build service because the maemo platform mkspecs file assumes that a cross-toolchain is used all the time. If no platform file is used, then for instance certain plugins may not be built in general. There is currently an ongoing issue with the meego plugin for context management in the Harmattan components project. That is currently not built due to this issue, so no orientation works in those applications. The nice solution would be to make the maemo platform file work with cross and native toolchains as well, but that requires a decent amount of investigation and work. Thereby, the scope is extended this way for now. Change-Id: I172c7d152bdbb2db279526d9fd1ca5648d0cd0a9 Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>