-rw-r--r-- | libkdepim/ksyncmanager.cpp | 63 | ||||
-rw-r--r-- | libkdepim/ksyncmanager.h | 4 |
2 files changed, 48 insertions, 19 deletions
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp index 7ca3ee0..554c6e5 100644 --- a/libkdepim/ksyncmanager.cpp +++ b/libkdepim/ksyncmanager.cpp | |||
@@ -180,25 +180,40 @@ void KSyncManager::slotSyncMenu( int action ) | |||
180 | if (blockSave()) | 180 | if (blockSave()) |
181 | return; | 181 | return; |
182 | 182 | ||
183 | setBlockSave(true); | 183 | setBlockSave(true); |
184 | bool silent = false; | ||
185 | if ( action == 999 ) { | ||
186 | //special mode for silent syncing | ||
187 | action = 1000; | ||
188 | silent = true; | ||
189 | } | ||
184 | 190 | ||
185 | mCurrentSyncProfile = action - 1000 ; | 191 | mCurrentSyncProfile = action - 1000 ; |
186 | mCurrentSyncDevice = mSyncProfileNames[mCurrentSyncProfile] ; | 192 | mCurrentSyncDevice = mSyncProfileNames[mCurrentSyncProfile] ; |
187 | mCurrentSyncName = mLocalMachineName ; | 193 | mCurrentSyncName = mLocalMachineName ; |
188 | KConfig config ( locateLocal( "config","ksyncprofilesrc" ) ); | 194 | KConfig config ( locateLocal( "config","ksyncprofilesrc" ) ); |
189 | KSyncProfile* temp = new KSyncProfile (); | 195 | KSyncProfile* temp = new KSyncProfile (); |
190 | temp->setName(mSyncProfileNames[mCurrentSyncProfile]); | 196 | temp->setName(mSyncProfileNames[mCurrentSyncProfile]); |
191 | temp->readConfig(&config); | 197 | temp->readConfig(&config); |
192 | mAskForPreferences = temp->getAskForPreferences(); | 198 | if (silent) { |
193 | mSyncAlgoPrefs = temp->getSyncPrefs(); | 199 | mAskForPreferences = false; |
194 | mWriteBackFile = temp->getWriteBackFile(); | 200 | mShowSyncSummary = false; |
201 | mWriteBackFile = true; | ||
202 | mSyncAlgoPrefs = 2;// take newest | ||
203 | } | ||
204 | else { | ||
205 | mAskForPreferences = temp->getAskForPreferences(); | ||
206 | mShowSyncSummary = temp->getShowSummaryAfterSync(); | ||
207 | mWriteBackFile = temp->getWriteBackFile(); | ||
208 | mSyncAlgoPrefs = temp->getSyncPrefs(); | ||
209 | } | ||
195 | mWriteBackExistingOnly = temp->getWriteBackExisting(); | 210 | mWriteBackExistingOnly = temp->getWriteBackExisting(); |
196 | mIsKapiFile = temp->getIsKapiFile(); | 211 | mIsKapiFile = temp->getIsKapiFile(); |
197 | mWriteBackInFuture = 0; | 212 | mWriteBackInFuture = 0; |
198 | if ( temp->getWriteBackFuture() ) | 213 | if ( temp->getWriteBackFuture() ) |
199 | mWriteBackInFuture = temp->getWriteBackFutureWeeks( ); | 214 | mWriteBackInFuture = temp->getWriteBackFutureWeeks( ); |
200 | mShowSyncSummary = temp->getShowSummaryAfterSync(); | 215 | |
201 | if ( action == 1000 ) { | 216 | if ( action == 1000 ) { |
202 | #ifdef DESKTOP_VERSION | 217 | #ifdef DESKTOP_VERSION |
203 | syncKDE(); | 218 | syncKDE(); |
204 | #else | 219 | #else |
@@ -301,8 +316,9 @@ void KSyncManager::enableQuick( bool ask ) | |||
301 | QCheckBox syncdesktop( i18n("Automatically sync with KDE-Desktop\nwhen receiving sync request"),&dia ); | 316 | QCheckBox syncdesktop( i18n("Automatically sync with KDE-Desktop\nwhen receiving sync request"),&dia ); |
302 | #endif | 317 | #endif |
303 | lay.addWidget( &syncdesktop); | 318 | lay.addWidget( &syncdesktop); |
304 | #else | 319 | #else |
320 | mPrefs->mPassiveSyncWithDesktop = false; | ||
305 | QCheckBox syncdesktop( i18n("Automatically sync\nwith KDE-Desktop"),&dia ); | 321 | QCheckBox syncdesktop( i18n("Automatically sync\nwith KDE-Desktop"),&dia ); |
306 | syncdesktop.hide(); | 322 | syncdesktop.hide(); |
307 | #endif | 323 | #endif |
308 | syncdesktop.setChecked( mPrefs->mPassiveSyncWithDesktop ); | 324 | syncdesktop.setChecked( mPrefs->mPassiveSyncWithDesktop ); |
@@ -415,9 +431,12 @@ bool KSyncManager::syncWithFile( QString fn , bool quick ) | |||
415 | if ( result ) | 431 | if ( result ) |
416 | return false; | 432 | return false; |
417 | } | 433 | } |
418 | if ( mAskForPreferences ) | 434 | if ( mAskForPreferences ) |
419 | edit_sync_options(); | 435 | if ( !edit_sync_options()) { |
436 | mParent->topLevelWidget()->setCaption( i18n("Syncing aborted. Nothing synced.") ); | ||
437 | return false; | ||
438 | } | ||
420 | if ( result == 0 ) { | 439 | if ( result == 0 ) { |
421 | //qDebug("Now sycing ... "); | 440 | //qDebug("Now sycing ... "); |
422 | if ( ret = mImplementation->sync( this, fn, mSyncAlgoPrefs ) ) | 441 | if ( ret = mImplementation->sync( this, fn, mSyncAlgoPrefs ) ) |
423 | mParent->topLevelWidget()->setCaption( i18n("Synchronization successful") ); | 442 | mParent->topLevelWidget()->setCaption( i18n("Synchronization successful") ); |
@@ -454,9 +473,12 @@ void KSyncManager::multiSync( bool askforPrefs ) | |||
454 | } | 473 | } |
455 | mCurrentSyncDevice = i18n("Multiple profiles") ; | 474 | mCurrentSyncDevice = i18n("Multiple profiles") ; |
456 | mSyncAlgoPrefs = mPrefs->mRingSyncAlgoPrefs; | 475 | mSyncAlgoPrefs = mPrefs->mRingSyncAlgoPrefs; |
457 | if ( askforPrefs ) { | 476 | if ( askforPrefs ) { |
458 | edit_sync_options(); | 477 | if ( !edit_sync_options()) { |
478 | mParent->topLevelWidget()->setCaption( i18n("Syncing aborted. Nothing synced.") ); | ||
479 | return; | ||
480 | } | ||
459 | mPrefs->mRingSyncAlgoPrefs = mSyncAlgoPrefs; | 481 | mPrefs->mRingSyncAlgoPrefs = mSyncAlgoPrefs; |
460 | } | 482 | } |
461 | mParent->topLevelWidget()->setCaption(i18n("Multiple sync started.") ); | 483 | mParent->topLevelWidget()->setCaption(i18n("Multiple sync started.") ); |
462 | qApp->processEvents(); | 484 | qApp->processEvents(); |
@@ -686,9 +708,9 @@ void KSyncManager::syncRemote( KSyncProfile* prof, bool ask) | |||
686 | } | 708 | } |
687 | } | 709 | } |
688 | return; | 710 | return; |
689 | } | 711 | } |
690 | void KSyncManager::edit_pisync_options() | 712 | bool KSyncManager::edit_pisync_options() |
691 | { | 713 | { |
692 | QDialog dia( mParent, "dia", true ); | 714 | QDialog dia( mParent, "dia", true ); |
693 | dia.setCaption( i18n("Pi-Sync options for device: " ) +mCurrentSyncDevice ); | 715 | dia.setCaption( i18n("Pi-Sync options for device: " ) +mCurrentSyncDevice ); |
694 | QVBoxLayout lay ( &dia ); | 716 | QVBoxLayout lay ( &dia ); |
@@ -715,12 +737,13 @@ void KSyncManager::edit_pisync_options() | |||
715 | if ( dia.exec() ) { | 737 | if ( dia.exec() ) { |
716 | mPassWordPiSync = le1.text(); | 738 | mPassWordPiSync = le1.text(); |
717 | mActiveSyncPort = le3.text(); | 739 | mActiveSyncPort = le3.text(); |
718 | mActiveSyncIP = le2.text(); | 740 | mActiveSyncIP = le2.text(); |
741 | return true; | ||
719 | } | 742 | } |
720 | 743 | return false; | |
721 | } | 744 | } |
722 | void KSyncManager::edit_sync_options() | 745 | bool KSyncManager::edit_sync_options() |
723 | { | 746 | { |
724 | 747 | ||
725 | QDialog dia( mParent, "dia", true ); | 748 | QDialog dia( mParent, "dia", true ); |
726 | dia.setCaption( i18n("Device: " ) +mCurrentSyncDevice ); | 749 | dia.setCaption( i18n("Device: " ) +mCurrentSyncDevice ); |
@@ -765,11 +788,11 @@ void KSyncManager::edit_sync_options() | |||
765 | break; | 788 | break; |
766 | } | 789 | } |
767 | if ( dia.exec() ) { | 790 | if ( dia.exec() ) { |
768 | mSyncAlgoPrefs = rem.isChecked()*1+newest.isChecked()*2+ ask.isChecked()*3+ f_loc.isChecked()*4+ f_rem.isChecked()*5;//+ both.isChecked()*6 ; | 791 | mSyncAlgoPrefs = rem.isChecked()*1+newest.isChecked()*2+ ask.isChecked()*3+ f_loc.isChecked()*4+ f_rem.isChecked()*5;//+ both.isChecked()*6 ; |
792 | return true; | ||
769 | } | 793 | } |
770 | 794 | return false; | |
771 | |||
772 | } | 795 | } |
773 | 796 | ||
774 | QString KSyncManager::getPassword( ) | 797 | QString KSyncManager::getPassword( ) |
775 | { | 798 | { |
@@ -863,10 +886,13 @@ bool KSyncManager::syncExternalApplication(QString resource) | |||
863 | { | 886 | { |
864 | 887 | ||
865 | emit save(); | 888 | emit save(); |
866 | 889 | ||
867 | if ( mAskForPreferences ) | 890 | if ( mAskForPreferences ) |
868 | edit_sync_options(); | 891 | if ( !edit_sync_options()) { |
892 | mParent->topLevelWidget()->setCaption( i18n("Syncing aborted. Nothing synced.") ); | ||
893 | return false; | ||
894 | } | ||
869 | 895 | ||
870 | qDebug("Sync extern %s", resource.latin1()); | 896 | qDebug("Sync extern %s", resource.latin1()); |
871 | 897 | ||
872 | bool syncOK = mImplementation->syncExternal(this, resource); | 898 | bool syncOK = mImplementation->syncExternal(this, resource); |
@@ -934,9 +960,12 @@ void KSyncManager::syncPi() | |||
934 | { | 960 | { |
935 | mPisyncFinished = false; | 961 | mPisyncFinished = false; |
936 | qApp->processEvents(); | 962 | qApp->processEvents(); |
937 | if ( mAskForPreferences ) | 963 | if ( mAskForPreferences ) |
938 | edit_pisync_options(); | 964 | if ( !edit_pisync_options()) { |
965 | mParent->topLevelWidget()->setCaption( i18n("Syncing aborted. Nothing synced.") ); | ||
966 | return; | ||
967 | } | ||
939 | bool ok; | 968 | bool ok; |
940 | Q_UINT16 port = mActiveSyncPort.toUInt(&ok); | 969 | Q_UINT16 port = mActiveSyncPort.toUInt(&ok); |
941 | if ( ! ok ) { | 970 | if ( ! ok ) { |
942 | mParent->topLevelWidget()->setCaption( i18n("Sorry, no valid port.Syncing cancelled.") ); | 971 | mParent->topLevelWidget()->setCaption( i18n("Sorry, no valid port.Syncing cancelled.") ); |
@@ -1165,13 +1194,13 @@ void KServerSocket::readBackFileFromSocket() | |||
1165 | mSocket->close(); | 1194 | mSocket->close(); |
1166 | if ( mSocket->state() == QSocket::Idle ) | 1195 | if ( mSocket->state() == QSocket::Idle ) |
1167 | QTimer::singleShot( 10, this , SLOT ( discardClient())); | 1196 | QTimer::singleShot( 10, this , SLOT ( discardClient())); |
1168 | file.close(); | 1197 | file.close(); |
1198 | piFileString = ""; | ||
1199 | emit file_received( true ); | ||
1169 | delete mSyncActionDialog; | 1200 | delete mSyncActionDialog; |
1170 | mSyncActionDialog = 0; | 1201 | mSyncActionDialog = 0; |
1171 | piFileString = ""; | ||
1172 | blockRC = false; | 1202 | blockRC = false; |
1173 | emit file_received( true ); | ||
1174 | 1203 | ||
1175 | } | 1204 | } |
1176 | 1205 | ||
1177 | KCommandSocket::KCommandSocket ( QString password, Q_UINT16 port, QString host, QObject * parent, const char * name ): QObject( parent, name ) | 1206 | KCommandSocket::KCommandSocket ( QString password, Q_UINT16 port, QString host, QObject * parent, const char * name ): QObject( parent, name ) |
@@ -1198,9 +1227,9 @@ void KCommandSocket::readFile( QString fn ) | |||
1198 | mSocket->connectToHost( mHost, mPort ); | 1227 | mSocket->connectToHost( mHost, mPort ); |
1199 | QTextStream os( mSocket ); | 1228 | QTextStream os( mSocket ); |
1200 | os.setEncoding( QTextStream::Latin1 ); | 1229 | os.setEncoding( QTextStream::Latin1 ); |
1201 | os << "GET " << mPassWord << "\r\n"; | 1230 | os << "GET " << mPassWord << "\r\n"; |
1202 | mTimerSocket->start( 10000 ); | 1231 | mTimerSocket->start( 20000 ); |
1203 | } | 1232 | } |
1204 | 1233 | ||
1205 | void KCommandSocket::writeFile( QString fileName ) | 1234 | void KCommandSocket::writeFile( QString fileName ) |
1206 | { | 1235 | { |
diff --git a/libkdepim/ksyncmanager.h b/libkdepim/ksyncmanager.h index 7b9c499..4a610fa 100644 --- a/libkdepim/ksyncmanager.h +++ b/libkdepim/ksyncmanager.h | |||
@@ -173,10 +173,10 @@ class KSyncManager : public QObject | |||
173 | void syncKDE(); | 173 | void syncKDE(); |
174 | bool syncExternalApplication(QString); | 174 | bool syncExternalApplication(QString); |
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 | bool edit_sync_options(); |
178 | void edit_pisync_options(); | 178 | bool edit_pisync_options(); |
179 | int ringSync(); | 179 | int ringSync(); |
180 | QString getPassword( ); | 180 | QString getPassword( ); |
181 | bool mPisyncFinished; | 181 | bool mPisyncFinished; |
182 | bool mBlockSaveFlag; | 182 | bool mBlockSaveFlag; |