-rw-r--r-- | libkdepim/ksyncmanager.cpp | 15 | ||||
-rw-r--r-- | libkdepim/ksyncprefsdialog.cpp | 18 | ||||
-rw-r--r-- | libkdepim/ksyncprofile.cpp | 2 |
3 files changed, 24 insertions, 11 deletions
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp index 719d80b..61a9899 100644 --- a/libkdepim/ksyncmanager.cpp +++ b/libkdepim/ksyncmanager.cpp @@ -324,5 +324,5 @@ void KSyncManager::slotSyncMenu( int action ) } else if ( mTargetApp == KOPI ) { if ( temp->getIsPiSyncSpec() ) - mSpecificResources = QStringList::split( ":", temp->getResSpecKopi() ); + mSpecificResources = QStringList::split( ":", temp->getResSpecKopi(),true ); mPassWordPiSync = temp->getRemotePw(); mActiveSyncPort = temp->getRemotePort(); @@ -666,5 +666,5 @@ int KSyncManager::ringSync() mActiveSyncIP = temp->getRemoteIPAB(); } else if ( mTargetApp == KOPI ) { - mSpecificResources = QStringList::split( ":", temp->getResSpecKopi() ); + mSpecificResources = QStringList::split( ":", temp->getResSpecKopi(),true ); mPassWordPiSync = temp->getRemotePw(); mActiveSyncPort = temp->getRemotePort(); @@ -1142,13 +1142,21 @@ void KSyncManager::syncPi() mCurrentResourceRemote = ""; if ( mSpecificResources.count() ) { + int lastSyncRes = mSpecificResources.count()/2; + int ccc = mSpecificResources.count()-1; + while ( lastSyncRes > 0 && ccc > 0 && mSpecificResources[ ccc ].isEmpty() ) { + --ccc; + --lastSyncRes; + } int startLocal = 0; int startRemote = mSpecificResources.count()/2; emit multiResourceSyncStart( true ); while ( startLocal < mSpecificResources.count()/2 ) { - if ( startLocal+1 >= mSpecificResources.count()/2 ) + if ( startLocal+1 >= lastSyncRes ) emit multiResourceSyncStart( false ); mPisyncFinished = false; mCurrentResourceLocal = mSpecificResources[ startLocal ]; mCurrentResourceRemote = mSpecificResources[ startRemote ]; + if ( !mCurrentResourceRemote.isEmpty() ) { + qDebug ( "KSM: Syncing resources: Local: %s --- Remote: %s ",mCurrentResourceLocal.latin1(), mCurrentResourceRemote.latin1() ); KCommandSocket* commandSocket = new KCommandSocket( mCurrentResourceRemote, mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() ); connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); @@ -1158,4 +1166,5 @@ void KSyncManager::syncPi() qApp->processEvents(); } + } ++startLocal; } diff --git a/libkdepim/ksyncprefsdialog.cpp b/libkdepim/ksyncprefsdialog.cpp index 27f7932..744a914 100644 --- a/libkdepim/ksyncprefsdialog.cpp +++ b/libkdepim/ksyncprefsdialog.cpp @@ -592,12 +592,14 @@ void KSyncPrefsDialog::profileChanged( int item ) - QStringList res = QStringList::split( ":",prof->getResSpecKopi()); - int i= res.count()/2; - for ( ;i < res.count(); ++i ) { - mResTableKopi->setText( i, 0, res[i] ); - } - res = QStringList::split( ":",prof->getResSpecKapi()); - for ( i = 0;i < res.count(); ++i ) { - mResTableKapi->setText( i, 0, res[i] ); + QStringList res = QStringList::split( ":",prof->getResSpecKopi(), true ); + int add = res.count()/2; + int i; + for ( i = 0;i < add ; ++i ) { + mResTableKopi->setText( i, 0, res[i+add] ); + } + res = QStringList::split( ":",prof->getResSpecKapi(), true); + add = res.count()/2; + for ( i = 0;i < add; ++i ) { + mResTableKapi->setText( i, 0, res[i+add] ); } mIsNotLocal->setChecked(!prof->getIsLocalFileSync() && !prof->getIsPhoneSync() &&!prof->getIsPiSync() &&!prof->getIsPiSyncSpec()); diff --git a/libkdepim/ksyncprofile.cpp b/libkdepim/ksyncprofile.cpp index d6620c8..b0d3efc 100644 --- a/libkdepim/ksyncprofile.cpp +++ b/libkdepim/ksyncprofile.cpp @@ -143,4 +143,6 @@ void KSyncProfile::setDefault() mFilterInAB = "no filter"; mFilterOutAB = "no filter"; + mResSpecKopi = ""; + mResSpecKapi = ""; } void KSyncProfile::readConfig(KConfig *config ) |