forked from qt-creator/qt-creator
Show proper diff when one of diff files is missing
Task-number: QTCREATORBUG-16540 Change-Id: I185ac8e7c8be364c1e2f74bfe0af6f9e393c89be Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
@@ -74,19 +74,21 @@ void FileDiffController::reload()
|
|||||||
format.codec = Core::EditorManager::defaultTextCodec();
|
format.codec = Core::EditorManager::defaultTextCodec();
|
||||||
|
|
||||||
QString leftText;
|
QString leftText;
|
||||||
|
bool leftFileExists = true;
|
||||||
if (Utils::TextFileFormat::readFile(m_leftFileName,
|
if (Utils::TextFileFormat::readFile(m_leftFileName,
|
||||||
format.codec,
|
format.codec,
|
||||||
&leftText, &format, &errorString)
|
&leftText, &format, &errorString)
|
||||||
!= Utils::TextFileFormat::ReadSuccess) {
|
!= Utils::TextFileFormat::ReadSuccess) {
|
||||||
return;
|
leftFileExists = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString rightText;
|
QString rightText;
|
||||||
|
bool rightFileExists = true;
|
||||||
if (Utils::TextFileFormat::readFile(m_rightFileName,
|
if (Utils::TextFileFormat::readFile(m_rightFileName,
|
||||||
format.codec,
|
format.codec,
|
||||||
&rightText, &format, &errorString)
|
&rightText, &format, &errorString)
|
||||||
!= Utils::TextFileFormat::ReadSuccess) {
|
!= Utils::TextFileFormat::ReadSuccess) {
|
||||||
return;
|
rightFileExists = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Differ differ;
|
Differ differ;
|
||||||
@@ -115,6 +117,10 @@ void FileDiffController::reload()
|
|||||||
FileData fileData = DiffUtils::calculateContextData(chunkData, contextLineCount(), 0);
|
FileData fileData = DiffUtils::calculateContextData(chunkData, contextLineCount(), 0);
|
||||||
fileData.leftFileInfo.fileName = m_leftFileName;
|
fileData.leftFileInfo.fileName = m_leftFileName;
|
||||||
fileData.rightFileInfo.fileName = m_rightFileName;
|
fileData.rightFileInfo.fileName = m_rightFileName;
|
||||||
|
if (!leftFileExists && rightFileExists)
|
||||||
|
fileData.fileOperation = FileData::NewFile;
|
||||||
|
else if (leftFileExists && !rightFileExists)
|
||||||
|
fileData.fileOperation = FileData::DeleteFile;
|
||||||
|
|
||||||
QList<FileData> fileDataList;
|
QList<FileData> fileDataList;
|
||||||
fileDataList << fileData;
|
fileDataList << fileData;
|
||||||
|
|||||||
Reference in New Issue
Block a user