Sketcher: Delete key in non-functional in macOS
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user