Commit Graph

129 Commits (b3f260236a5f5bcf2db0692e90bb2a875b9da078)

Author SHA1 Message Date
Edward Welbourne 82ea53ad24 Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts:
	qmake/library/qmakeevaluator.cpp

One side changed the iterator to use ranged-for, the other changed its
body; they only conflicted because the latter had to add braces around
the body, intruding on the for-line.  Trivial resolution.

Change-Id: Ib487bc3bd6e3c5225db15f94b9a8f6caaa33456b
2016-07-15 20:47:57 +02:00
Alexandru Croitor b6c10cf331 Improve lookup speed for QAccessible::uniqueId
When QAccessible::uniqueId was called, it would call QHash::key(),
which has linear time performance. This can cause application
slowdown if a big number of QAccessibleInterface Ids have to be found.

The patch adds an additional QHash to keep track of the inverse
relationship from QAccessibleInterface pointers to their Ids.

Change-Id: I975e3dc0e6c628e2ea701323d8b87184ad133cfb
Task-number: QTBUG-54491
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2016-07-07 14:50:00 +00:00
Ulf Hermann 4fb7eb0da7 Drop most "#ifndef QT_NO_LIBRARY"
As we can load plugins without QLibrary now, we don't have to #ifdef
out the code that does so anymore.

Change-Id: I1dc20216830a882dbd5a1b431183407e6b19c837
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-02-08 10:40:33 +00:00
Liang Qi d3e6e732c7 Merge remote-tracking branch 'origin/5.6' into dev
Conflicts:
	config.tests/unix/compile.test
	src/plugins/platforms/cocoa/qcocoahelpers.mm
	src/tools/qlalr/cppgenerator.cpp

Change-Id: I0103ca076a9aca7118b2fd99f0fdaf81055998c3
2016-02-02 15:57:44 +01:00
Frederik Gladhorn ba8d343002 Remove warning about being unable to instantiate accessibility interface
This warning was a good idea when the plugins were needed to give a hint
where to start debugging. Now the a11y plugins were merged into
qtwidgets/qtquick, so there is no more need for this warning which may
pop up on custom widgets e.g. inheriting QWindow.

Task-number: QTBUG-50215
Change-Id: Ic5efbb3dfbd07a7139884126a2604b54c99005e4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2016-02-02 08:20:35 +00:00
Paul Olav Tvete efa2913e09 Compile fix for QT_NO_ACCESSIBILITY
Change-Id: I251518566f114e0e5528304c908bcaef0f026c67
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2016-01-28 14:10:55 +00:00
Jani Heikkinen 1a88b2f768 Updated license headers
From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/

Updated license headers to use new LGPL header instead of LGPL21 one
(in those files which will be under LGPL v3)

Change-Id: I046ec3e47b1876cd7b4b0353a576b352e3a946d9
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-01-15 12:25:24 +00:00
Jan Arve Saether 753ebd5ba0 Respond with a sound for certain message boxes on windows
This was a regression (it worked in 4.8) that was probably introduced
by the refactoring of the accessibility framework in Qt 5.

Now, QPlatformAccessibility::notifyAccessibilityUpdate() is called
regardless of isActive(), so its the responsibility of each
implementation of notifyAccessibilityUpdate() to check for isActive()
where it matters.

Task-number: QTBUG-33303
Change-Id: I0d18f8c1890ef679460408b05e704712b886bf7c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
2015-12-04 14:38:34 +00:00
Topi Reinio e525d1f44d Doc: Remove invalid uses of \relates command
A function cannot be both a member and a non-member of the same class.

Change-Id: I07d1e04c09fea2ba1171b3692e716660044cd37a
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-08-19 12:06:05 +00:00
Frederik Gladhorn 77da617dc8 Merge remote-tracking branch 'origin/5.5' into dev
Conflicts:
	doc/global/qt-cpp-defines.qdocconf
	src/3rdparty/forkfd/forkfd.c
	src/corelib/codecs/qtextcodec.cpp
	src/corelib/kernel/qmetatype.cpp
	src/corelib/tools/qset.qdoc
	src/gui/accessible/qaccessible.cpp
	src/gui/image/qpixmapcache.cpp
	src/opengl/qgl.cpp
	src/tools/qdoc/generator.cpp
	src/widgets/kernel/qwidget.cpp
	tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp

