summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/korganizer/howtoSYNC.txt19
-rw-r--r--libkdepim/ksyncmanager.cpp58
-rw-r--r--libkdepim/ksyncmanager.h1
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
@@ -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)
@@ -266,7 +271,17 @@ 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:
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( );