diff --git a/Telegram/SourceFiles/boxes/contacts_box.cpp b/Telegram/SourceFiles/boxes/contacts_box.cpp index 545c16b77..edcd1e1ce 100644 --- a/Telegram/SourceFiles/boxes/contacts_box.cpp +++ b/Telegram/SourceFiles/boxes/contacts_box.cpp @@ -316,6 +316,13 @@ void ContactsBox::resizeEvent(QResizeEvent *e) { _inner->resize(width(), _inner->height()); } +void ContactsBox::paintEvent(QPaintEvent *e) { + Painter p(this); + for (auto rect : e->region().rects()) { + p.fillRect(rect, st::contactsBg); + } +} + void ContactsBox::closeHook() { if (_channel && _creating == CreatingGroupChannel) { Ui::showPeerHistory(_channel, ShowAtTheEndMsgId); diff --git a/Telegram/SourceFiles/boxes/contacts_box.h b/Telegram/SourceFiles/boxes/contacts_box.h index 84bc7992f..f36078de6 100644 --- a/Telegram/SourceFiles/boxes/contacts_box.h +++ b/Telegram/SourceFiles/boxes/contacts_box.h @@ -82,6 +82,7 @@ protected: void keyPressEvent(QKeyEvent *e) override; void resizeEvent(QResizeEvent *e) override; + void paintEvent(QPaintEvent *e) override; private: object_ptr> createMultiSelect(); diff --git a/Telegram/SourceFiles/boxes/members_box.cpp b/Telegram/SourceFiles/boxes/members_box.cpp index beca6bd45..6fd31bee7 100644 --- a/Telegram/SourceFiles/boxes/members_box.cpp +++ b/Telegram/SourceFiles/boxes/members_box.cpp @@ -127,6 +127,13 @@ void MembersBox::resizeEvent(QResizeEvent *e) { _inner->resize(width(), _inner->height()); } +void MembersBox::paintEvent(QPaintEvent *e) { + Painter p(this); + for (auto rect : e->region().rects()) { + p.fillRect(rect, st::contactsBg); + } +} + void MembersBox::onAdd() { if (_inner->filter() == MembersFilter::Recent && _inner->channel()->membersCount() >= (_inner->channel()->isMegagroup() ? Global::MegagroupSizeMax() : Global::ChatSizeMax())) { Ui::show(Box(_inner->channel()->inviteLink()), KeepOtherLayers); diff --git a/Telegram/SourceFiles/boxes/members_box.h b/Telegram/SourceFiles/boxes/members_box.h index 5327cd8e8..4455f2a28 100644 --- a/Telegram/SourceFiles/boxes/members_box.h +++ b/Telegram/SourceFiles/boxes/members_box.h @@ -65,6 +65,7 @@ protected: void keyPressEvent(QKeyEvent *e) override; void resizeEvent(QResizeEvent *e) override; + void paintEvent(QPaintEvent *e) override; private: void onAdd(); diff --git a/Telegram/SourceFiles/boxes/peer_list_box.cpp b/Telegram/SourceFiles/boxes/peer_list_box.cpp index 0c0330436..4af336592 100644 --- a/Telegram/SourceFiles/boxes/peer_list_box.cpp +++ b/Telegram/SourceFiles/boxes/peer_list_box.cpp @@ -114,6 +114,13 @@ void PeerListBox::resizeEvent(QResizeEvent *e) { _inner->resize(width(), _inner->height()); } +void PeerListBox::paintEvent(QPaintEvent *e) { + Painter p(this); + for (auto rect : e->region().rects()) { + p.fillRect(rect, st::contactsBg); + } +} + void PeerListBox::setInnerFocus() { if (!_select || _select->isHidden()) { _inner->setFocus(); @@ -1239,12 +1246,14 @@ PeerListGlobalSearchController::PeerListGlobalSearchController() { } void PeerListGlobalSearchController::searchQuery(const QString &query) { - _query = query; - _requestId = 0; - if (_query.isEmpty() && !searchInCache()) { - _timer.callOnce(AutoSearchTimeout); - } else { - _timer.cancel(); + if (_query != query) { + _query = query; + _requestId = 0; + if (_query.size() >= MinUsernameLength && !searchInCache()) { + _timer.callOnce(AutoSearchTimeout); + } else { + _timer.cancel(); + } } } diff --git a/Telegram/SourceFiles/boxes/peer_list_box.h b/Telegram/SourceFiles/boxes/peer_list_box.h index f8d2206ff..6a65023ae 100644 --- a/Telegram/SourceFiles/boxes/peer_list_box.h +++ b/Telegram/SourceFiles/boxes/peer_list_box.h @@ -337,6 +337,7 @@ protected: void keyPressEvent(QKeyEvent *e) override; void resizeEvent(QResizeEvent *e) override; + void paintEvent(QPaintEvent *e) override; private: void peerListAddSelectedRowInBunch(gsl::not_null peer) override {