Remove captcha dialog from the member list

This commit is contained in:
Konstantinos Sideris 2018-09-05 18:05:27 +03:00
parent 797a69fd90
commit 0c6a3b6282
2 changed files with 33 additions and 40 deletions

View File

@ -134,43 +134,43 @@ RegisterPage::RegisterPage(QWidget *parent)
[this](const std::string &user, const std::string &pass, const std::string &session) {
emit errorOccurred();
if (!captchaDialog_) {
captchaDialog_ = std::make_shared<dialogs::ReCaptcha>(
QString::fromStdString(session), this);
connect(
captchaDialog_.get(),
&dialogs::ReCaptcha::closing,
this,
[this, user, pass, session]() {
captchaDialog_->close();
emit registering();
auto captchaDialog =
new dialogs::ReCaptcha(QString::fromStdString(session), this);
http::client()->flow_response(
user,
pass,
session,
"m.login.recaptcha",
[this](const mtx::responses::Register &res,
mtx::http::RequestErr err) {
if (err) {
nhlog::net()->warn(
"failed to retrieve registration flows: {}",
err->matrix_error.error);
emit errorOccurred();
emit registerErrorCb(QString::fromStdString(
err->matrix_error.error));
return;
}
connect(captchaDialog,
&dialogs::ReCaptcha::closing,
this,
[this, user, pass, session, captchaDialog]() {
captchaDialog->close();
captchaDialog->deleteLater();
http::client()->set_user(res.user_id);
http::client()->set_access_token(res.access_token);
emit registering();
emit registerOk();
});
});
}
http::client()->flow_response(
user,
pass,
session,
"m.login.recaptcha",
[this](const mtx::responses::Register &res,
mtx::http::RequestErr err) {
if (err) {
nhlog::net()->warn(
"failed to retrieve registration flows: {}",
err->matrix_error.error);
emit errorOccurred();
emit registerErrorCb(QString::fromStdString(
err->matrix_error.error));
return;
}
QTimer::singleShot(1000, this, [this]() { captchaDialog_->show(); });
http::client()->set_user(res.user_id);
http::client()->set_access_token(res.access_token);
emit registerOk();
});
});
QTimer::singleShot(1000, this, [captchaDialog]() { captchaDialog->show(); });
});
setLayout(top_layout_);

View File

@ -25,10 +25,6 @@ class FlatButton;
class RaisedButton;
class TextField;
namespace dialogs {
class ReCaptcha;
}
class RegisterPage : public QWidget
{
Q_OBJECT
@ -77,7 +73,4 @@ private:
TextField *password_input_;
TextField *password_confirmation_;
TextField *server_input_;
//! ReCaptcha dialog.
std::shared_ptr<dialogs::ReCaptcha> captchaDialog_;
};