summaryrefslogtreecommitdiff
path: root/src/plugins/diffeditor/unifieddiffeditorwidget.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2017-05-09 12:19:11 +0200
committerEike Ziller <eike.ziller@qt.io>2017-05-18 08:24:26 +0000
commitee722a047cfd4bee213343087519a0380f5227e8 (patch)
tree3a717ac05c5a0a009b3b659b7597754bbb6757e4 /src/plugins/diffeditor/unifieddiffeditorwidget.cpp
parentfd7edcb8263059d828873e5ed675fa2e43dfdf01 (diff)
downloadqt-creator-ee722a047cfd4bee213343087519a0380f5227e8.tar.gz
DiffEditor: Fix editor actions
The text editor widgets all need a TextEditorActionHandler that takes care of the editor actions for them. Each text editor needs its own context, so the editor with focus receives the actions. This does not happen automatically for these text editors, since the diff editor manages these itself. Task-number: QTCREATORBUG-9445 Change-Id: Ib42f095ec23550e401e8ee9b36f3f49517a22877 Reviewed-by: David Schulz <david.schulz@qt.io>
Diffstat (limited to 'src/plugins/diffeditor/unifieddiffeditorwidget.cpp')
-rw-r--r--src/plugins/diffeditor/unifieddiffeditorwidget.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/plugins/diffeditor/unifieddiffeditorwidget.cpp b/src/plugins/diffeditor/unifieddiffeditorwidget.cpp
index 34009eaf86..544adb5fbf 100644
--- a/src/plugins/diffeditor/unifieddiffeditorwidget.cpp
+++ b/src/plugins/diffeditor/unifieddiffeditorwidget.cpp
@@ -24,6 +24,8 @@
****************************************************************************/
#include "unifieddiffeditorwidget.h"
+
+#include "diffeditorconstants.h"
#include "diffeditordocument.h"
#include "diffutils.h"
@@ -32,6 +34,8 @@
#include <QScrollBar>
#include <QTextBlock>
+#include <coreplugin/icore.h>
+
#include <texteditor/textdocument.h>
#include <texteditor/textdocumentlayout.h>
#include <texteditor/texteditorsettings.h>
@@ -73,6 +77,16 @@ UnifiedDiffEditorWidget::UnifiedDiffEditorWidget(QWidget *parent)
connect(this, &QPlainTextEdit::cursorPositionChanged,
this, &UnifiedDiffEditorWidget::slotCursorPositionChangedInEditor);
+
+ m_context = new Core::IContext(this);
+ m_context->setWidget(this);
+ m_context->setContext(Core::Context(Constants::UNIFIED_VIEW_ID));
+ Core::ICore::addContextObject(m_context);
+}
+
+UnifiedDiffEditorWidget::~UnifiedDiffEditorWidget()
+{
+ Core::ICore::removeContextObject(m_context);
}
void UnifiedDiffEditorWidget::setDocument(DiffEditorDocument *document)