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

View file

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

View file

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

View file

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