summaryrefslogtreecommitdiff
path: root/src/plugins/diffeditor/diffeditorplugin.cpp
diff options
context:
space:
mode:
authorJarek Kobus <jaroslaw.kobus@theqtcompany.com>2016-07-25 13:09:06 +0200
committerJarek Kobus <jaroslaw.kobus@qt.io>2016-07-25 13:29:10 +0000
commitadbc3f611f9101aafbcb2d852ef2121276db1103 (patch)
tree3326704dcd5f35eec477ee8ea261b65d9bdf13a1 /src/plugins/diffeditor/diffeditorplugin.cpp
parent3c1647e6b22409099b20436010672d89fcd51518 (diff)
downloadqt-creator-adbc3f611f9101aafbcb2d852ef2121276db1103.tar.gz
Show proper diff when one of diff files is missing
Task-number: QTCREATORBUG-16540 Change-Id: I185ac8e7c8be364c1e2f74bfe0af6f9e393c89be Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Diffstat (limited to 'src/plugins/diffeditor/diffeditorplugin.cpp')
-rw-r--r--src/plugins/diffeditor/diffeditorplugin.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/plugins/diffeditor/diffeditorplugin.cpp b/src/plugins/diffeditor/diffeditorplugin.cpp
index 8f7ffd5216..9f0e42738f 100644
--- a/src/plugins/diffeditor/diffeditorplugin.cpp
+++ b/src/plugins/diffeditor/diffeditorplugin.cpp
@@ -74,19 +74,21 @@ void FileDiffController::reload()
format.codec = Core::EditorManager::defaultTextCodec();
QString leftText;
+ bool leftFileExists = true;
if (Utils::TextFileFormat::readFile(m_leftFileName,
format.codec,
&leftText, &format, &errorString)
!= Utils::TextFileFormat::ReadSuccess) {
- return;
+ leftFileExists = false;
}
QString rightText;
+ bool rightFileExists = true;
if (Utils::TextFileFormat::readFile(m_rightFileName,
format.codec,
&rightText, &format, &errorString)
!= Utils::TextFileFormat::ReadSuccess) {
- return;
+ rightFileExists = false;
}
Differ differ;
@@ -115,6 +117,10 @@ void FileDiffController::reload()
FileData fileData = DiffUtils::calculateContextData(chunkData, contextLineCount(), 0);
fileData.leftFileInfo.fileName = m_leftFileName;
fileData.rightFileInfo.fileName = m_rightFileName;
+ if (!leftFileExists && rightFileExists)
+ fileData.fileOperation = FileData::NewFile;
+ else if (leftFileExists && !rightFileExists)
+ fileData.fileOperation = FileData::DeleteFile;
QList<FileData> fileDataList;
fileDataList << fileData;