Change-Id: I4fbe1fa756a54c6843aa75f4ef70a1069ba7b085
2015-08-06 10:54:01 +02:00
Nico Vertriest e6ddae07e1 Doc:added doc to undocumented functions
Task-number: QTBUG-36985
Change-Id: Ic358682b276d67ef804f727bcf14191718613469
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2015-07-22 13:47:23 +00:00
Liang Qi 0aa2d318b1 Merge remote-tracking branch 'origin/5.5' into dev
Conflicts:
	src/corelib/global/qglobal.cpp
	src/corelib/global/qglobal.h
	src/corelib/global/qsysinfo.h
	src/corelib/global/qsystemdetection.h
	src/corelib/kernel/qobjectdefs.h
	src/plugins/plugins.pro
	tests/auto/widgets/itemviews/qlistview/qlistview.pro

Change-Id: Ib55aa79d707c4c1453fb9d697f6cf92211ed665c
2015-07-01 11:05:26 +02:00
Nico Vertriest a7f2af0911 Replace MAC OS X with OS X
Task-number: QTBUG-46374
Change-Id: I7bc633ab551740bd328a24b0ccae1d534af47138
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-06-30 07:33:31 +00:00
Ulf Hermann 7c34ea1fc7 Don't define qAccessiblePlugins if we cannot use them.
In case of QT_NO_LIBRARY there are no plugins after all.

Change-Id: Iad891d0cf0edf9e4418a4fe4ac49cf6497ceeb79
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2015-06-16 14:31:00 +00:00
Lars Knoll 5dbd1ed7a3 Fix signature of new methods
Don't return a const QString &, return the QString by value. This
is still broken for some of the older methods, but let's not add
to it.

Change-Id: Ic5cabb1b89eda0fcf678dbe175963e03109e5c2c
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2015-06-10 08:14:44 +00:00
Simon Hausmann ccad00121d Merge "Merge remote-tracking branch 'origin/5.5' into dev" into refs/staging/dev 2015-06-04 05:56:06 +00:00
Marc Mutz a21dfab54e De-duplicate vtables III: QAccessible
By making the destructor (usually the first non-inline, non-pure,
virtual function, and therefore the trigger for most compilers to
emit the vtable and type_info structures for the class in that TU)
out-of-line, vtables and, more importantly, type_info strucures for
the class are pinned to a single TU. This prevents false negative
dynamic_cast and catch evaluation.

In this third batch, we de-inline dtors of exported public classes
from the QAccessible subsytem.

Since they are already exported, users of these classes are unaffected
by the change, but since it's public API, and the dtors may have been
de-virtualized and inlined into application code, we need to avoid
adding code to the out-of-line dtor until Qt 6.

Change-Id: I5324bd1b3b9210a3ac5cf4eee9317a34e4a3b048
Reported-by: Volker Krause <volker.krause@kdab.com>
Task-number: QTBUG-45582
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-06-03 12:03:11 +00:00
Marc Mutz f0eafa5672 QAccessibleInterface: move implementation beside doc block
Adjust doc text to what's used elsewhere in QAccessible.

Change-Id: I8bd194e55374b8258361ae254817a4298c4fa3dc
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-06-03 12:03:06 +00:00
Nico Vertriest a4848142b4 Doc: added doc for non-documented functions
Task-number: QTBUG-36985
Change-Id: I85f58c2877d83b98bf3427cbb0f567575803524f
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2015-05-18 08:01:37 +00:00
Friedemann Kleint 85f9478227 Fix debug stream operators.
- Use QDebugStateSaver to restore space setting in stream operators
  instead of returning dbg.space() which breaks formatting on streams
  that already have nospace() set.
- Fix some single character string constants.

Change-Id: I0fe86bb1adbdd4a76ab6d2f8c19e063b45ddcf3b
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2015-04-01 13:49:32 +00:00
Thiago Macieira ce30394686 QtGui: Fix const correctness in old style casts
Found with GCC's -Wcast-qual.

Change-Id: Ia0aac2f09e9245339951ffff13c946844bc31eb8
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
2015-03-12 04:23:50 +00:00
Jani Heikkinen 83a5694dc2 Update copyright headers
Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.

Outdated header.LGPL removed (use header.LGPL21 instead)

Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing
combination. New header.LGPL-COMM taken in the use file which were
using old header.LGPL3 (src/plugins/platforms/android/extract.cpp)

Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license
combination

Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe
Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
2015-02-11 06:49:51 +00:00
Frederik Gladhorn 0867f0ae33 Add accessible actions for scrolling and page changes
Change-Id: I5f6fd352e1022abbe3a94088598f460b17692fca
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
2014-10-28 18:27:26 +01:00
Frederik Gladhorn 2eb26c1709 Merge remote-tracking branch 'origin/5.4' into dev
Conflicts:
	src/gui/text/qfontdatabase.cpp

