While file synchronisation is provided by applications like OwnCloud, NextCloud or DropBox, the synchronisation status very much falls into the realm of system status. CloudProviders provide applications with a way of exposing the relevant information to us, so use that to display a corresponding indicator when appropriate.
This merge request depends on World/libcloudproviders!42 (merged) I didn't manage to test with a cloud-providers enabled client yet I didn't figure out anything meaningful to do when activating the account menu items 🤷
I found the meson option to enable libcloudprovider's test client/server, so I was able to do some actual testing:
Every provider (like OwnCloud, NextCloud, DropBox, ...) gets its own submenu under the name they provide (or the generic "File synchronization" name if there is only one)
The "MyAccount" items are the configured shares. They now open the appropriate location in the file manager, not necessarily because I think it's the best option, but because the existing API allows for little else (other than making the items insensitive).
The indicator in the top bar is a single icon that represents the (hopefully) most important status:
- if an account has an error, it shows an error indication
- if any account is syncing, it shows a syncing icon
- if everything is fully synced, the icon is hidden