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

gui/wxPython 4: if gui.messageBox is called, other NVDA dialogs won't accept keyboard input #8566

Closed
josephsl opened this issue Jul 27, 2018 · 2 comments

Comments

@josephsl
Copy link
Collaborator

commented Jul 27, 2018

Hi,

Reported by a user via Twitter: if a dialog powered by gui.messageBox opens, keyboard input won't be received by other NVDA dialogs.

Steps to reproduce:

  1. Open NVDA's Python Console and type the code shown below.
  2. After typing the code, press Enter.
  3. Go to a browser window, switch to browse mode, then press Control+NVDA+F to find text.

The code to type from Python Console is:

import gui, wx
gui.messageBox("sometext", "somedialog")

And:

wx.CallAfter(gui.messageBox, "sometext", "somedialog")

Actual behavior:

Cannot find text in browse mode documents. When Enter key is pressed from find dialog, error sound is heard.

Expected behavior:

Find dialog works as advertised.

System configuration:

NVDA Installed/portable/running from source:

Installed

NVDA version:

Alpha.15693

Windows version:

Windows 10 Version 1803 and Insider Preview

Name and version of other software in use when reproducing the issue:

None

Other information about your system:

None

Other questions:

Does the issue still occur after restarting your PC?

Yes

Have you tried any other versions of NVDA?

Yes - 2018.2

Remarks:

Looks like we need to do something about message box differences between wxPython Classic versus Phoenix.

Thanks.

@josephsl

This comment has been minimized.

Copy link
Collaborator Author

commented Jul 28, 2018

Hi,

Looks like we need to use wx.Dialog.ShowModal for some standalone dialogs. For now, the pull request for this issue will cover find dialog first.

Thanks.

@josephsl

This comment has been minimized.

Copy link
Collaborator Author

commented Jul 28, 2018

Hi,

After further testing, here's what I've got so far:

  • This problem exists in older NVDA versions as well, so this is not specific to wxPython version.
  • If Dialog.ShowModal is used, it causes a problem where oldest instance of a given dialog won't close unless newer instances are closed first. This is seen when opening elements list screen multiple times in succession.

Thanks.

josephsl added a commit to josephsl/nvda that referenced this issue Aug 6, 2018

Find dialog: NVDA will no longer appear to do nothing when trying to …
…find text while NVDA's about dialog is opened. Re nvaccess#8566.

wxPython 4: somehow, Find dialog (Control+NVDA+F) doesn't work if NVDA's About dialog is opened. Mitigate this by giving this dialog the same treattment as elements list - creating a run callback.

josephsl added a commit to josephsl/nvda that referenced this issue Jun 6, 2019

Find dialog: NVDA will no longer appear to do nothing when trying to …
…find text while NVDA's about dialog is opened. Re nvaccess#8566.

wxPython 4: somehow, Find dialog (Control+NVDA+F) doesn't work if NVDA's About dialog is opened. Mitigate this by giving this dialog the same treattment as elements list - creating a run callback.

@nvaccessAuto nvaccessAuto added this to the 2019.3 milestone Jun 6, 2019

michaelDCurran added a commit that referenced this issue Jun 6, 2019

Find dialog: NVDA will no longer appear to do nothing when trying to …
…find text while NVDA's about dialog is opened. Re #8566. (#8595)

wxPython 4: somehow, Find dialog (Control+NVDA+F) doesn't work if NVDA's About dialog is opened. Mitigate this by giving this dialog the same treattment as elements list - creating a run callback.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.