Added focus to input field in channel earn info section.

This commit is contained in:
23rd 2024-03-21 19:47:48 +03:00 committed by John Preston
parent 538934a88a
commit 479bb2a1d6
4 changed files with 15 additions and 0 deletions

View File

@ -449,6 +449,10 @@ void InnerWidget::fill() {
Ui::InputField::Mode::MultiLine,
tr::lng_channel_earn_balance_placeholder()),
st::boxRowPadding);
_focusRequested.events(
) | rpl::start_with_next([=] {
input->setFocusFast();
}, input->lifetime());
Ui::AddSkip(container);
@ -942,6 +946,10 @@ void InnerWidget::showFinished() {
_showFinished.fire({});
}
void InnerWidget::setInnerFocus() {
_focusRequested.fire({});
}
not_null<PeerData*> InnerWidget::peer() const {
return _peer;
}

View File

@ -38,6 +38,7 @@ public:
[[nodiscard]] rpl::producer<ShowRequest> showRequests() const;
void showFinished();
void setInnerFocus();
void saveState(not_null<Memento*> memento);
void restoreState(not_null<Memento*> memento);
@ -55,6 +56,7 @@ private:
rpl::event_stream<Ui::ScrollToRequest> _scrollToRequests;
rpl::event_stream<ShowRequest> _showRequests;
rpl::event_stream<> _showFinished;
rpl::event_stream<> _focusRequested;
rpl::event_stream<bool> _loaded;
};

View File

@ -95,6 +95,10 @@ void Widget::showFinished() {
_inner->showFinished();
}
void Widget::setInnerFocus() {
_inner->setInnerFocus();
}
std::shared_ptr<ContentMemento> Widget::doCreateMemento() {
auto result = std::make_shared<Memento>(controller());
saveState(result.get());

View File

@ -47,6 +47,7 @@ public:
rpl::producer<QString> title() override;
rpl::producer<bool> desiredShadowVisibility() const override;
void showFinished() override;
void setInnerFocus() override;
[[nodiscard]] not_null<PeerData*> peer() const;