diff options
Diffstat (limited to 'kitchensync/src/singleconflictdialog.cpp')
-rw-r--r-- | kitchensync/src/singleconflictdialog.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/kitchensync/src/singleconflictdialog.cpp b/kitchensync/src/singleconflictdialog.cpp index 8975b6f98..121ec50cb 100644 --- a/kitchensync/src/singleconflictdialog.cpp +++ b/kitchensync/src/singleconflictdialog.cpp @@ -27,6 +27,7 @@ #include "addresseediffalgo.h" #include "genericdiffalgo.h" +#include "xmldiffalgo.h" #include "htmldiffalgodisplay.h" #include "memberinfo.h" @@ -43,16 +44,22 @@ SingleConflictDialog::SingleConflictDialog( QSync::SyncMapping &mapping, TQWidge if ( format == "file" ) { mDiffAlgo = new KSync::GenericDiffAlgo( leftChange.data(), rightChange.data() ); - } else if ( format == "vcard" ) { - } else if ( format == "calendar" ) { - } else if ( format == "xml-contact" ) { + } else if ( format == "vcard21" || format == "vcard30" ) { mDiffAlgo = new KSync::AddresseeDiffAlgo( leftChange.data(), rightChange.data() ); + } else if ( format == "calendar" ) { + } else if ( format == "xmlformat-contact" || format == "xmlformat-note" + || format == "xmlformat-event" || format == "xmlformat-todo") { + mDiffAlgo = new KSync::XmlDiffAlgo( leftChange.data(), rightChange.data() ); } +// TODO: SyncChange doesn't have member as struct member anymore ... +// Use SyncMapping to determine the member .. see msynctool for example implementation of conlicthandler +#if 0 MemberInfo miLeft( leftChange.member() ); mDiffAlgoDisplay->setLeftSourceTitle( miLeft.name() ); MemberInfo miRight( rightChange.member() ); mDiffAlgoDisplay->setRightSourceTitle( miRight.name() ); +#endif if ( mDiffAlgo ) { mDiffAlgo->addDisplay( mDiffAlgoDisplay ); @@ -99,6 +106,7 @@ void SingleConflictDialog::initGUI() TQGridLayout *layout = new TQGridLayout( this, 3, 4, KDialog::marginHint(), KDialog::spacingHint() ); layout->addMultiCellWidget( new TQLabel( i18n( "A conflict has appeared, please solve it manually." ), this ), 0, 0, 0, 3 ); + mDiffAlgoDisplay = new KSync::HTMLDiffAlgoDisplay( this ); layout->addMultiCellWidget( mDiffAlgoDisplay, 1, 1, 0, 3 ); |