diff --git a/Telegram/SourceFiles/editor/scene/scene.cpp b/Telegram/SourceFiles/editor/scene/scene.cpp index b9f6019cd..262b4b4fd 100644 --- a/Telegram/SourceFiles/editor/scene/scene.cpp +++ b/Telegram/SourceFiles/editor/scene/scene.cpp @@ -107,10 +107,8 @@ std::vector Scene::items( auto copyItems = _items; ranges::sort(copyItems, [&](ItemPtr a, ItemPtr b) { - const auto numA = qgraphicsitem_cast( - a.get())->number(); - const auto numB = qgraphicsitem_cast( - b.get())->number(); + const auto numA = static_cast(a.get())->number(); + const auto numB = static_cast(b.get())->number(); return (order == Qt::AscendingOrder) ? (numA < numB) : (numA > numB); }); @@ -125,7 +123,7 @@ std::vector Scene::attachedStickers() const { ) | ranges::views::filter([](const ItemPtr &i) { return i->isVisible() && (i->type() == ItemSticker::Type); }) | ranges::views::transform([](const ItemPtr &i) { - return qgraphicsitem_cast(i.get())->sticker(); + return static_cast(i.get())->sticker(); }) | ranges::to_vector; } diff --git a/Telegram/SourceFiles/editor/scene/scene_item_base.cpp b/Telegram/SourceFiles/editor/scene/scene_item_base.cpp index 0750f3eaa..05b57d33c 100644 --- a/Telegram/SourceFiles/editor/scene/scene_item_base.cpp +++ b/Telegram/SourceFiles/editor/scene/scene_item_base.cpp @@ -29,6 +29,10 @@ auto Normalized(float64 angle) { } // namespace +int NumberedItem::type() const { + return NumberedItem::Type; +} + int NumberedItem::number() const { return _number; } diff --git a/Telegram/SourceFiles/editor/scene/scene_item_base.h b/Telegram/SourceFiles/editor/scene/scene_item_base.h index fbe52df75..b1dd3f1eb 100644 --- a/Telegram/SourceFiles/editor/scene/scene_item_base.h +++ b/Telegram/SourceFiles/editor/scene/scene_item_base.h @@ -23,8 +23,10 @@ namespace Editor { class NumberedItem : public QGraphicsItem { public: + enum { Type = UserType + 1 }; using QGraphicsItem::QGraphicsItem; + int type() const override; void setNumber(int number); [[nodiscard]] int number() const; private: @@ -33,7 +35,6 @@ private: class ItemBase : public NumberedItem { public: - enum { Type = UserType + 1 }; ItemBase( rpl::producer zoomValue, @@ -46,7 +47,6 @@ public: QPainter *p, const QStyleOptionGraphicsItem *option, QWidget *widget) override; - int type() const override; bool flipped() const; void setFlip(bool value); diff --git a/Telegram/SourceFiles/editor/scene/scene_item_canvas.cpp b/Telegram/SourceFiles/editor/scene/scene_item_canvas.cpp index b6cecc646..9ae28de82 100644 --- a/Telegram/SourceFiles/editor/scene/scene_item_canvas.cpp +++ b/Telegram/SourceFiles/editor/scene/scene_item_canvas.cpp @@ -195,10 +195,6 @@ rpl::producer ItemCanvas::grabContentRequests() const { return _grabContentRequests.events(); } -int ItemCanvas::type() const { - return Type; -} - bool ItemCanvas::collidesWithItem( const QGraphicsItem *, Qt::ItemSelectionMode) const { diff --git a/Telegram/SourceFiles/editor/scene/scene_item_canvas.h b/Telegram/SourceFiles/editor/scene/scene_item_canvas.h index 4b810b2e2..1c66b1422 100644 --- a/Telegram/SourceFiles/editor/scene/scene_item_canvas.h +++ b/Telegram/SourceFiles/editor/scene/scene_item_canvas.h @@ -15,8 +15,6 @@ namespace Editor { class ItemCanvas : public QGraphicsItem { public: - enum { Type = UserType + 6 }; - struct Content { QPixmap pixmap; QPointF position; @@ -33,7 +31,6 @@ public: QPainter *p, const QStyleOptionGraphicsItem *option, QWidget *widget) override; - int type() const override; void handleMousePressEvent(not_null event); void handleMouseReleaseEvent(not_null event); diff --git a/Telegram/SourceFiles/editor/scene/scene_item_line.h b/Telegram/SourceFiles/editor/scene/scene_item_line.h index e016338d5..f79367786 100644 --- a/Telegram/SourceFiles/editor/scene/scene_item_line.h +++ b/Telegram/SourceFiles/editor/scene/scene_item_line.h @@ -13,8 +13,6 @@ namespace Editor { class ItemLine : public NumberedItem { public: - enum { Type = UserType + 5 }; - ItemLine(const QPixmap &&pixmap); QRectF boundingRect() const override; void paint(