diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2016-07-30 13:09:31 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2016-07-30 13:29:06 -0700 |
commit | 430f5b77c583e5c29a5299740763ddfc9a098570 (patch) | |
tree | d8f1c1e4e12f966ac7b63e0ce5373b7703e6cdc2 | |
parent | 677bbb77d90c7e3e60cd7de39488107d7cbb65d9 (diff) | |
download | subsurface-430f5b77c583e5c29a5299740763ddfc9a098570.tar.gz |
Add menu entry to remove the offline state
If an attempt to contact the cloud storage fails, Subsurface switches into
offline mode. This allows us to go back online again.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r-- | desktop-widgets/mainwindow.cpp | 13 | ||||
-rw-r--r-- | desktop-widgets/mainwindow.h | 1 | ||||
-rw-r--r-- | desktop-widgets/mainwindow.ui | 10 |
3 files changed, 20 insertions, 4 deletions
diff --git a/desktop-widgets/mainwindow.cpp b/desktop-widgets/mainwindow.cpp index 22c57e2fc..868545600 100644 --- a/desktop-widgets/mainwindow.cpp +++ b/desktop-widgets/mainwindow.cpp @@ -387,6 +387,7 @@ void MainWindow::enableDisableCloudActions() { ui.actionCloudstorageopen->setEnabled(prefs.cloud_verification_status == CS_VERIFIED); ui.actionCloudstoragesave->setEnabled(prefs.cloud_verification_status == CS_VERIFIED); + ui.actionTake_cloud_storage_online->setEnabled(prefs.cloud_verification_status == CS_VERIFIED && prefs.git_local_only); } PlannerDetails *MainWindow::plannerDetails() const { @@ -595,6 +596,12 @@ void MainWindow::on_actionCloudstoragesave_triggered() mark_divelist_changed(false); } +void MainWindow::on_actionTake_cloud_storage_online_triggered() +{ + prefs.git_local_only = false; + ui.actionTake_cloud_storage_online->setEnabled(false); +} + void learnImageDirs(QStringList dirnames) { QList<QFuture<void> > futures; @@ -1681,10 +1688,12 @@ QString MainWindow::displayedFilename(QString fullFilename) if (fullFilename.contains(prefs.cloud_git_url)) { QString email = fileName.left(fileName.indexOf('[')); - if (prefs.git_local_only) + if (prefs.git_local_only) { + ui.actionTake_cloud_storage_online->setEnabled(true); return tr("[local cache for] %1").arg(email); - else + } else { return tr("[cloud storage for] %1").arg(email); + } } else { return fileName; } diff --git a/desktop-widgets/mainwindow.h b/desktop-widgets/mainwindow.h index 0a53405e8..e7f8f28c4 100644 --- a/desktop-widgets/mainwindow.h +++ b/desktop-widgets/mainwindow.h @@ -106,6 +106,7 @@ slots: void on_actionClose_triggered(); void on_actionCloudstorageopen_triggered(); void on_actionCloudstoragesave_triggered(); + void on_actionTake_cloud_storage_online_triggered(); void on_actionPrint_triggered(); void on_actionPreferences_triggered(); void on_actionQuit_triggered(); diff --git a/desktop-widgets/mainwindow.ui b/desktop-widgets/mainwindow.ui index 85f034692..cba3d8503 100644 --- a/desktop-widgets/mainwindow.ui +++ b/desktop-widgets/mainwindow.ui @@ -62,10 +62,11 @@ </property> <addaction name="actionNew"/> <addaction name="actionOpen"/> - <addaction name="actionCloudstorageopen"/> <addaction name="actionSave"/> - <addaction name="actionCloudstoragesave"/> <addaction name="actionSaveAs"/> + <addaction name="actionCloudstorageopen"/> + <addaction name="actionCloudstoragesave"/> + <addaction name="actionTake_cloud_storage_online"/> <addaction name="separator"/> <addaction name="actionClose"/> <addaction name="actionExport"/> @@ -745,6 +746,11 @@ <string>Add GPS location here</string> </property> </action> + <action name="actionTake_cloud_storage_online"> + <property name="text"> + <string>Take cloud storage online</string> + </property> + </action> </widget> <customwidgets> <customwidget> |