UI: Fix unable to escape when renaming scene

Fixes https://obsproject.com/mantis/view.php?id=1443
This commit is contained in:
guangong7628 2019-04-23 15:56:30 +08:00 committed by jp9000
parent 7dc9ff0575
commit 16cc60587f
2 changed files with 17 additions and 0 deletions

View file

@ -7290,3 +7290,17 @@ void SceneRenameDelegate::setEditorData(QWidget *editor,
if (lineEdit)
lineEdit->selectAll();
}
bool SceneRenameDelegate::eventFilter(QObject *editor, QEvent *event)
{
if (event->type() == QEvent::KeyPress) {
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
if (keyEvent->key() == Qt::Key_Escape) {
QLineEdit *lineEdit = qobject_cast<QLineEdit*>(editor);
if (lineEdit)
lineEdit->undo();
}
}
return QStyledItemDelegate::eventFilter(editor, event);
}

View file

@ -830,4 +830,7 @@ public:
SceneRenameDelegate(QObject *parent);
virtual void setEditorData(QWidget *editor, const QModelIndex &index)
const override;
protected:
virtual bool eventFilter(QObject *editor, QEvent *event) override;
};