Allow layers with fixed-bottom to stick-to-bottom.

This commit is contained in:
John Preston 2022-05-23 15:45:43 +04:00
parent ff030d0252
commit 62f42eabb0
4 changed files with 2 additions and 21 deletions

View file

@ -280,7 +280,6 @@ QRect LayerWidget::countGeometry(int newWidth) {
st::infoLayerTopMaximal);
const auto newBottom = newTop;
const auto hasCustomBottomBar = _content->hasCustomBottomBar();
const auto bottomRadius = st::boxRadius;
// Top rounding is included in _contentHeight.
auto desiredHeight = _contentHeight + bottomRadius;
@ -293,9 +292,7 @@ QRect LayerWidget::countGeometry(int newWidth) {
const auto contentWidth = newWidth;
auto contentHeight = desiredHeight - contentTop - contentBottom;
const auto scrollTillBottom = _content->scrollTillBottom(contentHeight);
auto additionalScroll = hasCustomBottomBar
? 0
: std::min(scrollTillBottom, newBottom);
auto additionalScroll = std::min(scrollTillBottom, newBottom);
const auto expanding = (_desiredHeight > _contentHeight);

View file

@ -816,10 +816,6 @@ QPixmap WrapWidget::grabForShowAnimation(
return result;
}
bool WrapWidget::hasCustomBottomBar() const {
return _content->scrollBottomSkip() > 0;
}
void WrapWidget::showAnimatedHook(
const Window::SectionSlideParams &params) {
//if (params.withTabs && _topTabs) {

View file

@ -100,8 +100,6 @@ public:
QPixmap grabForShowAnimation(
const Window::SectionSlideParams &params) override;
[[nodiscard]] bool hasCustomBottomBar() const;
void forceContentRepaint();
bool showInternal(

View file

@ -550,17 +550,7 @@ QPointer<Ui::RpWidget> Premium::createPinnedToBottom(
st::premiumPreviewBox.button.textTop,
outer);
}, label->lifetime());
auto padding = st::settingsPremiumButtonPadding;
const auto paddingBottom = padding.bottom();
padding.setBottom(paddingBottom - st::boxRadius);
content->add(std::move(result), padding);
content->add(
object_ptr<Ui::SlideWrap<Ui::FixedHeightWidget>>(
content,
object_ptr<Ui::FixedHeightWidget>(content, st::boxRadius))
)->setDuration(0)->toggleOn(_wrap.value(
) | rpl::map(rpl::mappers::_1 != Info::Wrap::Layer));
content->add(std::move(result), st::settingsPremiumButtonPadding);
return Ui::MakeWeak(not_null<Ui::RpWidget*>{ content });
}