Cloud storage: warn the user if we are not online

This isn't perfect, but at least tells the user if we weren't able to
connect and are working just off the local cache.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2015-06-16 12:42:17 -07:00
parent 226e9a7e85
commit bd11988f74
3 changed files with 18 additions and 3 deletions

View file

@ -262,8 +262,11 @@ int sync_with_remote(git_repository *repo, const char *remote, const char *branc
return 0;
}
if (rt == RT_HTTPS && !canReachCloudServer())
if (rt == RT_HTTPS && !canReachCloudServer()) {
// this is not an error, just a warning message, so return 0
report_error("Cannot connect to cloud server, working with local copy");
return 0;
}
#if USE_LIBGIT23_API
git_fetch_options opts = GIT_FETCH_OPTIONS_INIT;
if (rt == RT_SSH)

View file

@ -237,7 +237,11 @@ void MainTab::enableGeoLookupEdition()
{
ui.waitingSpinner->stop();
ui.addDiveSite->show();
MainWindow::instance()->getNotificationWidget()->hideNotification();
// if we showed an informational text about loading the files, hide it, but don't
// hide the message area if it contains other warnings
if (MainWindow::instance()->getNotificationWidget()->getNotificationText() ==
tr("Please Wait, Importing your files..."))
MainWindow::instance()->getNotificationWidget()->hideNotification();
}
void MainTab::disableGeoLookupEdition()

View file

@ -1515,6 +1515,7 @@ void MainWindow::showV2Dialog()
void MainWindow::loadFiles(const QStringList fileNames)
{
bool showWarning = false;
if (fileNames.isEmpty())
return;
@ -1529,6 +1530,12 @@ void MainWindow::loadFiles(const QStringList fileNames)
if (!error) {
set_filename(fileNamePtr.data(), true);
setTitle(MWTF_FILENAME);
// if there were any messages, show them
QString warning = get_error_string();
if (!warning.isEmpty()) {
showWarning = true;
getNotificationWidget()->showNotification(warning , KMessageWidget::Information);
}
} else {
if (!v2_question_shown && abort_read_of_old_file) {
v2_question_shown = true;
@ -1541,7 +1548,8 @@ void MainWindow::loadFiles(const QStringList fileNames)
failedParses.append(fileNames.at(i));
}
}
getNotificationWidget()->hideNotification();
if (!showWarning)
getNotificationWidget()->hideNotification();
process_dives(false, false);
addRecentFile(fileNames);
removeRecentFile(failedParses);