mirror of
https://github.com/telegramdesktop/tdesktop
synced 2025-08-31 22:46:10 +00:00
cloud password support added, sessions list added, some boxes unifications
This commit is contained in:
@@ -216,6 +216,12 @@ bool IntroCode::codeSubmitFail(const RPCError &error) {
|
||||
intro()->setCode(sentCode);
|
||||
intro()->onIntroNext();
|
||||
return true;
|
||||
} else if (err == "SESSION_PASSWORD_NEEDED") {
|
||||
intro()->setCode(sentCode);
|
||||
code.setDisabled(false);
|
||||
checkRequest.start(1000);
|
||||
sentRequest = MTP::send(MTPaccount_GetPassword(), rpcDone(&IntroCode::gotPassword), rpcFail(&IntroCode::codeSubmitFail));
|
||||
return true;
|
||||
}
|
||||
if (QRegularExpression("^FLOOD_WAIT_(\\d+)$").match(err).hasMatch()) {
|
||||
showError(lang(lng_flood_error));
|
||||
@@ -251,6 +257,24 @@ void IntroCode::callDone(const MTPBool &v) {
|
||||
}
|
||||
}
|
||||
|
||||
void IntroCode::gotPassword(const MTPaccount_Password &result) {
|
||||
stopCheck();
|
||||
code.setDisabled(false);
|
||||
switch (result.type()) {
|
||||
case mtpc_account_noPassword: // should not happen
|
||||
code.setFocus();
|
||||
break;
|
||||
|
||||
case mtpc_account_password: {
|
||||
const MTPDaccount_password &d(result.c_account_password());
|
||||
intro()->setPwdSalt(qba(d.vcurrent_salt));
|
||||
intro()->setHasRecovery(d.vhas_recovery.v);
|
||||
intro()->setPwdHint(qs(d.vhint));
|
||||
intro()->onIntroNext();
|
||||
} break;
|
||||
}
|
||||
}
|
||||
|
||||
void IntroCode::onSubmitCode(bool force) {
|
||||
if (!force && (code.text() == sentCode || !code.isEnabled())) return;
|
||||
|
||||
@@ -262,6 +286,9 @@ void IntroCode::onSubmitCode(bool force) {
|
||||
checkRequest.start(1000);
|
||||
|
||||
sentCode = code.text();
|
||||
intro()->setPwdSalt(QByteArray());
|
||||
intro()->setHasRecovery(false);
|
||||
intro()->setPwdHint(QString());
|
||||
sentRequest = MTP::send(MTPauth_SignIn(MTP_string(intro()->getPhone()), MTP_string(intro()->getPhoneHash()), MTP_string(sentCode)), rpcDone(&IntroCode::codeSubmitDone), rpcFail(&IntroCode::codeSubmitFail));
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user