summaryrefslogtreecommitdiffabout
path: root/libkdepim/ksyncmanager.cpp
authorzautrix <zautrix>2005-11-25 20:49:16 (UTC)
committer zautrix <zautrix>2005-11-25 20:49:16 (UTC)
commit2468bddcb380d8621d5bb49b69b3492d90562d93 (patch) (unidiff)
treec310f4fff5e476087e8406614e57a7f258f1b14f /libkdepim/ksyncmanager.cpp
parent7a439999b9fa2bd7ad76e195cdf95bf5211952cb (diff)
downloadkdepimpi-2468bddcb380d8621d5bb49b69b3492d90562d93.zip
kdepimpi-2468bddcb380d8621d5bb49b69b3492d90562d93.tar.gz
kdepimpi-2468bddcb380d8621d5bb49b69b3492d90562d93.tar.bz2
sync
Diffstat (limited to 'libkdepim/ksyncmanager.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libkdepim/ksyncmanager.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp
index 795cd30..d2cb71b 100644
--- a/libkdepim/ksyncmanager.cpp
+++ b/libkdepim/ksyncmanager.cpp
@@ -887,531 +887,530 @@ QString KSyncManager::getPassword( )
887 QString retfile = ""; 887 QString retfile = "";
888 QDialog dia ( mParent, "input-dialog", true ); 888 QDialog dia ( mParent, "input-dialog", true );
889 QLineEdit lab ( &dia ); 889 QLineEdit lab ( &dia );
890 lab.setEchoMode( QLineEdit::Password ); 890 lab.setEchoMode( QLineEdit::Password );
891 QVBoxLayout lay( &dia ); 891 QVBoxLayout lay( &dia );
892 lay.setMargin(7); 892 lay.setMargin(7);
893 lay.setSpacing(7); 893 lay.setSpacing(7);
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 qDebug ( "KSM: sync pi %d",mSpecificResources.count() );
1144 if ( mSpecificResources.count() ) { 1143 if ( mSpecificResources.count() ) {
1145 int lastSyncRes = mSpecificResources.count()/2; 1144 int lastSyncRes = mSpecificResources.count()/2;
1146 int ccc = mSpecificResources.count()-1; 1145 int ccc = mSpecificResources.count()-1;
1147 while ( lastSyncRes > 0 && ccc > 0 && mSpecificResources[ ccc ].isEmpty() ) { 1146 while ( lastSyncRes > 0 && ccc > 0 && mSpecificResources[ ccc ].isEmpty() ) {
1148 --ccc; 1147 --ccc;
1149 --lastSyncRes; 1148 --lastSyncRes;
1150 qDebug ( "KSM: sync pi %d",ccc ); 1149 //qDebug ( "KSM: sync pi %d",ccc );
1151 } 1150 }
1152 int startLocal = 0; 1151 int startLocal = 0;
1153 int startRemote = mSpecificResources.count()/2; 1152 int startRemote = mSpecificResources.count()/2;
1154 emit multiResourceSyncStart( true ); 1153 emit multiResourceSyncStart( true );
1155 while ( startLocal < mSpecificResources.count()/2 ) { 1154 while ( startLocal < mSpecificResources.count()/2 ) {
1156 if ( startLocal+1 >= lastSyncRes ) 1155 if ( startLocal+1 >= lastSyncRes )
1157 emit multiResourceSyncStart( false ); 1156 emit multiResourceSyncStart( false );
1158 mPisyncFinished = false; 1157 mPisyncFinished = false;
1159 mCurrentResourceLocal = mSpecificResources[ startLocal ]; 1158 mCurrentResourceLocal = mSpecificResources[ startLocal ];
1160 mCurrentResourceRemote = mSpecificResources[ startRemote ]; 1159 mCurrentResourceRemote = mSpecificResources[ startRemote ];
1161 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() );
1162 if ( !mCurrentResourceRemote.isEmpty() ) { 1161 if ( !mCurrentResourceRemote.isEmpty() ) {
1163 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() );
1164 KCommandSocket* commandSocket = new KCommandSocket( mCurrentResourceRemote, mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() ); 1163 KCommandSocket* commandSocket = new KCommandSocket( mCurrentResourceRemote, mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() );
1165 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); 1164 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) );
1166 commandSocket->readFile( syncFileName() ); 1165 commandSocket->readFile( syncFileName() );
1167 while ( !mPisyncFinished ) { 1166 while ( !mPisyncFinished ) {
1168 //qDebug("waiting "); 1167 //qDebug("waiting ");
1169 qApp->processEvents(); 1168 qApp->processEvents();
1170 } 1169 }
1171 } 1170 }
1172 ++startRemote; 1171 ++startRemote;
1173 ++startLocal; 1172 ++startLocal;
1174 } 1173 }
1175 mPisyncFinished = true; 1174 mPisyncFinished = true;
1176 } else { 1175 } else {
1177 KCommandSocket* commandSocket = new KCommandSocket( "", mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() ); 1176 KCommandSocket* commandSocket = new KCommandSocket( "", mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() );
1178 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); 1177 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) );
1179 commandSocket->readFile( syncFileName() ); 1178 commandSocket->readFile( syncFileName() );
1180 } 1179 }
1181} 1180}
1182 1181
1183void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state) 1182void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state)
1184{ 1183{
1185 //enum { success, errorW, errorR, quiet }; 1184 //enum { success, errorW, errorR, quiet };
1186 1185
1187 1186
1188 1187
1189 if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ||state == KCommandSocket::errorPW || 1188 if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ||state == KCommandSocket::errorPW ||
1190 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 ) {
1191 if ( state == KCommandSocket::errorPW ) 1190 if ( state == KCommandSocket::errorPW )
1192 mParent->topLevelWidget()->setCaption( i18n("Wrong password: Receiving remote file failed.") ); 1191 mParent->topLevelWidget()->setCaption( i18n("Wrong password: Receiving remote file failed.") );
1193 else if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ) 1192 else if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO )
1194 mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") ); 1193 mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") );
1195 else if ( state == KCommandSocket::errorCA ) 1194 else if ( state == KCommandSocket::errorCA )
1196 mParent->topLevelWidget()->setCaption( i18n("Sync cancelled from remote.") ); 1195 mParent->topLevelWidget()->setCaption( i18n("Sync cancelled from remote.") );
1197 else if ( state == KCommandSocket::errorFI ) 1196 else if ( state == KCommandSocket::errorFI )
1198 mParent->topLevelWidget()->setCaption( i18n("File error on remote.") ); 1197 mParent->topLevelWidget()->setCaption( i18n("File error on remote.") );
1199 else if ( state == KCommandSocket::errorED ) 1198 else if ( state == KCommandSocket::errorED )
1200 mParent->topLevelWidget()->setCaption( i18n("Please close error dialog on remote.") ); 1199 mParent->topLevelWidget()->setCaption( i18n("Please close error dialog on remote.") );
1201 else if ( state == KCommandSocket::errorUN ) 1200 else if ( state == KCommandSocket::errorUN )
1202 mParent->topLevelWidget()->setCaption( i18n("Unknown error on remote.") ); 1201 mParent->topLevelWidget()->setCaption( i18n("Unknown error on remote.") );
1203 delete s; 1202 delete s;
1204 if ( state == KCommandSocket::errorR ) { 1203 if ( state == KCommandSocket::errorR ) {
1205 KCommandSocket* commandSocket = new KCommandSocket( "",mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this, mParent->topLevelWidget()); 1204 KCommandSocket* commandSocket = new KCommandSocket( "",mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this, mParent->topLevelWidget());
1206 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) ); 1205 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) );
1207 commandSocket->sendStop(); 1206 commandSocket->sendStop();
1208 } 1207 }
1209 mPisyncFinished = true; 1208 mPisyncFinished = true;
1210 return; 1209 return;
1211 1210
1212 } else if ( state == KCommandSocket::errorW ) { 1211 } else if ( state == KCommandSocket::errorW ) {
1213 mParent->topLevelWidget()->setCaption( i18n("ERROR:Writing back file failed.") ); 1212 mParent->topLevelWidget()->setCaption( i18n("ERROR:Writing back file failed.") );
1214 mPisyncFinished = true; 1213 mPisyncFinished = true;
1215 1214
1216 } else if ( state == KCommandSocket::successR ) { 1215 } else if ( state == KCommandSocket::successR ) {
1217 QTimer::singleShot( 1, this , SLOT ( readFileFromSocket())); 1216 QTimer::singleShot( 1, this , SLOT ( readFileFromSocket()));
1218 1217
1219 } else if ( state == KCommandSocket::successW ) { 1218 } else if ( state == KCommandSocket::successW ) {
1220 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync successful!") ); 1219 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync successful!") );
1221 mPisyncFinished = true; 1220 mPisyncFinished = true;
1222 } else if ( state == KCommandSocket::quiet ){ 1221 } else if ( state == KCommandSocket::quiet ){
1223 qDebug("KSS: quiet "); 1222 qDebug("KSS: quiet ");
1224 mPisyncFinished = true; 1223 mPisyncFinished = true;
1225 } else { 1224 } else {
1226 qDebug("KSS: Error: unknown state: %d ", state); 1225 qDebug("KSS: Error: unknown state: %d ", state);
1227 mPisyncFinished = true; 1226 mPisyncFinished = true;
1228 } 1227 }
1229 1228
1230 delete s; 1229 delete s;
1231} 1230}
1232 1231
1233void KSyncManager::readFileFromSocket() 1232void KSyncManager::readFileFromSocket()
1234{ 1233{
1235 QString fileName = syncFileName(); 1234 QString fileName = syncFileName();
1236 bool syncOK = true; 1235 bool syncOK = true;
1237 mParent->topLevelWidget()->setCaption( i18n("Remote file saved to temp file.") ); 1236 mParent->topLevelWidget()->setCaption( i18n("Remote file saved to temp file.") );
1238 if ( ! syncWithFile( fileName , true ) ) { 1237 if ( ! syncWithFile( fileName , true ) ) {
1239 mParent->topLevelWidget()->setCaption( i18n("Syncing failed.") ); 1238 mParent->topLevelWidget()->setCaption( i18n("Syncing failed.") );
1240 syncOK = false; 1239 syncOK = false;
1241 } 1240 }
1242 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() );
1243 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) ); 1242 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) );
1244 if ( mWriteBackFile && syncOK ) { 1243 if ( mWriteBackFile && syncOK ) {
1245 mParent->topLevelWidget()->setCaption( i18n("Sending back file ...") ); 1244 mParent->topLevelWidget()->setCaption( i18n("Sending back file ...") );
1246 commandSocket->writeFile( fileName ); 1245 commandSocket->writeFile( fileName );
1247 } 1246 }
1248 else { 1247 else {
1249 commandSocket->sendStop(); 1248 commandSocket->sendStop();
1250 if ( syncOK ) 1249 if ( syncOK )
1251 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync succesful!") ); 1250 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync succesful!") );
1252 mPisyncFinished = true; 1251 mPisyncFinished = true;
1253 } 1252 }
1254} 1253}
1255 1254
1256KServerSocket:: 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 )
1257{ 1256{
1258 mPassWord = pw; 1257 mPassWord = pw;
1259 mSocket = 0; 1258 mSocket = 0;
1260 mSyncActionDialog = 0; 1259 mSyncActionDialog = 0;
1261 blockRC = false; 1260 blockRC = false;
1262 mErrorMessage = 0; 1261 mErrorMessage = 0;
1263} 1262}
1264 1263
1265void KServerSocket::newConnection ( int socket ) 1264void KServerSocket::newConnection ( int socket )
1266{ 1265{
1267 // qDebug("KServerSocket:New connection %d ", socket); 1266 // qDebug("KServerSocket:New connection %d ", socket);
1268 if ( mSocket ) { 1267 if ( mSocket ) {
1269 qDebug("KSS::newConnection Socket deleted! "); 1268 qDebug("KSS::newConnection Socket deleted! ");
1270 delete mSocket; 1269 delete mSocket;
1271 mSocket = 0; 1270 mSocket = 0;
1272 } 1271 }
1273 mSocket = new QSocket( this ); 1272 mSocket = new QSocket( this );
1274 connect( mSocket , SIGNAL(readyRead()), this, SLOT(readClient()) ); 1273 connect( mSocket , SIGNAL(readyRead()), this, SLOT(readClient()) );
1275 connect( mSocket , SIGNAL(delayedCloseFinished()), this, SLOT(discardClient()) ); 1274 connect( mSocket , SIGNAL(delayedCloseFinished()), this, SLOT(discardClient()) );
1276 mSocket->setSocket( socket ); 1275 mSocket->setSocket( socket );
1277} 1276}
1278 1277
1279void KServerSocket::discardClient() 1278void KServerSocket::discardClient()
1280{ 1279{
1281 QTimer::singleShot( 10, this , SLOT ( deleteSocket())); 1280 QTimer::singleShot( 10, this , SLOT ( deleteSocket()));
1282} 1281}
1283void KServerSocket::deleteSocket() 1282void KServerSocket::deleteSocket()
1284{ 1283{
1285 qDebug("KSS::deleteSocket"); 1284 qDebug("KSS::deleteSocket");
1286 if ( mSocket ) { 1285 if ( mSocket ) {
1287 delete mSocket; 1286 delete mSocket;
1288 mSocket = 0; 1287 mSocket = 0;
1289 } 1288 }
1290 if ( mErrorMessage ) 1289 if ( mErrorMessage )
1291 QTimer::singleShot( 10, this , SLOT ( displayErrorMessage())); 1290 QTimer::singleShot( 10, this , SLOT ( displayErrorMessage()));
1292} 1291}
1293void KServerSocket::readClient() 1292void KServerSocket::readClient()
1294{ 1293{
1295 if ( blockRC ) 1294 if ( blockRC )
1296 return; 1295 return;
1297 if ( mSocket == 0 ) { 1296 if ( mSocket == 0 ) {
1298 qDebug("ERROR::KSS::readClient(): mSocket == 0 "); 1297 qDebug("ERROR::KSS::readClient(): mSocket == 0 ");
1299 return; 1298 return;
1300 } 1299 }
1301 if ( mErrorMessage ) { 1300 if ( mErrorMessage ) {
1302 mErrorMessage = 999; 1301 mErrorMessage = 999;
1303 error_connect("ERROR_ED\r\n\r\n"); 1302 error_connect("ERROR_ED\r\n\r\n");
1304 return; 1303 return;
1305 } 1304 }
1306 mResource = ""; 1305 mResource = "";
1307 mErrorMessage = 0; 1306 mErrorMessage = 0;
1308 //qDebug("KServerSocket::readClient()"); 1307 //qDebug("KServerSocket::readClient()");
1309 if ( mSocket->canReadLine() ) { 1308 if ( mSocket->canReadLine() ) {
1310 QString line = mSocket->readLine(); 1309 QString line = mSocket->readLine();
1311 //qDebug("KServerSocket readline: %s ", line.latin1()); 1310 //qDebug("KServerSocket readline: %s ", line.latin1());
1312 QStringList tokens = QStringList::split( QRegExp("[ \r\n][ \r\n]*"), line ); 1311 QStringList tokens = QStringList::split( QRegExp("[ \r\n][ \r\n]*"), line );
1313 if ( tokens[0] == "GET" ) { 1312 if ( tokens[0] == "GET" ) {
1314 if ( tokens[1] == mPassWord ) { 1313 if ( tokens[1] == mPassWord ) {
1315 //emit sendFile( mSocket ); 1314 //emit sendFile( mSocket );
1316 bool ok = false; 1315 bool ok = false;
1317 QDateTime dt = KGlobal::locale()->readDateTime( tokens[2], KLocale::ISODate, &ok); 1316 QDateTime dt = KGlobal::locale()->readDateTime( tokens[2], KLocale::ISODate, &ok);
1318 if ( ok ) { 1317 if ( ok ) {
1319 KSyncManager::mRequestedSyncEvent = dt; 1318 KSyncManager::mRequestedSyncEvent = dt;
1320 } 1319 }
1321 else 1320 else
1322 KSyncManager::mRequestedSyncEvent = QDateTime(); 1321 KSyncManager::mRequestedSyncEvent = QDateTime();
1323 mResource =tokens[3]; 1322 mResource =tokens[3];
1324 send_file(); 1323 send_file();
1325 } 1324 }
1326 else { 1325 else {
1327 mErrorMessage = 1; 1326 mErrorMessage = 1;
1328 error_connect("ERROR_PW\r\n\r\n"); 1327 error_connect("ERROR_PW\r\n\r\n");
1329 } 1328 }
1330 } 1329 }
1331 if ( tokens[0] == "PUT" ) { 1330 if ( tokens[0] == "PUT" ) {
1332 if ( tokens[1] == mPassWord ) { 1331 if ( tokens[1] == mPassWord ) {
1333 //emit getFile( mSocket ); 1332 //emit getFile( mSocket );
1334 blockRC = true; 1333 blockRC = true;
1335 mResource =tokens[2]; 1334 mResource =tokens[2];
1336 get_file(); 1335 get_file();
1337 } 1336 }
1338 else { 1337 else {
1339 mErrorMessage = 2; 1338 mErrorMessage = 2;
1340 error_connect("ERROR_PW\r\n\r\n"); 1339 error_connect("ERROR_PW\r\n\r\n");
1341 end_connect(); 1340 end_connect();
1342 } 1341 }
1343 } 1342 }
1344 if ( tokens[0] == "STOP" ) { 1343 if ( tokens[0] == "STOP" ) {
1345 //emit endConnect(); 1344 //emit endConnect();
1346 end_connect(); 1345 end_connect();
1347 } 1346 }
1348 } 1347 }
1349} 1348}
1350void KServerSocket::displayErrorMessage() 1349void KServerSocket::displayErrorMessage()
1351{ 1350{
1352 if ( mErrorMessage == 1 ) { 1351 if ( mErrorMessage == 1 ) {
1353 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"));
1354 mErrorMessage = 0; 1353 mErrorMessage = 0;
1355 } 1354 }
1356 else if ( mErrorMessage == 2 ) { 1355 else if ( mErrorMessage == 2 ) {
1357 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"));
1358 mErrorMessage = 0; 1357 mErrorMessage = 0;
1359 } 1358 }
1360} 1359}
1361void KServerSocket::error_connect( QString errmess ) 1360void KServerSocket::error_connect( QString errmess )
1362{ 1361{
1363 QTextStream os( mSocket ); 1362 QTextStream os( mSocket );
1364 os.setEncoding( QTextStream::Latin1 ); 1363 os.setEncoding( QTextStream::Latin1 );
1365 os << errmess ; 1364 os << errmess ;
1366 mSocket->close(); 1365 mSocket->close();
1367 if ( mSocket->state() == QSocket::Idle ) { 1366 if ( mSocket->state() == QSocket::Idle ) {
1368 QTimer::singleShot( 0, this , SLOT ( discardClient())); 1367 QTimer::singleShot( 0, this , SLOT ( discardClient()));
1369 } 1368 }
1370} 1369}
1371void KServerSocket::end_connect() 1370void KServerSocket::end_connect()
1372{ 1371{
1373 delete mSyncActionDialog; 1372 delete mSyncActionDialog;
1374 mSyncActionDialog = 0; 1373 mSyncActionDialog = 0;
1375} 1374}
1376void KServerSocket::send_file() 1375void KServerSocket::send_file()
1377{ 1376{
1378 //qDebug("MainWindow::sendFile(QSocket* s) "); 1377 //qDebug("MainWindow::sendFile(QSocket* s) ");
1379 if ( mSyncActionDialog ) 1378 if ( mSyncActionDialog )
1380 delete mSyncActionDialog; 1379 delete mSyncActionDialog;
1381 mSyncActionDialog = new QDialog ( 0, "input-dialog", true ); 1380 mSyncActionDialog = new QDialog ( 0, "input-dialog", true );
1382 mSyncActionDialog->setCaption(i18n("Received sync request")); 1381 mSyncActionDialog->setCaption(i18n("Received sync request"));
1383 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 );
1384 label->setAlignment ( Qt::AlignHCenter ); 1383 label->setAlignment ( Qt::AlignHCenter );
1385 QVBoxLayout* lay = new QVBoxLayout( mSyncActionDialog ); 1384 QVBoxLayout* lay = new QVBoxLayout( mSyncActionDialog );
1386 lay->addWidget( label); 1385 lay->addWidget( label);
1387 lay->setMargin(7); 1386 lay->setMargin(7);
1388 lay->setSpacing(7); 1387 lay->setSpacing(7);
1389 if ( KSyncManager::mRequestedSyncEvent.isValid() ) { 1388 if ( KSyncManager::mRequestedSyncEvent.isValid() ) {
1390 int secs = QDateTime::currentDateTime().secsTo( KSyncManager::mRequestedSyncEvent ); 1389 int secs = QDateTime::currentDateTime().secsTo( KSyncManager::mRequestedSyncEvent );
1391 //secs = 333; 1390 //secs = 333;
1392 if ( secs < 0 ) 1391 if ( secs < 0 )
1393 secs = secs * (-1); 1392 secs = secs * (-1);
1394 if ( secs > 30 ) 1393 if ( secs > 30 )
1395 //if ( true ) 1394 //if ( true )
1396 { 1395 {
1397 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 );
1398 QLabel* label = new QLabel( warning, mSyncActionDialog ); 1397 QLabel* label = new QLabel( warning, mSyncActionDialog );
1399 label->setAlignment ( Qt::AlignHCenter ); 1398 label->setAlignment ( Qt::AlignHCenter );
1400 lay->addWidget( label); 1399 lay->addWidget( label);
1401 if ( secs > 180 ) 1400 if ( secs > 180 )
1402 { 1401 {
1403 if ( secs > 300 ) { 1402 if ( secs > 300 ) {
1404 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!"))) {
1405 qDebug("KSS::Sync cancelled ,cs"); 1404 qDebug("KSS::Sync cancelled ,cs");
1406 mErrorMessage = 0; 1405 mErrorMessage = 0;
1407 end_connect(); 1406 end_connect();
1408 error_connect("ERROR_CA\r\n\r\n"); 1407 error_connect("ERROR_CA\r\n\r\n");
1409 return ; 1408 return ;
1410 } 1409 }
1411 } 1410 }
1412 QFont f = label->font(); 1411 QFont f = label->font();
1413 f.setPointSize ( f.pointSize() *2 ); 1412 f.setPointSize ( f.pointSize() *2 );
1414 f. setBold (true ); 1413 f. setBold (true );
1415 QLabel* label = new QLabel( warning, mSyncActionDialog ); 1414 QLabel* label = new QLabel( warning, mSyncActionDialog );
1416 label->setFont( f ); 1415 label->setFont( f );
1417 warning = i18n("ADJUST\nYOUR\nCLOCKS!"); 1416 warning = i18n("ADJUST\nYOUR\nCLOCKS!");