-rw-r--r-- | bin/kdepim/korganizer/howtoSYNC.txt | 19 | ||||
-rw-r--r-- | libkdepim/ksyncmanager.cpp | 58 | ||||
-rw-r--r-- | libkdepim/ksyncmanager.h | 1 |
3 files changed, 64 insertions, 14 deletions
diff --git a/bin/kdepim/korganizer/howtoSYNC.txt b/bin/kdepim/korganizer/howtoSYNC.txt index d3046de..c4e80f5 100644 --- a/bin/kdepim/korganizer/howtoSYNC.txt +++ b/bin/kdepim/korganizer/howtoSYNC.txt @@ -116,5 +116,10 @@ c) Include in multiple sync: After that sync, on all devices should be the same data. d) Ask for preferences before sync: - Check this to be asked for sync settings before each sync. + Check this to be asked for sync preferences settings before each sync. + If the profile kind is "Pi-Sync" you will be asked to confirm + the "Pi-Sync" specific settings (Password,IP address, port number) + as well. That makes it possible to use that profile for a + device that is connected via DHCP to the network and gets different + IP addresses when connection to the network. e) Sync preferences: Choose here your sync preferences. @@ -267,5 +272,15 @@ b) Pi-Sync (direct Kx/Pi to Kx/Pi sync) remote device after the syncing is done by choosing: Menu Synchronize-Disable Pi-Sync. - + + Note: If you want to sync with a remote device that gets different + IPaddresses each time connected to the network + (this may be the case, if you use DHCP for connection + of the remote device to the network) simply enable + "Ask for preferences before sync". + Then you will be asked to confirm the + "Pi-Sync" specific settings + (Password,IP address, port number) + and you can easily change the IP address before each sync. + On your local device, create a new profile and choose profile kind "Pi-Sync". diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp index b3e266a..0faa24d 100644 --- a/libkdepim/ksyncmanager.cpp +++ b/libkdepim/ksyncmanager.cpp @@ -610,9 +610,39 @@ void KSyncManager::syncRemote( KSyncProfile* prof, bool ask) return; } - +void KSyncManager::edit_pisync_options() +{ + QDialog dia( mParent, "dia", true ); + dia.setCaption( i18n("Pi-Sync options for device: " ) +mCurrentSyncDevice ); + QVBoxLayout lay ( &dia ); + lay.setSpacing( 5 ); + lay.setMargin( 3 ); + QLabel lab1 ( i18n("Password for remote access:"), &dia); + lay.addWidget( &lab1 ); + QLineEdit le1 (&dia ); + lay.addWidget( &le1 ); + QLabel lab2 ( i18n("Remote IP address:"), &dia); + lay.addWidget( &lab2 ); + QLineEdit le2 (&dia ); + lay.addWidget( &le2 ); + QLabel lab3 ( i18n("Remote port number:"), &dia); + lay.addWidget( &lab3 ); + QLineEdit le3 (&dia ); + lay.addWidget( &le3 ); + QPushButton pb ( "OK", &dia); + lay.addWidget( &pb ); + connect(&pb, SIGNAL( clicked() ), &dia, SLOT ( accept() ) ); + le1.setText( mPassWordPiSync ); + le2.setText( mActiveSyncIP ); + le3.setText( mActiveSyncPort ); + if ( dia.exec() ) { + mPassWordPiSync = le1.text(); + mActiveSyncPort = le3.text(); + mActiveSyncIP = le2.text(); + } + +} void KSyncManager::edit_sync_options() { - //mDialogManager->showSyncOptions(); - //mSyncAlgoPrefs + QDialog dia( mParent, "dia", true ); dia.setCaption( i18n("Device: " ) +mCurrentSyncDevice ); @@ -786,8 +816,9 @@ QString KSyncManager::syncFileName() } - void KSyncManager::syncPi() { qApp->processEvents(); + if ( mAskForPreferences ) + edit_pisync_options(); bool ok; Q_UINT16 port = mActiveSyncPort.toUInt(&ok); @@ -898,5 +929,5 @@ void KServerSocket::readClient() send_file(); else { - KMessageBox::information( 0, i18n("ERROR:\nGot send file request\nwith invalid password")); + KMessageBox::error( 0, i18n("Got send file request\nwith invalid password")); qDebug("password %s, invalid password %s ",mPassWord.latin1(), tokens[1].latin1() ); } @@ -909,5 +940,5 @@ void KServerSocket::readClient() } else { - KMessageBox::information( 0, i18n("ERROR:\nGot receive file request\nwith invalid password")); + KMessageBox::error( 0, i18n("Got receive file request\nwith invalid password")); qDebug("password %s, invalid password %s ",mPassWord.latin1(), tokens[1].latin1() ); } @@ -1156,13 +1187,19 @@ void KCommandSocket::readFileFromSocket() void KCommandSocket::deleteSocket() { + //qDebug("KCommandSocket::deleteSocket() "); if ( mTimerSocket->isActive () ) { mTimerSocket->stop(); mRetVal = errorTO; + qDebug("Connection to remote host timed out"); if ( mSocket ) { mSocket->close(); - if ( mSocket->state() == QSocket::Idle ) - deleteSocket(); - return; + //if ( mSocket->state() == QSocket::Idle ) + // deleteSocket(); + delete mSocket; + mSocket = 0; } + KMessageBox::error( 0, i18n("Connection to remote\nhost timed out!\nDid you forgot to enable\nsyncing on remote host? ")); + emit commandFinished( this, mRetVal ); + return; } //qDebug("KCommandSocket::deleteSocket() %d", mRetVal ); @@ -1170,7 +1207,4 @@ void KCommandSocket::deleteSocket() delete mSocket; mSocket = 0; - if ( mRetVal == errorTO) - KMessageBox::information( 0, i18n("ERROR:\nConnection to remote\nhost timed out!\nDid you forgot to enable\nsyncing on remote host? ")); - emit commandFinished( this, mRetVal ); } diff --git a/libkdepim/ksyncmanager.h b/libkdepim/ksyncmanager.h index 1f7c7e7..5b05383 100644 --- a/libkdepim/ksyncmanager.h +++ b/libkdepim/ksyncmanager.h @@ -174,4 +174,5 @@ class KSyncManager : public QObject void syncRemote( KSyncProfile* prof, bool ask = true); void edit_sync_options(); + void edit_pisync_options(); int ringSync(); QString getPassword( ); |