void AddContactBox::initBox() { _width = st::addContactWidth; if (_peer) { if (_peer->chat) { _boxTitle = lang(lng_edit_group_title); _height = st::addContactTitleHeight + st::addContactPadding.top() + 1 * _firstInput.height() + st::addContactPadding.bottom() + _addButton.height(); } else { _boxTitle = lang(_peer == App::self() ? lng_edit_self_title : lng_edit_contact_title); _height = st::addContactTitleHeight + st::addContactPadding.top() + 2 * _firstInput.height() + 1 * st::addContactDelta + st::addContactPadding.bottom() + _addButton.height(); } } else { bool readyToAdd = !_phoneInput.text().isEmpty() && (!_firstInput.text().isEmpty() || !_lastInput.text().isEmpty()); _boxTitle = lang(readyToAdd ? lng_confirm_contact_data : lng_enter_contact_data); _height = st::addContactTitleHeight + st::addContactPadding.top() + 3 * _firstInput.height() + 2 * st::addContactDelta + st::addContactPadding.bottom() + _addButton.height(); } _firstInput.setGeometry(st::addContactPadding.left(), st::addContactTitleHeight + st::addContactPadding.top(), _width - st::addContactPadding.left() - st::addContactPadding.right(), _firstInput.height()); _lastInput.setGeometry(st::addContactPadding.left(), _firstInput.y() + _firstInput.height() + st::addContactDelta, _firstInput.width(), _firstInput.height()); _phoneInput.setGeometry(st::addContactPadding.left(), _lastInput.y() + _lastInput.height() + st::addContactDelta, _lastInput.width(), _lastInput.height()); int32 buttonTop = (_peer ? (_peer->chat ? _firstInput : _lastInput) : _phoneInput).y() + _phoneInput.height() + st::addContactPadding.bottom(); _cancelButton.move(0, buttonTop); _addButton.move(_width - _addButton.width(), buttonTop); _retryButton.move(_width - _retryButton.width(), buttonTop); _retryButton.hide(); connect(&_addButton, SIGNAL(clicked()), this, SLOT(onSend())); connect(&_retryButton, SIGNAL(clicked()), this, SLOT(onRetry())); connect(&_cancelButton, SIGNAL(clicked()), this, SLOT(onCancel())); resize(_width, _height); showAll(); _cache = myGrab(this, rect()); hideAll(); }
void AddContactBox::updateButtons() { clearButtons(); if (_retrying) { addButton(lang(lng_try_other_contact), [this] { onRetry(); }); } else { addButton(lang(_user ? lng_settings_save : lng_add_contact), [this] { onSave(); }); addButton(lang(lng_cancel), [this] { closeBox(); }); } }
void AddContactBox::initBox() { if (_peer) { if (_peer->chat) { _boxTitle = lang(lng_edit_group_title); setMaxHeight(st::boxTitleHeight + st::addContactPadding.top() + 1 * _firstInput.height() + st::addContactPadding.bottom() + _addButton.height()); } else { _boxTitle = lang(_peer == App::self() ? lng_edit_self_title : lng_edit_contact_title); setMaxHeight(st::boxTitleHeight + st::addContactPadding.top() + 2 * _firstInput.height() + 1 * st::addContactDelta + st::addContactPadding.bottom() + _addButton.height()); } } else { bool readyToAdd = !_phoneInput.text().isEmpty() && (!_firstInput.text().isEmpty() || !_lastInput.text().isEmpty()); _boxTitle = lang(readyToAdd ? lng_confirm_contact_data : lng_enter_contact_data); setMaxHeight(st::boxTitleHeight + st::addContactPadding.top() + 3 * _firstInput.height() + 2 * st::addContactDelta + st::addContactPadding.bottom() + _addButton.height()); } _retryButton.hide(); connect(&_addButton, SIGNAL(clicked()), this, SLOT(onSend())); connect(&_retryButton, SIGNAL(clicked()), this, SLOT(onRetry())); connect(&_cancelButton, SIGNAL(clicked()), this, SLOT(onClose())); prepare(); }