DiffEditor: refactor loops and const correctness

Change-Id: I21af8db55ff5a012de04b4934de1940babf75058
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
Jarek Kobus
2017-06-27 11:59:11 +02:00
parent f07fda598e
commit 228e4a7542
5 changed files with 98 additions and 150 deletions

View File

@@ -325,13 +325,13 @@ QString UnifiedDiffEditorWidget::showChunk(const ChunkData &chunkData,
// could have been added
for (int k = 0; k < blockDelta; k++)
(*selections)[*blockNumber + blockCount + 1 + k].append(&m_controller.m_leftLineFormat);
QMapIterator<int, int> itPos(lineData.changedPositions);
while (itPos.hasNext()) {
itPos.next();
const int startPos = itPos.key() < 0
? 1 : itPos.key() + 1;
const int endPos = itPos.value() < 0
? itPos.value() : itPos.value() + 1;
for (auto it = lineData.changedPositions.cbegin(),
end = lineData.changedPositions.cend(); it != end; ++it) {
const int startPos = it.key() < 0
? 1 : it.key() + 1;
const int endPos = it.value() < 0
? it.value() : it.value() + 1;
(*selections)[*blockNumber + blockCount + 1].append(
DiffSelection(startPos, endPos, &m_controller.m_leftCharFormat));
}
@@ -365,13 +365,13 @@ QString UnifiedDiffEditorWidget::showChunk(const ChunkData &chunkData,
for (int k = 0; k < blockDelta; k++)
(*selections)[*blockNumber + blockCount + 1 + k].append(&m_controller.m_rightLineFormat);
QMapIterator<int, int> itPos(lineData.changedPositions);
while (itPos.hasNext()) {
itPos.next();
const int startPos = itPos.key() < 0
? 1 : itPos.key() + 1;
const int endPos = itPos.value() < 0
? itPos.value() : itPos.value() + 1;
for (auto it = lineData.changedPositions.cbegin(),
end = lineData.changedPositions.cend(); it != end; ++it) {
const int startPos = it.key() < 0
? 1 : it.key() + 1;
const int endPos = it.value() < 0
? it.value() : it.value() + 1;
(*selections)[*blockNumber + blockCount + 1].append
(DiffSelection(startPos, endPos, &m_controller.m_rightCharFormat));
}
@@ -448,8 +448,7 @@ void UnifiedDiffEditorWidget::showDiff()
QMap<int, QList<DiffSelection> > selections;
for (int i = 0; i < m_controller.m_contextFileData.count(); i++) {
const FileData &fileData = m_controller.m_contextFileData.at(i);
for (const FileData &fileData : m_controller.m_contextFileData) {
const QString leftFileInfo = QLatin1String("--- ")
+ fileData.leftFileInfo.fileName + QLatin1Char('\n');
const QString rightFileInfo = QLatin1String("+++ ")
@@ -509,28 +508,17 @@ int UnifiedDiffEditorWidget::blockNumberForFileIndex(int fileIndex) const
if (fileIndex < 0 || fileIndex >= m_fileInfo.count())
return -1;
QMap<int, QPair<DiffFileInfo, DiffFileInfo> >::const_iterator it
= m_fileInfo.constBegin();
for (int i = 0; i < fileIndex; i++)
++it;
return it.key();
return (m_fileInfo.constBegin() + fileIndex).key();
}
int UnifiedDiffEditorWidget::fileIndexForBlockNumber(int blockNumber) const
{
QMap<int, QPair<DiffFileInfo, DiffFileInfo> >::const_iterator it
= m_fileInfo.constBegin();
QMap<int, QPair<DiffFileInfo, DiffFileInfo> >::const_iterator itEnd
= m_fileInfo.constEnd();
int i = -1;
while (it != itEnd) {
for (auto it = m_fileInfo.cbegin(), end = m_fileInfo.cend(); it != end; ++it, ++i) {
if (it.key() > blockNumber)
break;
++it;
++i;
}
return i;
}
@@ -539,8 +527,7 @@ int UnifiedDiffEditorWidget::chunkIndexForBlockNumber(int blockNumber) const
if (m_chunkInfo.isEmpty())
return -1;
QMap<int, QPair<int, int> >::const_iterator it
= m_chunkInfo.upperBound(blockNumber);
auto it = m_chunkInfo.upperBound(blockNumber);
if (it == m_chunkInfo.constBegin())
return -1;
@@ -577,14 +564,12 @@ void UnifiedDiffEditorWidget::jumpToOriginalFile(const QTextCursor &cursor)
const int leftLineNumber = m_leftLineNumbers.value(blockNumber, -1);
if (leftLineNumber >= 0) {
if (leftFileName == rightFileName) {
for (int i = 0; i < fileData.chunks.count(); i++) {
const ChunkData chunkData = fileData.chunks.at(i);
for (const ChunkData &chunkData : fileData.chunks) {
int newLeftLineNumber = chunkData.leftStartingLineNumber;
int newRightLineNumber = chunkData.rightStartingLineNumber;
for (int j = 0; j < chunkData.rows.count(); j++) {
const RowData rowData = chunkData.rows.at(j);
for (const RowData &rowData : chunkData.rows) {
if (rowData.leftLine.textLineType == TextLineData::TextLine)
newLeftLineNumber++;
if (rowData.rightLine.textLineType == TextLineData::TextLine)