author | zautrix <zautrix> | 2005-11-25 18:35:16 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-11-25 18:35:16 (UTC) |
commit | 231e6f8215bbc4f7e301965f8f3c650e44586ec9 (patch) (side-by-side diff) | |
tree | 4c221ec7ac9909b5f0d192c68558739b4dcc1f48 | |
parent | 279e183c0325cd9565605f60af0215bb9bfdc825 (diff) | |
download | kdepimpi-231e6f8215bbc4f7e301965f8f3c650e44586ec9.zip kdepimpi-231e6f8215bbc4f7e301965f8f3c650e44586ec9.tar.gz kdepimpi-231e6f8215bbc4f7e301965f8f3c650e44586ec9.tar.bz2 |
sync
-rw-r--r-- | libkdepim/ksyncmanager.cpp | 27 | ||||
-rw-r--r-- | libkdepim/ksyncprefsdialog.cpp | 16 | ||||
-rw-r--r-- | libkdepim/ksyncprofile.cpp | 2 |
3 files changed, 29 insertions, 16 deletions
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp index 719d80b..61a9899 100644 --- a/libkdepim/ksyncmanager.cpp +++ b/libkdepim/ksyncmanager.cpp @@ -314,25 +314,25 @@ void KSyncManager::slotSyncMenu( int action ) mPhoneDevice = temp->getPhoneDevice( ) ; mPhoneConnection = temp->getPhoneConnection( ); mPhoneModel = temp->getPhoneModel( ); syncPhone(); } else if ( temp->getIsPiSync()|| temp->getIsPiSyncSpec()) { mSpecificResources.clear(); if ( mTargetApp == KAPI ) { mPassWordPiSync = temp->getRemotePwAB(); mActiveSyncPort = temp->getRemotePortAB(); mActiveSyncIP = temp->getRemoteIPAB(); } else if ( mTargetApp == KOPI ) { if ( temp->getIsPiSyncSpec() ) - mSpecificResources = QStringList::split( ":", temp->getResSpecKopi() ); + mSpecificResources = QStringList::split( ":", temp->getResSpecKopi(),true ); mPassWordPiSync = temp->getRemotePw(); mActiveSyncPort = temp->getRemotePort(); mActiveSyncIP = temp->getRemoteIP(); } else { mPassWordPiSync = temp->getRemotePwPWM(); mActiveSyncPort = temp->getRemotePortPWM(); mActiveSyncIP = temp->getRemoteIPPWM(); } syncPi(); while ( !mPisyncFinished ) { //qDebug("waiting "); qApp->processEvents(); @@ -656,25 +656,25 @@ int KSyncManager::ringSync() if ( temp->getIsPhoneSync() ) { mPhoneDevice = temp->getPhoneDevice( ) ; mPhoneConnection = temp->getPhoneConnection( ); mPhoneModel = temp->getPhoneModel( ); syncPhone(); } else if ( temp->getIsPiSync() || temp->getIsPiSyncSpec()) { mSpecificResources.clear(); if ( mTargetApp == KAPI ) { mPassWordPiSync = temp->getRemotePwAB(); mActiveSyncPort = temp->getRemotePortAB(); mActiveSyncIP = temp->getRemoteIPAB(); } else if ( mTargetApp == KOPI ) { - mSpecificResources = QStringList::split( ":", temp->getResSpecKopi() ); + mSpecificResources = QStringList::split( ":", temp->getResSpecKopi(),true ); mPassWordPiSync = temp->getRemotePw(); mActiveSyncPort = temp->getRemotePort(); mActiveSyncIP = temp->getRemoteIP(); } else { mPassWordPiSync = temp->getRemotePwPWM(); mActiveSyncPort = temp->getRemotePortPWM(); mActiveSyncIP = temp->getRemoteIPPWM(); } syncPi(); while ( !mPisyncFinished ) { //qDebug("waiting "); qApp->processEvents(); @@ -1132,39 +1132,48 @@ void KSyncManager::syncPi() return; } bool ok; Q_UINT16 port = mActiveSyncPort.toUInt(&ok); if ( ! ok ) { mParent->topLevelWidget()->setCaption( i18n("Sorry, no valid port.Syncing cancelled.") ); mPisyncFinished = true; return; } mCurrentResourceLocal = ""; 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 ]; - KCommandSocket* commandSocket = new KCommandSocket( mCurrentResourceRemote, mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() ); - connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); - commandSocket->readFile( syncFileName() ); - while ( !mPisyncFinished ) { - //qDebug("waiting "); - qApp->processEvents(); + 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)) ); + commandSocket->readFile( syncFileName() ); + while ( !mPisyncFinished ) { + //qDebug("waiting "); + qApp->processEvents(); + } } ++startLocal; } } else { KCommandSocket* commandSocket = new KCommandSocket( "", mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() ); connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); commandSocket->readFile( syncFileName() ); } } void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state) { diff --git a/libkdepim/ksyncprefsdialog.cpp b/libkdepim/ksyncprefsdialog.cpp index 27f7932..744a914 100644 --- a/libkdepim/ksyncprefsdialog.cpp +++ b/libkdepim/ksyncprefsdialog.cpp @@ -582,32 +582,34 @@ void KSyncPrefsDialog::profileChanged( int item ) break; default: break; } mIsLocal->setChecked(prof->getIsLocalFileSync()) ; mIsPhone->setChecked(prof->getIsPhoneSync()) ; mIsPi->setChecked(prof->getIsPiSync()) ; mIsPiSpecific->setChecked(prof->getIsPiSyncSpec()) ; mIsKapiFileL->setChecked(prof->getIsKapiFile()) ; mIsKapiFileR->setChecked(prof->getIsKapiFile()) ; - QStringList res = QStringList::split( ":",prof->getResSpecKopi()); - int i= res.count()/2; - for ( ;i < res.count(); ++i ) { - mResTableKopi->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()); - for ( i = 0;i < res.count(); ++i ) { - mResTableKapi->setText( i, 0, res[i] ); + 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()); proGr->setEnabled( item > 2 ); if ( item < 3 ) { localFileWidget->hide(); remoteFileWidget->hide(); phoneWidget->hide(); piWidget->hide(); } else kindChanged( prof->getIsLocalFileSync() ); } diff --git a/libkdepim/ksyncprofile.cpp b/libkdepim/ksyncprofile.cpp index d6620c8..b0d3efc 100644 --- a/libkdepim/ksyncprofile.cpp +++ b/libkdepim/ksyncprofile.cpp @@ -133,24 +133,26 @@ void KSyncProfile::setDefault() mIsPhoneSync = false; mIsPiSync = false; mIsPiSyncSpec = false; mIsKapiFile = false; mWriteContactToSIM = false; mPhoneDevice = "/dev/ircomm"; mPhoneConnection = "irda"; mPhoneModel = "6310i"; mFilterInCal = "no filter"; mFilterOutCal = "no filter"; mFilterInAB = "no filter"; mFilterOutAB = "no filter"; + mResSpecKopi = ""; + mResSpecKapi = ""; } void KSyncProfile::readConfig(KConfig *config ) { if (config) { config->setGroup( mName ); mName = config->readEntry( "Name", mName ); mRemotePw = config->readEntry( "RemotePw",mRemotePw ); mRemoteIP = config->readEntry( "RemoteIP",mRemoteIP ); |