summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-02-24 00:28:59 (UTC)
committer zautrix <zautrix>2005-02-24 00:28:59 (UTC)
commit513496c67403deb04339cfc87143ed5554720e32 (patch) (unidiff)
tree87a0195e9875c539061ff70d18b05e4d50e96150
parentfd1e112db9e9d3dc656a540c05a87cbb4679939c (diff)
downloadkdepimpi-513496c67403deb04339cfc87143ed5554720e32.zip
kdepimpi-513496c67403deb04339cfc87143ed5554720e32.tar.gz
kdepimpi-513496c67403deb04339cfc87143ed5554720e32.tar.bz2
fix
Diffstat (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
@@ -1090,203 +1090,206 @@ void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state)
1090 1090
1091 } else if ( state == KCommandSocket::successR ) { 1091 } else if ( state == KCommandSocket::successR ) {
1092 QTimer::singleShot( 1, this , SLOT ( readFileFromSocket())); 1092 QTimer::singleShot( 1, this , SLOT ( readFileFromSocket()));
1093 1093
1094 } else if ( state == KCommandSocket::successW ) { 1094 } else if ( state == KCommandSocket::successW ) {
1095 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync successful!") ); 1095 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync successful!") );
1096 mPisyncFinished = true; 1096 mPisyncFinished = true;
1097 } else if ( state == KCommandSocket::quiet ){ 1097 } else if ( state == KCommandSocket::quiet ){
1098 qDebug("KSS: quiet "); 1098 qDebug("KSS: quiet ");
1099 mPisyncFinished = true; 1099 mPisyncFinished = true;
1100 } else { 1100 } else {
1101 qDebug("KSS: Error: unknown state: %d ", state); 1101 qDebug("KSS: Error: unknown state: %d ", state);
1102 mPisyncFinished = true; 1102 mPisyncFinished = true;
1103 } 1103 }
1104 1104
1105 delete s; 1105 delete s;
1106} 1106}
1107 1107
1108void KSyncManager::readFileFromSocket() 1108void KSyncManager::readFileFromSocket()
1109{ 1109{
1110 QString fileName = syncFileName(); 1110 QString fileName = syncFileName();
1111 bool syncOK = true; 1111 bool syncOK = true;
1112 mParent->topLevelWidget()->setCaption( i18n("Remote file saved to temp file.") ); 1112 mParent->topLevelWidget()->setCaption( i18n("Remote file saved to temp file.") );
1113 if ( ! syncWithFile( fileName , true ) ) { 1113 if ( ! syncWithFile( fileName , true ) ) {
1114 mParent->topLevelWidget()->setCaption( i18n("Syncing failed.") ); 1114 mParent->topLevelWidget()->setCaption( i18n("Syncing failed.") );
1115 syncOK = false; 1115 syncOK = false;
1116 } 1116 }
1117 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this, mParent->topLevelWidget() ); 1117 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this, mParent->topLevelWidget() );
1118 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) ); 1118 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) );
1119 if ( mWriteBackFile && syncOK ) 1119 if ( mWriteBackFile && syncOK )
1120 commandSocket->writeFile( fileName ); 1120 commandSocket->writeFile( fileName );
1121 else { 1121 else {
1122 commandSocket->sendStop(); 1122 commandSocket->sendStop();
1123 if ( syncOK ) 1123 if ( syncOK )
1124 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync succesful!") ); 1124 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync succesful!") );
1125 mPisyncFinished = true; 1125 mPisyncFinished = true;
1126 } 1126 }
1127} 1127}
1128 1128
1129KServerSocket:: KServerSocket ( QString pw, Q_UINT16 port, int backlog, QObject * parent, const char * name ) : QServerSocket( port, backlog, parent, name ) 1129KServerSocket:: KServerSocket ( QString pw, Q_UINT16 port, int backlog, QObject * parent, const char * name ) : QServerSocket( port, backlog, parent, name )
1130{ 1130{
1131 mPassWord = pw; 1131 mPassWord = pw;
1132 mSocket = 0; 1132 mSocket = 0;
1133 mSyncActionDialog = 0; 1133 mSyncActionDialog = 0;
1134 blockRC = false; 1134 blockRC = false;
1135} 1135}
1136 1136
1137void KServerSocket::newConnection ( int socket ) 1137void 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);
1245 if ( secs > 180 ) 1248 if ( secs > 180 )
1246 { 1249 {
1247 if ( secs > 300 ) { 1250 if ( secs > 300 ) {
1248 if ( KMessageBox::Cancel == KMessageBox::warningContinueCancel(0, i18n("The clocks of the syncing\ndevices have a difference\nof more than 5 minutes.\nPlease adjust your clocks.\nYou may get wrong syncing results!\nPlease confirm synchronization!"), i18n("High clock skew!"),i18n("Synchronize!"))) { 1251 if ( KMessageBox::Cancel == KMessageBox::warningContinueCancel(0, i18n("The clocks of the syncing\ndevices have a difference\nof more than 5 minutes.\nPlease adjust your clocks.\nYou may get wrong syncing results!\nPlease confirm synchronization!"), i18n("High clock skew!"),i18n("Synchronize!"))) {
1249 qDebug("KSS::Sync cancelled ,cs"); 1252 qDebug("KSS::Sync cancelled ,cs");
1250 return ; 1253 return ;
1251 } 1254 }
1252 } 1255 }
1253 QFont f = label->font(); 1256 QFont f = label->font();
1254 f.setPointSize ( f.pointSize() *2 ); 1257 f.setPointSize ( f.pointSize() *2 );
1255 f. setBold (true ); 1258 f. setBold (true );
1256 QLabel* label = new QLabel( warning, mSyncActionDialog ); 1259 QLabel* label = new QLabel( warning, mSyncActionDialog );
1257 label->setFont( f ); 1260 label->setFont( f );
1258 warning = i18n("ADJUST\nYOUR\nCLOCKS!"); 1261 warning = i18n("ADJUST\nYOUR\nCLOCKS!");
1259 label->setText( warning ); 1262 label->setText( warning );
1260 label->setAlignment ( Qt::AlignHCenter ); 1263 label->setAlignment ( Qt::AlignHCenter );
1261 lay->addWidget( label); 1264 lay->addWidget( label);
1262 mSyncActionDialog->setFixedSize( 230, 300); 1265 mSyncActionDialog->setFixedSize( 230, 300);
1263 } else { 1266 } else {
1264 mSyncActionDialog->setFixedSize( 230, 200); 1267 mSyncActionDialog->setFixedSize( 230, 200);
1265 } 1268 }
1266 } else { 1269 } else {
1267 mSyncActionDialog->setFixedSize( 230, 120); 1270 mSyncActionDialog->setFixedSize( 230, 120);
1268 } 1271 }
1269 } else 1272 } else
1270 mSyncActionDialog->setFixedSize( 230, 120); 1273 mSyncActionDialog->setFixedSize( 230, 120);
1271 mSyncActionDialog->show(); 1274 mSyncActionDialog->show();
1272 mSyncActionDialog->raise(); 1275 mSyncActionDialog->raise();
1273 emit request_file(); 1276 emit request_file();
1274 qApp->processEvents(); 1277 qApp->processEvents();
1275 QString fileName = mFileName; 1278 QString fileName = mFileName;
1276 QFile file( fileName ); 1279 QFile file( fileName );
1277 if (!file.open( IO_ReadOnly ) ) { 1280 if (!file.open( IO_ReadOnly ) ) {
1278 delete mSyncActionDialog; 1281 delete mSyncActionDialog;
1279 mSyncActionDialog = 0; 1282 mSyncActionDialog = 0;
1280 qDebug("KSS::error open sync file: %s ", fileName.latin1()); 1283 qDebug("KSS::error open sync file: %s ", fileName.latin1());
1281 mSocket->close(); 1284 mSocket->close();
1282 if ( mSocket->state() == QSocket::Idle ) 1285 if ( mSocket->state() == QSocket::Idle )
1283 QTimer::singleShot( 10, this , SLOT ( discardClient())); 1286 QTimer::singleShot( 10, this , SLOT ( discardClient()));
1284 return ; 1287 return ;
1285 1288
1286 } 1289 }
1287 mSyncActionDialog->setCaption( i18n("Sending file...") ); 1290 mSyncActionDialog->setCaption( i18n("Sending file...") );
1288 QTextStream ts( &file ); 1291 QTextStream ts( &file );
1289 ts.setEncoding( QTextStream::Latin1 ); 1292 ts.setEncoding( QTextStream::Latin1 );
1290 1293
1291 QTextStream os( mSocket ); 1294 QTextStream os( mSocket );
1292 os.setEncoding( QTextStream::Latin1 ); 1295 os.setEncoding( QTextStream::Latin1 );