Better feedback for changes in the new settings widget #38799
+499
−96
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.
Description of work
It was requested that the 'Apply' button on the new settings widget is greyed out when the user has made no changes to the settings, and enabled when there is a pending change.
The other thing I discovered in this PR is that the test files that were added in the original PR (#38373) were not added to cmake so haven't been running. I thought the search for missing pytest files pre-commit job was supposed to flag this. They've been added in this PR (along with new tests).
Summary of work
Design-wise I thought it best that the model of the settings widget tabs didn't know about the presenter. Instead, the presenter emits a signal when it adds a change in the model which is picked up by the parent presenter. For this I added a QObject base class of the presenters.
There is no associated issue.
Further detail of work
To test:
Play around in the settings widget, change settings and change them back again. 'Apply' button should enable and disable as you expect.
Reviewer
Please comment on the points listed below (full description).
Your comments will be used as part of the gatekeeper process, so please comment clearly on what you have checked during your review. If changes are made to the PR during the review process then your final comment will be the most important for gatekeepers. In this comment you should make it clear why any earlier review is still valid, or confirm that all requested changes have been addressed.
Code Review
Functional Tests
Does everything look good? Mark the review as Approve. A member of
@mantidproject/gatekeepers
will take care of it.Gatekeeper
If you need to request changes to a PR then please add a comment and set the review status to "Request changes". This will stop the PR from showing up in the list for other gatekeepers.