author | zautrix <zautrix> | 2004-09-23 08:26:01 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-09-23 08:26:01 (UTC) |
commit | a9e235027e0c92fb53462e968dee2b43228d7984 (patch) (side-by-side diff) | |
tree | 91565646ef5eeccd0f51a679add40499586abf8e /korganizer | |
parent | e395b9a15f5047582c17665de85d28dad64b8a8e (diff) | |
download | kdepimpi-a9e235027e0c92fb53462e968dee2b43228d7984.zip kdepimpi-a9e235027e0c92fb53462e968dee2b43228d7984.tar.gz kdepimpi-a9e235027e0c92fb53462e968dee2b43228d7984.tar.bz2 |
sync fixes
-rw-r--r-- | korganizer/mainwindow.cpp | 52 | ||||
-rw-r--r-- | korganizer/mainwindow.h | 2 |
2 files changed, 37 insertions, 17 deletions
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp index 460bbdc..f4ac0d6 100644 --- a/korganizer/mainwindow.cpp +++ b/korganizer/mainwindow.cpp @@ -2007,5 +2007,5 @@ void MainWindow::getFile(QSocket* socket) qDebug("waiting1b %d ",ti.elapsed () ); if ( !socket->canReadLine () ) { - qDebug("waiting1c %d ",ti.elapsed () ); + qDebug("waiting1c %d ",ti.elapsed () ); usleep( 100000); } @@ -2035,6 +2035,6 @@ void MainWindow::getFile(QSocket* socket) } setCaption( i18n("File received - reloading calendar...") ); - file.close(); socket->close(); + file.close(); mView->watchSavedFile(); mView->openCalendar( defaultFileName() ); @@ -2115,5 +2115,5 @@ void MainWindow::readFileFromSocket() setCaption( i18n("Receiving remote file ...") ); qDebug("MainWindow::readFileFromSocket() "); -QString fileName; + QString fileName; #ifdef _WIN32_ fileName = defaultFileName() +"sync"; @@ -2124,5 +2124,5 @@ QString fileName; if (!file.open( IO_WriteOnly ) ) { setCaption( i18n("Error: Cannot open temp file for write.") ); - qDebug("Error open calender file for writing: %s",fileName.latin1() ); + qDebug("Error open temp calender file for writing: %s",fileName.latin1() ); return ; } @@ -2151,4 +2151,5 @@ QString fileName; file.close(); mCommandSocket->close(); + // pending: deleting after signal SIGNAL(delayedCloseFinished()) //delete mCommandSocket; setCaption( i18n("Remote file saved to temp file.") ); @@ -2182,4 +2183,5 @@ QString fileName; mCommandSocketFinish->connectToHost( KOPrefs::instance()->mActiveSyncIP, KOPrefs::instance()->mActiveSyncPort.toUInt() ); + // pending connect signals connected () and error to new slots QString host = KOPrefs::instance()->mActiveSyncIP; QFile file2( fileName ); @@ -2199,5 +2201,5 @@ QString fileName; os2 << "PUT\r\n"; while ( ! ts2.atEnd() ) { - os2 << ts2.readLine() << "\n"; + os2 << ts2.readLine() << "\n"; } } else { @@ -2206,4 +2208,5 @@ QString fileName; mCommandSocketFinish->close(); file.close(); + // pending: deleting after signal SIGNAL(delayedCloseFinished()) //delete ( mCommandSocket); //mCommandSocket = 0; @@ -2492,13 +2495,22 @@ void MainWindow::printCal() -KServerSocket:: KServerSocket ( Q_UINT16 port, int backlog, QObject * parent, const char * name ) : QServerSocket( port, backlog, parent, name ){;}; +KServerSocket:: KServerSocket ( Q_UINT16 port, int backlog, QObject * parent, const char * name ) : QServerSocket( port, backlog, parent, name ) +{ + + mSocket = 0; +}; void KServerSocket::newConnection ( int socket ) { qDebug("KServerSocket:New connection %d ", socket); - QSocket* s = new QSocket( this ); - connect( s, SIGNAL(readyRead()), this, SLOT(readClient()) ); - connect( s, SIGNAL(delayedCloseFinished()), this, SLOT(discardClient()) ); - s->setSocket( socket ); + if ( mSocket ) { + qDebug("KServerSocket::newConnection Socket deleted! "); + delete mSocket; + mSocket = 0; + } + mSocket = new QSocket( this ); + connect( mSocket , SIGNAL(readyRead()), this, SLOT(readClient()) ); + connect( mSocket , SIGNAL(delayedCloseFinished()), this, SLOT(discardClient()) ); + mSocket->setSocket( socket ); } @@ -2506,20 +2518,26 @@ void KServerSocket::discardClient() { qDebug(" KServerSocket::discardClient()"); - QSocket* socket = (QSocket*)sender(); - delete socket; + if ( mSocket ) { + qDebug("delete "); + delete mSocket; + mSocket = 0; + } //emit endConnect(); } void KServerSocket::readClient() { + if ( mSocket == 0 ) { + qDebug("ERROR::KServerSocket::readClient(): mSocket == 0 "); + return; + } qDebug("KServerSocket readClient()"); - QSocket* socket = (QSocket*)sender(); - if ( socket->canReadLine() ) { - QStringList tokens = QStringList::split( QRegExp("[ \r\n][ \r\n]*"), socket->readLine() ); + if ( mSocket->canReadLine() ) { + QStringList tokens = QStringList::split( QRegExp("[ \r\n][ \r\n]*"), mSocket->readLine() ); qDebug("KServerSocket socket->canReadLine()"); if ( tokens[0] == "GET" ) { - emit sendFile( socket ); + emit sendFile( mSocket ); } if ( tokens[0] == "PUT" ) { - emit getFile( socket ); + emit getFile( mSocket ); } if ( tokens[0] == "STOP" ) { diff --git a/korganizer/mainwindow.h b/korganizer/mainwindow.h index 7b4fd27..cc656a3 100644 --- a/korganizer/mainwindow.h +++ b/korganizer/mainwindow.h @@ -39,4 +39,6 @@ private slots: void discardClient(); void readClient(); + private : + QSocket* mSocket; }; |