-rw-r--r-- | libkdepim/ksyncmanager.cpp | 82 |
1 files changed, 58 insertions, 24 deletions
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp index 184cb39..85a2aeb 100644 --- a/libkdepim/ksyncmanager.cpp +++ b/libkdepim/ksyncmanager.cpp @@ -908,52 +908,86 @@ void KSyncManager::syncKDE() { case (KAPI): { #ifdef DESKTOP_VERSION - QString command = qApp->applicationDirPath () + "/kdeabdump"; + QString command = "kdeabdump33"; + QString commandfile = "kdeabdump33"; + QString commandpath = qApp->applicationDirPath () + "/"; #else - QString command = "kdeabdump"; + QString command = "kdeabdump33"; + QString commandfile = "kdeabdump33"; + QString commandpath = QDir::homeDirPath ()+"/"; #endif - if ( ! QFile::exists ( command ) ) - command = "kdeabdump"; + if ( ! QFile::exists ( commandpath+commandfile ) ) + command = commandfile; + else + command = commandpath+commandfile; + QString fileName = QDir::homeDirPath ()+"/.kdeaddressbookdump.vcf"; int result = system ( command.latin1()); - qDebug("AB dump command call result: %d ", result); + qDebug("AB dump 33 command call result: %d ", result); if ( result != 0 ) { - KMessageBox::error( 0, i18n("Error accessing KDE addressbook data.\nMake sure the file\n/opt/kdepimpi/kdeabdump\nexists.The standard version of this file\nis for syncing with KDE 3.4.x.\nIf you are running KDE 3.3.x please\ndownload the KDE 3.3.x version of this file\nat http://sourceforge.net/projects/kdepimpi/\nsection: general files for KDE/Pim.")); - return; + qDebug("Calling AB dump version 33 failed. Trying 34... "); + commandfile = "kdeabdump34"; + if ( ! QFile::exists ( commandpath+commandfile ) ) + command = commandfile; + else + command = commandpath+commandfile; + result = system ( command.latin1()); + qDebug("AB dump 34 command call result: %d ", result); + if ( result != 0 ) { + KMessageBox::error( 0, i18n("Error accessing KDE addressbook data.\nMake sure the file\n%1kdeabdump3x\nexists ( x = 3 or 4 ).\nSupported KDE versions are 3.3 and 3.4.\nUsed version should be auto detected.\n").arg( commandpath )); + return; + } } - if ( syncWithFile( fileName,true ) ) { - if ( mWriteBackFile ) { - command += " --read"; - system ( command.latin1()); - } + if ( syncWithFile( fileName,true ) ) { + if ( mWriteBackFile ) { + command += " --read"; + system ( command.latin1()); } + } } break; case (KOPI): { #ifdef DESKTOP_VERSION - QString command = qApp->applicationDirPath () + "/kdecaldump"; + QString command = "kdecaldump33"; + QString commandfile = "kdecaldump33"; + QString commandpath = qApp->applicationDirPath () + "/"; #else - QString command = "kdecaldump"; + QString command = "kdecaldump33"; + QString commandfile = "kdecaldump33"; + QString commandpath = QDir::homeDirPath ()+"/"; #endif - if ( ! QFile::exists ( command ) ) - command = "kdecaldump"; + if ( ! QFile::exists ( commandpath+commandfile ) ) + command = commandfile; + else + command = commandpath+commandfile; + QString fileName = QDir::homeDirPath ()+"/.kdecalendardump.ics"; int result = system ( command.latin1()); - qDebug("Cal dump command call result result: %d ", result); + qDebug("Cal dump 33 command call result result: %d ", result); if ( result != 0 ) { - KMessageBox::error( 0, i18n("Error accessing KDE calendar data.\nMake sure the file\n/opt/kdepimpi/kdecaldump\nexists.The standard version of this file\nis for syncing with KDE 3.4.x.\nIf you are running KDE 3.3.x please\ndownload the KDE 3.3.x version of this file\nat http://sourceforge.net/projects/kdepimpi/\nsection: general files for KDE/Pim.")); - return; + qDebug("Calling CAL dump version 33 failed. Trying 34... "); + commandfile = "kdecaldump34"; + if ( ! QFile::exists ( commandpath+commandfile ) ) + command = commandfile; + else + command = commandpath+commandfile; + result = system ( command.latin1()); + qDebug("Cal dump 34 command call result result: %d ", result); + if ( result != 0 ) { + KMessageBox::error( 0, i18n("Error accessing KDE calendar data.\nMake sure the file\n%1kdecaldump3x\nexists ( x = 3 or 4 ).\nSupported KDE versions are 3.3 and 3.4.\nUsed version should be auto detected.\n").arg( commandpath )); + return; + } } - if ( syncWithFile( fileName,true ) ) { - if ( mWriteBackFile ) { - command += " --read"; - system ( command.latin1()); - } + if ( syncWithFile( fileName,true ) ) { + if ( mWriteBackFile ) { + command += " --read"; + system ( command.latin1()); } + } } break; case (PWMPI): |