intellij-community
intellij-community copied to clipboard
[settings-sync] IJPL-13201 Allow to choose cross-IDE sync mode when enabling sync
Resolves: https://youtrack.jetbrains.com/issue/IJPL-13201/Unable-to-choose-the-type-of-synchronization-in-the-dialog-when-enabling-Setting-Sync
This PR enables selecting the cross-IDE sync mode when initially enabling sync by:
- extracting all of the Settings Sync settings UI into
SettingsSyncPanelFactory, - changing
SettingsSyncLocalSettingto follow the same patternSettingsSyncSettingsuses (to wit, persistent settings and temporary UI state fronted by a common interface), - threading the remote cross-IDE sync state value when receiving the initial remote snapshot, so that the UI can pre-select the correct radio button,
- writing cross-IDE sync state marker file before sending the initial state bundle to the server.