From af71f6806e05d252a2e25e5a30f10123ecaf3c4a Mon Sep 17 00:00:00 2001 From: Pablo Gil Date: Fri, 7 Mar 2025 17:26:40 +0100 Subject: [PATCH 1/2] add backspace shortcut to delete --- src/app/GUI/canvaswindow.cpp | 2 +- src/app/GUI/keysview.cpp | 2 +- src/app/GUI/mainwindow.cpp | 7 ++++--- src/core/Boxes/boundingbox.cpp | 4 ++-- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/app/GUI/canvaswindow.cpp b/src/app/GUI/canvaswindow.cpp index 6ddb2920f..38f151988 100644 --- a/src/app/GUI/canvaswindow.cpp +++ b/src/app/GUI/canvaswindow.cpp @@ -451,7 +451,7 @@ bool CanvasWindow::handleCutCopyPasteKeyPress(QKeyEvent *event) event->key() == Qt::Key_X) { if (event->isAutoRepeat()) { return false; } (*mActions.cutAction)(); - } else if (event->key() == Qt::Key_Delete) { + } else if (event->key() == Qt::Key_Delete || event->key() == Qt::Key_Backspace) { (*mActions.deleteAction)(); } else { return false; } return true; diff --git a/src/app/GUI/keysview.cpp b/src/app/GUI/keysview.cpp index 9c2c9bef2..af7efd37b 100644 --- a/src/app/GUI/keysview.cpp +++ b/src/app/GUI/keysview.cpp @@ -478,7 +478,7 @@ bool KeysView::KFT_keyPressEvent(QKeyEvent *event) clearKeySelection(); container->paste(mCurrentScene->getCurrentFrame(), true, [this](Key* key) { addKeyToSelection(key); }); - } else if(event->key() == Qt::Key_Delete) { + } else if(event->key() == Qt::Key_Delete || event->key() == Qt::Key_Backspace) { if(mGraphViewed) { graphDeletePressed(); } else { diff --git a/src/app/GUI/mainwindow.cpp b/src/app/GUI/mainwindow.cpp index 609f37b37..3235c0203 100644 --- a/src/app/GUI/mainwindow.cpp +++ b/src/app/GUI/mainwindow.cpp @@ -587,6 +587,7 @@ void MainWindow::setupMenuBar() mEditMenu->addAction(qAct); #ifndef Q_OS_MAC qAct->setShortcut(Qt::Key_Delete); + qAct->setShortcut(Qt::Key_Backspace); #endif mActions.deleteAction->connect(qAct); cmdAddAction(qAct); @@ -1613,7 +1614,7 @@ bool MainWindow::eventFilter(QObject *obj, QEvent *e) const auto focusWidget = QApplication::focusWidget(); if (type == QEvent::KeyPress) { const auto keyEvent = static_cast(e); - if (keyEvent->key() == Qt::Key_Delete && focusWidget) { + if (keyEvent->key() == Qt::Key_Delete && focusWidget || keyEvent->key() == Qt::Key_Backspace && focusWidget) { mEventFilterDisabled = true; const bool widHandled = QCoreApplication::sendEvent(focusWidget, keyEvent); @@ -1637,7 +1638,7 @@ bool MainWindow::eventFilter(QObject *obj, QEvent *e) key == Qt::Key_X || key == Qt::Key_D)) { return processKeyEvent(keyEvent); } else if (key == Qt::Key_A || key == Qt::Key_I || - key == Qt::Key_Delete) { + key == Qt::Key_Delete || key == Qt::Key_Backspace) { return processKeyEvent(keyEvent); } } else if (type == QEvent::KeyRelease) { @@ -1690,7 +1691,7 @@ bool MainWindow::processBoxesListKeyEvent(QKeyEvent *event) } else if (ctrl && event->key() == Qt::Key_X) { if (event->isAutoRepeat()) { return false; } (*mActions.cutAction)(); - } else if (event->key() == Qt::Key_Delete) { + } else if (event->key() == Qt::Key_Delete || event->key() == Qt::Key_Backspace) { (*mActions.deleteAction)(); } else { return false; } return true; diff --git a/src/core/Boxes/boundingbox.cpp b/src/core/Boxes/boundingbox.cpp index 52558cb6a..03ed88b46 100644 --- a/src/core/Boxes/boundingbox.cpp +++ b/src/core/Boxes/boundingbox.cpp @@ -817,7 +817,7 @@ void BoundingBox::setupCanvasMenu(PropertyMenu * const menu) menu->addPlainAction(QIcon::fromTheme("trash"), tr("Delete"), [pScene]() { pScene->removeSelectedBoxesAndClearList(); - })->setShortcut(Qt::Key_Delete); + })->setShortcut({Qt::Key_Delete, Qt::Key_Backspace}); menu->addSeparator(); @@ -1299,7 +1299,7 @@ void BoundingBox::prp_setupTreeViewMenu(PropertyMenu * const menu) tr("Are you sure you want to delete selected item(s)?")); if (ask != QMessageBox::Yes) { return; }*/ pScene->removeSelectedBoxesAndClearList(); - })->setShortcut(Qt::Key_Delete); + })->setShortcuts({Qt::Key_Delete, Qt::Key_Backspace}); } menu->addSeparator(); From 24436b09db871ae4c30e87750896294930d2c28b Mon Sep 17 00:00:00 2001 From: Pablo Gil Date: Sat, 8 Mar 2025 00:04:09 +0100 Subject: [PATCH 2/2] fix console warning --- src/app/GUI/mainwindow.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/app/GUI/mainwindow.cpp b/src/app/GUI/mainwindow.cpp index 3235c0203..265d2fe35 100644 --- a/src/app/GUI/mainwindow.cpp +++ b/src/app/GUI/mainwindow.cpp @@ -1614,7 +1614,8 @@ bool MainWindow::eventFilter(QObject *obj, QEvent *e) const auto focusWidget = QApplication::focusWidget(); if (type == QEvent::KeyPress) { const auto keyEvent = static_cast(e); - if (keyEvent->key() == Qt::Key_Delete && focusWidget || keyEvent->key() == Qt::Key_Backspace && focusWidget) { + if ((keyEvent->key() == Qt::Key_Delete && focusWidget) || + (keyEvent->key() == Qt::Key_Backspace && focusWidget)) { mEventFilterDisabled = true; const bool widHandled = QCoreApplication::sendEvent(focusWidget, keyEvent);