Repository navigation
feat(settings): group account options behind a selector - #315
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Preferences now opens on an Account page with a drop-down for the configured accounts. The selected account's Add Folder action, hidden-files switch, proxy and TLS controls, authentication and removal confirmation are grouped on that page. The duplicate Account settings panel and its toggle have been removed from the main synchronization view. Folder rows, their live state and Sync Now remain unchanged.
Changing the drop-down presents the chosen account and rebuilds Preferences in place. The existing synchronization and advanced synchronization pages are rebuilt with the same account, so their values and callbacks do not remain tied to the previous selection.
The hidden-files switch lives only on the Account page. Duplicating it in Synchronization would require keeping two widget states in sync without making the setting easier to find. The switch reads and writes only the selected account's
sync_hidden_filesvalue and reconfigures that account.Account changes temporarily set the outer GtkStack transition to
None. Rebuilding used to switch from settings to sync and back withSlideLeftRight, causing a visible slide and flicker. Both changes are now instantaneous, and the normal transition is restored afterward for opening and closing Preferences.Tests:
The GTK account-switching test goes from account A to B and back, checks the proxy and account actions, verifies that the hidden-files switch appears only on Account, confirms independent persistence, and records
Nonefor every outer-stack transition during both account changes. Another GTK test verifies that Account settings is absent while the account synchronization view remains present. The existing Preferences RefCell regression test still passes.Closes #314