Conversation
…on store GUI (#15009) Fixes #15008 Summary of the issue: In the add-on store GUI, the add-on list and the "Install from external source" button are too close to each other. Description of user facing changes There is now more space between the add-ons list and the button. Description of development approach Added a spacer between the two controls in the sizer. I have use the hard-coded value 5 as done elsewhere in this dialog.
…s, instead of OK/Cancel buttons; improve related translator comments (#15015) Fixes #15000 Summary of the issue: Dialogs used when installing, enabling, or upgrading to, incompatible add-ons, asked yes or no questions to the user. However, such dialogs used OK and Cancel as their buttons, which didn't really make sense. Description of user facing changes These three dialogs now have Yes and No buttons. Incidentally, added a newline before the question in each dialog, as commented in the original issue. This can be reverted separately if undesirable. Description of development approach Replaced the ErrorAddonInstallDialogWithCancelButton class, with a new class called ErrorAddonInstallDialogWithYesNoButtons. Removed ErrorAddonInstallDialogWithCancelButton, since it wasn't used anywhere other than for these three dialogs in gui/_addonStoreGui/controls/messageDialogs.py. Added a newline to separate explanation from actual question in these dialogs. Enhanced (hopefully) some translator comments I noticed along the way, as follow: Created a more accurate translator comment for the incomparable version during update message. Made the translator comment less ambiguous, for the message used when an add-on is being installed but is too old to be compatible. Made the translator comment more accurate, for the message used when enabling an add-on too old to be compatible. Fixed a typo in another translator comment.
closes #13431 After processing a text for dictionary substitutions and symbol level, the result might be an empty string, which leads to nothing being spoken at all (not even "blank"). Something should always be spoken when reading text, since nothing being spoken gives the appearance of NVDA freezing. Description of how this pull request fixes the issue: When a speech sequence is submitted to speech.speak, if all strings of the sequence become empty due to symbol level and dictionary substitution processing, then the sequence is considered blank and "blank" is appended to it. The function now also takes an additional argument, suppressBlanks, which is false by default. This parameter allows callers to suppress the "blank" being appended to the sequence, even if the conditions are met. The main intention is to suppress this behavior during say all. Usages of speech.speak have been updated to specify this parameter when appropriate.
This PR is the first step to reintroduce the distinction of singulare/plural forms when formatting UI strings. The project is as follow: 1. This PR introduce three strings to be able to test the feature. 2. 2023.2 beta phase should be used to validate more widely the feature with translators 3. A second PR during 2023.3 dev cycle will implement the plural forms for all UI strings containing only one value to format them. 4. A third PR should implement more complex cases of string formatted by two or more values, e.g. such as "table with x rows and y columns". This step-by-step approach should allow to lose less work in case an issue occurs and requires to revert changes. ### Link to issue number: First step to implement #12445. Restoring #11598, #12432 and #12435 that were reverted in #12448. Unblocked by nvaccess/mrconfig#97. ### Summary of the issue: Some UI messages or strings are reported with plural form, no matter the number passed as parameter to format them, e.g. NVDA reports "list with 1 items" with "s" even if there is only one item. ### Description of user facing changes The following strings will be reported using singular or plural form depending on the number used to format them: * "with %s items" (used to describe the number of items in a list on the web) * ".1f lines" (used when reporting multiple line spacing formatting in MS Word) * ""categories {categories}" used to report categories of appointments in MS Outlook Translators will be able to translate singular or plural forms. ### Description of development approach * First revert #12448 to restore the first attempt that was made to introduce `ngettext`. * Develop a custom `npgettext` function the same way as `pgettext` was introduced in NVDA since `npgettext` is not available in Python 3.7; `pgettext` and `npgettext` are available natively in Python 3.8. * `ngettext` and `npgettext` are made accessible without importing them; `pgettext` was already added previously in builtins. * Implement the plural form for two strings that are more commonly used than Outlook appointments category reporting: * "with %s items", using `ngettext` * "%.1f lines", using `npgettext`
Fixes #15007 Summary of the issue: NVDA sets the background colour for the details panel explicitly as white, and the text of the details explicitly as black. This causes text to be hard to read during high contrast mode. When high contrast mode is activated the background of text controls are correctly set to black, but the text color is also black. Additionally, the details background is set to white, instead of black, like the text controls. Instead, we should infer the background colour to match contrast modes. Description of user facing changes High contrast themes works as expected for the add-on store dialog. Description of development approach Use the BG colour of text controls to set the background colour of the details panel. Additionally, remove the code which makes the text explicitly black.
Summary of the issue: NVDA uses a variety of paths to write to. These can be hard to discover or track in the code, as write paths are not stored in globally available named symbols. For example, if a developer wishes to find code instances where NVDA writes to the profile config directory, searching "profile" will yield additional results, e.g. code comments. Description of user facing changes N/A Description of development approach Created a centralised class to list all available write paths in NVDA. This improves discoverability of write paths.
Fixes #14978 Summary of the issue: Downloading and installing an add-on follows these steps: Download and install is triggered by the user Download begins and writes to addonStore/_dl/addonId.download Download completes, and the file is renamed and cached addonStore/_dl/addonId-1.23.nvda-addon i. if you change tab here, the add-on state can be lost User exits NVDA add-on store Add-on installation is triggered, add-on is unzipped and written to addons/addonId.pendingInstall User is prompted to restart On restart addons/addonId.pendingInstall is installed to addons/addonId When changing tabs before exiting the add-on store, the state "download pending install" is lost. Description of user facing changes When changing tabs before exiting the add-on store, the state "download pending install" is no longer lost. Description of development approach The pending install state check was updated for the add-on store add-on model to include checks for download state. Add-ons that are downloaded pending install should now be treated as if they are pending install. The add-on state determiner now returns the correct state for add-ons which are downloaded but yet to start the install process.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.