From 283f95e429917bd0c7fb5982ceac1602eb2af0b9 Mon Sep 17 00:00:00 2001 From: Tobias Fella Date: Sun, 29 May 2022 14:40:00 +0200 Subject: Error handling --- lib/accountregistry.cpp | 21 +++------------------ lib/accountregistry.h | 9 +++++++++ 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/lib/accountregistry.cpp b/lib/accountregistry.cpp index 91f2e9d7..5322ee80 100644 --- a/lib/accountregistry.cpp +++ b/lib/accountregistry.cpp @@ -7,11 +7,6 @@ #include "connection.h" #include -#if QT_VERSION_MAJOR >= 6 -# include -#else -# include -#endif using namespace Quotient; void AccountRegistry::add(Connection* a) @@ -75,13 +70,6 @@ QKeychain::ReadPasswordJob* AccountRegistry::loadAccessTokenFromKeychain(const Q qCDebug(MAIN) << "Reading access token from keychain for" << userId; auto job = new QKeychain::ReadPasswordJob(qAppName(), this); job->setKey(userId); - - connect(job, &QKeychain::Job::finished, this, [job] { - if (job->error() == QKeychain::Error::NoError) { - return; - } - //TODO error handling - }); job->start(); return job; @@ -100,7 +88,7 @@ void AccountRegistry::invokeLogin() connect(accessTokenLoadingJob, &QKeychain::Job::finished, this, [accountId, this, accessTokenLoadingJob]() { AccountSettings account{accountId}; if (accessTokenLoadingJob->error() != QKeychain::Error::NoError) { - //TODO error handling + emit keychainError(accessTokenLoadingJob->error()); return; } @@ -111,11 +99,8 @@ void AccountRegistry::invokeLogin() connection->syncLoop(); }); - connect(connection, &Connection::loginError, this, [](const QString& error, const QString&) { - //TODO error handling - }); - connect(connection, &Connection::networkError, this, [](const QString& error, const QString&, int, int) { - //TODO error handling + connect(connection, &Connection::loginError, this, [this, connection](const QString& error, const QString& details) { + emit loginError(connection, error, details); }); connection->assumeIdentity(account.userId(), accessTokenLoadingJob->binaryData(), account.deviceId()); }); diff --git a/lib/accountregistry.h b/lib/accountregistry.h index ab337303..99827b73 100644 --- a/lib/accountregistry.h +++ b/lib/accountregistry.h @@ -9,6 +9,12 @@ #include +#if QT_VERSION_MAJOR >= 6 +# include +#else +# include +#endif + namespace QKeychain { class ReadPasswordJob; } @@ -69,6 +75,9 @@ public: Q_SIGNALS: void accountCountChanged(); void accountsLoadingChanged(); + + void keychainError(QKeychain::Error error); + void loginError(Connection* connection, QString message, QString details); private: QKeychain::ReadPasswordJob* loadAccessTokenFromKeychain(const QString &userId); QStringList m_accountsLoading; -- cgit v1.2.3