summaryrefslogtreecommitdiffstats
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* Ignore uninteresting accessibile interfaces.Morten Johan Sorvig2012-01-124-2/+54
| | | | | | | | | Certain interface roles should be ignored and not be a part of the user-visible accessibility interface tree. Change-Id: I264fef909052c528ee505875e3a211a33114d881 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Do not mark any touch points as primary when no mouse event is sentLaszlo Agocs2012-01-121-4/+0
| | | | | | | | | The touchscreen plug-in generates touch events only and therefore no touch point must be marked as primary because that would mean there is also a mouse event created from that point which is not the case. Change-Id: I80c5fdbc52b048cd74c834900b6c8100963210e6 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Make show() default to sane sizing behaviour based on the platform.Samuel Rødal2012-01-122-0/+10
| | | | | | | | | | | | | | | | Traditionally it's been hard to write a Qt app that behaves sanely across embedded and desktop platforms, i.e. defaults to fullscreen on embedded and non-fullscreen on desktop. For Qt 5 we can fix this by making the behaviour of the default QWindow::show() be customizable by the platform plugin. If the application developer wants to override this behaviour he can still use the explicit showFullScreen(), showNormal() etc functions. Change-Id: I26a907b404058e345d841c818daefbb57a26d3fd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Make QAccessibleInterface::indexOfChild() 0-based.Frederik Gladhorn2012-01-116-49/+33
| | | | | | | Makes the code nicer and more consistent with the rest of the world. Change-Id: I5ba0ee39f5b0afd1a079a3cea9990d123955ed3f Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Add support for accessibility actions.Morten Johan Sorvig2012-01-114-6/+95
| | | | | | | | Match Cocoa and Qt actions manually. Some have no corresponding action on the other side. Change-Id: I775cb8987ab843bd88d57d856ef7c0403290db00 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Match the name in the cpp fileAlbert Astals Cid2012-01-111-1/+1
| | | | | | | Which is actually the name Lars wanted i just forgot to fix it everywhere Change-Id: Iaa190da6c17d0a423c34202c986d69feec01af96 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Introduce a QVariant themeHint() to QPlatformTheme.Friedemann Kleint2012-01-112-0/+34
| | | | | | | Start on removing platform-specific code from QtWidgets. Change-Id: Ic2163a0ce6f2db2151cdf7ca93766b2d861eeb55 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Platform style hints: Introduce keyboard repeat rate.Friedemann Kleint2012-01-101-1/+10
| | | | | Change-Id: I556c2ecec7d5368122875a659af3ae7db88aa481 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Fix key codes on mac.Zeno Albisser2012-01-101-1/+1
| | | | | | | Qt key codes match the unicode character in upper case format. Change-Id: I92b43463921e71f2607e569ba7ee23d6f844c50a Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Accessiblity State as bit field.Frederik Gladhorn2012-01-106-49/+106
| | | | | | | | | | | We would like to add more flags that will be over the 32 bit boundary. On Windows enums don't seem to digest values >32 bit. This patch changes the state flags to be a bit field instead. The windows part of the patch was written by Jan-Arve Sæther. Change-Id: I2d1d87807f920ce4d4a5c7bfea8b1122ed44eb08 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Update year in Nokia copyright headers.Jason McDonald2012-01-108-8/+8
| | | | | | | | The previous change missed some headers from years prior to 2011, and a few new files were merged after the previous change. Change-Id: Ib7d1a2b7062228c2a5373da64242b2ee1f0981e1 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove ICD plugin for bearer.Xizhi Zhu2012-01-1018-5633/+3
| | | | | | | It's only used by Maemo and Harmattan, thus not needed in Qt5. Change-Id: I8638f4fc63637be88d1aa584cde7e3a4116f2de6 Reviewed-by: Alex <alex.blasche@nokia.com>
* Rename check to checkEvent.Stephen Kelly2012-01-104-5/+5
| | | | | | | Avoids conflict with macro on Mac OS. Change-Id: I1b597205c32531e054832fcb396622b47b18040a Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Lock X display while calling XESetWireToEvent and its callback.Samuel Rødal2012-01-101-3/+7
| | | | | | | | | Prevent potential race conditions as suggested by Uli Schlachter. Change-Id: Ia93eb8be1cbbc3d8ae7913a934c195af6b5ec538 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Uli Schlachter <psychon@znc.in>
* Remove unused function.Frederik Gladhorn2012-01-091-100/+0
| | | | | | | Instead this code has been ported to qAccessibleRoleString. Change-Id: I41dd83d09cbcf2b0de3eb2fa027f24cf070f22a2 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Change QCocoaEventDispatcher timer handling to use QTimerInfoListBradley T. Hughes2012-01-092-106/+100
| | | | | | | | | | | | | | | | This gives us support for the various Qt::TimerTypes. We only use one CFRunLoopTimer to drive all of the Qt timers. We update the time-to-fire for this timer as we add/remove/fire Qt timers. The documentation for the CFRunLoopTimerSetNextFireDate() function says that this is a valid use case, and is more performant than constantly adding and removing CFRunLoopTimers. The documentation recommends using a large interval for this use case (the docs say "several decades", but we use 1 year). Change-Id: Ie7fd7a845f4254699a5b6a5720e7626f2c5e787f Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
* xcb: Fix a memleak when atomName() failsUli Schlachter2012-01-081-0/+1
| | | | | | | | | | The only reason for GetAtomName to fail is when an invalid atom is specified, so the xcb_generic_error_t struct doesn't contain any useful information for us. Still, we have to free it. Change-Id: I3da98018b7bfe08a9d7dcd566ed010f5d7b0df73 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Detect autoreapeat in xcb plugin.Samuel Rødal2012-01-073-3/+85
| | | | | | | Until now QKeyEvent::isAutoRepeat() would always return false. Change-Id: I7771bc7a7ec848ef280f99bada0a26eda188604e Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Remove all references to QAccessible:: {Child|Ancestor|Sibling}Jan-Arve Saether2012-01-0610-243/+170
| | | | | | | | | | | These are deprecated in favor of QAccessibleInterface::child() and QAccessibleInterface::parent() QAccessible::Sibling can be done with a combination of those two. This is handled by the bridges, if required. Change-Id: I2e2a6eb2a982e7c9001a393d69f0c5f1ae9c0970 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Windows: Run on Windows XP.Friedemann Kleint2012-01-062-5/+4
| | | | | | | | | | | Replace Q_ASSERT() on missing functions from User32.dll by qFatal() with error message. Do not check "UpdateLayeredWindowIndirect" as it was introduced with Windows Vista. Task-number: QTBUG-23351 Change-Id: I0064611351c687f0c3c6e13156dd534b9f7a5d75 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Constify more accessibility interface functions.Frederik Gladhorn2012-01-066-64/+64
| | | | | Change-Id: Iff8da09eef5288de92ccea753a8a5fda03e214b0 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Image interface functions should be const.Frederik Gladhorn2012-01-062-6/+6
| | | | | Change-Id: I9c6ecd140abc4f4d5c28ad2228e1241d3891b5ad Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Remove all non-inline of qMalloc/qFree/qRealloc.Robin Burchell2012-01-061-2/+2
| | | | | | | | | | | | We're trying to deprecate these, so don't use them anymore. The inline uses of these have been left intact, for the moment. Inline code will need to create their own non-inline allocation methods (for future-proofing to allow alterations in how e.g. individual containers allocate) Change-Id: I1071a487c25e95b7bb81a3327b20c5481fb5ed22 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Windows: Fix compiler warnings in accessibility.Friedemann Kleint2012-01-061-0/+2
| | | | | | Change-Id: Id9ffe1069116f25b89df85337a75dae54b5beec5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Andriy Golovnya <andriy.golovnya@googlemail.com>
* Remove Cursor functions from invokeMethod.Frederik Gladhorn2012-01-064-42/+0
| | | | | | | | Cursor position is handled by the text interface. This was a binary compatibility hack in Qt 4. Change-Id: I45520e6942a490834f6e9346a4c173300a9bf7a9 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Use clipboard_timeout instead of hardcoded 5000 (since its the same value)Albert Astals Cid2012-01-051-1/+1
| | | | | Change-Id: Ia0edf04e36c8d30394a2bc9a691ab9aa78831f78 Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Free the repliesAlbert Astals Cid2012-01-051-0/+2
| | | | | Change-Id: I719bd95d94f3bfd41eeb09a49ac3e2701a516619 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Check for the clipboard manager when looping due to app quitingAlbert Astals Cid2012-01-052-3/+13
| | | | | | | | | | | | | One can be extremely unlucky and on session logout get this: * All apps are going down * A Qt app checks if the clipboard manager is there to yield its clipboard contents * The clipboard manager is still there * Then just after that check, the clipboard manager finishes because of the session end * This means the Qt app will loop for 5 seconds trying to yield its clipboard contents to a clipboard manager that is not there anymore Change-Id: Ia89670d4deb72f12e660a0d7aa5b2d212955d6fe Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* QCocoaEventDispatcherPrivate members should not be staticBradley T. Hughes2012-01-052-70/+60
| | | | | | | | | | | | | | | Keep the Cocoa event dispatcher's private data as normal members of QCocoaEventDispatcherPrivate. This removes the global initializers for the macTimerHash and cocoaModalSessionStask as well. To keep timers working, we pass a pointer to the timer's MacTimerInfo struct to the callback, instead of just the timer id. The MacTimerInfo needs to keep a pointer back to the QCocoaEventDispatcherPrivate to get access to the private's members. Change-Id: Ic3a61e5e1d1d82030735de73cf0b0c70a13c21a4 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-05396-396/+396
| | | | | Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove old accessible itemviews code.Frederik Gladhorn2012-01-042-1501/+0
| | | | | | | | | We are moving to use IAccessible2. This code is dead. Change-Id: Ib1687faeafbec84cfa3b123d6f6398998033d342 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Don't release timer ids in event dispatcher codeBradley T. Hughes2012-01-041-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3rdparty event dispatchers are impossible to write without using the internal API QAbstractEventDispatcherPrivate::releaseTimerId(). Fix this by having each QObject keep track of its own timer ids, and release them when they are no longer used. As a side effect, this makes the QObjectData::pendTimer bit unnecessary. This also removes the QObjectData::inThreadChangeEvent hack that the event dispatchers used to avoid releasing timer ids when moving timers to a new thread. QBasicTimer becomes even more low-level. It cannot use QObject::startTimer() anymore, since we do not have a way to call QObject::killTimer() from QBasicTimer::stop(). QBasicTimer uses the QAbstractEventDispatcher interface directly, and releases the timer id explicitly as well when stopping the timer. This change also fixes some rare timer id "leaks" when destroying or stopping timers after a thread has exited and destroyed its event dispatcher (the timer ids would never be released when no dispatcher exists). Globally destructed QObjects that have running timers may try to release their timer ids after the timer id freelist has been destroyed. This commit accomodates such objects by avoiding the null dereference in QAbstractEventDispatcherPrivate::releaseTimerId(). Change-Id: I2d7cd8221fae441f3cf02b6c0b4bc16063834d00 Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Make QCocoaEventDispatcher inherit from QAbstractEventDispatcherBradley T. Hughes2012-01-032-4/+9
| | | | | | | | | | | ... instead of QEventDispatcherUNIX. The Cocoa dispatcher does not use any of the facilities of the UNIX dispatcher, and it reimplements every virtual method already (with the exception of flush(), which just needs an empty implementation). Change-Id: I24aefd169888946afac7800192a0f96770787718 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Use meta object to get string rep of QAccessible::Role.Frederik Gladhorn2012-01-031-76/+1
| | | | | Change-Id: I69320b69ea13ebc594575277e39d30a066df61fd Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* directfb: Refer to the right class in the error messageHolger Hans Peter Freyther2012-01-031-1/+1
| | | | | Change-Id: I41d0b95092d16bc3a643fca903c68be82813dad6 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Build fix if using '-no-stl' configure optionYuchen Deng2012-01-032-0/+4
| | | | | | | | | | MSVC2010SP1: error C3861: 'wmemcpy': identifier not found Change-Id: Ib28edb5e38d691635c56dac846134e1c88c3f312 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Add Qt::TimerType argument to QAbstractEventDispatcher::registerTimer()Bradley T. Hughes2012-01-022-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | ... and deprecate the old registerTimer() functions. The new pure- virtual registerTimer() breaks source-compatibility. Subclasses cannot be instantiated anymore, since the pure virtual function signature has changed. QAbstractEventDispatcher::TimerInfo is no longer a QPair. It is now a struct with timerId, interval, and timerType members. This is a source incompatibility that should only affect subclasses of QAbstractEventDispatcher, which will need to pass 3 arguments to the TimerInfo constructor instead of 2. If the subclass used QPair<int,int> instead of the TimerInfo typedef, the QPair<int,int> declarations will need to be replaced with TimerInfo. Call the new registerTimer() function with the type from QObject::startTimer(). Change all subclasses of QAbstractEventDispatcher to reimplement the new virtual function. The type argument is unused at the momemnt, except to ensure that registeredTimers() returns the type each timer was registered with. Implementations for the various dispatchers will be done in separate commits. Author: Thiago Macieira <thiago.macieira@nokia.com> Change-Id: Ia22697e0ab0847810c5d162ef473e0e5a17a904b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix regression, make sure hit testing work on windows again.Jan-Arve Saether2011-12-231-19/+31
| | | | | | | | | | The previous code did not make much sense This regressed due to 74c9f9d83f9f5cb934d0b62b468c74df5a3b9a0d Change-Id: Ia4374623257863edca706a1c3d8b565d0c6bd4c1 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Disable logging in xcbJørgen Lind2011-12-221-1/+1
| | | | | | | | The logging groves and modifies a vector.. It should at least be a linked-list. but anyway, it shouldn't be enabled by default Change-Id: Iaebb1158eea1c907e31e9606b143c0318a189dd1 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Do not crash in the windows accessibility bridgeJan-Arve Saether2011-12-221-1/+1
| | | | | | | | If the object did not have a QAccessibleInterface subclass it would crash in the windows accessibility bridge. Change-Id: I931d69466a5a74a87f1c1c577fb1c918dcc8accf Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Update the touchscreen plug-in.Laszlo Agocs2011-12-195-148/+188
| | | | | | | | | | | | | | | | | | | | | | | | | Now works with bcm5974: Added manual contact tracking for drivers that do not report a tracking id and fixed abs limit querying to use ABS_MT_* instead of ABS_*. Fixed reported area: The incoming point was the top-left point instead of the center which was incorrect. Added pressure support. Tracking of event type has been removed as handleTouchEvent no longer needs it. Broken debug prints have been removed. Changed udev auto-detection to pick only /dev/input/event*. Fixed multiple released state reports with some drivers. Name and capabilities are now set properly for the QTouchDevice. Change-Id: I8f026c9a14465bfb6d567f4dcf36c5c03f843868 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Windows: Remove Window from list before calling DestroyWindow.Friedemann Kleint2011-12-191-2/+2
| | | | | Change-Id: Ifef99d9e4e46f0450cecf8ecba18ce79ebec3e8d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Accessibility: childAt returns interfaceFrederik Gladhorn2011-12-1911-134/+85
| | | | | | | | | | | | | | | | | | childAt used to return an integer. Return an interface instead. Not requiring a direct child to be returned allows optimizing by bypassing iterating through the hierarchy of accessibles. For QtQuick this is the only sensible way of implementing this. The bridges are still responsible for finding the top-most element. The default implementation in QAccessibleObject is sufficient to return direct children. The implementation in QAccessibleApplication is therfore no longer needed. Change-Id: Id7100dd5bcc3a98de516a7f4a12eaaa41cb46d26 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Enable option to see filename extension in Mac save dialogChris Meyer2011-12-191-0/+1
| | | | | | | | | Many Mac OS users expect to have the option to see the file extension of the file being saved in the save dialog. This patch enables that option. Change-Id: I7713bcef16b6f43135b382c7107f306009c7a0a1 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Add check to make sure qApp exists before usingChris Meyer2011-12-191-1/+1
| | | | | | | | | | Check for qApp before using. I'm aware that this is in commented out code right now; but I wanted to make sure it doesn't accidently slip back in without this check so I'm submitting this patch. It caused problems at shutdown in 4.8. Change-Id: I1c2358ab94f8b698e5519b3e0f988fb5cdd653fa Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: Accept mouse clicks that activates windows.Morten Johan Sorvig2011-12-161-0/+5
| | | | | | | | | | | | | Events for mouse clicks that active windows are by default suppressed. Qt needs to see all events in order to properly close popup windows. Wether or not the event should be sent to the target needs to be implemented later on - in the QWidget world this is controlled by WA_MacNoClickThrough Change-Id: I4b96d33978ed2b3cb793f52bb5b6fef234190a00 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
* Cocoa: Update geometry on window move.Morten Johan Sorvig2011-12-153-7/+9
| | | | | | | | | | | | | Call [QNSView updateGeometry] directly. We can't got through the frameDidChange notification since we are not actually changing the QNSView frame. Rename frameDidChangeNotification -> updateGeometry sine it now handles updates from two different sources. Change-Id: I848e558294093cd51d97778734b5cf872435266a Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: Don't set window size in propagateSizeHintsMorten Johan Sorvig2011-12-151-7/+1
| | | | | | | | | | Unless QWindow:baseSize returns a valid value. Setting the size caused lots of window geometry instability in Creator. Change-Id: Iab45e88b47207db900c7655c217959391d84a1bb Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: Add version check for convertRectToScreen.Morten Johan Sorvig2011-12-151-7/+12
| | | | | | | | convertRectToScreen was added in 10.7, use convertBaseToScreen on 10.6 Change-Id: Ica1ee0f62e1fc9b0d5ccf463419496684da779b7 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Make QCocoaWindow independent of NSWindow.Morten Sorvig2011-12-145-16/+68
| | | | | | | | | | | QCocoaWindow now gets resize events from QNSViev and does not require a NSWindow. QWindow instances can now be inserted in NSView hierarchies. This is useful for Qt-as-a-plugin use cases and is needed to implement QMacNativeWidget for Qt 5. Change-Id: Ia95ea9c22a15a3e62d1e6543466cff07390c70a2 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>