Change-Id: I6ac1f55faa22b8e7b591386fb67f0333d0ea443d
2014-10-27 13:00:36 +01:00
Frederik Gladhorn 18a538ed40 Add searchEdit as accessible state
The search state is used by VoiceOver on iOS to announce a search field.

Change-Id: I464125827dbbf275daf38104e26e9591bb23365a
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
2014-10-25 18:30:08 +02:00
Frederik Gladhorn 881ceeff42 Merge remote-tracking branch 'origin/5.4' into dev
Change-Id: I05fcd8dc66d9ad0dc76bb7f5bae05c9876bfba14
2014-10-09 17:56:52 +02:00
hjk eda8af2a69 Make QAccessible compile with -Werror
GCC was bailing out when attempting to merge this into the dev
branch due to the use of "potentially uninitialized values".

Change-Id: Id2fc4a123a4b180b9ab439429a0d20245c7ee41b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-09-30 10:33:07 +02:00
Sérgio Martins e297d72fa6 Fix build when using -Werror
"accessible/qaccessible.cpp:2154:43: error: 'type' may be used uninitialized in this function [-Werror=maybe-uninitialized]"
Compiler doesn't seem very smart, all enumerators are handled in the switch already.

Observed on android's gcc and gcc-4.7 on GNU/Linux

Change-Id: I30b4660c18992158457cada01b5916aa4feae4ff
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2014-09-29 18:24:01 +02:00
Oswald Buddenhagen 189dc655bb Merge remote-tracking branch 'origin/5.4' into dev
Conflicts:
	src/corelib/tools/qbytearray.cpp
	src/gui/image/qimage.cpp
	src/gui/image/qppmhandler.cpp
	src/gui/kernel/qguiapplication.cpp
	src/gui/painting/qpaintengine_raster.cpp

Change-Id: I7c1a8e7ebdfd7f7ae767fdb932823498a7660765
2014-09-29 14:08:49 +02:00
Matti Paaso 974c210835 Update license headers and add new license files
- Renamed LICENSE.LGPL to LICENSE.LGPLv21
- Added LICENSE.LGPLv3
- Removed LICENSE.GPL

Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2
Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
2014-09-24 12:26:19 +02:00
Tor Arne Vestbø bbacf3d79d a11y: Don't try to update accessibility if there's no interface
Change-Id: I970729e65ba0eb857e6974f9947f27ae8e6410c3
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-09-20 00:21:30 +02:00
Oswald Buddenhagen d572ab1bb4 Merge remote-tracking branch 'origin/5.4' into dev
Change-Id: Id4997327cc01bd4bb397a463bdffbd15e80398ef
2014-09-10 11:42:50 +02:00
Frederik Gladhorn 52f859604d Accessibility: Improve line boundary helper functions
These functions are supposed to make it easy for third parties (and
QLineEdit) to implement the textAt/Before/AfterOffset functions.
Before the functions were ignoring newlines completely and thus only somewhat
useful.
Change-Id: I7136b9502a7fa6f8ad9ad7236761a34c1a7fd4da
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-09-04 14:50:32 +02:00
Frederik Gladhorn 4cceceff15 Compile with -no-feature-accessibility
Task-number: QTBUG-38045
Change-Id: Id436b70aa6161bdf2428ca0a605212b278c71849
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-08-21 15:17:56 +02:00
Frederik Gladhorn d2c1a6cbb4 Add accessible roles
Change-Id: Ic5465687f51c441235ec23cb88045e14644f1d2a
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-08-13 09:07:15 +02:00
Frederik Gladhorn fc36b834a6 Remove invalid assert
The table interface may be implemented without having a QObject.

Change-Id: I59b9bef29494296149bc1023db933b7c5d762cac
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-08-13 09:07:10 +02:00
Frederik Gladhorn fc931e5595 Accessibility: Fix boundaries for text functions in QLineEdit
Make the functions work consistently. For example asking for the line at
the cursor position when the cursor was at the end returned an empty
line before.

Task-number: QTBUG-38500
Change-Id: I60fc78c7be129a59c83efcfce6d8fdd16f2c3f65
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-08-13 09:07:04 +02:00
Frederik Gladhorn 9ba3145f79 Add QAccessible::ActivationObserver
Makes it possible to follow changes in activation an deactivation of a11y.
Needed for WebEngine to know when to activate a11y.

