summaryrefslogtreecommitdiffabout
path: root/libkdepim/ksyncmanager.cpp
authorzautrix <zautrix>2005-02-24 00:28:59 (UTC)
committer zautrix <zautrix>2005-02-24 00:28:59 (UTC)
commit513496c67403deb04339cfc87143ed5554720e32 (patch) (unidiff)
tree87a0195e9875c539061ff70d18b05e4d50e96150 /libkdepim/ksyncmanager.cpp
parentfd1e112db9e9d3dc656a540c05a87cbb4679939c (diff)
downloadkdepimpi-513496c67403deb04339cfc87143ed5554720e32.zip
kdepimpi-513496c67403deb04339cfc87143ed5554720e32.tar.gz
kdepimpi-513496c67403deb04339cfc87143ed5554720e32.tar.bz2
fix
Diffstat (limited to 'libkdepim/ksyncmanager.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libkdepim/ksyncmanager.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp
index 5214fe7..d8ca3ba 100644
--- a/libkdepim/ksyncmanager.cpp
+++ b/libkdepim/ksyncmanager.cpp
@@ -1138,107 +1138,110 @@ void KServerSocket::newConnection ( int socket )
1138{ 1138{
1139 // qDebug("KServerSocket:New connection %d ", socket); 1139 // qDebug("KServerSocket:New connection %d ", socket);
1140 if ( mSocket ) { 1140 if ( mSocket ) {
1141 qDebug("KSS::newConnection Socket deleted! "); 1141 qDebug("KSS::newConnection Socket deleted! ");
1142 delete mSocket; 1142 delete mSocket;
1143 mSocket = 0; 1143 mSocket = 0;
1144 } 1144 }
1145 mSocket = new QSocket( this ); 1145 mSocket = new QSocket( this );
1146 connect( mSocket , SIGNAL(readyRead()), this, SLOT(readClient()) ); 1146 connect( mSocket , SIGNAL(readyRead()), this, SLOT(readClient()) );
1147 connect( mSocket , SIGNAL(delayedCloseFinished()), this, SLOT(discardClient()) ); 1147 connect( mSocket , SIGNAL(delayedCloseFinished()), this, SLOT(discardClient()) );
1148 mSocket->setSocket( socket ); 1148 mSocket->setSocket( socket );
1149} 1149}
1150 1150
1151void KServerSocket::discardClient() 1151void KServerSocket::discardClient()
1152{ 1152{
1153 //qDebug(" KServerSocket::discardClient()"); 1153 //qDebug(" KServerSocket::discardClient()");
1154 if ( mSocket ) { 1154 if ( mSocket ) {
1155 delete mSocket; 1155 delete mSocket;
1156 mSocket = 0; 1156 mSocket = 0;
1157 } 1157 }
1158 //emit endConnect(); 1158 //emit endConnect();
1159} 1159}
1160void KServerSocket::readClient() 1160void KServerSocket::readClient()
1161{ 1161{
1162 if ( blockRC ) 1162 if ( blockRC )
1163 return; 1163 return;
1164 if ( mSocket == 0 ) { 1164 if ( mSocket == 0 ) {
1165 qDebug("ERROR::KSS::readClient(): mSocket == 0 "); 1165 qDebug("ERROR::KSS::readClient(): mSocket == 0 ");
1166 return; 1166 return;
1167 } 1167 }
1168 //qDebug("KServerSocket::readClient()"); 1168 //qDebug("KServerSocket::readClient()");
1169 if ( mSocket->canReadLine() ) { 1169 if ( mSocket->canReadLine() ) {
1170 QString line = mSocket->readLine(); 1170 QString line = mSocket->readLine();
1171 //qDebug("KServerSocket readline: %s ", line.latin1()); 1171 //qDebug("KServerSocket readline: %s ", line.latin1());
1172 QStringList tokens = QStringList::split( QRegExp("[ \r\n][ \r\n]*"), line ); 1172 QStringList tokens = QStringList::split( QRegExp("[ \r\n][ \r\n]*"), line );
1173 if ( tokens[0] == "GET" ) { 1173 if ( tokens[0] == "GET" ) {
1174 if ( tokens[1] == mPassWord ) { 1174 if ( tokens[1] == mPassWord ) {
1175 //emit sendFile( mSocket ); 1175 //emit sendFile( mSocket );
1176 bool ok = false; 1176 bool ok = false;
1177 QDateTime dt = KGlobal::locale()->readDateTime( tokens[2], KLocale::ISODate, &ok); 1177 QDateTime dt = KGlobal::locale()->readDateTime( tokens[2], KLocale::ISODate, &ok);
1178 if ( ok ) { 1178 if ( ok ) {
1179 KSyncManager::mRequestedSyncEvent = dt; 1179 KSyncManager::mRequestedSyncEvent = dt;
1180 } 1180 }
1181 else 1181 else
1182 KSyncManager::mRequestedSyncEvent = QDateTime(); 1182 KSyncManager::mRequestedSyncEvent = QDateTime();
1183 send_file(); 1183 send_file();
1184 } 1184 }
1185 else { 1185 else {
1186 error_connect();
1186 KMessageBox::error( 0, i18n("Got send file request\nwith invalid password")); 1187 KMessageBox::error( 0, i18n("Got send file request\nwith invalid password"));
1187 //qDebug("password %s, invalid password %s ",mPassWord.latin1(), tokens[1].latin1() ); 1188 //qDebug("password %s, invalid password %s ",mPassWord.latin1(), tokens[1].latin1() );
1188 } 1189 }
1189 } 1190 }
1190 if ( tokens[0] == "PUT" ) { 1191 if ( tokens[0] == "PUT" ) {
1191 if ( tokens[1] == mPassWord ) { 1192 if ( tokens[1] == mPassWord ) {
1192 //emit getFile( mSocket ); 1193 //emit getFile( mSocket );
1193 blockRC = true; 1194 blockRC = true;
1194 get_file(); 1195 get_file();
1195 } 1196 }
1196 else { 1197 else {
1198 error_connect();
1199 end_connect();
1197 KMessageBox::error( 0, i18n("Got receive file request\nwith invalid password")); 1200 KMessageBox::error( 0, i18n("Got receive file request\nwith invalid password"));
1198 //qDebug("password %s, invalid password %s ",mPassWord.latin1(), tokens[1].latin1() ); 1201 //qDebug("password %s, invalid password %s ",mPassWord.latin1(), tokens[1].latin1() );
1199 } 1202 }
1200 } 1203 }
1201 if ( tokens[0] == "STOP" ) { 1204 if ( tokens[0] == "STOP" ) {
1202 //emit endConnect(); 1205 //emit endConnect();
1203 end_connect(); 1206 end_connect();
1204 } 1207 }
1205 } 1208 }
1206} 1209}
1207void KServerSocket::error_connect() 1210void KServerSocket::error_connect()
1208{ 1211{
1209 QTextStream os( mSocket ); 1212 QTextStream os( mSocket );
1210 os.setEncoding( QTextStream::Latin1 ); 1213 os.setEncoding( QTextStream::Latin1 );
1211 os << "ERROR_PW\r\n\r\n"; 1214 os << "ERROR_PW\r\n\r\n";
1212 mSocket->close(); 1215 mSocket->close();
1213 if ( mSocket->state() == QSocket::Idle ) 1216 if ( mSocket->state() == QSocket::Idle )
1214 QTimer::singleShot( 10, this , SLOT ( discardClient())); 1217 QTimer::singleShot( 10, this , SLOT ( discardClient()));
1215} 1218}
1216void KServerSocket::end_connect() 1219void KServerSocket::end_connect()
1217{ 1220{
1218 delete mSyncActionDialog; 1221 delete mSyncActionDialog;
1219 mSyncActionDialog = 0; 1222 mSyncActionDialog = 0;
1220} 1223}
1221void KServerSocket::send_file() 1224void KServerSocket::send_file()
1222{ 1225{
1223 //qDebug("MainWindow::sendFile(QSocket* s) "); 1226 //qDebug("MainWindow::sendFile(QSocket* s) ");
1224 if ( mSyncActionDialog ) 1227 if ( mSyncActionDialog )
1225 delete mSyncActionDialog; 1228 delete mSyncActionDialog;
1226 mSyncActionDialog = new QDialog ( 0, "input-dialog", true ); 1229 mSyncActionDialog = new QDialog ( 0, "input-dialog", true );
1227 mSyncActionDialog->setCaption(i18n("Received sync request")); 1230 mSyncActionDialog->setCaption(i18n("Received sync request"));
1228 QLabel* label = new QLabel( i18n("Synchronizing from remote ...\n\nDo not use this application!\n\nIf syncing fails\nyou can close this dialog."), mSyncActionDialog ); 1231 QLabel* label = new QLabel( i18n("Synchronizing from remote ...\n\nDo not use this application!\n\nIf syncing fails\nyou can close this dialog."), mSyncActionDialog );
1229 label->setAlignment ( Qt::AlignHCenter ); 1232 label->setAlignment ( Qt::AlignHCenter );
1230 QVBoxLayout* lay = new QVBoxLayout( mSyncActionDialog ); 1233 QVBoxLayout* lay = new QVBoxLayout( mSyncActionDialog );
1231 lay->addWidget( label); 1234 lay->addWidget( label);
1232 lay->setMargin(7); 1235 lay->setMargin(7);
1233 lay->setSpacing(7); 1236 lay->setSpacing(7);
1234 if ( KSyncManager::mRequestedSyncEvent.isValid() ) { 1237 if ( KSyncManager::mRequestedSyncEvent.isValid() ) {
1235 int secs = QDateTime::currentDateTime().secsTo( KSyncManager::mRequestedSyncEvent ); 1238 int secs = QDateTime::currentDateTime().secsTo( KSyncManager::mRequestedSyncEvent );
1236 if ( secs < 0 ) 1239 if ( secs < 0 )
1237 secs = secs * (-1); 1240 secs = secs * (-1);
1238 if ( secs > 30 ) 1241 if ( secs > 30 )
1239 //if ( true ) 1242 //if ( true )
1240 { 1243 {
1241 QString warning = i18n("Clock skew of\nsyncing devices\nis %1 seconds!").arg( secs ); 1244 QString warning = i18n("Clock skew of\nsyncing devices\nis %1 seconds!").arg( secs );
1242 QLabel* label = new QLabel( warning, mSyncActionDialog ); 1245 QLabel* label = new QLabel( warning, mSyncActionDialog );
1243 label->setAlignment ( Qt::AlignHCenter ); 1246 label->setAlignment ( Qt::AlignHCenter );
1244 lay->addWidget( label); 1247 lay->addWidget( label);