-rw-r--r-- | korganizer/mainwindow.cpp | 32 | ||||
-rw-r--r-- | korganizer/mainwindow.h | 1 |
2 files changed, 19 insertions, 14 deletions
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp index ebe761a..2e6b5c8 100644 --- a/korganizer/mainwindow.cpp +++ b/korganizer/mainwindow.cpp @@ -68,16 +68,17 @@ int globalFlagBlockStartup; MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) : QMainWindow( parent, name ) { #ifdef DESKTOP_VERSION setFont( QFont("Arial"), 14 ); #endif mCommandSocket = 0; + mCommandSocketFinish = 0; mSyncActionDialog = 0; mServerSocket = 0; mClosed = false; //QString confFile = KStandardDirs::appDir() + "config/korganizerrc"; QString confFile = locateLocal("config","korganizerrc"); QFileInfo finf ( confFile ); bool showWarning = !finf.exists(); setIcon(SmallIcon( "ko24" ) ); @@ -1976,17 +1977,16 @@ void MainWindow::sendFile(QSocket* socket) socket->close(); file.close(); setCaption( i18n("File sent. Waiting to get back synced file") ); qDebug("file sent "); } void MainWindow::getFile(QSocket* socket) { setCaption( i18n("Receiving synced file...") ); - qDebug("MainWindow::sendFile(QSocket* s) "); QString fileName = defaultFileName(); QFile file( fileName ); if (!file.open( IO_WriteOnly ) ) { setCaption( i18n("Error open file") ); delete mSyncActionDialog; mSyncActionDialog = 0; qDebug("error open cal file "); @@ -2063,20 +2063,22 @@ void MainWindow::performQuickQuick() // setCaption( i18n("") ); bool ok; Q_UINT16 port = KOPrefs::instance()->mActiveSyncPort.toUInt(&ok); if ( ! ok ) { setCaption( i18n("Sorry, no valid port.Syncing cancelled.") ); return; } - if ( mCommandSocket ) - delete mCommandSocket; - mCommandSocket = new QSocket( this ); - connect( mCommandSocket, SIGNAL(readyRead()), this, SLOT(readFileFromSocket()) ); + if ( !mCommandSocket ) { + mCommandSocket = new QSocket( this ); + // delete mCommandSocket; + //mCommandSocket = new QSocket( this ); + connect( mCommandSocket, SIGNAL(readyRead()), this, SLOT(readFileFromSocket()) ); + } QString host = KOPrefs::instance()->mActiveSyncIP; mCommandSocket->connectToHost( host, port ); QTextStream os( mCommandSocket ); os.setEncoding( QTextStream::UnicodeUTF8 ); os << "GET\r\n"; setCaption( i18n("Sending request for remote file ...") ); } @@ -2107,19 +2109,19 @@ QString fileName; first = false; while ( mCommandSocket->canReadLine () ) { ts << mCommandSocket->readLine (); } mCommandSocket->waitForMore ( 5000 ); } file.close(); mCommandSocket->close(); - delete mCommandSocket; + //delete mCommandSocket; setCaption( i18n("Remote file saved to temp file.") ); - mCommandSocket = 0; + //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(); @@ -2133,45 +2135,47 @@ QString fileName; setCaption( i18n("Remote file saved to temp file.") ); if ( ! syncWithFile( fileName , true ) ) { setCaption( i18n("Syncing failed.") ); qDebug("Syncing failed "); return; } - mCommandSocket = new QSocket( this ); - QString host = KOPrefs::instance()->mActiveSyncIP; - mCommandSocket->connectToHost( KOPrefs::instance()->mActiveSyncIP, KOPrefs::instance()->mActiveSyncPort.toUInt() ); + if ( !mCommandSocketFinish ) { + mCommandSocketFinish = new QSocket( this ); + } + mCommandSocketFinish->connectToHost( KOPrefs::instance()->mActiveSyncIP, KOPrefs::instance()->mActiveSyncPort.toUInt() ); + QString host = KOPrefs::instance()->mActiveSyncIP; QFile file2( fileName ); if (!file2.open( IO_ReadOnly ) ) { setCaption( i18n("Error: Cannot open temp file for read.") ); qDebug("error open cal file "); return ; } setCaption( i18n("Sending back synced file...") ); QTextStream ts2( &file2 ); ts2.setCodec( QTextCodec::codecForName("utf8") ); - QTextStream os2( mCommandSocket ); + QTextStream os2( mCommandSocketFinish ); os2.setCodec( QTextCodec::codecForName("utf8") ); //os.setEncoding( QTextStream::UnicodeUTF8 ); if ( KOPrefs::instance()->mWriteBackFile ) { os2 << "PUT\r\n"; while ( ! ts2.atEnd() ) { os2 << ts2.readLine() << "\n"; } } else { os2 << "STOP\r\n"; } - mCommandSocket->close(); + mCommandSocketFinish->close(); file.close(); - delete mCommandSocket; - mCommandSocket = 0; + //delete ( mCommandSocket); + //mCommandSocket = 0; qDebug("Syncing succesful! "); setCaption( i18n("Easy-Pi-Sync succesful!") ); } void MainWindow::syncLocalFile() { diff --git a/korganizer/mainwindow.h b/korganizer/mainwindow.h index 9bb2302..5985d56 100644 --- a/korganizer/mainwindow.h +++ b/korganizer/mainwindow.h @@ -142,16 +142,17 @@ class MainWindow : public QMainWindow private slots: void fillSyncMenu(); void sendFile(QSocket* s); void getFile(QSocket* socket); void readFileFromSocket(); void endConnect(); private: QSocket* mCommandSocket; + QSocket* mCommandSocketFinish; KServerSocket * mServerSocket; bool mClosed; void saveOnClose(); int mCurrentSyncProfile; void enableQuick(); void performQuick(); void performQuickQuick(); void syncRemote( KSyncProfile* , bool ask = true); |