mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-14 13:17:08 +02:00
Added support of new statuses of credits history entries.
This commit is contained in:
parent
7d115b3fab
commit
b5bd0f53ad
3 changed files with 45 additions and 31 deletions
|
@ -5164,6 +5164,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
"lng_channel_earn_history_return" = "Refund";
|
||||
"lng_channel_earn_history_return_about" = "Refunded back";
|
||||
"lng_channel_earn_history_pending" = "Pending";
|
||||
"lng_channel_earn_history_failed" = "Failed";
|
||||
"lng_channel_earn_history_show_more#one" = "Show {count} More Transaction";
|
||||
"lng_channel_earn_history_show_more#other" = "Show {count} More Transactions";
|
||||
"lng_channel_earn_off" = "Switch Off Ads";
|
||||
|
|
|
@ -782,13 +782,17 @@ void CreditsRow::init() {
|
|||
langDateTimeFull(_entry.date)
|
||||
+ (_entry.refunded
|
||||
? (joiner + tr::lng_channel_earn_history_return(tr::now))
|
||||
: _entry.pending
|
||||
? (joiner + tr::lng_channel_earn_history_pending(tr::now))
|
||||
: _entry.failed
|
||||
? (joiner + tr::lng_channel_earn_history_failed(tr::now))
|
||||
: QString())
|
||||
+ (_entry.title.isEmpty() ? QString() : (joiner + _name)));
|
||||
{
|
||||
constexpr auto kMinus = QChar(0x2212);
|
||||
_rightText.setText(
|
||||
st::semiboldTextStyle,
|
||||
((!_entry.bareId || _entry.refunded) ? QChar('+') : kMinus)
|
||||
(_entry.in ? QChar('+') : kMinus)
|
||||
+ Lang::FormatCountDecimal(std::abs(int64(_entry.credits))));
|
||||
}
|
||||
if (!_paintUserpicCallback) {
|
||||
|
@ -836,7 +840,9 @@ void CreditsRow::rightActionPaint(
|
|||
bool actionSelected) {
|
||||
const auto &font = _rightText.style()->font;
|
||||
y += _rowHeight / 2;
|
||||
p.setPen((!_entry.bareId || _entry.refunded)
|
||||
p.setPen(_entry.pending
|
||||
? st::creditsStroke
|
||||
: _entry.in
|
||||
? st::boxTextFgGood
|
||||
: st::menuIconAttentionColor);
|
||||
x += st::creditsHistoryRightSkip;
|
||||
|
|
|
@ -389,14 +389,19 @@ void ReceiptCreditsBox(
|
|||
auto &lifetime = content->lifetime();
|
||||
const auto text = lifetime.make_state<Ui::Text::String>(
|
||||
st::semiboldTextStyle,
|
||||
((!e.bareId || e.refunded) ? QChar('+') : kMinus)
|
||||
(e.in ? QChar('+') : kMinus)
|
||||
+ Lang::FormatCountDecimal(std::abs(int64(e.credits))));
|
||||
const auto refundedText = tr::lng_channel_earn_history_return(
|
||||
tr::now);
|
||||
const auto refunded = e.refunded
|
||||
const auto roundedText = e.refunded
|
||||
? tr::lng_channel_earn_history_return(tr::now)
|
||||
: e.pending
|
||||
? tr::lng_channel_earn_history_pending(tr::now)
|
||||
: e.failed
|
||||
? tr::lng_channel_earn_history_failed(tr::now)
|
||||
: QString();
|
||||
const auto rounded = !roundedText.isEmpty()
|
||||
? lifetime.make_state<Ui::Text::String>(
|
||||
st::defaultTextStyle,
|
||||
refundedText)
|
||||
roundedText)
|
||||
: (Ui::Text::String*)(nullptr);
|
||||
|
||||
const auto amount = content->add(
|
||||
|
@ -404,23 +409,25 @@ void ReceiptCreditsBox(
|
|||
content,
|
||||
star.height() / style::DevicePixelRatio()));
|
||||
const auto font = text->style()->font;
|
||||
const auto refundedFont = st::defaultTextStyle.font;
|
||||
const auto roundedFont = st::defaultTextStyle.font;
|
||||
const auto starWidth = star.width()
|
||||
/ style::DevicePixelRatio();
|
||||
const auto refundedSkip = refundedFont->spacew * 2;
|
||||
const auto refundedWidth = refunded
|
||||
? refundedFont->width(refundedText)
|
||||
+ refundedSkip
|
||||
+ refundedFont->height
|
||||
const auto roundedSkip = roundedFont->spacew * 2;
|
||||
const auto roundedWidth = rounded
|
||||
? roundedFont->width(roundedText)
|
||||
+ roundedSkip
|
||||
+ roundedFont->height
|
||||
: 0;
|
||||
const auto fullWidth = text->maxWidth()
|
||||
+ font->spacew * 1
|
||||
+ starWidth
|
||||
+ refundedWidth;
|
||||
+ roundedWidth;
|
||||
amount->paintRequest(
|
||||
) | rpl::start_with_next([=] {
|
||||
auto p = Painter(amount);
|
||||
p.setPen((!e.bareId || e.refunded)
|
||||
p.setPen(e.pending
|
||||
? st::creditsStroke
|
||||
: e.in
|
||||
? st::boxTextFgGood
|
||||
: st::menuIconAttentionColor);
|
||||
const auto x = (amount->width() - fullWidth) / 2;
|
||||
|
@ -432,15 +439,15 @@ void ReceiptCreditsBox(
|
|||
.availableWidth = amount->width(),
|
||||
});
|
||||
p.drawImage(
|
||||
x + fullWidth - starWidth - refundedWidth,
|
||||
x + fullWidth - starWidth - roundedWidth,
|
||||
0,
|
||||
star);
|
||||
|
||||
if (refunded) {
|
||||
const auto refundedLeft = fullWidth
|
||||
if (rounded) {
|
||||
const auto roundedLeft = fullWidth
|
||||
+ x
|
||||
- refundedWidth
|
||||
+ refundedSkip;
|
||||
- roundedWidth
|
||||
+ roundedSkip;
|
||||
const auto pen = p.pen();
|
||||
auto color = pen.color();
|
||||
color.setAlphaF(color.alphaF() * 0.15);
|
||||
|
@ -449,20 +456,20 @@ void ReceiptCreditsBox(
|
|||
{
|
||||
auto hq = PainterHighQualityEnabler(p);
|
||||
p.drawRoundedRect(
|
||||
refundedLeft,
|
||||
(amount->height() - refundedFont->height) / 2,
|
||||
refundedWidth - refundedSkip,
|
||||
refundedFont->height,
|
||||
refundedFont->height / 2,
|
||||
refundedFont->height / 2);
|
||||
roundedLeft,
|
||||
(amount->height() - roundedFont->height) / 2,
|
||||
roundedWidth - roundedSkip,
|
||||
roundedFont->height,
|
||||
roundedFont->height / 2,
|
||||
roundedFont->height / 2);
|
||||
}
|
||||
p.setPen(pen);
|
||||
refunded->draw(p, Ui::Text::PaintContext{
|
||||
rounded->draw(p, Ui::Text::PaintContext{
|
||||
.position = QPoint(
|
||||
refundedLeft + refundedFont->height / 2,
|
||||
(amount->height() - refundedFont->height) / 2),
|
||||
.outerWidth = refundedWidth,
|
||||
.availableWidth = refundedWidth,
|
||||
roundedLeft + roundedFont->height / 2,
|
||||
(amount->height() - roundedFont->height) / 2),
|
||||
.outerWidth = roundedWidth,
|
||||
.availableWidth = roundedWidth,
|
||||
});
|
||||
}
|
||||
}, amount->lifetime());
|
||||
|
|
Loading…
Add table
Reference in a new issue