From 20cc2bec8c508e8f13ee28833d576e4e2ae99539 Mon Sep 17 00:00:00 2001 From: "craig.p.drummond" Date: Sun, 5 Jan 2014 22:41:07 +0000 Subject: [PATCH] Don't use QKeySequence::Delete to detect delete key event for play queue, instead check for no modifiers and the Delete key itself. Closing a terminal with Ctrl-D seems to cause Cantata to see QKeySequence::Delete BUG: 377 --- ChangeLog | 3 +++ gui/mainwindow.cpp | 8 ++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 51f590130..7248eeff4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -34,6 +34,9 @@ max_output_buffer_size setting. 18. Add CMake option to disable streams, dynamic, and online services. Refer to INSTALL file for details. +19. Don't use QKeySequence::Delete to detect delete key event for play queue, + instead check for no modifiers and the Delete key itself. Closing a + terminal with Ctrl-D seems to cause Cantata to see QKeySequence::Delete 1.2.2 ----- diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index 49c8622e8..d76f0f435 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -142,8 +142,12 @@ enum Tabs bool DeleteKeyEventHandler::eventFilter(QObject *obj, QEvent *event) { - if (view->hasFocus() && QEvent::KeyRelease==event->type() && static_cast(event)->matches(QKeySequence::Delete)) { - act->trigger(); + if (view->hasFocus() && QEvent::KeyRelease==event->type()) { + QKeyEvent *keyEvent=static_cast(event); + + if (Qt::NoModifier==keyEvent->modifiers() && Qt::Key_Delete==keyEvent->key()) { + act->trigger(); + } return true; } return QObject::eventFilter(obj, event);