diff --git a/Telegram/SourceFiles/boxes/sessions_box.cpp b/Telegram/SourceFiles/boxes/sessions_box.cpp index 6d572f3b4a..0fe26ab685 100644 --- a/Telegram/SourceFiles/boxes/sessions_box.cpp +++ b/Telegram/SourceFiles/boxes/sessions_box.cpp @@ -106,15 +106,13 @@ void SessionsBox::prepare() { shortPollSessions(); }, lifetime()); - setLoading(true); - shortPollSessions(); -} + _loading.changes( + ) | rpl::start_with_next([=](bool value) { + setInnerVisible(!value); + }, lifetime()); -void SessionsBox::setLoading(bool loading) { - if (_loading != loading) { - _loading = loading; - setInnerVisible(!_loading); - } + _loading = true; + shortPollSessions(); } void SessionsBox::resizeEvent(QResizeEvent *e) { @@ -128,7 +126,7 @@ void SessionsBox::paintEvent(QPaintEvent *e) { Painter p(this); - if (_loading) { + if (_loading.current()) { p.setFont(st::noContactsFont); p.setPen(st::noContactsColor); p.drawText( @@ -140,7 +138,7 @@ void SessionsBox::paintEvent(QPaintEvent *e) { void SessionsBox::got(const MTPaccount_Authorizations &result) { _shortPollRequest = 0; - setLoading(false); + _loading = false; _data = Full(); result.match([&](const MTPDaccount_authorizations &data) { @@ -339,7 +337,7 @@ void SessionsBox::terminateAll() { _api.request(base::take(_shortPollRequest)).cancel(); shortPollSessions(); }).send(); - setLoading(true); + _loading = true; }); _terminateBox = Ui::show( Box( diff --git a/Telegram/SourceFiles/boxes/sessions_box.h b/Telegram/SourceFiles/boxes/sessions_box.h index b2c7953eb1..c2f5979f57 100644 --- a/Telegram/SourceFiles/boxes/sessions_box.h +++ b/Telegram/SourceFiles/boxes/sessions_box.h @@ -51,7 +51,6 @@ private: static Entry ParseEntry(const MTPDauthorization &data); static void ResizeEntry(Entry &entry); - void setLoading(bool loading); void shortPollSessions(); void got(const MTPaccount_Authorizations &result); @@ -62,7 +61,7 @@ private: const not_null _session; MTP::Sender _api; - bool _loading = false; + rpl::variable _loading = false; Full _data; QPointer _inner;