Merge pull request #15085 from wwmayer/issue_15068
Sketcher: Delete key in non-functional in macOS
This commit is contained in:
@@ -500,15 +500,12 @@ void ParameterGroup::contextMenuEvent ( QContextMenuEvent* event )
|
||||
|
||||
void ParameterGroup::keyPressEvent (QKeyEvent* event)
|
||||
{
|
||||
switch ( tolower(event->key()) )
|
||||
{
|
||||
case Qt::Key_Delete:
|
||||
{
|
||||
onDeleteSelectedItem();
|
||||
} break;
|
||||
default:
|
||||
QTreeWidget::keyPressEvent(event);
|
||||
}
|
||||
if (event->matches(QKeySequence::Delete)) {
|
||||
onDeleteSelectedItem();
|
||||
}
|
||||
else {
|
||||
QTreeWidget::keyPressEvent(event);
|
||||
}
|
||||
}
|
||||
|
||||
void ParameterGroup::onDeleteSelectedItem()
|
||||
@@ -715,15 +712,12 @@ void ParameterValue::contextMenuEvent ( QContextMenuEvent* event )
|
||||
|
||||
void ParameterValue::keyPressEvent (QKeyEvent* event)
|
||||
{
|
||||
switch ( tolower(event->key()) )
|
||||
{
|
||||
case Qt::Key_Delete:
|
||||
{
|
||||
onDeleteSelectedItem();
|
||||
} break;
|
||||
default:
|
||||
QTreeWidget::keyPressEvent(event);
|
||||
}
|
||||
if (event->matches(QKeySequence::Delete)) {
|
||||
onDeleteSelectedItem();
|
||||
}
|
||||
else {
|
||||
QTreeWidget::keyPressEvent(event);
|
||||
}
|
||||
}
|
||||
|
||||
void ParameterValue::resizeEvent(QResizeEvent* event)
|
||||
|
||||
@@ -60,8 +60,8 @@ EditTableView::EditTableView(QWidget *parent)
|
||||
|
||||
void EditTableView::keyPressEvent(QKeyEvent *event)
|
||||
{
|
||||
if ((event->key() == Qt::Key_Delete
|
||||
|| event->key() == Qt::Key_Backspace)
|
||||
if ((event->matches(QKeySequence::Delete)
|
||||
|| event->matches(QKeySequence::Backspace))
|
||||
&& model()) {
|
||||
removeOne();
|
||||
} else {
|
||||
|
||||
@@ -74,7 +74,7 @@ Array2D::Array2D(const QString& propertyName,
|
||||
connect(ui->tableView, &QWidget::customContextMenuRequested, this, &Array2D::onContextMenu);
|
||||
|
||||
_deleteAction.setText(tr("Delete row"));
|
||||
_deleteAction.setShortcut(Qt::Key_Delete);
|
||||
_deleteAction.setShortcut(QKeySequence::Delete);
|
||||
connect(&_deleteAction, &QAction::triggered, this, &Array2D::onDelete);
|
||||
ui->tableView->addAction(&_deleteAction);
|
||||
|
||||
|
||||
@@ -75,12 +75,10 @@ Array3D::Array3D(const QString& propertyName,
|
||||
connect(ui->table2D, &QWidget::customContextMenuRequested, this, &Array3D::on2DContextMenu);
|
||||
|
||||
_deleteDepthAction.setText(tr("Delete row"));
|
||||
// _deleteDepthAction.setShortcut(Qt::Key_Delete);
|
||||
connect(&_deleteDepthAction, &QAction::triggered, this, &Array3D::onDepthDelete);
|
||||
ui->table3D->addAction(&_deleteDepthAction);
|
||||
|
||||
_delete2DAction.setText(tr("Delete row"));
|
||||
// _delete2DAction.setShortcut(Qt::Key_Delete);
|
||||
connect(&_delete2DAction, &QAction::triggered, this, &Array3D::on2DDelete);
|
||||
ui->table2D->addAction(&_delete2DAction);
|
||||
|
||||
|
||||
@@ -87,7 +87,7 @@ MaterialSave::MaterialSave(const std::shared_ptr<Materials::Material>& material,
|
||||
&MaterialSave::onContextMenu);
|
||||
|
||||
_deleteAction.setText(tr("Delete"));
|
||||
_deleteAction.setShortcut(Qt::Key_Delete);
|
||||
_deleteAction.setShortcut(QKeySequence::Delete);
|
||||
connect(&_deleteAction, &QAction::triggered, this, &MaterialSave::onDelete);
|
||||
ui->treeMaterials->addAction(&_deleteAction);
|
||||
|
||||
@@ -525,9 +525,6 @@ void MaterialSave::onContextMenu(const QPoint& pos)
|
||||
{
|
||||
QMenu contextMenu(tr("Context menu"), this);
|
||||
|
||||
// QAction action1(tr("Delete"), this);
|
||||
// action1.setShortcut(Qt::Key_Delete);
|
||||
// connect(&action1, &QAction::triggered, this, &MaterialSave::onDelete);
|
||||
contextMenu.addAction(&_deleteAction);
|
||||
|
||||
contextMenu.exec(ui->treeMaterials->mapToGlobal(pos));
|
||||
@@ -542,10 +539,7 @@ void MaterialSave::onDelete(bool checked)
|
||||
return;
|
||||
}
|
||||
|
||||
int res = confirmDelete(this);
|
||||
if (res == QMessageBox::Cancel) {
|
||||
return;
|
||||
}
|
||||
confirmDelete(this);
|
||||
}
|
||||
|
||||
int MaterialSave::confirmDelete(QWidget* parent)
|
||||
|
||||
@@ -1283,12 +1283,10 @@ void MaterialsEditor::onContextMenu(const QPoint& pos)
|
||||
QMenu contextMenu(tr("Context menu"), this);
|
||||
|
||||
QAction action1(tr("Inherit from"), this);
|
||||
// action1.setShortcut(Qt::Key_Delete);
|
||||
connect(&action1, &QAction::triggered, this, &MaterialsEditor::onInherit);
|
||||
contextMenu.addAction(&action1);
|
||||
|
||||
QAction action2(tr("Inherit new material"), this);
|
||||
// action1.setShortcut(Qt::Key_Delete);
|
||||
connect(&action2, &QAction::triggered, this, &MaterialsEditor::onInheritNew);
|
||||
contextMenu.addAction(&action2);
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -120,7 +120,7 @@ bool QGIViewPart::sceneEventFilter(QGraphicsItem *watched, QEvent *event)
|
||||
// which will be processed by QGVPage/QGVNavStyle keypress logic, but not forwarded to
|
||||
// Std_Delete
|
||||
QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
|
||||
if (keyEvent->key() == Qt::Key_Delete) {
|
||||
if (keyEvent->matches(QKeySequence::Delete)) {
|
||||
bool success = removeSelectedCosmetic();
|
||||
if (success) {
|
||||
updateView(true);
|
||||
|
||||
Reference in New Issue
Block a user