summaryrefslogtreecommitdiffabout
path: root/libkdepim
Side-by-side diff
Diffstat (limited to 'libkdepim') (more/less context) (ignore whitespace changes)
-rw-r--r--libkdepim/ksyncmanager.cpp12
-rw-r--r--libkdepim/ksyncmanager.h4
2 files changed, 12 insertions, 4 deletions
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp
index 28af135..fad9a76 100644
--- a/libkdepim/ksyncmanager.cpp
+++ b/libkdepim/ksyncmanager.cpp
@@ -782,22 +782,24 @@ void KSyncManager::syncPi()
commandSocket->readFile( syncFileName() );
}
void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state)
{
qDebug("MainWindow::deleteCommandSocket %d", state);
//enum { success, errorW, errorR, quiet };
- if ( state == KCommandSocket::errorR ) {
+ if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ) {
mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") );
delete s;
+ if ( state == KCommandSocket::errorR ) {
KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this );
connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) );
commandSocket->sendStop();
+ }
return;
} else if ( state == KCommandSocket::errorW ) {
mParent->topLevelWidget()->setCaption( i18n("ERROR:Writing back file failed.") );
} else if ( state == KCommandSocket::successR ) {
QTimer::singleShot( 1, this , SLOT ( readFileFromSocket()));
@@ -1132,17 +1134,23 @@ void KCommandSocket::readFileFromSocket()
deleteSocket();
}
void KCommandSocket::deleteSocket()
{
if ( mTimerSocket->isActive () ) {
mTimerSocket->stop();
KMessageBox::information( 0, i18n("ERROR:\nConnection to remote host timed out!\nDid you forgot to enable\nsyncing on remote host? "));
- mRetVal = errorR;
+ mRetVal = errorTO;
+ if ( mSocket ) {
+ mSocket->close();
+ if ( mSocket->state() == QSocket::Idle )
+ deleteSocket();
+ return;
+ }
}
//qDebug("KCommandSocket::deleteSocket() %d", mRetVal );
if ( mSocket)
delete mSocket;
mSocket = 0;
emit commandFinished( this, mRetVal );
}
diff --git a/libkdepim/ksyncmanager.h b/libkdepim/ksyncmanager.h
index 32400af..25892d8 100644
--- a/libkdepim/ksyncmanager.h
+++ b/libkdepim/ksyncmanager.h
@@ -70,17 +70,17 @@ private slots:
QTime piTime;
QString piFileString;
};
class KCommandSocket : public QObject
{
Q_OBJECT
public:
- enum state { successR, errorR, successW, errorW, quiet };
+ enum state { successR, errorR, successW, errorW, errorTO, quiet };
KCommandSocket ( QString password, Q_UINT16 port, QString host, QObject * parent=0, const char * name=0 );
void readFile( QString );
void writeFile( QString );
void sendStop();
signals:
void commandFinished( KCommandSocket*, int );
@@ -117,16 +117,17 @@ class KSyncManager : public QObject
KSyncManager(QWidget* parent, KSyncInterface* implementation, TargetApp ta, KPimPrefs* prefs, QPopupMenu* syncmenu);
~KSyncManager() ;
bool blockSave() { return mBlockSaveFlag; }
void setBlockSave(bool sa) { mBlockSaveFlag = sa; }
void setDefaultFileName( QString s) { mDefFileName = s ;}
QString defaultFileName() { return mDefFileName ;}
QString syncFileName();
+ void fillSyncMenu();
QString getCurrentSyncDevice() { return mCurrentSyncDevice; }
QString getCurrentSyncName() { return mCurrentSyncName; }
void showProgressBar(int percentage, QString caption = QString::null, int total=100);
void hideProgressBar();
bool isProgressBarCanceled();
@@ -152,17 +153,16 @@ class KSyncManager : public QObject
QString mActiveSyncIP ;
signals:
void save();
void request_file();
void getFile( bool );
public slots:
- void fillSyncMenu();
void slotSyncMenu( int );
void deleteCommandSocket(KCommandSocket*s, int state);
void readFileFromSocket();
private:
// LR *******************************
// sync stuff!
void syncPi();