mobile: add status text for cloud sync state

This allows the mobile UI to reflect the three states that the dive list can be
in:
- changes that haven't been written to local storage
- there potentially are changes in local storage that were not synced with the cloud
- dive list is in sync with cloud storage

The last state could be misleading if the user access the cloud from a
different device and makes changes to the cloud storage from there, but from
the point of view of this device, the states are consistent.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2020-06-13 13:52:04 -07:00
parent 01de67a5a6
commit 3a409c51ea
2 changed files with 17 additions and 0 deletions

View file

@ -60,6 +60,7 @@ class QMLManager : public QObject {
Q_PROPERTY(QString redoText READ getRedoText NOTIFY redoTextChanged) // this is a read-only property
Q_PROPERTY(bool diveListProcessing MEMBER m_diveListProcessing WRITE setDiveListProcessing NOTIFY diveListProcessingChanged)
Q_PROPERTY(bool initialized MEMBER m_initialized NOTIFY initializedChanged)
Q_PROPERTY(QString syncState READ getSyncState NOTIFY syncStateChanged)
public:
QMLManager();
@ -175,6 +176,8 @@ public:
void setOldStatus(const qPrefCloudStorage::cloud_status value);
void rememberOldStatus();
QString getSyncState() const;
public slots:
void appInitialized();
void applicationStateChanged(Qt::ApplicationState state);
@ -317,6 +320,7 @@ signals:
void undoTextChanged();
void redoTextChanged();
void restartDownloadSignal();
void syncStateChanged();
// From upload process
void uploadFinish(bool success, const QString &text);