summaryrefslogtreecommitdiffstats
path: root/kitchensync/src/singleconflictdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kitchensync/src/singleconflictdialog.cpp')
-rw-r--r--kitchensync/src/singleconflictdialog.cpp14
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 );