[Terminal]: 'Save' and 'Discard Changes' button should remain in disabled state until we don't make any changes inside Settings page. #16707

Open
opened 2026-01-31 05:20:18 +00:00 by claunia · 2 comments
Owner

Originally created by @ghost on GitHub (Feb 8, 2022).

Windows Terminal version

1.13.10336.0

Windows build number

10.0.22543.1000

Other Software

Test Environment:
OS: Windows 11 Version Dev (OS Build 22543.1000)
App: Windows Terminal Preview
Screen Reader: Narrator

Steps to reproduce

Repro Steps:

  1. Open Windows Terminal.
  2. Open Settings page using 'Ctr+,'.
  3. Observe the issue.

User Experience:
Users UX will not be good especially Screen Reader as nothing will happen when they activate 'Save' and 'Discard' as result they will not be able to figure out whether these buttons are actionable or not.

Attachments:
'Save' and 'Discard Changes' button should remain in disabled state until we don't make any changes..zip

Expected Behavior

'Save' and 'Discard Changes' button should remain in disabled state until we don't make any changes inside Setting page.

Actual Behavior

'Save' and 'Discard Changes' buttons are in active state even if they are not actionable inside Setting page.

Originally created by @ghost on GitHub (Feb 8, 2022). ### Windows Terminal version 1.13.10336.0 ### Windows build number 10.0.22543.1000 ### Other Software **Test Environment:** OS: Windows 11 Version Dev (OS Build 22543.1000) App: Windows Terminal Preview Screen Reader: Narrator ### Steps to reproduce **Repro Steps:** 1. Open Windows Terminal. 2. Open Settings page using 'Ctr+,'. 3. Observe the issue. **User Experience:** Users UX will not be good especially Screen Reader as nothing will happen when they activate 'Save' and 'Discard' as result they will not be able to figure out whether these buttons are actionable or not. **Attachments:** ['Save' and 'Discard Changes' button should remain in disabled state until we don't make any changes..zip](https://github.com/microsoft/terminal/files/8021036/Save.and.Discard.Changes.button.should.remain.in.disabled.state.until.we.don.t.make.any.changes.zip) ### Expected Behavior 'Save' and 'Discard Changes' button should remain in disabled state until we don't make any changes inside Setting page. ### Actual Behavior 'Save' and 'Discard Changes' buttons are in active state even if they are not actionable inside Setting page.
Author
Owner

@carlos-zamora commented on GitHub (Feb 8, 2022):

This depends on #9207. Once that's complete, we can detect if changes have been made, and enable/disable the buttons.

We probably need to use SettingContainer to detect when a change occurred, and update some global view model property s_ChangesDetected = true.

Come to think of it, it would be cleaner to do this with MVVM done, but we could just store that static property off of MainPage (or MainPage's new view model, which we then populate more later). That would be a step in the right direction.

@carlos-zamora commented on GitHub (Feb 8, 2022): This depends on #9207. Once that's complete, we can detect if changes have been made, and enable/disable the buttons. We probably need to use `SettingContainer` to detect when a change occurred, and update some global view model property `s_ChangesDetected = true`. Come to think of it, it would be cleaner to do this with MVVM done, but we could just store that static property off of `MainPage` (or `MainPage`'s new view model, which we then populate more later). That would be a step in the right direction.
Author
Owner

@akash07k commented on GitHub (Feb 16, 2022):

@carlos-zamora Absolutely.
MVVM pattern in settings UI will be a lot appreciated.
It will make the things more flexible

@akash07k commented on GitHub (Feb 16, 2022): @carlos-zamora Absolutely. MVVM pattern in settings UI will be a lot appreciated. It will make the things more flexible
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#16707