improve code as suggested by Werner
see https://forum.freecadweb.org/viewtopic.php?p=369921#p369921
This commit is contained in:
@@ -101,22 +101,8 @@ TaskDraftParameters::TaskDraftParameters(ViewProviderDressUp *DressUpView, QWidg
|
||||
this, SLOT(onButtonLine(bool)));
|
||||
|
||||
// Create context menu
|
||||
deleteAction = new QAction(tr("Remove"), this);
|
||||
deleteAction->setShortcut(QKeySequence::Delete);
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0)
|
||||
// display shortcut behind the context menu entry
|
||||
deleteAction->setShortcutVisibleInContextMenu(true);
|
||||
#endif
|
||||
ui->listWidgetReferences->addAction(deleteAction);
|
||||
// if there is only one item, it cannot be deleted
|
||||
if (ui->listWidgetReferences->count() == 1) {
|
||||
deleteAction->setEnabled(false);
|
||||
deleteAction->setStatusTip(tr("There must be at least one item"));
|
||||
ui->buttonRefRemove->setEnabled(false);
|
||||
ui->buttonRefRemove->setToolTip(tr("There must be at least one item"));
|
||||
}
|
||||
createDeleteAction(ui->listWidgetReferences, ui->buttonRefRemove);
|
||||
connect(deleteAction, SIGNAL(triggered()), this, SLOT(onRefDeleted()));
|
||||
ui->listWidgetReferences->setContextMenuPolicy(Qt::ActionsContextMenu);
|
||||
|
||||
connect(ui->listWidgetReferences, SIGNAL(itemClicked(QListWidgetItem*)),
|
||||
this, SLOT(setSelection(QListWidgetItem*)));
|
||||
@@ -331,27 +317,7 @@ TaskDraftParameters::~TaskDraftParameters()
|
||||
|
||||
bool TaskDraftParameters::event(QEvent *e)
|
||||
{
|
||||
// in case another instance takes key events, accept the overridden key event
|
||||
if (e && e->type() == QEvent::ShortcutOverride) {
|
||||
QKeyEvent * kevent = static_cast<QKeyEvent*>(e);
|
||||
if (kevent->modifiers() == Qt::NoModifier) {
|
||||
if (kevent->key() == Qt::Key_Delete) {
|
||||
kevent->accept();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
// if we have a Del key, trigger the deleteAction
|
||||
else if (e && e->type() == QEvent::KeyPress) {
|
||||
QKeyEvent * kevent = static_cast<QKeyEvent*>(e);
|
||||
if (kevent->key() == Qt::Key_Delete) {
|
||||
if (deleteAction->isEnabled())
|
||||
deleteAction->trigger();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return TaskDressUpParameters::event(e);
|
||||
return TaskDressUpParameters::KeyEvent(e);
|
||||
}
|
||||
|
||||
void TaskDraftParameters::changeEvent(QEvent *e)
|
||||
|
||||
Reference in New Issue
Block a user