summaryrefslogtreecommitdiffstats
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* QNX: Fix flushing the backing store to non-owner windowsThomas McGuire2012-07-134-15/+63
| | | | | | | | | | | | Multiple windows can share the same backing store, which we did not take into account. Don't ignore the window parameter in flush() to fix that. Change-Id: I4f98bba34d4da9134163e478cb78cab4ca0358d2 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QNX: Extract and move adjustBufferSize() functionThomas McGuire2012-07-133-5/+9
| | | | | | | | Change-Id: Ia1719314460b9c51d6eba04ab1c43f02be1777b6 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QNX: Apply state from QWindow when creating new QQnxWindowThomas McGuire2012-07-131-2/+5
| | | | | | | | | | | Otherwise things like the window position and the parent/child relation were wrong. Change-Id: Ibe22a54f093f187e510f9c4258db2d80abe54a81 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* meego: normalize signals/slotsMarc Mutz2012-07-131-2/+2
| | | | | | | | | This is the result of running util/normalize --modify from Qt 4.7 with manual review. Change-Id: I9dcff4e0982be616313e9f162203a21b447df64b Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Fix compilation for some glxext.h header versionsGunnar Sletta2012-07-121-0/+13
| | | | | | Change-Id: I62b636d9f884c225e64a653db1a5f5da822d4af2 Reviewed-by: Chris Adams <christopher.adams@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Fix wince buildAndreas Holzammer2012-07-121-0/+2
| | | | | | | | Wince does not have a style so we cannot save it. This was introduced by Change-Id: I6fca399376cd1fa9bffea0a686b56c4d5ec26605 Change-Id: I249aa8e9688e5a862b3787c531c19baea7338d5e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* QNX: Rename copyBack() to blitPreviousToCurrent()Thomas McGuire2012-07-122-6/+8
| | | | | | Change-Id: I12cff8f4533f9a257b85d2a2db6ee3ef4a0c9751 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNX: Factor out blitHelper() functionThomas McGuire2012-07-122-30/+30
| | | | | | Change-Id: If4d671aae557065d502c3c134f50c89c621cb145 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNX: Add comment in post() explaining how buffering worksThomas McGuire2012-07-121-0/+22
| | | | | | Change-Id: Ieb87ea1bd926700277bf90c6a50ae89f1a8da1c2 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* eglfs: add virtual destructor to QEglFsHooksRobin Burchell2012-07-111-0/+1
| | | | | | | | | Fixes: qeglfshooks.h:56: error: 'class QEglFSHooks' has virtual functions and accessible non-virtual destructor Change-Id: I5b8d96e764121c85fcc73d2231427cd123de8cd9 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* linuxfb: Add config.test and configure supportGirish Ramakrishnan2012-07-111-0/+2
| | | | | | | | | The code is exactly the same as what is already done for DirectFB. Change-Id: I3b84e67a3e999f692da4110f3ac9c82d98b0637c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Fix some spelling errorsSergio Ahumada2012-07-114-4/+4
| | | | | | Change-Id: I19d3b2e9a5180b13deb828b55195404ef20be295 Reviewed-by: Daniel Teske <daniel.teske@nokia.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Add stylehint to use querying RTL keyboard support.Friedemann Kleint2012-07-113-0/+9
| | | | | Change-Id: Ic58ed7cb64cc7fe60b4d431e9f29e389c62265fc Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* linuxfb: let the window register itself with the screenGirish Ramakrishnan2012-07-111-3/+1
| | | | | | | | | This moves the addWindow call to the platformsupport code. Change-Id: Icf9175ae86ad880248036362e9c5f40124744272 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com> Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* linuxfb: Add option to not switch to graphics modeGirish Ramakrishnan2012-07-111-2/+5
| | | | | | | | | | | When in graphics mode, printf/qDebug doesn't get printed on the console. So, it's nice to have this option for debugging. Change-Id: Idd552292da2526e07d9c74d2a901e0d675edb2e1 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com> Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* linuxfb: Rework screen codeGirish Ramakrishnan2012-07-115-829/+402
| | | | | | | | | | Move the screen code from integration. The design philosophy is that QFbScreen takes care of generic framebuffer composition. QLinuxFbScreen is just an linux framebuffer adaptation layer. Change-Id: I8456c13826f06621037dd77fe0d0bd8873806c96 Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* linuxfb: don't store window in backingstoreGirish Ramakrishnan2012-07-111-2/+1
| | | | | | | | | | | The backing store already knows about the window. Also, rename surface to backing store in QFbWindow. Change-Id: I3701b3cdbdc228200da9b93b13037655dc436f53 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com> Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* linuxfb: add linuxfb.json and moc main.cppGirish Ramakrishnan2012-07-113-1/+10
| | | | | | | | | This makes the linuxfb plugin load Change-Id: Idbe888b5795f8ac86f1e3cf197e42c99cca04818 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* linuxfb: make linuxfb compileGirish Ramakrishnan2012-07-115-95/+205
| | | | | | | | The plugin now compiles, it is not known to work. Change-Id: I8dd086eb7fc41c6e197debc2601eebba3404187c Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* List required xcb packages for Ubuntu 12.04.Jason McDonald2012-07-111-0/+3
| | | | | Change-Id: Ia934a9da9986f451d90053891c80ec352b939172 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* XCB: Use glXCreateContextAttribsARB if availableSean Harmer2012-07-111-1/+43
| | | | | | | | | | | | | | | If the GLX ARB extension ARB_create_context is available use the function glXCreateContextAttribsARB to create a context for OpenGL 3 or newer that honours the requested profile and version. If a core profile is requested we also ensure that it is forwards compatible. Also ensure that the stored surface format reflects the requested version. Change-Id: Ie4f77be19bfc400440a2f8c9b3d99240eb430925 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Remove clipboard operations from QAccessibleEditableTextInterfaceJan-Arve Saether2012-07-117-67/+150
| | | | | | | | | | | | | | | | | | Also, remove its subclass QAccessibleSimpleEditableTextInterface Instead of having the subclass that implements this conveniently, we move this behaviour over to the bridge. The bridge should check if role() == EditableText is set, and then it should try to support the IAccessibleEditableText interface (i.e. it should accept the calls to replaceText(), deleteText() and insertText()) and change the text with the following operations: 1. Query the text using QAccessibleTextInterface::text() or by using QAccessibleInterface::text(QAccessible::Value) as a fallback 2. Do the requested delete/insert/replace manipulation 3. Update the text with setText(QAccessible::Value, newText); Change-Id: Iee5e41faf14351951e2bfca8c9eac970a113e878 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Use DirectWrite font engine for non-ttf fonts as wellEskil Abrahamsen Blomfeldt2012-07-101-3/+1
| | | | | | | | | | | | DirectWrite supports different font types, not just TTF. In order to enable e.g. CFF support, we simply remove the test for TTF which was initially put in to be on the safe side when handling bitmap fonts. However, using DirectWrite with bitmap fonts also seems to work fine, so there's no reason to have the fallback. Task-number: QTBUG-22654 Change-Id: I8572bc421ab3dd223025ea152ba9b33f7cf33a8a Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Get font's underline position in DirectWrite font engineEskil Abrahamsen Blomfeldt2012-07-102-0/+11
| | | | | | | | | Fetch the correct underline position for the font along with other metrics. Task-number: QTBUG-22656 Change-Id: I35f6ea15ad18088033a5e7b7b83e2430c1b32a8f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Support fallback fonts in DirectWrite font engineEskil Abrahamsen Blomfeldt2012-07-104-88/+162
| | | | | | | | | | | | | When selecting fallback fonts for a DirectWrite font, we would cast the font engine to QWindowsFontEngine and get unpredictable results and crashes. This change factors out getting the LOGFONT data from the QFontDef struct and will use this to create a new DirectWrite engine. Task-number: QTBUG-22658 Change-Id: I743944d9a44d8742b47b1aa3354532493362cc4a Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Fix the UCS-2 surrogates handling in Q*FontEndine*::stringToCmap()Konstantin Ritt2012-07-102-0/+2
| | | | | | | | | by making sure QGlyphLayout's numGlyphs member is properly initialized if the string-to-glyphs lookup was successful (tip: a surrogate pair produces a single glyph index). Change-Id: I01953f3b6281d79e1a214bfab0424e796d94769a Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Move ShaperFlags enum from QTextEngine to QFontEngineKonstantin Ritt2012-07-104-15/+14
| | | | | | | | These flags are specific to font engine(s) and has nothing to do with the text engine or the text layout. Change-Id: I4bb793c3c634b3cf0ae0a8a8c23b946fad5874b6 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Fix glyph positions with DirectWrite font engineEskil Abrahamsen Blomfeldt2012-07-091-1/+1
| | | | | | | | | Make same change as we have done in the other engines (floor instead of round) to be in sync with changes in the paint engines. Task-number: QTBUG-26409 Change-Id: I7a99aa27c93cb695ac91507505ef0b940cd78ebc Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Fix bounding box of DirectWrite font engineEskil Abrahamsen Blomfeldt2012-07-091-4/+9
| | | | | | | | | | Vertical bearings of the font were ignored, giving the wrong height. Also, the left bearing is right bound in DirectWrite, so the sign should be flipped. Task-number: QTBUG-22649 Change-Id: I82934f5b08e68e46d1b2221b35008bf9d75c5748 Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* QWindowsWindow: fix FullScreen state transitionJoerg Bornemann2012-07-091-2/+11
| | | | | | | | | | | | | | When putting the window into FullScreen state, we - must not override the saved style and geometry if it has been saved before. E.g. FullScreen -> Minimized -> FullScreen - have to retrieve the window's normal geometry if the window is currently minimized. E.g. Minimized -> FullScreen Task-number: QTBUG-26420 Change-Id: If4164feee5997682406701f0ea7018d7f6257d35 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* QWindowsWindow: fix state transition FullScreen -> MinimizedJoerg Bornemann2012-07-091-1/+1
| | | | | | | | | When going from FullScreen to Minimized we must not restore the window's saved geometry. Task-number: QTBUG-26420 Change-Id: I75af8bb9aeb38f5bc24bc4e0b725786c8c22fdb3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* QWindowsWindow: fix restoring from minimized to fullscreenJoerg Bornemann2012-07-092-2/+8
| | | | | | | | This fixes the state transition FullScreen -> Minimized -> FullScreen. Task-number: QTBUG-26420 Change-Id: I555c4f332e796b465149e592c2583d615b37c4ec Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* QPlatformScreen::grabWindow() support on MacTasuku Suzuki2012-07-063-1/+64
| | | | | | | | Added QCocoaScreen::grabWindow() and copied Qt 4 implimentation. examples/desktop/screenshot works but WId window is not handled yet. Change-Id: If228bb59d98a5166788ab38293d7e6a6300d1f85 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Fix positioning when embedding native widgets such as QGLWidgetMiikka Heikkinen2012-07-061-0/+1
| | | | | | | | | | | Embedding native widgets creates window before ActiveQt has a chance to set the _q_embedded_native_parent_handle property on the window, so embedded flag doesn't get set during window creation. Update embedded flag also when setting window flags. Task-number: QTBUG-26438 Change-Id: Id29d7123de81d6542dfd6471d6dba3d31bbfe2df Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Implement nativeResourceFunctionForContext for xcbJorgen Lind2012-07-062-2/+12
| | | | | Change-Id: Icf6c39fb456b39fec58ac2f74c569b9d01993589 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* fixed cursor handling on winceBjoern Breitmeyer2012-07-064-1/+68
| | | | | Change-Id: Iea91dde458b0e41a55ba6cb3e157756a1473f653 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* eglfs: Allow setting screen size through environment variables.Robin Burchell2012-07-061-0/+16
| | | | | | | | | | | | This adds: - QT_QPA_EGLFS_WIDTH - QT_QPA_EGLFS_HEIGHT If both are set, fb0 detection is completely bypassed, otherwise, the environment variables act as an override for the fb0 values. Change-Id: Iaf38c8b0d40ce0a921bb6c5dbf31af788802d3fa Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Disable dedicated screen event thread by default.Rafael Roquetto2012-07-051-3/+3
| | | | | | | | Screen events should come through QEventDispatcherBlackberry by default. Change-Id: I64d17b99e9dd8edf23f68e1186e9318849f1a398 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* Sync QWindow properties on NSWindow creation.Morten Johan Sorvig2012-07-051-0/+6
| | | | | | | Synchronize size hints, window title, flags and state. Change-Id: Ibc2358d8d4d0625aaddfbcad159e3682e3e79d3c Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Native drag implementation on MacJames Turner2012-07-044-1/+169
| | | | | | | | | | | | | | | | Create a native implementation of QCocoaDrag, using the 10.6 (and earlier) Cocoa dragging API. This matches the implementation in Qt4 closely for the moment. In the future it may be desirable to create an alternative implementation using the new (non-blocking) drag API introduced in 10.7, but that will require deeper changes to the mime-data handling. This changes makes one more method on QPlatformDrag virtual, since the Cocoa behaviour diverges from the base version: ::defaultAction is customised. Change-Id: I1843293a62b2b4973a07b5e75ea3c312dc064018 Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: Fix size hint and resize increment setting.Morten Johan Sorvig2012-07-041-4/+16
| | | | | | | | Call the corresponding NSWindow size functions. Add special cases where Qt returns null or empty sizes. Change-Id: I880c50c04e92271dc342ad587191c8cb2c006dba Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Make QGenericPlugin and QGenericPluginFactory public APIGirish Ramakrishnan2012-07-046-6/+6
| | | | | | | | | | These classes are not specific to QPA. Discussed in QtCS 2012. Change-Id: I32bc5fad4f0fa5e7095af86d61966fdf4d9e4ad7 Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com> Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Platform-plugin support for QSystemTrayIcon.Christoph Schleifenbaum2012-07-037-0/+643
| | | | | | | | | | | | | | | | | | | | | Implement QPlatformSystemTrayIcon providing QPA-plugin-support for system tray icons. Make QSystemTrayIcon use this as new backend. Ported over qsystemtrayicon_mac.mm to qcocoasystemtrayicon.mm to provide Cocoa support for the new interface. It had to be changed to match the interface, especially for icon and menu handling. This interface is made to not use QStyle or QMenu which are related classes of QSystemTrayIcon. It's therefore not introducing QtWidget dependency into the platform plugin. Task-number: QTBUG-20978 Change-Id: I0d0a73835698b3b4f97219d4f5bbcfa2af57dbe2 Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Fix focus handling when the application has QAxWidgets.Miikka Heikkinen2012-07-032-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | Removed old defunct platform specific code from QWidget::isActiveWindow() and added call to QPlatformWindow::isActive() instead. This is done because the embedded native windows inside QAxWidgets can have focus but are not part of the parent application's Qt window hierarchy, so native methods are required to determine if they are part of the active window or not. QWidgetPrivate::setFocus_sys() was implemented to activate the window of the focused widget if the focus was elsewhere. This is required because embedded native windows can steal the focus from the main application window. Focus event handling in Windows platform adaptation plugin was fixed to correctly identify the active window in cases where the are embedded native widgets that can have focus. Also fixed three test cases that were affected by these changes. Task-number: QTBUG-25852 Task-number: QTBUG-23699 Change-Id: I817e0ce4317e88955bb49b034eacd630a876ccf0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Compile when -directwrite is passed to configureEskil Abrahamsen Blomfeldt2012-07-032-8/+7
| | | | | | | | | | | The signature for alphaRGBMapForGlyph() was updated in the header but not the implementation. The include with QT_BUILD_GUI_LIB defined would re-export several symbols in QtGui from the plugin which would make the link against QtGui fail. Change-Id: I23c67f97ca68f984b7a1603059c6f177fef60cca Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* 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>