From fb511c3e03bd055f25606ed0ecf5b86e8d5cd4ff Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Thu, 8 Jul 2021 00:51:58 +0300 Subject: [PATCH] Added status to Editor::NumberedItem. --- .../editor/scene/scene_item_base.cpp | 19 +++++++++++++++++++ .../editor/scene/scene_item_base.h | 11 +++++++++++ 2 files changed, 30 insertions(+) diff --git a/Telegram/SourceFiles/editor/scene/scene_item_base.cpp b/Telegram/SourceFiles/editor/scene/scene_item_base.cpp index 907d8e8937..2db73c088a 100644 --- a/Telegram/SourceFiles/editor/scene/scene_item_base.cpp +++ b/Telegram/SourceFiles/editor/scene/scene_item_base.cpp @@ -48,6 +48,25 @@ void NumberedItem::setNumber(int number) { _number = number; } +NumberedItem::Status NumberedItem::status() const { + return _status; +} + +bool NumberedItem::isNormalStatus() const { + return _status == Status::Normal; +} + +bool NumberedItem::isUndidStatus() const { + return _status == Status::Undid; +} + +void NumberedItem::setStatus(Status status) { + if (status != _status) { + _status = status; + setVisible(status == Status::Normal); + } +} + ItemBase::ItemBase(Data data) : _lastZ(data.zPtr) , _imageSize(data.imageSize) diff --git a/Telegram/SourceFiles/editor/scene/scene_item_base.h b/Telegram/SourceFiles/editor/scene/scene_item_base.h index 4486ba0d70..5ea45267aa 100644 --- a/Telegram/SourceFiles/editor/scene/scene_item_base.h +++ b/Telegram/SourceFiles/editor/scene/scene_item_base.h @@ -24,14 +24,25 @@ namespace Editor { class NumberedItem : public QGraphicsItem { public: + enum class Status { + Normal, + Undid, + }; + enum { Type = UserType + 1 }; using QGraphicsItem::QGraphicsItem; int type() const override; void setNumber(int number); [[nodiscard]] int number() const; + + [[nodiscard]] Status status() const; + void setStatus(Status status); + [[nodiscard]] bool isNormalStatus() const; + [[nodiscard]] bool isUndidStatus() const; private: int _number = 0; + Status _status = Status::Normal; }; class ItemBase : public NumberedItem {