Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow enable/disable action on a selection of two add-ons or more #15623

Closed
CyrilleB79 opened this issue Oct 13, 2023 · 2 comments · Fixed by #15646
Closed

Allow enable/disable action on a selection of two add-ons or more #15623

CyrilleB79 opened this issue Oct 13, 2023 · 2 comments · Fixed by #15646
Labels
feature/addon-store Features / behavior of the add-on Store p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation.
Milestone

Comments

@CyrilleB79
Copy link
Collaborator

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

When an issue occurs, a common debug process is to disable add-ons in order to identify if the issue comes from NVDA or from installed add-ons. When the issue comes from add-ons, the next part of the process is to deactivate or reactivate the add-ons half by half in the list. Using a dichotomy strategy it finally allows to identify the add-on causing the issue, at least if we exclude the case of an issue caused by the combination of two add-ons.

Describe the solution you'd like

Now that multiple selection of add-ons is allowed in the Store, allow the following actions on a selection of multiple add-ons in the installed add-ons tab:

  • Enable selected add-ons. Should be available if the selection contains at least one disabled add-on and no add-on disabled for incompatibility. The selection can contain add-ons already enabled; in this case, the action on this add-on is a no-op.
  • Disable selected add-ons. Should be available if the selection contains at least one enabled add-on. The list may contain add-ons "disabled" or "disabled for incompatibility"; in this case, the action on already disabled add-ons (for compatibility or not) is a no-op.
  • Enable selected add-ons (override compatibility). Should be available if the selection contains at least one add-on disabled for compatibility issue. All the disabled add-ons (for compatibility or not) should be reenabled. The action on already enabled add-ons of this list is a no-op.

Although not the main request of this issue, it should also be considered if it is relevant to have these actions implemented in other tabs.

Describe alternatives you've considered

Allow batch enabling/disabling via command line as described in #13084. Having a GUI feature and a command line feature are not exclusive/incompatible feature however; both can be implemented and address different groups of users.

Additional context

There are other actions that would be nice to have on a selection of multiple add-ons. For example: Uninstall multiple add-ons from the Installed add-ons tab. Such future possible request should be kept in mind when implementing the current feature request.

@XLTechie
Copy link
Collaborator

XLTechie commented Oct 13, 2023 via email

@seanbudd
Copy link
Member

Makes sense - an action for mass uninstall would also be good

@seanbudd seanbudd added p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation. feature/addon-store Features / behavior of the add-on Store labels Oct 16, 2023
seanbudd pushed a commit that referenced this issue Nov 27, 2023
…ble) (#15646)

Closes #15623

Summary of the issue:
In the store, install action can be executed on multiple add-ons. Other batch actions are needed.

Description of user facing changes
The following additional batch actions are now available in the store:

Remove selected add-ons
Update selected add-ons
Enable selected add-ons
Disable selected add-ons

Description of development approach
Use the same condition as the one required for the corresponding single action to occur.
For code simplicity there is no distinction between Enable and Enable (override) for the corresponding multiple action. Anyway, when an add-on should override compatibility to be enabled, there is a confirmation dialog box.
Also for simplicity, there is no multiple replace action:
if a multiple selection contains installable add-on with or without updatable or replaceable add-ons, the "Install selected add-ons" batch action will be available
If a multiple selection contains updatable add-ons, replaceable add-ons or both types, the "Update selected add-ons" batch action will be available.
For batch actions requiring a confirmation (e.g. override incompatibility, uninstall), the confirmation dialog box has a "Remember this choice" checkbox so that the user can answer yes or no for all the same questions.
When many add-ons are selected and a batch action is applied to them, the action actually applies only to the add-ons for which it is appropriate. E.g batch enable will not be applied to already enabled add-ons.
@nvaccessAuto nvaccessAuto modified the milestone: 2024.1 Nov 27, 2023
seanbudd pushed a commit that referenced this issue Dec 19, 2023
…-on (#15936)

Issue probably introduced in #15623.

Summary of the issue:
When installing an incompatible add-on (e.g. add-on last tested with NVDA 2023.3) from Windows Explorer, we get a warning asking to confirm the installlation. If I answer No, the installation process still continues.
It's because the function to display the dialog box now returns a 2-tuple which always evals to True.

Description of user facing changes
Answering No in the incompatibility warning dialog will now stop the installation process as expected.

Description of development approach
Only check the first element of the tuple to know the choice made in the dialog.
Adriani90 pushed a commit to Adriani90/nvda that referenced this issue Mar 13, 2024
…-on (nvaccess#15936)

Issue probably introduced in nvaccess#15623.

Summary of the issue:
When installing an incompatible add-on (e.g. add-on last tested with NVDA 2023.3) from Windows Explorer, we get a warning asking to confirm the installlation. If I answer No, the installation process still continues.
It's because the function to display the dialog box now returns a 2-tuple which always evals to True.

Description of user facing changes
Answering No in the incompatibility warning dialog will now stop the installation process as expected.

Description of development approach
Only check the first element of the tuple to know the choice made in the dialog.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature/addon-store Features / behavior of the add-on Store p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants