From 6334632f0052b41bb2bcc1c883927997690a2fa0 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Sun, 30 Jul 2017 08:53:27 +0300 Subject: [PATCH] DiffEditor: Jump to original file on Enter Task-number: QTCREATORBUG-18650 Change-Id: Id6bfb9892aee2e4d7b7772b7dd208107ec4b3b11 Reviewed-by: Tobias Hunger --- src/plugins/diffeditor/sidebysidediffeditorwidget.cpp | 11 +++++++++++ src/plugins/diffeditor/unifieddiffeditorwidget.cpp | 10 ++++++++++ src/plugins/diffeditor/unifieddiffeditorwidget.h | 1 + 3 files changed, 22 insertions(+) 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;