author | zautrix <zautrix> | 2004-10-08 10:31:33 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-10-08 10:31:33 (UTC) |
commit | 98987418d89d1334c0c2961ca4d6bc295d6fb021 (patch) (side-by-side diff) | |
tree | 2562272904bcd82eab7e6d185f3f7f0abfac48c3 | |
parent | 309df8e8df3a17602f948025b7951b21ec5c3fed (diff) | |
download | kdepimpi-98987418d89d1334c0c2961ca4d6bc295d6fb021.zip kdepimpi-98987418d89d1334c0c2961ca4d6bc295d6fb021.tar.gz kdepimpi-98987418d89d1334c0c2961ca4d6bc295d6fb021.tar.bz2 |
Sync fixes
-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 @@ -114,9 +114,14 @@ c) Include in multiple sync: 'Include in multiple sync' option enabled will be synced 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) f) Show summary after sync: @@ -266,8 +271,18 @@ b) Pi-Sync (direct Kx/Pi to Kx/Pi sync) data, simply disable the file transfer feature on the 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: - Password for remote access: diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp index b3e266a..0faa24d 100644 --- a/libkdepim/ksyncmanager.cpp +++ b/libkdepim/ksyncmanager.cpp @@ -608,13 +608,43 @@ 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); QVBoxLayout lay ( &dia ); @@ -784,12 +814,13 @@ QString KSyncManager::syncFileName() return (QString( "/tmp/" )+ fn ); #endif } - void KSyncManager::syncPi() { qApp->processEvents(); + if ( mAskForPreferences ) + edit_pisync_options(); bool ok; Q_UINT16 port = mActiveSyncPort.toUInt(&ok); if ( ! ok ) { mParent->topLevelWidget()->setCaption( i18n("Sorry, no valid port.Syncing cancelled.") ); @@ -896,9 +927,9 @@ void KServerSocket::readClient() if ( tokens[1] == mPassWord ) //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() ); } } if ( tokens[0] == "PUT" ) { @@ -907,9 +938,9 @@ void KServerSocket::readClient() blockRC = true; 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() ); } } if ( tokens[0] == "STOP" ) { @@ -1154,23 +1185,26 @@ 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 @@ -172,8 +172,9 @@ class KSyncManager : public QObject bool syncExternalApplication(QString); int mCurrentSyncProfile ; void syncRemote( KSyncProfile* prof, bool ask = true); void edit_sync_options(); + void edit_pisync_options(); int ringSync(); QString getPassword( ); private slots: |