mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-13 04:37:11 +02:00
Improve forum outlines in stories/folders.
This commit is contained in:
parent
2b8eec8666
commit
32b95f0d9a
4 changed files with 36 additions and 2 deletions
|
@ -912,7 +912,13 @@ void PeerListRow::paintDisabledCheckUserpic(
|
|||
|
||||
p.setPen(userpicBorderPen);
|
||||
p.setBrush(Qt::NoBrush);
|
||||
p.drawEllipse(userpicEllipse);
|
||||
if (peer()->forum()) {
|
||||
const auto radius = userpicDiameter
|
||||
* Ui::ForumUserpicRadiusMultiplier();
|
||||
p.drawRoundedRect(userpicEllipse, radius, radius);
|
||||
} else {
|
||||
p.drawEllipse(userpicEllipse);
|
||||
}
|
||||
|
||||
p.setPen(iconBorderPen);
|
||||
p.setBrush(st.disabledCheckFg);
|
||||
|
|
|
@ -466,7 +466,13 @@ void Row::PaintCornerBadgeFrame(
|
|||
for (auto i = 0; i != storiesUnreadCount; ++i) {
|
||||
segments.push_back({ storiesUnreadBrush, storiesUnread });
|
||||
}
|
||||
Ui::PaintOutlineSegments(q, outline, segments);
|
||||
if (peer && peer->forum()) {
|
||||
const auto radius = context.st->photoSize
|
||||
* Ui::ForumUserpicRadiusMultiplier();
|
||||
Ui::PaintOutlineSegments(q, outline, radius, segments);
|
||||
} else {
|
||||
Ui::PaintOutlineSegments(q, outline, segments);
|
||||
}
|
||||
}
|
||||
|
||||
if (subscribed) {
|
||||
|
|
|
@ -69,6 +69,22 @@ void PaintOutlineSegments(
|
|||
}
|
||||
}
|
||||
|
||||
void PaintOutlineSegments(
|
||||
QPainter &p,
|
||||
QRectF rect,
|
||||
float64 radius,
|
||||
const std::vector<OutlineSegment> &segments) {
|
||||
Expects(!segments.empty());
|
||||
|
||||
p.setBrush(Qt::NoBrush);
|
||||
const auto count = std::min(int(segments.size()), kOutlineSegmentsMax);
|
||||
if (count == 1 || true) {
|
||||
p.setPen(QPen(segments.back().brush, segments.back().width));
|
||||
p.drawRoundedRect(rect, radius, radius);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
QLinearGradient UnreadStoryOutlineGradient(QRectF rect) {
|
||||
auto result = QLinearGradient(rect.topRight(), rect.bottomLeft());
|
||||
result.setStops({
|
||||
|
|
|
@ -22,6 +22,12 @@ void PaintOutlineSegments(
|
|||
const std::vector<OutlineSegment> &segments,
|
||||
float64 fromFullProgress = 1.);
|
||||
|
||||
void PaintOutlineSegments(
|
||||
QPainter &p,
|
||||
QRectF rect,
|
||||
float64 radius,
|
||||
const std::vector<OutlineSegment> &segments);
|
||||
|
||||
[[nodiscard]] QLinearGradient UnreadStoryOutlineGradient(QRectF rect = {});
|
||||
|
||||
} // namespace Ui
|
||||
|
|
Loading…
Add table
Reference in a new issue