diff --git a/ui/layers/box_content.h b/ui/layers/box_content.h index 1c81444..8c738d1 100644 --- a/ui/layers/box_content.h +++ b/ui/layers/box_content.h @@ -126,6 +126,8 @@ public: void scrollToWidget(not_null widget); + virtual void showFinished() { + } void clearButtons() { getDelegate()->clearButtons(); } diff --git a/ui/layers/box_layer_widget.h b/ui/layers/box_layer_widget.h index 9d195ce..a26c5ad 100644 --- a/ui/layers/box_layer_widget.h +++ b/ui/layers/box_layer_widget.h @@ -53,6 +53,10 @@ public: LayerOptions options, anim::type animated) override; + void showFinished() override { + _content->showFinished(); + } + void clearButtons() override; QPointer addButton( rpl::producer text, diff --git a/ui/layers/generic_box.h b/ui/layers/generic_box.h index 058f05c..e0bceca 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 setShowFinishedCallback(Fn callback) { + _showFinished = callback; + } int rowsCount() const { return _content->count(); @@ -76,6 +79,11 @@ public: BoxContent::setInnerFocus(); } } + void showFinished() override { + if (_showFinished) { + _showFinished(); + } + } [[nodiscard]] not_null verticalLayout(); @@ -111,6 +119,7 @@ private: FnMut)> _init; Fn _focus; + Fn _showFinished; object_ptr _content; int _width = 0;