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 ] );
|