-rw-r--r-- | libkdepim/ksyncmanager.cpp | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp index 75c0b2b..7ca3ee0 100644 --- a/libkdepim/ksyncmanager.cpp +++ b/libkdepim/ksyncmanager.cpp @@ -270,12 +270,13 @@ void KSyncManager::slotSyncMenu( int action ) setBlockSave(false); } void KSyncManager::enableQuick( bool ask ) { bool autoStart; + bool changed = false; if ( ask ) { QDialog dia ( 0, "input-dialog", true ); QLineEdit lab ( &dia ); QVBoxLayout lay( &dia ); lab.setText( mPrefs->mPassiveSyncPort ); lay.setMargin(7); @@ -313,19 +314,30 @@ void KSyncManager::enableQuick( bool ask ) connect(&pb, SIGNAL( clicked() ), &dia, SLOT ( accept() ) ); dia.show(); if ( ! dia.exec() ) return; dia.hide(); qApp->processEvents(); - mPrefs->mPassiveSyncPw = lepw.text(); - mPrefs->mPassiveSyncPort = lab.text(); + if ( mPrefs->mPassiveSyncPw != lepw.text() ) { + changed = true; + mPrefs->mPassiveSyncPw = lepw.text(); + } + if ( mPrefs->mPassiveSyncPort != lab.text() ) { + mPrefs->mPassiveSyncPort = lab.text(); + changed = true; + } autoStart = autostart.isChecked(); - mPrefs->mPassiveSyncWithDesktop = syncdesktop.isChecked(); + if (mPrefs->mPassiveSyncWithDesktop != syncdesktop.isChecked() ) { + changed = true; + mPrefs->mPassiveSyncWithDesktop = syncdesktop.isChecked(); + } } else autoStart = mPrefs->mPassiveSyncAutoStart; + if ( autoStart != mPrefs->mPassiveSyncAutoStart ) + changed = true; bool ok; mPrefs->mPassiveSyncAutoStart = false; Q_UINT16 port = mPrefs->mPassiveSyncPort.toUInt(&ok); if ( ! ok ) { KMessageBox::information( 0, i18n("No valid port")); return; @@ -337,14 +349,16 @@ void KSyncManager::enableQuick( bool ask ) if ( !mServerSocket->ok() ) { KMessageBox::information( 0, i18n("Failed to bind or\nlisten to the port!")); delete mServerSocket; mServerSocket = 0; return; } - mPrefs->mPassiveSyncAutoStart = autoStart; + if ( changed ) { + mPrefs->writeConfig(); + } connect( mServerSocket, SIGNAL ( request_file() ),this, SIGNAL ( request_file() ) ); connect( mServerSocket, SIGNAL ( file_received( bool ) ), this, SIGNAL ( getFile( bool ) ) ); } void KSyncManager::syncLocalFile() { |