Fix global search by username in PeerListBox.
This commit is contained in:
		
							parent
							
								
									f316e3bd17
								
							
						
					
					
						commit
						5ca3a81fe2
					
				
					 6 changed files with 32 additions and 6 deletions
				
			
		| 
						 | 
					@ -316,6 +316,13 @@ void ContactsBox::resizeEvent(QResizeEvent *e) {
 | 
				
			||||||
	_inner->resize(width(), _inner->height());
 | 
						_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() {
 | 
					void ContactsBox::closeHook() {
 | 
				
			||||||
	if (_channel && _creating == CreatingGroupChannel) {
 | 
						if (_channel && _creating == CreatingGroupChannel) {
 | 
				
			||||||
		Ui::showPeerHistory(_channel, ShowAtTheEndMsgId);
 | 
							Ui::showPeerHistory(_channel, ShowAtTheEndMsgId);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -82,6 +82,7 @@ protected:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	void keyPressEvent(QKeyEvent *e) override;
 | 
						void keyPressEvent(QKeyEvent *e) override;
 | 
				
			||||||
	void resizeEvent(QResizeEvent *e) override;
 | 
						void resizeEvent(QResizeEvent *e) override;
 | 
				
			||||||
 | 
						void paintEvent(QPaintEvent *e) override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
	object_ptr<Ui::WidgetSlideWrap<Ui::MultiSelect>> createMultiSelect();
 | 
						object_ptr<Ui::WidgetSlideWrap<Ui::MultiSelect>> createMultiSelect();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -127,6 +127,13 @@ void MembersBox::resizeEvent(QResizeEvent *e) {
 | 
				
			||||||
	_inner->resize(width(), _inner->height());
 | 
						_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() {
 | 
					void MembersBox::onAdd() {
 | 
				
			||||||
	if (_inner->filter() == MembersFilter::Recent && _inner->channel()->membersCount() >= (_inner->channel()->isMegagroup() ? Global::MegagroupSizeMax() : Global::ChatSizeMax())) {
 | 
						if (_inner->filter() == MembersFilter::Recent && _inner->channel()->membersCount() >= (_inner->channel()->isMegagroup() ? Global::MegagroupSizeMax() : Global::ChatSizeMax())) {
 | 
				
			||||||
		Ui::show(Box<MaxInviteBox>(_inner->channel()->inviteLink()), KeepOtherLayers);
 | 
							Ui::show(Box<MaxInviteBox>(_inner->channel()->inviteLink()), KeepOtherLayers);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -65,6 +65,7 @@ protected:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	void keyPressEvent(QKeyEvent *e) override;
 | 
						void keyPressEvent(QKeyEvent *e) override;
 | 
				
			||||||
	void resizeEvent(QResizeEvent *e) override;
 | 
						void resizeEvent(QResizeEvent *e) override;
 | 
				
			||||||
 | 
						void paintEvent(QPaintEvent *e) override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
	void onAdd();
 | 
						void onAdd();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -114,6 +114,13 @@ void PeerListBox::resizeEvent(QResizeEvent *e) {
 | 
				
			||||||
	_inner->resize(width(), _inner->height());
 | 
						_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() {
 | 
					void PeerListBox::setInnerFocus() {
 | 
				
			||||||
	if (!_select || _select->isHidden()) {
 | 
						if (!_select || _select->isHidden()) {
 | 
				
			||||||
		_inner->setFocus();
 | 
							_inner->setFocus();
 | 
				
			||||||
| 
						 | 
					@ -1239,13 +1246,15 @@ PeerListGlobalSearchController::PeerListGlobalSearchController() {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void PeerListGlobalSearchController::searchQuery(const QString &query) {
 | 
					void PeerListGlobalSearchController::searchQuery(const QString &query) {
 | 
				
			||||||
 | 
						if (_query != query) {
 | 
				
			||||||
		_query = query;
 | 
							_query = query;
 | 
				
			||||||
		_requestId = 0;
 | 
							_requestId = 0;
 | 
				
			||||||
	if (_query.isEmpty() && !searchInCache()) {
 | 
							if (_query.size() >= MinUsernameLength && !searchInCache()) {
 | 
				
			||||||
			_timer.callOnce(AutoSearchTimeout);
 | 
								_timer.callOnce(AutoSearchTimeout);
 | 
				
			||||||
		} else {
 | 
							} else {
 | 
				
			||||||
			_timer.cancel();
 | 
								_timer.cancel();
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool PeerListGlobalSearchController::searchInCache() {
 | 
					bool PeerListGlobalSearchController::searchInCache() {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -337,6 +337,7 @@ protected:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	void keyPressEvent(QKeyEvent *e) override;
 | 
						void keyPressEvent(QKeyEvent *e) override;
 | 
				
			||||||
	void resizeEvent(QResizeEvent *e) override;
 | 
						void resizeEvent(QResizeEvent *e) override;
 | 
				
			||||||
 | 
						void paintEvent(QPaintEvent *e) override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
	void peerListAddSelectedRowInBunch(gsl::not_null<PeerData*> peer) override {
 | 
						void peerListAddSelectedRowInBunch(gsl::not_null<PeerData*> peer) override {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue