summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libkdepim/ksyncmanager.cpp22
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()
{