QML UI: when switching from no cloud to cloud usage, don't drop local data

This is rather simplistic, it just imports the local data into the remote
repository and therefore loses the git history of the local data - but I
wasn't able to make the git merge without shared base commit work, so I
went this much easier to implement route instead.

One thing we need to be careful about is that contacting the remote server
could fail. If we don't manage to merge the dives from cloud server and
local storage, we need to revery to no cloud status in order not to lose
the local data.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2016-04-29 06:28:09 -07:00
parent c6205b5819
commit 4ad73fb807
2 changed files with 68 additions and 13 deletions

View file

@ -128,11 +128,13 @@ public slots:
void clearGpsData();
void finishSetup();
void openLocalThenRemote(QString url);
void mergeLocalRepo();
QString getNumber(const QString& diveId);
QString getDate(const QString& diveId);
QString getCurrentPosition();
QString getVersion() const;
void deleteGpsFix(quint64 when);
void revertToNoCloudIfNeeded();
void consumeFinishedLoad(timestamp_t currentDiveTimestamp);
void refreshDiveList();
void screenChanged(QScreen *screen);