Conversation
Fixes #14519 Fixup of #14303 Summary of the issue: #14303 fixed a bug where landmarks and regions were not correctly reported in some cases. However, #14303 failed to check/respect the config setting for reportLandmarks Description of user facing changes Landmarks are no longer reported incorrectly Description of development approach Check the config setting when reporting landmarks/regions in the case introduced by #14303
#14578) Fixes #14407 Summary of the issue: When launching NVDA with parameter --lang=windows, an error occurs when openeing the General settings dialog. This error probably occurs when Windows language is not in the list of languages supported by NVDA (even if I have not been able to test such Windows localization). This error also occurs when Windows provides language+region code ('fr_FR') whereas NVDA supports 'fr' more generally. Description of user facing changes For Windows language not directly supported by NVDA, use the language code as a description instead of a full text description. Description of development approach I have choosen to replace full text description by the language code when NVDA does not support windows language+region. This is the simplest approach. For fr_FR, I may have implemented a fallback to 'fr', but this would just throw other corner cases for Windows languages completely unknown to NVDA. I believe that displaying full text language names in a few more cases do not deserve a much more complex implementation. The first goal is to be able to open the settings dialog.
…tures to be displayed in the INput gesture dialog (#14600) Fixes #14599 Summary of the issue: In some case (e.g. NVDA dev or add-on dev/update/uninstall), the file gesture.ini may contain script association for scripts that do not exist anymore in the current config. As described in #14599, if you try to reassign the shortcut that was used for such old removed scripts, the gesture may not be displayed in the input gesture dialog. Description of user facing changes When the file gesture.ini contains script association for unexisting scripts, e.g. due to old add-on or old devs in NVDA source code, there will not be anymore the risk that a gesture associated to a currently valid script be not displayed. Description of development approach • If a script name is not found in a class, do not consider this script handled and remove it from the handledScripts set; also log a debugWarning in this case. • And also checked other continue statement (and commented one of them) to check the logic with respect to scripts added in this list.
It is possible to register a callback on hwIo.IoBase to catch read errors. However, if this is a callback on a driver and the driver closes the device, the device keeps a reference to the callback on the driver. This causes a circular reference. Description of user facing changes Possibly less unreachable object errors Description of development approach Similar to _onReceive, ensure that onReadError is set to None when closing the device.
A synth driver inherrits from autoSettingsUtils.autoSettings.AutoSettings but overrides its loadSettings method to work around changing the voice. However, that override doesn't respect settings that aren't saved in config, like the parent class does. Description of user facing changes None Description of development approach Ensure that a synth doesn't try to get a setting from config that's not a setting stored in config.
…nate of a merged cell (#14585) For some translators (Chinese ones at least), in the case of merged cell it would be better to report "column 2 to column 3" instead of "column 2 to 3" as we do today. Today, NVDA uses 2 translatable strings to report the coordinates of a merged cell: • for rows: "row %s" and "through %s" • for columns: "column %s" and and "through %s" Description of user facing changes Translators will now have two strings indicating the end coordinate of a merged cell, one for rows and one for columns. Description of development approach I just have used .format(...) with named parameters. Defining strings with two parameters named differently allows to create 2 translatable strings instead of only one. As a side effect, it's also better for translators to have named parameters rather than just %s which is not explicit. Note: using pgettext was another option, but with named parameters, it didn't turn out to be necessary.
…ion of a link (#14583) It was pointed out, that in this age of phishing and other daily digital security threats effecting average users across the globe, the ability to determine where a link on the web, in an email, or anywhere else, is actually going to take you, is of increasing importance. NVDA has no current way to do that in most/all circumstances. Description of user facing changes Added the following global commands: • NVDA+k (all layouts): Report the destination URL of the link in the navigator object. Pressed once, will speak/braille the link, or other element containing a link, represented by the navigator object. Pressed twice, will show the link text in a window with the link name as its title, which can be reviewed more carefully. • Unassigned by default: Report the destination URL of the link in the navigator object in a window. Will skip directly to showing the browseable message, as above. This second option is imagined as an alternative to which braille users might prefer to remap NVDA+k. The NVDA+k key was chosen because of its relatability to the browse mode K command. I also added the NVDA+k key and description, to the "Reporting location and other information" section of the user guide. I did not add information about the unmapped command, or a broader description of the feature in general, because I was not sure of an appropriate section for it, though it may be worth adding a "Miscellaneous Features" section at some point. Description of development approach • Added two new scripts to globalCommands.py. The first will output the link, if the navigator object is or contains a link (such as a graphic with a link), as a ui.message if called once, or as a ui.browseableMessage if called twice. • If the role is not LINK, or the states do not contain the LINKED state, it speaks/brailles "Not a link". • The second script just calls the first script, with a flag directing it to ignore whether the key was pressed twice, and proceed directly to displaying in a ui.browseableMessage.
…ast item (#14574) Status bar contents are not read in Notepad 11.2212. Description of user facing changes Status bar will be read in newer Notepad 11 releases. Description of development approach Reposition status bar index to become second to last item (-2) in the Notepad UI tree. This is applicable in stable (11.2210 as of time of this pull request) and upcoming dev (11.2212) release with tabbed Notepad interface. Unless the UI tree changes significantly, this change will support old and new Windows 11 Notepad releases.
Fixes #14127 Supersedes #14451 Summary of the issue: When using the foobar2000 audio player, the ctrl+shift+r command should report the remaining time in the audio file in the SS, MM:SS, HH:MM:SS, or D HH:MM:SS format depending on the remaining time length. However, using the command on audio files over a day long produces an error as the code attempts to read the time string in the HH:MM:SS format instead of the D HH:MM:SS format. Description of user facing changes Time calculation is now processed correctly for all audio length up to 31 days. After this point, it is uncertain how foobar reports time. In addition to fixing the time calculations, the spoken UI message was also amended to say "[time] total", "[time] elapsed", or "[time] remaining", rather than just "[time]" so as to be more understandable for the listener. Description of development approach Created a collection of translatable time string output formats. Created a generic way to parse timedeltas to localised formatted strings. Created internal functions for foobar appModule to parse foobar time strings to localised formatted strings. --------- Co-authored-by: saurabhanand03 <asaurabh2003@gmail.com>
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.
Must be merge commit not squash merge