mirror of
https://github.com/subsurface/subsurface.git
synced 2025-01-31 20:53:23 +00:00
Sync cloud storage on take-cloud-online
When taking the cloud online, actually sync with the online cloud storage. If there are no unsaved changes, do the same as "Open cloud storage". If there are unsaved changes, ask the user if they want to commit them (do the same as "Save to cloud storage") or if they want to sync manually. If syncing failed, inform the user. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
fd5a521b94
commit
dbef391786
1 changed files with 24 additions and 1 deletions
|
@ -647,8 +647,31 @@ void MainWindow::on_actionCloudstoragesave_triggered()
|
|||
|
||||
void MainWindow::on_actionTake_cloud_storage_online_triggered()
|
||||
{
|
||||
// Refuse to go online if there is an edit in progress
|
||||
if (DivePlannerPointsModel::instance()->currentMode() != DivePlannerPointsModel::NOTHING ||
|
||||
information()->isEditing() ) {
|
||||
QMessageBox::warning(this, tr("Warning"), tr("Please save or cancel the current dive edit before going online"));
|
||||
return;
|
||||
}
|
||||
|
||||
prefs.git_local_only = false;
|
||||
ui.actionTake_cloud_storage_online->setEnabled(false);
|
||||
if (unsaved_changes()) {
|
||||
// If there are unsaved changes, ask the user if they want to save them.
|
||||
// If they don't, they have to sync manually.
|
||||
if (QMessageBox::warning(this, tr("Save changes?"),
|
||||
tr("You have unsaved changes. Do you want to commit them to the cloud storage?\n"
|
||||
"If answering no, the cloud will only be synced on next call to "
|
||||
"\"Open cloud storage\" or \"Save to cloud storage\"."),
|
||||
QMessageBox::Yes|QMessageBox::No) == QMessageBox::Yes)
|
||||
on_actionCloudstoragesave_triggered();
|
||||
else
|
||||
setTitle();
|
||||
} else {
|
||||
// If there are no unsaved changes, let's just try to load the remote cloud
|
||||
on_actionCloudstorageopen_triggered();
|
||||
}
|
||||
if (prefs.git_local_only)
|
||||
report_error(qPrintable(tr("Failure taking cloud storage online")));
|
||||
}
|
||||
|
||||
void learnImageDirs(QStringList dirnames)
|
||||
|
|
Loading…
Add table
Reference in a new issue