Sketcher: Delete key in non-functional in macOS

This commit is contained in:
wmayer
2024-07-01 11:51:14 +02:00
parent 554310a6ba
commit fe89807f53
2 changed files with 12 additions and 18 deletions

View File

@@ -100,9 +100,9 @@ void DrawSketchKeyboardManager::detectKeyboardEventHandlingMode(QKeyEvent* keyEv
auto match = rx.match(keyEvent->text());
if (keyEvent->key() == Qt::Key_Enter || keyEvent->key() == Qt::Key_Return
|| keyEvent->key() == Qt::Key_Tab || keyEvent->key() == Qt::Key_Backtab
|| keyEvent->key() == Qt::Key_Backspace || keyEvent->key() == Qt::Key_Delete
|| keyEvent->key() == Qt::Key_Minus || keyEvent->key() == Qt::Key_Period
|| keyEvent->key() == Qt::Key_Comma || match.hasMatch()) {
|| keyEvent->key() == Qt::Key_Comma || match.hasMatch()
|| keyEvent->matches(QKeySequence::Backspace) || keyEvent->matches(QKeySequence::Delete)) {
keyMode = KeyboardEventHandlingMode::DSHControl;
timer.start(timeOutValue);
}

View File

@@ -23,6 +23,7 @@
#include "PreCompiled.h"
#ifndef _PreComp_
#include <QKeyEvent>
#include <QKeySequence>
#endif
#include "ShortcutListener.h"
@@ -33,28 +34,21 @@ using namespace SketcherGui;
// ******************** ShortcutListener *********************************************//
ShortcutListener::ShortcutListener(ViewProviderSketch* vp)
{
pViewProvider = vp;
}
ShortcutListener::~ShortcutListener()
: pViewProvider {vp}
{}
ShortcutListener::~ShortcutListener() = default;
bool ShortcutListener::eventFilter(QObject* obj, QEvent* event)
{
if (event->type() == QEvent::ShortcutOverride) {
QKeyEvent* kevent = static_cast<QKeyEvent*>(event);
if (kevent->modifiers() == Qt::NoModifier || kevent->modifiers() == Qt::ShiftModifier
|| kevent->modifiers() == Qt::KeypadModifier) {
switch (kevent->key()) {
case Qt::Key_Delete:
kevent->accept();
pViewProvider->deleteSelected();
return true;
default:
break;
}
QKeyEvent* kevent = static_cast<QKeyEvent*>(event); // NOLINT
if (kevent->matches(QKeySequence::Delete)) {
kevent->accept();
pViewProvider->deleteSelected();
return true;
}
}
return QObject::eventFilter(obj, event);
}