Skip to content

feat(settings): group account options behind a selector - #315

Merged
gnacho merged 3 commits into
mainfrom
feat/account-preferences-selector
Nov 7, 2026
Merged

gnacho merged 3 commits into
mainfrom
feat/account-preferences-selector

Conversation

@gnacho

@gnacho gnacho commented Nov 7, 2026 •

Copy link
Copy Markdown
Owner

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_files value and reconfigures that account.

Account changes temporarily set the outer GtkStack transition to None. Rebuilding used to switch from settings to sync and back with SlideLeftRight, causing a visible slide and flicker. Both changes are now instantaneous, and the normal transition is restored afterward for opening and closing Preferences.

Tests:

  • cargo build
  • cargo test: 766 passed, 0 failed, 3 ignored
  • cargo clippy --all-targets -- -D warnings
  • cargo fmt --check
  • git diff --check
  • i18n catalog parity: 539 entries

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 None for 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

@gnacho
gnacho merged commit dc51154 into main Nov 7, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Group per-account settings behind an account selector in Preferences

1 participant