From a8f492a027ee2c3078a6090601de9e26896b56f3 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Thu, 24 Oct 2024 18:34:11 +0300 Subject: [PATCH] Improved colors of ministars in buttons from section of peer gifts. --- .../peer_gifts/info_peer_gifts_common.cpp | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/Telegram/SourceFiles/info/peer_gifts/info_peer_gifts_common.cpp b/Telegram/SourceFiles/info/peer_gifts/info_peer_gifts_common.cpp index d35759154..7d1f5cebe 100644 --- a/Telegram/SourceFiles/info/peer_gifts/info_peer_gifts_common.cpp +++ b/Telegram/SourceFiles/info/peer_gifts/info_peer_gifts_common.cpp @@ -42,7 +42,6 @@ GiftButton::GiftButton( : AbstractButton(parent) , _delegate(delegate) , _stars(this, true, Ui::Premium::MiniStars::Type::SlowStars) { - _stars.setColorOverride(Ui::Premium::CreditsIconGradientStops()); } GiftButton::~GiftButton() { @@ -82,7 +81,14 @@ void GiftButton::setDescriptor(const GiftDescriptor &descriptor) { data.currency, true)); _userpic = nullptr; + _stars.setColorOverride(QGradientStops{ + { 0., anim::with_alpha(st::windowActiveTextFg->c, .3) }, + { 1., st::windowActiveTextFg->c }, + }); }, [&](const GiftTypeStars &data) { + const auto soldOut = data.limitedCount + && !data.userpic + && !data.limitedLeft; _price.setMarkedText( st::semiboldTextStyle, _delegate->star().append(' ' + QString::number(data.stars)), @@ -93,6 +99,14 @@ void GiftButton::setDescriptor(const GiftDescriptor &descriptor) { : data.from ? Ui::MakeUserpicThumbnail(data.from) : Ui::MakeHiddenAuthorThumbnail(); + if (soldOut) { + _stars.setColorOverride(QGradientStops{ + { 0., Qt::transparent }, + { 1., Qt::transparent }, + }); + } else { + _stars.setColorOverride(Ui::Premium::CreditsIconGradientStops()); + } }); if (const auto document = _delegate->lookupSticker(descriptor)) { setDocument(document); @@ -110,6 +124,10 @@ void GiftButton::setDescriptor(const GiftDescriptor &descriptor) { const auto skipx = (width() - inner.width()) / 2; const auto outer = (width() - 2 * skipx); _button = QRect(skipx, skipy, outer, inner.height()); + { + const auto padding = _button.height() / 2; + _stars.setCenter(_button - QMargins(padding, 0, padding, 0)); + } } bool GiftButton::documentResolved() const {