summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libkdepim/ksyncmanager.cpp24
-rw-r--r--libkdepim/ksyncmanager.h9
2 files changed, 28 insertions, 5 deletions
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp
index 7ee56e4..c6e06f8 100644
--- a/libkdepim/ksyncmanager.cpp
+++ b/libkdepim/ksyncmanager.cpp
@@ -143,13 +143,13 @@ void KSyncManager::fillSyncMenu()
143#endif 143#endif
144 mSyncMenu->removeItem( 1002 ); 144 mSyncMenu->removeItem( 1002 );
145} 145}
146 146
147void KSyncManager::slotSyncMenu( int action ) 147void KSyncManager::slotSyncMenu( int action )
148{ 148{
149 //qDebug("syncaction %d ", action); 149 qDebug("syncaction %d ", action);
150 if ( action == 0 ) { 150 if ( action == 0 ) {
151 151
152 // seems to be a Qt2 event handling bug 152 // seems to be a Qt2 event handling bug
153 // syncmenu.clear causes a segfault at first time 153 // syncmenu.clear causes a segfault at first time
154 // when we call it after the main event loop, it is ok 154 // when we call it after the main event loop, it is ok
155 // same behaviour when calling OM/Pi via QCOP for the first time 155 // same behaviour when calling OM/Pi via QCOP for the first time
@@ -251,12 +251,16 @@ void KSyncManager::slotSyncMenu( int action )
251 } else { 251 } else {
252 mPassWordPiSync = temp->getRemotePwPWM(); 252 mPassWordPiSync = temp->getRemotePwPWM();
253 mActiveSyncPort = temp->getRemotePortPWM(); 253 mActiveSyncPort = temp->getRemotePortPWM();
254 mActiveSyncIP = temp->getRemoteIPPWM(); 254 mActiveSyncIP = temp->getRemoteIPPWM();
255 } 255 }
256 syncPi(); 256 syncPi();
257 while ( !mPisyncFinished ) {
258 //qDebug("waiting ");
259 qApp->processEvents();
260 }
257 } else 261 } else
258 syncRemote( temp ); 262 syncRemote( temp );
259 263
260 } 264 }
261 } 265 }
262 delete temp; 266 delete temp;
@@ -469,13 +473,17 @@ int KSyncManager::ringSync()
469 if ( temp->getWriteBackFuture() ) 473 if ( temp->getWriteBackFuture() )
470 mWriteBackInFuture = temp->getWriteBackFutureWeeks( ); 474 mWriteBackInFuture = temp->getWriteBackFutureWeeks( );
471 mShowSyncSummary = false; 475 mShowSyncSummary = false;
472 mCurrentSyncDevice = syncProfileNames[i] ; 476 mCurrentSyncDevice = syncProfileNames[i] ;
473 mCurrentSyncName = mLocalMachineName; 477 mCurrentSyncName = mLocalMachineName;
474 if ( i == 0 ) { 478 if ( i == 0 ) {
479#ifdef DESKTOP_VERSION
480 syncKDE();
481#else
475 syncSharp(); 482 syncSharp();
483#endif
476 } else { 484 } else {
477 if ( temp->getIsLocalFileSync() ) { 485 if ( temp->getIsLocalFileSync() ) {
478 switch(mTargetApp) 486 switch(mTargetApp)
479 { 487 {
480 case (KAPI): 488 case (KAPI):
481 if ( syncWithFile( temp->getRemoteFileNameAB( ), false ) ) 489 if ( syncWithFile( temp->getRemoteFileNameAB( ), false ) )
@@ -511,12 +519,20 @@ int KSyncManager::ringSync()
511 } else { 519 } else {
512 mPassWordPiSync = temp->getRemotePwPWM(); 520 mPassWordPiSync = temp->getRemotePwPWM();
513 mActiveSyncPort = temp->getRemotePortPWM(); 521 mActiveSyncPort = temp->getRemotePortPWM();
514 mActiveSyncIP = temp->getRemoteIPPWM(); 522 mActiveSyncIP = temp->getRemoteIPPWM();
515 } 523 }
516 syncPi(); 524 syncPi();
525 while ( !mPisyncFinished ) {
526 //qDebug("waiting ");
527 qApp->processEvents();
528 }
529 timer.start();
530 while ( timer.elapsed () < 2000 ) {
531 qApp->processEvents();
532 }
517 } else 533 } else
518 syncRemote( temp, false ); 534 syncRemote( temp, false );
519 535
520 } 536 }
521 } 537 }
522 timer.start(); 538 timer.start();
@@ -863,12 +879,13 @@ QString KSyncManager::syncFileName()
863 return (QString( "/tmp/" )+ fn ); 879 return (QString( "/tmp/" )+ fn );
864#endif 880#endif
865} 881}
866 882
867void KSyncManager::syncPi() 883void KSyncManager::syncPi()
868{ 884{
885 mPisyncFinished = false;
869 qApp->processEvents(); 886 qApp->processEvents();
870 if ( mAskForPreferences ) 887 if ( mAskForPreferences )
871 edit_pisync_options(); 888 edit_pisync_options();
872 bool ok; 889 bool ok;
873 Q_UINT16 port = mActiveSyncPort.toUInt(&ok); 890 Q_UINT16 port = mActiveSyncPort.toUInt(&ok);
874 if ( ! ok ) { 891 if ( ! ok ) {
@@ -889,42 +906,47 @@ void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state)
889 delete s; 906 delete s;
890 if ( state == KCommandSocket::errorR ) { 907 if ( state == KCommandSocket::errorR ) {
891 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this ); 908 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this );
892 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) ); 909 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) );
893 commandSocket->sendStop(); 910 commandSocket->sendStop();
894 } 911 }
912 mPisyncFinished = true;
895 return; 913 return;
896 914
897 } else if ( state == KCommandSocket::errorW ) { 915 } else if ( state == KCommandSocket::errorW ) {
898 mParent->topLevelWidget()->setCaption( i18n("ERROR:Writing back file failed.") ); 916 mParent->topLevelWidget()->setCaption( i18n("ERROR:Writing back file failed.") );
917 mPisyncFinished = true;
899 918
900 } else if ( state == KCommandSocket::successR ) { 919 } else if ( state == KCommandSocket::successR ) {
901 QTimer::singleShot( 1, this , SLOT ( readFileFromSocket())); 920 QTimer::singleShot( 1, this , SLOT ( readFileFromSocket()));
902 921
903 } else if ( state == KCommandSocket::successW ) { 922 } else if ( state == KCommandSocket::successW ) {
904 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync succesful!") ); 923 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync succesful!") );
924 mPisyncFinished = true;
905 } 925 }
906 926
907 delete s; 927 delete s;
908} 928}
909 929
910void KSyncManager::readFileFromSocket() 930void KSyncManager::readFileFromSocket()
911{ 931{
912 QString fileName = syncFileName(); 932 QString fileName = syncFileName();
913 mParent->topLevelWidget()->setCaption( i18n("Remote file saved to temp file.") ); 933 mParent->topLevelWidget()->setCaption( i18n("Remote file saved to temp file.") );
914 if ( ! syncWithFile( fileName , true ) ) { 934 if ( ! syncWithFile( fileName , true ) ) {
915 mParent->topLevelWidget()->setCaption( i18n("Syncing failed.") ); 935 mParent->topLevelWidget()->setCaption( i18n("Syncing failed.") );
936 mPisyncFinished = true;
916 return; 937 return;
917 } 938 }
918 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this ); 939 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this );
919 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) ); 940 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) );
920 if ( mWriteBackFile ) 941 if ( mWriteBackFile )
921 commandSocket->writeFile( fileName ); 942 commandSocket->writeFile( fileName );
922 else { 943 else {
923 commandSocket->sendStop(); 944 commandSocket->sendStop();
924 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync succesful!") ); 945 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync succesful!") );
946 mPisyncFinished = true;
925 } 947 }
926} 948}
927 949
928KServerSocket:: KServerSocket ( QString pw, Q_UINT16 port, int backlog, QObject * parent, const char * name ) : QServerSocket( port, backlog, parent, name ) 950KServerSocket:: KServerSocket ( QString pw, Q_UINT16 port, int backlog, QObject * parent, const char * name ) : QServerSocket( port, backlog, parent, name )
929{ 951{
930 mPassWord = pw; 952 mPassWord = pw;
diff --git a/libkdepim/ksyncmanager.h b/libkdepim/ksyncmanager.h
index 7d5b05e..ffb1ea4 100644
--- a/libkdepim/ksyncmanager.h
+++ b/libkdepim/ksyncmanager.h
@@ -175,23 +175,24 @@ class KSyncManager : public QObject
175 int mCurrentSyncProfile ; 175 int mCurrentSyncProfile ;
176 void syncRemote( KSyncProfile* prof, bool ask = true); 176 void syncRemote( KSyncProfile* prof, bool ask = true);
177 void edit_sync_options(); 177 void edit_sync_options();
178 void edit_pisync_options(); 178 void edit_pisync_options();
179 int ringSync(); 179 int ringSync();
180 QString getPassword( ); 180 QString getPassword( );
181 181 bool mPisyncFinished;
182 private slots:
183 void confSync();
184 private:
185 bool mBlockSaveFlag; 182 bool mBlockSaveFlag;
186 QWidget* mParent; 183 QWidget* mParent;
187 KSyncInterface* mImplementation; 184 KSyncInterface* mImplementation;
188 TargetApp mTargetApp; 185 TargetApp mTargetApp;
189 QPopupMenu* mSyncMenu; 186 QPopupMenu* mSyncMenu;
190 QProgressBar* bar; 187 QProgressBar* bar;
191 188
189private slots:
190 void confSync();
191
192
192}; 193};
193 194
194 195
195class KSyncInterface 196class KSyncInterface
196{ 197{
197 public : 198 public :