Improve label positions in mute button.

This commit is contained in:
John Preston 2020-12-18 12:42:00 +04:00
parent d7ee715b63
commit abb615a7c9
2 changed files with 13 additions and 6 deletions

View file

@ -411,9 +411,10 @@ void CallMuteButton::init() {
_label->show();
rpl::combine(
_content->geometryValue(),
_sublabel->widthValue(),
_label->sizeValue()
) | rpl::start_with_next([=](QRect my, QSize size) {
updateLabelGeometry(my, size);
) | rpl::start_with_next([=](QRect my, int subWidth, QSize size) {
updateLabelGeometry(my, subWidth, size);
}, _label->lifetime());
_label->setAttribute(Qt::WA_TransparentForMouseEvents);
@ -625,14 +626,20 @@ void CallMuteButton::init() {
}
void CallMuteButton::updateLabelsGeometry() {
updateLabelGeometry(_content->geometry(), _label->size());
updateLabelGeometry(
_content->geometry(),
_sublabel->width(),
_label->size());
updateSublabelGeometry(_content->geometry(), _sublabel->size());
}
void CallMuteButton::updateLabelGeometry(QRect my, QSize size) {
void CallMuteButton::updateLabelGeometry(QRect my, int subWidth, QSize size) {
const auto skip = subWidth
? st::callMuteButtonSublabelSkip
: (st::callMuteButtonSublabelSkip / 2);
_label->moveToLeft(
my.x() + (my.width() - size.width()) / 2 + _labelShakeShift,
my.y() + my.height() - size.height() - st::callMuteButtonSublabelSkip,
my.y() + my.height() - size.height() - skip,
my.width());
}

View file

@ -87,7 +87,7 @@ private:
float64 progress);
void setHandleMouseState(HandleMouseState state);
void updateLabelGeometry(QRect my, QSize size);
void updateLabelGeometry(QRect my, int subWidth, QSize size);
void updateSublabelGeometry(QRect my, QSize size);
void updateLabelsGeometry();