-rw-r--r-- | bin/kdepim/korganizer/howtoSYNC.txt | 17 | ||||
-rw-r--r-- | libkdepim/ksyncmanager.cpp | 56 | ||||
-rw-r--r-- | libkdepim/ksyncmanager.h | 1 |
3 files changed, 62 insertions, 12 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 @@ -115,7 +115,12 @@ c) Include in multiple sync: one after another. And this twice. This will take some time. 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. Details -> 4) @@ -267,6 +272,16 @@ 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". Fill in the needed values: diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp index b3e266a..0faa24d 100644 --- a/libkdepim/ksyncmanager.cpp +++ b/libkdepim/ksyncmanager.cpp @@ -609,11 +609,41 @@ 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 ); QButtonGroup gr ( 1, Qt::Horizontal, i18n("Sync preferences"), &dia); @@ -785,10 +815,11 @@ QString KSyncManager::syncFileName() #endif } - void KSyncManager::syncPi() { qApp->processEvents(); + if ( mAskForPreferences ) + edit_pisync_options(); bool ok; Q_UINT16 port = mActiveSyncPort.toUInt(&ok); if ( ! ok ) { @@ -897,7 +928,7 @@ void KServerSocket::readClient() //emit sendFile( mSocket ); 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() ); } } @@ -908,7 +939,7 @@ void KServerSocket::readClient() get_file(); } 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() ); } } @@ -1155,22 +1186,25 @@ 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 ); if ( mSocket) 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 @@ -173,6 +173,7 @@ class KSyncManager : public QObject int mCurrentSyncProfile ; void syncRemote( KSyncProfile* prof, bool ask = true); void edit_sync_options(); + void edit_pisync_options(); int ringSync(); QString getPassword( ); |