diff --git a/Telegram/SourceFiles/editor/scene/scene_item_base.cpp b/Telegram/SourceFiles/editor/scene/scene_item_base.cpp index a6d0277ad..f9f93015d 100644 --- a/Telegram/SourceFiles/editor/scene/scene_item_base.cpp +++ b/Telegram/SourceFiles/editor/scene/scene_item_base.cpp @@ -251,8 +251,15 @@ void ItemBase::actionDuplicate() { } } -void ItemBase::keyPressEvent(QKeyEvent *event) { - handleActionKey(event); +void ItemBase::keyPressEvent(QKeyEvent *e) { + if (e->key() == Qt::Key_Escape) { + if (const auto s = scene()) { + s->clearSelection(); + s->clearFocus(); + return; + } + } + handleActionKey(e); } void ItemBase::handleActionKey(not_null e) { diff --git a/Telegram/SourceFiles/editor/scene/scene_item_base.h b/Telegram/SourceFiles/editor/scene/scene_item_base.h index 26387887b..e36b9368f 100644 --- a/Telegram/SourceFiles/editor/scene/scene_item_base.h +++ b/Telegram/SourceFiles/editor/scene/scene_item_base.h @@ -61,7 +61,7 @@ protected: void mousePressEvent(QGraphicsSceneMouseEvent *event) override; void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override; void contextMenuEvent(QGraphicsSceneContextMenuEvent *event) override; - void keyPressEvent(QKeyEvent *event) override; + void keyPressEvent(QKeyEvent *e) override; using Action = void(ItemBase::*)(); void performForSelectedItems(Action action);