-rw-r--r-- | libkdepim/ksyncmanager.cpp | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp index 719d80b..61a9899 100644 --- a/libkdepim/ksyncmanager.cpp +++ b/libkdepim/ksyncmanager.cpp | |||
@@ -322,9 +322,9 @@ void KSyncManager::slotSyncMenu( int action ) | |||
322 | mActiveSyncPort = temp->getRemotePortAB(); | 322 | mActiveSyncPort = temp->getRemotePortAB(); |
323 | mActiveSyncIP = temp->getRemoteIPAB(); | 323 | mActiveSyncIP = temp->getRemoteIPAB(); |
324 | } else if ( mTargetApp == KOPI ) { | 324 | } else if ( mTargetApp == KOPI ) { |
325 | if ( temp->getIsPiSyncSpec() ) | 325 | if ( temp->getIsPiSyncSpec() ) |
326 | mSpecificResources = QStringList::split( ":", temp->getResSpecKopi() ); | 326 | mSpecificResources = QStringList::split( ":", temp->getResSpecKopi(),true ); |
327 | mPassWordPiSync = temp->getRemotePw(); | 327 | mPassWordPiSync = temp->getRemotePw(); |
328 | mActiveSyncPort = temp->getRemotePort(); | 328 | mActiveSyncPort = temp->getRemotePort(); |
329 | mActiveSyncIP = temp->getRemoteIP(); | 329 | mActiveSyncIP = temp->getRemoteIP(); |
330 | } else { | 330 | } else { |
@@ -664,9 +664,9 @@ int KSyncManager::ringSync() | |||
664 | mPassWordPiSync = temp->getRemotePwAB(); | 664 | mPassWordPiSync = temp->getRemotePwAB(); |
665 | mActiveSyncPort = temp->getRemotePortAB(); | 665 | mActiveSyncPort = temp->getRemotePortAB(); |
666 | mActiveSyncIP = temp->getRemoteIPAB(); | 666 | mActiveSyncIP = temp->getRemoteIPAB(); |
667 | } else if ( mTargetApp == KOPI ) { | 667 | } else if ( mTargetApp == KOPI ) { |
668 | mSpecificResources = QStringList::split( ":", temp->getResSpecKopi() ); | 668 | mSpecificResources = QStringList::split( ":", temp->getResSpecKopi(),true ); |
669 | mPassWordPiSync = temp->getRemotePw(); | 669 | mPassWordPiSync = temp->getRemotePw(); |
670 | mActiveSyncPort = temp->getRemotePort(); | 670 | mActiveSyncPort = temp->getRemotePort(); |
671 | mActiveSyncIP = temp->getRemoteIP(); | 671 | mActiveSyncIP = temp->getRemoteIP(); |
672 | } else { | 672 | } else { |
@@ -1140,23 +1140,32 @@ void KSyncManager::syncPi() | |||
1140 | } | 1140 | } |
1141 | mCurrentResourceLocal = ""; | 1141 | mCurrentResourceLocal = ""; |
1142 | mCurrentResourceRemote = ""; | 1142 | mCurrentResourceRemote = ""; |
1143 | if ( mSpecificResources.count() ) { | 1143 | if ( mSpecificResources.count() ) { |
1144 | int lastSyncRes = mSpecificResources.count()/2; | ||
1145 | int ccc = mSpecificResources.count()-1; | ||
1146 | while ( lastSyncRes > 0 && ccc > 0 && mSpecificResources[ ccc ].isEmpty() ) { | ||
1147 | --ccc; | ||
1148 | --lastSyncRes; | ||
1149 | } | ||
1144 | int startLocal = 0; | 1150 | int startLocal = 0; |
1145 | int startRemote = mSpecificResources.count()/2; | 1151 | int startRemote = mSpecificResources.count()/2; |
1146 | emit multiResourceSyncStart( true ); | 1152 | emit multiResourceSyncStart( true ); |
1147 | while ( startLocal < mSpecificResources.count()/2 ) { | 1153 | while ( startLocal < mSpecificResources.count()/2 ) { |
1148 | if ( startLocal+1 >= mSpecificResources.count()/2 ) | 1154 | if ( startLocal+1 >= lastSyncRes ) |
1149 | emit multiResourceSyncStart( false ); | 1155 | emit multiResourceSyncStart( false ); |
1150 | mPisyncFinished = false; | 1156 | mPisyncFinished = false; |
1151 | mCurrentResourceLocal = mSpecificResources[ startLocal ]; | 1157 | mCurrentResourceLocal = mSpecificResources[ startLocal ]; |
1152 | mCurrentResourceRemote = mSpecificResources[ startRemote ]; | 1158 | mCurrentResourceRemote = mSpecificResources[ startRemote ]; |
1153 | KCommandSocket* commandSocket = new KCommandSocket( mCurrentResourceRemote, mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() ); | 1159 | if ( !mCurrentResourceRemote.isEmpty() ) { |
1154 | connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); | 1160 | qDebug ( "KSM: Syncing resources: Local: %s --- Remote: %s ",mCurrentResourceLocal.latin1(), mCurrentResourceRemote.latin1() ); |
1155 | commandSocket->readFile( syncFileName() ); | 1161 | KCommandSocket* commandSocket = new KCommandSocket( mCurrentResourceRemote, mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() ); |
1156 | while ( !mPisyncFinished ) { | 1162 | connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); |
1157 | //qDebug("waiting "); | 1163 | commandSocket->readFile( syncFileName() ); |
1158 | qApp->processEvents(); | 1164 | while ( !mPisyncFinished ) { |
1165 | //qDebug("waiting "); | ||
1166 | qApp->processEvents(); | ||
1167 | } | ||
1159 | } | 1168 | } |
1160 | ++startLocal; | 1169 | ++startLocal; |
1161 | } | 1170 | } |
1162 | } else { | 1171 | } else { |