PD: Fix convoluted event handling of dress-up task boxes

This commit is contained in:
wmayer
2024-07-01 13:44:21 +02:00
committed by wwmayer
parent a4bc06219b
commit f3d84b601f
10 changed files with 23 additions and 44 deletions

View File

@@ -293,11 +293,6 @@ TaskChamferParameters::~TaskChamferParameters()
}
}
bool TaskChamferParameters::event(QEvent* e)
{
return TaskDressUpParameters::KeyEvent(e);
}
void TaskChamferParameters::changeEvent(QEvent* e)
{
TaskBox::changeEvent(e);

View File

@@ -56,7 +56,6 @@ private Q_SLOTS:
protected:
void setButtons(const selectionModes mode) override;
bool event(QEvent *e) override;
void changeEvent(QEvent *e) override;
void onSelectionChanged(const Gui::SelectionChanges& msg) override;

View File

@@ -272,11 +272,6 @@ TaskDraftParameters::~TaskDraftParameters()
}
}
bool TaskDraftParameters::event(QEvent* e)
{
return TaskDressUpParameters::KeyEvent(e);
}
void TaskDraftParameters::changeEvent(QEvent* e)
{
TaskBox::changeEvent(e);

View File

@@ -57,7 +57,6 @@ private Q_SLOTS:
protected:
void setButtons(const selectionModes mode) override;
bool event(QEvent *e) override;
void changeEvent(QEvent *e) override;
void onSelectionChanged(const Gui::SelectionChanges& msg) override;

View File

@@ -319,11 +319,10 @@ void TaskDressUpParameters::createDeleteAction(QListWidget* parentList)
parentList->setContextMenuPolicy(Qt::ActionsContextMenu);
}
bool TaskDressUpParameters::KeyEvent(QEvent *e)
bool TaskDressUpParameters::event(QEvent* event)
{
// 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 (event->type() == QEvent::ShortcutOverride) {
QKeyEvent * kevent = static_cast<QKeyEvent*>(event); // NOLINT
if (deleteAction && Gui::QtTools::matches(kevent, deleteAction->shortcut())) {
kevent->accept();
return true;
@@ -333,22 +332,24 @@ bool TaskDressUpParameters::KeyEvent(QEvent *e)
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 (deleteAction && deleteAction->isEnabled() &&
Gui::QtTools::matches(kevent, deleteAction->shortcut())) {
deleteAction->trigger();
return true;
}
if (addAllEdgesAction && addAllEdgesAction->isEnabled() &&
Gui::QtTools::matches(kevent, addAllEdgesAction->shortcut())) {
addAllEdgesAction->trigger();
return true;
}
return TaskBox::event(event);
}
void TaskDressUpParameters::keyPressEvent(QKeyEvent* ke)
{
if (deleteAction && deleteAction->isEnabled() &&
Gui::QtTools::matches(ke, deleteAction->shortcut())) {
deleteAction->trigger();
return;
}
if (addAllEdgesAction && addAllEdgesAction->isEnabled() &&
Gui::QtTools::matches(ke, addAllEdgesAction->shortcut())) {
addAllEdgesAction->trigger();
return;
}
return TaskDressUpParameters::event(e);
TaskBox::keyPressEvent(ke);
}
const std::vector<std::string> TaskDressUpParameters::getReferences() const

View File

@@ -64,6 +64,8 @@ public:
return transactionID;
}
bool event(QEvent* event) override;
protected Q_SLOTS:
void onButtonRefSel(const bool checked);
void doubleClicked(QListWidgetItem* item);
@@ -76,7 +78,7 @@ protected Q_SLOTS:
protected:
void referenceSelected(const Gui::SelectionChanges& msg, QListWidget* widget);
bool wasDoubleClicked = false;
bool KeyEvent(QEvent *e);
void keyPressEvent(QKeyEvent* ke) override;
void hideOnError();
void addAllEdges(QListWidget* listWidget);
void deleteRef(QListWidget* listWidget);

View File

@@ -176,11 +176,6 @@ TaskFilletParameters::~TaskFilletParameters()
}
}
bool TaskFilletParameters::event(QEvent* e)
{
return TaskDressUpParameters::KeyEvent(e);
}
void TaskFilletParameters::changeEvent(QEvent* e)
{
TaskBox::changeEvent(e);

View File

@@ -50,8 +50,7 @@ private Q_SLOTS:
protected:
double getLength() const;
void setButtons(const selectionModes mode) override;
bool event(QEvent *e) override;
void changeEvent(QEvent *e) override;
void changeEvent(QEvent* e) override;
void onSelectionChanged(const Gui::SelectionChanges& msg) override;
private:

View File

@@ -245,11 +245,6 @@ TaskThicknessParameters::~TaskThicknessParameters()
}
}
bool TaskThicknessParameters::event(QEvent* e)
{
return TaskDressUpParameters::KeyEvent(e);
}
void TaskThicknessParameters::changeEvent(QEvent* e)
{
TaskBox::changeEvent(e);

View File

@@ -63,7 +63,6 @@ private Q_SLOTS:
protected:
void setButtons(const selectionModes mode) override;
bool event(QEvent* e) override;
void changeEvent(QEvent* e) override;
void onSelectionChanged(const Gui::SelectionChanges& msg) override;