diff --git a/src/plugins/diffeditor/sidebysidediffeditorwidget.cpp b/src/plugins/diffeditor/sidebysidediffeditorwidget.cpp index 80b2564d11b..19d427f88d2 100644 --- a/src/plugins/diffeditor/sidebysidediffeditorwidget.cpp +++ b/src/plugins/diffeditor/sidebysidediffeditorwidget.cpp @@ -112,6 +112,7 @@ protected: QColor replacementPenColor(int blockNumber) const override; QString plainTextFromSelection(const QTextCursor &cursor) const override; void mouseDoubleClickEvent(QMouseEvent *e) override; + void keyPressEvent(QKeyEvent *e) override; void contextMenuEvent(QContextMenuEvent *e) override; void paintEvent(QPaintEvent *e) override; void scrollContentsBy(int dx, int dy) override; @@ -393,6 +394,16 @@ void SideDiffEditorWidget::mouseDoubleClickEvent(QMouseEvent *e) SelectableTextEditorWidget::mouseDoubleClickEvent(e); } +void SideDiffEditorWidget::keyPressEvent(QKeyEvent *e) +{ + if (e->key() == Qt::Key_Enter || e->key() == Qt::Key_Return) { + jumpToOriginalFile(textCursor()); + e->accept(); + return; + } + SelectableTextEditorWidget::keyPressEvent(e); +} + void SideDiffEditorWidget::contextMenuEvent(QContextMenuEvent *e) { QPointer menu = createStandardContextMenu(); diff --git a/src/plugins/diffeditor/unifieddiffeditorwidget.cpp b/src/plugins/diffeditor/unifieddiffeditorwidget.cpp index 418c85f8214..c2b75c94955 100644 --- a/src/plugins/diffeditor/unifieddiffeditorwidget.cpp +++ b/src/plugins/diffeditor/unifieddiffeditorwidget.cpp @@ -161,6 +161,16 @@ void UnifiedDiffEditorWidget::mouseDoubleClickEvent(QMouseEvent *e) SelectableTextEditorWidget::mouseDoubleClickEvent(e); } +void UnifiedDiffEditorWidget::keyPressEvent(QKeyEvent *e) +{ + if (e->key() == Qt::Key_Enter || e->key() == Qt::Key_Return) { + jumpToOriginalFile(textCursor()); + e->accept(); + return; + } + SelectableTextEditorWidget::keyPressEvent(e); +} + void UnifiedDiffEditorWidget::contextMenuEvent(QContextMenuEvent *e) { QPointer menu = createStandardContextMenu(); diff --git a/src/plugins/diffeditor/unifieddiffeditorwidget.h b/src/plugins/diffeditor/unifieddiffeditorwidget.h index 260bf2d81b3..c05d05e9af1 100644 --- a/src/plugins/diffeditor/unifieddiffeditorwidget.h +++ b/src/plugins/diffeditor/unifieddiffeditorwidget.h @@ -74,6 +74,7 @@ signals: protected: void mouseDoubleClickEvent(QMouseEvent *e) override; + void keyPressEvent(QKeyEvent *e) override; void contextMenuEvent(QContextMenuEvent *e) override; QString lineNumber(int blockNumber) const override; int lineNumberDigits() const override;