PartDesign/Fem: [skip ci] when handling Del key make sure that deleteAction is instantiated

This commit is contained in:
wmayer
2020-02-19 11:31:40 +01:00
parent 97de09ad6f
commit 389b26c48e
3 changed files with 7 additions and 5 deletions

View File

@@ -72,6 +72,7 @@ using namespace Gui;
TaskFemConstraint::TaskFemConstraint(ViewProviderFemConstraint *ConstraintView,QWidget *parent,const char* pixmapname)
: TaskBox(Gui::BitmapFactory().pixmap(pixmapname),tr("FEM constraint parameters"),true, parent)
, proxy(nullptr)
, deleteAction(nullptr)
, ConstraintView(ConstraintView)
, buttonBox(nullptr)
, okButton(nullptr)
@@ -205,7 +206,7 @@ bool TaskFemConstraint::KeyEvent(QEvent *e)
if (e && e->type() == QEvent::ShortcutOverride) {
QKeyEvent * kevent = static_cast<QKeyEvent*>(e);
if (kevent->modifiers() == Qt::NoModifier) {
if (kevent->key() == Qt::Key_Delete) {
if (deleteAction && kevent->key() == Qt::Key_Delete) {
kevent->accept();
return true;
}
@@ -215,7 +216,7 @@ bool TaskFemConstraint::KeyEvent(QEvent *e)
else if (e && e->type() == QEvent::KeyPress) {
QKeyEvent * kevent = static_cast<QKeyEvent*>(e);
if (kevent->key() == Qt::Key_Delete) {
if (deleteAction->isEnabled())
if (deleteAction && deleteAction->isEnabled())
deleteAction->trigger();
return true;
}

View File

@@ -64,6 +64,7 @@ TaskDressUpParameters::TaskDressUpParameters(ViewProviderDressUp *DressUpView, b
parent)
, proxy(0)
, DressUpView(DressUpView)
, deleteAction(nullptr)
, allowFaces(selectFaces)
, allowEdges(selectEdges)
{
@@ -240,7 +241,7 @@ bool TaskDressUpParameters::KeyEvent(QEvent *e)
if (e && e->type() == QEvent::ShortcutOverride) {
QKeyEvent * kevent = static_cast<QKeyEvent*>(e);
if (kevent->modifiers() == Qt::NoModifier) {
if (kevent->key() == Qt::Key_Delete) {
if (deleteAction && kevent->key() == Qt::Key_Delete) {
kevent->accept();
return true;
}
@@ -250,7 +251,7 @@ bool TaskDressUpParameters::KeyEvent(QEvent *e)
else if (e && e->type() == QEvent::KeyPress) {
QKeyEvent * kevent = static_cast<QKeyEvent*>(e);
if (kevent->key() == Qt::Key_Delete) {
if (deleteAction->isEnabled())
if (deleteAction && deleteAction->isEnabled())
deleteAction->trigger();
return true;
}

View File

@@ -69,7 +69,6 @@ protected Q_SLOTS:
void createDeleteAction(QListWidget* parentList, QWidget* parentButton);
protected:
QAction* deleteAction;
void exitSelectionMode();
bool referenceSelected(const Gui::SelectionChanges& msg);
bool wasDoubleClicked = false;
@@ -86,6 +85,7 @@ protected:
protected:
QWidget* proxy;
ViewProviderDressUp *DressUpView;
QAction* deleteAction;
bool allowFaces, allowEdges;
selectionModes selectionMode;