Create helper function to show custom modal dialogs safer (#15265)
Raised in #15246 (comment)
Summary of the issue:
Sometimes a custom modal dialog is required, instead of just using gui.message.messageBox.
For example, adding additional buttons or controls instead of just message text and ok/cancel/yes/no buttons.
However gui.message.messageBox adds special handling to ensure users are warned if actions are blocked by an open modal dialog.
Description of user facing changes
Users are warned when trying to perform a task (e.g opening the NVDA menu) when modal dialogs from the add-on store are waiting a response.
Other modal dialogs have also been addressed, unless they are non-blocking (i.e. started in a separate thread).
These might be worth addressing too, on a case-by-case basis.
Description of development approach
Create a helper function to show a dialog as a modal dialog, while performing the necessary handling of messageBox
Testing strategy:
Test opening various Add-on store dialogs and performing nvda+n