2
0
mirror of https://github.com/telegramdesktop/tdesktop synced 2025-09-05 08:55:59 +00:00

Save wallpaper settings locally.

This commit is contained in:
John Preston
2019-01-28 16:59:49 +03:00
parent 2f702148e3
commit f506a5ea6c
14 changed files with 624 additions and 266 deletions

View File

@@ -3070,41 +3070,23 @@ void Session::setWallpapers(const QVector<MTPWallPaper> &data, int32 hash) {
qsl(":/gui/art/bg.jpg"),
"JPG");
if (defaultBackground) {
_wallpapers.push_back({
Window::Theme::kDefaultBackground,
0ULL, // access_hash
MTPDwallPaper::Flags(0),
QString(), // slug
defaultBackground.get()
});
_wallpapers.push_back(Data::DefaultWallPaper());
_wallpapers.back().setLocalImageAsThumbnail(
defaultBackground.get());
}
const auto oldBackground = Images::Create(
qsl(":/gui/art/bg_initial.jpg"),
"JPG");
if (oldBackground) {
_wallpapers.push_back({
Window::Theme::kInitialBackground,
0ULL, // access_hash
MTPDwallPaper::Flags(0),
QString(), // slug
oldBackground.get()
});
_wallpapers.push_back(Data::Legacy1DefaultWallPaper());
_wallpapers.back().setLocalImageAsThumbnail(oldBackground.get());
}
for (const auto &paper : data) {
paper.match([&](const MTPDwallPaper &paper) {
if (paper.is_pattern()) {
return;
}
const auto document = processDocument(paper.vdocument);
if (document->checkWallPaperProperties()) {
_wallpapers.push_back({
paper.vid.v,
paper.vaccess_hash.v,
paper.vflags.v,
qs(paper.vslug),
document->thumbnail(),
document,
});
} else if (const auto parsed = Data::WallPaper::Create(paper)) {
_wallpapers.push_back(*parsed);
}
});
}