author | zautrix <zautrix> | 2004-10-05 07:22:35 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-10-05 07:22:35 (UTC) |
commit | fc2c103f45a6d4e4105259436266538c645f2c87 (patch) (side-by-side diff) | |
tree | 7cab481e080b7db555129a17735152051882a31c /korganizer | |
parent | 0dd4cb1ff2bbd47788a5220363758226e5639edf (diff) | |
download | kdepimpi-fc2c103f45a6d4e4105259436266538c645f2c87.zip kdepimpi-fc2c103f45a6d4e4105259436266538c645f2c87.tar.gz kdepimpi-fc2c103f45a6d4e4105259436266538c645f2c87.tar.bz2 |
sync fixes
-rw-r--r-- | korganizer/mainwindow.cpp | 113 | ||||
-rw-r--r-- | korganizer/mainwindow.h | 10 |
2 files changed, 48 insertions, 75 deletions
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp index b7176a1..5aa75f5 100644 --- a/korganizer/mainwindow.cpp +++ b/korganizer/mainwindow.cpp @@ -1284,4 +1284,12 @@ QString MainWindow::defaultFileName() return locateLocal( "data", "korganizer/mycalendar.ics" ); } +QString MainWindow::syncFileName() +{ +#ifdef _WIN32_ + return locateLocal( "tmp", "synccalendar.ics" ); +#else + return QString( "/tmp/kopitempfile.ics" ); +#endif +} void MainWindow::processIncidenceSelection( Incidence *incidence ) @@ -1925,8 +1933,8 @@ void MainWindow::enableQuick() return; } - qDebug("port %d ", port); + //qDebug("port %d ", port); mServerSocket = new KServerSocket ( passWordPiSync, port ,1 ); mServerSocket->setFileName( defaultFileName() ); - qDebug("connected "); + //qDebug("connected "); if ( !mServerSocket->ok() ) { qWarning("Failed to bind to port %d", port); @@ -1935,8 +1943,6 @@ void MainWindow::enableQuick() return; } - connect( mServerSocket, SIGNAL ( saveFile() ), this, SLOT ( save() ) ); + connect( mServerSocket, SIGNAL ( saveFile() ), this, SLOT ( save() ) ); connect( mServerSocket, SIGNAL ( file_received( bool ) ), this, SLOT ( getFile( bool ) ) ); - // connect( mServerSocket, SIGNAL ( sendFile(QSocket*) ), this, SLOT ( sendFile(QSocket*) ) ); - //connect( mServerSocket, SIGNAL ( getFile(QSocket*) ), this, SLOT ( getFile(QSocket*) ) ); } @@ -1963,6 +1969,4 @@ void MainWindow::syncPi() void MainWindow::performQuickQuick() { - // setCaption( i18n("") ); - bool ok; Q_UINT16 port = KOPrefs::instance()->mActiveSyncPort.toUInt(&ok); @@ -1971,69 +1975,38 @@ void MainWindow::performQuickQuick() return; } - KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, port, KOPrefs::instance()->mActiveSyncIP, this ); - connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, bool )), this, SLOT(deleteCommandSocket(KCommandSocket*,bool)) ); + KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, port, KOPrefs::instance()->mActiveSyncIP, this ); + connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); setCaption( i18n("Sending request for remote file ...") ); - QString fileName; -#ifdef _WIN32_ - fileName = defaultFileName() +"sync"; -#else - fileName = "/tmp/kopitempfile.ics"; -#endif - commandSocket->readFile( fileName ); + commandSocket->readFile( syncFileName() ); } -void MainWindow::deleteCommandSocket(KCommandSocket*s, bool success) +void MainWindow::deleteCommandSocket(KCommandSocket*s, int state) { - if ( ! success ) { - setCaption( i18n("ERROR:Receiving remote file failed.") ); + qDebug("MainWindow::deleteCommandSocket %d", state); + + //enum { success, errorW, errorR, quiet }; + if ( state == KCommandSocket::errorR ) { + setCaption( i18n("ERROR: Receiving remote file failed.") ); delete s; - // pending : send stop + KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, KOPrefs::instance()->mActiveSyncPort.toUInt(), KOPrefs::instance()->mActiveSyncIP, this ); + connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) ); + commandSocket->sendStop(); return; - - } - QTimer::singleShot( 1, this , SLOT ( readFileFromSocket())); - qDebug("MainWindow::deleteCommandSocket "); - delete s; -} -void MainWindow::deleteCommandSocketFinish(KCommandSocket* s, bool success ) -{ - if ( ! success ) { + + } else if ( state == KCommandSocket::errorW ) { setCaption( i18n("ERROR:Writing back file failed.") ); - } else { - qDebug("Syncing succesful! "); + + } else if ( state == KCommandSocket::successR ) { + QTimer::singleShot( 1, this , SLOT ( readFileFromSocket())); + + } else if ( state == KCommandSocket::successW ) { setCaption( i18n("Pi-Sync succesful!") ); } - qDebug("MainWindow::deleteCommandSocketFinish "); + delete s; } + void MainWindow::readFileFromSocket() { - // mTimerCommandSocket->stop(); - setCaption( i18n("Receiving remote file ...") ); - qDebug("MainWindow::readFileFromSocket() "); - QString fileName; -#ifdef _WIN32_ - fileName = defaultFileName() +"sync"; -#else - fileName = "/tmp/kopitempfile.ics"; -#endif - - setCaption( i18n("Remote file saved to temp file.") ); - //mCommandSocket = 0; - mCurrentSyncProfile = 2 ; // last file - mView->setSyncDevice(KOPrefs::instance()->mSyncProfileNames[mCurrentSyncProfile] ); - mView->setSyncName( KOPrefs::instance()->mLocalMachineName ); - KConfig config ( locateLocal( "config","ksyncprofilesrc" ) ); - KSyncProfile* temp = new KSyncProfile (); - temp->setName(KOPrefs::instance()->mSyncProfileNames[mCurrentSyncProfile]); - temp->readConfig(&config); - KOPrefs::instance()->mAskForPreferences = temp->getAskForPreferences(); - KOPrefs::instance()->mSyncAlgoPrefs = temp->getSyncPrefs(); - KOPrefs::instance()->mWriteBackFile = temp->getWriteBackFile(); - KOPrefs::instance()->mWriteBackExistingOnly = temp->getWriteBackExisting(); - KOPrefs::instance()->mWriteBackInFuture = 0; - if ( temp->getWriteBackFuture() ) - KOPrefs::instance()->mWriteBackInFuture = temp->getWriteBackFutureWeeks( ); - KOPrefs::instance()->mShowSyncSummary = temp->getShowSummaryAfterSync(); - delete temp; + QString fileName = syncFileName(); setCaption( i18n("Remote file saved to temp file.") ); if ( ! syncWithFile( fileName , true ) ) { @@ -2042,11 +2015,12 @@ void MainWindow::readFileFromSocket() return; } - KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, KOPrefs::instance()->mActiveSyncPort.toUInt(), KOPrefs::instance()->mActiveSyncIP, this ); - connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, bool )), this, SLOT(deleteCommandSocketFinish(KCommandSocket*,bool)) ); + connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) ); if ( KOPrefs::instance()->mWriteBackFile ) commandSocket->writeFile( fileName ); - else + else { commandSocket->sendStop(); + setCaption( i18n("Pi-Sync succesful!") ); + } } @@ -2504,5 +2478,5 @@ KCommandSocket::KCommandSocket ( QString password, Q_UINT16 port, QString host, mHost = host; - mRetVal = false; + mRetVal = quiet; mTimerSocket = new QTimer ( this ); connect( mTimerSocket, SIGNAL ( timeout () ), this, SLOT ( deleteSocket() ) ); @@ -2539,5 +2513,5 @@ void KCommandSocket::writeFileToSocket() QFile file2( mFileName ); if (!file2.open( IO_ReadOnly ) ) { - mRetVal= false; + mRetVal= errorW; mSocket->close(); if ( mSocket->state() == QSocket::Idle ) @@ -2553,5 +2527,5 @@ void KCommandSocket::writeFileToSocket() os2 << ts2.readLine() << "\n"; } - mRetVal= true; + mRetVal= successW; file2.close(); mSocket->close(); @@ -2569,5 +2543,4 @@ void KCommandSocket::sendStop() os2.setCodec( QTextCodec::codecForName("utf8") ); os2 << "STOP\r\n"; - mRetVal= true; mSocket->close(); if ( mSocket->state() == QSocket::Idle ) @@ -2605,5 +2578,5 @@ void KCommandSocket::readFileFromSocket() if (!file.open( IO_WriteOnly ) ) { mFileString = ""; - mRetVal = false; + mRetVal = errorR; qDebug("Error open temp calender file for writing: %s",fileName.latin1() ); deleteSocket(); @@ -2617,5 +2590,5 @@ void KCommandSocket::readFileFromSocket() file.close(); mFileString = ""; - mRetVal = true; + mRetVal = successR; mSocket->close(); // if state is not idle, deleteSocket(); is called via @@ -2630,5 +2603,5 @@ void KCommandSocket::deleteSocket() mTimerSocket->stop(); KMessageBox::information( 0, i18n("ERROR:\nConnection to remote host timed out!\nDid you forgot to enable\nsyncing on remote host? ")); - mRetVal = false; + mRetVal = errorR; } //qDebug("KCommandSocket::deleteSocket() %d", mRetVal ); diff --git a/korganizer/mainwindow.h b/korganizer/mainwindow.h index 90b3a88..4da371e 100644 --- a/korganizer/mainwindow.h +++ b/korganizer/mainwindow.h @@ -62,6 +62,6 @@ class KCommandSocket : public QObject { Q_OBJECT - public: + enum state { successR, errorR, successW, errorW, quiet }; KCommandSocket ( QString password, Q_UINT16 port, QString host, QObject * parent=0, const char * name=0 ); void readFile( QString ); @@ -71,5 +71,5 @@ public: signals: - void commandFinished( KCommandSocket*, bool ); + void commandFinished( KCommandSocket*, int ); private slots: void startReadFileFromSocket(); @@ -84,5 +84,5 @@ private slots: QString mFileName; QTimer* mTimerSocket; - bool mRetVal; + int mRetVal; QTime mTime; QString mFileString; @@ -107,4 +107,5 @@ class MainWindow : public QMainWindow void recieve( const QCString& msg, const QByteArray& data ); static QString defaultFileName(); + static QString syncFileName(); static QString resourcePath(); protected slots: @@ -165,6 +166,5 @@ class MainWindow : public QMainWindow QString piFileString; QTime piTime; - void deleteCommandSocket(KCommandSocket* s, bool success); - void deleteCommandSocketFinish(KCommandSocket* s, bool success); + void deleteCommandSocket(KCommandSocket* s, int state ); void fillSyncMenu(); void getFile( bool ); |