From 9cb89fff4522f73dd2119ddffa963b7430719b91 Mon Sep 17 00:00:00 2001 From: John Preston Date: Mon, 19 May 2025 16:35:51 +0400 Subject: [PATCH] Fix dropping filter in gifts. --- .../info/peer_gifts/info_peer_gifts_widget.cpp | 10 ++++------ .../info/peer_gifts/info_peer_gifts_widget.h | 8 ++++++++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Telegram/SourceFiles/info/peer_gifts/info_peer_gifts_widget.cpp b/Telegram/SourceFiles/info/peer_gifts/info_peer_gifts_widget.cpp index b3454d1e17..47981cdf73 100644 --- a/Telegram/SourceFiles/info/peer_gifts/info_peer_gifts_widget.cpp +++ b/Telegram/SourceFiles/info/peer_gifts/info_peer_gifts_widget.cpp @@ -368,7 +368,9 @@ void InnerWidget::loadMore() { } else { _allLoaded = true; } - _totalCount = data.vcount().v; + if (!filter.skipsSomething()) { + _totalCount = data.vcount().v; + } const auto owner = &_peer->owner(); owner->processUsers(data.vusers()); @@ -583,11 +585,7 @@ void InnerWidget::refreshAbout() { const auto filter = _filter.current(); const auto filteredEmpty = _allLoaded && _entries.empty() - && (filter.skipLimited - || filter.skipUnlimited - || filter.skipSaved - || filter.skipUnsaved - || filter.skipUnique); + && filter.skipsSomething(); if (filteredEmpty) { auto text = tr::lng_peer_gifts_empty_search( diff --git a/Telegram/SourceFiles/info/peer_gifts/info_peer_gifts_widget.h b/Telegram/SourceFiles/info/peer_gifts/info_peer_gifts_widget.h index 2624658016..2ef1fb67cd 100644 --- a/Telegram/SourceFiles/info/peer_gifts/info_peer_gifts_widget.h +++ b/Telegram/SourceFiles/info/peer_gifts/info_peer_gifts_widget.h @@ -34,6 +34,14 @@ struct Filter { bool skipSaved : 1 = false; bool skipUnsaved : 1 = false; + [[nodiscard]] bool skipsSomething() const { + return skipLimited + || skipUnlimited + || skipSaved + || skipUnsaved + || skipUnique; + } + friend inline bool operator==(Filter, Filter) = default; };