From 0c44bc7271eaeff541bbf0b30c3afe372165b2be Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Sun, 14 Jun 2015 14:18:51 -0700 Subject: Cloud storage: clear our last error if verification succeeds This is cosmetic but makes things friendlier, I think. Signed-off-by: Dirk Hohndel --- qt-ui/notificationwidget.cpp | 5 +++++ qt-ui/notificationwidget.h | 1 + qt-ui/subsurfacewebservices.cpp | 7 +++++++ 3 files changed, 13 insertions(+) (limited to 'qt-ui') diff --git a/qt-ui/notificationwidget.cpp b/qt-ui/notificationwidget.cpp index 44e2eed1b..103c0d068 100644 --- a/qt-ui/notificationwidget.cpp +++ b/qt-ui/notificationwidget.cpp @@ -21,6 +21,11 @@ void NotificationWidget::hideNotification() animatedHide(); } +QString NotificationWidget::getNotificationText() +{ + return text(); +} + void NotificationWidget::setFuture(const QFuture &future) { future_watcher->setFuture(future); diff --git a/qt-ui/notificationwidget.h b/qt-ui/notificationwidget.h index 7a3f93b4d..8a551a0b3 100644 --- a/qt-ui/notificationwidget.h +++ b/qt-ui/notificationwidget.h @@ -18,6 +18,7 @@ public: void setFuture(const QFuture &future); void showNotification(QString message, KMessageWidget::MessageType type); void hideNotification(); + QString getNotificationText(); ~NotificationWidget(); private: diff --git a/qt-ui/subsurfacewebservices.cpp b/qt-ui/subsurfacewebservices.cpp index 1deb3099c..dfaf69468 100644 --- a/qt-ui/subsurfacewebservices.cpp +++ b/qt-ui/subsurfacewebservices.cpp @@ -974,14 +974,21 @@ QNetworkReply* CloudStorageAuthenticate::authenticate(QString email, QString pas void CloudStorageAuthenticate::uploadFinished() { + static QString myLastError; + QString cloudAuthReply(reply->readAll()); qDebug() << "Completed connection with cloud storage backend, response" << cloudAuthReply; if (cloudAuthReply == "[VERIFIED]" || cloudAuthReply == "[OK]") { prefs.cloud_verification_status = CS_VERIFIED; + NotificationWidget *nw = MainWindow::instance()->getNotificationWidget(); + if (nw->getNotificationText() == myLastError) + nw->hideNotification(); + myLastError.clear(); } else if (cloudAuthReply == "[VERIFY]") { prefs.cloud_verification_status = CS_NEED_TO_VERIFY; } else { prefs.cloud_verification_status = CS_INCORRECT_USER_PASSWD; + myLastError = cloudAuthReply; report_error("%s", qPrintable(cloudAuthReply)); MainWindow::instance()->getNotificationWidget()->showNotification(get_error_string(), KMessageWidget::Error); } -- cgit v1.2.3-70-g09d2