summaryrefslogtreecommitdiffabout
path: root/libkdepim/ksyncmanager.cpp
authorzautrix <zautrix>2004-10-11 09:37:01 (UTC)
committer zautrix <zautrix>2004-10-11 09:37:01 (UTC)
commitff475669e0cb65677168d4a29928a6c1d984aa10 (patch) (unidiff)
tree02dd4b6ff9f9c1e1eb177d149d127ac90b693031 /libkdepim/ksyncmanager.cpp
parent5ec2ee22f69f6b3d78b505a4a44b6b0deff29645 (diff)
downloadkdepimpi-ff475669e0cb65677168d4a29928a6c1d984aa10.zip
kdepimpi-ff475669e0cb65677168d4a29928a6c1d984aa10.tar.gz
kdepimpi-ff475669e0cb65677168d4a29928a6c1d984aa10.tar.bz2
fix file transmission with sockets
Diffstat (limited to 'libkdepim/ksyncmanager.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libkdepim/ksyncmanager.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp
index df53235..6baa2ee 100644
--- a/libkdepim/ksyncmanager.cpp
+++ b/libkdepim/ksyncmanager.cpp
@@ -866,345 +866,345 @@ void KSyncManager::readFileFromSocket()
866{ 866{
867 QString fileName = syncFileName(); 867 QString fileName = syncFileName();
868 mParent->topLevelWidget()->setCaption( i18n("Remote file saved to temp file.") ); 868 mParent->topLevelWidget()->setCaption( i18n("Remote file saved to temp file.") );
869 if ( ! syncWithFile( fileName , true ) ) { 869 if ( ! syncWithFile( fileName , true ) ) {
870 mParent->topLevelWidget()->setCaption( i18n("Syncing failed.") ); 870 mParent->topLevelWidget()->setCaption( i18n("Syncing failed.") );
871 return; 871 return;
872 } 872 }
873 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this ); 873 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this );
874 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) ); 874 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) );
875 if ( mWriteBackFile ) 875 if ( mWriteBackFile )
876 commandSocket->writeFile( fileName ); 876 commandSocket->writeFile( fileName );
877 else { 877 else {
878 commandSocket->sendStop(); 878 commandSocket->sendStop();
879 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync succesful!") ); 879 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync succesful!") );
880 } 880 }
881} 881}
882 882
883KServerSocket:: KServerSocket ( QString pw, Q_UINT16 port, int backlog, QObject * parent, const char * name ) : QServerSocket( port, backlog, parent, name ) 883KServerSocket:: KServerSocket ( QString pw, Q_UINT16 port, int backlog, QObject * parent, const char * name ) : QServerSocket( port, backlog, parent, name )
884{ 884{
885 mPassWord = pw; 885 mPassWord = pw;
886 mSocket = 0; 886 mSocket = 0;
887 mSyncActionDialog = 0; 887 mSyncActionDialog = 0;
888 blockRC = false; 888 blockRC = false;
889}; 889};
890 890
891void KServerSocket::newConnection ( int socket ) 891void KServerSocket::newConnection ( int socket )
892{ 892{
893 // qDebug("KServerSocket:New connection %d ", socket); 893 // qDebug("KServerSocket:New connection %d ", socket);
894 if ( mSocket ) { 894 if ( mSocket ) {
895 qDebug("KServerSocket::newConnection Socket deleted! "); 895 qDebug("KServerSocket::newConnection Socket deleted! ");
896 delete mSocket; 896 delete mSocket;
897 mSocket = 0; 897 mSocket = 0;
898 } 898 }
899 mSocket = new QSocket( this ); 899 mSocket = new QSocket( this );
900 connect( mSocket , SIGNAL(readyRead()), this, SLOT(readClient()) ); 900 connect( mSocket , SIGNAL(readyRead()), this, SLOT(readClient()) );
901 connect( mSocket , SIGNAL(delayedCloseFinished()), this, SLOT(discardClient()) ); 901 connect( mSocket , SIGNAL(delayedCloseFinished()), this, SLOT(discardClient()) );
902 mSocket->setSocket( socket ); 902 mSocket->setSocket( socket );
903} 903}
904 904
905void KServerSocket::discardClient() 905void KServerSocket::discardClient()
906{ 906{
907 //qDebug(" KServerSocket::discardClient()"); 907 //qDebug(" KServerSocket::discardClient()");
908 if ( mSocket ) { 908 if ( mSocket ) {
909 delete mSocket; 909 delete mSocket;
910 mSocket = 0; 910 mSocket = 0;
911 } 911 }
912 //emit endConnect(); 912 //emit endConnect();
913} 913}
914void KServerSocket::readClient() 914void KServerSocket::readClient()
915{ 915{
916 if ( blockRC ) 916 if ( blockRC )
917 return; 917 return;
918 if ( mSocket == 0 ) { 918 if ( mSocket == 0 ) {
919 qDebug("ERROR::KServerSocket::readClient(): mSocket == 0 "); 919 qDebug("ERROR::KServerSocket::readClient(): mSocket == 0 ");
920 return; 920 return;
921 } 921 }
922 //qDebug("KServerSocket::readClient()"); 922 //qDebug("KServerSocket::readClient()");
923 if ( mSocket->canReadLine() ) { 923 if ( mSocket->canReadLine() ) {
924 QString line = mSocket->readLine(); 924 QString line = mSocket->readLine();
925 //qDebug("KServerSocket readline: %s ", line.latin1()); 925 //qDebug("KServerSocket readline: %s ", line.latin1());
926 QStringList tokens = QStringList::split( QRegExp("[ \r\n][ \r\n]*"), line ); 926 QStringList tokens = QStringList::split( QRegExp("[ \r\n][ \r\n]*"), line );
927 if ( tokens[0] == "GET" ) { 927 if ( tokens[0] == "GET" ) {
928 if ( tokens[1] == mPassWord ) 928 if ( tokens[1] == mPassWord )
929 //emit sendFile( mSocket ); 929 //emit sendFile( mSocket );
930 send_file(); 930 send_file();
931 else { 931 else {
932 KMessageBox::error( 0, i18n("Got send file request\nwith invalid password")); 932 KMessageBox::error( 0, i18n("Got send file request\nwith invalid password"));
933 //qDebug("password %s, invalid password %s ",mPassWord.latin1(), tokens[1].latin1() ); 933 //qDebug("password %s, invalid password %s ",mPassWord.latin1(), tokens[1].latin1() );
934 } 934 }
935 } 935 }
936 if ( tokens[0] == "PUT" ) { 936 if ( tokens[0] == "PUT" ) {
937 if ( tokens[1] == mPassWord ) { 937 if ( tokens[1] == mPassWord ) {
938 //emit getFile( mSocket ); 938 //emit getFile( mSocket );
939 blockRC = true; 939 blockRC = true;
940 get_file(); 940 get_file();
941 } 941 }
942 else { 942 else {
943 KMessageBox::error( 0, i18n("Got receive file request\nwith invalid password")); 943 KMessageBox::error( 0, i18n("Got receive file request\nwith invalid password"));
944 //qDebug("password %s, invalid password %s ",mPassWord.latin1(), tokens[1].latin1() ); 944 //qDebug("password %s, invalid password %s ",mPassWord.latin1(), tokens[1].latin1() );
945 } 945 }
946 } 946 }
947 if ( tokens[0] == "STOP" ) { 947 if ( tokens[0] == "STOP" ) {
948 //emit endConnect(); 948 //emit endConnect();
949 end_connect(); 949 end_connect();
950 } 950 }
951 } 951 }
952} 952}
953void KServerSocket::end_connect() 953void KServerSocket::end_connect()
954{ 954{
955 delete mSyncActionDialog; 955 delete mSyncActionDialog;
956 mSyncActionDialog = 0; 956 mSyncActionDialog = 0;
957} 957}
958void KServerSocket::send_file() 958void KServerSocket::send_file()
959{ 959{
960 //qDebug("MainWindow::sendFile(QSocket* s) "); 960 //qDebug("MainWindow::sendFile(QSocket* s) ");
961 if ( mSyncActionDialog ) 961 if ( mSyncActionDialog )
962 delete mSyncActionDialog; 962 delete mSyncActionDialog;
963 mSyncActionDialog = new QDialog ( 0, "input-dialog", true ); 963 mSyncActionDialog = new QDialog ( 0, "input-dialog", true );
964 mSyncActionDialog->setCaption(i18n("Received sync request")); 964 mSyncActionDialog->setCaption(i18n("Received sync request"));
965 QLabel* label = new QLabel( i18n("Synchronizing from remote ...\n\nDo not use this application!\n\nIf syncing fails\nyou can close this dialog."), mSyncActionDialog ); 965 QLabel* label = new QLabel( i18n("Synchronizing from remote ...\n\nDo not use this application!\n\nIf syncing fails\nyou can close this dialog."), mSyncActionDialog );
966 QVBoxLayout* lay = new QVBoxLayout( mSyncActionDialog ); 966 QVBoxLayout* lay = new QVBoxLayout( mSyncActionDialog );
967 lay->addWidget( label); 967 lay->addWidget( label);
968 lay->setMargin(7); 968 lay->setMargin(7);
969 lay->setSpacing(7); 969 lay->setSpacing(7);
970 mSyncActionDialog->setFixedSize( 230, 120); 970 mSyncActionDialog->setFixedSize( 230, 120);
971 mSyncActionDialog->show(); 971 mSyncActionDialog->show();
972 mSyncActionDialog->raise(); 972 mSyncActionDialog->raise();
973 emit request_file(); 973 emit request_file();
974 qApp->processEvents(); 974 qApp->processEvents();
975 QString fileName = mFileName; 975 QString fileName = mFileName;
976 QFile file( fileName ); 976 QFile file( fileName );
977 if (!file.open( IO_ReadOnly ) ) { 977 if (!file.open( IO_ReadOnly ) ) {
978 delete mSyncActionDialog; 978 delete mSyncActionDialog;
979 mSyncActionDialog = 0; 979 mSyncActionDialog = 0;
980 qDebug("KSS::error open file "); 980 qDebug("KSS::error open file ");
981 mSocket->close(); 981 mSocket->close();
982 if ( mSocket->state() == QSocket::Idle ) 982 if ( mSocket->state() == QSocket::Idle )
983 QTimer::singleShot( 10, this , SLOT ( discardClient())); 983 QTimer::singleShot( 10, this , SLOT ( discardClient()));
984 return ; 984 return ;
985 985
986 } 986 }
987 mSyncActionDialog->setCaption( i18n("Sending file...") ); 987 mSyncActionDialog->setCaption( i18n("Sending file...") );
988 QTextStream ts( &file ); 988 QTextStream ts( &file );
989 ts.setEncoding( QTextStream::Latin1 ); 989 ts.setEncoding( QTextStream::Latin1 );
990 990
991 QTextStream os( mSocket ); 991 QTextStream os( mSocket );
992 os.setEncoding( QTextStream::Latin1 ); 992 os.setEncoding( QTextStream::Latin1 );
993 while ( ! ts.atEnd() ) { 993 while ( ! ts.atEnd() ) {
994 os << ts.readLine() << "\n"; 994 os << ts.readLine() << "\r\n";
995 } 995 }
996 //os << ts.read(); 996 //os << ts.read();
997 file.close(); 997 file.close();
998 mSyncActionDialog->setCaption( i18n("Waiting for synced file...") ); 998 mSyncActionDialog->setCaption( i18n("Waiting for synced file...") );
999 mSocket->close(); 999 mSocket->close();
1000 if ( mSocket->state() == QSocket::Idle ) 1000 if ( mSocket->state() == QSocket::Idle )
1001 QTimer::singleShot( 10, this , SLOT ( discardClient())); 1001 QTimer::singleShot( 10, this , SLOT ( discardClient()));
1002} 1002}
1003void KServerSocket::get_file() 1003void KServerSocket::get_file()
1004{ 1004{
1005 mSyncActionDialog->setCaption( i18n("Receiving synced file...") ); 1005 mSyncActionDialog->setCaption( i18n("Receiving synced file...") );
1006 1006
1007 piTime.start(); 1007 piTime.start();
1008 piFileString = ""; 1008 piFileString = "";
1009 QTimer::singleShot( 1, this , SLOT (readBackFileFromSocket( ) )); 1009 QTimer::singleShot( 1, this , SLOT (readBackFileFromSocket( ) ));
1010} 1010}
1011 1011
1012 1012
1013void KServerSocket::readBackFileFromSocket() 1013void KServerSocket::readBackFileFromSocket()
1014{ 1014{
1015 //qDebug("readBackFileFromSocket() %d ", piTime.elapsed ()); 1015 //qDebug("readBackFileFromSocket() %d ", piTime.elapsed ());
1016 while ( mSocket->canReadLine () ) { 1016 while ( mSocket->canReadLine () ) {
1017 piTime.restart(); 1017 piTime.restart();
1018 QString line = mSocket->readLine (); 1018 QString line = mSocket->readLine ();
1019 piFileString += line; 1019 piFileString += line;
1020 //qDebug("readline: %s ", line.latin1()); 1020 //qDebug("readline: %s ", line.latin1());
1021 mSyncActionDialog->setCaption( i18n("Received %1 bytes").arg( piFileString.length() ) ); 1021 mSyncActionDialog->setCaption( i18n("Received %1 bytes").arg( piFileString.length() ) );
1022 1022
1023 } 1023 }
1024 if ( piTime.elapsed () < 3000 ) { 1024 if ( piTime.elapsed () < 3000 ) {
1025 // wait for more 1025 // wait for more
1026 //qDebug("waitformore "); 1026 //qDebug("waitformore ");
1027 QTimer::singleShot( 100, this , SLOT (readBackFileFromSocket( ) )); 1027 QTimer::singleShot( 100, this , SLOT (readBackFileFromSocket( ) ));
1028 return; 1028 return;
1029 } 1029 }
1030 QString fileName = mFileName; 1030 QString fileName = mFileName;
1031 QFile file ( fileName ); 1031 QFile file ( fileName );
1032 if (!file.open( IO_WriteOnly ) ) { 1032 if (!file.open( IO_WriteOnly ) ) {
1033 delete mSyncActionDialog; 1033 delete mSyncActionDialog;
1034 mSyncActionDialog = 0; 1034 mSyncActionDialog = 0;
1035 qDebug("KSS:Error open read back file "); 1035 qDebug("KSS:Error open read back file ");
1036 piFileString = ""; 1036 piFileString = "";
1037 emit file_received( false ); 1037 emit file_received( false );
1038 blockRC = false; 1038 blockRC = false;
1039 return ; 1039 return ;
1040 1040
1041 } 1041 }
1042 1042
1043 // mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1)); 1043 // mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1));
1044 QTextStream ts ( &file ); 1044 QTextStream ts ( &file );
1045 ts.setEncoding( QTextStream::Latin1 ); 1045 ts.setEncoding( QTextStream::Latin1 );
1046 mSyncActionDialog->setCaption( i18n("Writing file to disk...") ); 1046 mSyncActionDialog->setCaption( i18n("Writing file to disk...") );
1047 ts << piFileString; 1047 ts << piFileString;
1048 mSocket->close(); 1048 mSocket->close();
1049 if ( mSocket->state() == QSocket::Idle ) 1049 if ( mSocket->state() == QSocket::Idle )
1050 QTimer::singleShot( 10, this , SLOT ( discardClient())); 1050 QTimer::singleShot( 10, this , SLOT ( discardClient()));
1051 file.close(); 1051 file.close();
1052 delete mSyncActionDialog; 1052 delete mSyncActionDialog;
1053 mSyncActionDialog = 0; 1053 mSyncActionDialog = 0;
1054 piFileString = ""; 1054 piFileString = "";
1055 blockRC = false; 1055 blockRC = false;
1056 emit file_received( true ); 1056 emit file_received( true );
1057 1057
1058} 1058}
1059 1059
1060KCommandSocket::KCommandSocket ( QString password, Q_UINT16 port, QString host, QObject * parent, const char * name ): QObject( parent, name ) 1060KCommandSocket::KCommandSocket ( QString password, Q_UINT16 port, QString host, QObject * parent, const char * name ): QObject( parent, name )
1061{ 1061{
1062 mPassWord = password; 1062 mPassWord = password;
1063 mSocket = 0; 1063 mSocket = 0;
1064 mPort = port; 1064 mPort = port;
1065 mHost = host; 1065 mHost = host;
1066 1066
1067 mRetVal = quiet; 1067 mRetVal = quiet;
1068 mTimerSocket = new QTimer ( this ); 1068 mTimerSocket = new QTimer ( this );
1069 connect( mTimerSocket, SIGNAL ( timeout () ), this, SLOT ( deleteSocket() ) ); 1069 connect( mTimerSocket, SIGNAL ( timeout () ), this, SLOT ( deleteSocket() ) );
1070} 1070}
1071void KCommandSocket::readFile( QString fn ) 1071void KCommandSocket::readFile( QString fn )
1072{ 1072{
1073 if ( !mSocket ) { 1073 if ( !mSocket ) {
1074 mSocket = new QSocket( this ); 1074 mSocket = new QSocket( this );
1075 connect( mSocket, SIGNAL(readyRead()), this, SLOT(startReadFileFromSocket()) ); 1075 connect( mSocket, SIGNAL(readyRead()), this, SLOT(startReadFileFromSocket()) );
1076 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) ); 1076 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) );
1077 } 1077 }
1078 mFileString = ""; 1078 mFileString = "";
1079 mFileName = fn; 1079 mFileName = fn;
1080 mFirst = true; 1080 mFirst = true;
1081 mSocket->connectToHost( mHost, mPort ); 1081 mSocket->connectToHost( mHost, mPort );
1082 QTextStream os( mSocket ); 1082 QTextStream os( mSocket );
1083 os.setEncoding( QTextStream::Latin1 ); 1083 os.setEncoding( QTextStream::Latin1 );
1084 os << "GET " << mPassWord << "\r\n"; 1084 os << "GET " << mPassWord << "\r\n";
1085 mTimerSocket->start( 10000 ); 1085 mTimerSocket->start( 10000 );
1086} 1086}
1087 1087
1088void KCommandSocket::writeFile( QString fileName ) 1088void KCommandSocket::writeFile( QString fileName )
1089{ 1089{
1090 if ( !mSocket ) { 1090 if ( !mSocket ) {
1091 mSocket = new QSocket( this ); 1091 mSocket = new QSocket( this );
1092 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) ); 1092 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) );
1093 connect( mSocket, SIGNAL(connected ()), this, SLOT(writeFileToSocket()) ); 1093 connect( mSocket, SIGNAL(connected ()), this, SLOT(writeFileToSocket()) );
1094 } 1094 }
1095 mFileName = fileName ; 1095 mFileName = fileName ;
1096 mSocket->connectToHost( mHost, mPort ); 1096 mSocket->connectToHost( mHost, mPort );
1097} 1097}
1098void KCommandSocket::writeFileToSocket() 1098void KCommandSocket::writeFileToSocket()
1099{ 1099{
1100 QFile file2( mFileName ); 1100 QFile file2( mFileName );
1101 if (!file2.open( IO_ReadOnly ) ) { 1101 if (!file2.open( IO_ReadOnly ) ) {
1102 mRetVal= errorW; 1102 mRetVal= errorW;
1103 mSocket->close(); 1103 mSocket->close();
1104 if ( mSocket->state() == QSocket::Idle ) 1104 if ( mSocket->state() == QSocket::Idle )
1105 QTimer::singleShot( 10, this , SLOT ( deleteSocket())); 1105 QTimer::singleShot( 10, this , SLOT ( deleteSocket()));
1106 return ; 1106 return ;
1107 } 1107 }
1108 QTextStream ts2( &file2 ); 1108 QTextStream ts2( &file2 );
1109 ts2.setEncoding( QTextStream::Latin1 ); 1109 ts2.setEncoding( QTextStream::Latin1 );
1110 QTextStream os2( mSocket ); 1110 QTextStream os2( mSocket );
1111 os2.setEncoding( QTextStream::Latin1 ); 1111 os2.setEncoding( QTextStream::Latin1 );
1112 os2 << "PUT " << mPassWord << "\r\n";; 1112 os2 << "PUT " << mPassWord << "\r\n";;
1113 while ( ! ts2.atEnd() ) { 1113 while ( ! ts2.atEnd() ) {
1114 os2 << ts2.readLine() << "\n"; 1114 os2 << ts2.readLine() << "\r\n";
1115 } 1115 }
1116 mRetVal= successW; 1116 mRetVal= successW;
1117 file2.close(); 1117 file2.close();
1118 mSocket->close(); 1118 mSocket->close();
1119 if ( mSocket->state() == QSocket::Idle ) 1119 if ( mSocket->state() == QSocket::Idle )
1120 QTimer::singleShot( 10, this , SLOT ( deleteSocket())); 1120 QTimer::singleShot( 10, this , SLOT ( deleteSocket()));
1121} 1121}
1122void KCommandSocket::sendStop() 1122void KCommandSocket::sendStop()
1123{ 1123{
1124 if ( !mSocket ) { 1124 if ( !mSocket ) {
1125 mSocket = new QSocket( this ); 1125 mSocket = new QSocket( this );
1126 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) ); 1126 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) );
1127 } 1127 }
1128 mSocket->connectToHost( mHost, mPort ); 1128 mSocket->connectToHost( mHost, mPort );
1129 QTextStream os2( mSocket ); 1129 QTextStream os2( mSocket );
1130 os2.setEncoding( QTextStream::Latin1 ); 1130 os2.setEncoding( QTextStream::Latin1 );
1131 os2 << "STOP\r\n"; 1131 os2 << "STOP\r\n";
1132 mSocket->close(); 1132 mSocket->close();
1133 if ( mSocket->state() == QSocket::Idle ) 1133 if ( mSocket->state() == QSocket::Idle )
1134 QTimer::singleShot( 10, this , SLOT ( deleteSocket())); 1134 QTimer::singleShot( 10, this , SLOT ( deleteSocket()));
1135} 1135}
1136 1136
1137void KCommandSocket::startReadFileFromSocket() 1137void KCommandSocket::startReadFileFromSocket()
1138{ 1138{
1139 if ( ! mFirst ) 1139 if ( ! mFirst )
1140 return; 1140 return;
1141 mFirst = false; 1141 mFirst = false;
1142 mTimerSocket->stop(); 1142 mTimerSocket->stop();
1143 mFileString = ""; 1143 mFileString = "";
1144 mTime.start(); 1144 mTime.start();
1145 QTimer::singleShot( 1, this , SLOT (readFileFromSocket( ) )); 1145 QTimer::singleShot( 1, this , SLOT (readFileFromSocket( ) ));
1146 1146
1147} 1147}
1148void KCommandSocket::readFileFromSocket() 1148void KCommandSocket::readFileFromSocket()
1149{ 1149{
1150 //qDebug("readBackFileFromSocket() %d ", mTime.elapsed ()); 1150 //qDebug("readBackFileFromSocket() %d ", mTime.elapsed ());
1151 while ( mSocket->canReadLine () ) { 1151 while ( mSocket->canReadLine () ) {
1152 mTime.restart(); 1152 mTime.restart();
1153 QString line = mSocket->readLine (); 1153 QString line = mSocket->readLine ();
1154 mFileString += line; 1154 mFileString += line;
1155 //qDebug("readline: %s ", line.latin1()); 1155 //qDebug("readline: %s ", line.latin1());
1156 } 1156 }
1157 if ( mTime.elapsed () < 3000 ) { 1157 if ( mTime.elapsed () < 3000 ) {
1158 // wait for more 1158 // wait for more
1159 //qDebug("waitformore "); 1159 //qDebug("waitformore ");
1160 QTimer::singleShot( 100, this , SLOT (readFileFromSocket( ) )); 1160 QTimer::singleShot( 100, this , SLOT (readFileFromSocket( ) ));
1161 return; 1161 return;
1162 } 1162 }
1163 QString fileName = mFileName; 1163 QString fileName = mFileName;
1164 QFile file ( fileName ); 1164 QFile file ( fileName );
1165 if (!file.open( IO_WriteOnly ) ) { 1165 if (!file.open( IO_WriteOnly ) ) {
1166 mFileString = ""; 1166 mFileString = "";
1167 mRetVal = errorR; 1167 mRetVal = errorR;
1168 qDebug("KSS:Error open temp sync file for writing: %s",fileName.latin1() ); 1168 qDebug("KSS:Error open temp sync file for writing: %s",fileName.latin1() );
1169 deleteSocket(); 1169 deleteSocket();
1170 return ; 1170 return ;
1171 1171
1172 } 1172 }
1173 // mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1)); 1173 // mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1));
1174 QTextStream ts ( &file ); 1174 QTextStream ts ( &file );
1175 ts.setEncoding( QTextStream::Latin1 ); 1175 ts.setEncoding( QTextStream::Latin1 );
1176 ts << mFileString; 1176 ts << mFileString;
1177 file.close(); 1177 file.close();
1178 mFileString = ""; 1178 mFileString = "";
1179 mRetVal = successR; 1179 mRetVal = successR;
1180 mSocket->close(); 1180 mSocket->close();
1181 // if state is not idle, deleteSocket(); is called via 1181 // if state is not idle, deleteSocket(); is called via
1182 // connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) ); 1182 // connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) );
1183 if ( mSocket->state() == QSocket::Idle ) 1183 if ( mSocket->state() == QSocket::Idle )
1184 deleteSocket(); 1184 deleteSocket();
1185} 1185}
1186 1186
1187void KCommandSocket::deleteSocket() 1187void KCommandSocket::deleteSocket()
1188{ 1188{
1189 //qDebug("KCommandSocket::deleteSocket() "); 1189 //qDebug("KCommandSocket::deleteSocket() ");
1190 if ( mTimerSocket->isActive () ) { 1190 if ( mTimerSocket->isActive () ) {
1191 mTimerSocket->stop(); 1191 mTimerSocket->stop();
1192 mRetVal = errorTO; 1192 mRetVal = errorTO;
1193 qDebug("Connection to remote host timed out"); 1193 qDebug("Connection to remote host timed out");
1194 if ( mSocket ) { 1194 if ( mSocket ) {
1195 mSocket->close(); 1195 mSocket->close();
1196 //if ( mSocket->state() == QSocket::Idle ) 1196 //if ( mSocket->state() == QSocket::Idle )
1197 // deleteSocket(); 1197 // deleteSocket();
1198 delete mSocket; 1198 delete mSocket;
1199 mSocket = 0; 1199 mSocket = 0;
1200 } 1200 }
1201 KMessageBox::error( 0, i18n("Connection to remote\nhost timed out!\nDid you forgot to enable\nsyncing on remote host? ")); 1201 KMessageBox::error( 0, i18n("Connection to remote\nhost timed out!\nDid you forgot to enable\nsyncing on remote host? "));
1202 emit commandFinished( this, mRetVal ); 1202 emit commandFinished( this, mRetVal );
1203 return; 1203 return;
1204 } 1204 }
1205 //qDebug("KCommandSocket::deleteSocket() %d", mRetVal ); 1205 //qDebug("KCommandSocket::deleteSocket() %d", mRetVal );
1206 if ( mSocket) 1206 if ( mSocket)
1207 delete mSocket; 1207 delete mSocket;
1208 mSocket = 0; 1208 mSocket = 0;
1209 emit commandFinished( this, mRetVal ); 1209 emit commandFinished( this, mRetVal );
1210} 1210}