void ChangePhoneBox::EnterCode::prepare() { setTitle(langFactory(lng_change_phone_title)); auto descriptionText = lng_change_phone_code_description(lt_phone, textcmdStartSemibold() + App::formatPhone(_phone) + textcmdStopSemibold()); auto description = object_ptr<Ui::FlatLabel>(this, descriptionText, Ui::FlatLabel::InitType::Rich, st::changePhoneLabel); description->moveToLeft(st::boxPadding.left(), 0); auto phoneValue = QString(); _code.create(this, st::defaultInputField, langFactory(lng_change_phone_code_title), phoneValue); _code->setAutoSubmit(_codeLength, [=] { submit(); }); _code->setChangedCallback([=] { hideError(); }); _code->resize(st::boxWidth - 2 * st::boxPadding.left(), _code->height()); _code->moveToLeft(st::boxPadding.left(), description->bottomNoMargins()); connect(_code, &Ui::InputField::submitted, [=] { submit(); }); setDimensions(st::boxWidth, countHeight()); if (_callTimeout > 0) { _call.setStatus({ SentCodeCall::State::Waiting, _callTimeout }); updateCall(); } addButton(langFactory(lng_change_phone_new_submit), [=] { submit(); }); addButton(langFactory(lng_cancel), [=] { closeBox(); }); }
void AbstractBox::resizeMaxHeight(int32 newWidth, int32 maxHeight) { if (width() != newWidth || _maxHeight != maxHeight) { QRect g(geometry()); _maxHeight = maxHeight; resize(newWidth, countHeight()); if (parentWidget()) { parentWidget()->update(geometry().united(g).marginsAdded(QMargins(st::boxShadow.pxWidth(), st::boxShadow.pxHeight(), st::boxShadow.pxWidth(), st::boxShadow.pxHeight()))); } } }
void ChangePhoneBox::EnterCode::updateCall() { auto text = _call.getText(); if (text.isEmpty()) { _callLabel.destroy(); } else if (!_callLabel) { _callLabel.create(this, text, Ui::FlatLabel::InitType::Simple, st::changePhoneLabel); _callLabel->moveToLeft(st::boxPadding.left(), countHeight() - _callLabel->height()); _callLabel->show(); } else { _callLabel->setText(text); } }
void AbstractBox::resizeMaxHeight(int32 newWidth, int32 maxHeight) { if (width() != newWidth || _maxHeight != maxHeight) { QRect g(geometry()); _maxHeight = maxHeight; resize(newWidth, countHeight()); if (parentWidget()) { QRect r = geometry(); int32 parenth = parentWidget()->height(); if (r.top() + r.height() + st::boxVerticalMargin > parenth) { int32 newTop = qMax(parenth - int(st::boxVerticalMargin) - r.height(), (parenth - r.height()) / 2); if (newTop != r.top()) { move(r.left(), newTop); } } parentWidget()->update(geometry().united(g).marginsAdded(QMargins(st::boxShadow.pxWidth(), st::boxShadow.pxHeight(), st::boxShadow.pxWidth(), st::boxShadow.pxHeight()))); } } }
void AbstractBox::parentResized() { int32 newHeight = countHeight(); setGeometry((App::wnd()->width() - width()) / 2, (App::wnd()->height() - newHeight) / 2, width(), newHeight); update(); }
void CalendarBox::Inner::resizeToCurrent() { resize(st::boxWideWidth, countHeight()); }