DiffEditor: Simplify DiffEditorDocument::plainText()

Change-Id: If7c1ab43f099bbbc573ba354668c56fee0eb55a5
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
Jarek Kobus
2023-02-03 02:27:02 +01:00
parent bf64af6f52
commit ebcd8bcd51

View File

@@ -8,6 +8,7 @@
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/stringutils.h>
#include <coreplugin/dialogs/codecselector.h> #include <coreplugin/dialogs/codecselector.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
@@ -345,11 +346,11 @@ QString DiffEditorDocument::fallbackSaveAsFileName() const
// ### fixme: git-specific handling should be done in the git plugin: // ### fixme: git-specific handling should be done in the git plugin:
// Remove unexpanded branches and follows-tag, clear indentation // Remove unexpanded branches and follows-tag, clear indentation
// and create E-mail // and create E-mail
static void formatGitDescription(QString *description) static QString formatGitDescription(const QString &description)
{ {
QString result; QString result;
result.reserve(description->size()); result.reserve(description.size());
const auto descriptionList = description->split('\n'); const auto descriptionList = description.split('\n');
for (QString line : descriptionList) { for (QString line : descriptionList) {
if (line.startsWith("commit ") || line.startsWith("Branches: <Expand>")) if (line.startsWith("commit ") || line.startsWith("Branches: <Expand>"))
continue; continue;
@@ -361,23 +362,13 @@ static void formatGitDescription(QString *description)
result.append(line); result.append(line);
result.append('\n'); result.append('\n');
} }
*description = result; return result;
} }
QString DiffEditorDocument::plainText() const QString DiffEditorDocument::plainText() const
{ {
QString result = description(); return Utils::joinStrings({formatGitDescription(description()),
const int formattingOptions = DiffUtils::GitFormat; DiffUtils::makePatch(diffFiles(), DiffUtils::GitFormat)}, '\n');
if (formattingOptions & DiffUtils::GitFormat)
formatGitDescription(&result);
const QString diff = DiffUtils::makePatch(diffFiles(), formattingOptions);
if (!diff.isEmpty()) {
if (!result.isEmpty())
result += '\n';
result += diff;
}
return result;
} }
void DiffEditorDocument::beginReload() void DiffEditorDocument::beginReload()