fixes 0003794: Shortcut-Key is executed in edit field of a constraint (Combo View)

This commit is contained in:
wmayer
2019-02-16 21:53:23 +01:00
parent 36dc7b4242
commit 5f4deea7c9
5 changed files with 56 additions and 5 deletions

View File

@@ -737,11 +737,9 @@ bool QuantitySpinBox::event(QEvent * event)
event->accept();
return true;
}
else
return QAbstractSpinBox::event(event);
}
else
return QAbstractSpinBox::event(event);
return QAbstractSpinBox::event(event);
}
void QuantitySpinBox::focusInEvent(QFocusEvent * event)

View File

@@ -416,6 +416,31 @@ TaskView::~TaskView()
Gui::Selection().Detach(this);
}
bool TaskView::event(QEvent* event)
{
if (event->type() == QEvent::ShortcutOverride) {
QKeyEvent * kevent = static_cast<QKeyEvent*>(event);
Qt::KeyboardModifiers ShiftKeypadModifier = Qt::ShiftModifier | Qt::KeypadModifier;
if (kevent->modifiers() == Qt::NoModifier ||
kevent->modifiers() == Qt::ShiftModifier ||
kevent->modifiers() == Qt::KeypadModifier ||
kevent->modifiers() == ShiftKeypadModifier) {
switch (kevent->key()) {
case Qt::Key_Delete:
case Qt::Key_Home:
case Qt::Key_End:
case Qt::Key_Backspace:
case Qt::Key_Left:
case Qt::Key_Right:
kevent->accept();
default:
break;
}
}
}
return QScrollArea::event(event);
}
void TaskView::keyPressEvent(QKeyEvent* ke)
{
if (ActiveCtrl && ActiveDialog) {

View File

@@ -196,7 +196,9 @@ protected Q_SLOTS:
void clicked (QAbstractButton * button);
protected:
void keyPressEvent(QKeyEvent*);
virtual void keyPressEvent(QKeyEvent*);
virtual bool event(QEvent*);
void addTaskWatcher(void);
void removeTaskWatcher(void);
/// update the visibility of the TaskWatcher accordant to the selection

View File

@@ -99,6 +99,31 @@ QStyleOptionViewItem PropertyEditor::viewOptions() const
return option;
}
bool PropertyEditor::event(QEvent* event)
{
if (event->type() == QEvent::ShortcutOverride) {
QKeyEvent * kevent = static_cast<QKeyEvent*>(event);
Qt::KeyboardModifiers ShiftKeypadModifier = Qt::ShiftModifier | Qt::KeypadModifier;
if (kevent->modifiers() == Qt::NoModifier ||
kevent->modifiers() == Qt::ShiftModifier ||
kevent->modifiers() == Qt::KeypadModifier ||
kevent->modifiers() == ShiftKeypadModifier) {
switch (kevent->key()) {
case Qt::Key_Delete:
case Qt::Key_Home:
case Qt::Key_End:
case Qt::Key_Backspace:
case Qt::Key_Left:
case Qt::Key_Right:
kevent->accept();
default:
break;
}
}
}
return QTreeView::event(event);
}
void PropertyEditor::closeEditor (QWidget * editor, QAbstractItemDelegate::EndEditHint hint)
{
if (autoupdate) {

View File

@@ -92,6 +92,7 @@ protected:
virtual void rowsInserted (const QModelIndex & parent, int start, int end);
virtual void drawBranches(QPainter *painter, const QRect &rect, const QModelIndex &index) const;
virtual QStyleOptionViewItem viewOptions() const;
virtual bool event(QEvent*);
private:
void setEditorMode(const QModelIndex & parent, int start, int end);