Fix usernames and QR overlap.

This commit is contained in:
John Preston 2025-01-06 10:38:19 +04:00
parent a87ebd41e7
commit ecf9faa21d

View file

@ -71,6 +71,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "ui/controls/userpic_button.h" #include "ui/controls/userpic_button.h"
#include "ui/painter.h" #include "ui/painter.h"
#include "ui/rect.h" #include "ui/rect.h"
#include "ui/ui_utility.h"
#include "ui/text/format_values.h" #include "ui/text/format_values.h"
#include "ui/text/text_utilities.h" // Ui::Text::ToUpper #include "ui/text/text_utilities.h" // Ui::Text::ToUpper
#include "ui/text/text_variant.h" #include "ui/text/text_variant.h"
@ -1242,19 +1243,18 @@ object_ptr<Ui::RpWidget> DetailsFiller::setupInfo() {
not_null<Ui::FlatLabel*> label, not_null<Ui::FlatLabel*> label,
int rightSkip) { int rightSkip) {
const auto parent = label->parentWidget(); const auto parent = label->parentWidget();
const auto container = result.data();
rpl::combine( rpl::combine(
result->widthValue(), container->widthValue(),
label->geometryValue(), label->geometryValue(),
button->sizeValue() button->sizeValue()
) | rpl::start_with_next([=](int width, QRect, QSize buttonSize) { ) | rpl::start_with_next([=](int width, QRect, QSize buttonSize) {
button->moveToRight( button->moveToRight(
rightSkip, rightSkip,
(parent->height() - buttonSize.height()) / 2); (parent->height() - buttonSize.height()) / 2);
label->resizeToWidth(width const auto x = Ui::MapFrom(container, label, QPoint(0, 0)).x();
- rightSkip const auto s = Ui::MapFrom(container, button, QPoint(0, 0)).x();
- label->geometry().left() label->resizeToWidth(s - x);
- st::lineWidth * 2
- buttonSize.width());
}, button->lifetime()); }, button->lifetime());
}; };
const auto controller = _controller->parentController(); const auto controller = _controller->parentController();
@ -1373,7 +1373,7 @@ object_ptr<Ui::RpWidget> DetailsFiller::setupInfo() {
const auto qrButton = Ui::CreateChild<Ui::IconButton>( const auto qrButton = Ui::CreateChild<Ui::IconButton>(
usernameLine.text->parentWidget(), usernameLine.text->parentWidget(),
st::infoProfileLabeledButtonQr); st::infoProfileLabeledButtonQr);
const auto rightSkip = st::infoProfileLabeledButtonQrRightSkip; const auto rightSkip = 0;// st::infoProfileLabeledButtonQrRightSkip;
fitLabelToButton(qrButton, usernameLine.text, rightSkip); fitLabelToButton(qrButton, usernameLine.text, rightSkip);
fitLabelToButton(qrButton, usernameLine.subtext, rightSkip); fitLabelToButton(qrButton, usernameLine.subtext, rightSkip);
qrButton->setClickedCallback([=] { qrButton->setClickedCallback([=] {
@ -1451,7 +1451,7 @@ object_ptr<Ui::RpWidget> DetailsFiller::setupInfo() {
const auto qr = Ui::CreateChild<Ui::IconButton>( const auto qr = Ui::CreateChild<Ui::IconButton>(
linkLine.text->parentWidget(), linkLine.text->parentWidget(),
st::infoProfileLabeledButtonQr); st::infoProfileLabeledButtonQr);
const auto rightSkip = st::infoProfileLabeledButtonQrRightSkip; const auto rightSkip = 0;// st::infoProfileLabeledButtonQrRightSkip;
fitLabelToButton(qr, linkLine.text, rightSkip); fitLabelToButton(qr, linkLine.text, rightSkip);
fitLabelToButton(qr, linkLine.subtext, rightSkip); fitLabelToButton(qr, linkLine.subtext, rightSkip);
qr->setClickedCallback([=, peer = _peer] { qr->setClickedCallback([=, peer = _peer] {