Change-Id: Ia264a76974224d1baad3e88c34a4b8a9f1a3695d
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-08-11 13:16:51 +02:00
Frederik Gladhorn 800d0076e0 Slight doc improvements
Change-Id: I0c5f7cb7c0673357f13fe4eb1a9f9aba36f6d71e
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2014-07-23 16:52:08 +02:00
Frederik Gladhorn 27dcba8760 Add accessible roles for web document, paragraph and section
These roles seem wide-spread enough that it makes sense to add them.
QtWebEngine will use them.

Change-Id: I9c2d6ab23ada0607078bcd407a72ecae9f87eeea
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
2014-07-23 16:52:00 +02:00
Frederik Gladhorn 3b28d3d1c0 Make QAccessibleEditableTextInterface docs public
Task-number: QTBUG-40103
Change-Id: I22c678e38e395fa50fc26b456e9fcc2adcae14e6
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
2014-07-07 13:48:37 +02:00
Frederik Gladhorn a09a8d509a Merge remote-tracking branch 'origin/5.3' into dev
Conflicts:
	mkspecs/qnx-x86-qcc/qplatformdefs.h
	src/corelib/global/qglobal.h
	src/network/socket/qnativesocketengine_winrt.cpp
	src/plugins/platforms/android/androidjniaccessibility.cpp
	src/plugins/platforms/windows/qwindowswindow.cpp

Manually adjusted:
	mkspecs/qnx-armle-v7-qcc/qplatformdefs.h
	to include 9ce697f2d5

Thanks goes to Sergio for the qnx mkspecs adjustments.

Change-Id: I53b1fd6bc5bc884e5ee2c2b84975f58171a1cb8e
2014-07-01 16:25:19 +02:00
Frederik Gladhorn 853fb5ddde Remove bogus nullptr check for reference
Change-Id: I3aafe427b9ea9a2b7936c4e2217722ee78d329aa
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2014-06-27 17:07:34 +02:00
Jan Arve Saether f360dc9297 Windows a11y: Publish synthetic increase and decrease actions
Increase and decrease actions can be generally applied to any value
interface. We therefore make them available regardless of the
existence of any action interface.

Change-Id: I82ba01965dc869439b9d741ce681e0c0687263ca
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-06-20 17:20:32 +02:00
Frederik Gladhorn bb794270ec Accessibility: Fix select state usage
The selectable/selected states refer to items in a list and similar,
do not interpret them as text selection states.
Without this change NVDA for example announces text edits as selected
which makes no sense and which it doesn't do for native text items.

Change-Id: Ib1d109523bd4cc2b9b40ace8a8c3d7d3a7f9f25c
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-05-31 17:12:58 +02:00
Frederik Gladhorn 98d3e40fb7 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	mkspecs/qnx-armv7le-qcc/qplatformdefs.h
	src/printsupport/kernel/qcups.cpp
	src/widgets/styles/qstyle.h
	tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp

Change-Id: Ia41e13051169a6d4a8a1267548e7d47b859bb267
2014-04-11 14:36:55 +02:00
Frederik Gladhorn ccdfe354a6 Accessibility Mac: Cache Accessible Elements and Notify about changes
The big change is that we now keep the id objects representing accessibles
around so that they are persistent for ATs.
This improves performance of Mac accessibility significantly.

This is required for notifications which are now sent so that many things work much better,
for example the VoiceOver focus follows the keyboard focus.

The parent element in QCocoaAccessibleElement was removed, we can
dynamically access it more reliably.

Change-Id: I686d212f40d28b392dcc22f16f3c3430f08bdc98
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-04-09 10:46:02 +02:00
Tomasz Olszak 790bc92bc0 Added handling of QT_LINUX_ACCESSIBILITY_ALWAYS_ON variable.
By setting this variable to non empty value we can, bypass
checking ScreenReaderEnabled proprty of org.a11y.Status
dbus interface. Not all accessibility readers set this.
The variable is also useful for debugging.

Change-Id: I6c5a1a51065948248e068dfff4755d6818ed9fb1
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-04-04 08:33:16 +02:00
Frederik Gladhorn 97c1b2d32e Accessibility: Do not assert when a widget doesn't have a QAI
[ChangeLog][QtGui] Fixed crash when sending accessibility updates when
the corresponding widget does not have a corresponding
QAccessibleInterface. This showed on Mac for example with QStatusBar.

Task-number: QTBUG-35421
Change-Id: I94174e98e858b7a0122532ee5fcc8458a263bccd
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-01-02 11:33:06 +01:00
Frederik Gladhorn 9a369a25dd Accessibility: Make it possible to send events with no QObject
Change-Id: Icbb9d15ec52ff5f7718eaf3600cab140971274aa
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-10-25 12:29:43 +02:00