aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/diffeditor/diffutils.cpp
diff options
context:
space:
mode:
authorJarek Kobus <jaroslaw.kobus@qt.io>2023-02-03 02:17:05 +0100
committerJarek Kobus <jaroslaw.kobus@qt.io>2023-02-03 15:31:47 +0000
commitbf64af6f521c267c3389ca7d3fff222af1cc6106 (patch)
tree44cec807704bfd0fb050cb941259063888935c0d /src/plugins/diffeditor/diffutils.cpp
parent202b696677c13079dd503d0f814aecdc64bfa00b (diff)
DiffUtils: Simplify file name formatting
Change-Id: I11857af58fe50dae7449a763663a8a3ba123d239 Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Diffstat (limited to 'src/plugins/diffeditor/diffutils.cpp')
-rw-r--r--src/plugins/diffeditor/diffutils.cpp49
1 files changed, 14 insertions, 35 deletions
diff --git a/src/plugins/diffeditor/diffutils.cpp b/src/plugins/diffeditor/diffutils.cpp
index cbbaeb745c7..6c5afe9bde8 100644
--- a/src/plugins/diffeditor/diffutils.cpp
+++ b/src/plugins/diffeditor/diffutils.cpp
@@ -487,32 +487,15 @@ QString DiffUtils::makePatch(const ChunkData &chunkData,
return diffText;
}
-static QString leftFileName(const FileData &fileData, unsigned formatFlags)
+static QString sideFileName(DiffSide side, const FileData &fileData, unsigned formatFlags)
{
- QString diffText;
- QTextStream str(&diffText);
- if (fileData.fileOperation == FileData::NewFile) {
- str << "/dev/null";
- } else {
- if (formatFlags & DiffUtils::AddLevel)
- str << "a/";
- str << fileData.fileInfo[LeftSide].fileName;
- }
- return diffText;
-}
-
-static QString rightFileName(const FileData &fileData, unsigned formatFlags)
-{
- QString diffText;
- QTextStream str(&diffText);
- if (fileData.fileOperation == FileData::DeleteFile) {
- str << "/dev/null";
- } else {
- if (formatFlags & DiffUtils::AddLevel)
- str << "b/";
- str << fileData.fileInfo[RightSide].fileName;
- }
- return diffText;
+ const FileData::FileOperation operation = side == LeftSide ? FileData::NewFile
+ : FileData::DeleteFile;
+ if (fileData.fileOperation == operation)
+ return "/dev/null";
+ const QString sideMarker = side == LeftSide ? "a/" : "b/";
+ const QString formatMarker = formatFlags & DiffUtils::AddLevel ? sideMarker : QString();
+ return formatMarker + fileData.fileInfo[side].fileName;
}
QString DiffUtils::makePatch(const QList<FileData> &fileDataList, unsigned formatFlags)
@@ -541,16 +524,16 @@ QString DiffUtils::makePatch(const QList<FileData> &fileDataList, unsigned forma
if (fileData.binaryFiles) {
str << "Binary files ";
- str << leftFileName(fileData, formatFlags);
+ str << sideFileName(LeftSide, fileData, formatFlags);
str << " and ";
- str << rightFileName(fileData, formatFlags);
+ str << sideFileName(RightSide, fileData, formatFlags);
str << " differ\n";
} else {
if (!fileData.chunks.isEmpty()) {
str << "--- ";
- str << leftFileName(fileData, formatFlags) << "\n";
+ str << sideFileName(LeftSide, fileData, formatFlags) << "\n";
str << "+++ ";
- str << rightFileName(fileData, formatFlags) << "\n";
+ str << sideFileName(RightSide, fileData, formatFlags) << "\n";
for (int j = 0; j < fileData.chunks.size(); j++) {
str << makePatch(fileData.chunks.at(j),
(j == fileData.chunks.size() - 1)
@@ -1058,12 +1041,8 @@ static bool detectIndexAndBinary(QStringView patch, FileData *fileData, QStringV
return true;
}
- const QString devNull("/dev/null");
- const QString leftFileName = fileData->fileOperation == FileData::NewFile
- ? devNull : QLatin1String("a/") + fileData->fileInfo[LeftSide].fileName;
- const QString rightFileName = fileData->fileOperation == FileData::DeleteFile
- ? devNull : QLatin1String("b/") + fileData->fileInfo[RightSide].fileName;
-
+ const QString leftFileName = sideFileName(LeftSide, *fileData, DiffUtils::AddLevel);
+ const QString rightFileName = sideFileName(RightSide, *fileData, DiffUtils::AddLevel);
const QString binaryLine = "Binary files "
+ leftFileName + " and "
+ rightFileName + " differ";