nvda
bd45d8e0 - Message Dialog API take 2 (#17582)

Commit
1 year ago
Message Dialog API take 2 (#17582) Closes #13007 Closes #12344 Closes #12353 Summary of the issue: This is the second PR to merge the message dialog API into NVDA. The previous merge was at `f437723`. See #17304 for full implementation details. The original PR was reverted by #17561, due to #17553 and #17560. Description of user facing changes This PR does not, in itself, introduce any end-user facing changes. However, it lays the groundwork for closing a number of issues. Tasks - [x] Fix the COM registration fixing tool (#17560) - [x] Fix NVDA updates (#17553) Description of development approach Restored `gui.nvdaControls.MessageDialog` inheriting from `ContextHelpMixin`, which was accidentally lost. Changed `updateCheck.UpdateAskInstallDialog.onUpdateButton` and `onPostponeButton` to simply end the modal, returning the appropriate code. Added a static method to `UpdateAskInstallDialog` which returns a callback function which, when given the return code from `UpdateAskInstallDialog`, performs the appropriate action. Added a property method to generate this callback function given the attributes of the instance on which it is called. Testing strategy: Created a portable copy of NVDA (`scons dist`), and tested running the CRFT: - Running and granting permission - works as expected - Running and denying permission - works as expected - Cancelling - works as expected Added `updateVersionType="snapshot:alpha" to `source/versionInfo.py`, and tested updating with NVDA running from source: 1. Attempt updating via NVDA menu -> Help -> Check for update... -> Download update -> Update - works as expected 2. Update by downloading then postponing update, then exit NVDA -> Install pending update a. Without incompatible updates installed - works as expected b. With incompatible updates installed - works as expected 3. Update by downloading then postponing update, restarting NVDA, then NVDA menu -> Install pending update - works as expected 4. Update by downloading then postponing update, restarting NVDA, then accepting the prompt to install the update - works as expected
Author
Parents
Loading