summaryrefslogtreecommitdiffabout
path: root/libkdepim
Unidiff
Diffstat (limited to 'libkdepim') (more/less context) (ignore whitespace changes)
-rw-r--r--libkdepim/ksyncmanager.cpp45
-rw-r--r--libkdepim/ksyncmanager.h6
2 files changed, 33 insertions, 18 deletions
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp
index df5a0d9..1f5f4c7 100644
--- a/libkdepim/ksyncmanager.cpp
+++ b/libkdepim/ksyncmanager.cpp
@@ -1052,9 +1052,8 @@ void KSyncManager::syncPi()
1052 mParent->topLevelWidget()->setCaption( i18n("Sorry, no valid port.Syncing cancelled.") ); 1052 mParent->topLevelWidget()->setCaption( i18n("Sorry, no valid port.Syncing cancelled.") );
1053 return; 1053 return;
1054 } 1054 }
1055 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, port, mActiveSyncIP, this ); 1055 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() );
1056 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); 1056 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) );
1057 mParent->topLevelWidget()->setCaption( i18n("Sending request for remote file ...") );
1058 commandSocket->readFile( syncFileName() ); 1057 commandSocket->readFile( syncFileName() );
1059} 1058}
1060 1059
@@ -1065,7 +1064,7 @@ void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state)
1065 mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") ); 1064 mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") );
1066 delete s; 1065 delete s;
1067 if ( state == KCommandSocket::errorR ) { 1066 if ( state == KCommandSocket::errorR ) {
1068 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this ); 1067 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this, mParent->topLevelWidget());
1069 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) ); 1068 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) );
1070 commandSocket->sendStop(); 1069 commandSocket->sendStop();
1071 } 1070 }
@@ -1096,7 +1095,7 @@ void KSyncManager::readFileFromSocket()
1096 mPisyncFinished = true; 1095 mPisyncFinished = true;
1097 return; 1096 return;
1098 } 1097 }
1099 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this ); 1098 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this, mParent->topLevelWidget() );
1100 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) ); 1099 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) );
1101 if ( mWriteBackFile ) 1100 if ( mWriteBackFile )
1102 commandSocket->writeFile( fileName ); 1101 commandSocket->writeFile( fileName );
@@ -1263,7 +1262,7 @@ void KServerSocket::send_file()
1263 QTextStream os( mSocket ); 1262 QTextStream os( mSocket );
1264 os.setEncoding( QTextStream::Latin1 ); 1263 os.setEncoding( QTextStream::Latin1 );
1265 while ( ! ts.atEnd() ) { 1264 while ( ! ts.atEnd() ) {
1266 os << ts.readLine() << "\r\n"; 1265 os << ts.readLine() << "\r\n\r\n";
1267 } 1266 }
1268 //os << ts.read(); 1267 //os << ts.read();
1269 file.close(); 1268 file.close();
@@ -1329,34 +1328,46 @@ void KServerSocket::readBackFileFromSocket()
1329 1328
1330} 1329}
1331 1330
1332KCommandSocket::KCommandSocket ( QString password, Q_UINT16 port, QString host, QObject * parent, const char * name ): QObject( parent, name ) 1331KCommandSocket::KCommandSocket ( QString password, Q_UINT16 port, QString host, QObject * parent, QWidget * cap, const char * name ): QObject( parent, name )
1333{ 1332{
1334 mPassWord = password; 1333 mPassWord = password;
1335 mSocket = 0; 1334 mSocket = 0;
1335 mFirst = false;
1336 mPort = port; 1336 mPort = port;
1337 mHost = host; 1337 mHost = host;
1338 1338 tlw = cap;
1339 mRetVal = quiet; 1339 mRetVal = quiet;
1340 mTimerSocket = new QTimer ( this ); 1340 mTimerSocket = new QTimer ( this );
1341 connect( mTimerSocket, SIGNAL ( timeout () ), this, SLOT ( deleteSocket() ) ); 1341 connect( mTimerSocket, SIGNAL ( timeout () ), this, SLOT ( deleteSocket() ) );
1342} 1342}
1343void KCommandSocket::sendFileRequest()
1344{
1345 if ( tlw )
1346 tlw->setCaption( i18n("Connected! Sending request for remote file ...") );
1347 mTimerSocket->start( 300000 );
1348 QTextStream os( mSocket );
1349 os.setEncoding( QTextStream::Latin1 );
1350
1351 QString curDt = " " +KGlobal::locale()->formatDateTime(QDateTime::currentDateTime().addSecs(-1),true, true,KLocale::ISODate );
1352 os << "GET " << mPassWord << curDt <<"\r\n\r\n";
1353}
1354
1343void KCommandSocket::readFile( QString fn ) 1355void KCommandSocket::readFile( QString fn )
1344{ 1356{
1345 if ( !mSocket ) { 1357 if ( !mSocket ) {
1346 mSocket = new QSocket( this ); 1358 mSocket = new QSocket( this );
1347 connect( mSocket, SIGNAL(readyRead()), this, SLOT(startReadFileFromSocket()) ); 1359 connect( mSocket, SIGNAL(readyRead()), this, SLOT(startReadFileFromSocket()) );
1348 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) ); 1360 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) );
1361 connect( mSocket, SIGNAL(connected ()), this, SLOT(sendFileRequest() ));
1349 } 1362 }
1350 mFileString = ""; 1363 mFileString = "";
1351 mFileName = fn; 1364 mFileName = fn;
1352 mFirst = true; 1365 mFirst = true;
1366 if ( tlw )
1367 tlw->setCaption( i18n("Trying to connect to remote...") );
1353 mSocket->connectToHost( mHost, mPort ); 1368 mSocket->connectToHost( mHost, mPort );
1354 QTextStream os( mSocket ); 1369 qDebug("KSS: Waiting for connection");
1355 os.setEncoding( QTextStream::Latin1 ); 1370 mTimerSocket->start( 20000 );
1356
1357 QString curDt = " " +KGlobal::locale()->formatDateTime(QDateTime::currentDateTime().addSecs(-1),true, true,KLocale::ISODate );
1358 os << "GET " << mPassWord << curDt <<"\r\n";
1359 mTimerSocket->start( 300000 );
1360} 1371}
1361 1372
1362void KCommandSocket::writeFile( QString fileName ) 1373void KCommandSocket::writeFile( QString fileName )
@@ -1383,9 +1394,9 @@ void KCommandSocket::writeFileToSocket()
1383 ts2.setEncoding( QTextStream::Latin1 ); 1394 ts2.setEncoding( QTextStream::Latin1 );
1384 QTextStream os2( mSocket ); 1395 QTextStream os2( mSocket );
1385 os2.setEncoding( QTextStream::Latin1 ); 1396 os2.setEncoding( QTextStream::Latin1 );
1386 os2 << "PUT " << mPassWord << "\r\n";; 1397 os2 << "PUT " << mPassWord << "\r\n\r\n";;
1387 while ( ! ts2.atEnd() ) { 1398 while ( ! ts2.atEnd() ) {
1388 os2 << ts2.readLine() << "\r\n"; 1399 os2 << ts2.readLine() << "\r\n\r\n";
1389 } 1400 }
1390 mRetVal= successW; 1401 mRetVal= successW;
1391 file2.close(); 1402 file2.close();
@@ -1402,7 +1413,7 @@ void KCommandSocket::sendStop()
1402 mSocket->connectToHost( mHost, mPort ); 1413 mSocket->connectToHost( mHost, mPort );
1403 QTextStream os2( mSocket ); 1414 QTextStream os2( mSocket );
1404 os2.setEncoding( QTextStream::Latin1 ); 1415 os2.setEncoding( QTextStream::Latin1 );
1405 os2 << "STOP\r\n"; 1416 os2 << "STOP\r\n\r\n";
1406 mSocket->close(); 1417 mSocket->close();
1407 if ( mSocket->state() == QSocket::Idle ) 1418 if ( mSocket->state() == QSocket::Idle )
1408 QTimer::singleShot( 10, this , SLOT ( deleteSocket())); 1419 QTimer::singleShot( 10, this , SLOT ( deleteSocket()));
@@ -1472,7 +1483,7 @@ void KCommandSocket::deleteSocket()
1472 delete mSocket; 1483 delete mSocket;
1473 mSocket = 0; 1484 mSocket = 0;
1474 } 1485 }
1475 KMessageBox::error( 0, i18n("Connection to remote\nhost timed out!\nDid you forgot to enable\nsyncing on remote host? ")); 1486 KMessageBox::error( 0, i18n("Connection to remote\nhost timed out!\nDid you forgot to enable\nsyncing on remote host?"));
1476 emit commandFinished( this, mRetVal ); 1487 emit commandFinished( this, mRetVal );
1477 return; 1488 return;
1478 } 1489 }
diff --git a/libkdepim/ksyncmanager.h b/libkdepim/ksyncmanager.h
index 6d89950..9a3066e 100644
--- a/libkdepim/ksyncmanager.h
+++ b/libkdepim/ksyncmanager.h
@@ -75,10 +75,13 @@ class KCommandSocket : public QObject
75 Q_OBJECT 75 Q_OBJECT
76 public: 76 public:
77 enum state { successR, errorR, successW, errorW, errorTO, quiet }; 77 enum state { successR, errorR, successW, errorW, errorTO, quiet };
78 KCommandSocket ( QString password, Q_UINT16 port, QString host, QObject * parent=0, const char * name=0 ); 78 KCommandSocket ( QString password, Q_UINT16 port, QString host, QObject * parent=0, QWidget* cap = 0, const char * name=0 );
79 void readFile( QString ); 79 void readFile( QString );
80 void writeFile( QString ); 80 void writeFile( QString );
81 void sendStop(); 81 void sendStop();
82
83 private slots :
84 void sendFileRequest();
82 85
83 signals: 86 signals:
84 void commandFinished( KCommandSocket*, int ); 87 void commandFinished( KCommandSocket*, int );
@@ -88,6 +91,7 @@ class KCommandSocket : public QObject
88 void deleteSocket(); 91 void deleteSocket();
89 void writeFileToSocket(); 92 void writeFileToSocket();
90 private : 93 private :
94 QWidget* tlw;
91 QSocket* mSocket; 95 QSocket* mSocket;
92 QString mPassWord; 96 QString mPassWord;
93 Q_UINT16 mPort; 97 Q_UINT16 mPort;