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

View file

@ -39,7 +39,8 @@ public:
[[nodiscard]] rpl::producer<> addsItem() const; [[nodiscard]] rpl::producer<> addsItem() const;
[[nodiscard]] rpl::producer<> removesItem() 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; [[nodiscard]] std::shared_ptr<float64> lastZ() const;

View file

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

View file

@ -30,11 +30,13 @@ public:
QPainter *p, QPainter *p,
const QStyleOptionGraphicsItem *option, const QStyleOptionGraphicsItem *option,
QWidget *widget) override; QWidget *widget) override;
MTPInputDocument sticker() const; [[nodiscard]] not_null<DocumentData*> sticker() const;
int type() const override; int type() const override;
protected: protected:
void performFlip() override; void performFlip() override;
std::shared_ptr<ItemBase> duplicate(ItemBase::Data data) const override; std::shared_ptr<ItemBase> duplicate(ItemBase::Data data) const override;
private: private:
const not_null<DocumentData*> _document; const not_null<DocumentData*> _document;
const std::shared_ptr<::Data::DocumentMedia> _mediaView; 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>( if (auto image = std::get_if<Ui::PreparedFileInformation::Image>(
&_information->media)) { &_information->media)) {
if (image->modifications.paint) { if (image->modifications.paint) {
_result->attachedStickers = const auto documents
image->modifications.paint->attachedStickers(); = image->modifications.paint->attachedStickers();
_result->attachedStickers = documents
| ranges::view::transform(&DocumentData::mtpInput)
| ranges::to_vector;
} }
} }
} }