9#include "differencestringpair.h"
10#include "levenshteintable.h"
14Difference::Difference(
int sourceLineNo,
int destinationLineNo,
int type) :
17 m_sourceLineNo(sourceLineNo),
18 m_destinationLineNo(destinationLineNo),
19 m_trackingDestinationLineNo(sourceLineNo),
26Difference::~Difference()
28 qDeleteAll(m_sourceLines);
29 qDeleteAll(m_destinationLines);
32void Difference::addSourceLine(
QString line)
37void Difference::addDestinationLine(
QString line)
42int Difference::sourceLineCount()
const
44 return m_sourceLines.count();
47int Difference::destinationLineCount()
const
49 return m_destinationLines.count();
52int Difference::sourceLineEnd()
const
54 return m_sourceLineNo + m_sourceLines.count();
57int Difference::destinationLineEnd()
const
59 return m_destinationLineNo + m_destinationLines.count();
62int Difference::trackingDestinationLineEnd()
const
64 return m_trackingDestinationLineNo + m_destinationLines.count();
67void Difference::apply(
bool apply)
69 if (apply != m_applied)
72 m_unsaved = !m_unsaved;
73 Q_EMIT differenceApplied(
this);
79 if (m_applied != apply)
81 m_unsaved = !m_unsaved;
88 if (m_type != Difference::Change)
94 int slc = sourceLineCount();
96 if (slc != destinationLineCount())
101 for (
int i = 0; i < slc; ++i)
105 DifferenceStringPair* pair =
new DifferenceStringPair(sl, dl);
109 table.createListsOfMarkers();
113QString Difference::recreateDifference()
const
118 DifferenceStringListConstIterator stringIt = m_sourceLines.begin();
119 DifferenceStringListConstIterator sEnd = m_sourceLines.end();
121 for (; stringIt != sEnd; ++stringIt)
136 difference += (*stringIt)->string();
140 stringIt = m_destinationLines.begin();
141 sEnd = m_destinationLines.end();
143 for (; stringIt != sEnd; ++stringIt)
158 difference += (*stringIt)->string();
164#include "moc_difference.cpp"
void determineInlineDifferences()
This method will calculate the differences between the individual strings and store them as Markers.
void applyQuietly(bool apply)
Apply without emitting any signals.
Computes the Levenshtein distance between two sequences.
unsigned int createTable(SequencePair *sequences)
This calculates the levenshtein distance of 2 sequences.
Type type(const QSqlDatabase &db)