diff --git a/ui/layers/generic_box.cpp b/ui/layers/generic_box.cpp index bbf7109..bfcc7aa 100644 --- a/ui/layers/generic_box.cpp +++ b/ui/layers/generic_box.cpp @@ -62,6 +62,10 @@ void GenericBox::prepare() { pinnedToBottom->move(0, outer - height); }, pinnedToBottom->lifetime()); } + + if (const auto onstack = _initScroll) { + onstack(); + } } void GenericBox::addSkip(int height) { diff --git a/ui/layers/generic_box.h b/ui/layers/generic_box.h index 4c3baae..53be668 100644 --- a/ui/layers/generic_box.h +++ b/ui/layers/generic_box.h @@ -38,6 +38,9 @@ public: void setFocusCallback(Fn callback) { _focus = callback; } + void setInitScrollCallback(Fn callback) { + _initScroll = callback; + } void setShowFinishedCallback(Fn callback) { _showFinished = callback; } @@ -136,6 +139,7 @@ private: FnMut)> _init; Fn _focus; + Fn _initScroll; Fn _showFinished; rpl::event_stream<> _showFinishes; object_ptr _owned;