summaryrefslogtreecommitdiffstats
path: root/src/platformsupport
Commit message (Collapse)AuthorAgeFilesLines
* Add translator help for accessibility stringsFrederik Gladhorn2013-02-081-4/+68
| | | | | | | | | | | There is also one string fix: cursor was twice, the second one should have been text caret. These roles follow IAccessible/MSAA as reference. Change-Id: I39b64fd01376fec9e8d9b743c43a24611a1d9fbd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Accessibility: Ignore TableModelChanges on Linux for now.Frederik Gladhorn2013-02-071-16/+4
| | | | | | | | | This part will be improved in Qt 5.1. Currently it just spits out debug messages for unhandled events. Change-Id: I22475317ab54a8223d42536e1cee3f93a969e497 Reviewed-by: hjk <hjk121@nokiamail.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Check if the interface pointer is valid to avoid a potential crash.Jan Arve Saether2013-02-061-1/+1
| | | | | Change-Id: I7e6634b799e551786d6cbc85e2d526b7874ada3d Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Fix lupdate-warnings in QSpiAccessibleBridge.Friedemann Kleint2013-02-051-64/+64
| | | | | | | | linuxaccessibility/bridge.cpp:169: tr() cannot be called without context Change-Id: Ib6bd4db7c4759818ccba8adff73617af7331f318 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Fixed missing support for single buffered OpenGL on OS X.Samuel Rødal2013-02-051-1/+2
| | | | | | Task-number: QTBUG-28804 Change-Id: I426a9bbc08953d777f67a23b050570e9f7d442d7 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Disable only accessibility bridge without dbus on linuxFrederik Gladhorn2013-01-231-1/+1
| | | | | | | | | | | | Keeping accessibility and only disabling the bridge will enable more builds to work. Warning about disabling accessibility disabled is needed because in QStyle it is used to discover semantics about widgets (if a toolbutton is in a toolbar). Change-Id: Iae4e6ab63479743bdd70cba4b1954ec7cf3f88e9 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Accessibility Linux: Make dbus registration asyncFrederik Gladhorn2013-01-226-88/+133
| | | | | | Change-Id: I74043be04f4ee17089353304fdc007a7f22cdea0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-1873-73/+73
| | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix crash when trying to create paths for color-glyphs (Emoji) on MacTor Arne Vestbø2013-01-142-2/+26
| | | | | | | | | | | | | | CoreText segfaults when creating paths for color-glyphs: 0 0x00007fff8fd41e69 in TFont::FindColourBitmapForGlyph () 1 0x00007fff8fd417ac in TFont::CreatePathForGlyph () 2 0x000000010567d1af in QCoreTextFontEngine::addGlyphsToPath (...) So we shortcut the code-path, since we don't support Emoji yet anyways. Task-number: QTBUG-28615 Change-Id: Ife16ae4959077d9eaaf6ea5cd1f27a4e2e01e7f5 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Fix DnD when using QSimpleDrag.Sergio Martins2013-01-072-3/+15
| | | | | | | | | | | | | | | | qApp->topLevelAt() returns the QShapedPixmapWindow that the DnD operation created, but what we want is the QWidgetWindow. QWidgetWindow has the code to handle QDragMove events. In Qt4, QShapedPixmapWidget had a parent, so was never returned by qApp->topLevelWidgets(). In Qt5 we must filter it out. Bug is visible in the QNX plugin, which is the only user of QSimpleDrag. Change-Id: I920da86f3a1a92ce8e087f5948292fa4c68d4d81 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Revert "Enable module build with QT_NO_ACCESSIBILITY"aavit2013-01-0413-51/+0
| | | | | | | | | | This reverts commit b7f63c6bf74a0eb62bb49c1085584da1b3714a06. It made compilation fail in qstylehelper_p.h if QT_NO_ACCESSIBILITY was defined - which it is by default on linux without dbus. Change-Id: I313f5138460d28c44dad128d175df0e53a99287d Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Fix GCC warning about parentheses in QtPlatformSupportThiago Macieira2013-01-021-1/+2
| | | | | | | atspiadaptor.cpp:2140:12: error: suggest explicit braces to avoid ambiguous 'else' [-Werror=parentheses] Change-Id: Ib21308f9c1b3bf813fed803228d8adbcc3ce7e9f Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Fix warning about unused variable in QtPlatformSupportThiago Macieira2012-12-221-1/+1
| | | | | | | | | | | | | | | | | | GCC was complaining: qevdevtouch.cpp:475:13: error: 'maxId' may be used uninitialized in this function [-Werror=maybe-uninitialized] Which got me scratching my head: maxId was unconditionally initialised. How could GCC be complaining about it being uninitialised? Well, turns out that bestId could be uninitialised and the code does: if (bestId > maxId) maxId = bestId; Of course, if bestId was uninitialised, the warning should have been in the "if" line first. Change-Id: I5e174ab2957d76ad040c14fa6ef8535129b6dce3 Reviewed-by: Laszlo Agocs <lagocs83@gmail.com>
* add and use qtHaveModule() functionOswald Buddenhagen2012-12-211-1/+1
| | | | | | | | | | | this is much more elegant than the so far propagated !isEmpty(QT.foo.name). also replace feature-specific tests (no-gui and no-widgets) and the obsolete contains(QT_CONFIG, foo) syntax. Change-Id: Ia4b3c8febcabf9eeca67b1f9173a523820b1038b Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> Reviewed-by: Tasuku Suzuki <stasuku@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Enable module build with QT_NO_ACCESSIBILITYTasuku Suzuki2012-12-2013-0/+51
| | | | | | Change-Id: I330c3ddd70232d94eae5543cb0282b962e67eae5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Accessibility Linux: Prevent access to invalid interfacesFrederik Gladhorn2012-12-181-5/+20
| | | | | | | | | | | Especially with the newer QML accessibility we can end up with events for objects that cannot instantiate a QAccessibleInterface. Let's not crash in that case. Change-Id: Ie5d38315f32d30540eb4adcb74a7b3bfa667f03f Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Do not inform that a widget is not visible when it's disabled.José Millán Soto2012-12-161-2/+0
| | | | | | Change-Id: I561c8ef4c25dde8eb24260a46d284ca10cbf074d Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Handle disabled state changeJosé Millán Soto2012-12-161-0/+7
| | | | | | | | Modified AtSpiAdaptor::notify to handle enabling and disabling widgets. Change-Id: I9a23f74d891aaf123d7fc094bdf63e384e1d65fe Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Implemented AtSpiAdaptor::notifyStateChangeJosé Millán Soto2012-12-152-15/+15
| | | | | | | | | Adding a new private method to simplify notifying that the state has changed as it is something that is frequently done in AtSpiAdaptor::notify Change-Id: Idf21715b5d20212adb301ae9bca05f1edfc19946 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Add missing bit in initialization.Frederik Gladhorn2012-12-141-0/+1
| | | | | Change-Id: I1de8dcd8714f1700ac03d7c1e8536f10a031cef9 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Fix styleName support in QPA font databaseJiang Jiang2012-12-143-7/+12
| | | | | | | | | Font styleName support was disconnected since Qt switched to QPA fontdatabase. Now add the code from Qt 4.8 back to enable this in QPA. Change-Id: Iab2cbfd5468f87542183348c2123ca4b2c270692 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Fix warning - unused variable (d-pointer)Frederik Gladhorn2012-12-141-2/+0
| | | | | Change-Id: I6bc47f12e60bfbda60e3f242d3b680d5684903ea Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Accessible: Improve value interfacev5.0.0-rc2Frederik Gladhorn2012-12-121-31/+21
| | | | | | | | | The stepSize property was missing in Qt 4 and is a sensible addition to the value interface. Change-Id: I7571800d50ee7e4194c09c4db40300809a1ce45a Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Compile with QT_NO_CURSOR.Volker Krause2012-12-073-0/+6
| | | | | | | | | | | | | Mostly straightforward, the a11y changes might look a bit drastic, but the base class QAccessibleTextWidget was already disabled in this case, so we have to obviously take out its sub-classes as well. Change-Id: I682ace20d6938688ddb1da23c3463f3c025fab8e Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Tasuku Suzuki <stasuku@gmail.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
* properly syncqt-ize harfbuzz headersOswald Buddenhagen2012-12-041-1/+0
| | | | | | | | | we were already installing them into QtCore/private, so turn them into proper private headers to start with. this cleans up our project files. Change-Id: I0795f79e03b60b5854de9e4dc339e9b5a5e6fd87 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* default to Regular font with FontConfigMichał Sawicz2012-11-231-5/+5
| | | | | | | | | | | | | | | Default to Regular/Normal instead of Medium in QFontConfigDatabase. Requesting Medium as default was fine until the font actually provided a Medium font, at which point it was selected by default. Tweak the buckets so that Medium has preference over Bold when DemiBold is requested. They will have to be extended for Medium when QTBUG-25814 is resolved. Change-Id: I111b7f99083d50c3e8264f84f10a997f619ef4b3 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Fix transformed text on Mac OS XEskil Abrahamsen Blomfeldt2012-11-232-0/+7
| | | | | | | | | | | | | | | | | In change 1582407fc782c0befd0760633324dd5c206524a1, the Q_WS_MAC code path which disabled drawing cached glyphs for any transform was removed, as was the comment that scaling and rotation wasn't supported by the Mac font engines. This obviously broke transformed text on Mac, so we need to put it back. I put it into the font engine itself where it belongs, and I kept the somewhat confusing naming convention which is used in the paint engine to minimize this patch. I'll clean up these function names in a future commit. Task-number: QTBUG-27362 Change-Id: I4fc6a503eedd4b1ebaf3ee659d948f997f433338 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Return something from QPAEventDispatcherGlib::processEventshjk2012-11-231-1/+1
| | | | | | Change-Id: I0abaf73d4b6b96dbcf499ea86749ced76348c281 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Mac: fix invalid context in imageForGlyphTeemu Katajisto2012-11-211-1/+1
| | | | | | | | | | | | The bounding rectangle may have negative width or height when a graphics view with text is rotated in certain angles. Make sure that the image width and height are positive, otherwise the context will be null and the following messages can be seen in test logs: <Error>: CGContextSetFontSize: invalid context 0x0 Change-Id: I10f83f6909035fb3c4ac456123cf1922eaea7c73 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* QPAEventDispatcherGlib: Use correct flags when sending eventsOliver Wolff2012-11-212-3/+18
| | | | | | | | | | Instead of assuming that all events should be handled when a user event occurs, userEventSourceDispatch has to use the flags used in QPAEventDispatcherGlib::processEvents. Task-number: QTBUG-27595 Change-Id: Ib13607f89f7d3207ec83ab26f7d59b3c59a28c4e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Detect Unity by checking XDG_CURRENT_DESKTOP and use Gnome theme.Friedemann Kleint2012-11-202-2/+7
| | | | | | | | | | Fallback to Gtk for unknown desktops, which should be suitable for most cases like XFCE. Task-number: QTCREATORBUG-8254 Change-Id: Iaf9959f75852e03a83b5af7d0dead01ef657d678 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* exclude 3rdparty from lupdateOswald Buddenhagen2012-11-201-0/+2
| | | | | | Change-Id: I00c569787943a87dda60786b179af1f55a94ea68 Reviewed-by: hjk <qthjk@ovi.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Avoid duplicate entries in QGenericUnixTheme::themeNames()J-P Nurmi2012-11-121-3/+3
| | | | | | Change-Id: I6dc258274dc6614f56f306c30c95fe20c14fdf89 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* evdevtouch: also use BTN_TOUCH with value == 0 to detect TouchPointReleasedJon Trulson2012-11-111-0/+5
| | | | | | | | | | | | | | | | | | | The current code seems to rely on an event, ABS_MT_TOUCH_MAJOR with a value of 0 to detect a touch release. Not all devices[0] emit this, and the spec[1] does not specify this behavior. So, add a check for a BTN_TOUCH with a value of 0 to also indicate Qt::TouchPointReleased. [0] http://www.chalk-elec.com/?page_id=1280#!/~/product/category=3094861&id=14647624 using hid_ntrig kernel module. [1] https://www.kernel.org/doc/Documentation/input/multi-touch-protocol.txt Change-Id: I4fc8ff404cad2083a57ff18737c5ea2b06d8ceac Reviewed-by: Robert Daniels <robert.daniels@vantagecontrols.com> Reviewed-by: Laszlo Agocs <lagocs83@gmail.com>
* Accessibility Linux: Do not depend on external libatspi2Frederik Gladhorn2012-11-081-2/+0
| | | | | | | | | | | This has (and still does) caused lots of grief since it means accessibility was often unintendedly not built. Instead copy the lib-at-spi-2 header file needed for the type enum and build it by default again. Change-Id: I1ba26f20edff1aeb444c96a37928f36230ac7576 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Rename all QWindow properties that have "window" in themShawn Rutledge2012-11-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | windowTitle, windowModality, windowIcon and so on are named that way to be similar to the ones in QWidget. However QQuickWindow inherits all of the declared properties, and we would like to have shorter property names in QML. If you are working with a Window then it's obvious the title property is the window title. Unfortunately, there must be patches in many other modules which depend on this one. In order to avoid the need to merge them all at the same time, there is also patch https://codereview.qt-project.org/#change,39001 which temporarily adds backwards-compatible accessors, which can be removed after the other modules are able to build without them. We should not rename windowState to state, because in QML, state usually drives the state machine for animation transitions etc. (although QWindow is not an Item, a user might get confused about it). Related patches are https://codereview.qt-project.org/#change,39001 https://codereview.qt-project.org/#change,37764 https://codereview.qt-project.org/#change,37765 https://codereview.qt-project.org/#change,37766 https://codereview.qt-project.org/#change,37762 Change-Id: Ie4424ec15fbdef6b29b137f90a2ae33f173edd21 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Fix for compiling with clang with c++11.Erik Verbruggen2012-11-061-1/+1
| | | | | Change-Id: I4f4928783d0e35b0df5e979fef1de80e9a026f55 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Cocoa: make text subpixel rendering check to work for non-Apple displaysTeemu Katajisto2012-11-031-16/+38
| | | | | | | Task-number: QTBUG-27386 Change-Id: I4e12663f80060dfcea6970a705861af388d816ac Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Mac: Correct writingSystem check value for ChineseLiang Qi2012-10-301-2/+2
| | | | | | | | | | | | | For simplified and traditional Chinese. Based on the Apple doc: Internationalization Programming Topics - Language and Locale Designations. Task-number: QTBUG-27130 Change-Id: I677563525edd607583561be20f4dbed24b2443a5 Reviewed-by: Jiang Jiang <gzjjgod@gmail.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Accessibility: make sure right objects are cached on linuxFrederik Gladhorn2012-10-271-1/+1
| | | | | | | | This patch goes together with 730a5a994ff46055055c58b25bd059373dddb934 and is the second code path that deals with the hash of valid objects. Change-Id: Ia7b0995cb667cfce5f7697aa61856e44f745a932 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Be more careful about asserting in accessibility.Frederik Gladhorn2012-10-271-1/+5
| | | | | | | | | | It is possible to call the accessibility update for any widget, even if it doesn't implement the right interfaces. While that is bad, warning about it is better than asserting. Change-Id: I23c0c783083f73fb816d75b2c9b78efd603edcb6 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Possibility to change custom Drag&Drop cursors while dragging something. ↵Cyril Oblikov2012-10-261-2/+13
| | | | | | | | | | | Implementation for Windows and X11. Additional checks to figure out if new Drag&Drop cursors where set. This means it is possible now to keep QDrag object in your program and call setDragCursor() method every time we need to change cursor depending on context. Change-Id: I4be69e44b2863371a7ffbb29efc17c18210d6cde Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Remove Cleanlooks and PlastiqueJens Bache-Wiig2012-10-221-2/+2
| | | | | | | | | We have a new style Fusion that will replace these styles. They will be moved to a separate module rather than included in platforms that do not need them. Change-Id: I51ebbcad5406e99130e5b12e62ba624d1489088c Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* remove explicit load(qt_build_config)s from the librariesOswald Buddenhagen2012-10-191-1/+0
| | | | | | | .qmake.conf (and previously .qmake.cache) already does that for us. Change-Id: I06cc01fa45921d7bd66dda7a0f88729faeff37bd Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Handle separators in menus in AT-SPI (Linux accessibility)José Millán Soto2012-10-191-2/+3
| | | | | Change-Id: Id9c109d53bbb8ded04bbe98a622d44e13d572340 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Clean up instantiation of mapping of AT-SPI roles.Frederik Gladhorn2012-10-191-66/+65
| | | | | Change-Id: If31b33f1b259f896408a66b0574d640b0ad57019 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Accessibility: make sure right objects are cached on linuxFrederik Gladhorn2012-10-191-1/+1
| | | | | | | | | | | | | The linux test would actually fail because the qobjects created could end up having the same address (create-delete-create...). After an object is deleted, it's not instantly removed from the cache of valid objects. Instead it would stay in the list with it's smart pointer becoming zero. This patch adds the missing null pointer check so we are always up to date. Change-Id: Ia7be14741d4798c2b8e75cb7127298c73cf206ef Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Cocoa: fix coretext memory leaksTeemu Katajisto2012-10-192-0/+3
| | | | | Change-Id: Id85dbf8a2ea8994d9fca07d3f10b43f62ec305a0 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Fix compile with -no-widgetsRohan McGovern2012-10-182-4/+3
| | | | | | | | | | | | Remove more unnecessary references to QtWidgets in accessibility implementation. Disable accessibility tests (which rely on QtWidgets) when QtWidgets is not available. Change-Id: I57315537779d31af1245d42d1b4c49174016da54 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Accessibility doesn't need QApp from QWidgets.Frederik Gladhorn2012-10-171-1/+1
| | | | | | Change-Id: I440179bfa95d6aa73c8b69b09431e4dc9fae5436 Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>