2
0
mirror of https://github.com/kotatogram/kotatogram-desktop synced 2025-09-04 00:25:17 +00:00

Respect wallpaper_overriden flag.

This commit is contained in:
John Preston
2023-11-29 18:00:50 +04:00
parent 1a69975131
commit 514ced1d8e
7 changed files with 47 additions and 22 deletions

View File

@@ -1227,16 +1227,30 @@ const QString &PeerData::themeEmoji() const {
return _themeEmoticon;
}
void PeerData::setWallPaper(std::optional<Data::WallPaper> paper) {
if (!paper && !_wallPaper) {
return;
} else if (paper && _wallPaper && _wallPaper->equals(*paper)) {
return;
void PeerData::setWallPaper(
std::optional<Data::WallPaper> paper,
bool overriden) {
const auto paperChanged = (paper || _wallPaper)
&& (!paper || !_wallPaper || !_wallPaper->equals(*paper));
if (paperChanged) {
_wallPaper = paper
? std::make_unique<Data::WallPaper>(std::move(*paper))
: nullptr;
}
_wallPaper = paper
? std::make_unique<Data::WallPaper>(std::move(*paper))
: nullptr;
session().changes().peerUpdated(this, UpdateFlag::ChatWallPaper);
const auto overridenValue = overriden ? 1 : 0;
const auto overridenChanged = (_wallPaperOverriden != overridenValue);
if (overridenChanged) {
_wallPaperOverriden = overridenValue;
}
if (paperChanged || overridenChanged) {
session().changes().peerUpdated(this, UpdateFlag::ChatWallPaper);
}
}
bool PeerData::wallPaperOverriden() const {
return _wallPaperOverriden != 0;
}
const Data::WallPaper *PeerData::wallPaper() const {