void DiffEditorController::clear(const QString &message) { setDescription(QString()); setDiffFiles(QList<FileData>()); m_clearMessage = message; emit cleared(message); }
void FileDiffController::reload() { QString errorString; Utils::TextFileFormat format; format.codec = Core::EditorManager::defaultTextCodec(); QString leftText; if (Utils::TextFileFormat::readFile(m_leftFileName, format.codec, &leftText, &format, &errorString) != Utils::TextFileFormat::ReadSuccess) { return; } QString rightText; if (Utils::TextFileFormat::readFile(m_rightFileName, format.codec, &rightText, &format, &errorString) != Utils::TextFileFormat::ReadSuccess) { return; } Differ differ; QList<Diff> diffList = differ.cleanupSemantics(differ.diff(leftText, rightText)); QList<Diff> leftDiffList; QList<Diff> rightDiffList; Differ::splitDiffList(diffList, &leftDiffList, &rightDiffList); QList<Diff> outputLeftDiffList; QList<Diff> outputRightDiffList; if (ignoreWhitespace()) { const QList<Diff> leftIntermediate = Differ::moveWhitespaceIntoEqualities(leftDiffList); const QList<Diff> rightIntermediate = Differ::moveWhitespaceIntoEqualities(rightDiffList); Differ::ignoreWhitespaceBetweenEqualities(leftIntermediate, rightIntermediate, &outputLeftDiffList, &outputRightDiffList); } else { outputLeftDiffList = leftDiffList; outputRightDiffList = rightDiffList; } const ChunkData chunkData = DiffUtils::calculateOriginalData( outputLeftDiffList, outputRightDiffList); FileData fileData = DiffUtils::calculateContextData(chunkData, contextLineCount(), 0); fileData.leftFileInfo.fileName = m_leftFileName; fileData.rightFileInfo.fileName = m_rightFileName; QList<FileData> fileDataList; fileDataList << fileData; setDiffFiles(fileDataList); reloadFinished(true); }