From a6d0367d71fe93c936cc29f4cf153a76b293a11a Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Mon, 9 May 2022 19:36:22 +0300 Subject: [PATCH] Added some error handles for recovery email settings section. --- .../settings_cloud_password_email.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/Telegram/SourceFiles/settings/cloud_password/settings_cloud_password_email.cpp b/Telegram/SourceFiles/settings/cloud_password/settings_cloud_password_email.cpp index a19c5dade..01d396b19 100644 --- a/Telegram/SourceFiles/settings/cloud_password/settings_cloud_password_email.cpp +++ b/Telegram/SourceFiles/settings/cloud_password/settings_cloud_password_email.cpp @@ -68,8 +68,11 @@ void Email::setupContent() { tr::lng_cloud_password_email(), currentStepDataEmail); const auto newInput = wrap->entity(); + const auto error = AddError(content, nullptr); + QObject::connect(newInput, &Ui::InputField::changed, [=] { + error->hide(); + }); AddSkipInsteadOfField(content); - AddSkipInsteadOfError(content); const auto send = [=](Fn close) { Expects(!_requestLifetime); @@ -91,9 +94,19 @@ void Email::setupContent() { data.unconfirmedEmailLengthCode = d.unconfirmedEmailLengthCode; setStepData(std::move(data)); showOther(CloudPasswordEmailConfirmId()); - }, [=](const QString &error) { + }, [=](const QString &type) { _requestLifetime.destroy(); + if (MTP::IsFloodError(type)) { + error->show(); + error->setText(tr::lng_flood_error(tr::now)); + } else if (type == u"EMAIL_INVALID"_q) { + error->show(); + error->setText(tr::lng_cloud_password_bad_email(tr::now)); + newInput->setFocus(); + newInput->showError(); + newInput->selectAll(); + } }, [=] { _requestLifetime.destroy();