summaryrefslogtreecommitdiffstats
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* Remove the QFactoryInterface dependency from accessible pluginsLars Knoll2012-06-081-83/+0
| | | | | | | QFactoryInterface is not needed anymore and will get removed soon. Change-Id: Ib2806200b1a7f4a45d62e2b556380946ef68f585 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Don't inherit from QFactoryInterface for image pluginsLars Knoll2012-06-086-18/+0
| | | | | | | | | | QFactoryInterface is obsolete now that we have the new plugins loading mechanism, where we can get the keys out of the plugin without having to load it. Remove it from QImageIOHandlerFactoryInterface as a first step of getting completely rid of it. Change-Id: I856b149dd20131e1cdcdcb271c1a355c9e0da6ab Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove QFactoryInterface from sql driversLars Knoll2012-06-079-69/+0
| | | | | | | Change-Id: Ib31e6c4ce5264fc1e4281c8846df5630a6479a7c Reviewed-by: Mark Brand <mabrand@mabrand.nl> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Windows: Store only full-size DC's obtained by BeginPaint.Friedemann Kleint2012-06-072-8/+13
| | | | | | | | | | | Avoid painting bugs in case the DC covers only a part of the window and QBackingStore does a full flush. Task-number: QTBUG-26039 Change-Id: Ic918d9898ac824690273ac59bcb1e7e546cc698a Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* QNX: Take nativeOrientation into account for QNX device orientationsSean Harmer2012-06-061-10/+25
| | | | | | | Change-Id: Idfe4a5bd9c9638a1f9ae52a7b1def3f869286587 Reviewed-by: Kevin Ottens <kevin.ottens.qnx@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Fixed compile error in eglfs plugin due to narrowing conversion.Samuel Rødal2012-06-061-4/+8
| | | | | | | | | qeglfscursor.cpp:300: error: narrowing conversion of ‘((const QRectF*)r)->QRectF::left()’ from ‘qreal’ to ‘const GLfloat’ inside { } Change-Id: Ic4273828ad361ffac5a68068372bf400d468fb38 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Cocoa: do not send multiple window activation eventsBradley T. Hughes2012-06-061-2/+9
| | | | | | | | | | | | | | When switching the active window within the same application, Cocoa sends us an NSWindowDidResignKeyNotification for the old activated window, then an NSWindowDidBecomeKeyNotificationfor the newly activated window. Our handling of this would first set Qt's active window to zero, then immediately reset it afterwards. Avoid this by checking the key window when handling the deactivation event, and don't set the active window to zero if a new window has become active. Task-number: QTBUG-24322 Change-Id: I8719fc501049eeaaebb75e9ea03261b2209458b6 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: Fix QCocoaBackingStore::flush on 10.8Morten Sorvig2012-06-061-1/+11
| | | | | | | | | | | | | | | | The call to displayRect works on 10.7 but does not update the pixels on screen on 10.8. Many Qt windows do not update properly. This is a workaround found by trail and error without fully understanding the underlying issue. I would like to have this in place until we can determine the cause of the bug. Change-Id: I1ecee745f42a93ded4f651cc8ad51963f250e78d Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Fix compilation when configured with -no-widgetsKent Hansen2012-06-061-1/+1
| | | | | | | printsupport plugins need QtPrintSupport (which needs QtWidgets). Change-Id: I8cc9cc15abd19c95b8d4bac26dfd17d027bbfa96 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Do not set an action on native submenu items on MacPasi Matilainen2012-06-061-1/+2
| | | | | | | | | | | | | On Mac, clicking on a submenu entry triggers QMenu::triggered(QAction*) signal, which is unexpected, and also closes the submenu, which does not match platform behavior. This happens because native submenu items have an action set, so fix it by not setting the action. Task-number: QTBUG-16738 Task-number: QTBUG-10706 Change-Id: I6819999e5af35e6acab1aec035d5d85445189f11 Reviewed-by: James Turner <james.turner@kdab.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* eglfs refactor: Query screen and format info from hooksGirish Ramakrishnan2012-06-054-42/+42
| | | | | | | | This allows boards to customize what they really work best for without having to set environment variables. Change-Id: Ib40c3a870ade568f66e37e621a8abc6b17e39411 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* eglfs refactor: Move egl initialization to the integrationGirish Ramakrishnan2012-06-054-42/+44
| | | | | Change-Id: If2c870538c742fd034fb9e5c115e4ac0bd8e2e03 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Verify the surfaceType before activating the GL contextHolger Hans Peter Freyther2012-06-056-1/+12
| | | | | | | | | | | | Verify that the surfaceType() of the QPlatformContext is of type OpenGLSurface before making the context active. Make it possible to get the QSurface from a QPlatformSurface, make QPlatformWindow use that to access the QWindow. Remove the setSurfaceType call from the eglfs plugin as this hiding a problem. Change-Id: I08906da052e066bb1f1f042030643c6389ab17d7 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Use QPointer instead of QWeakPointer.Stephen Kelly2012-06-051-1/+2
| | | | | | | | The use of QWeakPointer for tracking QObject pointers is to be deprecated. Change-Id: If460ca7f515db77af24030152f4bd56e1a5fae7c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QNX: Implement QQnxScreen::nativeOrientation()Kevin Ottens2012-06-052-0/+11
| | | | | | | | | | Provide a proper version of nativeOrientation(). We use the screen physical size as reported by the device to determine its native orientation. Change-Id: I45b593b0d62436529f89050e98e10b8c9463b6b9 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* directfb: Compile with C++11 support enabledBradley T. Hughes2012-06-051-2/+2
| | | | | | | | | | | | | qdirectfbblitter.cpp:146: error: narrowing conversion of 'srcRect.x()' from 'qreal' to 'int' inside { } qdirectfbblitter.cpp:152: error: narrowing conversion of 'rect.x()' from 'qreal' to 'int' inside { } The same error exists for calls to y(), width(), and height() at both locations. Change-Id: I14f165a6a1cab9502e157e798157b835faf2300f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* The QFontEngineFT files are not built into QtGui anymore.Thiago Macieira2012-06-051-3/+1
| | | | | | | | | | | | | These files are only built into QtPlatformSupport, so the Q_GUI_EXPORT macro is now wrong. Remove it. Additionally, since these files are built into QtPlatformSupport, the windows platform plugin does not need to build them again. To-Do: move the files to src/platformsupport/fontdatabases Change-Id: I9d69b97ca25ee52ab627cfa633f43b277acc5e05 Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* evdevtablet pluginLaszlo Agocs2012-06-045-1/+140
| | | | | | Change-Id: Ie8fbaac929180e6d4c626253c4c20d1b3a9083f5 Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Fix touchpads with evdevmouseLaszlo Agocs2012-06-041-1/+4
| | | | | | | | | | evdevmouse only worked properly with real mice, the ABS event handling was somewhat broken, it wasn't possible to properly move a mouse cursor with a touchpad due to unwanted jumps. The button handling is also corrected. Change-Id: Id04ef65d867a75bcfc54240d192a78224a4481d6 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* eglfs: Create mouse, keyboard and touch handlers by defaultGirish Ramakrishnan2012-06-022-2/+15
| | | | | | | | | | | | | | | | | Prior to this change, input support for eglfs was loaded as plugins. With this change, eglfs supports evdev based keyboard, mouse and touch input out of the box. The event dispatcher is created in the constructor because the evdev code creates QSocketNotifiers in the constructor which requires an event loop. Change-Id: I4e08f4121b9381ee5b414d0886eae2b8a2925800 Reviewed-by: Johannes Zellner <johannes.zellner@nokia.com> Reviewed-by: Romain Pokrzywka <romain.pokrzywka@kdab.com> Reviewed-by: Donald Carr <donald.carr@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com> Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
* Implement QXcbWindow::setWindowIconCorentin Jabot2012-06-024-0/+49
| | | | | | | Change-Id: I1908cbef0c20d3725423b559f234bd6d3ddd4167 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com> Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Add QEvdev prefix in evdevtouch and update readmeLaszlo Agocs2012-06-012-14/+19
| | | | | | | | Now that the code is in platformsupport we need to avoid too generic names so rename the classes a bit. Change-Id: I7241aa1a3449be772de369ebd08df01e886dbfa3 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* eglfs: implement hardware cursor for the raspberry-piGirish Ramakrishnan2012-06-017-41/+80
| | | | | | | | | | | | | | | | The cursor is rendered on a dispmanx layer and moved around. This approach saves us from having to update the underlying window each time the cursor moves. Dispmanx layers cannot be moved to negative coords. As a result, currently it is not possible to move to a location less than the hostpot. A future commit will fix this problem. Change-Id: Ida5ee961d03a6929860c515e503482756a4913ed Reviewed-by: Johannes Zellner <johannes.zellner@nokia.com> Reviewed-by: Andy Nichols <andy.nichols@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Migrate tslib to new plugin formatLaszlo Agocs2012-06-014-6/+17
| | | | | | | | Also rename the binary and avoid crashes when tslib initialization fails. Change-Id: Ia7ccf7c997e1b1484bd475626ca16c9a9642466e Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Move evdev to platformsupportGirish Ramakrishnan2012-06-0117-2902/+6
| | | | | | | | Also wraps various string literals with QLatin1String. Change-Id: Ia0681bfae00006d9e9ad51f05d0e0d0f45cf2cec Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com> Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Prevent evdevkeyboard file opening from failingLaszlo Agocs2012-05-311-1/+1
| | | | | | | | | On many systems the device nodes will not be writable normally. There is no reason to open for writing in any case. Also switched back to non-blocking I/O. Change-Id: I9290e6b1ce7e3bc6cb0e75069b3968f647ffbeee Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Add QObject parent parameter to constructorsGirish Ramakrishnan2012-05-316-8/+9
| | | | | | | | Also drop the explicit keyword in constructors with multiple args since it has no effect on multi-arg constructors. Change-Id: I48af6ede6cc968c52720c6107cadf3aa4dbfc7f7 Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
* QtPrintSupport: Add CUPS printsupport pluginJohn Layt2012-05-318-0/+649
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move CUPS code around to create a new CUPS printsupport plugin, this fixes QPrinterInfo for CUPS which depends on the plugin to work. It QT_NO_CUPS is defined then the plugin is not built and only Print to PDF is supported under Linux. * Move unused genericiunixprintersupport plugin to start new CUPS printsupport plugin * Split QPdfPrintEngine to create QCupsPrintEngine * Remove LPR related code from QPdfPrintEngine * Move CUPS specific code from plugin base class to derived CUPS class * Remove forcing CUPS print engine to use PDF mode as PDF is now Native * Move qt_getCupsPrinterPaperSizes from qprinterinfo_unix to QCUPSSupport * Remove qprinterinfo_unix as no longer used * Remove all QT_NO_LPR uses There is now no CUPS specific code left in printsupport/kernel except QCUPSSupport which is needed for the dialogs. Task-number: QTBUG-23060 Change-Id: Ie8fa4512a2424edc8943068e0fa9fb714cc42db9 Reviewed-by: Teemu Katajisto <teemu.katajisto@digia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: John Layt <jlayt@kde.org>
* eglfs: allow cursor to be created without a contextGirish Ramakrishnan2012-05-313-22/+39
| | | | | | | | Textures are now created and uploaded on demand on first render() call where we are guaranteed to have a current GL context. Change-Id: I352c876dd1d8b7ed73536de21fa2880cdc6bdb60 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Remove QCursor::handleGirish Ramakrishnan2012-05-311-1/+1
| | | | | | | This used to be the Qt/Embedded's QCursor handle implementation. Change-Id: I31b8ed44ac9325defcb13d887949d9536a262be8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Windows: Add ANGLE support.Friedemann Kleint2012-05-317-9/+360
| | | | | | | | | | | | | | | | | | - Add QWindowsEGLContext usable for ANGLE and Windows CE. - Add QWindowsEGLStaticContext containing the display for resource cleanup. - Add EGLSurface to QWindowsWindow. - Add a -angle option specifying the path to the external ANGLE installation to configure, add libraries to the mkspecs. Initial-patch-by: Jabot Corentin <corentinjabot@gmail.com> Task-number: QTBUG-24207 Change-Id: I5f80b1efb6996da7c5d70aa3720f7801c9e4c6af Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* directfb: Allocate a special surface for OpenGLHolger Hans Peter Freyther2012-05-302-1/+34
| | | | | | | | | | Allocate an RGB16 surface when we need to use OpenGL, set the custom DSCAPS_GL for this EGL mode. The broadcom hardware would allow us to use ABGR but we have some issues with the QSurfaceFormat to select the right kind of surface. Change-Id: I0fff7906154f3d7afb35b2b5d2bb91510cf3aa4d Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* KMS platform plugin: Introduce default cursor for better usability.Samuel Rødal2012-05-301-0/+8
| | | | | | | | Similar to the default cursor in eglfs, not having it makes it hard to interact with Qt applications using the evdevmouse plugin. Change-Id: I9638267c7d790d91b66620e4a82d86f299061922 Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
* eglfs: keep context active only during flushGirish Ramakrishnan2012-05-301-2/+4
| | | | | | | | The OpenGL context needs to be current only while flushing the backing store. Change-Id: I4d6a10f22bcfe04f35a14a690180237f6c691829 Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
* Add minimalegl QPA platform pluginGirish Ramakrishnan2012-05-3012-0/+929
| | | | | | | | | | | | | | | The EGLFS platform plugin was originally meant to be an example and thus to be kept simple. However, EGLFS is becoming more and more complex with the addition of hooks for board support, cursor integration, built-in evdev support etc. minimalegl is a new platform plugin that intends to follow the original intentions of EGLFS. The code is an adaptation of EGLFS as of f913859f8 Change-Id: I3d4cf84cde380cdcc7e0e8bfefff4df6be731b8d Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* directfb: Allow a window subclass to allocate a different kind of surfaceHolger Hans Peter Freyther2012-05-304-16/+21
| | | | | | | | | | | | A subclass of QDirectFbWindow might need to allocate a window with different surface flags. This is the case for the DirectFB EGL plugin and QSurface::OpenGLSurface type of surfaces. Add createDirectFBWindow, make it virtual and call it from the platform integration classes. Add an assert to verify that this method is only called once. Remove the pre DirectFb 1.1 code as it was never really tested. Change-Id: Icf3d262f40bca70e376043935eeb292958f6df5d Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Fix compile error in eglconvenienceGirish Ramakrishnan2012-05-301-2/+1
| | | | | | Change-Id: Ic20d890a9c59e21a5f0c81f961074ab02083a266 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
* directfb: description.surface_caps was already assigned conditionallyHolger Hans Peter Freyther2012-05-301-1/+0
| | | | | | | | We have already assigned this flag in case the IDirectFBSurfaceLayer has the capability of premultiplied alpha. Do not set it unconditionally. Change-Id: Id5f9bd6bdfa29dc9cd35d913b61fb55c09f54864 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* evdev: Cleanup mouse and keyboard pluginsJohannes Zellner2012-05-306-47/+20
| | | | | | | | | | Remove fallback event0 device usage. All available devices should be detected automatically from DeviceDiscovery either through udev or the static fallback discovery method. This also removes the never used 'key' argument, which was pulled over from Qt4. Change-Id: Iffe8bd80f0770664024019a220cbbc6f98843340 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Make popup windows show on the correct desktop.Morten Johan Sorvig2012-05-301-0/+7
| | | | | | | | | | | Set NSWindowCollectionBehaviorFullScreenAuxiliary for Qt::Popup windows. This will make them show on the same desktop as their parent full-screen window. Change-Id: Ice1bd50976ef0cd66b01a683a43e08e782573153 Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Fixed KMS y-invertedness.Samuel Rødal2012-05-2912-447/+177
| | | | | | | Upgrade to new gbm_surface API which lets us use eglCreateWindowSurface. Change-Id: I4af86d442375017ae3b4744e7b3bdebf3b496b6e Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
* QtPrintSupport - Add QPrinterInfo api for more printer detailsJohn Layt2012-05-291-0/+6
| | | | | | | | | | | | | | | A previous commit changed the Mac behaviour for printerName() from returning the CUPS Description to returning the CUPS Name. In case anyone was relying on this for a human-readable name add new api to return the CUPS Description. Also add the Location and Make and Model which will be used in the Unix print dialog instead of directly calling CUPS. Change-Id: I9901bf8d6368466adf111580f5db5a3f01ca9170 Reviewed-by: Teemu Katajisto <teemu.katajisto@digia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: John Layt <jlayt@kde.org>
* eglfs: Don't update screen for non mouse-move eventsGirish Ramakrishnan2012-05-291-0/+2
| | | | | | | Change-Id: I7df089a9dc87396e19c08cef3d76c7c7f95a8fbf Reviewed-by: Donald Carr <donald.carr@nokia.com> Reviewed-by: Andy Nichols <andy.nichols@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Add q_printEglConfig to qeglconvenienceGirish Ramakrishnan2012-05-291-43/+1
| | | | | | | The code was initially part of eglfs. Change-Id: I8aa6e77edec85ab2b23765ca04e4416757f3bed6 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* eglfs: remove support for widget rendering using opengl paint engineGirish Ramakrishnan2012-05-292-26/+0
| | | | | | | | | | The eglfs backing store code can render either using the raster paint engine (through QImage) or using the opengl paint engine. Rendering quality using the opengl paint engine is pretty poor so remove it. Change-Id: I64061ceb3a480049cfebe61aaf172ad1f1da7042 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* eglfs: release shader program after useGirish Ramakrishnan2012-05-291-1/+1
| | | | | Change-Id: Ibe89de88c6c01d182a240def92eb78c0cc896463 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* eglfs: rename QEglIntegration to QEglFSIntegrationGirish Ramakrishnan2012-05-292-6/+6
| | | | | | Change-Id: Ifa096537d417571ed660a63a501fed188186f400 Reviewed-by: Donald Carr <donald.carr@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* QApplication::activeWindow is replaced by QApplication::focusWindowThiago Macieira2012-05-291-1/+1
| | | | | Change-Id: I28ec9b59171fbacbe5c7c0dd1cc998d75538545f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Windows QPA plugin: Add \internal to class documentation.Friedemann Kleint2012-05-2922-7/+56
| | | | | | | | Prevent the classes from appearing in the Qt documentation. Change-Id: I62abff0c57effdf16629f9d5a0dc384ea2c43d5a Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Qt 5 to-do in QXcbKeyboardGatis Paeglis2012-05-261-2/+2
| | | | | | | | Rescheduling to Qt 6 since Qt 5.0 was decided to have as little source incompatible changes as possible. Change-Id: I47cd3e236dd90717efb287aef8fbbedacea1bc0f Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>