int CoverWidget::resizeGetHeight(int newWidth) { int newHeight = 0; newHeight += st::settingsMarginTop; _userpicButton->moveToLeft(contentLeft() + st::settingsPhotoLeft, newHeight, newWidth); int infoLeft = _userpicButton->x() + _userpicButton->width(); _statusPosition = QPoint(infoLeft + st::settingsStatusLeft, _userpicButton->y() + st::settingsStatusTop); if (_cancelPhotoUpload) { _cancelPhotoUpload->moveToLeft(_statusPosition.x() + st::settingsStatusFont->width(_statusText) + st::settingsStatusFont->spacew, _statusPosition.y(), newWidth); } int buttonLeft = _userpicButton->x() + _userpicButton->width() + st::settingsButtonLeft; int buttonsRight = newWidth - st::settingsButtonSkip; _setPhoto->moveToLeft(buttonLeft, _userpicButton->y() + st::settingsButtonTop, newWidth); buttonLeft += _setPhoto->width() + st::settingsButtonSkip; _editName->moveToLeft(buttonLeft, _setPhoto->y(), newWidth); _editNameVisible = (buttonLeft + _editName->width() + st::settingsButtonSkip <= newWidth); _editName->setVisible(_editNameVisible); refreshNameGeometry(newWidth); newHeight += st::settingsPhotoSize; newHeight += st::settingsMarginBottom; _dividerTop = newHeight; newHeight += st::profileDividerFill.height(); newHeight += st::settingsBlocksTop; resizeDropArea(); return newHeight; }
void CoverWidget::dragEnterEvent(QDragEnterEvent *e) { if (!mimeDataHasImage(e->mimeData())) { e->ignore(); return; } if (!_dropArea) { auto title = lang(lng_profile_drop_area_title); auto subtitle = lang(lng_settings_drop_area_subtitle); _dropArea = new Profile::CoverDropArea(this, title, subtitle); resizeDropArea(); } _dropArea->showAnimated(); e->setDropAction(Qt::CopyAction); e->accept(); }
int CoverWidget::resizeGetHeight(int newWidth) { int newHeight = 0; newHeight += st::settingsMarginTop; auto margins = getMargins(); _userpicButton->moveToLeft( margins.left() + contentLeft() + st::settingsPhotoLeft, margins.top() + newHeight, newWidth); int infoLeft = _userpicButton->x() + _userpicButton->width(); _statusPosition = QPoint(infoLeft + st::settingsStatusLeft, _userpicButton->y() + st::settingsStatusTop); if (_cancelPhotoUpload) { _cancelPhotoUpload->moveToLeft( margins.left() + _statusPosition.x() + st::settingsStatusFont->width(_statusText) + st::settingsStatusFont->spacew, margins.top() + _statusPosition.y(), newWidth); } refreshButtonsGeometry(newWidth); refreshNameGeometry(newWidth); newHeight += st::settingsPhoto.size.height(); newHeight += st::settingsMarginBottom; _dividerTop = newHeight; newHeight += st::profileDividerLeft.height(); newHeight += st::settingsBlocksTop; resizeDropArea(); return newHeight; }