mirror of
https://github.com/kotatogram/kotatogram-desktop
synced 2025-10-01 11:22:20 +00:00
Fix unread badge styles on palette changes.
This commit is contained in:
@@ -516,6 +516,8 @@ struct UnreadBadgeSizeData {
|
||||
};
|
||||
class UnreadBadgeStyleData : public Data::AbstractStructure {
|
||||
public:
|
||||
UnreadBadgeStyleData();
|
||||
|
||||
UnreadBadgeSizeData sizes[UnreadBadgeSizesCount];
|
||||
style::color bg[6] = {
|
||||
st::dialogsUnreadBg,
|
||||
@@ -525,9 +527,24 @@ public:
|
||||
st::dialogsUnreadBgMutedOver,
|
||||
st::dialogsUnreadBgMutedActive
|
||||
};
|
||||
rpl::lifetime lifetime;
|
||||
};
|
||||
Data::GlobalStructurePointer<UnreadBadgeStyleData> unreadBadgeStyle;
|
||||
|
||||
UnreadBadgeStyleData::UnreadBadgeStyleData() {
|
||||
style::PaletteChanged(
|
||||
) | rpl::start_with_next([=] {
|
||||
for (auto &data : sizes) {
|
||||
for (auto &left : data.left) {
|
||||
left = QPixmap();
|
||||
}
|
||||
for (auto &right : data.right) {
|
||||
right = QPixmap();
|
||||
}
|
||||
}
|
||||
}, lifetime);
|
||||
}
|
||||
|
||||
void createCircleMask(UnreadBadgeSizeData *data, int size) {
|
||||
if (!data->circle.isNull()) return;
|
||||
|
||||
@@ -979,18 +996,5 @@ void PaintCollapsedRow(
|
||||
}
|
||||
}
|
||||
|
||||
void clearUnreadBadgesCache() {
|
||||
if (unreadBadgeStyle) {
|
||||
for (auto &data : unreadBadgeStyle->sizes) {
|
||||
for (auto &left : data.left) {
|
||||
left = QPixmap();
|
||||
}
|
||||
for (auto &right : data.right) {
|
||||
right = QPixmap();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace Layout
|
||||
} // namespace Dialogs
|
||||
|
Reference in New Issue
Block a user