summaryrefslogtreecommitdiffabout
path: root/libkdepim/ksyncmanager.cpp
Unidiff
Diffstat (limited to 'libkdepim/ksyncmanager.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libkdepim/ksyncmanager.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp
index 8bf0d27..fa7804e 100644
--- a/libkdepim/ksyncmanager.cpp
+++ b/libkdepim/ksyncmanager.cpp
@@ -894,919 +894,919 @@ QString KSyncManager::getPassword( )
894 lay.addWidget( &lab); 894 lay.addWidget( &lab);
895 dia.setFixedSize( 230,50 ); 895 dia.setFixedSize( 230,50 );
896 dia.setCaption( i18n("Enter password") ); 896 dia.setCaption( i18n("Enter password") );
897 QPushButton pb ( "OK", &dia); 897 QPushButton pb ( "OK", &dia);
898 lay.addWidget( &pb ); 898 lay.addWidget( &pb );
899 connect(&pb, SIGNAL( clicked() ), &dia, SLOT ( accept() ) ); 899 connect(&pb, SIGNAL( clicked() ), &dia, SLOT ( accept() ) );
900 dia.show(); 900 dia.show();
901 int res = dia.exec(); 901 int res = dia.exec();
902 if ( res ) 902 if ( res )
903 retfile = lab.text(); 903 retfile = lab.text();
904 dia.hide(); 904 dia.hide();
905 qApp->processEvents(); 905 qApp->processEvents();
906 return retfile; 906 return retfile;
907 907
908} 908}
909 909
910 910
911void KSyncManager::confSync() 911void KSyncManager::confSync()
912{ 912{
913 static KSyncPrefsDialog* sp = 0; 913 static KSyncPrefsDialog* sp = 0;
914 if ( ! sp ) { 914 if ( ! sp ) {
915 sp = new KSyncPrefsDialog( mParent, "syncprefs", true ); 915 sp = new KSyncPrefsDialog( mParent, "syncprefs", true );
916 } 916 }
917 sp->usrReadConfig(); 917 sp->usrReadConfig();
918#ifndef DESKTOP_VERSION 918#ifndef DESKTOP_VERSION
919 sp->showMaximized(); 919 sp->showMaximized();
920#else 920#else
921 sp->show(); 921 sp->show();
922#endif 922#endif
923 sp->exec(); 923 sp->exec();
924 QStringList oldSyncProfileNames = mSyncProfileNames; 924 QStringList oldSyncProfileNames = mSyncProfileNames;
925 mSyncProfileNames = sp->getSyncProfileNames(); 925 mSyncProfileNames = sp->getSyncProfileNames();
926 mLocalMachineName = sp->getLocalMachineName (); 926 mLocalMachineName = sp->getLocalMachineName ();
927 int ii; 927 int ii;
928 for ( ii = 0; ii < oldSyncProfileNames.count(); ++ii ) { 928 for ( ii = 0; ii < oldSyncProfileNames.count(); ++ii ) {
929 if ( ! mSyncProfileNames.contains( oldSyncProfileNames[ii] ) ) 929 if ( ! mSyncProfileNames.contains( oldSyncProfileNames[ii] ) )
930 mImplementation->removeSyncInfo( oldSyncProfileNames[ii] ); 930 mImplementation->removeSyncInfo( oldSyncProfileNames[ii] );
931 } 931 }
932 QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) ); 932 QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) );
933} 933}
934void KSyncManager::syncKDE() 934void KSyncManager::syncKDE()
935{ 935{
936 mSyncWithDesktop = true; 936 mSyncWithDesktop = true;
937 emit save(); 937 emit save();
938 switch(mTargetApp) 938 switch(mTargetApp)
939 { 939 {
940 case (KAPI): 940 case (KAPI):
941 { 941 {
942#ifdef DESKTOP_VERSION 942#ifdef DESKTOP_VERSION
943 QString command = "kdeabdump33"; 943 QString command = "kdeabdump33";
944 QString commandfile = "kdeabdump33"; 944 QString commandfile = "kdeabdump33";
945 QString commandpath = qApp->applicationDirPath () + "/"; 945 QString commandpath = qApp->applicationDirPath () + "/";
946#else 946#else
947 QString command = "kdeabdump33"; 947 QString command = "kdeabdump33";
948 QString commandfile = "kdeabdump33"; 948 QString commandfile = "kdeabdump33";
949 QString commandpath = QDir::homeDirPath ()+"/"; 949 QString commandpath = QDir::homeDirPath ()+"/";
950#endif 950#endif
951 if ( ! QFile::exists ( commandpath+commandfile ) ) 951 if ( ! QFile::exists ( commandpath+commandfile ) )
952 command = commandfile; 952 command = commandfile;
953 else 953 else
954 command = commandpath+commandfile; 954 command = commandpath+commandfile;
955 955
956 QString fileName = QDir::homeDirPath ()+"/.kdeaddressbookdump.vcf"; 956 QString fileName = QDir::homeDirPath ()+"/.kdeaddressbookdump.vcf";
957 int result = system ( command.latin1()); 957 int result = system ( command.latin1());
958 qDebug("AB dump 33 command call result: %d ", result); 958 qDebug("AB dump 33 command call result: %d ", result);
959 if ( result != 0 ) { 959 if ( result != 0 ) {
960 qDebug("Calling AB dump version 33 failed. Trying 34... "); 960 qDebug("Calling AB dump version 33 failed. Trying 34... ");
961 commandfile = "kdeabdump34"; 961 commandfile = "kdeabdump34";
962 if ( ! QFile::exists ( commandpath+commandfile ) ) 962 if ( ! QFile::exists ( commandpath+commandfile ) )
963 command = commandfile; 963 command = commandfile;
964 else 964 else
965 command = commandpath+commandfile; 965 command = commandpath+commandfile;
966 result = system ( command.latin1()); 966 result = system ( command.latin1());
967 qDebug("AB dump 34 command call result: %d ", result); 967 qDebug("AB dump 34 command call result: %d ", result);
968 if ( result != 0 ) { 968 if ( result != 0 ) {
969 KMessageBox::error( 0, i18n("Error accessing KDE addressbook data.\nMake sure the file\n%1kdeabdump3x\nexists ( x = 3 or 4 ).\nSupported KDE versions are 3.3 and 3.4.\nUsed version should be auto detected.\n").arg( commandpath )); 969 KMessageBox::error( 0, i18n("Error accessing KDE addressbook data.\nMake sure the file\n%1kdeabdump3x\nexists ( x = 3 or 4 ).\nSupported KDE versions are 3.3 and 3.4.\nUsed version should be auto detected.\n").arg( commandpath ));
970 return; 970 return;
971 } 971 }
972 } 972 }
973 if ( syncWithFile( fileName,true ) ) { 973 if ( syncWithFile( fileName,true ) ) {
974 if ( mWriteBackFile ) { 974 if ( mWriteBackFile ) {
975 command += " --read"; 975 command += " --read";
976 system ( command.latin1()); 976 system ( command.latin1());
977 } 977 }
978 } 978 }
979 979
980 } 980 }
981 break; 981 break;
982 case (KOPI): 982 case (KOPI):
983 { 983 {
984#ifdef DESKTOP_VERSION 984#ifdef DESKTOP_VERSION
985 QString command = "kdecaldump33"; 985 QString command = "kdecaldump33";
986 QString commandfile = "kdecaldump33"; 986 QString commandfile = "kdecaldump33";
987 QString commandpath = qApp->applicationDirPath () + "/"; 987 QString commandpath = qApp->applicationDirPath () + "/";
988#else 988#else
989 QString command = "kdecaldump33"; 989 QString command = "kdecaldump33";
990 QString commandfile = "kdecaldump33"; 990 QString commandfile = "kdecaldump33";
991 QString commandpath = QDir::homeDirPath ()+"/"; 991 QString commandpath = QDir::homeDirPath ()+"/";
992#endif 992#endif
993 if ( ! QFile::exists ( commandpath+commandfile ) ) 993 if ( ! QFile::exists ( commandpath+commandfile ) )
994 command = commandfile; 994 command = commandfile;
995 else 995 else
996 command = commandpath+commandfile; 996 command = commandpath+commandfile;
997 997
998 QString fileName = QDir::homeDirPath ()+"/.kdecalendardump.ics"; 998 QString fileName = QDir::homeDirPath ()+"/.kdecalendardump.ics";
999 int result = system ( command.latin1()); 999 int result = system ( command.latin1());
1000 qDebug("Cal dump 33 command call result result: %d ", result); 1000 qDebug("Cal dump 33 command call result result: %d ", result);
1001 if ( result != 0 ) { 1001 if ( result != 0 ) {
1002 qDebug("Calling CAL dump version 33 failed. Trying 34... "); 1002 qDebug("Calling CAL dump version 33 failed. Trying 34... ");
1003 commandfile = "kdecaldump34"; 1003 commandfile = "kdecaldump34";
1004 if ( ! QFile::exists ( commandpath+commandfile ) ) 1004 if ( ! QFile::exists ( commandpath+commandfile ) )
1005 command = commandfile; 1005 command = commandfile;
1006 else 1006 else
1007 command = commandpath+commandfile; 1007 command = commandpath+commandfile;
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 1163
1164 KCommandSocket* commandSocket = new KCommandSocket( mCurrentResourceRemote, mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() ); 1164 KCommandSocket* commandSocket = new KCommandSocket( mCurrentResourceRemote, mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() );
1165 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); 1165 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) );
1166 commandSocket->readFile( syncFileName() ); 1166 commandSocket->readFile( syncFileName() );
1167 mParent->topLevelWidget()->setCaption( i18n("Syncing %1 <-> %2").arg( mCurrentResourceLocal ).arg( mCurrentResourceRemote ) ); 1167 mParent->topLevelWidget()->setCaption( i18n("Syncing %1 <-> %2").arg( mCurrentResourceLocal ).arg( mCurrentResourceRemote ) );
1168 while ( !mPisyncFinished ) { 1168 while ( !mPisyncFinished ) {
1169 //qDebug("waiting "); 1169 //qDebug("waiting ");
1170 qApp->processEvents(); 1170 qApp->processEvents();
1171 } 1171 }
1172 if ( startLocal+1 < mSpecificResources.count()/2 ) { 1172 if ( startLocal+1 < mSpecificResources.count()/2 ) {
1173 mParent->topLevelWidget()->setCaption( i18n("Waiting 2 secs before syncing next resource...") ); 1173 mParent->topLevelWidget()->setCaption( i18n("Waiting 2 secs before syncing next resource...") );
1174 QTime timer; 1174 QTime timer;
1175 timer.start(); 1175 timer.start();
1176 while ( timer.elapsed () < 2000 ) { 1176 while ( timer.elapsed () < 2000 ) {
1177 qApp->processEvents(); 1177 qApp->processEvents();
1178 } 1178 }
1179 } 1179 }
1180 } 1180 }
1181 ++startRemote; 1181 ++startRemote;
1182 ++startLocal; 1182 ++startLocal;
1183 1183
1184 } 1184 }
1185 mPisyncFinished = true; 1185 mPisyncFinished = true;
1186 } else { 1186 } else {
1187 KCommandSocket* commandSocket = new KCommandSocket( "", mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() ); 1187 KCommandSocket* commandSocket = new KCommandSocket( "", mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() );
1188 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); 1188 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) );
1189 commandSocket->readFile( syncFileName() ); 1189 commandSocket->readFile( syncFileName() );
1190 } 1190 }
1191} 1191}
1192 1192
1193void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state) 1193void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state)
1194{ 1194{
1195 //enum { success, errorW, errorR, quiet }; 1195 //enum { success, errorW, errorR, quiet };
1196 1196
1197 1197
1198 1198
1199 if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ||state == KCommandSocket::errorPW || 1199 if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ||state == KCommandSocket::errorPW ||
1200 state == KCommandSocket::errorCA ||state == KCommandSocket::errorFI ||state == KCommandSocket::errorUN||state == KCommandSocket::errorED ) { 1200 state == KCommandSocket::errorCA ||state == KCommandSocket::errorFI ||state == KCommandSocket::errorUN||state == KCommandSocket::errorED ) {
1201 if ( state == KCommandSocket::errorPW ) 1201 if ( state == KCommandSocket::errorPW )
1202 mParent->topLevelWidget()->setCaption( i18n("Wrong password: Receiving remote file failed.") ); 1202 mParent->topLevelWidget()->setCaption( i18n("Wrong password: Receiving remote file failed.") );
1203 else if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ) 1203 else if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO )
1204 mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") ); 1204 mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") );
1205 else if ( state == KCommandSocket::errorCA ) 1205 else if ( state == KCommandSocket::errorCA )
1206 mParent->topLevelWidget()->setCaption( i18n("Sync cancelled from remote.") ); 1206 mParent->topLevelWidget()->setCaption( i18n("Sync cancelled from remote.") );
1207 else if ( state == KCommandSocket::errorFI ) 1207 else if ( state == KCommandSocket::errorFI )
1208 mParent->topLevelWidget()->setCaption( i18n("File error on remote.") ); 1208 mParent->topLevelWidget()->setCaption( i18n("File error on remote.") );
1209 else if ( state == KCommandSocket::errorED ) 1209 else if ( state == KCommandSocket::errorED )
1210 mParent->topLevelWidget()->setCaption( i18n("Please close error dialog on remote.") ); 1210 mParent->topLevelWidget()->setCaption( i18n("Please close error dialog on remote.") );
1211 else if ( state == KCommandSocket::errorUN ) 1211 else if ( state == KCommandSocket::errorUN )
1212 mParent->topLevelWidget()->setCaption( i18n("Unknown error on remote.") ); 1212 mParent->topLevelWidget()->setCaption( i18n("Unknown error on remote.") );
1213 delete s; 1213 delete s;
1214 if ( state == KCommandSocket::errorR ) { 1214 if ( state == KCommandSocket::errorR ) {
1215 KCommandSocket* commandSocket = new KCommandSocket( "",mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this, mParent->topLevelWidget()); 1215 KCommandSocket* commandSocket = new KCommandSocket( "",mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this, mParent->topLevelWidget());
1216 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) ); 1216 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) );
1217 commandSocket->sendStop(); 1217 commandSocket->sendStop();
1218 } 1218 }
1219 mPisyncFinished = true; 1219 mPisyncFinished = true;
1220 return; 1220 return;
1221 1221
1222 } else if ( state == KCommandSocket::errorW ) { 1222 } else if ( state == KCommandSocket::errorW ) {
1223 mParent->topLevelWidget()->setCaption( i18n("ERROR:Writing back file failed.") ); 1223 mParent->topLevelWidget()->setCaption( i18n("ERROR:Writing back file failed.") );
1224 mPisyncFinished = true; 1224 mPisyncFinished = true;
1225 1225
1226 } else if ( state == KCommandSocket::successR ) { 1226 } else if ( state == KCommandSocket::successR ) {
1227 QTimer::singleShot( 1, this , SLOT ( readFileFromSocket())); 1227 QTimer::singleShot( 1, this , SLOT ( readFileFromSocket()));
1228 1228
1229 } else if ( state == KCommandSocket::successW ) { 1229 } else if ( state == KCommandSocket::successW ) {
1230 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync successful!") ); 1230 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync successful!") );
1231 mPisyncFinished = true; 1231 mPisyncFinished = true;
1232 } else if ( state == KCommandSocket::quiet ){ 1232 } else if ( state == KCommandSocket::quiet ){
1233 qDebug("KSS: quiet "); 1233 qDebug("KSS: quiet ");
1234 mPisyncFinished = true; 1234 mPisyncFinished = true;
1235 } else { 1235 } else {
1236 qDebug("KSS: Error: unknown state: %d ", state); 1236 qDebug("KSS: Error: unknown state: %d ", state);
1237 mPisyncFinished = true; 1237 mPisyncFinished = true;
1238 } 1238 }
1239 1239
1240 delete s; 1240 delete s;
1241} 1241}
1242 1242
1243void KSyncManager::readFileFromSocket() 1243void KSyncManager::readFileFromSocket()
1244{ 1244{
1245 QString fileName = syncFileName(); 1245 QString fileName = syncFileName();
1246 bool syncOK = true; 1246 bool syncOK = true;
1247 mParent->topLevelWidget()->setCaption( i18n("Remote file saved to temp file.") ); 1247 mParent->topLevelWidget()->setCaption( i18n("Remote file saved to temp file.") );
1248 if ( ! syncWithFile( fileName , true ) ) { 1248 if ( ! syncWithFile( fileName , true ) ) {
1249 mParent->topLevelWidget()->setCaption( i18n("Syncing failed.") ); 1249 mParent->topLevelWidget()->setCaption( i18n("Syncing failed.") );
1250 syncOK = false; 1250 syncOK = false;
1251 } 1251 }
1252 KCommandSocket* commandSocket = new KCommandSocket( mCurrentResourceRemote,mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this, mParent->topLevelWidget() ); 1252 KCommandSocket* commandSocket = new KCommandSocket( mCurrentResourceRemote,mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this, mParent->topLevelWidget() );
1253 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) ); 1253 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) );
1254 if ( mWriteBackFile && syncOK ) { 1254 if ( mWriteBackFile && syncOK ) {
1255 mParent->topLevelWidget()->setCaption( i18n("Sending back file ...") ); 1255 mParent->topLevelWidget()->setCaption( i18n("Sending back file ...") );
1256 commandSocket->writeFile( fileName ); 1256 commandSocket->writeFile( fileName );
1257 } 1257 }
1258 else { 1258 else {
1259 commandSocket->sendStop(); 1259 commandSocket->sendStop();
1260 if ( syncOK ) 1260 if ( syncOK )
1261 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync succesful!") ); 1261 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync succesful!") );
1262 mPisyncFinished = true; 1262 mPisyncFinished = true;
1263 } 1263 }
1264} 1264}
1265 1265
1266KServerSocket:: KServerSocket ( QString pw, Q_UINT16 port, int backlog, QObject * parent, const char * name ) : QServerSocket( port, backlog, parent, name ) 1266KServerSocket:: KServerSocket ( QString pw, Q_UINT16 port, int backlog, QObject * parent, const char * name ) : QServerSocket( port, backlog, parent, name )
1267{ 1267{
1268 mPendingConnect = 0; 1268 mPendingConnect = 0;
1269 mPassWord = pw; 1269 mPassWord = pw;
1270 mSocket = 0; 1270 mSocket = 0;
1271 mSyncActionDialog = 0; 1271 mSyncActionDialog = 0;
1272 blockRC = false; 1272 blockRC = false;
1273 mErrorMessage = 0; 1273 mErrorMessage = 0;
1274} 1274}
1275void KServerSocket::waitForSocketFinish() 1275void KServerSocket::waitForSocketFinish()
1276{ 1276{
1277 if ( mSocket ) { 1277 if ( mSocket ) {
1278 qDebug("KSS:: waiting for finish operation"); 1278 //qDebug("KSS:: waiting for finish operation");
1279 QTimer::singleShot( 250, this , SLOT ( waitForSocketFinish())); 1279 QTimer::singleShot( 250, this , SLOT ( waitForSocketFinish()));
1280 return; 1280 return;
1281 } 1281 }
1282 mSocket = new QSocket( this ); 1282 mSocket = new QSocket( this );
1283 connect( mSocket , SIGNAL(readyRead()), this, SLOT(readClient()) ); 1283 connect( mSocket , SIGNAL(readyRead()), this, SLOT(readClient()) );
1284 connect( mSocket , SIGNAL(delayedCloseFinished()), this, SLOT(discardClient()) ); 1284 connect( mSocket , SIGNAL(delayedCloseFinished()), this, SLOT(discardClient()) );
1285 mSocket->setSocket( mPendingConnect ); 1285 mSocket->setSocket( mPendingConnect );
1286 mPendingConnect = 0; 1286 mPendingConnect = 0;
1287} 1287}
1288void KServerSocket::newConnection ( int socket ) 1288void KServerSocket::newConnection ( int socket )
1289{ 1289{
1290 // qDebug("KServerSocket:New connection %d ", socket); 1290 // qDebug("KServerSocket:New connection %d ", socket);
1291 if ( mPendingConnect ) { 1291 if ( mPendingConnect ) {
1292 qDebug("KSS::Error : new Connection"); 1292 qDebug("KSS::Error : new Connection");
1293 return; 1293 return;
1294 } 1294 }
1295 if ( mSocket ) { 1295 if ( mSocket ) {
1296 mPendingConnect = socket; 1296 mPendingConnect = socket;
1297 QTimer::singleShot( 250, this , SLOT ( waitForSocketFinish())); 1297 QTimer::singleShot( 250, this , SLOT ( waitForSocketFinish()));
1298 return; 1298 return;
1299 qDebug("KSS::newConnection Socket deleted! "); 1299 qDebug("KSS::newConnection Socket deleted! ");
1300 delete mSocket; 1300 delete mSocket;
1301 mSocket = 0; 1301 mSocket = 0;
1302 } 1302 }
1303 mPendingConnect = 0; 1303 mPendingConnect = 0;
1304 mSocket = new QSocket( this ); 1304 mSocket = new QSocket( this );
1305 connect( mSocket , SIGNAL(readyRead()), this, SLOT(readClient()) ); 1305 connect( mSocket , SIGNAL(readyRead()), this, SLOT(readClient()) );
1306 connect( mSocket , SIGNAL(delayedCloseFinished()), this, SLOT(discardClient()) ); 1306 connect( mSocket , SIGNAL(delayedCloseFinished()), this, SLOT(discardClient()) );
1307 mSocket->setSocket( socket ); 1307 mSocket->setSocket( socket );
1308} 1308}
1309 1309
1310void KServerSocket::discardClient() 1310void KServerSocket::discardClient()
1311{ 1311{
1312 QTimer::singleShot( 10, this , SLOT ( deleteSocket())); 1312 QTimer::singleShot( 10, this , SLOT ( deleteSocket()));
1313} 1313}
1314void KServerSocket::deleteSocket() 1314void KServerSocket::deleteSocket()
1315{ 1315{
1316 qDebug("KSS::deleteSocket"); 1316 qDebug("KSS::deleteSocket");
1317 if ( mSocket ) { 1317 if ( mSocket ) {
1318 delete mSocket; 1318 delete mSocket;
1319 mSocket = 0; 1319 mSocket = 0;
1320 } 1320 }
1321 if ( mErrorMessage ) 1321 if ( mErrorMessage )
1322 QTimer::singleShot( 10, this , SLOT ( displayErrorMessage())); 1322 QTimer::singleShot( 10, this , SLOT ( displayErrorMessage()));
1323} 1323}
1324void KServerSocket::readClient() 1324void KServerSocket::readClient()
1325{ 1325{
1326 if ( blockRC ) 1326 if ( blockRC )
1327 return; 1327 return;
1328 if ( mSocket == 0 ) { 1328 if ( mSocket == 0 ) {
1329 qDebug("ERROR::KSS::readClient(): mSocket == 0 "); 1329 qDebug("ERROR::KSS::readClient(): mSocket == 0 ");
1330 return; 1330 return;
1331 } 1331 }
1332 if ( mErrorMessage ) { 1332 if ( mErrorMessage ) {
1333 mErrorMessage = 999; 1333 mErrorMessage = 999;
1334 error_connect("ERROR_ED\r\n\r\n"); 1334 error_connect("ERROR_ED\r\n\r\n");
1335 return; 1335 return;
1336 } 1336 }
1337 mResource = ""; 1337 mResource = "";
1338 mErrorMessage = 0; 1338 mErrorMessage = 0;
1339 //qDebug("KServerSocket::readClient()"); 1339 //qDebug("KServerSocket::readClient()");
1340 if ( mSocket->canReadLine() ) { 1340 if ( mSocket->canReadLine() ) {
1341 QString line = mSocket->readLine(); 1341 QString line = mSocket->readLine();
1342 //qDebug("KServerSocket readline: %s ", line.latin1()); 1342 //qDebug("KServerSocket readline: %s ", line.latin1());
1343 QStringList tokens = QStringList::split( QRegExp("[ \r\n][ \r\n]*"), line ); 1343 QStringList tokens = QStringList::split( QRegExp("[ \r\n][ \r\n]*"), line );
1344 if ( tokens[0] == "GET" ) { 1344 if ( tokens[0] == "GET" ) {
1345 if ( tokens[1] == mPassWord ) { 1345 if ( tokens[1] == mPassWord ) {
1346 //emit sendFile( mSocket ); 1346 //emit sendFile( mSocket );
1347 bool ok = false; 1347 bool ok = false;
1348 QDateTime dt = KGlobal::locale()->readDateTime( tokens[2], KLocale::ISODate, &ok); 1348 QDateTime dt = KGlobal::locale()->readDateTime( tokens[2], KLocale::ISODate, &ok);
1349 if ( ok ) { 1349 if ( ok ) {
1350 KSyncManager::mRequestedSyncEvent = dt; 1350 KSyncManager::mRequestedSyncEvent = dt;
1351 } 1351 }
1352 else 1352 else
1353 KSyncManager::mRequestedSyncEvent = QDateTime(); 1353 KSyncManager::mRequestedSyncEvent = QDateTime();
1354 mResource =tokens[3]; 1354 mResource =tokens[3];
1355 send_file(); 1355 send_file();
1356 } 1356 }
1357 else { 1357 else {
1358 mErrorMessage = 1; 1358 mErrorMessage = 1;
1359 error_connect("ERROR_PW\r\n\r\n"); 1359 error_connect("ERROR_PW\r\n\r\n");
1360 } 1360 }
1361 } 1361 }
1362 if ( tokens[0] == "PUT" ) { 1362 if ( tokens[0] == "PUT" ) {
1363 if ( tokens[1] == mPassWord ) { 1363 if ( tokens[1] == mPassWord ) {
1364 //emit getFile( mSocket ); 1364 //emit getFile( mSocket );
1365 blockRC = true; 1365 blockRC = true;
1366 mResource =tokens[2]; 1366 mResource =tokens[2];
1367 get_file(); 1367 get_file();
1368 } 1368 }
1369 else { 1369 else {
1370 mErrorMessage = 2; 1370 mErrorMessage = 2;
1371 error_connect("ERROR_PW\r\n\r\n"); 1371 error_connect("ERROR_PW\r\n\r\n");
1372 end_connect(); 1372 end_connect();
1373 } 1373 }
1374 } 1374 }
1375 if ( tokens[0] == "STOP" ) { 1375 if ( tokens[0] == "STOP" ) {
1376 //emit endConnect(); 1376 //emit endConnect();
1377 end_connect(); 1377 end_connect();
1378 } 1378 }
1379 } 1379 }
1380} 1380}
1381void KServerSocket::displayErrorMessage() 1381void KServerSocket::displayErrorMessage()
1382{ 1382{
1383 if ( mErrorMessage == 1 ) { 1383 if ( mErrorMessage == 1 ) {
1384 KMessageBox::error( 0, i18n("Got send file request\nwith invalid password"), i18n("Pi-Sync Error")); 1384 KMessageBox::error( 0, i18n("Got send file request\nwith invalid password"), i18n("Pi-Sync Error"));
1385 mErrorMessage = 0; 1385 mErrorMessage = 0;
1386 } 1386 }
1387 else if ( mErrorMessage == 2 ) { 1387 else if ( mErrorMessage == 2 ) {
1388 KMessageBox::error( 0, i18n("Got receive file request\nwith invalid password"), i18n("Pi-Sync Error")); 1388 KMessageBox::error( 0, i18n("Got receive file request\nwith invalid password"), i18n("Pi-Sync Error"));
1389 mErrorMessage = 0; 1389 mErrorMessage = 0;
1390 } 1390 }
1391} 1391}
1392void KServerSocket::error_connect( QString errmess ) 1392void KServerSocket::error_connect( QString errmess )
1393{ 1393{
1394 QTextStream os( mSocket ); 1394 QTextStream os( mSocket );
1395 os.setEncoding( QTextStream::Latin1 ); 1395 os.setEncoding( QTextStream::Latin1 );
1396 os << errmess ; 1396 os << errmess ;
1397 mSocket->close(); 1397 mSocket->close();
1398 if ( mSocket->state() == QSocket::Idle ) { 1398 if ( mSocket->state() == QSocket::Idle ) {
1399 QTimer::singleShot( 0, this , SLOT ( discardClient())); 1399 QTimer::singleShot( 0, this , SLOT ( discardClient()));
1400 } 1400 }
1401} 1401}
1402void KServerSocket::end_connect() 1402void KServerSocket::end_connect()
1403{ 1403{
1404 delete mSyncActionDialog; 1404 delete mSyncActionDialog;
1405 mSyncActionDialog = 0; 1405 mSyncActionDialog = 0;
1406} 1406}
1407void KServerSocket::send_file() 1407void KServerSocket::send_file()
1408{ 1408{
1409 //qDebug("MainWindow::sendFile(QSocket* s) "); 1409 //qDebug("MainWindow::sendFile(QSocket* s) ");
1410 if ( mSyncActionDialog ) 1410 if ( mSyncActionDialog )
1411 delete mSyncActionDialog; 1411 delete mSyncActionDialog;
1412 mSyncActionDialog = new QDialog ( 0, "input-dialog", true ); 1412 mSyncActionDialog = new QDialog ( 0, "input-dialog", true );
1413 mSyncActionDialog->setCaption(i18n("Received sync request")); 1413 mSyncActionDialog->setCaption(i18n("Received sync request"));
1414 QLabel* label = new QLabel( i18n("Synchronizing from remote ...\n\nDo not use this application!\n\nIf syncing fails\nyou can close this dialog."), mSyncActionDialog ); 1414 QLabel* label = new QLabel( i18n("Synchronizing from remote ...\n\nDo not use this application!\n\nIf syncing fails\nyou can close this dialog."), mSyncActionDialog );
1415 label->setAlignment ( Qt::AlignHCenter ); 1415 label->setAlignment ( Qt::AlignHCenter );
1416 QVBoxLayout* lay = new QVBoxLayout( mSyncActionDialog ); 1416 QVBoxLayout* lay = new QVBoxLayout( mSyncActionDialog );
1417 lay->addWidget( label); 1417 lay->addWidget( label);
1418 lay->setMargin(7); 1418 lay->setMargin(7);
1419 lay->setSpacing(7); 1419 lay->setSpacing(7);
1420 if ( KSyncManager::mRequestedSyncEvent.isValid() ) { 1420 if ( KSyncManager::mRequestedSyncEvent.isValid() ) {
1421 int secs = QDateTime::currentDateTime().secsTo( KSyncManager::mRequestedSyncEvent ); 1421 int secs = QDateTime::currentDateTime().secsTo( KSyncManager::mRequestedSyncEvent );
1422 //secs = 333; 1422 //secs = 333;
1423 if ( secs < 0 ) 1423 if ( secs < 0 )
1424 secs = secs * (-1); 1424 secs = secs * (-1);
1425 if ( secs > 30 ) 1425 if ( secs > 30 )
1426 //if ( true ) 1426 //if ( true )
1427 { 1427 {
1428 QString warning = i18n("Clock skew of\nsyncing devices\nis %1 seconds!").arg( secs ); 1428 QString warning = i18n("Clock skew of\nsyncing devices\nis %1 seconds!").arg( secs );
1429 QLabel* label = new QLabel( warning, mSyncActionDialog ); 1429 QLabel* label = new QLabel( warning, mSyncActionDialog );
1430 label->setAlignment ( Qt::AlignHCenter ); 1430 label->setAlignment ( Qt::AlignHCenter );
1431 lay->addWidget( label); 1431 lay->addWidget( label);
1432 if ( secs > 180 ) 1432 if ( secs > 180 )
1433 { 1433 {
1434 if ( secs > 300 ) { 1434 if ( secs > 300 ) {
1435 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!"))) { 1435 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!"))) {
1436 qDebug("KSS::Sync cancelled ,cs"); 1436 qDebug("KSS::Sync cancelled ,cs");
1437 mErrorMessage = 0; 1437 mErrorMessage = 0;
1438 end_connect(); 1438 end_connect();
1439 error_connect("ERROR_CA\r\n\r\n"); 1439 error_connect("ERROR_CA\r\n\r\n");
1440 return ; 1440 return ;
1441 } 1441 }
1442 } 1442 }
1443 QFont f = label->font(); 1443 QFont f = label->font();
1444 f.setPointSize ( f.pointSize() *2 ); 1444 f.setPointSize ( f.pointSize() *2 );
1445 f. setBold (true ); 1445 f. setBold (true );
1446 QLabel* label = new QLabel( warning, mSyncActionDialog ); 1446 QLabel* label = new QLabel( warning, mSyncActionDialog );
1447 label->setFont( f ); 1447 label->setFont( f );
1448 warning = i18n("ADJUST\nYOUR\nCLOCKS!"); 1448 warning = i18n("ADJUST\nYOUR\nCLOCKS!");
1449 label->setText( warning ); 1449 label->setText( warning );
1450 label->setAlignment ( Qt::AlignHCenter ); 1450 label->setAlignment ( Qt::AlignHCenter );
1451 lay->addWidget( label); 1451 lay->addWidget( label);
1452 mSyncActionDialog->setFixedSize( 230, 300); 1452 mSyncActionDialog->setFixedSize( 230, 300);
1453 } else { 1453 } else {
1454 mSyncActionDialog->setFixedSize( 230, 200); 1454 mSyncActionDialog->setFixedSize( 230, 200);
1455 } 1455 }
1456 } else { 1456 } else {
1457 mSyncActionDialog->setFixedSize( 230, 120); 1457 mSyncActionDialog->setFixedSize( 230, 120);
1458 } 1458 }
1459 } else 1459 } else
1460 mSyncActionDialog->setFixedSize( 230, 120); 1460 mSyncActionDialog->setFixedSize( 230, 120);
1461 mSyncActionDialog->show(); 1461 mSyncActionDialog->show();
1462 mSyncActionDialog->raise(); 1462 mSyncActionDialog->raise();
1463 emit request_file(mResource); 1463 emit request_file(mResource);
1464 emit request_file(); 1464 emit request_file();
1465 qApp->processEvents(); 1465 qApp->processEvents();
1466 QString fileName = mFileName; 1466 QString fileName = mFileName;
1467 QFile file( fileName ); 1467 QFile file( fileName );
1468 if (!file.open( IO_ReadOnly ) ) { 1468 if (!file.open( IO_ReadOnly ) ) {
1469 mErrorMessage = 0; 1469 mErrorMessage = 0;
1470 end_connect(); 1470 end_connect();
1471 error_connect("ERROR_FI\r\n\r\n"); 1471 error_connect("ERROR_FI\r\n\r\n");
1472 return ; 1472 return ;
1473 } 1473 }
1474 mSyncActionDialog->setCaption( i18n("Sending file...") ); 1474 mSyncActionDialog->setCaption( i18n("Sending file...") );
1475 QTextStream ts( &file ); 1475 QTextStream ts( &file );
1476 ts.setEncoding( QTextStream::Latin1 ); 1476 ts.setEncoding( QTextStream::Latin1 );
1477 1477
1478 QTextStream os( mSocket ); 1478 QTextStream os( mSocket );
1479 os.setEncoding( QTextStream::Latin1 ); 1479 os.setEncoding( QTextStream::Latin1 );
1480 while ( ! ts.atEnd() ) { 1480 while ( ! ts.atEnd() ) {
1481 os << ts.readLine() << "\r\n"; 1481 os << ts.readLine() << "\r\n";
1482 } 1482 }
1483 os << "\r\n"; 1483 os << "\r\n";
1484 //os << ts.read(); 1484 //os << ts.read();
1485 file.close(); 1485 file.close();
1486 mSyncActionDialog->setCaption( i18n("Waiting for synced file...") ); 1486 mSyncActionDialog->setCaption( i18n("Waiting for synced file...") );
1487 mSocket->close(); 1487 mSocket->close();
1488 if ( mSocket->state() == QSocket::Idle ) 1488 if ( mSocket->state() == QSocket::Idle )
1489 QTimer::singleShot( 10, this , SLOT ( discardClient())); 1489 QTimer::singleShot( 10, this , SLOT ( discardClient()));
1490} 1490}
1491void KServerSocket::get_file() 1491void KServerSocket::get_file()
1492{ 1492{
1493 mSyncActionDialog->setCaption( i18n("Receiving synced file...") ); 1493 mSyncActionDialog->setCaption( i18n("Receiving synced file...") );
1494 1494
1495 piTime.start(); 1495 piTime.start();
1496 piFileString = ""; 1496 piFileString = "";
1497 QTimer::singleShot( 1, this , SLOT (readBackFileFromSocket( ) )); 1497 QTimer::singleShot( 1, this , SLOT (readBackFileFromSocket( ) ));
1498} 1498}
1499 1499
1500 1500
1501void KServerSocket::readBackFileFromSocket() 1501void KServerSocket::readBackFileFromSocket()
1502{ 1502{
1503 //qDebug("readBackFileFromSocket() %d ", piTime.elapsed ()); 1503 //qDebug("readBackFileFromSocket() %d ", piTime.elapsed ());
1504 while ( mSocket->canReadLine () ) { 1504 while ( mSocket->canReadLine () ) {
1505 piTime.restart(); 1505 piTime.restart();
1506 QString line = mSocket->readLine (); 1506 QString line = mSocket->readLine ();
1507 piFileString += line; 1507 piFileString += line;
1508 //qDebug("readline: %s ", line.latin1()); 1508 //qDebug("readline: %s ", line.latin1());
1509 mSyncActionDialog->setCaption( i18n("Received %1 bytes").arg( piFileString.length() ) ); 1509 mSyncActionDialog->setCaption( i18n("Received %1 bytes").arg( piFileString.length() ) );
1510 1510
1511 } 1511 }
1512 if ( piTime.elapsed () < 3000 ) { 1512 if ( piTime.elapsed () < 3000 ) {
1513 // wait for more 1513 // wait for more
1514 //qDebug("waitformore "); 1514 //qDebug("waitformore ");
1515 QTimer::singleShot( 100, this , SLOT (readBackFileFromSocket( ) )); 1515 QTimer::singleShot( 100, this , SLOT (readBackFileFromSocket( ) ));
1516 return; 1516 return;
1517 } 1517 }
1518 QString fileName = mFileName; 1518 QString fileName = mFileName;
1519 QFile file ( fileName ); 1519 QFile file ( fileName );
1520 if (!file.open( IO_WriteOnly ) ) { 1520 if (!file.open( IO_WriteOnly ) ) {
1521 delete mSyncActionDialog; 1521 delete mSyncActionDialog;
1522 mSyncActionDialog = 0; 1522 mSyncActionDialog = 0;
1523 qDebug("KSS:Error open read back file "); 1523 qDebug("KSS:Error open read back file ");
1524 piFileString = ""; 1524 piFileString = "";
1525 emit file_received( false, mResource); 1525 emit file_received( false, mResource);
1526 emit file_received( false); 1526 emit file_received( false);
1527 blockRC = false; 1527 blockRC = false;
1528 return ; 1528 return ;
1529 1529
1530 } 1530 }
1531 1531
1532 // mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1)); 1532 // mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1));
1533 QTextStream ts ( &file ); 1533 QTextStream ts ( &file );
1534 ts.setEncoding( QTextStream::Latin1 ); 1534 ts.setEncoding( QTextStream::Latin1 );
1535 mSyncActionDialog->setCaption( i18n("Writing file to disk...") ); 1535 mSyncActionDialog->setCaption( i18n("Writing file to disk...") );
1536 ts << piFileString; 1536 ts << piFileString;
1537 mSocket->close(); 1537 mSocket->close();
1538 if ( mSocket->state() == QSocket::Idle ) 1538 if ( mSocket->state() == QSocket::Idle )
1539 QTimer::singleShot( 10, this , SLOT ( discardClient())); 1539 QTimer::singleShot( 10, this , SLOT ( discardClient()));
1540 file.close(); 1540 file.close();
1541 piFileString = ""; 1541 piFileString = "";
1542 emit file_received( true, mResource ); 1542 emit file_received( true, mResource );
1543 emit file_received( true); 1543 emit file_received( true);
1544 delete mSyncActionDialog; 1544 delete mSyncActionDialog;
1545 mSyncActionDialog = 0; 1545 mSyncActionDialog = 0;
1546 blockRC = false; 1546 blockRC = false;
1547 1547
1548} 1548}
1549 1549
1550KCommandSocket::KCommandSocket ( QString remres, QString password, Q_UINT16 port, QString host, QObject * parent, QWidget * cap, const char * name ): QObject( parent, name ) 1550KCommandSocket::KCommandSocket ( QString remres, QString password, Q_UINT16 port, QString host, QObject * parent, QWidget * cap, const char * name ): QObject( parent, name )
1551{ 1551{
1552 mRemoteResource = remres; 1552 mRemoteResource = remres;
1553 if ( mRemoteResource.isEmpty() ) 1553 if ( mRemoteResource.isEmpty() )
1554 mRemoteResource = "ALL"; 1554 mRemoteResource = "ALL";
1555 else 1555 else
1556 mRemoteResource.replace (QRegExp (" "),"_" ); 1556 mRemoteResource.replace (QRegExp (" "),"_" );
1557 mPassWord = password; 1557 mPassWord = password;
1558 mSocket = 0; 1558 mSocket = 0;
1559 mFirst = false; 1559 mFirst = false;
1560 mFirstLine = true; 1560 mFirstLine = true;
1561 mPort = port; 1561 mPort = port;
1562 mHost = host; 1562 mHost = host;
1563 tlw = cap; 1563 tlw = cap;
1564 mRetVal = quiet; 1564 mRetVal = quiet;
1565 mTimerSocket = new QTimer ( this ); 1565 mTimerSocket = new QTimer ( this );
1566 connect( mTimerSocket, SIGNAL ( timeout () ), this, SLOT ( updateConnectDialog() ) ); 1566 connect( mTimerSocket, SIGNAL ( timeout () ), this, SLOT ( updateConnectDialog() ) );
1567 mConnectProgress.setCaption( i18n("Pi-Sync") ); 1567 mConnectProgress.setCaption( i18n("Pi-Sync") );
1568 connect( &mConnectProgress, SIGNAL ( cancelled () ), this, SLOT ( deleteSocket() ) ); 1568 connect( &mConnectProgress, SIGNAL ( cancelled () ), this, SLOT ( deleteSocket() ) );
1569 mConnectCount = -1; 1569 mConnectCount = -1;
1570} 1570}
1571void KCommandSocket::sendFileRequest() 1571void KCommandSocket::sendFileRequest()
1572{ 1572{
1573 if ( tlw ) 1573 if ( tlw )
1574 tlw->setCaption( i18n("Connected! Sending request for remote file ...") ); 1574 tlw->setCaption( i18n("Connected! Sending request for remote file ...") );
1575 mConnectProgress.hide(); 1575 mConnectProgress.hide();
1576 mConnectCount = 300;mConnectMax = 300; 1576 mConnectCount = 300;mConnectMax = 300;
1577 mConnectProgress.setCaption( i18n("Pi-Sync: Connected!") ); 1577 mConnectProgress.setCaption( i18n("Pi-Sync: Connected!") );
1578 mConnectProgress.setLabelText( i18n("Waiting for remote file...") ); 1578 mConnectProgress.setLabelText( i18n("Waiting for remote file...") );
1579 mTimerSocket->start( 100, true ); 1579 mTimerSocket->start( 100, true );
1580 QTextStream os( mSocket ); 1580 QTextStream os( mSocket );
1581 os.setEncoding( QTextStream::Latin1 ); 1581 os.setEncoding( QTextStream::Latin1 );
1582 1582
1583 QString curDt = " " +KGlobal::locale()->formatDateTime(QDateTime::currentDateTime().addSecs(-1),true, true,KLocale::ISODate ); 1583 QString curDt = " " +KGlobal::locale()->formatDateTime(QDateTime::currentDateTime().addSecs(-1),true, true,KLocale::ISODate );
1584 os << "GET " << mPassWord << curDt << " " << mRemoteResource << "\r\n\r\n"; 1584 os << "GET " << mPassWord << curDt << " " << mRemoteResource << "\r\n\r\n";
1585} 1585}
1586 1586
1587void KCommandSocket::readFile( QString fn ) 1587void KCommandSocket::readFile( QString fn )
1588{ 1588{
1589 if ( !mSocket ) { 1589 if ( !mSocket ) {
1590 mSocket = new QSocket( this ); 1590 mSocket = new QSocket( this );
1591 qDebug("KCS: read file - new socket"); 1591 //qDebug("KCS: read file - new socket");
1592 connect( mSocket, SIGNAL(readyRead()), this, SLOT(startReadFileFromSocket()) ); 1592 connect( mSocket, SIGNAL(readyRead()), this, SLOT(startReadFileFromSocket()) );
1593 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) ); 1593 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) );
1594 connect( mSocket, SIGNAL(connected ()), this, SLOT(sendFileRequest() )); 1594 connect( mSocket, SIGNAL(connected ()), this, SLOT(sendFileRequest() ));
1595 } 1595 }
1596 mFileString = ""; 1596 mFileString = "";
1597 mFileName = fn; 1597 mFileName = fn;
1598 mFirst = true; 1598 mFirst = true;
1599 if ( tlw ) 1599 if ( tlw )
1600 tlw->setCaption( i18n("Trying to connect to remote...") ); 1600 tlw->setCaption( i18n("Trying to connect to remote...") );
1601 mConnectCount = 30;mConnectMax = 30; 1601 mConnectCount = 30;mConnectMax = 30;
1602 mTimerSocket->start( 1000, true ); 1602 mTimerSocket->start( 1000, true );
1603 mSocket->connectToHost( mHost, mPort ); 1603 mSocket->connectToHost( mHost, mPort );
1604 qDebug("KCS: Waiting for connection"); 1604 qDebug("KCS: Waiting for connection");
1605} 1605}
1606void KCommandSocket::updateConnectDialog() 1606void KCommandSocket::updateConnectDialog()
1607{ 1607{
1608 1608
1609 if ( mConnectCount == mConnectMax ) { 1609 if ( mConnectCount == mConnectMax ) {
1610 qDebug("MAXX %d", mConnectMax); 1610 //qDebug("MAXX %d", mConnectMax);
1611 mConnectProgress.setTotalSteps ( 30 ); 1611 mConnectProgress.setTotalSteps ( 30 );
1612 mConnectProgress.show(); 1612 mConnectProgress.show();
1613 mConnectProgress.setLabelText( i18n("Trying to connect to remote...") ); 1613 mConnectProgress.setLabelText( i18n("Trying to connect to remote...") );
1614 } 1614 }
1615 qDebug("updateConnectDialog() %d", mConnectCount); 1615 //qDebug("updateConnectDialog() %d", mConnectCount);
1616 mConnectProgress.raise(); 1616 mConnectProgress.raise();
1617 mConnectProgress.setProgress( (mConnectMax - mConnectCount)%30 ); 1617 mConnectProgress.setProgress( (mConnectMax - mConnectCount)%30 );
1618 --mConnectCount; 1618 --mConnectCount;
1619 if ( mConnectCount > 0 ) 1619 if ( mConnectCount > 0 )
1620 mTimerSocket->start( 1000, true ); 1620 mTimerSocket->start( 1000, true );
1621 else 1621 else
1622 deleteSocket(); 1622 deleteSocket();
1623 1623
1624} 1624}
1625void KCommandSocket::writeFile( QString fileName ) 1625void KCommandSocket::writeFile( QString fileName )
1626{ 1626{
1627 if ( !mSocket ) { 1627 if ( !mSocket ) {
1628 mSocket = new QSocket( this ); 1628 mSocket = new QSocket( this );
1629 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) ); 1629 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) );
1630 connect( mSocket, SIGNAL(connected ()), this, SLOT(writeFileToSocket()) ); 1630 connect( mSocket, SIGNAL(connected ()), this, SLOT(writeFileToSocket()) );
1631 } 1631 }
1632 mFileName = fileName ; 1632 mFileName = fileName ;
1633 mConnectCount = 30;mConnectMax = 30; 1633 mConnectCount = 30;mConnectMax = 30;
1634 mTimerSocket->start( 1000, true ); 1634 mTimerSocket->start( 1000, true );
1635 mSocket->connectToHost( mHost, mPort ); 1635 mSocket->connectToHost( mHost, mPort );
1636} 1636}
1637void KCommandSocket::writeFileToSocket() 1637void KCommandSocket::writeFileToSocket()
1638{ 1638{
1639 mTimerSocket->stop(); 1639 mTimerSocket->stop();
1640 QFile file2( mFileName ); 1640 QFile file2( mFileName );
1641 if (!file2.open( IO_ReadOnly ) ) { 1641 if (!file2.open( IO_ReadOnly ) ) {
1642 mConnectProgress.hide(); 1642 mConnectProgress.hide();
1643 mConnectCount = -1; 1643 mConnectCount = -1;
1644 mRetVal= errorW; 1644 mRetVal= errorW;
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 return ; 1648 return ;
1649 } 1649 }
1650 mConnectProgress.setTotalSteps ( file2.size() ); 1650 mConnectProgress.setTotalSteps ( file2.size() );
1651 mConnectProgress.show(); 1651 mConnectProgress.show();
1652 int count = 0; 1652 int count = 0;
1653 mConnectProgress.setLabelText( i18n("Sending back synced file...") ); 1653 mConnectProgress.setLabelText( i18n("Sending back synced file...") );
1654 mConnectProgress.setProgress( count ); 1654 mConnectProgress.setProgress( count );
1655 mConnectProgress.blockSignals( true ); 1655 mConnectProgress.blockSignals( true );
1656 QTextStream ts2( &file2 ); 1656 QTextStream ts2( &file2 );
1657 ts2.setEncoding( QTextStream::Latin1 ); 1657 ts2.setEncoding( QTextStream::Latin1 );
1658 QTextStream os2( mSocket ); 1658 QTextStream os2( mSocket );
1659 os2.setEncoding( QTextStream::Latin1 ); 1659 os2.setEncoding( QTextStream::Latin1 );
1660 os2 << "PUT " << mPassWord << " " << mRemoteResource << "\r\n\r\n";; 1660 os2 << "PUT " << mPassWord << " " << mRemoteResource << "\r\n\r\n";;
1661 int byteCount = 0; 1661 int byteCount = 0;
1662 int byteMax = file2.size()/53; 1662 int byteMax = file2.size()/53;
1663 while ( ! ts2.atEnd() ) { 1663 while ( ! ts2.atEnd() ) {
1664 qApp->processEvents(); 1664 qApp->processEvents();
1665 if ( byteCount > byteMax ) { 1665 if ( byteCount > byteMax ) {
1666 byteCount = 0; 1666 byteCount = 0;
1667 mConnectProgress.setProgress( count ); 1667 mConnectProgress.setProgress( count );
1668 } 1668 }
1669 QString temp = ts2.readLine(); 1669 QString temp = ts2.readLine();
1670 count += temp.length(); 1670 count += temp.length();
1671 byteCount += temp.length(); 1671 byteCount += temp.length();
1672 os2 << temp << "\r\n"; 1672 os2 << temp << "\r\n";
1673 } 1673 }
1674 file2.close(); 1674 file2.close();
1675 mConnectProgress.hide(); 1675 mConnectProgress.hide();
1676 mConnectCount = -1; 1676 mConnectCount = -1;
1677 os2 << "\r\n"; 1677 os2 << "\r\n";
1678 mRetVal= successW; 1678 mRetVal= successW;
1679 mSocket->close(); 1679 mSocket->close();
1680 if ( mSocket->state() == QSocket::Idle ) 1680 if ( mSocket->state() == QSocket::Idle )
1681 QTimer::singleShot( 10, this , SLOT ( deleteSocket())); 1681 QTimer::singleShot( 10, this , SLOT ( deleteSocket()));
1682 mConnectProgress.blockSignals( false ); 1682 mConnectProgress.blockSignals( false );
1683} 1683}
1684void KCommandSocket::sendStop() 1684void KCommandSocket::sendStop()
1685{ 1685{
1686 if ( !mSocket ) { 1686 if ( !mSocket ) {
1687 mSocket = new QSocket( this ); 1687 mSocket = new QSocket( this );
1688 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) ); 1688 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) );
1689 } 1689 }
1690 mSocket->connectToHost( mHost, mPort ); 1690 mSocket->connectToHost( mHost, mPort );
1691 QTextStream os2( mSocket ); 1691 QTextStream os2( mSocket );
1692 os2.setEncoding( QTextStream::Latin1 ); 1692 os2.setEncoding( QTextStream::Latin1 );
1693 os2 << "STOP\r\n\r\n"; 1693 os2 << "STOP\r\n\r\n";
1694 mSocket->close(); 1694 mSocket->close();
1695 if ( mSocket->state() == QSocket::Idle ) 1695 if ( mSocket->state() == QSocket::Idle )
1696 QTimer::singleShot( 10, this , SLOT ( deleteSocket())); 1696 QTimer::singleShot( 10, this , SLOT ( deleteSocket()));
1697} 1697}
1698 1698
1699void KCommandSocket::startReadFileFromSocket() 1699void KCommandSocket::startReadFileFromSocket()
1700{ 1700{
1701 if ( ! mFirst ) 1701 if ( ! mFirst )
1702 return; 1702 return;
1703 mConnectProgress.setLabelText( i18n("Receiving file from remote...") ); 1703 mConnectProgress.setLabelText( i18n("Receiving file from remote...") );
1704 mFirst = false; 1704 mFirst = false;
1705 mFileString = ""; 1705 mFileString = "";
1706 mTime.start(); 1706 mTime.start();
1707 mFirstLine = true; 1707 mFirstLine = true;
1708 QTimer::singleShot( 1, this , SLOT (readFileFromSocket( ) )); 1708 QTimer::singleShot( 1, this , SLOT (readFileFromSocket( ) ));
1709 1709
1710} 1710}
1711void KCommandSocket::readFileFromSocket() 1711void KCommandSocket::readFileFromSocket()
1712{ 1712{
1713 //qDebug("readBackFileFromSocket() %d ", mTime.elapsed ()); 1713 //qDebug("readBackFileFromSocket() %d ", mTime.elapsed ());
1714 while ( mSocket->canReadLine () ) { 1714 while ( mSocket->canReadLine () ) {
1715 mTime.restart(); 1715 mTime.restart();
1716 QString line = mSocket->readLine (); 1716 QString line = mSocket->readLine ();
1717 if ( mFirstLine ) { 1717 if ( mFirstLine ) {
1718 mFirstLine = false; 1718 mFirstLine = false;
1719 if ( line.left( 6 ) == "ERROR_" ) { 1719 if ( line.left( 6 ) == "ERROR_" ) {
1720 mTimerSocket->stop(); 1720 mTimerSocket->stop();
1721 mConnectCount = -1; 1721 mConnectCount = -1;
1722 if ( line.left( 8 ) == "ERROR_PW" ) { 1722 if ( line.left( 8 ) == "ERROR_PW" ) {
1723 mRetVal = errorPW; 1723 mRetVal = errorPW;
1724 deleteSocket(); 1724 deleteSocket();
1725 return ; 1725 return ;
1726 } 1726 }
1727 if ( line.left( 8 ) == "ERROR_CA" ) { 1727 if ( line.left( 8 ) == "ERROR_CA" ) {
1728 mRetVal = errorCA; 1728 mRetVal = errorCA;
1729 deleteSocket(); 1729 deleteSocket();
1730 return ; 1730 return ;
1731 } 1731 }
1732 if ( line.left( 8 ) == "ERROR_FI" ) { 1732 if ( line.left( 8 ) == "ERROR_FI" ) {
1733 mRetVal = errorFI; 1733 mRetVal = errorFI;
1734 deleteSocket(); 1734 deleteSocket();
1735 return ; 1735 return ;
1736 } 1736 }
1737 if ( line.left( 8 ) == "ERROR_ED" ) { 1737 if ( line.left( 8 ) == "ERROR_ED" ) {
1738 mRetVal = errorED; 1738 mRetVal = errorED;
1739 deleteSocket(); 1739 deleteSocket();
1740 return ; 1740 return ;
1741 } 1741 }
1742 mRetVal = errorUN; 1742 mRetVal = errorUN;
1743 deleteSocket(); 1743 deleteSocket();
1744 return ; 1744 return ;
1745 } 1745 }
1746 } 1746 }
1747 mFileString += line; 1747 mFileString += line;
1748 //qDebug("readline: %s ", line.latin1()); 1748 //qDebug("readline: %s ", line.latin1());
1749 } 1749 }
1750 if ( mTime.elapsed () < 3000 ) { 1750 if ( mTime.elapsed () < 3000 ) {
1751 // wait for more 1751 // wait for more
1752 //qDebug("waitformore "); 1752 //qDebug("waitformore ");
1753 QTimer::singleShot( 100, this , SLOT (readFileFromSocket( ) )); 1753 QTimer::singleShot( 100, this , SLOT (readFileFromSocket( ) ));
1754 return; 1754 return;
1755 } 1755 }
1756 mTimerSocket->stop(); 1756 mTimerSocket->stop();
1757 mConnectCount = -1; 1757 mConnectCount = -1;
1758 mConnectProgress.hide(); 1758 mConnectProgress.hide();
1759 QString fileName = mFileName; 1759 QString fileName = mFileName;
1760 QFile file ( fileName ); 1760 QFile file ( fileName );
1761 if (!file.open( IO_WriteOnly ) ) { 1761 if (!file.open( IO_WriteOnly ) ) {
1762 mFileString = ""; 1762 mFileString = "";
1763 mRetVal = errorR; 1763 mRetVal = errorR;
1764 qDebug("KSS:Error open temp sync file for writing: %s",fileName.latin1() ); 1764 qDebug("KSS:Error open temp sync file for writing: %s",fileName.latin1() );
1765 deleteSocket(); 1765 deleteSocket();
1766 return ; 1766 return ;
1767 1767
1768 } 1768 }
1769 // mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1)); 1769 // mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1));
1770 QTextStream ts ( &file ); 1770 QTextStream ts ( &file );
1771 ts.setEncoding( QTextStream::Latin1 ); 1771 ts.setEncoding( QTextStream::Latin1 );
1772 ts << mFileString; 1772 ts << mFileString;
1773 file.close(); 1773 file.close();
1774 mFileString = ""; 1774 mFileString = "";
1775 mRetVal = successR; 1775 mRetVal = successR;
1776 mSocket->close(); 1776 mSocket->close();
1777 // if state is not idle, deleteSocket(); is called via 1777 // if state is not idle, deleteSocket(); is called via
1778 // connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) ); 1778 // connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) );
1779 if ( mSocket->state() == QSocket::Idle ) 1779 if ( mSocket->state() == QSocket::Idle )
1780 deleteSocket(); 1780 deleteSocket();
1781} 1781}
1782 1782
1783void KCommandSocket::deleteSocket() 1783void KCommandSocket::deleteSocket()
1784{ 1784{
1785 //qDebug("KCommandSocket::deleteSocket() "); 1785 //qDebug("KCommandSocket::deleteSocket() ");
1786 mConnectProgress.hide(); 1786 mConnectProgress.hide();
1787 1787
1788 if ( mConnectCount >= 0 ) { 1788 if ( mConnectCount >= 0 ) {
1789 mTimerSocket->stop(); 1789 mTimerSocket->stop();
1790 mRetVal = errorTO; 1790 mRetVal = errorTO;
1791 qDebug("KCS::Connection to remote host timed out"); 1791 qDebug("KCS::Connection to remote host timed out");
1792 if ( mSocket ) { 1792 if ( mSocket ) {
1793 mSocket->close(); 1793 mSocket->close();
1794 //if ( mSocket->state() == QSocket::Idle ) 1794 //if ( mSocket->state() == QSocket::Idle )
1795 // deleteSocket(); 1795 // deleteSocket();
1796 delete mSocket; 1796 delete mSocket;
1797 mSocket = 0; 1797 mSocket = 0;
1798 } 1798 }
1799 if ( mConnectCount == 0 ) 1799 if ( mConnectCount == 0 )
1800 KMessageBox::error( 0, i18n("Connection to remote\nhost timed out!\nDid you forgot to enable\nsyncing on remote host?")); 1800 KMessageBox::error( 0, i18n("Connection to remote\nhost timed out!\nDid you forgot to enable\nsyncing on remote host?"));
1801 else if ( tlw ) 1801 else if ( tlw )
1802 tlw->setCaption( i18n("Connection to remote host cancelled!") ); 1802 tlw->setCaption( i18n("Connection to remote host cancelled!") );
1803 emit commandFinished( this, mRetVal ); 1803 emit commandFinished( this, mRetVal );
1804 return; 1804 return;
1805 } 1805 }
1806 //qDebug("KCommandSocket::deleteSocket() %d", mRetVal ); 1806 //qDebug("KCommandSocket::deleteSocket() %d", mRetVal );
1807 if ( mSocket) 1807 if ( mSocket)
1808 delete mSocket; 1808 delete mSocket;
1809 mSocket = 0; 1809 mSocket = 0;
1810 //qDebug("commandFinished "); 1810 //qDebug("commandFinished ");
1811 emit commandFinished( this, mRetVal ); 1811 emit commandFinished( this, mRetVal );
1812} 1812}