Don't use MTP* in the image editor.

This commit is contained in:
John Preston 2021-10-04 08:46:12 +04:00
parent 21ac2b8f3a
commit 84f561b251
5 changed files with 14 additions and 8 deletions

View file

@ -46,7 +46,7 @@ void Scene::cancelDrawing() {
_canvas->cancelDrawing();
}
void Scene::addItem(std::shared_ptr<NumberedItem> item) {
void Scene::addItem(ItemPtr item) {
if (!item) {
return;
}
@ -120,7 +120,7 @@ std::vector<ItemPtr> Scene::items(
return copyItems;
}
std::vector<MTPInputDocument> Scene::attachedStickers() const {
std::vector<not_null<DocumentData*>> Scene::attachedStickers() const {
const auto allItems = items();
return ranges::views::all(

View file

@ -39,7 +39,8 @@ public:
[[nodiscard]] rpl::producer<> addsItem() const;
[[nodiscard]] rpl::producer<> removesItem() const;
[[nodiscard]] std::vector<MTPInputDocument> attachedStickers() const;
[[nodiscard]] auto attachedStickers() const
-> std::vector<not_null<DocumentData*>>;
[[nodiscard]] std::shared_ptr<float64> lastZ() const;

View file

@ -95,8 +95,8 @@ void ItemSticker::paint(
ItemBase::paint(p, option, w);
}
MTPInputDocument ItemSticker::sticker() const {
return _document->mtpInput();
not_null<DocumentData*> ItemSticker::sticker() const {
return _document;
}
int ItemSticker::type() const {

View file

@ -30,11 +30,13 @@ public:
QPainter *p,
const QStyleOptionGraphicsItem *option,
QWidget *widget) override;
MTPInputDocument sticker() const;
[[nodiscard]] not_null<DocumentData*> sticker() const;
int type() const override;
protected:
void performFlip() override;
std::shared_ptr<ItemBase> duplicate(ItemBase::Data data) const override;
private:
const not_null<DocumentData*> _document;
const std::shared_ptr<::Data::DocumentMedia> _mediaView;

View file

@ -1007,8 +1007,11 @@ void FileLoadTask::process(Args &&args) {
if (auto image = std::get_if<Ui::PreparedFileInformation::Image>(
&_information->media)) {
if (image->modifications.paint) {
_result->attachedStickers =
image->modifications.paint->attachedStickers();
const auto documents
= image->modifications.paint->attachedStickers();
_result->attachedStickers = documents
| ranges::view::transform(&DocumentData::mtpInput)
| ranges::to_vector;
}
}
}