Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial support for the upcoming version of the Kindle app #6247

Merged
merged 20 commits into from Sep 16, 2016
Merged

Conversation

michaelDCurran
Copy link
Member

@michaelDCurran michaelDCurran commented Aug 8, 2016

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).

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.
…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.
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).
…: 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.
@@ -1300,7 +1300,7 @@ def event_selectionWithIn(self):

def _get_isPresentableFocusAncestor(self):
IARole = self.IAccessibleRole
if IARole == oleacc.ROLE_SYSTEM_CLIENT and self.windowStyle & winUser.WS_SYSMENU:
if IARole == oleacc.ROLE_SYSTEM_CLIENT and self.event_objectID==winUser.OBJID_CLIENT and self.event_childID==0 and self.windowStyle & winUser.WS_SYSMENU:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should have a comment in this block explaining this, as it's a bit obscure. Something like this:

# This is the root object of a top level window.
# #4300: We check the object and child ids as well because there can be "clients" other than the root.

jcsteh added a commit that referenced this pull request Sep 1, 2016
@jcsteh jcsteh merged commit 41136b8 into master Sep 16, 2016
@nvaccessAuto nvaccessAuto added this to the 2016.4 milestone Sep 16, 2016
@jcsteh jcsteh deleted the kindleReader branch September 16, 2016 03:36
@vgjh2005
Copy link

Hi Mic:
Can you provide the download link of this app? Thanks!

@jcsteh
Copy link
Contributor

jcsteh commented Sep 21, 2016 via email

jcsteh added a commit that referenced this pull request Dec 2, 2016
… 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Tighten top level client check in NVDAObjects.IAccessible.isPresentableFocusAncestor
4 participants