summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/diffeditor/diffeditorwidget.cpp10
-rw-r--r--src/plugins/diffeditor/diffeditorwidget.h5
-rw-r--r--src/plugins/git/gitclient.cpp10
-rw-r--r--src/plugins/git/gitclient.h1
4 files changed, 25 insertions, 1 deletions
diff --git a/src/plugins/diffeditor/diffeditorwidget.cpp b/src/plugins/diffeditor/diffeditorwidget.cpp
index 7ef2252a40..8c0c43b570 100644
--- a/src/plugins/diffeditor/diffeditorwidget.cpp
+++ b/src/plugins/diffeditor/diffeditorwidget.cpp
@@ -890,6 +890,16 @@ QTextCodec *DiffEditorWidget::codec() const
return const_cast<QTextCodec *>(m_leftEditor->codec());
}
+QString DiffEditorWidget::source() const
+{
+ return m_source;
+}
+
+void DiffEditorWidget::setSource(const QString &source)
+{
+ m_source = source;
+}
+
BaseTextEditorWidget *DiffEditorWidget::leftEditor() const
{
return m_leftEditor;
diff --git a/src/plugins/diffeditor/diffeditorwidget.h b/src/plugins/diffeditor/diffeditorwidget.h
index fe324c3eb1..c1e11565ea 100644
--- a/src/plugins/diffeditor/diffeditorwidget.h
+++ b/src/plugins/diffeditor/diffeditorwidget.h
@@ -58,6 +58,7 @@ struct FileData;
class DIFFEDITOR_EXPORT DiffEditorWidget : public QWidget
{
+ Q_PROPERTY(QString source READ source WRITE setSource)
Q_OBJECT
public:
struct DiffFileInfo {
@@ -83,6 +84,9 @@ public:
void setDiff(const QList<DiffFilesContents> &diffFileList, const QString &workingDirectory = QString());
QTextCodec *codec() const;
+ QString source() const;
+ void setSource(const QString &source);
+
#ifdef WITH_TESTS
void testAssemblyRows();
#endif // WITH_TESTS
@@ -151,6 +155,7 @@ private:
bool m_syncScrollBars;
bool m_foldingBlocker;
+ QString m_source;
QTextCharFormat m_fileLineFormat;
QTextCharFormat m_chunkLineFormat;
diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp
index 33cecb85d2..fa190062fe 100644
--- a/src/plugins/git/gitclient.cpp
+++ b/src/plugins/git/gitclient.cpp
@@ -997,13 +997,17 @@ DiffEditor::DiffEditor *GitClient::findExistingDiffEditor(const char *registerDy
}
DiffEditor::DiffEditor *GitClient::createDiffEditor(const char *registerDynamicProperty,
- const QString &dynamicPropertyValue, const QString &titlePattern, const Core::Id editorId) const
+ const QString &dynamicPropertyValue,
+ const QString &source,
+ const QString &titlePattern,
+ const Core::Id editorId) const
{
QString title = titlePattern;
DiffEditor::DiffEditor *diffEditor = qobject_cast<DiffEditor::DiffEditor *>(
Core::EditorManager::openEditorWithContents(editorId, &title, m_msgWait.toUtf8()));
QTC_ASSERT(diffEditor, return 0);
diffEditor->document()->setProperty(registerDynamicProperty, dynamicPropertyValue);
+ diffEditor->editorWidget()->setSource(source);
Core::EditorManager::activateEditor(diffEditor);
return diffEditor;
@@ -1069,6 +1073,7 @@ void GitClient::diff(const QString &workingDirectory,
if (!diffEditor) {
newEditor = diffEditor = createDiffEditor(propertyName,
workingDirectory,
+ workingDirectory,
title,
DiffEditor::Constants::DIFF_EDITOR_ID);
}
@@ -1189,6 +1194,7 @@ void GitClient::diff(const QString &workingDirectory,
if (!diffEditor) {
newEditor = diffEditor = createDiffEditor(propertyName,
sourceFile,
+ sourceFile,
title,
DiffEditor::Constants::DIFF_EDITOR_ID);
}
@@ -1252,6 +1258,7 @@ void GitClient::diffBranch(const QString &workingDirectory,
if (!diffEditor) {
newEditor = diffEditor = createDiffEditor(propertyName,
branchName,
+ workingDirectory,
title,
DiffEditor::Constants::DIFF_EDITOR_ID);
}
@@ -1413,6 +1420,7 @@ void GitClient::show(const QString &source, const QString &id,
if (!diffEditor) {
newEditor = diffEditor = createDiffEditor(propertyName,
id,
+ source,
title,
DiffEditor::Constants::DIFF_SHOW_EDITOR_ID);
}
diff --git a/src/plugins/git/gitclient.h b/src/plugins/git/gitclient.h
index 969f7983e5..5b1631c3bd 100644
--- a/src/plugins/git/gitclient.h
+++ b/src/plugins/git/gitclient.h
@@ -367,6 +367,7 @@ private:
VcsBase::VcsBaseEditorParameterWidget *configWidget) const;
DiffEditor::DiffEditor *createDiffEditor(const char *registerDynamicProperty,
const QString &dynamicPropertyValue,
+ const QString &source,
const QString &titlePattern,
const Core::Id editorId) const;