summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libkdepim/ksyncmanager.cpp26
-rw-r--r--libkdepim/ksyncmanager.h4
2 files changed, 27 insertions, 3 deletions
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp
index 08a263c..5214fe7 100644
--- a/libkdepim/ksyncmanager.cpp
+++ b/libkdepim/ksyncmanager.cpp
@@ -1072,4 +1072,7 @@ void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state)
//enum { success, errorW, errorR, quiet };
- if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ) {
- mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") );
+ if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ||state == KCommandSocket::errorPW ) {
+ if ( state == KCommandSocket::errorPW )
+ mParent->topLevelWidget()->setCaption( i18n("Wrong password: Receiving remote file failed.") );
+ else
+ mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") );
delete s;
@@ -1203,2 +1206,11 @@ void KServerSocket::readClient()
}
+void KServerSocket::error_connect()
+{
+ QTextStream os( mSocket );
+ os.setEncoding( QTextStream::Latin1 );
+ os << "ERROR_PW\r\n\r\n";
+ mSocket->close();
+ if ( mSocket->state() == QSocket::Idle )
+ QTimer::singleShot( 10, this , SLOT ( discardClient()));
+}
void KServerSocket::end_connect()
@@ -1353,2 +1365,3 @@ KCommandSocket::KCommandSocket ( QString password, Q_UINT16 port, QString host,
mFirst = false;
+ mFirstLine = true;
mPort = port;
@@ -1450,2 +1463,3 @@ void KCommandSocket::startReadFileFromSocket()
mTime.start();
+ mFirstLine = true;
QTimer::singleShot( 1, this , SLOT (readFileFromSocket( ) ));
@@ -1459,2 +1473,10 @@ void KCommandSocket::readFileFromSocket()
QString line = mSocket->readLine ();
+ if ( mFirstLine ) {
+ mFirstLine = false;
+ if ( line.left( 8 ) == "ERROR_PW" ) {
+ mRetVal = errorPW;
+ deleteSocket();
+ return ;
+ }
+ }
mFileString += line;
diff --git a/libkdepim/ksyncmanager.h b/libkdepim/ksyncmanager.h
index 09bd1c1..810a515 100644
--- a/libkdepim/ksyncmanager.h
+++ b/libkdepim/ksyncmanager.h
@@ -64,2 +64,3 @@ class KServerSocket : public QServerSocket
void end_connect();
+ void error_connect();
QDialog* mSyncActionDialog;
@@ -76,3 +77,3 @@ class KCommandSocket : public QObject
public:
- enum state { successR, errorR, successW, errorW, errorTO, quiet };
+ enum state { successR, errorR, successW, errorW, errorTO, errorPW,quiet };
KCommandSocket ( QString password, Q_UINT16 port, QString host, QObject * parent=0, QWidget* cap = 0, const char * name=0 );
@@ -104,2 +105,3 @@ class KCommandSocket : public QObject
bool mFirst;
+ bool mFirstLine;
};