summaryrefslogtreecommitdiffabout
path: root/libkdepim
authorzautrix <zautrix>2005-11-25 21:00:35 (UTC)
committer zautrix <zautrix>2005-11-25 21:00:35 (UTC)
commit81d012860ea3d5d17d0e9cf16ec992baa83efbbf (patch) (unidiff)
tree2e5ce0b81f1700f9c6dc60a8411029cd194e45a1 /libkdepim
parent2468bddcb380d8621d5bb49b69b3492d90562d93 (diff)
downloadkdepimpi-81d012860ea3d5d17d0e9cf16ec992baa83efbbf.zip
kdepimpi-81d012860ea3d5d17d0e9cf16ec992baa83efbbf.tar.gz
kdepimpi-81d012860ea3d5d17d0e9cf16ec992baa83efbbf.tar.bz2
sync
Diffstat (limited to 'libkdepim') (more/less context) (ignore whitespace changes)
-rw-r--r--libkdepim/ksyncmanager.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp
index d2cb71b..e1b15d2 100644
--- a/libkdepim/ksyncmanager.cpp
+++ b/libkdepim/ksyncmanager.cpp
@@ -1008,771 +1008,771 @@ void KSyncManager::syncKDE()
1008 result = system ( command.latin1()); 1008 result = system ( command.latin1());
1009 qDebug("Cal dump 34 command call result result: %d ", result); 1009 qDebug("Cal dump 34 command call result result: %d ", result);
1010 if ( result != 0 ) { 1010 if ( result != 0 ) {
1011 KMessageBox::error( 0, i18n("Error accessing KDE calendar data.\nMake sure the file\n%1kdecaldump3x\nexists ( x = 3 or 4 ).\nSupported KDE versions are 3.3 and 3.4.\nUsed version should be auto detected.\n").arg( commandpath )); 1011 KMessageBox::error( 0, i18n("Error accessing KDE calendar data.\nMake sure the file\n%1kdecaldump3x\nexists ( x = 3 or 4 ).\nSupported KDE versions are 3.3 and 3.4.\nUsed version should be auto detected.\n").arg( commandpath ));
1012 return; 1012 return;
1013 } 1013 }
1014 } 1014 }
1015 if ( syncWithFile( fileName,true ) ) { 1015 if ( syncWithFile( fileName,true ) ) {
1016 if ( mWriteBackFile ) { 1016 if ( mWriteBackFile ) {
1017 command += " --read"; 1017 command += " --read";
1018 system ( command.latin1()); 1018 system ( command.latin1());
1019 } 1019 }
1020 } 1020 }
1021 1021
1022 } 1022 }
1023 break; 1023 break;
1024 case (PWMPI): 1024 case (PWMPI):
1025 1025
1026 break; 1026 break;
1027 default: 1027 default:
1028 qDebug("KSM::slotSyncMenu: invalid apptype selected"); 1028 qDebug("KSM::slotSyncMenu: invalid apptype selected");
1029 break; 1029 break;
1030 1030
1031 } 1031 }
1032} 1032}
1033 1033
1034void KSyncManager::syncSharp() 1034void KSyncManager::syncSharp()
1035{ 1035{
1036 1036
1037 if ( ! syncExternalApplication("sharp") ) 1037 if ( ! syncExternalApplication("sharp") )
1038 qDebug("KSM::ERROR sync sharp "); 1038 qDebug("KSM::ERROR sync sharp ");
1039} 1039}
1040 1040
1041bool KSyncManager::syncExternalApplication(QString resource) 1041bool KSyncManager::syncExternalApplication(QString resource)
1042{ 1042{
1043 1043
1044 emit save(); 1044 emit save();
1045 1045
1046 if ( mAskForPreferences ) 1046 if ( mAskForPreferences )
1047 if ( !edit_sync_options()) { 1047 if ( !edit_sync_options()) {
1048 mParent->topLevelWidget()->setCaption( i18n("Syncing aborted. Nothing synced.") ); 1048 mParent->topLevelWidget()->setCaption( i18n("Syncing aborted. Nothing synced.") );
1049 return false; 1049 return false;
1050 } 1050 }
1051 1051
1052 qDebug("KSM::Sync extern %s", resource.latin1()); 1052 qDebug("KSM::Sync extern %s", resource.latin1());
1053 1053
1054 bool syncOK = mImplementation->syncExternal(this, resource); 1054 bool syncOK = mImplementation->syncExternal(this, resource);
1055 1055
1056 return syncOK; 1056 return syncOK;
1057 1057
1058} 1058}
1059 1059
1060void KSyncManager::syncPhone() 1060void KSyncManager::syncPhone()
1061{ 1061{
1062 1062
1063 syncExternalApplication("phone"); 1063 syncExternalApplication("phone");
1064 1064
1065} 1065}
1066 1066
1067void KSyncManager::showProgressBar(int percentage, QString caption, int total) 1067void KSyncManager::showProgressBar(int percentage, QString caption, int total)
1068{ 1068{
1069 if (!bar->isVisible()) 1069 if (!bar->isVisible())
1070 { 1070 {
1071 int w = 300; 1071 int w = 300;
1072 if ( QApplication::desktop()->width() < 320 ) 1072 if ( QApplication::desktop()->width() < 320 )
1073 w = 220; 1073 w = 220;
1074 int h = bar->sizeHint().height() ; 1074 int h = bar->sizeHint().height() ;
1075 int dw = QApplication::desktop()->width(); 1075 int dw = QApplication::desktop()->width();
1076 int dh = QApplication::desktop()->height(); 1076 int dh = QApplication::desktop()->height();
1077 bar->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 1077 bar->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
1078 bar->setCaption (caption); 1078 bar->setCaption (caption);
1079 bar->setTotalSteps ( total ) ; 1079 bar->setTotalSteps ( total ) ;
1080 bar->show(); 1080 bar->show();
1081 } 1081 }
1082 bar->raise(); 1082 bar->raise();
1083 bar->setProgress( percentage ); 1083 bar->setProgress( percentage );
1084 qApp->processEvents(); 1084 qApp->processEvents();
1085} 1085}
1086 1086
1087void KSyncManager::hideProgressBar() 1087void KSyncManager::hideProgressBar()
1088{ 1088{
1089 bar->hide(); 1089 bar->hide();
1090 qApp->processEvents(); 1090 qApp->processEvents();
1091} 1091}
1092 1092
1093bool KSyncManager::isProgressBarCanceled() 1093bool KSyncManager::isProgressBarCanceled()
1094{ 1094{
1095 return !bar->isVisible(); 1095 return !bar->isVisible();
1096} 1096}
1097 1097
1098QString KSyncManager::syncFileName() 1098QString KSyncManager::syncFileName()
1099{ 1099{
1100 1100
1101 QString fn = "tempfile"; 1101 QString fn = "tempfile";
1102 switch(mTargetApp) 1102 switch(mTargetApp)
1103 { 1103 {
1104 case (KAPI): 1104 case (KAPI):
1105 fn = "tempsyncab.vcf"; 1105 fn = "tempsyncab.vcf";
1106 break; 1106 break;
1107 case (KOPI): 1107 case (KOPI):
1108 fn = "tempsynccal.ics"; 1108 fn = "tempsynccal.ics";
1109 break; 1109 break;
1110 case (PWMPI): 1110 case (PWMPI):
1111 fn = "tempsyncpw.pwm"; 1111 fn = "tempsyncpw.pwm";
1112 break; 1112 break;
1113 default: 1113 default:
1114 break; 1114 break;
1115 } 1115 }
1116#ifdef DESKTOP_VERSION 1116#ifdef DESKTOP_VERSION
1117 return locateLocal( "tmp", fn ); 1117 return locateLocal( "tmp", fn );
1118#else 1118#else
1119 return (QString( "/tmp/" )+ fn ); 1119 return (QString( "/tmp/" )+ fn );
1120#endif 1120#endif
1121} 1121}
1122 1122
1123void KSyncManager::syncPi() 1123void KSyncManager::syncPi()
1124{ 1124{
1125 mIsKapiFile = true; 1125 mIsKapiFile = true;
1126 mPisyncFinished = false; 1126 mPisyncFinished = false;
1127 qApp->processEvents(); 1127 qApp->processEvents();
1128 if ( mAskForPreferences ) 1128 if ( mAskForPreferences )
1129 if ( !edit_pisync_options()) { 1129 if ( !edit_pisync_options()) {
1130 mParent->topLevelWidget()->setCaption( i18n("Syncing aborted. Nothing synced.") ); 1130 mParent->topLevelWidget()->setCaption( i18n("Syncing aborted. Nothing synced.") );
1131 mPisyncFinished = true; 1131 mPisyncFinished = true;
1132 return; 1132 return;
1133 } 1133 }
1134 bool ok; 1134 bool ok;
1135 Q_UINT16 port = mActiveSyncPort.toUInt(&ok); 1135 Q_UINT16 port = mActiveSyncPort.toUInt(&ok);
1136 if ( ! ok ) { 1136 if ( ! ok ) {
1137 mParent->topLevelWidget()->setCaption( i18n("Sorry, no valid port.Syncing cancelled.") ); 1137 mParent->topLevelWidget()->setCaption( i18n("Sorry, no valid port.Syncing cancelled.") );
1138 mPisyncFinished = true; 1138 mPisyncFinished = true;
1139 return; 1139 return;
1140 } 1140 }
1141 mCurrentResourceLocal = ""; 1141 mCurrentResourceLocal = "";
1142 mCurrentResourceRemote = ""; 1142 mCurrentResourceRemote = "";
1143 if ( mSpecificResources.count() ) { 1143 if ( mSpecificResources.count() ) {
1144 int lastSyncRes = mSpecificResources.count()/2; 1144 int lastSyncRes = mSpecificResources.count()/2;
1145 int ccc = mSpecificResources.count()-1; 1145 int ccc = mSpecificResources.count()-1;
1146 while ( lastSyncRes > 0 && ccc > 0 && mSpecificResources[ ccc ].isEmpty() ) { 1146 while ( lastSyncRes > 0 && ccc > 0 && mSpecificResources[ ccc ].isEmpty() ) {
1147 --ccc; 1147 --ccc;
1148 --lastSyncRes; 1148 --lastSyncRes;
1149 //qDebug ( "KSM: sync pi %d",ccc ); 1149 //qDebug ( "KSM: sync pi %d",ccc );
1150 } 1150 }
1151 int startLocal = 0; 1151 int startLocal = 0;
1152 int startRemote = mSpecificResources.count()/2; 1152 int startRemote = mSpecificResources.count()/2;
1153 emit multiResourceSyncStart( true ); 1153 emit multiResourceSyncStart( true );
1154 while ( startLocal < mSpecificResources.count()/2 ) { 1154 while ( startLocal < mSpecificResources.count()/2 ) {
1155 if ( startLocal+1 >= lastSyncRes ) 1155 if ( startLocal+1 >= lastSyncRes )
1156 emit multiResourceSyncStart( false ); 1156 emit multiResourceSyncStart( false );
1157 mPisyncFinished = false; 1157 mPisyncFinished = false;
1158 mCurrentResourceLocal = mSpecificResources[ startLocal ]; 1158 mCurrentResourceLocal = mSpecificResources[ startLocal ];
1159 mCurrentResourceRemote = mSpecificResources[ startRemote ]; 1159 mCurrentResourceRemote = mSpecificResources[ startRemote ];
1160 //qDebug ( "KSM: AAASyncing resources: Local: %s --- Remote: %s ",mCurrentResourceLocal.latin1(), mCurrentResourceRemote.latin1() ); 1160 //qDebug ( "KSM: AAASyncing resources: Local: %s --- Remote: %s ",mCurrentResourceLocal.latin1(), mCurrentResourceRemote.latin1() );
1161 if ( !mCurrentResourceRemote.isEmpty() ) { 1161 if ( !mCurrentResourceRemote.isEmpty() ) {
1162 qDebug ( "KSM: Syncing resources: Local: %s --- Remote: %s ",mCurrentResourceLocal.latin1(), mCurrentResourceRemote.latin1() ); 1162 qDebug ( "KSM: Syncing resources: Local: %s --- Remote: %s ",mCurrentResourceLocal.latin1(), mCurrentResourceRemote.latin1() );
1163 KCommandSocket* commandSocket = new KCommandSocket( mCurrentResourceRemote, mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() ); 1163 KCommandSocket* commandSocket = new KCommandSocket( mCurrentResourceRemote, mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() );
1164 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); 1164 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) );
1165 commandSocket->readFile( syncFileName() ); 1165 commandSocket->readFile( syncFileName() );
1166 while ( !mPisyncFinished ) { 1166 while ( !mPisyncFinished ) {
1167 //qDebug("waiting "); 1167 //qDebug("waiting ");
1168 qApp->processEvents(); 1168 qApp->processEvents();
1169 } 1169 }
1170 } 1170 }
1171 ++startRemote; 1171 ++startRemote;
1172 ++startLocal; 1172 ++startLocal;
1173 } 1173 }
1174 mPisyncFinished = true; 1174 mPisyncFinished = true;
1175 } else { 1175 } else {
1176 KCommandSocket* commandSocket = new KCommandSocket( "", mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() ); 1176 KCommandSocket* commandSocket = new KCommandSocket( "", mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() );
1177 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); 1177 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) );
1178 commandSocket->readFile( syncFileName() ); 1178 commandSocket->readFile( syncFileName() );
1179 } 1179 }
1180} 1180}
1181 1181
1182void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state) 1182void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state)
1183{ 1183{
1184 //enum { success, errorW, errorR, quiet }; 1184 //enum { success, errorW, errorR, quiet };
1185 1185
1186 1186
1187 1187
1188 if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ||state == KCommandSocket::errorPW || 1188 if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ||state == KCommandSocket::errorPW ||
1189 state == KCommandSocket::errorCA ||state == KCommandSocket::errorFI ||state == KCommandSocket::errorUN||state == KCommandSocket::errorED ) { 1189 state == KCommandSocket::errorCA ||state == KCommandSocket::errorFI ||state == KCommandSocket::errorUN||state == KCommandSocket::errorED ) {
1190 if ( state == KCommandSocket::errorPW ) 1190 if ( state == KCommandSocket::errorPW )
1191 mParent->topLevelWidget()->setCaption( i18n("Wrong password: Receiving remote file failed.") ); 1191 mParent->topLevelWidget()->setCaption( i18n("Wrong password: Receiving remote file failed.") );
1192 else if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ) 1192 else if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO )
1193 mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") ); 1193 mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") );
1194 else if ( state == KCommandSocket::errorCA ) 1194 else if ( state == KCommandSocket::errorCA )
1195 mParent->topLevelWidget()->setCaption( i18n("Sync cancelled from remote.") ); 1195 mParent->topLevelWidget()->setCaption( i18n("Sync cancelled from remote.") );
1196 else if ( state == KCommandSocket::errorFI ) 1196 else if ( state == KCommandSocket::errorFI )
1197 mParent->topLevelWidget()->setCaption( i18n("File error on remote.") ); 1197 mParent->topLevelWidget()->setCaption( i18n("File error on remote.") );
1198 else if ( state == KCommandSocket::errorED ) 1198 else if ( state == KCommandSocket::errorED )
1199 mParent->topLevelWidget()->setCaption( i18n("Please close error dialog on remote.") ); 1199 mParent->topLevelWidget()->setCaption( i18n("Please close error dialog on remote.") );
1200 else if ( state == KCommandSocket::errorUN ) 1200 else if ( state == KCommandSocket::errorUN )
1201 mParent->topLevelWidget()->setCaption( i18n("Unknown error on remote.") ); 1201 mParent->topLevelWidget()->setCaption( i18n("Unknown error on remote.") );
1202 delete s; 1202 delete s;
1203 if ( state == KCommandSocket::errorR ) { 1203 if ( state == KCommandSocket::errorR ) {
1204 KCommandSocket* commandSocket = new KCommandSocket( "",mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this, mParent->topLevelWidget()); 1204 KCommandSocket* commandSocket = new KCommandSocket( "",mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this, mParent->topLevelWidget());
1205 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) ); 1205 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) );
1206 commandSocket->sendStop(); 1206 commandSocket->sendStop();
1207 } 1207 }
1208 mPisyncFinished = true; 1208 mPisyncFinished = true;
1209 return; 1209 return;
1210 1210
1211 } else if ( state == KCommandSocket::errorW ) { 1211 } else if ( state == KCommandSocket::errorW ) {
1212 mParent->topLevelWidget()->setCaption( i18n("ERROR:Writing back file failed.") ); 1212 mParent->topLevelWidget()->setCaption( i18n("ERROR:Writing back file failed.") );
1213 mPisyncFinished = true; 1213 mPisyncFinished = true;
1214 1214
1215 } else if ( state == KCommandSocket::successR ) { 1215 } else if ( state == KCommandSocket::successR ) {
1216 QTimer::singleShot( 1, this , SLOT ( readFileFromSocket())); 1216 QTimer::singleShot( 1, this , SLOT ( readFileFromSocket()));
1217 1217
1218 } else if ( state == KCommandSocket::successW ) { 1218 } else if ( state == KCommandSocket::successW ) {
1219 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync successful!") ); 1219 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync successful!") );
1220 mPisyncFinished = true; 1220 mPisyncFinished = true;
1221 } else if ( state == KCommandSocket::quiet ){ 1221 } else if ( state == KCommandSocket::quiet ){
1222 qDebug("KSS: quiet "); 1222 qDebug("KSS: quiet ");
1223 mPisyncFinished = true; 1223 mPisyncFinished = true;
1224 } else { 1224 } else {
1225 qDebug("KSS: Error: unknown state: %d ", state); 1225 qDebug("KSS: Error: unknown state: %d ", state);
1226 mPisyncFinished = true; 1226 mPisyncFinished = true;
1227 } 1227 }
1228 1228
1229 delete s; 1229 delete s;
1230} 1230}
1231 1231
1232void KSyncManager::readFileFromSocket() 1232void KSyncManager::readFileFromSocket()
1233{ 1233{
1234 QString fileName = syncFileName(); 1234 QString fileName = syncFileName();
1235 bool syncOK = true; 1235 bool syncOK = true;
1236 mParent->topLevelWidget()->setCaption( i18n("Remote file saved to temp file.") ); 1236 mParent->topLevelWidget()->setCaption( i18n("Remote file saved to temp file.") );
1237 if ( ! syncWithFile( fileName , true ) ) { 1237 if ( ! syncWithFile( fileName , true ) ) {
1238 mParent->topLevelWidget()->setCaption( i18n("Syncing failed.") ); 1238 mParent->topLevelWidget()->setCaption( i18n("Syncing failed.") );
1239 syncOK = false; 1239 syncOK = false;
1240 } 1240 }
1241 KCommandSocket* commandSocket = new KCommandSocket( mCurrentResourceRemote,mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this, mParent->topLevelWidget() ); 1241 KCommandSocket* commandSocket = new KCommandSocket( mCurrentResourceRemote,mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this, mParent->topLevelWidget() );
1242 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) ); 1242 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) );
1243 if ( mWriteBackFile && syncOK ) { 1243 if ( mWriteBackFile && syncOK ) {
1244 mParent->topLevelWidget()->setCaption( i18n("Sending back file ...") ); 1244 mParent->topLevelWidget()->setCaption( i18n("Sending back file ...") );
1245 commandSocket->writeFile( fileName ); 1245 commandSocket->writeFile( fileName );
1246 } 1246 }
1247 else { 1247 else {
1248 commandSocket->sendStop(); 1248 commandSocket->sendStop();
1249 if ( syncOK ) 1249 if ( syncOK )
1250 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync succesful!") ); 1250 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync succesful!") );
1251 mPisyncFinished = true; 1251 mPisyncFinished = true;
1252 } 1252 }
1253} 1253}
1254 1254
1255KServerSocket:: KServerSocket ( QString pw, Q_UINT16 port, int backlog, QObject * parent, const char * name ) : QServerSocket( port, backlog, parent, name ) 1255KServerSocket:: KServerSocket ( QString pw, Q_UINT16 port, int backlog, QObject * parent, const char * name ) : QServerSocket( port, backlog, parent, name )
1256{ 1256{
1257 mPassWord = pw; 1257 mPassWord = pw;
1258 mSocket = 0; 1258 mSocket = 0;
1259 mSyncActionDialog = 0; 1259 mSyncActionDialog = 0;
1260 blockRC = false; 1260 blockRC = false;
1261 mErrorMessage = 0; 1261 mErrorMessage = 0;
1262} 1262}
1263 1263
1264void KServerSocket::newConnection ( int socket ) 1264void KServerSocket::newConnection ( int socket )
1265{ 1265{
1266 // qDebug("KServerSocket:New connection %d ", socket); 1266 // qDebug("KServerSocket:New connection %d ", socket);
1267 if ( mSocket ) { 1267 if ( mSocket ) {
1268 qDebug("KSS::newConnection Socket deleted! "); 1268 qDebug("KSS::newConnection Socket deleted! ");
1269 delete mSocket; 1269 delete mSocket;
1270 mSocket = 0; 1270 mSocket = 0;
1271 } 1271 }
1272 mSocket = new QSocket( this ); 1272 mSocket = new QSocket( this );
1273 connect( mSocket , SIGNAL(readyRead()), this, SLOT(readClient()) ); 1273 connect( mSocket , SIGNAL(readyRead()), this, SLOT(readClient()) );
1274 connect( mSocket , SIGNAL(delayedCloseFinished()), this, SLOT(discardClient()) ); 1274 connect( mSocket , SIGNAL(delayedCloseFinished()), this, SLOT(discardClient()) );
1275 mSocket->setSocket( socket ); 1275 mSocket->setSocket( socket );
1276} 1276}
1277 1277
1278void KServerSocket::discardClient() 1278void KServerSocket::discardClient()
1279{ 1279{
1280 QTimer::singleShot( 10, this , SLOT ( deleteSocket())); 1280 QTimer::singleShot( 10, this , SLOT ( deleteSocket()));
1281} 1281}
1282void KServerSocket::deleteSocket() 1282void KServerSocket::deleteSocket()
1283{ 1283{
1284 qDebug("KSS::deleteSocket"); 1284 qDebug("KSS::deleteSocket");
1285 if ( mSocket ) { 1285 if ( mSocket ) {
1286 delete mSocket; 1286 delete mSocket;
1287 mSocket = 0; 1287 mSocket = 0;
1288 } 1288 }
1289 if ( mErrorMessage ) 1289 if ( mErrorMessage )
1290 QTimer::singleShot( 10, this , SLOT ( displayErrorMessage())); 1290 QTimer::singleShot( 10, this , SLOT ( displayErrorMessage()));
1291} 1291}
1292void KServerSocket::readClient() 1292void KServerSocket::readClient()
1293{ 1293{
1294 if ( blockRC ) 1294 if ( blockRC )
1295 return; 1295 return;
1296 if ( mSocket == 0 ) { 1296 if ( mSocket == 0 ) {
1297 qDebug("ERROR::KSS::readClient(): mSocket == 0 "); 1297 qDebug("ERROR::KSS::readClient(): mSocket == 0 ");
1298 return; 1298 return;
1299 } 1299 }
1300 if ( mErrorMessage ) { 1300 if ( mErrorMessage ) {
1301 mErrorMessage = 999; 1301 mErrorMessage = 999;
1302 error_connect("ERROR_ED\r\n\r\n"); 1302 error_connect("ERROR_ED\r\n\r\n");
1303 return; 1303 return;
1304 } 1304 }
1305 mResource = ""; 1305 mResource = "";
1306 mErrorMessage = 0; 1306 mErrorMessage = 0;
1307 //qDebug("KServerSocket::readClient()"); 1307 //qDebug("KServerSocket::readClient()");
1308 if ( mSocket->canReadLine() ) { 1308 if ( mSocket->canReadLine() ) {
1309 QString line = mSocket->readLine(); 1309 QString line = mSocket->readLine();
1310 //qDebug("KServerSocket readline: %s ", line.latin1()); 1310 //qDebug("KServerSocket readline: %s ", line.latin1());
1311 QStringList tokens = QStringList::split( QRegExp("[ \r\n][ \r\n]*"), line ); 1311 QStringList tokens = QStringList::split( QRegExp("[ \r\n][ \r\n]*"), line );
1312 if ( tokens[0] == "GET" ) { 1312 if ( tokens[0] == "GET" ) {
1313 if ( tokens[1] == mPassWord ) { 1313 if ( tokens[1] == mPassWord ) {
1314 //emit sendFile( mSocket ); 1314 //emit sendFile( mSocket );
1315 bool ok = false; 1315 bool ok = false;
1316 QDateTime dt = KGlobal::locale()->readDateTime( tokens[2], KLocale::ISODate, &ok); 1316 QDateTime dt = KGlobal::locale()->readDateTime( tokens[2], KLocale::ISODate, &ok);
1317 if ( ok ) { 1317 if ( ok ) {
1318 KSyncManager::mRequestedSyncEvent = dt; 1318 KSyncManager::mRequestedSyncEvent = dt;
1319 } 1319 }
1320 else 1320 else
1321 KSyncManager::mRequestedSyncEvent = QDateTime(); 1321 KSyncManager::mRequestedSyncEvent = QDateTime();
1322 mResource =tokens[3]; 1322 mResource =tokens[3];
1323 send_file(); 1323 send_file();
1324 } 1324 }
1325 else { 1325 else {
1326 mErrorMessage = 1; 1326 mErrorMessage = 1;
1327 error_connect("ERROR_PW\r\n\r\n"); 1327 error_connect("ERROR_PW\r\n\r\n");
1328 } 1328 }
1329 } 1329 }
1330 if ( tokens[0] == "PUT" ) { 1330 if ( tokens[0] == "PUT" ) {
1331 if ( tokens[1] == mPassWord ) { 1331 if ( tokens[1] == mPassWord ) {
1332 //emit getFile( mSocket ); 1332 //emit getFile( mSocket );
1333 blockRC = true; 1333 blockRC = true;
1334 mResource =tokens[2]; 1334 mResource =tokens[2];
1335 get_file(); 1335 get_file();
1336 } 1336 }
1337 else { 1337 else {
1338 mErrorMessage = 2; 1338 mErrorMessage = 2;
1339 error_connect("ERROR_PW\r\n\r\n"); 1339 error_connect("ERROR_PW\r\n\r\n");
1340 end_connect(); 1340 end_connect();
1341 } 1341 }
1342 } 1342 }
1343 if ( tokens[0] == "STOP" ) { 1343 if ( tokens[0] == "STOP" ) {
1344 //emit endConnect(); 1344 //emit endConnect();
1345 end_connect(); 1345 end_connect();
1346 } 1346 }
1347 } 1347 }
1348} 1348}
1349void KServerSocket::displayErrorMessage() 1349void KServerSocket::displayErrorMessage()
1350{ 1350{
1351 if ( mErrorMessage == 1 ) { 1351 if ( mErrorMessage == 1 ) {
1352 KMessageBox::error( 0, i18n("Got send file request\nwith invalid password"), i18n("Pi-Sync Error")); 1352 KMessageBox::error( 0, i18n("Got send file request\nwith invalid password"), i18n("Pi-Sync Error"));
1353 mErrorMessage = 0; 1353 mErrorMessage = 0;
1354 } 1354 }
1355 else if ( mErrorMessage == 2 ) { 1355 else if ( mErrorMessage == 2 ) {
1356 KMessageBox::error( 0, i18n("Got receive file request\nwith invalid password"), i18n("Pi-Sync Error")); 1356 KMessageBox::error( 0, i18n("Got receive file request\nwith invalid password"), i18n("Pi-Sync Error"));
1357 mErrorMessage = 0; 1357 mErrorMessage = 0;
1358 } 1358 }
1359} 1359}
1360void KServerSocket::error_connect( QString errmess ) 1360void KServerSocket::error_connect( QString errmess )
1361{ 1361{
1362 QTextStream os( mSocket ); 1362 QTextStream os( mSocket );
1363 os.setEncoding( QTextStream::Latin1 ); 1363 os.setEncoding( QTextStream::Latin1 );
1364 os << errmess ; 1364 os << errmess ;
1365 mSocket->close(); 1365 mSocket->close();
1366 if ( mSocket->state() == QSocket::Idle ) { 1366 if ( mSocket->state() == QSocket::Idle ) {
1367 QTimer::singleShot( 0, this , SLOT ( discardClient())); 1367 QTimer::singleShot( 0, this , SLOT ( discardClient()));
1368 } 1368 }
1369} 1369}
1370void KServerSocket::end_connect() 1370void KServerSocket::end_connect()
1371{ 1371{
1372 delete mSyncActionDialog; 1372 delete mSyncActionDialog;
1373 mSyncActionDialog = 0; 1373 mSyncActionDialog = 0;
1374} 1374}
1375void KServerSocket::send_file() 1375void KServerSocket::send_file()
1376{ 1376{
1377 //qDebug("MainWindow::sendFile(QSocket* s) "); 1377 //qDebug("MainWindow::sendFile(QSocket* s) ");
1378 if ( mSyncActionDialog ) 1378 if ( mSyncActionDialog )
1379 delete mSyncActionDialog; 1379 delete mSyncActionDialog;
1380 mSyncActionDialog = new QDialog ( 0, "input-dialog", true ); 1380 mSyncActionDialog = new QDialog ( 0, "input-dialog", true );
1381 mSyncActionDialog->setCaption(i18n("Received sync request")); 1381 mSyncActionDialog->setCaption(i18n("Received sync request"));
1382 QLabel* label = new QLabel( i18n("Synchronizing from remote ...\n\nDo not use this application!\n\nIf syncing fails\nyou can close this dialog."), mSyncActionDialog ); 1382 QLabel* label = new QLabel( i18n("Synchronizing from remote ...\n\nDo not use this application!\n\nIf syncing fails\nyou can close this dialog."), mSyncActionDialog );
1383 label->setAlignment ( Qt::AlignHCenter ); 1383 label->setAlignment ( Qt::AlignHCenter );
1384 QVBoxLayout* lay = new QVBoxLayout( mSyncActionDialog ); 1384 QVBoxLayout* lay = new QVBoxLayout( mSyncActionDialog );
1385 lay->addWidget( label); 1385 lay->addWidget( label);
1386 lay->setMargin(7); 1386 lay->setMargin(7);
1387 lay->setSpacing(7); 1387 lay->setSpacing(7);
1388 if ( KSyncManager::mRequestedSyncEvent.isValid() ) { 1388 if ( KSyncManager::mRequestedSyncEvent.isValid() ) {
1389 int secs = QDateTime::currentDateTime().secsTo( KSyncManager::mRequestedSyncEvent ); 1389 int secs = QDateTime::currentDateTime().secsTo( KSyncManager::mRequestedSyncEvent );
1390 //secs = 333; 1390 //secs = 333;
1391 if ( secs < 0 ) 1391 if ( secs < 0 )
1392 secs = secs * (-1); 1392 secs = secs * (-1);
1393 if ( secs > 30 ) 1393 if ( secs > 30 )
1394 //if ( true ) 1394 //if ( true )
1395 { 1395 {
1396 QString warning = i18n("Clock skew of\nsyncing devices\nis %1 seconds!").arg( secs ); 1396 QString warning = i18n("Clock skew of\nsyncing devices\nis %1 seconds!").arg( secs );
1397 QLabel* label = new QLabel( warning, mSyncActionDialog ); 1397 QLabel* label = new QLabel( warning, mSyncActionDialog );
1398 label->setAlignment ( Qt::AlignHCenter ); 1398 label->setAlignment ( Qt::AlignHCenter );
1399 lay->addWidget( label); 1399 lay->addWidget( label);
1400 if ( secs > 180 ) 1400 if ( secs > 180 )
1401 { 1401 {
1402 if ( secs > 300 ) { 1402 if ( secs > 300 ) {
1403 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!"))) { 1403 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!"))) {
1404 qDebug("KSS::Sync cancelled ,cs"); 1404 qDebug("KSS::Sync cancelled ,cs");
1405 mErrorMessage = 0; 1405 mErrorMessage = 0;
1406 end_connect(); 1406 end_connect();
1407 error_connect("ERROR_CA\r\n\r\n"); 1407 error_connect("ERROR_CA\r\n\r\n");
1408 return ; 1408 return ;
1409 } 1409 }
1410 } 1410 }
1411 QFont f = label->font(); 1411 QFont f = label->font();
1412 f.setPointSize ( f.pointSize() *2 ); 1412 f.setPointSize ( f.pointSize() *2 );
1413 f. setBold (true ); 1413 f. setBold (true );
1414 QLabel* label = new QLabel( warning, mSyncActionDialog ); 1414 QLabel* label = new QLabel( warning, mSyncActionDialog );
1415 label->setFont( f ); 1415 label->setFont( f );
1416 warning = i18n("ADJUST\nYOUR\nCLOCKS!"); 1416 warning = i18n("ADJUST\nYOUR\nCLOCKS!");
1417 label->setText( warning ); 1417 label->setText( warning );
1418 label->setAlignment ( Qt::AlignHCenter ); 1418 label->setAlignment ( Qt::AlignHCenter );
1419 lay->addWidget( label); 1419 lay->addWidget( label);
1420 mSyncActionDialog->setFixedSize( 230, 300); 1420 mSyncActionDialog->setFixedSize( 230, 300);
1421 } else { 1421 } else {
1422 mSyncActionDialog->setFixedSize( 230, 200); 1422 mSyncActionDialog->setFixedSize( 230, 200);
1423 } 1423 }
1424 } else { 1424 } else {
1425 mSyncActionDialog->setFixedSize( 230, 120); 1425 mSyncActionDialog->setFixedSize( 230, 120);
1426 } 1426 }
1427 } else 1427 } else
1428 mSyncActionDialog->setFixedSize( 230, 120); 1428 mSyncActionDialog->setFixedSize( 230, 120);
1429 mSyncActionDialog->show(); 1429 mSyncActionDialog->show();
1430 mSyncActionDialog->raise(); 1430 mSyncActionDialog->raise();
1431 emit request_file(mResource); 1431 emit request_file(mResource);
1432 emit request_file(); 1432 emit request_file();
1433 qApp->processEvents(); 1433 qApp->processEvents();
1434 QString fileName = mFileName; 1434 QString fileName = mFileName;
1435 QFile file( fileName ); 1435 QFile file( fileName );
1436 if (!file.open( IO_ReadOnly ) ) { 1436 if (!file.open( IO_ReadOnly ) ) {
1437 mErrorMessage = 0; 1437 mErrorMessage = 0;
1438 end_connect(); 1438 end_connect();
1439 error_connect("ERROR_FI\r\n\r\n"); 1439 error_connect("ERROR_FI\r\n\r\n");
1440 return ; 1440 return ;
1441 } 1441 }
1442 mSyncActionDialog->setCaption( i18n("Sending file...") ); 1442 mSyncActionDialog->setCaption( i18n("Sending file...") );
1443 QTextStream ts( &file ); 1443 QTextStream ts( &file );
1444 ts.setEncoding( QTextStream::Latin1 ); 1444 ts.setEncoding( QTextStream::Latin1 );
1445 1445
1446 QTextStream os( mSocket ); 1446 QTextStream os( mSocket );
1447 os.setEncoding( QTextStream::Latin1 ); 1447 os.setEncoding( QTextStream::Latin1 );
1448 while ( ! ts.atEnd() ) { 1448 while ( ! ts.atEnd() ) {
1449 os << ts.readLine() << "\r\n"; 1449 os << ts.readLine() << "\r\n";
1450 } 1450 }
1451 os << "\r\n"; 1451 os << "\r\n";
1452 //os << ts.read(); 1452 //os << ts.read();
1453 file.close(); 1453 file.close();
1454 mSyncActionDialog->setCaption( i18n("Waiting for synced file...") ); 1454 mSyncActionDialog->setCaption( i18n("Waiting for synced file...") );
1455 mSocket->close(); 1455 mSocket->close();
1456 if ( mSocket->state() == QSocket::Idle ) 1456 if ( mSocket->state() == QSocket::Idle )
1457 QTimer::singleShot( 10, this , SLOT ( discardClient())); 1457 QTimer::singleShot( 10, this , SLOT ( discardClient()));
1458} 1458}
1459void KServerSocket::get_file() 1459void KServerSocket::get_file()
1460{ 1460{
1461 mSyncActionDialog->setCaption( i18n("Receiving synced file...") ); 1461 mSyncActionDialog->setCaption( i18n("Receiving synced file...") );
1462 1462
1463 piTime.start(); 1463 piTime.start();
1464 piFileString = ""; 1464 piFileString = "";
1465 QTimer::singleShot( 1, this , SLOT (readBackFileFromSocket( ) )); 1465 QTimer::singleShot( 1, this , SLOT (readBackFileFromSocket( ) ));
1466} 1466}
1467 1467
1468 1468
1469void KServerSocket::readBackFileFromSocket() 1469void KServerSocket::readBackFileFromSocket()
1470{ 1470{
1471 //qDebug("readBackFileFromSocket() %d ", piTime.elapsed ()); 1471 //qDebug("readBackFileFromSocket() %d ", piTime.elapsed ());
1472 while ( mSocket->canReadLine () ) { 1472 while ( mSocket->canReadLine () ) {
1473 piTime.restart(); 1473 piTime.restart();
1474 QString line = mSocket->readLine (); 1474 QString line = mSocket->readLine ();
1475 piFileString += line; 1475 piFileString += line;
1476 //qDebug("readline: %s ", line.latin1()); 1476 //qDebug("readline: %s ", line.latin1());
1477 mSyncActionDialog->setCaption( i18n("Received %1 bytes").arg( piFileString.length() ) ); 1477 mSyncActionDialog->setCaption( i18n("Received %1 bytes").arg( piFileString.length() ) );
1478 1478
1479 } 1479 }
1480 if ( piTime.elapsed () < 3000 ) { 1480 if ( piTime.elapsed () < 3000 ) {
1481 // wait for more 1481 // wait for more
1482 //qDebug("waitformore "); 1482 //qDebug("waitformore ");
1483 QTimer::singleShot( 100, this , SLOT (readBackFileFromSocket( ) )); 1483 QTimer::singleShot( 100, this , SLOT (readBackFileFromSocket( ) ));
1484 return; 1484 return;
1485 } 1485 }
1486 QString fileName = mFileName; 1486 QString fileName = mFileName;
1487 QFile file ( fileName ); 1487 QFile file ( fileName );
1488 if (!file.open( IO_WriteOnly ) ) { 1488 if (!file.open( IO_WriteOnly ) ) {
1489 delete mSyncActionDialog; 1489 delete mSyncActionDialog;
1490 mSyncActionDialog = 0; 1490 mSyncActionDialog = 0;
1491 qDebug("KSS:Error open read back file "); 1491 qDebug("KSS:Error open read back file ");
1492 piFileString = ""; 1492 piFileString = "";
1493 emit file_received( false, mResource); 1493 emit file_received( false, mResource);
1494 emit file_received( false); 1494 emit file_received( false);
1495 blockRC = false; 1495 blockRC = false;
1496 return ; 1496 return ;
1497 1497
1498 } 1498 }
1499 1499
1500 // mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1)); 1500 // mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1));
1501 QTextStream ts ( &file ); 1501 QTextStream ts ( &file );
1502 ts.setEncoding( QTextStream::Latin1 ); 1502 ts.setEncoding( QTextStream::Latin1 );
1503 mSyncActionDialog->setCaption( i18n("Writing file to disk...") ); 1503 mSyncActionDialog->setCaption( i18n("Writing file to disk...") );
1504 ts << piFileString; 1504 ts << piFileString;
1505 mSocket->close(); 1505 mSocket->close();
1506 if ( mSocket->state() == QSocket::Idle ) 1506 if ( mSocket->state() == QSocket::Idle )
1507 QTimer::singleShot( 10, this , SLOT ( discardClient())); 1507 QTimer::singleShot( 10, this , SLOT ( discardClient()));
1508 file.close(); 1508 file.close();
1509 piFileString = ""; 1509 piFileString = "";
1510 emit file_received( true, mResource ); 1510 emit file_received( true, mResource );
1511 emit file_received( true); 1511 emit file_received( true);
1512 delete mSyncActionDialog; 1512 delete mSyncActionDialog;
1513 mSyncActionDialog = 0; 1513 mSyncActionDialog = 0;
1514 blockRC = false; 1514 blockRC = false;
1515 1515
1516} 1516}
1517 1517
1518KCommandSocket::KCommandSocket ( QString remres, QString password, Q_UINT16 port, QString host, QObject * parent, QWidget * cap, const char * name ): QObject( parent, name ) 1518KCommandSocket::KCommandSocket ( QString remres, QString password, Q_UINT16 port, QString host, QObject * parent, QWidget * cap, const char * name ): QObject( parent, name )
1519{ 1519{
1520 mRemoteResource = remres; 1520 mRemoteResource = remres;
1521 if ( mRemoteResource.isEmpty() ) 1521 if ( mRemoteResource.isEmpty() )
1522 mRemoteResource = "ALL"; 1522 mRemoteResource = "ALL";
1523 else 1523 else
1524 mRemoteResource.replace (QRegExp (" "),"_" ); 1524 mRemoteResource.replace (QRegExp (" "),"_" );
1525 mPassWord = password; 1525 mPassWord = password;
1526 mSocket = 0; 1526 mSocket = 0;
1527 mFirst = false; 1527 mFirst = false;
1528 mFirstLine = true; 1528 mFirstLine = true;
1529 mPort = port; 1529 mPort = port;
1530 mHost = host; 1530 mHost = host;
1531 tlw = cap; 1531 tlw = cap;
1532 mRetVal = quiet; 1532 mRetVal = quiet;
1533 mTimerSocket = new QTimer ( this ); 1533 mTimerSocket = new QTimer ( this );
1534 connect( mTimerSocket, SIGNAL ( timeout () ), this, SLOT ( updateConnectDialog() ) ); 1534 connect( mTimerSocket, SIGNAL ( timeout () ), this, SLOT ( updateConnectDialog() ) );
1535 mConnectProgress.setCaption( i18n("Pi-Sync") ); 1535 mConnectProgress.setCaption( i18n("Pi-Sync") );
1536 connect( &mConnectProgress, SIGNAL ( cancelled () ), this, SLOT ( deleteSocket() ) ); 1536 connect( &mConnectProgress, SIGNAL ( cancelled () ), this, SLOT ( deleteSocket() ) );
1537 mConnectCount = -1; 1537 mConnectCount = -1;
1538} 1538}
1539void KCommandSocket::sendFileRequest() 1539void KCommandSocket::sendFileRequest()
1540{ 1540{
1541 if ( tlw ) 1541 if ( tlw )
1542 tlw->setCaption( i18n("Connected! Sending request for remote file ...") ); 1542 tlw->setCaption( i18n("Connected! Sending request for remote file ...") );
1543 mConnectProgress.hide(); 1543 mConnectProgress.hide();
1544 mConnectCount = 300;mConnectMax = 300; 1544 mConnectCount = 300;mConnectMax = 300;
1545 mConnectProgress.setCaption( i18n("Pi-Sync: Connected!") ); 1545 mConnectProgress.setCaption( i18n("Pi-Sync: Connected!") );
1546 mTimerSocket->start( 100, true ); 1546 mTimerSocket->start( 100, true );
1547 QTextStream os( mSocket ); 1547 QTextStream os( mSocket );
1548 os.setEncoding( QTextStream::Latin1 ); 1548 os.setEncoding( QTextStream::Latin1 );
1549 1549
1550 QString curDt = " " +KGlobal::locale()->formatDateTime(QDateTime::currentDateTime().addSecs(-1),true, true,KLocale::ISODate ); 1550 QString curDt = " " +KGlobal::locale()->formatDateTime(QDateTime::currentDateTime().addSecs(-1),true, true,KLocale::ISODate );
1551 os << "GET " << mPassWord << curDt << " " << mRemoteResource << "\r\n\r\n"; 1551 os << "GET " << mPassWord << curDt << " " << mRemoteResource << "\r\n\r\n";
1552} 1552}
1553 1553
1554void KCommandSocket::readFile( QString fn ) 1554void KCommandSocket::readFile( QString fn )
1555{ 1555{
1556 if ( !mSocket ) { 1556 if ( !mSocket ) {
1557 mSocket = new QSocket( this ); 1557 mSocket = new QSocket( this );
1558 connect( mSocket, SIGNAL(readyRead()), this, SLOT(startReadFileFromSocket()) ); 1558 connect( mSocket, SIGNAL(readyRead()), this, SLOT(startReadFileFromSocket()) );
1559 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) ); 1559 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) );
1560 connect( mSocket, SIGNAL(connected ()), this, SLOT(sendFileRequest() )); 1560 connect( mSocket, SIGNAL(connected ()), this, SLOT(sendFileRequest() ));
1561 } 1561 }
1562 mFileString = ""; 1562 mFileString = "";
1563 mFileName = fn; 1563 mFileName = fn;
1564 mFirst = true; 1564 mFirst = true;
1565 if ( tlw ) 1565 if ( tlw )
1566 tlw->setCaption( i18n("Trying to connect to remote...") ); 1566 tlw->setCaption( i18n("Trying to connect to remote...") );
1567 mConnectCount = 30;mConnectMax = 30; 1567 mConnectCount = 30;mConnectMax = 30;
1568 mTimerSocket->start( 1000, true ); 1568 mTimerSocket->start( 1000, true );
1569 mSocket->connectToHost( mHost, mPort ); 1569 mSocket->connectToHost( mHost, mPort );
1570 qDebug("KSS: Waiting for connection"); 1570 qDebug("KSS: Waiting for connection");
1571} 1571}
1572void KCommandSocket::updateConnectDialog() 1572void KCommandSocket::updateConnectDialog()
1573{ 1573{
1574 1574
1575 if ( mConnectCount == mConnectMax ) { 1575 if ( mConnectCount == mConnectMax ) {
1576 //qDebug("MAXX %d", mConnectMax); 1576 //qDebug("MAXX %d", mConnectMax);
1577 mConnectProgress.setTotalSteps ( 30 ); 1577 mConnectProgress.setTotalSteps ( 30 );
1578 mConnectProgress.show(); 1578 mConnectProgress.show();
1579 mConnectProgress.setLabelText( i18n("Trying to connect to remote...") ); 1579 mConnectProgress.setLabelText( i18n("Trying to connect to remote...") );
1580 } 1580 }
1581 //qDebug("updateConnectDialog() %d", mConnectCount); 1581 //qDebug("updateConnectDialog() %d", mConnectCount);
1582 mConnectProgress.raise(); 1582 mConnectProgress.raise();
1583 mConnectProgress.setProgress( (mConnectMax - mConnectCount)%30 ); 1583 mConnectProgress.setProgress( (mConnectMax - mConnectCount)%30 );
1584 --mConnectCount; 1584 --mConnectCount;
1585 if ( mConnectCount > 0 ) 1585 if ( mConnectCount > 0 )
1586 mTimerSocket->start( 1000, true ); 1586 mTimerSocket->start( 1000, true );
1587 else 1587 else
1588 deleteSocket(); 1588 deleteSocket();
1589 1589
1590} 1590}
1591void KCommandSocket::writeFile( QString fileName ) 1591void KCommandSocket::writeFile( QString fileName )
1592{ 1592{
1593 if ( !mSocket ) { 1593 if ( !mSocket ) {
1594 mSocket = new QSocket( this ); 1594 mSocket = new QSocket( this );
1595 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) ); 1595 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) );
1596 connect( mSocket, SIGNAL(connected ()), this, SLOT(writeFileToSocket()) ); 1596 connect( mSocket, SIGNAL(connected ()), this, SLOT(writeFileToSocket()) );
1597 } 1597 }
1598 mFileName = fileName ; 1598 mFileName = fileName ;
1599 mConnectCount = 30;mConnectMax = 30; 1599 mConnectCount = 30;mConnectMax = 30;
1600 mTimerSocket->start( 1000, true ); 1600 mTimerSocket->start( 1000, true );
1601 mSocket->connectToHost( mHost, mPort ); 1601 mSocket->connectToHost( mHost, mPort );
1602} 1602}
1603void KCommandSocket::writeFileToSocket() 1603void KCommandSocket::writeFileToSocket()
1604{ 1604{
1605 mTimerSocket->stop(); 1605 mTimerSocket->stop();
1606 QFile file2( mFileName ); 1606 QFile file2( mFileName );
1607 if (!file2.open( IO_ReadOnly ) ) { 1607 if (!file2.open( IO_ReadOnly ) ) {
1608 mConnectProgress.hide(); 1608 mConnectProgress.hide();
1609 mConnectCount = -1; 1609 mConnectCount = -1;
1610 mRetVal= errorW; 1610 mRetVal= errorW;
1611 mSocket->close(); 1611 mSocket->close();
1612 if ( mSocket->state() == QSocket::Idle ) 1612 if ( mSocket->state() == QSocket::Idle )
1613 QTimer::singleShot( 10, this , SLOT ( deleteSocket())); 1613 QTimer::singleShot( 10, this , SLOT ( deleteSocket()));
1614 return ; 1614 return ;
1615 } 1615 }
1616 mConnectProgress.setTotalSteps ( file2.size() ); 1616 mConnectProgress.setTotalSteps ( file2.size() );
1617 mConnectProgress.show(); 1617 mConnectProgress.show();
1618 int count = 0; 1618 int count = 0;
1619 mConnectProgress.setLabelText( i18n("Sending back synced file...") ); 1619 mConnectProgress.setLabelText( i18n("Sending back synced file...") );
1620 mConnectProgress.setProgress( count ); 1620 mConnectProgress.setProgress( count );
1621 mConnectProgress.blockSignals( true ); 1621 mConnectProgress.blockSignals( true );
1622 QTextStream ts2( &file2 ); 1622 QTextStream ts2( &file2 );
1623 ts2.setEncoding( QTextStream::Latin1 ); 1623 ts2.setEncoding( QTextStream::Latin1 );
1624 QTextStream os2( mSocket ); 1624 QTextStream os2( mSocket );
1625 os2.setEncoding( QTextStream::Latin1 ); 1625 os2.setEncoding( QTextStream::Latin1 );
1626 os2 << "PUT " << mPassWord << " " << mRemoteResource << "\r\n\r\n";; 1626 os2 << "PUT " << mPassWord << " " << mRemoteResource << "\r\n\r\n";;
1627 int byteCount = 0; 1627 int byteCount = 0;
1628 int byteMax = file2.size()/53; 1628 int byteMax = file2.size()/53;
1629 while ( ! ts2.atEnd() ) { 1629 while ( ! ts2.atEnd() ) {
1630 qApp->processEvents(); 1630 qApp->processEvents();
1631 if ( byteCount > byteMax ) { 1631 if ( byteCount > byteMax ) {
1632 byteCount = 0; 1632 byteCount = 0;
1633 mConnectProgress.setProgress( count ); 1633 mConnectProgress.setProgress( count );
1634 } 1634 }
1635 QString temp = ts2.readLine(); 1635 QString temp = ts2.readLine();
1636 count += temp.length(); 1636 count += temp.length();
1637 byteCount += temp.length(); 1637 byteCount += temp.length();
1638 os2 << temp << "\r\n"; 1638 os2 << temp << "\r\n";
1639 } 1639 }
1640 file2.close(); 1640 file2.close();
1641 mConnectProgress.hide(); 1641 mConnectProgress.hide();
1642 mConnectCount = -1; 1642 mConnectCount = -1;
1643 os2 << "\r\n"; 1643 os2 << "\r\n";
1644 mRetVal= successW; 1644 mRetVal= successW;
1645 mSocket->close(); 1645 mSocket->close();
1646 if ( mSocket->state() == QSocket::Idle ) 1646 if ( mSocket->state() == QSocket::Idle )
1647 QTimer::singleShot( 10, this , SLOT ( deleteSocket())); 1647 QTimer::singleShot( 10, this , SLOT ( deleteSocket()));
1648 mConnectProgress.blockSignals( false ); 1648 mConnectProgress.blockSignals( false );
1649} 1649}
1650void KCommandSocket::sendStop() 1650void KCommandSocket::sendStop()
1651{ 1651{
1652 if ( !mSocket ) { 1652 if ( !mSocket ) {
1653 mSocket = new QSocket( this ); 1653 mSocket = new QSocket( this );
1654 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) ); 1654 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) );
1655 } 1655 }
1656 mSocket->connectToHost( mHost, mPort ); 1656 mSocket->connectToHost( mHost, mPort );
1657 QTextStream os2( mSocket ); 1657 QTextStream os2( mSocket );
1658 os2.setEncoding( QTextStream::Latin1 ); 1658 os2.setEncoding( QTextStream::Latin1 );
1659 os2 << "STOP\r\n\r\n"; 1659 os2 << "STOP\r\n\r\n";
1660 mSocket->close(); 1660 mSocket->close();
1661 if ( mSocket->state() == QSocket::Idle ) 1661 if ( mSocket->state() == QSocket::Idle )
1662 QTimer::singleShot( 10, this , SLOT ( deleteSocket())); 1662 QTimer::singleShot( 10, this , SLOT ( deleteSocket()));
1663} 1663}
1664 1664
1665void KCommandSocket::startReadFileFromSocket() 1665void KCommandSocket::startReadFileFromSocket()
1666{ 1666{
1667 if ( ! mFirst ) 1667 if ( ! mFirst )
1668 return; 1668 return;
1669 mConnectProgress.setLabelText( i18n("Receiving file from remote...") ); 1669 mConnectProgress.setLabelText( i18n("Receiving file from remote...") );
1670 mFirst = false; 1670 mFirst = false;
1671 mFileString = ""; 1671 mFileString = "";
1672 mTime.start(); 1672 mTime.start();
1673 mFirstLine = true; 1673 mFirstLine = true;
1674 QTimer::singleShot( 1, this , SLOT (readFileFromSocket( ) )); 1674 QTimer::singleShot( 1, this , SLOT (readFileFromSocket( ) ));
1675 1675
1676} 1676}
1677void KCommandSocket::readFileFromSocket() 1677void KCommandSocket::readFileFromSocket()
1678{ 1678{
1679 //qDebug("readBackFileFromSocket() %d ", mTime.elapsed ()); 1679 //qDebug("readBackFileFromSocket() %d ", mTime.elapsed ());
1680 while ( mSocket->canReadLine () ) { 1680 while ( mSocket->canReadLine () ) {
1681 mTime.restart(); 1681 mTime.restart();
1682 QString line = mSocket->readLine (); 1682 QString line = mSocket->readLine ();
1683 if ( mFirstLine ) { 1683 if ( mFirstLine ) {
1684 mFirstLine = false; 1684 mFirstLine = false;
1685 if ( line.left( 6 ) == "ERROR_" ) { 1685 if ( line.left( 6 ) == "ERROR_" ) {
1686 mTimerSocket->stop(); 1686 mTimerSocket->stop();
1687 mConnectCount = -1; 1687 mConnectCount = -1;
1688 if ( line.left( 8 ) == "ERROR_PW" ) { 1688 if ( line.left( 8 ) == "ERROR_PW" ) {
1689 mRetVal = errorPW; 1689 mRetVal = errorPW;
1690 deleteSocket(); 1690 deleteSocket();
1691 return ; 1691 return ;
1692 } 1692 }
1693 if ( line.left( 8 ) == "ERROR_CA" ) { 1693 if ( line.left( 8 ) == "ERROR_CA" ) {
1694 mRetVal = errorCA; 1694 mRetVal = errorCA;
1695 deleteSocket(); 1695 deleteSocket();
1696 return ; 1696 return ;
1697 } 1697 }
1698 if ( line.left( 8 ) == "ERROR_FI" ) { 1698 if ( line.left( 8 ) == "ERROR_FI" ) {
1699 mRetVal = errorFI; 1699 mRetVal = errorFI;
1700 deleteSocket(); 1700 deleteSocket();
1701 return ; 1701 return ;
1702 } 1702 }
1703 if ( line.left( 8 ) == "ERROR_ED" ) { 1703 if ( line.left( 8 ) == "ERROR_ED" ) {
1704 mRetVal = errorED; 1704 mRetVal = errorED;
1705 deleteSocket(); 1705 deleteSocket();
1706 return ; 1706 return ;
1707 } 1707 }
1708 mRetVal = errorUN; 1708 mRetVal = errorUN;
1709 deleteSocket(); 1709 deleteSocket();
1710 return ; 1710 return ;
1711 } 1711 }
1712 } 1712 }
1713 mFileString += line; 1713 mFileString += line;
1714 //qDebug("readline: %s ", line.latin1()); 1714 //qDebug("readline: %s ", line.latin1());
1715 } 1715 }
1716 if ( mTime.elapsed () < 3000 ) { 1716 if ( mTime.elapsed () < 3000 ) {
1717 // wait for more 1717 // wait for more
1718 //qDebug("waitformore "); 1718 //qDebug("waitformore ");
1719 QTimer::singleShot( 100, this , SLOT (readFileFromSocket( ) )); 1719 QTimer::singleShot( 100, this , SLOT (readFileFromSocket( ) ));
1720 return; 1720 return;
1721 } 1721 }
1722 mTimerSocket->stop(); 1722 mTimerSocket->stop();
1723 mConnectCount = -1; 1723 mConnectCount = -1;
1724 mConnectProgress.hide(); 1724 mConnectProgress.hide();
1725 QString fileName = mFileName; 1725 QString fileName = mFileName;
1726 QFile file ( fileName ); 1726 QFile file ( fileName );
1727 if (!file.open( IO_WriteOnly ) ) { 1727 if (!file.open( IO_WriteOnly ) ) {
1728 mFileString = ""; 1728 mFileString = "";
1729 mRetVal = errorR; 1729 mRetVal = errorR;
1730 qDebug("KSS:Error open temp sync file for writing: %s",fileName.latin1() ); 1730 qDebug("KSS:Error open temp sync file for writing: %s",fileName.latin1() );
1731 deleteSocket(); 1731 deleteSocket();
1732 return ; 1732 return ;
1733 1733
1734 } 1734 }
1735 // mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1)); 1735 // mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1));
1736 QTextStream ts ( &file ); 1736 QTextStream ts ( &file );
1737 ts.setEncoding( QTextStream::Latin1 ); 1737 ts.setEncoding( QTextStream::Latin1 );
1738 ts << mFileString; 1738 ts << mFileString;
1739 file.close(); 1739 file.close();
1740 mFileString = ""; 1740 mFileString = "";
1741 mRetVal = successR; 1741 mRetVal = successR;
1742 mSocket->close(); 1742 mSocket->close();
1743 // if state is not idle, deleteSocket(); is called via 1743 // if state is not idle, deleteSocket(); is called via
1744 // connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) ); 1744 // connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) );
1745 if ( mSocket->state() == QSocket::Idle ) 1745 if ( mSocket->state() == QSocket::Idle )
1746 deleteSocket(); 1746 deleteSocket();
1747} 1747}
1748 1748
1749void KCommandSocket::deleteSocket() 1749void KCommandSocket::deleteSocket()
1750{ 1750{
1751 //qDebug("KCommandSocket::deleteSocket() "); 1751 //qDebug("KCommandSocket::deleteSocket() ");
1752 mConnectProgress.hide(); 1752 mConnectProgress.hide();
1753 1753
1754 if ( mConnectCount >= 0 ) { 1754 if ( mConnectCount >= 0 ) {
1755 mTimerSocket->stop(); 1755 mTimerSocket->stop();
1756 mRetVal = errorTO; 1756 mRetVal = errorTO;
1757 qDebug("KCS::Connection to remote host timed out"); 1757 qDebug("KCS::Connection to remote host timed out");
1758 if ( mSocket ) { 1758 if ( mSocket ) {
1759 mSocket->close(); 1759 mSocket->close();
1760 //if ( mSocket->state() == QSocket::Idle ) 1760 //if ( mSocket->state() == QSocket::Idle )
1761 // deleteSocket(); 1761 // deleteSocket();
1762 delete mSocket; 1762 delete mSocket;
1763 mSocket = 0; 1763 mSocket = 0;
1764 } 1764 }
1765 if ( mConnectCount == 0 ) 1765 if ( mConnectCount == 0 )
1766 KMessageBox::error( 0, i18n("Connection to remote\nhost timed out!\nDid you forgot to enable\nsyncing on remote host?")); 1766 KMessageBox::error( 0, i18n("Connection to remote\nhost timed out!\nDid you forgot to enable\nsyncing on remote host?"));
1767 else if ( tlw ) 1767 else if ( tlw )
1768 tlw->setCaption( i18n("Connection to remote host cancelled!") ); 1768 tlw->setCaption( i18n("Connection to remote host cancelled!") );
1769 emit commandFinished( this, mRetVal ); 1769 emit commandFinished( this, mRetVal );
1770 return; 1770 return;
1771 } 1771 }
1772 //qDebug("KCommandSocket::deleteSocket() %d", mRetVal ); 1772 //qDebug("KCommandSocket::deleteSocket() %d", mRetVal );
1773 if ( mSocket) 1773 if ( mSocket)
1774 delete mSocket; 1774 delete mSocket;
1775 mSocket = 0; 1775 mSocket = 0;
1776 qDebug("commandFinished "); 1776 //qDebug("commandFinished ");
1777 emit commandFinished( this, mRetVal ); 1777 emit commandFinished( this, mRetVal );
1778} 1778}