summaryrefslogtreecommitdiffstats
path: root/src/widgets/accessible/simplewidgets.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Tidy nullptr usageAllan Sandfeld Jensen2019-12-061-2/+2
| | | | | | | | | | | Move away from using 0 as pointer literal. Done using clang-tidy. This is not complete as run-clang-tidy can't handle all of qtbase in one go. Change-Id: I1076a21f32aac0dab078af6f175f7508145eece0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QWidget/QLineEdit: deprecate get{Contents,Text}Margins()Marc Mutz2019-07-301-2/+1
| | | | | | | | | | | | | | | We have contentsMargins() and textMargins() methods since 4.6 which are much more efficient and easier to use. [ChangeLog][QtWidgets][QLineEdit] The getTextMargins() member function has been deprecated in favor of textMargins(). [ChangeLog][QtWidgets][QWidget] The getContentsMargins() member function has been deprecated in favor of contentsMargins(). Change-Id: Ifdb890af6198fc682b94701786c67a5b945a4b4c Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Accessibility: Improve handling of read-only stateFrederik Gladhorn2019-05-071-2/+8
| | | | | | | | | | | We have been rather sloppy in how read-only versus editable is handled. According to the definition, editable signifies that in principle a widget allows the user to change its text. Read-only means that this ability is (currently) disabled. Task-number: QTBUG-75002 Change-Id: I5d71843abcdaac52f4a60a1abcac2604341f6c96 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Use placeholder text for accessible description of QLineEditJosé Millán Soto2018-02-051-0/+2
| | | | | | | | | If the accessible description of a QLineEdit is requested and none has been set, the placeholder text will be provided if one is available. Change-Id: I4c0dad1d06fd3d8a6e00c963402d380c59bd7f05 Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* Update usage of QFontMetrics::width() to new APIEskil Abrahamsen Blomfeldt2017-12-081-1/+1
| | | | | | | | | | | | | | QFontMetrics(F)::width() has been deprecated and is replaced by horizontalAdvance(). This updates all usage of it in tests and documentation. It is worth noting that many or most of the usages of QFontMetrics::width() probably intended to use boundingRect().width(), but since it currently works, I have not looked into that, just replaced the function name mechanically. Change-Id: Iec382e5bad0b50f37a6cfff841bfb46ed4d4555f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge remote-tracking branch 'origin/5.10' into devLiang Qi2017-11-231-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/network/access/qhttp2protocolhandler_p.h src/network/kernel/kernel.pri src/network/ssl/qsslkey_qt.cpp src/plugins/platforms/cocoa/qcocoascreen.mm src/plugins/platforms/windows/accessible/iaccessible2.cpp src/plugins/platforms/windows/accessible/iaccessible2.h src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.h src/widgets/widgets/qmenu_p.h tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp tests/auto/other/qaccessibility/tst_qaccessibility.cpp tests/auto/testlib/selftests/expected_cmptest.lightxml tests/auto/testlib/selftests/expected_cmptest.teamcity tests/auto/testlib/selftests/expected_cmptest.txt tests/auto/testlib/selftests/expected_cmptest.xml Done-with: Edward Welbourne <edward.welbourne@qt.io> Change-Id: I4217cc7d840cbae3e3dd28574741544469c4c6b9
| * Make sure that QAccessibleWindowContainer::childCount is validFrederik Gladhorn2017-10-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | When embedding foreign windows, we won't be able to return a valid child accessible interface, so do not report it at all. Supporting foreign windows properly is platform specific and something to consider, but at least we shouldn't crash. Task-number: QTBUG-63451 Change-Id: I19350cf97dc8d0c3f3052411eba0eee5f750dbab Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | Fix accessibility info for tri-state checkboxesAndre de la Rocha2017-11-141-1/+1
|/ | | | | | | | | | The state information provided by QAccessibleInterface::state() was not correctly reflecting the state of tri-state checkboxes: checkStateMixed was never set. This change fixes this issue and also adds accessibility update notifications for changes in checkStateMixed, which were missing. Change-Id: Ia4a114559d5a957ca85bf2f169a6cece2c98d077 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Convert features.menu to QT_[REQUIRE_]CONFIGStephan Binner2017-09-191-7/+9
| | | | | Change-Id: I031356411294b259ebd2b22c53159c93fd92af6e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Convert features.lineedit to QT_[REQUIRE_]CONFIGStephan Binner2017-09-121-2/+4
| | | | | Change-Id: I509977994b11a7fc0c109bfcc83aadeee6c9b0b8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Convert features.spinbox to QT_[REQUIRE_]CONFIGStephan Binner2017-09-121-0/+1
| | | | | Change-Id: Idecb6927c20ff009795b0ad94bbb7199df98a8f8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Convert features.toolbutton to QT_[REQUIRE_]CONFIGStephan Binner2017-08-101-2/+4
| | | | | Change-Id: I4227e1868da21bded76a8ec55996c436c8a8d763 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Convert features.groupbox to QT_[REQUIRE_]CONFIGStephan Binner2017-08-101-1/+3
| | | | | Change-Id: I034286043a880ab777ec3f2311572bdc38e7fafc Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Convert features.progressbar to QT_[REQUIRE_]CONFIGStephan Binner2017-08-101-3/+5
| | | | | Change-Id: I66d00d5bac98ff337ba5877e5f23be5e14a97551 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Convert features.statusbar to QT_[REQUIRE_]CONFIGStephan Binner2017-08-081-2/+4
| | | | | Change-Id: Ifc1881388e559d3235df0202ac6d26f78ba2c691 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Convert features.lcdnumber to QT_[REQUIRE_]CONFIGStephan Binner2017-05-291-1/+3
| | | | | Change-Id: Ie99d2ce0a836c27fb882c04ff465e6cdd483d360 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Convert features.movie to QT_[REQUIRE_]CONFIGStephan Binner2017-05-291-1/+1
| | | | | Change-Id: I838c7305d4649f953c5bb972f1aa51dbb078afe2 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Fix warnings with -no-feature-menuTasuku Suzuki2017-04-301-2/+3
| | | | | | | Change-Id: I1e62e3772dbd5f17d9ad69025b23e3726386c2bd Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Stephan Binner <stephan.binner@basyskom.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Add feature.abstractbuttonStephan Binner2017-03-131-1/+4
| | | | | Change-Id: Ie93c6d0a8256bc466d3419408b753d5f3738aa6b Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Deprecate QString::nullMarc Mutz2017-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | It's a Qt 3 compatibility vehicle, and as such inherits the now-alien property to distinguish empty and null strings. Particularly worrisome is the following asymmetry: QString("") == QString::null // false QString("") == QString(QString::null) // true Instead of fixing this behavior, recognize that people might use it as a weird way to call isNull(), albeit one that once was idiomatic, and simply deprecate everything that deals with QString::null. [ChangeLog][QtCore][QString] QString::null is now deprecated. When used to construct a QString, use QString() instead. When used to compare to a QString, replace with QString::isNull(). Change-Id: I9f7e84a92522c75666da15f49324c500ae93af42 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru>
* Add feature.pushbuttonStephan Binner2017-03-061-1/+5
| | | | | Change-Id: I654d91635e60b177df16f6dfe00acc940132f66a Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Add feature.checkboxStephan Binner2017-03-061-0/+8
| | | | | | Change-Id: Ib387390b796c3cab6de4ce94e0d217280a300df8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Add feature.label and feature.formlayoutStephan Binner2017-03-031-2/+17
| | | | | | Change-Id: Ic8dc0aee7f3fc0d8218ba709352b1378078c6070 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Add feature.radiobuttonStephan Binner2017-03-031-1/+6
| | | | | Change-Id: Ie11f178ce22e2fafdfdf1760288e90563569e0cb Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Build fix for -no-feature-validatorPaul Olav Tvete2017-03-011-0/+2
| | | | | Change-Id: I385ce6e37611b7ba32503ef5d041628dd764fe23 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge remote-tracking branch 'origin/5.8' into devLiang Qi2017-01-301-2/+6
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: examples/network/network-chat/peermanager.cpp src/widgets/util/qsystemtrayicon.cpp src/widgets/util/qsystemtrayicon_qpa.cpp src/widgets/util/qsystemtrayicon_win.cpp src/widgets/util/qsystemtrayicon_x11.cpp Change-Id: I1c026df83818c0ccaf956980370e7522960627db
| * Compile with -no-feature-tooltipPaul Olav Tvete2017-01-251-0/+2
| | | | | | | | | | Change-Id: I6093559dd7b8df578ebd050655fb9bd07e5f6809 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * Fix build with -no-feature-menuPaul Olav Tvete2017-01-251-2/+4
| | | | | | | | | | Change-Id: I8f9d5ef6b7f7102e56816677f1d3a5b5144b7083 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-08-311-0/+6
|\| | | | | | | Change-Id: I843994939f126ced22f7fe978ec4403f599fc7c9
| * fix build with various QT_NO_* definesNick Shaforostoff2016-08-261-0/+6
| | | | | | | | | | | | | | Done-with: Andriy Gerasika <andriy.gerasika@gmail.com> Change-Id: I90883a491dbddb005c3d756c339e42285d50e437 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | QAccessibleDisplay: don't use a container for just one elementMarc Mutz2016-08-251-9/+3
|/ | | | | | | | Drop the use of QVLA, and the loop. Put all of the code into QT_NO_SHORTCUT. Change-Id: I49b8e9aa403ea793fd2f3701a521776c33b64a3c Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Updated license headersJani Heikkinen2016-01-151-14/+20
| | | | | | | | | | | 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>
* QtWidgets: replace some index-based for loops with C++11 range-forMarc Mutz2015-12-161-2/+2
| | | | | | | | | | | | | | | | | | | | This needs to be handled a bit carefully, because Qt containers will detach upon being iteratoed over using range-for. In the cases of this patch, that cannot happen, because all containers are marked as const (either by this patch or before). Separate patches will deal with other situations. Apart from being more readable, range-for loops are also the most efficient for loop. This patch shaves almost 2K of text size off an optimized Linux AMD64 GCC 4.9 build. Change-Id: I53810c7b25420b4fd449d20c90c07503c5e76a66 Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Do not install headers for private classesFrederik Gladhorn2015-09-071-1/+1
| | | | | | | | | | When merging the accessibility plugin into the widgets library, the headers were just moved. They should have gotten the _p at that time. Task-number: QTBUG-47569 Change-Id: I0a2290dae3a8187596e9d7541ccf69beeb603296 Reviewed-by: Dimitar Dobrev Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Update copyright headersJani Heikkinen2015-02-111-7/+7
| | | | | | | | | | | | | | | | | | 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>
* Compile fix for QT_NO_TEXTHTMLPARSER in QtWidgetsJulien Brianceau2014-11-111-0/+2
| | | | | Change-Id: If67c851cf45ca53ac4af56d4dc36db24ea896ba1 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Update license headers and add new license filesMatti Paaso2014-09-241-18/+10
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* a11y: Make QAccessibleButton and friends resolve role dynamicallyTor Arne Vestbø2014-09-201-6/+39
| | | | | | | | | The role may changed based on the checkable state of the button, eg, so we need to resolve the role at runtime instead of hard-coding it in the constructor. Change-Id: I78faee08189c5510ca9964b07ad94bcf5d4fa11b Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Improve accelerator stripping in accessible widgetsFrederik Gladhorn2014-09-041-5/+10
| | | | | | | | | | | When we strip the & we should also report the hotkey. In addition only strip labels when they are buddys and try not to remove ampersands from all kinds of random text. This fixes https://bugs.kde.org/show_bug.cgi?id=338282 Change-Id: I401281cd9ff43b23a3923ad9909ca9c469b59506 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Accessibility: Improve line boundary helper functionsFrederik Gladhorn2014-09-041-6/+0
| | | | | | | | | 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>
* Remove QAccessibleToolButton::textFrederik Gladhorn2014-08-261-23/+0
| | | | | | | | | This function actually is worse than just calling QAccessibleButton::text which it already does. It would mess up the shortcut handling in addition to that. Change-Id: I56cb95a44624da4c5fccb43e6835f6012a083337 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Accessibility: Fix boundaries for text functions in QLineEditFrederik Gladhorn2014-08-131-0/+12
| | | | | | | | | | 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>
* Accessibility: Top level widgets should only be in the hierarchy onceFrederik Gladhorn2014-07-301-1/+1
| | | | | | | | | On Linux for example Orca gets confused when showing a dialog that is a child of another widget since it would show up twice in the hierarchy. Task-number: QTBUG-39444 Change-Id: I84773ecc3d6774a652dbeb29ad201779f5b3191c Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Update copyright to 2014 for accessibilityFrederik Gladhorn2014-07-041-1/+1
| | | | | Change-Id: I4210456122bf8a6d3730f017f3ce6dd1a1bcb3f5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Accessibility: Password QLineEdit should use * as text replacementFrederik Gladhorn2014-07-011-0/+2
| | | | | Change-Id: Ie07e86f1b6dff3096cab462f918994efa07b2a87 Reviewed-by: Caroline Chao <caroline.chao@digia.com>
* Accessibility: Fix select state usageFrederik Gladhorn2014-05-311-3/+1
| | | | | | | | | | 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>
* Accessibility: Fix rect for QComboBox and QRadioButtonFrederik Gladhorn2014-05-301-0/+20
| | | | | | | | | This is especially relevant on mobile devices where screen readers often send mouse clicks to the middle of the object. Task-number: QTBUG-39100 Change-Id: I5972f21dd12434601d86136215ab9b61248c9691 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-05-131-4/+0
| | | | | | | Manually changed enum to LibGL in src/plugins/platforms/xcb/qglxintegration.cpp Change-Id: If34ee6cce3d1d51fb4bb1fdfa59c30389ea0d207
* Merge remote-tracking branch 'origin/stable' into devIikka Eklund2014-04-011-0/+2
| | | | Change-Id: I2a6eb9dd7724931bc89f28bcc156e77c4e26d069
* Accessibility: Use factory function instead of pluginFrederik Gladhorn2014-03-131-0/+886
This simplifies deployment and makes instantiating accessible interfaces faster since no plugin needs to be loaded. [ChangeLog][QtWidgets] Accessibility for widgets is now included in the widget library instead of being a separate plugin. For static builds this means that libqtaccessiblewidgets is no longer required. Task-number: QTBUG-32888 Change-Id: Ie7347898868fd67c1fc568f0d251cbd2ef71e041 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>