nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
https://www.nvaccess.org/
Other
2.11k stars 636 forks source link

In recent alpha snapshots when any NVDA dialog is open configuration profiles triggers are disabled. #8821

Open lukaszgo1 opened 6 years ago

lukaszgo1 commented 6 years ago

Steps to reproduce:

  1. Create a configuration profile for notepad, set it to be triggered when notepad is active and set a speed faster than your standard.
  2. Create second profile for cmd, make it triggered when cmd is active and change in it another voice parameter.
  3. From cmd open an NVDA voice dialog.
  4. switch to notepad with nvda dialog still opened.

    Actual behavior:

    The profile for notepad is not activated.

    Expected behavior:

    The profile should be activated.

    System configuration:

NVDA Installed/portable/running from source:

Installed

NVDA version:

alpha-16149,e713f614

Windows version:

Windows 7 x64

Name and version of other software in use when reproducing the issue:

Notepad and cmd

Other information about your system:

Other questions:

Does the issue still occur after restarting your PC?

Yes

Have you tried any other versions of NVDA?

No.

LeonarddeR commented 6 years ago

I can not reproduce this with alpha-16149 when using a profile for Notepad.

lukaszgo1 commented 6 years ago

It wasn't as simple to reproduce as i thought. I've updated an initial commend accordingly.

LeonarddeR commented 6 years ago

Thanks for your initial comment. However, this is not a bug.

  1. gui.settingsDialogs.SettingsDialog has a property shouldSuspendConfigProfileTriggers, which defaults to True.
  2. When this property is True, opening an NVDA settings dialog will automatically disable config profiles as long as the dialog is open. If this wouldn't happen, you might accidentally end up changing the wrong config profile. Imagine the case where you open the NVDA settings from the cmd profile and switching to Notepad activates the Notepad profile. What is switching back to the settings dialog supposed to do?

Now, it might make sense to, instead of having a shouldSuspendConfigProfileTriggers attribute on the SettingsDialog class, have the settings dialog remember from which application it was opened. However, that will probably add much complexity without improving the user experience in a major way. Therefore, I'm tempted to close this.

lukaszgo1 commented 6 years ago

@Leonardder wrote:

Thanks for your initial comment. However, this is not a bug.

1. gui.settingsDialogs.SettingsDialog has a property shouldSuspendConfigProfileTriggers, which defaults to True.

2. When this property is True, opening an NVDA settings dialog will automatically disable config profiles as long as the dialog is open. If this wouldn't happen, you might accidentally end up changing the wrong config profile. Imagine the case where you open the NVDA settings from the cmd profile and switching to Notepad activates the Notepad profile. What is switching back to the settings dialog supposed to do?

Your answer certainly makes sense for NVDA settings dialog, but the same happens for input gestures dialog, all dictionaries dialog and symbol pronunciation dialog and they aren't profile dependent.

LeonarddeR commented 6 years ago

you're right. There's certainly something that ought to be addressed here.

Adriani90 commented 1 year ago

I think this is a duplicate of #11198.