summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove virtual child integers.Frederik Gladhorn2011-11-231-28/+83
| | | | | | | | | | | | | | This makes the accessibility apis much simpler and less error prone. Disable the itemviews implementation that is in complex widgets. The itemviews will use the new code from itemviews.h/cpp everywhere now. QToolBox was broken before, now at least it simply exposes all its children. The children are the buttons (tabs of the toolbox) and their contents. Change-Id: I45e218f49f02aebbd678ddfe29f94c2a112a2125 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Accessibility: Clean up usage of navigate.Frederik Gladhorn2011-11-211-4/+2
| | | | | | | Prefer to use parent/child functions instead. Change-Id: Ic92165b9439eb750c9d762ddf5dcd2a5ccf0277d Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Fix a memory leak in QXcbConnection.Jędrzej Nowacki2011-11-182-3/+3
| | | | | Change-Id: I2307bf434c53d9321c71609eeacc1f3883bbbb13 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* qtbase: Warnings fixes.Friedemann Kleint2011-11-181-2/+1
| | | | | Change-Id: Ie97e36bc168b3de3cae2d0eb615e777884529a06 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Fixed crashes from tests using xcb plugin with -qtnamespace.Rohan McGovern2011-11-1812-2/+49
| | | | | | | | Use QT_BEGIN_NAMESPACE/QT_END_NAMESPACE consistently in xcb plugin. Some, but not all, of the sources were already using QT_BEGIN_NAMESPACE. Change-Id: I23b83cc88870fd4039437b733084ab86dd807356 Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
* Add correct event mask for Qt::WindowTransparentForInput in xcb pluginJørgen Lind2011-11-151-1/+5
| | | | | Change-Id: I4c683c08876cc6fa934971399af7e48b160168fc Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Properly handle position in non-synthetic ConfigureNotify with xcbLaszlo Agocs2011-11-151-1/+18
| | | | | | | | | | | | | | | The received window position cannot be trusted blindly, e.g. in case of resizing a window via the mouse or calling showMaximized() the position is bogus (for our purposes). Instead, it needs to be queried. Before 37f338e5edc6d7b70b5a4eaf63326f2a22d7bfbd an incomplete workaround was in place however it got removed in that commit, resulting in weird off-by-a-certain-amount mouse position issues in certain use cases. This patch aims to fix the issue similarly to how it was done in Qt4. Change-Id: I2d2a69b81a2782117b700fe366fae4c102aca1f4 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Support 31 mouse buttons (with platform plugins xcb and xlib).Rick Stockton2011-11-142-9/+54
| | | | | | | | | | | | | This commit includes changes for mouse button support within the XCB and XLIB platform plugins. Support in other platform plugins will be added in the future. The namespace update is prerequisite to compile the the Plugins, and the update in qguiapplication.cpp is required for the enhancements to actually work. Task-number: QTBUG-22642 Change-Id: Ie18fca3b9c86d0b6abbf2103a4f8582e6ce83e7d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Windows platform plugin: Fix compilation with MinGW.Friedemann Kleint2011-11-141-2/+2
| | | | | Change-Id: Ibecfc7c5314d0dea7d796cbc586e5db05e2a80ee Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Factor out QPlatformTheme from QPlatformPlugin.Friedemann Kleint2011-11-1113-69/+321
| | | | | | | | | | | | | | | | | | Implement QCocoaPlatformTheme. The menus and dialog API is moved from the platform to the theme plugin. (Both APIs contain references to QtWidget classes, which we are working towards removing.) The theme plugin is created after the platform plugin, first by asking the platform plugin, then by looking for a separate plugin if the platform does not specify a theme. Initial-patch-by: Morten Sorvig <msorvig@trolltech.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Change-Id: I2778cdd3a205c4ce35ead93e39fe6b4cd58a39f9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* QPlatformDialogHelper: Split class hierarchy, decouple from DialogFriedemann Kleint2011-11-115-147/+163
| | | | | | | | | | | | | | | | | | | | | - Introduce hierarchy of QPlatformDialogHelper-derived classes for font, color and file dialogs. - Start reducing dependencies on QDialog: * Remove QDialog-specifics from interface, introduce enumeration for DialogCode * Make the helpers Q_OBJECTS to be able to add the signals passed on to the QDialogs * Remove QDialogPrivate pointer - Split setVisible_sys() in show_sys() (factory method for native dialogs) and hide_sys(). Pass parent window to show_sys(), removing the necessity to query the QDialog for it - Introduce a styleHint() similar to QGuiApplication's for platform-specific - Fix compile in cocoa/windows, reduce depency on QDialog (-private) classes. Change-Id: Ic1cb715e1edf767f2cb18b9780341d189339ef1d Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Compile.Morten Sorvig2011-11-102-2/+7
| | | | | | | | QNSPanel must be a NSPanel and not a QNSWindow subclass. Change-Id: I1de31e147757824610f4aabc0ef66ae3906dc0f6 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Fix build when QEGL_EXTRA_DEBUG is defined for debug outputJohannes Zellner2011-11-091-11/+11
| | | | | | | Also shift EGL configuration plot above window surface creation Change-Id: I2de860e087cb2648b6e8e9b75365fbe78fe7687a Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Adopt eglfs platform plugin to changed QEGLPlatformContext APIJohannes Zellner2011-11-091-2/+2
| | | | | | | eglClientVersion is not used anymore Change-Id: I8595a17386c1466d7766522adbdbd7cd5002ecf8 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Cocoa: Implement mouse and keyboard grab.Morten Sorvig2011-11-092-3/+53
| | | | | Change-Id: Id53ff19d43213d79aaf8f1a6617a06ef9d0cfb4b Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
* Cocoa cursor support: Add QCocoaCursor.Morten Sorvig2011-11-085-1/+375
| | | | | | | Port the Qt 4 mac implementation. Change-Id: I3bc6fd0b5a0398dcf43a5aaa3b498bb74b42c105 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Windows: Add dialog helpers for native dialogs.Friedemann Kleint2011-11-049-0/+1506
| | | | | | | | Implement QPlatformDialogHelper for file dialogs based on IFileDialog. Add prototypical implementation of color dialogs. Change-Id: If3c7470be6c0b8fbf8cfea1b6638bda43afafea7 Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
* Fixed returned geometry of toplevel child widgetsOliver Wolff2011-11-031-11/+9
| | | | | | | | | | | If a widget has got a parent widget but also is a toplevel widget it should not return its geometry relative to its parent. In addition to that, child widgets which are not toplevel should not change their left and top values according to their parent but also keep their width and height intact. Change-Id: I5e641abf5ddc0b8d056ba023f8de52af1d2ccc9f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Windows platform plugin: Fix compiler warnings.Friedemann Kleint2011-11-022-3/+2
| | | | | Change-Id: Id7111ca74455b93aabb803babff51c4393508dbc Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
* Silence warning from clang: semicolon before method body is ignoredBradley T. Hughes2011-11-021-5/+5
| | | | | | | | | | qnsview.mm:171:45: warning: semicolon before method body is ignored [-Wsemicolon-before-method-body] - (void)handleMouseEvent:(NSEvent *)theEvent; ^ Change-Id: I0b2fdd9c28586ce03f14f784d35e88dbbb5bd8f4 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Replace implicit QAtomic* casts with explicit load()/store()Bradley T. Hughes2011-10-271-2/+3
| | | | | Change-Id: Ia7ef1a8e01001f203e409c710c977d6f4686342e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Windows: More fine-grained paint event handling.Friedemann Kleint2011-10-273-5/+15
| | | | | | | | Pass expose events to GL widgets, handle invalid update rectangles, ignore WM_ERASEBKND (using code from 4.8). Change-Id: Ide062efb392292fff556d37b0ef0e880676748a2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Native file dialog support for MacMorten Sorvig2011-10-275-0/+878
| | | | | | | | | | * New API: QPlatformDialogHelper to support native dialog on QPA. (Currently, It supports only file dialog.) * Modify QDialog* and QFileDialog* to support native dialog. * Add native file dialog support to cocoa platform plugin. Change-Id: I957f046748a27a33fd9f8af3c525feabd1b0f582 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: Set correct child window geometry.Morten Sorvig2011-10-274-31/+14
| | | | | | | | | Remote globalGeometry which was completely wrong, replace with flipRect which converts from Qt screen coordinates to OS X screen coordinates. Change-Id: Ie560cb7c2266fe779da8a44a35596d2d12af77f5 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: Implement propagateSizeHints.Morten Sorvig2011-10-274-0/+28
| | | | | Change-Id: Idc1244ffbf975972f01d9ee48092500a72739d37 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Windows: Fix Open GL formats.Friedemann Kleint2011-10-264-91/+156
| | | | | | | | | | - Add swapInterval as additional format - Query context format correctly and store in separate struct (default vs requested/obtained) - Cosmetics, rename enumerations, structs. Change-Id: I381cf8e1bde33e6624feb549437c7b95dd85e93c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Update readme about xcb plugin dependenciesLaszlo Agocs2011-10-251-0/+3
| | | | | Change-Id: Ia317ce96db3400f43cf800619fddcf76b5ab450a Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Remove "duplicate objective-c class" warning.Morten Sorvig2011-10-231-0/+5
| | | | | | | | | | | Qt would dlopen both libqcocoa.dylib and libqcocoa_debug.dylib, causing duplicate implementations if the classes in the cocoa plugin (QNSView etc) Fix this by building the release version only. Change-Id: I1244a83c49999ce28edd97400e792fa2a0665fec Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: clean up compiler warnings.Morten Sorvig2011-10-237-35/+19
| | | | | Change-Id: I2cb65bb455b79b218a317b21e5a3b0d9792e0e22 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* [directfb] Implement grab/ungrab of keyboard/pointerHolger Hans Peter Freyther2011-10-212-0/+26
| | | | | Change-Id: Ie2b99bb659e324c63bfd23e96d6c89c13a8df3b4 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* [directfb] Remove grabbing of the pointer on inputHolger Hans Peter Freyther2011-10-211-5/+0
| | | | | | | | This should not be done on the input level but we should handle the requests on the QWindow to grab/ungrab the pointer Change-Id: Ibc61b300bf8de20f576fb8972fadf18de4a142c1 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* [directfb] Implement QPixmap::fromFile using DirectFB routinesHolger Hans Peter Freyther2011-10-212-0/+114
| | | | | | | | | | The code is based on Qt 4.8 DirectFB support, it was reduced in size (cosmetic changes, by using the outPtr()) and it has a bugfix to pass loadAsBitmapOrPixmap that assumes the loadFromFile routine will add '.png' and other extensions to the file. Change-Id: I25b11206053c02be5c04730fba5bb42bd07426d1 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* [directfb] Prepare to select the alpha/opaque pixel formatsHolger Hans Peter Freyther2011-10-212-2/+21
| | | | | | | | | Right now we assume to use 32bpp but depending on the hardware this might not be optimal at all. Begin to prepare the code for not having a 32bpp surfaces. Change-Id: Iedfa49c568559e074dfaeae2a216c9eb93721d2c Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* [directfb] Manage the font database with a QScopedPointerHolger Hans Peter Freyther2011-10-212-2/+2
| | | | | | | Attempt to fix a memory leak on exit by deleting the font database. Change-Id: I07b0865c97bb8ef26950bf231b5239ca01e95c56 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* [directfb] Remove some duplication in the QDirectFbBlitter c'tor.Holger Hans Peter Freyther2011-10-211-8/+11
| | | | | | | | Introduce dfb_blitter_capabilities that returns the QBlittable::Capabilities of the DirectFB blitter. Change-Id: Ifb803ff4f07376d5333ad2d05ff72d9a63d17fff Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* directfb: Initialize m_dfb after DirectFBInit has been calledHolger Hans Peter Freyther2011-10-211-2/+4
| | | | | | | | | | The QDirectFBIntegration is responsibe for deleting the DirectFB instance but it can only initialize the DirectFB instance after the DirectFBInit has been called. Change the order. This issue got introduced by myself in 3faa89f4. Change-Id: Ia67d439152d895e2e0a47f35eed57348c629f79f Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* [directfb] Introduce the QDirectFBPointer from QWS/gfxdriversHolger Hans Peter Freyther2011-10-2114-93/+126
| | | | | | | | | | Introduce QDirectFBPointer and use it throughout the code to fix various resource leaks in the DirectFB backend. Fix the surface ownership of the IDirectFBSurface in the Blittable/BackingStore code. Change-Id: I0d4572eaab80b3558e644f26d76222461bf37bbb Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* [directfb] Make QDirectFBInput a QThread to allow proper exitsHolger Hans Peter Freyther2011-10-213-29/+18
| | | | | | | | | | | | | | | | Without this patch the application will get stuck waiting for the IDFBEventBuffer to report an event. We will use the IDFBEventBuffer::WakeUp function to interrupt the waiting but this produces the below error on exit: QEventLoop: Cannot be used without QApplication QThread: Destroyed while thread is still running This is solved by making the QDirectFBInput a QThread, reimplement the run() method to handle the events. It should work as this is only posting events to the QApplication event loop. Change-Id: I24adf2b080f96c72ede6a5499f484ac33fdd44fc Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* [directfb] Use QScopedPointer to manage heap allocated objectsHolger Hans Peter Freyther2011-10-217-33/+16
| | | | | | | | | | | Use QScopedPointer to avoid trying to manually delete objects. For some of the cases the leak would only be viewable when things are getting shut down. Leave in some more warnings for cleaning it up, e.g. the m_eventBuffer of the Input is leaked and the input task will only stop after another key event. Change-Id: Ic54568343605b4ab7094a7dece40e22250184a37 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* [directfb] Fix memory leak when passing arguments to directFBHolger Hans Peter Freyther2011-10-211-0/+3
| | | | | | | We need to delete the array but also the elements inside it. Change-Id: Ib61beeca569802638b9ff3b94ede79c0beebb399 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* [directfb] Do not call a pure virtual functionHolger Hans Peter Freyther2011-10-211-2/+0
| | | | | | | | | In 688d9f6ec0a0da5539a3d11fa1dc6e1ae0558cda the base class was changed from QWindowSurface to QPlatformBackingStore but QPlatformBackingStore::resize is pure virtual now. Change-Id: Ib36f177d80e9458e7e8e34f587e4554c0462e35c Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* [directfb] Rename class from WindowSurface to BackingStoreHolger Hans Peter Freyther2011-10-215-17/+17
| | | | | | | | Catch up with the naming by renaming the file from windowsurface to backingstore, update the class names and include files. Change-Id: I1b16826b60c19490946a77f61518e18f8099adce Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* [blitter] Work on tst_QPixmap::clear()Holger Hans Peter Freyther2011-10-212-13/+30
| | | | | | | | | | | | | | | | | | | By default QPixmap may not hasAlphaChannel(), only if setMask() or fill() with a transparent color is called a QPixmap will hasAlphaChannel(). Make the QBlittablePlatformPixmap remember if there is an alpha channel, pass this as parameter in createBlittable to make it clear that this is required and not optional. Update the DirectFB plugin to handle this parameter to create a RGB32 or ARGB Surface depending on the alpha value, also only use PreMultiplied alpha when using ARGB. Separate the two constructors for the QDirectFbBlitter to either adopt a DirectFB Surface or to create one. Change-Id: I8abf82408ecd2d075fc6f241ace8be2a34ac56e7 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Mark the most important MSAA functions as "moz: [important]"Jan-Arve Saether2011-10-201-0/+20
| | | | | | | See comment inside commit for explanation. Change-Id: Ifc05d479ac5094f21f8db0390ae21d99eef0dbe1 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Move a11y inspector from tools to util.Morten Sorvig2011-10-201-1/+1
| | | | | Change-Id: Ifc032c511aea72a8f7a4ec62d304e89718f712db Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Windows: Fix Geometry, OpenGL formatsFriedemann Kleint2011-10-192-10/+41
| | | | | | | | - Do not use size returned by GetWindowRect for child windows - Turn Open GL samples off if number is 1. Change-Id: I2f44606d965fe691548094771deda7bca51ef9a6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Refactor QAccessibleActionInterface.Frederik Gladhorn2011-10-191-17/+32
| | | | | | | Some refinements done by Jan-Arve Sæther. Change-Id: I99195b3c7273316cfa9c46e451924bbcfddd11a9 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Cocoa: Add initial accessibility implementation.Morten Sorvig2011-10-198-4/+599
| | | | | | | | | | | | | | See qcocoaaccessiblity.h for details. For now only the first level of the hierarchy is made accessible. Also add tools/accessibilityinspector which is an utility for inspecting and debugging the Qt accessibility tree. Change-Id: Iff520bec26b3761feb0c2e00471feb379daaa735 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Windows platform: Improve Open GL.Friedemann Kleint2011-10-189-71/+155
| | | | | | | | | | | | | - Pass on version to ARB. - Query obtained ARB format more fine-grained depending on version, indicate failures - Fix GDI contexts and introduce gl=gdi to activate the GDI functionality - Adapt window flags after setParent if top level state changes - Remove unused OpenGL flag from integration/context Change-Id: I59ca74ee1fa727bd2bcfd605b3907bc82cca18fa Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Fix TouchEnd events not being received on Harmattan.Jocelyn Turcotte2011-10-171-2/+3
| | | | | | | | | TouchEnd is sent when all the touch points have a TouchPointReleased state, and we would clear all touch points on finger release before sending them up the stack. Change-Id: I14e7347090ce9a1865743202f6926ae2fc035bd3 Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>