mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 06:33:57 +02:00
Added close button to custom top bar in premium settings.
This commit is contained in:
parent
4e173c8e61
commit
a284fa3273
2 changed files with 26 additions and 2 deletions
|
@ -439,4 +439,10 @@ settingsPremiumLayerTopBarBack: IconButton(infoLayerTopBarBack) {
|
||||||
color: shadowFg;
|
color: shadowFg;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
settingsPremiumTopBarClose: IconButton(infoTopBarClose) {
|
||||||
|
icon: icon {{ "info/info_close", premiumButtonFg }};
|
||||||
|
iconOver: icon {{ "info/info_close", premiumButtonFg }};
|
||||||
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
||||||
|
color: shadowFg;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -67,6 +67,7 @@ private:
|
||||||
const not_null<Window::SessionController*> _controller;
|
const not_null<Window::SessionController*> _controller;
|
||||||
|
|
||||||
base::unique_qptr<Ui::FadeWrap<Ui::IconButton>> _back;
|
base::unique_qptr<Ui::FadeWrap<Ui::IconButton>> _back;
|
||||||
|
base::unique_qptr<Ui::IconButton> _close;
|
||||||
rpl::variable<bool> _backToggles;
|
rpl::variable<bool> _backToggles;
|
||||||
rpl::variable<Info::Wrap> _wrap;
|
rpl::variable<Info::Wrap> _wrap;
|
||||||
|
|
||||||
|
@ -304,11 +305,12 @@ QPointer<Ui::RpWidget> Premium::createPinnedToTop(
|
||||||
|
|
||||||
_wrap.value(
|
_wrap.value(
|
||||||
) | rpl::start_with_next([=](Info::Wrap wrap) {
|
) | rpl::start_with_next([=](Info::Wrap wrap) {
|
||||||
|
const auto isLayer = (wrap == Info::Wrap::Layer);
|
||||||
_back = base::make_unique_q<Ui::FadeWrap<Ui::IconButton>>(
|
_back = base::make_unique_q<Ui::FadeWrap<Ui::IconButton>>(
|
||||||
content,
|
content,
|
||||||
object_ptr<Ui::IconButton>(
|
object_ptr<Ui::IconButton>(
|
||||||
content,
|
content,
|
||||||
(wrap == Info::Wrap::Layer)
|
isLayer
|
||||||
? st::settingsPremiumLayerTopBarBack
|
? st::settingsPremiumLayerTopBarBack
|
||||||
: st::settingsPremiumTopBarBack),
|
: st::settingsPremiumTopBarBack),
|
||||||
st::infoTopBarScale);
|
st::infoTopBarScale);
|
||||||
|
@ -317,6 +319,22 @@ QPointer<Ui::RpWidget> Premium::createPinnedToTop(
|
||||||
_back->entity()->addClickHandler([=] {
|
_back->entity()->addClickHandler([=] {
|
||||||
_showBack.fire({});
|
_showBack.fire({});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (!isLayer) {
|
||||||
|
_close = nullptr;
|
||||||
|
} else {
|
||||||
|
_close = base::make_unique_q<Ui::IconButton>(
|
||||||
|
content,
|
||||||
|
st::settingsPremiumTopBarClose);
|
||||||
|
_close->addClickHandler([=] {
|
||||||
|
_controller->parentController()->hideLayer();
|
||||||
|
_controller->parentController()->hideSpecialLayer();
|
||||||
|
});
|
||||||
|
content->widthValue(
|
||||||
|
) | rpl::start_with_next([=] {
|
||||||
|
_close->moveToRight(0, 0);
|
||||||
|
}, _close->lifetime());
|
||||||
|
}
|
||||||
}, container->lifetime());
|
}, container->lifetime());
|
||||||
|
|
||||||
return Ui::MakeWeak(not_null<Ui::RpWidget*>{ container });
|
return Ui::MakeWeak(not_null<Ui::RpWidget*>{ container });
|
||||||
|
|
Loading…
Add table
Reference in a new issue