22 #include <tqstringlist.h>
24 #include <tdelocale.h>
26 #include "genericdiffalgo.h"
28 using namespace KSync;
30 #define MAX( a, b ) ( a > b ? a : b )
35 static bool compareString( const TQString &left, const TQString &right )
37 if ( left.isEmpty() && right.isEmpty() )
44 GenericDiffAlgo::GenericDiffAlgo( const TQString &leftData, const TQString &rightData )
45 : mLeftData( leftData ), mRightData( rightData )
49 void GenericDiffAlgo::run()
53 TQStringList leftList = TQStringList::split( '\n', mLeftData, true );
54 TQStringList rightList = TQStringList::split( '\n', mRightData, true );
56 uint lines = MAX( leftList.count(), rightList.count() );
57 for ( uint i = 0; i < lines; ++i ) {
58 if ( i < leftList.count() && i < rightList.count() ) {
59 if ( !compareString( leftList[ i ], rightList[ i ] ) )
60 conflictField( i18n( "Line %1" ).arg( i ), leftList[ i ], rightList[ i ] );
61 } else if ( i < leftList.count() && i >= rightList.count() ) {
62 additionalLeftField( i18n( "Line %1" ).arg( i ), leftList[ i ] );
63 } else if ( i >= leftList.count() && i < rightList.count() ) {
64 additionalRightField( i18n( "Line %1" ).arg( i ), rightList[ i ] );
|