Allow custom scroll init in GenericBox.

This commit is contained in:
John Preston 2024-02-21 22:25:24 +04:00
parent c6b7c57bb2
commit 1af6140fa3
2 changed files with 8 additions and 0 deletions

View file

@ -62,6 +62,10 @@ void GenericBox::prepare() {
pinnedToBottom->move(0, outer - height); pinnedToBottom->move(0, outer - height);
}, pinnedToBottom->lifetime()); }, pinnedToBottom->lifetime());
} }
if (const auto onstack = _initScroll) {
onstack();
}
} }
void GenericBox::addSkip(int height) { void GenericBox::addSkip(int height) {

View file

@ -38,6 +38,9 @@ public:
void setFocusCallback(Fn<void()> callback) { void setFocusCallback(Fn<void()> callback) {
_focus = callback; _focus = callback;
} }
void setInitScrollCallback(Fn<void()> callback) {
_initScroll = callback;
}
void setShowFinishedCallback(Fn<void()> callback) { void setShowFinishedCallback(Fn<void()> callback) {
_showFinished = callback; _showFinished = callback;
} }
@ -136,6 +139,7 @@ private:
FnMut<void(not_null<GenericBox*>)> _init; FnMut<void(not_null<GenericBox*>)> _init;
Fn<void()> _focus; Fn<void()> _focus;
Fn<void()> _initScroll;
Fn<void()> _showFinished; Fn<void()> _showFinished;
rpl::event_stream<> _showFinishes; rpl::event_stream<> _showFinishes;
object_ptr<Ui::VerticalLayout> _owned; object_ptr<Ui::VerticalLayout> _owned;