From 687bfd0f173419de5f7e6177438a1680514e83fa Mon Sep 17 00:00:00 2001 From: John Preston Date: Fri, 22 Aug 2025 12:56:51 +0400 Subject: [PATCH] Remove some FixedHeightWidget-s. --- .../SourceFiles/boxes/sticker_set_box.cpp | 13 +---- .../passport/passport_panel_edit_document.cpp | 5 +- .../passport/passport_panel_form.cpp | 18 ++----- .../settings/settings_active_sessions.cpp | 53 +++++++------------ .../settings/settings_websites.cpp | 37 ++++--------- 5 files changed, 39 insertions(+), 87 deletions(-) diff --git a/Telegram/SourceFiles/boxes/sticker_set_box.cpp b/Telegram/SourceFiles/boxes/sticker_set_box.cpp index 2079fc7108..f9f1e8498c 100644 --- a/Telegram/SourceFiles/boxes/sticker_set_box.cpp +++ b/Telegram/SourceFiles/boxes/sticker_set_box.cpp @@ -641,20 +641,11 @@ void ChangeSetNameBox( const auto it = sets.find(input.id); return (it == sets.end()) ? QString() : it->second->title; }(); - const auto wrap = box->addRow(object_ptr( + const auto field = box->addRow(object_ptr( box, - st::editStickerSetNameField.heightMin)); - auto owned = object_ptr( - wrap, st::editStickerSetNameField, tr::lng_stickers_context_edit_name(), - wasName); - const auto field = owned.data(); - wrap->widthValue() | rpl::start_with_next([=](int width) { - field->move(0, 0); - field->resize(width, field->height()); - wrap->resize(width, field->height()); - }, wrap->lifetime()); + wasName)); field->selectAll(); constexpr auto kMaxSetNameLength = 50; field->setMaxLength(kMaxSetNameLength); diff --git a/Telegram/SourceFiles/passport/passport_panel_edit_document.cpp b/Telegram/SourceFiles/passport/passport_panel_edit_document.cpp index bac92c2c80..723e37f146 100644 --- a/Telegram/SourceFiles/passport/passport_panel_edit_document.cpp +++ b/Telegram/SourceFiles/passport/passport_panel_edit_document.cpp @@ -488,8 +488,9 @@ not_null PanelEditDocument::setupContent( }, lifetime()); } - inner->add( - object_ptr(inner, st::passportDetailsSkip)); + inner->add(object_ptr( + inner, + st::passportDetailsSkip)); } if (auto text = _controller->deleteValueLabel()) { inner->add( diff --git a/Telegram/SourceFiles/passport/passport_panel_form.cpp b/Telegram/SourceFiles/passport/passport_panel_form.cpp index 5cbaa59412..07a673cb28 100644 --- a/Telegram/SourceFiles/passport/passport_panel_form.cpp +++ b/Telegram/SourceFiles/passport/passport_panel_form.cpp @@ -64,21 +64,13 @@ not_null PanelForm::setupContent() { inner->resizeToWidth(width); }, inner->lifetime()); - const auto userpicWrap = inner->add( - object_ptr( - inner, - st::passportFormUserpic.size.height()), - st::passportFormUserpicPadding); - _userpic = Ui::AttachParentChild( - userpicWrap, + _userpic = inner->add( object_ptr( - userpicWrap, + inner, bot, - st::passportFormUserpic)); - userpicWrap->widthValue( - ) | rpl::start_with_next([=](int width) { - _userpic->move((width - _userpic->width()) / 2, _userpic->y()); - }, _userpic->lifetime()); + st::passportFormUserpic), + st::passportFormUserpicPadding, + style::al_top); _about1 = inner->add( object_ptr( diff --git a/Telegram/SourceFiles/settings/settings_active_sessions.cpp b/Telegram/SourceFiles/settings/settings_active_sessions.cpp index 48150fdeb6..c358456083 100644 --- a/Telegram/SourceFiles/settings/settings_active_sessions.cpp +++ b/Telegram/SourceFiles/settings/settings_active_sessions.cpp @@ -418,48 +418,31 @@ void SessionInfoBox( shown->fire({}); }); - const auto userpicWrap = box->addRow( - object_ptr(box, st::sessionBigUserpicSize), - st::sessionBigCoverPadding); const auto big = GenerateUserpicBig( - userpicWrap, + box, shown->events(), TypeFromEntry(data)); - userpicWrap->sizeValue( - ) | rpl::start_with_next([=](QSize size) { - big->move((size.width() - big->width()) / 2, 0); - }, userpicWrap->lifetime()); + big->setNaturalWidth(big->width()); + box->addRow( + object_ptr::fromRaw(big), + st::sessionBigCoverPadding, + style::al_top); - const auto nameWrap = box->addRow( - object_ptr( + box->addRow( + object_ptr( box, - st::sessionBigName.maxHeight)); - const auto name = Ui::CreateChild( - nameWrap, - rpl::single(data.name), - st::sessionBigName); - nameWrap->widthValue( - ) | rpl::start_with_next([=](int width) { - name->resizeToWidth(width); - name->move((width - name->width()) / 2, 0); - }, name->lifetime()); + rpl::single(data.name), + st::sessionBigName), + style::al_top); - const auto dateWrap = box->addRow( - object_ptr( + box->addRow( + object_ptr( box, - st::sessionDateLabel.style.font->height), - style::margins(0, 0, 0, st::sessionDateSkip)); - const auto date = Ui::CreateChild( - dateWrap, - rpl::single( - langDateTimeFull(base::unixtime::parse(data.activeTime))), - st::sessionDateLabel); - rpl::combine( - dateWrap->widthValue(), - date->widthValue() - ) | rpl::start_with_next([=](int outer, int inner) { - date->move((outer - inner) / 2, 0); - }, date->lifetime()); + rpl::single( + langDateTimeFull(base::unixtime::parse(data.activeTime))), + st::sessionDateLabel), + style::margins(0, 0, 0, st::sessionDateSkip), + style::al_top); using namespace Settings; const auto container = box->verticalLayout(); diff --git a/Telegram/SourceFiles/settings/settings_websites.cpp b/Telegram/SourceFiles/settings/settings_websites.cpp index c910a5c4fb..f772945de9 100644 --- a/Telegram/SourceFiles/settings/settings_websites.cpp +++ b/Telegram/SourceFiles/settings/settings_websites.cpp @@ -121,35 +121,20 @@ void InfoBox( userpic->overrideShape(Ui::PeerUserpicShape::Forum); userpic->setAttribute(Qt::WA_TransparentForMouseEvents); - const auto nameWrap = box->addRow( - object_ptr( + box->addRow( + object_ptr( box, - st::sessionBigName.maxHeight)); - const auto name = Ui::CreateChild( - nameWrap, - rpl::single(data.bot->name()), - st::sessionBigName); - nameWrap->widthValue( - ) | rpl::start_with_next([=](int width) { - name->resizeToWidth(width); - name->move((width - name->width()) / 2, 0); - }, name->lifetime()); + rpl::single(data.bot->name()), + st::sessionBigName), + style::al_top); - const auto domainWrap = box->addRow( - object_ptr( + box->addRow( + object_ptr( box, - st::sessionDateLabel.style.font->height), - style::margins(0, 0, 0, st::sessionDateSkip)); - const auto domain = Ui::CreateChild( - domainWrap, - rpl::single(data.domain), - st::sessionDateLabel); - rpl::combine( - domainWrap->widthValue(), - domain->widthValue() - ) | rpl::start_with_next([=](int outer, int inner) { - domain->move((outer - inner) / 2, 0); - }, domain->lifetime()); + rpl::single(data.domain), + st::sessionDateLabel), + style::margins(0, 0, 0, st::sessionDateSkip), + style::al_top); using namespace Settings; const auto container = box->verticalLayout();