forked from qt-creator/qt-creator
DiffEditor: Use DiffSide enum inside FileData
Change-Id: I4c18c52a9737cc46c3faeadf0abd5c4771463e0e Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
@@ -311,8 +311,8 @@ void DiffEditor::documentHasChanged()
|
||||
|
||||
m_entriesComboBox->clear();
|
||||
for (const FileData &diffFile : diffFileList) {
|
||||
const DiffFileInfo &leftEntry = diffFile.leftFileInfo;
|
||||
const DiffFileInfo &rightEntry = diffFile.rightFileInfo;
|
||||
const DiffFileInfo &leftEntry = diffFile.fileInfo[LeftSide];
|
||||
const DiffFileInfo &rightEntry = diffFile.fileInfo[RightSide];
|
||||
const QString leftShortFileName = Utils::FilePath::fromString(leftEntry.fileName).fileName();
|
||||
const QString rightShortFileName = Utils::FilePath::fromString(rightEntry.fileName).fileName();
|
||||
QString itemText;
|
||||
@@ -445,8 +445,8 @@ void DiffEditor::reloadHasFinished(bool success)
|
||||
const int count = diffFileList.count();
|
||||
for (int i = 0; i < count; i++) {
|
||||
const FileData &diffFile = diffFileList.at(i);
|
||||
const DiffFileInfo &leftEntry = diffFile.leftFileInfo;
|
||||
const DiffFileInfo &rightEntry = diffFile.rightFileInfo;
|
||||
const DiffFileInfo &leftEntry = diffFile.fileInfo[LeftSide];
|
||||
const DiffFileInfo &rightEntry = diffFile.fileInfo[RightSide];
|
||||
if ((m_currentFileChunk.first.isEmpty()
|
||||
&& m_currentFileChunk.second.isEmpty()
|
||||
&& startupFile.endsWith(rightEntry.fileName))
|
||||
|
||||
@@ -135,8 +135,8 @@ QString DiffEditorDocument::makePatch(int fileIndex, int chunkIndex,
|
||||
|
||||
const QString fileName = !overriddenFileName.isEmpty()
|
||||
? overriddenFileName : revert
|
||||
? fileData.rightFileInfo.fileName
|
||||
: fileData.leftFileInfo.fileName;
|
||||
? fileData.fileInfo[RightSide].fileName
|
||||
: fileData.fileInfo[LeftSide].fileName;
|
||||
|
||||
QString leftPrefix, rightPrefix;
|
||||
if (addPrefix) {
|
||||
|
||||
@@ -90,8 +90,7 @@ public:
|
||||
outputLeftDiffList, outputRightDiffList);
|
||||
fileData = DiffUtils::calculateContextData(chunkData, m_contextLineCount, 0);
|
||||
}
|
||||
fileData.leftFileInfo = reloadInfo.leftFileInfo;
|
||||
fileData.rightFileInfo = reloadInfo.rightFileInfo;
|
||||
fileData.fileInfo = {reloadInfo.leftFileInfo, reloadInfo.rightFileInfo};
|
||||
fileData.fileOperation = reloadInfo.fileOperation;
|
||||
fileData.binaryFiles = reloadInfo.binaryFiles;
|
||||
futureInterface.reportResult(fileData);
|
||||
@@ -838,8 +837,8 @@ void DiffEditor::Internal::DiffEditorPlugin::testMakePatch()
|
||||
QCOMPARE(resultList.count(), 1);
|
||||
for (int i = 0; i < resultList.count(); i++) {
|
||||
const FileData &resultFileData = resultList.at(i);
|
||||
QCOMPARE(resultFileData.leftFileInfo.fileName, fileName);
|
||||
QCOMPARE(resultFileData.rightFileInfo.fileName, fileName);
|
||||
QCOMPARE(resultFileData.fileInfo[LeftSide].fileName, fileName);
|
||||
QCOMPARE(resultFileData.fileInfo[RightSide].fileName, fileName);
|
||||
QCOMPARE(resultFileData.chunks.count(), 1);
|
||||
for (int j = 0; j < resultFileData.chunks.count(); j++) {
|
||||
const ChunkData &resultChunkData = resultFileData.chunks.at(j);
|
||||
@@ -946,8 +945,8 @@ void DiffEditor::Internal::DiffEditorPlugin::testReadPatch_data()
|
||||
;
|
||||
|
||||
FileData fileData1;
|
||||
fileData1.leftFileInfo = DiffFileInfo("src/plugins/diffeditor/diffeditor.cpp", "eab9e9b");
|
||||
fileData1.rightFileInfo = DiffFileInfo("src/plugins/diffeditor/diffeditor.cpp", "082c135");
|
||||
fileData1.fileInfo = {DiffFileInfo("src/plugins/diffeditor/diffeditor.cpp", "eab9e9b"),
|
||||
DiffFileInfo("src/plugins/diffeditor/diffeditor.cpp", "082c135")};
|
||||
ChunkData chunkData1;
|
||||
chunkData1.startingLineNumber = {186, 186};
|
||||
QList<RowData> rows1;
|
||||
@@ -964,8 +963,8 @@ void DiffEditor::Internal::DiffEditorPlugin::testReadPatch_data()
|
||||
fileData1.chunks << chunkData1;
|
||||
|
||||
FileData fileData2;
|
||||
fileData2.leftFileInfo = DiffFileInfo(_("src/plugins/diffeditor/diffutils.cpp"), _("2f641c9"));
|
||||
fileData2.rightFileInfo = DiffFileInfo(_("src/plugins/diffeditor/diffutils.cpp"), _("f8ff795"));
|
||||
fileData2.fileInfo = {DiffFileInfo(_("src/plugins/diffeditor/diffutils.cpp"), _("2f641c9")),
|
||||
DiffFileInfo(_("src/plugins/diffeditor/diffutils.cpp"), _("f8ff795"))};
|
||||
ChunkData chunkData2;
|
||||
chunkData2.startingLineNumber = {463, 463};
|
||||
QList<RowData> rows2;
|
||||
@@ -985,8 +984,7 @@ void DiffEditor::Internal::DiffEditorPlugin::testReadPatch_data()
|
||||
fileData2.chunks << chunkData2;
|
||||
|
||||
FileData fileData3;
|
||||
fileData3.leftFileInfo = DiffFileInfo("new", "0000000");
|
||||
fileData3.rightFileInfo = DiffFileInfo("new", "257cc56");
|
||||
fileData3.fileInfo = {DiffFileInfo("new", "0000000"), DiffFileInfo("new", "257cc56")};
|
||||
fileData3.fileOperation = FileData::NewFile;
|
||||
ChunkData chunkData3;
|
||||
chunkData3.startingLineNumber = {-1, 0};
|
||||
@@ -998,8 +996,7 @@ void DiffEditor::Internal::DiffEditorPlugin::testReadPatch_data()
|
||||
fileData3.chunks << chunkData3;
|
||||
|
||||
FileData fileData4;
|
||||
fileData4.leftFileInfo = DiffFileInfo("deleted", "257cc56");
|
||||
fileData4.rightFileInfo = DiffFileInfo("deleted", "0000000");
|
||||
fileData4.fileInfo = {DiffFileInfo("deleted", "257cc56"), DiffFileInfo("deleted", "0000000")};
|
||||
fileData4.fileOperation = FileData::DeleteFile;
|
||||
ChunkData chunkData4;
|
||||
chunkData4.startingLineNumber = {0, -1};
|
||||
@@ -1011,18 +1008,16 @@ void DiffEditor::Internal::DiffEditorPlugin::testReadPatch_data()
|
||||
fileData4.chunks << chunkData4;
|
||||
|
||||
FileData fileData5;
|
||||
fileData5.leftFileInfo = DiffFileInfo("empty", "0000000");
|
||||
fileData5.rightFileInfo = DiffFileInfo("empty", "e69de29");
|
||||
fileData5.fileInfo = {DiffFileInfo("empty", "0000000"), DiffFileInfo("empty", "e69de29")};
|
||||
fileData5.fileOperation = FileData::NewFile;
|
||||
|
||||
FileData fileData6;
|
||||
fileData6.leftFileInfo = DiffFileInfo("empty", "e69de29");
|
||||
fileData6.rightFileInfo = DiffFileInfo("empty", "0000000");
|
||||
fileData6.fileInfo = {DiffFileInfo("empty", "e69de29"), DiffFileInfo("empty", "0000000")};
|
||||
fileData6.fileOperation = FileData::DeleteFile;
|
||||
|
||||
FileData fileData7;
|
||||
fileData7.leftFileInfo = DiffFileInfo("file a.txt", "1234567");
|
||||
fileData7.rightFileInfo = DiffFileInfo("file b.txt", "9876543");
|
||||
fileData7.fileInfo = {DiffFileInfo("file a.txt", "1234567"),
|
||||
DiffFileInfo("file b.txt", "9876543")};
|
||||
fileData7.fileOperation = FileData::CopyFile;
|
||||
ChunkData chunkData7;
|
||||
chunkData7.startingLineNumber = {19, 19};
|
||||
@@ -1034,13 +1029,11 @@ void DiffEditor::Internal::DiffEditorPlugin::testReadPatch_data()
|
||||
fileData7.chunks << chunkData7;
|
||||
|
||||
FileData fileData8;
|
||||
fileData8.leftFileInfo = DiffFileInfo("file a.txt");
|
||||
fileData8.rightFileInfo = DiffFileInfo("file b.txt");
|
||||
fileData8.fileInfo = {DiffFileInfo("file a.txt"), DiffFileInfo("file b.txt")};
|
||||
fileData8.fileOperation = FileData::RenameFile;
|
||||
|
||||
FileData fileData9;
|
||||
fileData9.leftFileInfo = DiffFileInfo("file.txt", "1234567");
|
||||
fileData9.rightFileInfo = DiffFileInfo("file.txt", "9876543");
|
||||
fileData9.fileInfo = {DiffFileInfo("file.txt", "1234567"), DiffFileInfo("file.txt", "9876543")};
|
||||
fileData9.chunks << chunkData7;
|
||||
QList<FileData> fileDataList1;
|
||||
fileDataList1 << fileData1 << fileData2 << fileData3 << fileData4 << fileData5
|
||||
@@ -1061,8 +1054,8 @@ void DiffEditor::Internal::DiffEditorPlugin::testReadPatch_data()
|
||||
" C\n"
|
||||
"+\n";
|
||||
|
||||
fileData1.leftFileInfo = DiffFileInfo("file foo.txt", "1234567");
|
||||
fileData1.rightFileInfo = DiffFileInfo("file foo.txt", "9876543");
|
||||
fileData1.fileInfo = {DiffFileInfo("file foo.txt", "1234567"),
|
||||
DiffFileInfo("file foo.txt", "9876543")};
|
||||
fileData1.fileOperation = FileData::ChangeFile;
|
||||
chunkData1.startingLineNumber = {49, 49};
|
||||
rows1.clear();
|
||||
@@ -1091,8 +1084,8 @@ void DiffEditor::Internal::DiffEditorPlugin::testReadPatch_data()
|
||||
"\\ No newline at end of file\n"
|
||||
"+ABCD\n";
|
||||
|
||||
fileData1.leftFileInfo = DiffFileInfo("file foo.txt", "1234567");
|
||||
fileData1.rightFileInfo = DiffFileInfo("file foo.txt", "9876543");
|
||||
fileData1.fileInfo = {DiffFileInfo("file foo.txt", "1234567"),
|
||||
DiffFileInfo("file foo.txt", "9876543")};
|
||||
fileData1.fileOperation = FileData::ChangeFile;
|
||||
chunkData1.startingLineNumber = {0, 0};
|
||||
rows1.clear();
|
||||
@@ -1126,8 +1119,8 @@ void DiffEditor::Internal::DiffEditorPlugin::testReadPatch_data()
|
||||
"+F\n"
|
||||
;
|
||||
|
||||
fileData1.leftFileInfo = DiffFileInfo("difftest.txt", "1234567");
|
||||
fileData1.rightFileInfo = DiffFileInfo("difftest.txt", "9876543");
|
||||
fileData1.fileInfo = {DiffFileInfo("difftest.txt", "1234567"),
|
||||
DiffFileInfo("difftest.txt", "9876543")};
|
||||
fileData1.fileOperation = FileData::ChangeFile;
|
||||
chunkData1.startingLineNumber = {1, 1};
|
||||
rows1.clear();
|
||||
@@ -1167,8 +1160,8 @@ void DiffEditor::Internal::DiffEditorPlugin::testReadPatch_data()
|
||||
"+EFGH\n"
|
||||
"\\ No newline at end of file\n";
|
||||
|
||||
fileData1.leftFileInfo = DiffFileInfo("file foo.txt", "1234567");
|
||||
fileData1.rightFileInfo = DiffFileInfo("file foo.txt", "9876543");
|
||||
fileData1.fileInfo = {DiffFileInfo("file foo.txt", "1234567"),
|
||||
DiffFileInfo("file foo.txt", "9876543")};
|
||||
fileData1.fileOperation = FileData::ChangeFile;
|
||||
chunkData1.startingLineNumber = {0, 0};
|
||||
rows1.clear();
|
||||
@@ -1209,12 +1202,12 @@ void DiffEditor::Internal::DiffEditorPlugin::testReadPatch_data()
|
||||
;
|
||||
|
||||
fileData1 = FileData();
|
||||
fileData1.leftFileInfo = DiffFileInfo("src/plugins/texteditor/basetextdocument.h");
|
||||
fileData1.rightFileInfo = DiffFileInfo("src/plugins/texteditor/textdocument.h");
|
||||
fileData1.fileInfo = {DiffFileInfo("src/plugins/texteditor/basetextdocument.h"),
|
||||
DiffFileInfo("src/plugins/texteditor/textdocument.h")};
|
||||
fileData1.fileOperation = FileData::RenameFile;
|
||||
fileData2 = FileData();
|
||||
fileData2.leftFileInfo = DiffFileInfo("src/plugins/texteditor/basetextdocumentlayout.cpp", "0121933");
|
||||
fileData2.rightFileInfo = DiffFileInfo("src/plugins/texteditor/textdocumentlayout.cpp", "01cc3a0");
|
||||
fileData2.fileInfo = {DiffFileInfo("src/plugins/texteditor/basetextdocumentlayout.cpp", "0121933"),
|
||||
DiffFileInfo("src/plugins/texteditor/textdocumentlayout.cpp", "01cc3a0")};
|
||||
fileData2.fileOperation = FileData::RenameFile;
|
||||
chunkData2.startingLineNumber = {1, 1};
|
||||
rows2.clear();
|
||||
@@ -1244,8 +1237,7 @@ void DiffEditor::Internal::DiffEditorPlugin::testReadPatch_data()
|
||||
"+Subproject commit eda76354077a427d692fee05479910de31040d3f-dirty\n"
|
||||
;
|
||||
fileData1 = FileData();
|
||||
fileData1.leftFileInfo = DiffFileInfo("src/shared/qbs");
|
||||
fileData1.rightFileInfo = DiffFileInfo("src/shared/qbs");
|
||||
fileData1.fileInfo = {DiffFileInfo("src/shared/qbs"), DiffFileInfo("src/shared/qbs")};
|
||||
chunkData1.startingLineNumber = {0, 0};
|
||||
rows1.clear();
|
||||
rows1 << RowData(_("Subproject commit eda76354077a427d692fee05479910de31040d3f"),
|
||||
@@ -1278,8 +1270,8 @@ void DiffEditor::Internal::DiffEditorPlugin::testReadPatch_data()
|
||||
;
|
||||
|
||||
fileData1 = FileData();
|
||||
fileData1.leftFileInfo = DiffFileInfo("demos/arthurplugin/arthurplugin.pro", "0000000");
|
||||
fileData1.rightFileInfo = DiffFileInfo("demos/arthurplugin/arthurplugin.pro", "c5132b4");
|
||||
fileData1.fileInfo = {DiffFileInfo("demos/arthurplugin/arthurplugin.pro", "0000000"),
|
||||
DiffFileInfo("demos/arthurplugin/arthurplugin.pro", "c5132b4")};
|
||||
fileData1.fileOperation = FileData::NewFile;
|
||||
chunkData1 = ChunkData();
|
||||
chunkData1.startingLineNumber = {-1, 0};
|
||||
@@ -1289,13 +1281,13 @@ void DiffEditor::Internal::DiffEditorPlugin::testReadPatch_data()
|
||||
chunkData1.rows = rows1;
|
||||
fileData1.chunks << chunkData1;
|
||||
fileData2 = FileData();
|
||||
fileData2.leftFileInfo = DiffFileInfo("demos/arthurplugin/bg1.jpg", "0000000");
|
||||
fileData2.rightFileInfo = DiffFileInfo("demos/arthurplugin/bg1.jpg", "dfc7cee");
|
||||
fileData2.fileInfo = {DiffFileInfo("demos/arthurplugin/bg1.jpg", "0000000"),
|
||||
DiffFileInfo("demos/arthurplugin/bg1.jpg", "dfc7cee")};
|
||||
fileData2.fileOperation = FileData::NewFile;
|
||||
fileData2.binaryFiles = true;
|
||||
fileData3 = FileData();
|
||||
fileData3.leftFileInfo = DiffFileInfo("demos/arthurplugin/flower.jpg", "0000000");
|
||||
fileData3.rightFileInfo = DiffFileInfo("demos/arthurplugin/flower.jpg", "f8e022c");
|
||||
fileData3.fileInfo = {DiffFileInfo("demos/arthurplugin/flower.jpg", "0000000"),
|
||||
DiffFileInfo("demos/arthurplugin/flower.jpg", "f8e022c")};
|
||||
fileData3.fileOperation = FileData::NewFile;
|
||||
fileData3.binaryFiles = true;
|
||||
|
||||
@@ -1312,8 +1304,7 @@ void DiffEditor::Internal::DiffEditorPlugin::testReadPatch_data()
|
||||
;
|
||||
|
||||
fileData1 = FileData();
|
||||
fileData1.leftFileInfo = DiffFileInfo("script.sh");
|
||||
fileData1.rightFileInfo = DiffFileInfo("script.sh");
|
||||
fileData1.fileInfo = {DiffFileInfo("script.sh"), DiffFileInfo("script.sh")};
|
||||
fileData1.fileOperation = FileData::ChangeMode;
|
||||
|
||||
QList<FileData> fileDataList9;
|
||||
@@ -1332,8 +1323,7 @@ rename to new.sh
|
||||
;
|
||||
|
||||
fileData1 = FileData();
|
||||
fileData1.leftFileInfo = DiffFileInfo("old.sh");
|
||||
fileData1.rightFileInfo = DiffFileInfo("new.sh");
|
||||
fileData1.fileInfo = {DiffFileInfo("old.sh"), DiffFileInfo("new.sh")};
|
||||
fileData1.fileOperation = FileData::RenameFile;
|
||||
|
||||
QList<FileData> fileDataList10;
|
||||
@@ -1350,8 +1340,8 @@ rename to new.sh
|
||||
"+++ src/plugins/subversion/subversioneditor.cpp\t(revision 0)\n"
|
||||
"@@ -0,0 +125 @@\n\n";
|
||||
fileData1 = FileData();
|
||||
fileData1.leftFileInfo = DiffFileInfo("src/plugins/subversion/subversioneditor.cpp");
|
||||
fileData1.rightFileInfo = DiffFileInfo("src/plugins/subversion/subversioneditor.cpp");
|
||||
fileData1.fileInfo = {DiffFileInfo("src/plugins/subversion/subversioneditor.cpp"),
|
||||
DiffFileInfo("src/plugins/subversion/subversioneditor.cpp")};
|
||||
chunkData1 = ChunkData();
|
||||
chunkData1.startingLineNumber = {-1, 124};
|
||||
fileData1.chunks << chunkData1;
|
||||
@@ -1369,8 +1359,8 @@ rename to new.sh
|
||||
"+++ src/plugins/subversion/subversioneditor.cpp\t(working copy)\n"
|
||||
"@@ -1,125 +0,0 @@\n\n";
|
||||
fileData1 = FileData();
|
||||
fileData1.leftFileInfo = DiffFileInfo("src/plugins/subversion/subversioneditor.cpp");
|
||||
fileData1.rightFileInfo = DiffFileInfo("src/plugins/subversion/subversioneditor.cpp");
|
||||
fileData1.fileInfo = {DiffFileInfo("src/plugins/subversion/subversioneditor.cpp"),
|
||||
DiffFileInfo("src/plugins/subversion/subversioneditor.cpp")};
|
||||
chunkData1 = ChunkData();
|
||||
chunkData1.startingLineNumber = {0, -1};
|
||||
fileData1.chunks << chunkData1;
|
||||
@@ -1388,8 +1378,8 @@ rename to new.sh
|
||||
"+++ src/plugins/subversion/subversioneditor.cpp\t(working copy)\n"
|
||||
"@@ -120,7 +120,7 @@\n\n";
|
||||
fileData1 = FileData();
|
||||
fileData1.leftFileInfo = DiffFileInfo("src/plugins/subversion/subversioneditor.cpp");
|
||||
fileData1.rightFileInfo = DiffFileInfo("src/plugins/subversion/subversioneditor.cpp");
|
||||
fileData1.fileInfo = {DiffFileInfo("src/plugins/subversion/subversioneditor.cpp"),
|
||||
DiffFileInfo("src/plugins/subversion/subversioneditor.cpp")};
|
||||
chunkData1 = ChunkData();
|
||||
chunkData1.startingLineNumber = {119, 119};
|
||||
fileData1.chunks << chunkData1;
|
||||
@@ -1412,10 +1402,10 @@ void DiffEditor::Internal::DiffEditorPlugin::testReadPatch()
|
||||
for (int i = 0; i < fileDataList.count(); i++) {
|
||||
const FileData &origFileData = fileDataList.at(i);
|
||||
const FileData &resultFileData = result.at(i);
|
||||
QCOMPARE(resultFileData.leftFileInfo.fileName, origFileData.leftFileInfo.fileName);
|
||||
QCOMPARE(resultFileData.leftFileInfo.typeInfo, origFileData.leftFileInfo.typeInfo);
|
||||
QCOMPARE(resultFileData.rightFileInfo.fileName, origFileData.rightFileInfo.fileName);
|
||||
QCOMPARE(resultFileData.rightFileInfo.typeInfo, origFileData.rightFileInfo.typeInfo);
|
||||
QCOMPARE(resultFileData.fileInfo[LeftSide].fileName, origFileData.fileInfo[LeftSide].fileName);
|
||||
QCOMPARE(resultFileData.fileInfo[LeftSide].typeInfo, origFileData.fileInfo[LeftSide].typeInfo);
|
||||
QCOMPARE(resultFileData.fileInfo[RightSide].fileName, origFileData.fileInfo[RightSide].fileName);
|
||||
QCOMPARE(resultFileData.fileInfo[RightSide].typeInfo, origFileData.fileInfo[RightSide].typeInfo);
|
||||
QCOMPARE(resultFileData.chunks.count(), origFileData.chunks.count());
|
||||
QCOMPARE(resultFileData.fileOperation, origFileData.fileOperation);
|
||||
for (int j = 0; j < origFileData.chunks.count(); j++) {
|
||||
|
||||
@@ -150,11 +150,11 @@ void DiffEditorWidgetController::patch(bool revert, int fileIndex, int chunkInde
|
||||
|
||||
const FileData fileData = m_contextFileData.at(fileIndex);
|
||||
const QString fileName = revert
|
||||
? fileData.rightFileInfo.fileName
|
||||
: fileData.leftFileInfo.fileName;
|
||||
? fileData.fileInfo[RightSide].fileName
|
||||
: fileData.fileInfo[LeftSide].fileName;
|
||||
const DiffFileInfo::PatchBehaviour patchBehaviour = revert
|
||||
? fileData.rightFileInfo.patchBehaviour
|
||||
: fileData.leftFileInfo.patchBehaviour;
|
||||
? fileData.fileInfo[RightSide].patchBehaviour
|
||||
: fileData.fileInfo[LeftSide].patchBehaviour;
|
||||
|
||||
const FilePath workingDirectory = m_document->baseDirectory().isEmpty()
|
||||
? FilePath::fromString(fileName).absolutePath()
|
||||
@@ -270,7 +270,7 @@ ChunkData DiffEditorWidgetController::chunkData(int fileIndex, int chunkIndex) c
|
||||
bool DiffEditorWidgetController::fileNamesAreDifferent(int fileIndex) const
|
||||
{
|
||||
const FileData fileData = m_contextFileData.at(fileIndex);
|
||||
return fileData.leftFileInfo.fileName != fileData.rightFileInfo.fileName;
|
||||
return fileData.fileInfo[LeftSide].fileName != fileData.fileInfo[RightSide].fileName;
|
||||
}
|
||||
|
||||
void DiffEditorWidgetController::addApplyAction(QMenu *menu, int fileIndex, int chunkIndex)
|
||||
|
||||
@@ -470,7 +470,7 @@ static QString leftFileName(const FileData &fileData, unsigned formatFlags)
|
||||
} else {
|
||||
if (formatFlags & DiffUtils::AddLevel)
|
||||
str << "a/";
|
||||
str << fileData.leftFileInfo.fileName;
|
||||
str << fileData.fileInfo[LeftSide].fileName;
|
||||
}
|
||||
return diffText;
|
||||
}
|
||||
@@ -484,7 +484,7 @@ static QString rightFileName(const FileData &fileData, unsigned formatFlags)
|
||||
} else {
|
||||
if (formatFlags & DiffUtils::AddLevel)
|
||||
str << "b/";
|
||||
str << fileData.rightFileInfo.fileName;
|
||||
str << fileData.fileInfo[RightSide].fileName;
|
||||
}
|
||||
return diffText;
|
||||
}
|
||||
@@ -497,8 +497,8 @@ QString DiffUtils::makePatch(const QList<FileData> &fileDataList, unsigned forma
|
||||
for (int i = 0; i < fileDataList.size(); i++) {
|
||||
const FileData &fileData = fileDataList.at(i);
|
||||
if (formatFlags & GitFormat) {
|
||||
str << "diff --git a/" << fileData.leftFileInfo.fileName
|
||||
<< " b/" << fileData.rightFileInfo.fileName << '\n';
|
||||
str << "diff --git a/" << fileData.fileInfo[LeftSide].fileName
|
||||
<< " b/" << fileData.fileInfo[RightSide].fileName << '\n';
|
||||
}
|
||||
if (fileData.fileOperation == FileData::NewFile
|
||||
|| fileData.fileOperation == FileData::DeleteFile) { // git only?
|
||||
@@ -508,7 +508,7 @@ QString DiffUtils::makePatch(const QList<FileData> &fileDataList, unsigned forma
|
||||
str << "deleted";
|
||||
str << " file mode 100644\n";
|
||||
}
|
||||
str << "index " << fileData.leftFileInfo.typeInfo << ".." << fileData.rightFileInfo.typeInfo;
|
||||
str << "index " << fileData.fileInfo[LeftSide].typeInfo << ".." << fileData.fileInfo[RightSide].typeInfo;
|
||||
if (fileData.fileOperation == FileData::ChangeFile)
|
||||
str << " 100644";
|
||||
str << "\n";
|
||||
@@ -853,13 +853,13 @@ static FileData readDiffHeaderAndChunks(QStringView headerAndChunks, bool *ok)
|
||||
const QRegularExpressionMatch leftMatch = leftFileRegExp.match(patch);
|
||||
if (leftMatch.hasMatch() && leftMatch.capturedStart() == 0) {
|
||||
patch = patch.mid(leftMatch.capturedEnd());
|
||||
fileData.leftFileInfo.fileName = leftMatch.captured(1);
|
||||
fileData.fileInfo[LeftSide].fileName = leftMatch.captured(1);
|
||||
|
||||
// followed by rightFileRegExp
|
||||
const QRegularExpressionMatch rightMatch = rightFileRegExp.match(patch);
|
||||
if (rightMatch.hasMatch() && rightMatch.capturedStart() == 0) {
|
||||
patch = patch.mid(rightMatch.capturedEnd());
|
||||
fileData.rightFileInfo.fileName = rightMatch.captured(1);
|
||||
fileData.fileInfo[RightSide].fileName = rightMatch.captured(1);
|
||||
|
||||
fileData.chunks = readChunks(patch,
|
||||
&fileData.lastChunkAtTheEndOfFile,
|
||||
@@ -869,8 +869,8 @@ static FileData readDiffHeaderAndChunks(QStringView headerAndChunks, bool *ok)
|
||||
// or by binaryRegExp
|
||||
const QRegularExpressionMatch binaryMatch = binaryRegExp.match(patch);
|
||||
if (binaryMatch.hasMatch() && binaryMatch.capturedStart() == 0) {
|
||||
fileData.leftFileInfo.fileName = binaryMatch.captured(1);
|
||||
fileData.rightFileInfo.fileName = binaryMatch.captured(2);
|
||||
fileData.fileInfo[LeftSide].fileName = binaryMatch.captured(1);
|
||||
fileData.fileInfo[RightSide].fileName = binaryMatch.captured(2);
|
||||
fileData.binaryFiles = true;
|
||||
readOk = true;
|
||||
}
|
||||
@@ -1012,12 +1012,12 @@ static bool detectIndexAndBinary(QStringView patch, FileData *fileData, QStringV
|
||||
const int dotsPosition = indices.indexOf(QStringLiteral(".."));
|
||||
if (dotsPosition < 0)
|
||||
return false;
|
||||
fileData->leftFileInfo.typeInfo = indices.left(dotsPosition).toString();
|
||||
fileData->fileInfo[LeftSide].typeInfo = indices.left(dotsPosition).toString();
|
||||
|
||||
// if there is no space we take the remaining string
|
||||
const int spacePosition = indices.indexOf(QChar::Space, dotsPosition + 2);
|
||||
const int length = spacePosition < 0 ? -1 : spacePosition - dotsPosition - 2;
|
||||
fileData->rightFileInfo.typeInfo = indices.mid(dotsPosition + 2, length).toString();
|
||||
fileData->fileInfo[RightSide].typeInfo = indices.mid(dotsPosition + 2, length).toString();
|
||||
|
||||
*remainingPatch = afterNextLine;
|
||||
} else if (fileData->fileOperation != FileData::ChangeFile) {
|
||||
@@ -1034,9 +1034,9 @@ static bool detectIndexAndBinary(QStringView patch, FileData *fileData, QStringV
|
||||
|
||||
const QString devNull("/dev/null");
|
||||
const QString leftFileName = fileData->fileOperation == FileData::NewFile
|
||||
? devNull : QLatin1String("a/") + fileData->leftFileInfo.fileName;
|
||||
? devNull : QLatin1String("a/") + fileData->fileInfo[LeftSide].fileName;
|
||||
const QString rightFileName = fileData->fileOperation == FileData::DeleteFile
|
||||
? devNull : QLatin1String("b/") + fileData->rightFileInfo.fileName;
|
||||
? devNull : QLatin1String("b/") + fileData->fileInfo[RightSide].fileName;
|
||||
|
||||
const QString binaryLine = "Binary files "
|
||||
+ leftFileName + " and "
|
||||
@@ -1116,7 +1116,7 @@ static bool detectFileData(QStringView patch, FileData *fileData, QStringView *r
|
||||
// change / new / delete
|
||||
|
||||
fileData->fileOperation = FileData::ChangeFile;
|
||||
fileData->leftFileInfo.fileName = fileData->rightFileInfo.fileName = commonFileName.toString();
|
||||
fileData->fileInfo[LeftSide].fileName = fileData->fileInfo[RightSide].fileName = commonFileName.toString();
|
||||
|
||||
QStringView afterSecondLine;
|
||||
const QStringView secondLine = readLine(afterDiffGit, &afterSecondLine, &hasNewLine);
|
||||
@@ -1172,10 +1172,10 @@ static bool detectFileData(QStringView patch, FileData *fileData, QStringView *r
|
||||
const QLatin1String renameFrom("rename from ");
|
||||
if (copyRenameFrom.startsWith(copyFrom)) {
|
||||
fileData->fileOperation = FileData::CopyFile;
|
||||
fileData->leftFileInfo.fileName = copyRenameFrom.mid(copyFrom.size()).toString();
|
||||
fileData->fileInfo[LeftSide].fileName = copyRenameFrom.mid(copyFrom.size()).toString();
|
||||
} else if (copyRenameFrom.startsWith(renameFrom)) {
|
||||
fileData->fileOperation = FileData::RenameFile;
|
||||
fileData->leftFileInfo.fileName = copyRenameFrom.mid(renameFrom.size()).toString();
|
||||
fileData->fileInfo[LeftSide].fileName = copyRenameFrom.mid(renameFrom.size()).toString();
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
@@ -1189,9 +1189,9 @@ static bool detectFileData(QStringView patch, FileData *fileData, QStringView *r
|
||||
const QLatin1String copyTo("copy to ");
|
||||
const QLatin1String renameTo("rename to ");
|
||||
if (fileData->fileOperation == FileData::CopyFile && copyRenameTo.startsWith(copyTo)) {
|
||||
fileData->rightFileInfo.fileName = copyRenameTo.mid(copyTo.size()).toString();
|
||||
fileData->fileInfo[RightSide].fileName = copyRenameTo.mid(copyTo.size()).toString();
|
||||
} else if (fileData->fileOperation == FileData::RenameFile && copyRenameTo.startsWith(renameTo)) {
|
||||
fileData->rightFileInfo.fileName = copyRenameTo.mid(renameTo.size()).toString();
|
||||
fileData->fileInfo[RightSide].fileName = copyRenameTo.mid(renameTo.size()).toString();
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -104,8 +104,7 @@ public:
|
||||
FileData() = default;
|
||||
FileData(const ChunkData &chunkData) { chunks.append(chunkData); }
|
||||
QList<ChunkData> chunks;
|
||||
DiffFileInfo leftFileInfo;
|
||||
DiffFileInfo rightFileInfo;
|
||||
std::array<DiffFileInfo, SideCount> fileInfo{};
|
||||
FileOperation fileOperation = ChangeFile;
|
||||
bool binaryFiles = false;
|
||||
bool lastChunkAtTheEndOfFile = false;
|
||||
|
||||
@@ -892,8 +892,8 @@ void SideBySideDiffEditorWidget::showDiff()
|
||||
foldingIndent.insert(blockNumber, 1);
|
||||
leftFormats[blockNumber].append(DiffSelection(&m_controller.m_fileLineFormat));
|
||||
rightFormats[blockNumber].append(DiffSelection(&m_controller.m_fileLineFormat));
|
||||
m_leftEditor->setFileInfo(blockNumber, contextFileData.leftFileInfo);
|
||||
m_rightEditor->setFileInfo(blockNumber, contextFileData.rightFileInfo);
|
||||
m_leftEditor->setFileInfo(blockNumber, contextFileData.fileInfo[LeftSide]);
|
||||
m_rightEditor->setFileInfo(blockNumber, contextFileData.fileInfo[RightSide]);
|
||||
leftText = separator;
|
||||
rightText = separator;
|
||||
blockNumber++;
|
||||
@@ -1051,8 +1051,8 @@ void SideBySideDiffEditorWidget::slotLeftJumpToOriginalFileRequested(
|
||||
return;
|
||||
|
||||
const FileData fileData = m_controller.m_contextFileData.at(diffFileIndex);
|
||||
const QString leftFileName = fileData.leftFileInfo.fileName;
|
||||
const QString rightFileName = fileData.rightFileInfo.fileName;
|
||||
const QString leftFileName = fileData.fileInfo[LeftSide].fileName;
|
||||
const QString rightFileName = fileData.fileInfo[RightSide].fileName;
|
||||
if (leftFileName == rightFileName) {
|
||||
// The same file (e.g. in git diff), jump to the line number taken from the right editor.
|
||||
// Warning: git show SHA^ vs SHA or git diff HEAD vs Index
|
||||
@@ -1090,7 +1090,7 @@ void SideBySideDiffEditorWidget::slotRightJumpToOriginalFileRequested(
|
||||
return;
|
||||
|
||||
const FileData fileData = m_controller.m_contextFileData.at(diffFileIndex);
|
||||
const QString fileName = fileData.rightFileInfo.fileName;
|
||||
const QString fileName = fileData.fileInfo[RightSide].fileName;
|
||||
m_controller.jumpToOriginalFile(fileName, lineNumber, columnNumber);
|
||||
}
|
||||
|
||||
|
||||
@@ -492,9 +492,9 @@ UnifiedDiffOutput UnifiedDiffData::setDiff(QFutureInterface<void> &fi, int progr
|
||||
const int count = input.m_contextFileData.size();
|
||||
|
||||
for (const FileData &fileData : qAsConst(input.m_contextFileData)) {
|
||||
const QString leftFileInfo = "--- " + fileData.leftFileInfo.fileName + '\n';
|
||||
const QString rightFileInfo = "+++ " + fileData.rightFileInfo.fileName + '\n';
|
||||
setFileInfo(blockNumber, fileData.leftFileInfo, fileData.rightFileInfo);
|
||||
const QString leftFileInfo = "--- " + fileData.fileInfo[LeftSide].fileName + '\n';
|
||||
const QString rightFileInfo = "+++ " + fileData.fileInfo[RightSide].fileName + '\n';
|
||||
setFileInfo(blockNumber, fileData.fileInfo[LeftSide], fileData.fileInfo[RightSide]);
|
||||
output.foldingIndent.insert(blockNumber, 1);
|
||||
output.selections[blockNumber].append(DiffSelection(input.m_fileLineFormat));
|
||||
blockNumber++;
|
||||
@@ -511,9 +511,9 @@ UnifiedDiffOutput UnifiedDiffData::setDiff(QFutureInterface<void> &fi, int progr
|
||||
output.selections[blockNumber].append(DiffSelection(input.m_chunkLineFormat));
|
||||
blockNumber++;
|
||||
const QString binaryLine = "Binary files "
|
||||
+ fileData.leftFileInfo.fileName
|
||||
+ fileData.fileInfo[LeftSide].fileName
|
||||
+ " and "
|
||||
+ fileData.rightFileInfo.fileName
|
||||
+ fileData.fileInfo[RightSide].fileName
|
||||
+ " differ\n";
|
||||
output.diffText += binaryLine;
|
||||
charNumber += binaryLine.count();
|
||||
@@ -672,8 +672,8 @@ void UnifiedDiffEditorWidget::jumpToOriginalFile(const QTextCursor &cursor)
|
||||
return;
|
||||
|
||||
const FileData fileData = m_controller.m_contextFileData.at(fileIndex);
|
||||
const QString leftFileName = fileData.leftFileInfo.fileName;
|
||||
const QString rightFileName = fileData.rightFileInfo.fileName;
|
||||
const QString leftFileName = fileData.fileInfo[LeftSide].fileName;
|
||||
const QString rightFileName = fileData.fileInfo[RightSide].fileName;
|
||||
|
||||
const int columnNumber = cursor.positionInBlock() - 1; // -1 for the first character in line
|
||||
|
||||
|
||||
Reference in New Issue
Block a user