From a93ec9c2c29ce65353a4b49c5ce3c89c90ad2a4a Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Thu, 6 May 2021 21:23:04 +0300 Subject: [PATCH] Added Escape hotkey to clear selection in photo editor. --- Telegram/SourceFiles/editor/scene/scene_item_base.cpp | 11 +++++++++-- Telegram/SourceFiles/editor/scene/scene_item_base.h | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) 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);