nvda icon indicating copy to clipboard operation
nvda copied to clipboard

Add an option to preserve configured braille tables when changing NVDA's language

Open nvdaes opened this issue 1 year ago • 10 comments

Is your feature request related to a problem? Please describe.

From PR #17222 , NVDA braille tables are set according to NVDA's language when it is modified.

Describe the solution you'd like

I'd like to provide a checkbox in General settings, below to languages combo box, or a checkbox in the message dialog presented to choose when to restart NVDA.

Describe alternatives you've considered

@LeonarddeR prefers an auto option in braille tables combo boxes, but I think that this makes difficult to consult the current braille tables.

Additional context

nvdaes avatar Oct 18 '24 12:10 nvdaes

cc: @Adriani90

nvdaes avatar Oct 18 '24 12:10 nvdaes

I think for transparency reasons, a checkbox is suitable. This is because there is more than one braille table per language, at least for output tables. So the user certainly might want to know to which braille table NVDA changed automatically. I suggest a checkbox in Braille settings called „Braille in- and Output follows NVDA language „. When enabled, braille tables are adjusted automatically. When disabled, users choice or the last state is preserved. The checkbox can be disabled by default.

Adriani90 avatar Oct 18 '24 14:10 Adriani90

I really prefer a new option in the combobox called automatic, similar to how the automatic braille display is listed in the braille display selection dialog. E.g. Output table: Automatic (Dutch 6 dot)

LeonarddeR avatar Oct 18 '24 15:10 LeonarddeR

But is it in WX Python possible at all to customize a combo box item like that? I mean the text in the paranthesis is dynamic and should change according to nvda language.Unless we have an extra „automatic“ options library for every Liblouis table added to NVDA.Von meinem iPhone gesendetAm 18.10.2024 um 17:57 schrieb Leonard de Ruijter @.***>: I really prefer a new option in the combobox called automatic, similar to how the automatic braille display is listed in the braille display selection dialog. E.g. Output table: Automatic (Dutch 6 dot)

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

Adriani90 avatar Oct 18 '24 17:10 Adriani90

If we add the info about tselected table, I agree with @LeonarddeR , since in this case the gui will be more simple, without an extra checkbox. I think we can add this table info easily using table.displayName. This is available to be used in NVDA. If nobody wants to take it, I will create a PR when this is triaged.

nvdaes avatar Oct 18 '24 17:10 nvdaes

You may want to follow what is done for the first combo-box when starting NVDA with the --lang command line flag.

By the way, you have chosen the "new feature" template, but the reason why this issue has been opened is rather a problem with the current implementation of the feature. Would you mind at least describe the issue here? And why the auto-selection done for speech (e.g. eSpeak) does not seem to be desirable at all for braille?

CyrilleB79 avatar Oct 18 '24 22:10 CyrilleB79

@CyrilleB79 , I thought about this option and for me this is not a bug. For me this is comparable to eSpeak variants. Of course I maybe wrong. Thanks for your suggestion about the lang command line option. I'm thinking in a different way of implementation, but I'll consider your suggestion. Maybe very useful. Thanks.

nvdaes avatar Oct 19 '24 03:10 nvdaes

@nvdaes wrote:

For me this is comparable to eSpeak variants.

Note that the Espeak variant isn't touched on changing NVDA"s language, contrary to the current implementation merged in #17222. That's my major concern with the current implementation, not the behavior of auto per se. In fact, if the behavior of changing the braille table when changing NVDA's language is reverted, I can live with the current implementation just fine. That said, I think the ability to choose auto in the combo boxes would be an improvement.

LeonarddeR avatar Oct 19 '24 06:10 LeonarddeR

My current plan is:

  • Preserve the auto value in config.conf.
  • In handlePostConfigProfileSwitch functions, set self._table = the table corresponding to the current language using the new dictionaries available in brailleTables.
  • Change _set_table functions so that config.conf is not changed if tables are set to auto.
  • In combo boxes, create a new automatic option showing the table display name corresponding to the table for the current language.
  • In onSave function, set config.conf braille tables according to the selection (0 for auto).

nvdaes avatar Oct 19 '24 07:10 nvdaes

Sounds great.

LeonarddeR avatar Oct 19 '24 08:10 LeonarddeR

Given the current behavior impacts directly braille users and can cause serious issues e.g. if you don't know braille in asian languages, I'll give it a p3. @seanbudd feel free to change the prio if needed, otherwise @nvdaes I would say it is ok to proceed with the PR and continue the discussion there in the review process.

Adriani90 avatar Oct 21 '24 11:10 Adriani90

This is fixed via #17314 .

nvdaes avatar Nov 07 '24 08:11 nvdaes