summaryrefslogtreecommitdiffstats
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* Suppress QWindowSystemInterface inclusion warnings.Girish Ramakrishnan2012-07-0335-35/+35
| | | | | | | | | | | | | Since QWindowSystemInterface is now part of QPA API. The correct inclusion is: #include <qpa/qwindowsysteminterface.h> #include <qpa/qwindowsysteminterface_p.h> Bulk of the work was done by: find . -type f | xargs sed -i -e 's,#include <\(QtGui/\)\?QWindowSystemInterface>,#include <qpa/qwindowsysteminterface.h>,g' Change-Id: If75fc32611e72ef1cf58505794def375b1acf74a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* fixed compile for mouse button handling on winceBjoern Breitmeyer2012-07-031-0/+4
| | | | | | | | | WinCE does not support SM_SWAPBUTTON, so the define will let ce fail the function call and correctly assume normal mouse button handling Change-Id: Id603b3b6a995e22d8800e19a5566a56df95c8962 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Optimize QWindowsFontEngineDirectWrite::initFontInfo() a bitKonstantin Ritt2012-07-031-17/+17
| | | | | | | | by using QVarLengthArray instead of allocating memory on a heap and by skipping a subsequent checks & calls in some cases. Change-Id: I300d8eaf02ef718ce50833b7c2ca7ebe8cfd0224 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* DirectWrite font engine: don't leak the font table bufferKonstantin Ritt2012-07-031-13/+11
| | | | | | | | | | | Ideally, each TryGetFontTable() call sequence should be followed by the call to ReleaseFontTable() with the context value taken from the first TryGetFontTable() call, otherwise we'll leak the buffer allocated for the font table. Change-Id: I627bf0133b7f61798e82929723ccfb780ce9ee69 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* QNX: Enable threaded OpenGL rendering on QNXSean Harmer2012-07-035-29/+68
| | | | | | | | | | | | | | The only complicated aspect to this was deferring EGLsurface re-creation as a result of window geometry changes (e.g. when we receive an orientation change event). To allow this to be done in a controlled way we defer the surface manipulation until the next call to QQnxGLContext::makeCurrent(). Change-Id: I8062d3e4d19220a822fbc3b8ca563bb1e3be09d0 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Fix MinGW-w64 compilationJonathan Liu2012-07-021-3/+3
| | | | | | Task-number: QTBUG-24699 Change-Id: If6210315926f0266045766bb5d3b00a6d0bdf703 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Add framestrut mouse events.Friedemann Kleint2012-06-295-8/+50
| | | | | | | | | | | | | - Add infrastructure to QWindowSystemInterface. - Add a setter for enabling framestrut events to QPlatformWindow. - Add Windows implementation, pass keyboard modifiers. QDockWidget relies on it for docking. Task-number: QTBUG-26296 Change-Id: I9d84b356e9a5eb341f57b6f51f34b6b494ff7f87 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* QQnxWindow: properly scope a local variableMarc Mutz2012-06-291-4/+1
| | | | | | Change-Id: I71f1052f614f4e926acf2c2b76963770f7b35c96 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNX: Don't detach when iterating over child windowsThomas McGuire2012-06-281-19/+10
| | | | | | Change-Id: I55dcc1d188a2c45a11b0ab6a194625b50906eca9 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Basic tablet support in xcb through XI2Laszlo Agocs2012-06-286-76/+464
| | | | | | | | | | The Maemo-specific function have been renamed a bit to prevent them clashing with the more generic stuff. Task-number: QTBUG-25865 Change-Id: Id55693159e15d5a0c679546eb48308feb48acac9 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* QNX: Make geometry changes sync to fix QWidget::showFullScreen()Thomas McGuire2012-06-281-1/+1
| | | | | | | | | | These can't happen async, as otherwise the geometry of the widget is changed too late, having the effect that QWidget::show_sys() would overwrite the window geometry again. Change-Id: Id60d009867a5b282ac14c112c872af1075660732 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* fix QWidget::showFullScreen on WindowsJoerg Bornemann2012-06-281-0/+1
| | | | | | | | | | When calling SetWindowPos in QWindowsWindow::setWindowState_sys we must inform the QWidget about the new size we have set. Task-number: QTBUG-26226 Change-Id: I42b01125f50a94cdb97026c74f5445f9ff47d8ba Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Further fixes to widget maskingMiikka Heikkinen2012-06-281-0/+7
| | | | | | | | | | | | | If mask was set to a widget before the widget was shown, the mask was not applied. Also, if toplevel widgets were set a mask in Windows, the mask was applied to frame coordinates instead of client coordinates. Ported relevant code from Qt4 to fix these issues. Change-Id: Id6187cf4952b81b5b60c167e2fd284b7dc83ed9c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Move QPlatformInputContextPlugin/Factory to QtGuiWeng Xuetian2012-06-282-2/+2
| | | | | | | | | | | | | PlatformSupport is no longer shared and there should be no plugin factory in it otherwise it will break plugin loading. Since PlatformInputContext is already in QtGui, so move QPlatformInput- ContextPlugin/Factory to resolve the platforminputcontexts plugin loading problem. And remove platformsupport-private dependency from existing inputcontexts plugin. Change-Id: If4cb766470b8f9c8b72157da86cb33b4e1ff09e3 Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com>
* Set window's surface format to support alpha channel.Gatis Paeglis2012-06-281-1/+0
| | | | | | Task-number: QTBUG-26114 Change-Id: I33f191373327832fb9d3054366412ec5be855cff Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* QNX: Add support for window statesThomas McGuire2012-06-272-1/+42
| | | | | | | | | Now QQuickView::showFullscreen() works as expected. QQuickView has no fallback for platforms without window state support, as opposed to QWidget. Change-Id: I9c41fe563ea1f6d117eaebd3ea1db87465142b85 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNX: Flush after changing rotationThomas McGuire2012-06-271-0/+4
| | | | | | | | | This fixes a painting glitch where the window would stay in the old position with the old rotation until it got repainted. Change-Id: Id9de256b525760e8b32e55a87549efeccca151e0 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
* Also use x11FilterEvent for auto repeat key in xcb.Weng Xuetian2012-06-271-8/+24
| | | | | | | | | filterEvent for QPlatformInputContext is already used for auto repeat key, x11FilterEvent also need to be filtered. Task-number: QTBUG-25795 Change-Id: I3db87fdffdb5b01404047e905793ae6e10bb1e90 Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com>
* Add const & to foreach 'iterators'Albert Astals Cid2012-06-273-12/+12
| | | | | | | Change-Id: I8c0600dfd919f45d14a0011f2da9b9fe0b9a0df3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Add QPA prefix and version number to QPA plugin factory interfaces.Friedemann Kleint2012-06-2711-11/+11
| | | | | | | The interfaces may change in Qt minor versions. Change-Id: I43bc6245ddbba8232e00313bdc64e8e60c7eab6f Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Convert QPA menus to use QIcon, and enable icons.James Turner2012-06-272-4/+5
| | | | | | | | | Icon support was disabled in QPA menus, now QIcon is in QtGui, convert the QPA interface, enable setting the icon in QMenu, and make the Cocoa implementation use it. (And fix a ref-counting leak if an icon is actually set) Change-Id: Ica203bf6826b79d8beee58f39febc851b9633a66 Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Add a method for querying window activation status from QPA.Morten Johan Sorvig2012-06-272-0/+10
| | | | | | | | | | Add QPlatformWindow::isActive(), where the platform can do further isActive tests, and Windows implementation for it. Change-Id: I1acfc44d3a4ab36a3aaee52fb7b5f5b40661095e Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Fix compilation for XCB-without-XlibGiuseppe D'Angelo2012-06-261-1/+1
| | | | | | | | | Commit 6481218da13539529b87626a352a17f42c57be61 broke the build by removing the #ifdef XCB_USE_XLIB guards, but forgetting to port Button1 to the XCB equivalent. Change-Id: I9102feceb4deb0135ce0df318e46b35d1134a0b9 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Fix warning when ibus is not available.David Faure2012-06-262-11/+3
| | | | | | | | This is perfectly ok on a linux desktop, so no reason to abort when setting QT_FATAL_WARNINGS. Change-Id: I64ba987679195741631fb204af57ae3d283bb516 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* QPlatformWindow: Add Window masks.Friedemann Kleint2012-06-267-0/+107
| | | | | | | | | Add functionality for window masks to QPlatformWindow, which is required to implement QWidget::setMask() in order to fix the regression in functionality from Qt 4.8. Change-Id: I2c2d5629f0b4c6d90e52595ad70b13559aab1f41 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* [QNX] Enable MT screen event handling on BlackberryRafael Roquetto2012-06-263-6/+29
| | | | | | | | | | | | | | | | Consuming incoming screen events through the BPS event dispatcher on its current incarnation has proven to be very inefficient since it cannot put up with the screen event throughput. This patch enables the screen event thread also for Q_OS_BLACKBERRY platforms, in addition to stock QNX. This behavior can still be configured through the project file, though. Task-number: QTBUG-26177 Change-Id: I98a3b22549c9fbf0c16b5a8c39a55c1eaa6ec1f4 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Use the new plugin systemLars Knoll2012-06-253-6/+3
| | | | | | | | Convert the last remaining three plugins over from the old plugin system. Change-Id: I355e6bb068ec4afb58a2ee9542f86e2913b3851d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make qtbase compile with QT_NO_DRAGANDDROPTasuku Suzuki2012-06-242-4/+5
| | | | | | Change-Id: Ief16e435af6e6d246b84505a1c1208994c7b0b38 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Jeremy Katz <jeremy.katz@nokia.com>
* Guard evdev specifics with QT_NO_EVDEV.Robin Burchell2012-06-241-0/+4
| | | | | | | Android fails the evdev configure test at present. Change-Id: I1cbaf2dab589f647c02c8c5b92f72bd5159ccfa9 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Implement QXcbIntegration::queryKeyboardModifiers()David Faure2012-06-224-3/+19
| | | | | Change-Id: Ifd2255362f5ef005e2a57f4001a72d932497b453 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Add gui-private to generic pluginsGirish Ramakrishnan2012-06-226-5/+7
| | | | | | | QWindowSystemInterface will shortly be marked as QPA API. Change-Id: I0b7cb1a75e3a4f0fc4627329edd3bfd21583a0a6 Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
* eglfs: move m_pos into CursorGirish Ramakrishnan2012-06-222-8/+7
| | | | | Change-Id: I51e92d265e7ea6372ae58b357f75362e2d9a2df9 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Fix key modifiers in mouse wheel events on Windows.Glenn Watson2012-06-222-1/+14
| | | | | | | | | | | | The Windows platform plugin was not checking for the control or shift keyboard modifiers when processing mouse wheel events. Added a function to convert Windows wheel events to Qt::KeyboardModifiers and passed this through the event chain. Task-number: QTBUG-25754 Change-Id: I6551e98b4eaebad5704058bddfb06502ded5155d Reviewed-by: Martin Jones <martin.jones@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Reimplement QXcbWindow::startSystemResize() with xcbUli Schlachter2012-06-222-22/+15
| | | | | | | | | | This function just sends a ClientMessage to the window manager. XCB can do this fine and there is no need to require Xlib for the job. Change-Id: Iad3d78c393c1f439fff987fa19b4d82513810930 Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Improved QCursor::setPos() robustness on xcb.Samuel Rødal2012-06-201-0/+1
| | | | | | | This makes tst_QGraphicsView::hoverLeave() less flaky. Change-Id: Iaa1be6e2d02499679c69b26c07132413040173b6 Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
* Windows: Fix MinGW warnings.Friedemann Kleint2012-06-204-14/+15
| | | | | | | | | | | - Missing initializers for structs - Missing enumeration value - Mixing enumeration/ints in operator ? Change-Id: I149ab01ad2ebd04f89e5c699905d5ba724828e0f Reviewed-by: Mark Brand <mabrand@mabrand.nl> Reviewed-by: Jonathan Liu <net147@gmail.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Disable TranslucentBackground for WinCE to fix Windows QPA plugin build.Janne Anttila2012-06-191-0/+4
| | | | | | | | | | WinCE and WEC7 does not support layered Windows APIs: http://msdn.microsoft.com/en-us/library/hh300132.aspx For now - fallback to default window BitBlt always in WinCE. Change-Id: I6f99d198dec9e90fb4a968882271b466638009d6 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* platform hooks: provide defaults for screen size and depth hooksJohannes Zellner2012-06-191-2/+42
| | | | | | | | Default hooks for querying screen size and color depth based on linux fbdev API. Change-Id: I7fc75c0df5e0f507cf679439416fe68c8f62f91d Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* xcb: ensure the primary screen is added firstGirish Ramakrishnan2012-06-181-3/+9
| | | | | | | | | | | | Currently, Qt windows without an explicit screen parameter always appear on screen 0 despite the DISPLAY being set to :0.1. With this change, the xcb backend adds the primary display at the beginning of the screen list. QGuiApplication::primaryScreen() will then return that display for all windows without an explicit screen. Change-Id: I657c4ed92b9e0f0ed379e91c732dad9d69c4f5e0 Reviewed-by: Donald Carr <donald.carr@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* eglfs: Pass QSurfaceFormat to createNativeWindow() hookJohannes Zellner2012-06-144-5/+8
| | | | | Change-Id: Ib352d8591360a224359ef218b95cd27cdfaf81aa Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* eglfs: Make QEglFSWindow respect the window formatGirish Ramakrishnan2012-06-145-31/+12
| | | | | | | | | | | | | | Prior to this change, eglfs code used to override the window format with it's own format. With this change, eglfs will respect the window format. This is useful when the application requires a surface with alpha (for example, so that the video layer below is visible) QEglFSHooks::surfaceFormatFor() allows the hook author to override the context and window surface format. Change-Id: I97f03a8b0871dfebfca73004fa0188b33d0d0367 Reviewed-by: Johannes Zellner <johannes.zellner@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Use QPointer, not QWeakPointer.Thiago Macieira2012-06-141-1/+1
| | | | | | | | | QWeakPointer tracking of QObjects is deprecated. Change-Id: I1a81a0f9bbe02a6a38a50ab4a50e7c65212fa591 Reviewed-by: Jan Arne Petersen <jpetersen@openismus.com> Reviewed-by: Michael Hasselmann <michaelh@openismus.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Introduce QPA API for size grip handling.Friedemann Kleint2012-06-145-1/+77
| | | | | | | | | | - Introduce API to do size grip handling (mouse press and move). - Move Windows code to Windows plugin. - Move X11 code to XCB plugin and activate it. Change-Id: I2f61d6ddc1fa07447e668554d41ecc820efca23f Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Windows: Fix warnings about being unable to load fonts from font dir.Friedemann Kleint2012-06-142-2/+0
| | | | | | | | | | | | | Do not call QPlatformFontDatabase::populateFontDatabase(), which tries to load qpf2-fonts from the Qt library directory. This directory is not installed on Windows. Note: This affects non-in-source builds only. Task-number: QTBUG-26066 Change-Id: I5782e61965958fc48e0edd7a3d50eef325529708 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Do not add debug/release to QMAKE_CONFIG. Let module system enable themSean Harmer2012-06-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This solved QTBUG-26111 in which qtjsbackend gets built with an incomplete framework on Mac OSX. This was traced back to commit 6a6fd56e662b2c1a581727f7ec44d5bd60913ad4 which moved QMAKE_CONFIG values from .qmake.cache to mkspecs/qmodule.pri. Since qtjsbackend contains config tests it creates its own .qmake.cache which was previously masking this issue. QMAKE_CONFIG incorrectly contained debug for debug_and_release builds even though debug and release are already present in the CONFIG variable in mkspecs/qconfig.pri. The changes to configure prevent CONFIG in qmodule.pri from containing debug and release variables and ensure that QT_CONFIG contains build_all and debug_and_release if appropriate. Configure.app is also adjusted to match this behaviour. The other part of the change is to qt_module_config.prf and qt_plugin.prf. These changes take care of populating CONFIG with the appropriate debug_and_release and build_all variables depending upon what is present in QT_CONFIG. This ensures that the Qt modules and plugins get built with the same configuration as qtbase. The special handling for the qcocoa QPA plugin ensures that it is built in release mode only to preserve the behaviour introduced by commit 5603f94eaa538dbe28fc426065d65a27799adedc. Task-number: QTBUG-26111 Change-Id: I6f65aba50709e1b2431b8b4411ff30a06f7d8aed Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Fix namespace compilation on OSX.Toby Tomkins2012-06-144-4/+17
| | | | | Change-Id: Ib579ae298a5f894b8b02a5d56567870109bd29bd Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* eglfs: mark overriden methods with Q_DECL_OVERRIDEGirish Ramakrishnan2012-06-131-4/+4
| | | | | | | | | The current cursor implementation can be a bit hard to read without hints about which methods are overriden. Change-Id: I3376890a13be46e1ece03d1442dd5a15ccd61382 Reviewed-by: Johannes Zellner <johannes.zellner@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* printersupport: Fix cups.pro qmake warningGirish Ramakrishnan2012-06-131-1/+1
| | | | | | Change-Id: I59c8e3021fbf733af003ebd99be4a63e0a68f155 Reviewed-by: Johannes Zellner <johannes.zellner@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Partial fix for WebKit compilation on WindowsSimon Hausmann2012-06-131-0/+3
| | | | | | | | | | | | | | | | | | | | | | qdatetime.h uses std::min/max and on Windows windows.h (or some subsequent header file) may under certain circumstances define min/max as macros. The easiest way to prevent the windows header files from doing that is to define NOMINMAX in the place right before windows.h is included. The other way is to define min and max to min/max themselves to prevent windows.h from doing its evil thing. If a user of Qt (WebKit in this case) chooses the approach of defining min/max to themselves and then includes qdatetime.h, then a subsequent inclusion of windows.h doesn't work because qdatetime.h undefines min/max. We should not enforce the type of workaround needed, therefore this patch removes the workaround from qdatetime.h and requires user code that happens to include windows header files before qdatetime.h (seldom case) to choose either workaround. Change-Id: I7347eec7369491a065e894cff557004e069453d5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Cocoa: re-enable getUrl: and appleEventQuit: AppleEvent handlersBradley T. Hughes2012-06-124-29/+46
| | | | | | | | | | | | | | | | | | | The getUrl: and appleEventQuit: handlers are only called if we register them with the NSAppleEventManager. The Cocoa documentation says the best place to do this is in the applicationWillFinishLaunching: delegate method, so add this method and move the code from qcocoaeventdispatcher.mm to there. Since QCocoaApplicationDelegate is only used when AA_MacPluginApplication is not set, we do not need to check again in the delegate code. Be sure to remove these event handlers when shutting down the application. For the getUrl: handler, send file open events when receiving this event. This restores Qt 4 behavior. Remove the qDebug() from the appleEventQuit: handler. Change-Id: Ibcbdd541695176e3d236366d4d541e4811882d6c Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>