-rw-r--r-- | korganizer/koprefs.cpp | 1 | ||||
-rw-r--r-- | korganizer/koprefs.h | 1 | ||||
-rw-r--r-- | korganizer/mainwindow.cpp | 36 | ||||
-rw-r--r-- | korganizer/mainwindow.h | 1 |
4 files changed, 23 insertions, 16 deletions
diff --git a/korganizer/koprefs.cpp b/korganizer/koprefs.cpp index e0623d5..c28da9a 100644 --- a/korganizer/koprefs.cpp +++ b/korganizer/koprefs.cpp @@ -190,8 +190,9 @@ KOPrefs::KOPrefs() : // addItemBool("WriteBackExistingOnly",&mWriteBackExistingOnly,false); // addItemBool("AskForPreferences",&mAskForPreferences,true); // addItemBool("ShowSyncSummary",&mShowSyncSummary,true); addItemString("PassiveSyncPort",&mPassiveSyncPort,"9197" ); + addItemString("PassiveSyncPw",&mPassiveSyncPw,"abc" ); addItemString("ActiveSyncPort",&mActiveSyncPort,"9197" ); addItemString("ActiveSyncIP",&mActiveSyncIP,"192.168.0.40" ); addItemBool("ShowSyncEvents",&mShowSyncEvents,false); addItemInt("LastSyncTime",&mLastSyncTime,0); diff --git a/korganizer/koprefs.h b/korganizer/koprefs.h index 7abd741..d9ac851 100644 --- a/korganizer/koprefs.h +++ b/korganizer/koprefs.h @@ -278,8 +278,9 @@ class KOPrefs : public KPimPrefs int mAlarmSuspendCount; int mAlarmBeepInterval; QString mPassiveSyncPort; + QString mPassiveSyncPw; QString mActiveSyncPort; QString mActiveSyncIP; diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp index 7b666d1..de94b8c 100644 --- a/korganizer/mainwindow.cpp +++ b/korganizer/mainwindow.cpp @@ -1891,10 +1891,8 @@ QString MainWindow::getPassword( ) } void MainWindow::enableQuick() { - QString passWordPiSync = "bhdrvmk"; - QString retfile = ""; QDialog dia ( this, "input-dialog", true ); QLineEdit lab ( &dia ); QVBoxLayout lay( &dia ); lab.setText( KOPrefs::instance()->mPassiveSyncPort ); @@ -1904,9 +1902,9 @@ void MainWindow::enableQuick() lay.addWidget( &label); lay.addWidget( &lab); QLineEdit lepw ( &dia ); - lepw.setText( "abc" ); + lepw.setText( KOPrefs::instance()->mPassiveSyncPw ); QLabel label2 ( i18n("Password to enable\naccess from remote:"), &dia ); lay.addWidget( &label2); lay.addWidget( &lepw); dia.setFixedSize( 230,80 ); @@ -1914,29 +1912,26 @@ void MainWindow::enableQuick() QPushButton pb ( "OK", &dia); lay.addWidget( &pb ); connect(&pb, SIGNAL( clicked() ), &dia, SLOT ( accept() ) ); dia.show(); - int res = dia.exec(); - if ( res ) - retfile = lab.text(); - else + if ( ! dia.exec() ) return; dia.hide(); - passWordPiSync = lepw.text(); qApp->processEvents(); - KOPrefs::instance()->mPassiveSyncPort = retfile; + KOPrefs::instance()->mPassiveSyncPw = lepw.text(); + KOPrefs::instance()->mPassiveSyncPort = lab.text(); bool ok; - Q_UINT16 port = retfile.toUInt(&ok); + Q_UINT16 port = KOPrefs::instance()->mPassiveSyncPort.toUInt(&ok); if ( ! ok ) { KMessageBox::information( this, i18n("No valid port")); return; } //qDebug("port %d ", port); - mServerSocket = new KServerSocket ( passWordPiSync, port ,1 ); + mServerSocket = new KServerSocket ( KOPrefs::instance()->mPassiveSyncPw, port ,1 ); mServerSocket->setFileName( defaultFileName() ); //qDebug("connected "); if ( !mServerSocket->ok() ) { - qWarning("Failed to bind to port %d", port); + KMessageBox::information( this, i18n("Failed to bind or\nlisten to the port!")); delete mServerSocket; mServerSocket = 0; return; } @@ -2193,8 +2188,9 @@ KServerSocket:: KServerSocket ( QString pw, Q_UINT16 port, int backlog, QObject { mPassWord = pw; mSocket = 0; mSyncActionDialog = 0; + blockRC = false; }; void KServerSocket::newConnection ( int socket ) { @@ -2220,15 +2216,19 @@ void KServerSocket::discardClient() //emit endConnect(); } void KServerSocket::readClient() { + if ( blockRC ) + return; if ( mSocket == 0 ) { qDebug("ERROR::KServerSocket::readClient(): mSocket == 0 "); return; } - //qDebug("KServerSocket readClient()"); + qDebug("KServerSocket readClient()"); if ( mSocket->canReadLine() ) { - QStringList tokens = QStringList::split( QRegExp("[ \r\n][ \r\n]*"), mSocket->readLine() ); + QString line = mSocket->readLine(); + qDebug("KServerSocket readline: %s ", line.latin1()); + QStringList tokens = QStringList::split( QRegExp("[ \r\n][ \r\n]*"), line ); if ( tokens[0] == "GET" ) { if ( tokens[1] == mPassWord ) //emit sendFile( mSocket ); send_file(); @@ -2237,11 +2237,13 @@ void KServerSocket::readClient() qDebug("password %s, invalid password %s ",mPassWord.latin1(), tokens[1].latin1() ); } } if ( tokens[0] == "PUT" ) { - if ( tokens[1] == mPassWord ) + if ( tokens[1] == mPassWord ) { //emit getFile( mSocket ); + blockRC = true; get_file(); + } else { KMessageBox::information( 0, i18n("ERROR:\nGot receive file request\nwith invalid password")); qDebug("password %s, invalid password %s ",mPassWord.latin1(), tokens[1].latin1() ); } @@ -2263,9 +2265,9 @@ void KServerSocket::send_file() if ( mSyncActionDialog ) delete mSyncActionDialog; mSyncActionDialog = new QDialog ( 0, "input-dialog", true ); mSyncActionDialog->setCaption(i18n("Received sync request")); - QLabel* label = new QLabel( i18n("Synchronizing...\nDo not use this application!\n\nIf syncing fails you can close this dialog."), mSyncActionDialog ); + QLabel* label = new QLabel( i18n("Synchronizing from remote ...\n\nDo not use this application!\n\nIf syncing fails\nyou can close this dialog."), mSyncActionDialog ); QVBoxLayout* lay = new QVBoxLayout( mSyncActionDialog ); lay->addWidget( label); lay->setMargin(7); lay->setSpacing(7); @@ -2336,8 +2338,9 @@ void KServerSocket::readBackFileFromSocket() mSyncActionDialog = 0; qDebug("error open cal file "); piFileString = ""; emit file_received( false ); + blockRC = false; return ; } @@ -2352,8 +2355,9 @@ void KServerSocket::readBackFileFromSocket() file.close(); delete mSyncActionDialog; mSyncActionDialog = 0; piFileString = ""; + blockRC = false; emit file_received( true ); } diff --git a/korganizer/mainwindow.h b/korganizer/mainwindow.h index ba627b9..7b24b88 100644 --- a/korganizer/mainwindow.h +++ b/korganizer/mainwindow.h @@ -46,8 +46,9 @@ private slots: void discardClient(); void readClient(); void readBackFileFromSocket(); private : + bool blockRC; void send_file(); void get_file(); void end_connect(); QDialog* mSyncActionDialog; |