-rw-r--r-- | libkdepim/ksyncmanager.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp index 4d859ce..f80c2a6 100644 --- a/libkdepim/ksyncmanager.cpp +++ b/libkdepim/ksyncmanager.cpp | |||
@@ -289,70 +289,72 @@ void KSyncManager::slotSyncMenu( int action ) | |||
289 | quickSyncLocalFile(); | 289 | quickSyncLocalFile(); |
290 | 290 | ||
291 | } else if ( action >= 1003 ) { | 291 | } else if ( action >= 1003 ) { |
292 | if ( temp->getIsLocalFileSync() ) { | 292 | if ( temp->getIsLocalFileSync() ) { |
293 | switch(mTargetApp) | 293 | switch(mTargetApp) |
294 | { | 294 | { |
295 | case (KAPI): | 295 | case (KAPI): |
296 | if ( syncWithFile( temp->getRemoteFileNameAB( ), false ) ) | 296 | if ( syncWithFile( temp->getRemoteFileNameAB( ), false ) ) |
297 | mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNameAB(); | 297 | mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNameAB(); |
298 | break; | 298 | break; |
299 | case (KOPI): | 299 | case (KOPI): |
300 | if ( syncWithFile( temp->getRemoteFileName( ), false ) ) | 300 | if ( syncWithFile( temp->getRemoteFileName( ), false ) ) |
301 | mPrefs->mLastSyncedLocalFile = temp->getRemoteFileName(); | 301 | mPrefs->mLastSyncedLocalFile = temp->getRemoteFileName(); |
302 | break; | 302 | break; |
303 | case (PWMPI): | 303 | case (PWMPI): |
304 | if ( syncWithFile( temp->getRemoteFileNamePWM( ), false ) ) | 304 | if ( syncWithFile( temp->getRemoteFileNamePWM( ), false ) ) |
305 | mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNamePWM(); | 305 | mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNamePWM(); |
306 | break; | 306 | break; |
307 | default: | 307 | default: |
308 | qDebug("KSM::slotSyncMenu: invalid apptype selected"); | 308 | qDebug("KSM::slotSyncMenu: invalid apptype selected"); |
309 | break; | 309 | break; |
310 | 310 | ||
311 | } | 311 | } |
312 | } else { | 312 | } else { |
313 | if ( temp->getIsPhoneSync() ) { | 313 | if ( temp->getIsPhoneSync() ) { |
314 | mPhoneDevice = temp->getPhoneDevice( ) ; | 314 | mPhoneDevice = temp->getPhoneDevice( ) ; |
315 | mPhoneConnection = temp->getPhoneConnection( ); | 315 | mPhoneConnection = temp->getPhoneConnection( ); |
316 | mPhoneModel = temp->getPhoneModel( ); | 316 | mPhoneModel = temp->getPhoneModel( ); |
317 | syncPhone(); | 317 | syncPhone(); |
318 | } else if ( temp->getIsPiSync()|| temp->getIsPiSyncSpec()) { | 318 | } else if ( temp->getIsPiSync()|| temp->getIsPiSyncSpec()) { |
319 | mSpecificResources.clear(); | 319 | mSpecificResources.clear(); |
320 | if ( mTargetApp == KAPI ) { | 320 | if ( mTargetApp == KAPI ) { |
321 | if ( temp->getIsPiSyncSpec() ) | ||
322 | mSpecificResources = QStringList::split( ":", temp->getResSpecKapi(),true ); | ||
321 | mPassWordPiSync = temp->getRemotePwAB(); | 323 | mPassWordPiSync = temp->getRemotePwAB(); |
322 | mActiveSyncPort = temp->getRemotePortAB(); | 324 | mActiveSyncPort = temp->getRemotePortAB(); |
323 | mActiveSyncIP = temp->getRemoteIPAB(); | 325 | mActiveSyncIP = temp->getRemoteIPAB(); |
324 | } else if ( mTargetApp == KOPI ) { | 326 | } else if ( mTargetApp == KOPI ) { |
325 | if ( temp->getIsPiSyncSpec() ) | 327 | if ( temp->getIsPiSyncSpec() ) |
326 | mSpecificResources = QStringList::split( ":", temp->getResSpecKopi(),true ); | 328 | mSpecificResources = QStringList::split( ":", temp->getResSpecKopi(),true ); |
327 | mPassWordPiSync = temp->getRemotePw(); | 329 | mPassWordPiSync = temp->getRemotePw(); |
328 | mActiveSyncPort = temp->getRemotePort(); | 330 | mActiveSyncPort = temp->getRemotePort(); |
329 | mActiveSyncIP = temp->getRemoteIP(); | 331 | mActiveSyncIP = temp->getRemoteIP(); |
330 | } else { | 332 | } else { |
331 | mPassWordPiSync = temp->getRemotePwPWM(); | 333 | mPassWordPiSync = temp->getRemotePwPWM(); |
332 | mActiveSyncPort = temp->getRemotePortPWM(); | 334 | mActiveSyncPort = temp->getRemotePortPWM(); |
333 | mActiveSyncIP = temp->getRemoteIPPWM(); | 335 | mActiveSyncIP = temp->getRemoteIPPWM(); |
334 | } | 336 | } |
335 | syncPi(); | 337 | syncPi(); |
336 | while ( !mPisyncFinished ) { | 338 | while ( !mPisyncFinished ) { |
337 | //qDebug("waiting "); | 339 | //qDebug("waiting "); |
338 | qApp->processEvents(); | 340 | qApp->processEvents(); |
339 | } | 341 | } |
340 | } else | 342 | } else |
341 | syncRemote( temp ); | 343 | syncRemote( temp ); |
342 | 344 | ||
343 | } | 345 | } |
344 | } | 346 | } |
345 | delete temp; | 347 | delete temp; |
346 | setBlockSave(false); | 348 | setBlockSave(false); |
347 | } | 349 | } |
348 | 350 | ||
349 | void KSyncManager::enableQuick( bool ask ) | 351 | void KSyncManager::enableQuick( bool ask ) |
350 | { | 352 | { |
351 | bool autoStart; | 353 | bool autoStart; |
352 | bool changed = false; | 354 | bool changed = false; |
353 | if ( ask ) { | 355 | if ( ask ) { |
354 | QDialog dia ( 0, "input-dialog", true ); | 356 | QDialog dia ( 0, "input-dialog", true ); |
355 | QLineEdit lab ( &dia ); | 357 | QLineEdit lab ( &dia ); |
356 | QVBoxLayout lay( &dia ); | 358 | QVBoxLayout lay( &dia ); |
357 | lab.setText( mPrefs->mPassiveSyncPort ); | 359 | lab.setText( mPrefs->mPassiveSyncPort ); |
358 | lay.setMargin(7); | 360 | lay.setMargin(7); |
@@ -631,69 +633,72 @@ int KSyncManager::ringSync() | |||
631 | #else | 633 | #else |
632 | syncSharp(); | 634 | syncSharp(); |
633 | #endif | 635 | #endif |
634 | } else { | 636 | } else { |
635 | if ( temp->getIsLocalFileSync() ) { | 637 | if ( temp->getIsLocalFileSync() ) { |
636 | switch(mTargetApp) | 638 | switch(mTargetApp) |
637 | { | 639 | { |
638 | case (KAPI): | 640 | case (KAPI): |
639 | if ( syncWithFile( temp->getRemoteFileNameAB( ), false ) ) | 641 | if ( syncWithFile( temp->getRemoteFileNameAB( ), false ) ) |
640 | mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNameAB(); | 642 | mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNameAB(); |
641 | break; | 643 | break; |
642 | case (KOPI): | 644 | case (KOPI): |
643 | if ( syncWithFile( temp->getRemoteFileName( ), false ) ) | 645 | if ( syncWithFile( temp->getRemoteFileName( ), false ) ) |
644 | mPrefs->mLastSyncedLocalFile = temp->getRemoteFileName(); | 646 | mPrefs->mLastSyncedLocalFile = temp->getRemoteFileName(); |
645 | break; | 647 | break; |
646 | case (PWMPI): | 648 | case (PWMPI): |
647 | if ( syncWithFile( temp->getRemoteFileNamePWM( ), false ) ) | 649 | if ( syncWithFile( temp->getRemoteFileNamePWM( ), false ) ) |
648 | mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNamePWM(); | 650 | mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNamePWM(); |
649 | break; | 651 | break; |
650 | default: | 652 | default: |
651 | qDebug("KSM: invalid apptype selected"); | 653 | qDebug("KSM: invalid apptype selected"); |
652 | break; | 654 | break; |
653 | } | 655 | } |
654 | } else { | 656 | } else { |
655 | if ( temp->getIsPhoneSync() ) { | 657 | if ( temp->getIsPhoneSync() ) { |
656 | mPhoneDevice = temp->getPhoneDevice( ) ; | 658 | mPhoneDevice = temp->getPhoneDevice( ) ; |
657 | mPhoneConnection = temp->getPhoneConnection( ); | 659 | mPhoneConnection = temp->getPhoneConnection( ); |
658 | mPhoneModel = temp->getPhoneModel( ); | 660 | mPhoneModel = temp->getPhoneModel( ); |
659 | syncPhone(); | 661 | syncPhone(); |
660 | } else if ( temp->getIsPiSync() || temp->getIsPiSyncSpec()) { | 662 | } else if ( temp->getIsPiSync() || temp->getIsPiSyncSpec()) { |
661 | mSpecificResources.clear(); | 663 | mSpecificResources.clear(); |
662 | if ( mTargetApp == KAPI ) { | 664 | if ( mTargetApp == KAPI ) { |
665 | if ( temp->getIsPiSyncSpec() ) | ||
666 | mSpecificResources = QStringList::split( ":", temp->getResSpecKapi(),true ); | ||
663 | mPassWordPiSync = temp->getRemotePwAB(); | 667 | mPassWordPiSync = temp->getRemotePwAB(); |
664 | mActiveSyncPort = temp->getRemotePortAB(); | 668 | mActiveSyncPort = temp->getRemotePortAB(); |
665 | mActiveSyncIP = temp->getRemoteIPAB(); | 669 | mActiveSyncIP = temp->getRemoteIPAB(); |
666 | } else if ( mTargetApp == KOPI ) { | 670 | } else if ( mTargetApp == KOPI ) { |
667 | mSpecificResources = QStringList::split( ":", temp->getResSpecKopi(),true ); | 671 | if ( temp->getIsPiSyncSpec() ) |
672 | mSpecificResources = QStringList::split( ":", temp->getResSpecKopi(),true ); | ||
668 | mPassWordPiSync = temp->getRemotePw(); | 673 | mPassWordPiSync = temp->getRemotePw(); |
669 | mActiveSyncPort = temp->getRemotePort(); | 674 | mActiveSyncPort = temp->getRemotePort(); |
670 | mActiveSyncIP = temp->getRemoteIP(); | 675 | mActiveSyncIP = temp->getRemoteIP(); |
671 | } else { | 676 | } else { |
672 | mPassWordPiSync = temp->getRemotePwPWM(); | 677 | mPassWordPiSync = temp->getRemotePwPWM(); |
673 | mActiveSyncPort = temp->getRemotePortPWM(); | 678 | mActiveSyncPort = temp->getRemotePortPWM(); |
674 | mActiveSyncIP = temp->getRemoteIPPWM(); | 679 | mActiveSyncIP = temp->getRemoteIPPWM(); |
675 | } | 680 | } |
676 | syncPi(); | 681 | syncPi(); |
677 | while ( !mPisyncFinished ) { | 682 | while ( !mPisyncFinished ) { |
678 | //qDebug("waiting "); | 683 | //qDebug("waiting "); |
679 | qApp->processEvents(); | 684 | qApp->processEvents(); |
680 | } | 685 | } |
681 | timer.start(); | 686 | timer.start(); |
682 | while ( timer.elapsed () < 2000 ) { | 687 | while ( timer.elapsed () < 2000 ) { |
683 | qApp->processEvents(); | 688 | qApp->processEvents(); |
684 | } | 689 | } |
685 | } else | 690 | } else |
686 | syncRemote( temp, false ); | 691 | syncRemote( temp, false ); |
687 | 692 | ||
688 | } | 693 | } |
689 | } | 694 | } |
690 | timer.start(); | 695 | timer.start(); |
691 | mParent->topLevelWidget()->setCaption(i18n("Multiple sync in progress ... please wait!") ); | 696 | mParent->topLevelWidget()->setCaption(i18n("Multiple sync in progress ... please wait!") ); |
692 | while ( timer.elapsed () < 2000 ) { | 697 | while ( timer.elapsed () < 2000 ) { |
693 | qApp->processEvents(); | 698 | qApp->processEvents(); |
694 | #ifndef _WIN32_ | 699 | #ifndef _WIN32_ |
695 | sleep (1); | 700 | sleep (1); |
696 | #endif | 701 | #endif |
697 | } | 702 | } |
698 | 703 | ||
699 | } | 704 | } |
@@ -1139,68 +1144,68 @@ void KSyncManager::syncPi() | |||
1139 | mCurrentResourceLocal = ""; | 1144 | mCurrentResourceLocal = ""; |
1140 | mCurrentResourceRemote = ""; | 1145 | mCurrentResourceRemote = ""; |
1141 | if ( mSpecificResources.count() ) { | 1146 | if ( mSpecificResources.count() ) { |
1142 | uint lastSyncRes = mSpecificResources.count()/2; | 1147 | uint lastSyncRes = mSpecificResources.count()/2; |
1143 | int ccc = mSpecificResources.count()-1; | 1148 | int ccc = mSpecificResources.count()-1; |
1144 | while ( lastSyncRes > 0 && ccc > 0 && mSpecificResources[ ccc ].isEmpty() ) { | 1149 | while ( lastSyncRes > 0 && ccc > 0 && mSpecificResources[ ccc ].isEmpty() ) { |
1145 | --ccc; | 1150 | --ccc; |
1146 | --lastSyncRes; | 1151 | --lastSyncRes; |
1147 | //qDebug ( "KSM: sync pi %d",ccc ); | 1152 | //qDebug ( "KSM: sync pi %d",ccc ); |
1148 | } | 1153 | } |
1149 | uint startLocal = 0; | 1154 | uint startLocal = 0; |
1150 | uint startRemote = mSpecificResources.count()/2; | 1155 | uint startRemote = mSpecificResources.count()/2; |
1151 | emit multiResourceSyncStart( true ); | 1156 | emit multiResourceSyncStart( true ); |
1152 | while ( startLocal < mSpecificResources.count()/2 ) { | 1157 | while ( startLocal < mSpecificResources.count()/2 ) { |
1153 | if ( startLocal+1 >= lastSyncRes ) | 1158 | if ( startLocal+1 >= lastSyncRes ) |
1154 | emit multiResourceSyncStart( false ); | 1159 | emit multiResourceSyncStart( false ); |
1155 | mPisyncFinished = false; | 1160 | mPisyncFinished = false; |
1156 | mCurrentResourceLocal = mSpecificResources[ startLocal ]; | 1161 | mCurrentResourceLocal = mSpecificResources[ startLocal ]; |
1157 | mCurrentResourceRemote = mSpecificResources[ startRemote ]; | 1162 | mCurrentResourceRemote = mSpecificResources[ startRemote ]; |
1158 | //qDebug ( "KSM: AAASyncing resources: Local: %s --- Remote: %s ",mCurrentResourceLocal.latin1(), mCurrentResourceRemote.latin1() ); | 1163 | //qDebug ( "KSM: AAASyncing resources: Local: %s --- Remote: %s ",mCurrentResourceLocal.latin1(), mCurrentResourceRemote.latin1() ); |
1159 | if ( !mCurrentResourceRemote.isEmpty() ) { | 1164 | if ( !mCurrentResourceRemote.isEmpty() ) { |
1160 | qDebug ( "KSM: Syncing resources: Local: %s --- Remote: %s ",mCurrentResourceLocal.latin1(), mCurrentResourceRemote.latin1() ); | 1165 | qDebug ( "KSM: Syncing resources: Local: %s --- Remote: %s ",mCurrentResourceLocal.latin1(), mCurrentResourceRemote.latin1() ); |
1161 | 1166 | ||
1162 | KCommandSocket* commandSocket = new KCommandSocket( mCurrentResourceRemote, mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() ); | 1167 | KCommandSocket* commandSocket = new KCommandSocket( mCurrentResourceRemote, mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() ); |
1163 | connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); | 1168 | connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); |
1164 | commandSocket->readFile( syncFileName() ); | 1169 | commandSocket->readFile( syncFileName() ); |
1165 | mParent->topLevelWidget()->setCaption( i18n("Syncing %1 <-> %2").arg( mCurrentResourceLocal ).arg( mCurrentResourceRemote ) ); | 1170 | mParent->topLevelWidget()->setCaption( i18n("Syncing %1 <-> %2").arg( mCurrentResourceLocal ).arg( mCurrentResourceRemote ) ); |
1166 | while ( !mPisyncFinished ) { | 1171 | while ( !mPisyncFinished ) { |
1167 | //qDebug("waiting "); | 1172 | //qDebug("waiting "); |
1168 | qApp->processEvents(); | 1173 | qApp->processEvents(); |
1169 | } | 1174 | } |
1170 | if ( startLocal+1 < mSpecificResources.count()/2 ) { | 1175 | if ( startLocal+1 < mSpecificResources.count()/2 ) { |
1171 | mParent->topLevelWidget()->setCaption( i18n("Waiting 2 secs before syncing next resource...") ); | 1176 | mParent->topLevelWidget()->setCaption( i18n("Waiting a second before syncing next resource...") ); |
1172 | QTime timer; | 1177 | QTime timer; |
1173 | timer.start(); | 1178 | timer.start(); |
1174 | while ( timer.elapsed () < 2000 ) { | 1179 | while ( timer.elapsed () < 1000 ) { |
1175 | qApp->processEvents(); | 1180 | qApp->processEvents(); |
1176 | } | 1181 | } |
1177 | } | 1182 | } |
1178 | } | 1183 | } |
1179 | ++startRemote; | 1184 | ++startRemote; |
1180 | ++startLocal; | 1185 | ++startLocal; |
1181 | mAskForPreferences = false; | 1186 | mAskForPreferences = false; |
1182 | } | 1187 | } |
1183 | mPisyncFinished = true; | 1188 | mPisyncFinished = true; |
1184 | } else { | 1189 | } else { |
1185 | KCommandSocket* commandSocket = new KCommandSocket( "", mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() ); | 1190 | KCommandSocket* commandSocket = new KCommandSocket( "", mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() ); |
1186 | connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); | 1191 | connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); |
1187 | commandSocket->readFile( syncFileName() ); | 1192 | commandSocket->readFile( syncFileName() ); |
1188 | } | 1193 | } |
1189 | } | 1194 | } |
1190 | 1195 | ||
1191 | void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state) | 1196 | void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state) |
1192 | { | 1197 | { |
1193 | //enum { success, errorW, errorR, quiet }; | 1198 | //enum { success, errorW, errorR, quiet }; |
1194 | 1199 | ||
1195 | 1200 | ||
1196 | 1201 | ||
1197 | if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ||state == KCommandSocket::errorPW || | 1202 | if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ||state == KCommandSocket::errorPW || |
1198 | state == KCommandSocket::errorCA ||state == KCommandSocket::errorFI ||state == KCommandSocket::errorUN||state == KCommandSocket::errorED ) { | 1203 | state == KCommandSocket::errorCA ||state == KCommandSocket::errorFI ||state == KCommandSocket::errorUN||state == KCommandSocket::errorED ) { |
1199 | if ( state == KCommandSocket::errorPW ) | 1204 | if ( state == KCommandSocket::errorPW ) |
1200 | mParent->topLevelWidget()->setCaption( i18n("Wrong password: Receiving remote file failed.") ); | 1205 | mParent->topLevelWidget()->setCaption( i18n("Wrong password: Receiving remote file failed.") ); |
1201 | else if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ) | 1206 | else if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ) |
1202 | mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") ); | 1207 | mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") ); |
1203 | else if ( state == KCommandSocket::errorCA ) | 1208 | else if ( state == KCommandSocket::errorCA ) |
1204 | mParent->topLevelWidget()->setCaption( i18n("Sync cancelled from remote.") ); | 1209 | mParent->topLevelWidget()->setCaption( i18n("Sync cancelled from remote.") ); |
1205 | else if ( state == KCommandSocket::errorFI ) | 1210 | else if ( state == KCommandSocket::errorFI ) |
1206 | mParent->topLevelWidget()->setCaption( i18n("File error on remote.") ); | 1211 | mParent->topLevelWidget()->setCaption( i18n("File error on remote.") ); |