From 6bb7263f7d7ab03d868e32fb5396b979d84537dd Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Tue, 31 Jan 2023 00:37:34 +0300 Subject: [PATCH] Provided result of emoji userpic builder to api. --- .../info/profile/info_profile_cover.cpp | 15 ++++++++++++--- .../info_userpic_emoji_builder_preview.cpp | 6 +++++- .../SourceFiles/settings/settings_information.cpp | 8 +++++++- Telegram/SourceFiles/settings/settings_main.cpp | 6 +++++- 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/Telegram/SourceFiles/info/profile/info_profile_cover.cpp b/Telegram/SourceFiles/info/profile/info_profile_cover.cpp index 8074445ba..4a512e274 100644 --- a/Telegram/SourceFiles/info/profile/info_profile_cover.cpp +++ b/Telegram/SourceFiles/info/profile/info_profile_cover.cpp @@ -444,17 +444,22 @@ void Cover::refreshUploadPhotoOverlay() { }(), [=](Ui::UserpicButton::ChosenImage chosen) { using ChosenType = Ui::UserpicButton::ChosenType; auto &image = chosen.image; + auto result = Api::PeerPhoto::UserPhoto{ + std::move(image), + chosen.markup.documentId, + chosen.markup.colors, + }; switch (chosen.type) { case ChosenType::Set: _userpic->showCustom(base::duplicate(image)); _peer->session().api().peerPhoto().upload( _peer, - { std::move(image) }); + std::move(result)); break; case ChosenType::Suggest: _peer->session().api().peerPhoto().suggest( _peer, - { std::move(image) }); + std::move(result)); break; } }); @@ -478,7 +483,11 @@ void Cover::setupChangePersonal() { if (chosen.type == Ui::UserpicButton::ChosenType::Suggest) { _peer->session().api().peerPhoto().suggest( _peer, - { std::move(chosen.image) }); + { + std::move(chosen.image), + chosen.markup.documentId, + chosen.markup.colors, + }); } else { _personalChosen = std::move(chosen.image); _userpic->showCustom(base::duplicate(*_personalChosen)); diff --git a/Telegram/SourceFiles/info/userpic/info_userpic_emoji_builder_preview.cpp b/Telegram/SourceFiles/info/userpic/info_userpic_emoji_builder_preview.cpp index 904931253..90652490c 100644 --- a/Telegram/SourceFiles/info/userpic/info_userpic_emoji_builder_preview.cpp +++ b/Telegram/SourceFiles/info/userpic/info_userpic_emoji_builder_preview.cpp @@ -163,7 +163,11 @@ void EmojiUserpic::result(int size, Fn done) { } } } - done({ std::move(background), document->id, _colors }); + if (*_playOnce) { + done({ std::move(background), document->id, _colors }); + } else { + done({ std::move(background) }); + } }); } diff --git a/Telegram/SourceFiles/settings/settings_information.cpp b/Telegram/SourceFiles/settings/settings_information.cpp index 631056e3e..3c244801c 100644 --- a/Telegram/SourceFiles/settings/settings_information.cpp +++ b/Telegram/SourceFiles/settings/settings_information.cpp @@ -256,7 +256,13 @@ void SetupPhoto( auto &image = chosen.image; UpdatePhotoLocally(self, image); photo->showCustom(base::duplicate(image)); - self->session().api().peerPhoto().upload(self, { std::move(image) }); + self->session().api().peerPhoto().upload( + self, + { + std::move(image), + chosen.markup.documentId, + chosen.markup.colors, + }); }, upload->lifetime()); const auto name = Ui::CreateChild( diff --git a/Telegram/SourceFiles/settings/settings_main.cpp b/Telegram/SourceFiles/settings/settings_main.cpp index 4a06d1b21..b74536c4e 100644 --- a/Telegram/SourceFiles/settings/settings_main.cpp +++ b/Telegram/SourceFiles/settings/settings_main.cpp @@ -146,7 +146,11 @@ Cover::Cover( _userpic->showCustom(base::duplicate(image)); _user->session().api().peerPhoto().upload( _user, - { std::move(image) }); + { + std::move(image), + chosen.markup.documentId, + chosen.markup.colors, + }); }); _badge.setPremiumClickCallback([=] {