From 28a79bfccbe1b37207d4658bfd0d0a8b2dd6b7c1 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Sat, 25 Jan 2025 20:10:31 +0300 Subject: [PATCH] Improved sort of received star gifts. --- Telegram/SourceFiles/boxes/star_gift_box.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Telegram/SourceFiles/boxes/star_gift_box.cpp b/Telegram/SourceFiles/boxes/star_gift_box.cpp index dbfa60999..10d399321 100644 --- a/Telegram/SourceFiles/boxes/star_gift_box.cpp +++ b/Telegram/SourceFiles/boxes/star_gift_box.cpp @@ -681,6 +681,21 @@ void PreviewWrap::paintEvent(QPaintEvent *e) { for (auto &gift : gifts) { list.push_back({ .info = gift }); } + ranges::sort(list, []( + const GiftTypeStars &a, + const GiftTypeStars &b) { + if (!a.info.limitedCount && !b.info.limitedCount) { + return a.info.stars <= b.info.stars; + } else if (!a.info.limitedCount) { + return true; + } else if (!b.info.limitedCount) { + return false; + } else if (a.info.limitedLeft != b.info.limitedLeft) { + return a.info.limitedLeft > b.info.limitedLeft; + } + return a.info.stars <= b.info.stars; + }); + auto &map = Map[session]; if (map.last != list) { map.last = list;