Initial support for the upcoming version of the Kindle app #6247
This PR contains various small changes to treeInterceptors and textInfos,handling page turns in braille, and fixes for QT5. Fixes #4300.
…y methods to be abstract enough to not have to specifically handle _rangeObj. _rangeObj only exists for certain TextInfos (UIA, MS Word, MSHTML) but not IA2Text etc.
…tStart which just returns the NVDAObject the TextInfo is for (obj).
…_getNVDAObjectFromOffset which returns the NVDAObject the textInfo is for, and _getOffsetFromNVDAObject which if given the textInfo's object, returns the offset from 0 to story length.
…d role is silenced on focus).
…an MSAA role of client and a sysmenu should not be enough to force this to True. Rather it should also have event_objectID of client and a childID of 0, explicitly meaning this is the client root of the window.
… if the object implements DocumentWithPageTurns.
…t not ReviewTextInfoRegion.
Specifically: * Browse mode allowing for moving through the content by character, word, line etc with the arrow keys. * Automatic page turns when reaching the start/end of a page with the arrow keys / Say All. * Automatic reporting of page labels or numbers if available * Reporting of current location within a book (including percentage) via NVDA's report location command (NVDA+numpadDelete).
…ed state is not correctly set.
…le of contents treeview).
…: only detect possible selection changes if there is no pending focus event. Some frameworks such as QT clear the selection in an edit field before moving focus away.
…ed to QT5. qt.Container: shouldAllowIAccessibleFocusEvent should always be true if there is an activeChild. QT5 does not set the focused state on the list or an ancestor in this instance. correct.
… be overwritten again. Als ensure that WordDocumentTextInfo can be copied via passing another TextInfo as its constructor.
… Kindle app. The version of Kindle supported by this code will not be released. Instead, a later version will be released with more features, but this also requires newer NVDA code which will not be included as part of this release. This older NVDA code won't cause any major problems, but it won't work as expected. Therefore, we shouldn't mention this in the What's New, but there's no need to remove the code at this late stage. Re #6247.