2
0
mirror of https://github.com/telegramdesktop/tdesktop synced 2025-09-02 23:45:44 +00:00

Realtime UI translation in Intro.

Also support realtime translation testing by F7-F6-F7-F8 keys.
This commit is contained in:
John Preston
2017-05-30 16:54:05 +03:00
parent d47a38dfcf
commit 5fc4f4ed36
18 changed files with 266 additions and 89 deletions

View File

@@ -48,8 +48,8 @@ PhoneWidget::PhoneWidget(QWidget *parent, Widget::Data *data) : Step(parent, dat
connect(_code, SIGNAL(changed()), this, SLOT(onInputChange()));
connect(_checkRequest, SIGNAL(timeout()), this, SLOT(onCheckRequest()));
setTitleText(lang(lng_phone_title));
setDescriptionText(lang(lng_phone_desc));
setTitleText([] { return lang(lng_phone_title); });
setDescriptionText([] { return lang(lng_phone_desc); });
subscribe(getData()->updated, [this] { countryChanged(); });
setErrorCentered(true);
@@ -76,9 +76,9 @@ void PhoneWidget::updateSignupGeometry() {
}
}
void PhoneWidget::showPhoneError(const QString &text) {
void PhoneWidget::showPhoneError(base::lambda<QString()> textFactory) {
_phone->showError();
showError(text);
showError(std::move(textFactory));
}
void PhoneWidget::hidePhoneError() {
@@ -90,7 +90,7 @@ void PhoneWidget::hidePhoneError() {
}
void PhoneWidget::showSignup() {
showPhoneError(lang(lng_bad_phone_noreg));
showPhoneError([] { return lang(lng_bad_phone_noreg); });
if (!_signup) {
auto signupText = lng_phone_notreg(lt_link_start, textcmdStartLink(1), lt_link_end, textcmdStopLink(), lt_signup_start, textcmdStartLink(2), lt_signup_end, textcmdStopLink());
auto inner = object_ptr<Ui::FlatLabel>(this, signupText, Ui::FlatLabel::InitType::Rich, st::introDescription);
@@ -121,7 +121,7 @@ void PhoneWidget::submit() {
if (_sentRequest || isHidden()) return;
if (!App::isValidPhone(fullNumber())) {
showPhoneError(lang(lng_bad_phone));
showPhoneError([] { return lang(lng_bad_phone); });
_phone->setFocus();
return;
}
@@ -172,7 +172,7 @@ void PhoneWidget::phoneSubmitDone(const MTPauth_SentCode &result) {
_sentRequest = 0;
if (result.type() != mtpc_auth_sentCode) {
showPhoneError(lang(lng_server_error));
showPhoneError([] { return lang(lng_server_error); });
return;
}
@@ -203,7 +203,7 @@ bool PhoneWidget::phoneSubmitFail(const RPCError &error) {
if (MTP::isFloodError(error)) {
stopCheck();
_sentRequest = 0;
showPhoneError(lang(lng_flood_error));
showPhoneError([] { return lang(lng_flood_error); });
return true;
}
if (MTP::isDefaultHandledError(error)) return false;
@@ -215,13 +215,14 @@ bool PhoneWidget::phoneSubmitFail(const RPCError &error) {
Ui::show(Box<InformBox>(lang(lng_error_phone_flood)));
return true;
} else if (err == qstr("PHONE_NUMBER_INVALID")) { // show error
showPhoneError(lang(lng_bad_phone));
showPhoneError([] { return lang(lng_bad_phone); });
return true;
}
if (cDebug()) { // internal server error
showPhoneError(err + ": " + error.description());
auto text = err + ": " + error.description();
showPhoneError([text] { return text; });
} else {
showPhoneError(lang(lng_server_error));
showPhoneError([] { return lang(lng_server_error); });
}
return false;
}