-rw-r--r-- | libkdepim/ksyncmanager.cpp | 10 | ||||
-rw-r--r-- | libkdepim/ksyncmanager.h | 4 |
2 files changed, 13 insertions, 1 deletions
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp index 33b4a65..6c1f444 100644 --- a/libkdepim/ksyncmanager.cpp +++ b/libkdepim/ksyncmanager.cpp | |||
@@ -159,193 +159,197 @@ void KSyncManager::fillSyncMenu() | |||
159 | #endif | 159 | #endif |
160 | mSyncMenu->removeItem( 1002 ); | 160 | mSyncMenu->removeItem( 1002 ); |
161 | clearMenu->removeItem( 1002 ); | 161 | clearMenu->removeItem( 1002 ); |
162 | } | 162 | } |
163 | void KSyncManager::slotClearMenu( int action ) | 163 | void KSyncManager::slotClearMenu( int action ) |
164 | { | 164 | { |
165 | QString syncDevice; | 165 | QString syncDevice; |
166 | if ( action > 999 ) { | 166 | if ( action > 999 ) { |
167 | syncDevice = mSyncProfileNames[action - 1000] ; | 167 | syncDevice = mSyncProfileNames[action - 1000] ; |
168 | } | 168 | } |
169 | 169 | ||
170 | 170 | ||
171 | 171 | ||
172 | int result = 0; | 172 | int result = 0; |
173 | QString sd; | 173 | QString sd; |
174 | if ( syncDevice.isEmpty() ) | 174 | if ( syncDevice.isEmpty() ) |
175 | sd = i18n("Do you want to\nclear all sync info\nof all profiles?"); | 175 | sd = i18n("Do you want to\nclear all sync info\nof all profiles?"); |
176 | else | 176 | else |
177 | sd = i18n("Do you want to\nclear the sync\ninfo of profile\n%1?\n"). arg( syncDevice ); | 177 | sd = i18n("Do you want to\nclear the sync\ninfo of profile\n%1?\n"). arg( syncDevice ); |
178 | 178 | ||
179 | result = QMessageBox::warning( mParent, i18n("Warning!"),sd,i18n("OK"), i18n("Cancel"), 0, | 179 | result = QMessageBox::warning( mParent, i18n("Warning!"),sd,i18n("OK"), i18n("Cancel"), 0, |
180 | 0, 1 ); | 180 | 0, 1 ); |
181 | if ( result ) | 181 | if ( result ) |
182 | return; | 182 | return; |
183 | mImplementation->removeSyncInfo( syncDevice ); | 183 | mImplementation->removeSyncInfo( syncDevice ); |
184 | } | 184 | } |
185 | void KSyncManager::slotSyncMenu( int action ) | 185 | void KSyncManager::slotSyncMenu( int action ) |
186 | { | 186 | { |
187 | qDebug("syncaction %d ", action); | 187 | qDebug("syncaction %d ", action); |
188 | if ( action == 5000 ) | 188 | if ( action == 5000 ) |
189 | return; | 189 | return; |
190 | mSyncWithDesktop = false; | 190 | mSyncWithDesktop = false; |
191 | if ( action == 0 ) { | 191 | if ( action == 0 ) { |
192 | 192 | ||
193 | // seems to be a Qt2 event handling bug | 193 | // seems to be a Qt2 event handling bug |
194 | // syncmenu.clear causes a segfault at first time | 194 | // syncmenu.clear causes a segfault at first time |
195 | // when we call it after the main event loop, it is ok | 195 | // when we call it after the main event loop, it is ok |
196 | // same behaviour when calling OM/Pi via QCOP for the first time | 196 | // same behaviour when calling OM/Pi via QCOP for the first time |
197 | QTimer::singleShot ( 1, this, SLOT ( confSync() ) ); | 197 | QTimer::singleShot ( 1, this, SLOT ( confSync() ) ); |
198 | //confSync(); | 198 | //confSync(); |
199 | 199 | ||
200 | return; | 200 | return; |
201 | } | 201 | } |
202 | if ( action == 1 ) { | 202 | if ( action == 1 ) { |
203 | multiSync( true ); | 203 | multiSync( true ); |
204 | return; | 204 | return; |
205 | } | 205 | } |
206 | if ( action == 2 ) { | 206 | if ( action == 2 ) { |
207 | enableQuick(); | 207 | enableQuick(); |
208 | QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) ); | 208 | QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) ); |
209 | return; | 209 | return; |
210 | } | 210 | } |
211 | if ( action == 3 ) { | 211 | if ( action == 3 ) { |
212 | delete mServerSocket; | 212 | delete mServerSocket; |
213 | mServerSocket = 0; | 213 | mServerSocket = 0; |
214 | QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) ); | 214 | QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) ); |
215 | return; | 215 | return; |
216 | } | 216 | } |
217 | 217 | ||
218 | if (blockSave()) | 218 | if (blockSave()) |
219 | return; | 219 | return; |
220 | 220 | ||
221 | setBlockSave(true); | 221 | setBlockSave(true); |
222 | bool silent = false; | 222 | bool silent = false; |
223 | if ( action == 999 ) { | 223 | if ( action == 999 ) { |
224 | //special mode for silent syncing | 224 | //special mode for silent syncing |
225 | action = 1000; | 225 | action = 1000; |
226 | silent = true; | 226 | silent = true; |
227 | } | 227 | } |
228 | 228 | ||
229 | mCurrentSyncProfile = action - 1000 ; | 229 | mCurrentSyncProfile = action - 1000 ; |
230 | mCurrentSyncDevice = mSyncProfileNames[mCurrentSyncProfile] ; | 230 | mCurrentSyncDevice = mSyncProfileNames[mCurrentSyncProfile] ; |
231 | mCurrentSyncName = mLocalMachineName ; | 231 | mCurrentSyncName = mLocalMachineName ; |
232 | KConfig config ( locateLocal( "config","ksyncprofilesrc" ) ); | 232 | KConfig config ( locateLocal( "config","ksyncprofilesrc" ) ); |
233 | KSyncProfile* temp = new KSyncProfile (); | 233 | KSyncProfile* temp = new KSyncProfile (); |
234 | temp->setName(mSyncProfileNames[mCurrentSyncProfile]); | 234 | temp->setName(mSyncProfileNames[mCurrentSyncProfile]); |
235 | temp->readConfig(&config); | 235 | temp->readConfig(&config); |
236 | if (silent) { | 236 | if (silent) { |
237 | mAskForPreferences = false; | 237 | mAskForPreferences = false; |
238 | mShowSyncSummary = false; | 238 | mShowSyncSummary = false; |
239 | mWriteBackFile = true; | 239 | mWriteBackFile = true; |
240 | mSyncAlgoPrefs = 2;// take newest | 240 | mSyncAlgoPrefs = 2;// take newest |
241 | } | 241 | } |
242 | else { | 242 | else { |
243 | mAskForPreferences = temp->getAskForPreferences(); | 243 | mAskForPreferences = temp->getAskForPreferences(); |
244 | mShowSyncSummary = temp->getShowSummaryAfterSync(); | 244 | mShowSyncSummary = temp->getShowSummaryAfterSync(); |
245 | mWriteBackFile = temp->getWriteBackFile(); | 245 | mWriteBackFile = temp->getWriteBackFile(); |
246 | mSyncAlgoPrefs = temp->getSyncPrefs(); | 246 | mSyncAlgoPrefs = temp->getSyncPrefs(); |
247 | } | 247 | } |
248 | mWriteBackExistingOnly = temp->getWriteBackExisting(); | 248 | mWriteBackExistingOnly = temp->getWriteBackExisting(); |
249 | mIsKapiFile = temp->getIsKapiFile(); | 249 | mIsKapiFile = temp->getIsKapiFile(); |
250 | mWriteBackInFuture = 0; | 250 | mWriteBackInFuture = 0; |
251 | if ( temp->getWriteBackFuture() ) { | 251 | if ( temp->getWriteBackFuture() ) { |
252 | mWriteBackInFuture = temp->getWriteBackFutureWeeks( ); | 252 | mWriteBackInFuture = temp->getWriteBackFutureWeeks( ); |
253 | mWriteBackInPast = temp->getWriteBackPastWeeks( ); | 253 | mWriteBackInPast = temp->getWriteBackPastWeeks( ); |
254 | } | 254 | } |
255 | 255 | mFilterInCal = temp->getFilterInCal(); | |
256 | mFilterOutCal = temp->getFilterOutCal(); | ||
257 | mFilterInAB = temp->getFilterInAB(); | ||
258 | mFilterOutAB = temp->getFilterOutAB(); | ||
259 | |||
256 | if ( action == 1000 ) { | 260 | if ( action == 1000 ) { |
257 | mIsKapiFile = false; | 261 | mIsKapiFile = false; |
258 | #ifdef DESKTOP_VERSION | 262 | #ifdef DESKTOP_VERSION |
259 | syncKDE(); | 263 | syncKDE(); |
260 | #else | 264 | #else |
261 | syncSharp(); | 265 | syncSharp(); |
262 | #endif | 266 | #endif |
263 | 267 | ||
264 | } else if ( action == 1001 ) { | 268 | } else if ( action == 1001 ) { |
265 | syncLocalFile(); | 269 | syncLocalFile(); |
266 | 270 | ||
267 | } else if ( action == 1002 ) { | 271 | } else if ( action == 1002 ) { |
268 | mWriteBackFile = false; | 272 | mWriteBackFile = false; |
269 | mAskForPreferences = false; | 273 | mAskForPreferences = false; |
270 | mShowSyncSummary = false; | 274 | mShowSyncSummary = false; |
271 | mSyncAlgoPrefs = 3; | 275 | mSyncAlgoPrefs = 3; |
272 | quickSyncLocalFile(); | 276 | quickSyncLocalFile(); |
273 | 277 | ||
274 | } else if ( action >= 1003 ) { | 278 | } else if ( action >= 1003 ) { |
275 | if ( temp->getIsLocalFileSync() ) { | 279 | if ( temp->getIsLocalFileSync() ) { |
276 | switch(mTargetApp) | 280 | switch(mTargetApp) |
277 | { | 281 | { |
278 | case (KAPI): | 282 | case (KAPI): |
279 | if ( syncWithFile( temp->getRemoteFileNameAB( ), false ) ) | 283 | if ( syncWithFile( temp->getRemoteFileNameAB( ), false ) ) |
280 | mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNameAB(); | 284 | mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNameAB(); |
281 | break; | 285 | break; |
282 | case (KOPI): | 286 | case (KOPI): |
283 | if ( syncWithFile( temp->getRemoteFileName( ), false ) ) | 287 | if ( syncWithFile( temp->getRemoteFileName( ), false ) ) |
284 | mPrefs->mLastSyncedLocalFile = temp->getRemoteFileName(); | 288 | mPrefs->mLastSyncedLocalFile = temp->getRemoteFileName(); |
285 | break; | 289 | break; |
286 | case (PWMPI): | 290 | case (PWMPI): |
287 | if ( syncWithFile( temp->getRemoteFileNamePWM( ), false ) ) | 291 | if ( syncWithFile( temp->getRemoteFileNamePWM( ), false ) ) |
288 | mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNamePWM(); | 292 | mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNamePWM(); |
289 | break; | 293 | break; |
290 | default: | 294 | default: |
291 | qDebug("KSyncManager::slotSyncMenu: invalid apptype selected"); | 295 | qDebug("KSyncManager::slotSyncMenu: invalid apptype selected"); |
292 | break; | 296 | break; |
293 | 297 | ||
294 | } | 298 | } |
295 | } else { | 299 | } else { |
296 | if ( temp->getIsPhoneSync() ) { | 300 | if ( temp->getIsPhoneSync() ) { |
297 | mPhoneDevice = temp->getPhoneDevice( ) ; | 301 | mPhoneDevice = temp->getPhoneDevice( ) ; |
298 | mPhoneConnection = temp->getPhoneConnection( ); | 302 | mPhoneConnection = temp->getPhoneConnection( ); |
299 | mPhoneModel = temp->getPhoneModel( ); | 303 | mPhoneModel = temp->getPhoneModel( ); |
300 | syncPhone(); | 304 | syncPhone(); |
301 | } else if ( temp->getIsPiSync() ) { | 305 | } else if ( temp->getIsPiSync() ) { |
302 | if ( mTargetApp == KAPI ) { | 306 | if ( mTargetApp == KAPI ) { |
303 | mPassWordPiSync = temp->getRemotePwAB(); | 307 | mPassWordPiSync = temp->getRemotePwAB(); |
304 | mActiveSyncPort = temp->getRemotePortAB(); | 308 | mActiveSyncPort = temp->getRemotePortAB(); |
305 | mActiveSyncIP = temp->getRemoteIPAB(); | 309 | mActiveSyncIP = temp->getRemoteIPAB(); |
306 | } else if ( mTargetApp == KOPI ) { | 310 | } else if ( mTargetApp == KOPI ) { |
307 | mPassWordPiSync = temp->getRemotePw(); | 311 | mPassWordPiSync = temp->getRemotePw(); |
308 | mActiveSyncPort = temp->getRemotePort(); | 312 | mActiveSyncPort = temp->getRemotePort(); |
309 | mActiveSyncIP = temp->getRemoteIP(); | 313 | mActiveSyncIP = temp->getRemoteIP(); |
310 | } else { | 314 | } else { |
311 | mPassWordPiSync = temp->getRemotePwPWM(); | 315 | mPassWordPiSync = temp->getRemotePwPWM(); |
312 | mActiveSyncPort = temp->getRemotePortPWM(); | 316 | mActiveSyncPort = temp->getRemotePortPWM(); |
313 | mActiveSyncIP = temp->getRemoteIPPWM(); | 317 | mActiveSyncIP = temp->getRemoteIPPWM(); |
314 | } | 318 | } |
315 | syncPi(); | 319 | syncPi(); |
316 | while ( !mPisyncFinished ) { | 320 | while ( !mPisyncFinished ) { |
317 | //qDebug("waiting "); | 321 | //qDebug("waiting "); |
318 | qApp->processEvents(); | 322 | qApp->processEvents(); |
319 | } | 323 | } |
320 | } else | 324 | } else |
321 | syncRemote( temp ); | 325 | syncRemote( temp ); |
322 | 326 | ||
323 | } | 327 | } |
324 | } | 328 | } |
325 | delete temp; | 329 | delete temp; |
326 | setBlockSave(false); | 330 | setBlockSave(false); |
327 | } | 331 | } |
328 | 332 | ||
329 | void KSyncManager::enableQuick( bool ask ) | 333 | void KSyncManager::enableQuick( bool ask ) |
330 | { | 334 | { |
331 | bool autoStart; | 335 | bool autoStart; |
332 | bool changed = false; | 336 | bool changed = false; |
333 | if ( ask ) { | 337 | if ( ask ) { |
334 | QDialog dia ( 0, "input-dialog", true ); | 338 | QDialog dia ( 0, "input-dialog", true ); |
335 | QLineEdit lab ( &dia ); | 339 | QLineEdit lab ( &dia ); |
336 | QVBoxLayout lay( &dia ); | 340 | QVBoxLayout lay( &dia ); |
337 | lab.setText( mPrefs->mPassiveSyncPort ); | 341 | lab.setText( mPrefs->mPassiveSyncPort ); |
338 | lay.setMargin(7); | 342 | lay.setMargin(7); |
339 | lay.setSpacing(7); | 343 | lay.setSpacing(7); |
340 | int po = 9197+mTargetApp; | 344 | int po = 9197+mTargetApp; |
341 | QLabel label ( i18n("Port number (Default: %1)").arg(po), &dia ); | 345 | QLabel label ( i18n("Port number (Default: %1)").arg(po), &dia ); |
342 | lay.addWidget( &label); | 346 | lay.addWidget( &label); |
343 | lay.addWidget( &lab); | 347 | lay.addWidget( &lab); |
344 | 348 | ||
345 | QLineEdit lepw ( &dia ); | 349 | QLineEdit lepw ( &dia ); |
346 | lepw.setText( mPrefs->mPassiveSyncPw ); | 350 | lepw.setText( mPrefs->mPassiveSyncPw ); |
347 | QLabel label2 ( i18n("Password to enable\naccess from remote:"), &dia ); | 351 | QLabel label2 ( i18n("Password to enable\naccess from remote:"), &dia ); |
348 | lay.addWidget( &label2); | 352 | lay.addWidget( &label2); |
349 | lay.addWidget( &lepw); | 353 | lay.addWidget( &lepw); |
350 | QCheckBox autostart(i18n("Automatically start\nat application startup"), &dia ); | 354 | QCheckBox autostart(i18n("Automatically start\nat application startup"), &dia ); |
351 | lay.addWidget( &autostart); | 355 | lay.addWidget( &autostart); |
@@ -491,192 +495,196 @@ bool KSyncManager::syncWithFile( QString fn , bool quick ) | |||
491 | } | 495 | } |
492 | 496 | ||
493 | void KSyncManager::quickSyncLocalFile() | 497 | void KSyncManager::quickSyncLocalFile() |
494 | { | 498 | { |
495 | 499 | ||
496 | if ( syncWithFile( mPrefs->mLastSyncedLocalFile, true ) ) { | 500 | if ( syncWithFile( mPrefs->mLastSyncedLocalFile, true ) ) { |
497 | qDebug("quick syncLocalFile() successful "); | 501 | qDebug("quick syncLocalFile() successful "); |
498 | 502 | ||
499 | } | 503 | } |
500 | } | 504 | } |
501 | 505 | ||
502 | void KSyncManager::multiSync( bool askforPrefs ) | 506 | void KSyncManager::multiSync( bool askforPrefs ) |
503 | { | 507 | { |
504 | if (blockSave()) | 508 | if (blockSave()) |
505 | return; | 509 | return; |
506 | setBlockSave(true); | 510 | setBlockSave(true); |
507 | QString question = i18n("Do you really want\nto multiple sync\nwith all checked profiles?\nSyncing takes some\ntime - all profiles\nare synced twice!"); | 511 | QString question = i18n("Do you really want\nto multiple sync\nwith all checked profiles?\nSyncing takes some\ntime - all profiles\nare synced twice!"); |
508 | if ( QMessageBox::information( mParent, i18n("KDE-Pim Sync"), | 512 | if ( QMessageBox::information( mParent, i18n("KDE-Pim Sync"), |
509 | question, | 513 | question, |
510 | i18n("Yes"), i18n("No"), | 514 | i18n("Yes"), i18n("No"), |
511 | 0, 0 ) != 0 ) { | 515 | 0, 0 ) != 0 ) { |
512 | setBlockSave(false); | 516 | setBlockSave(false); |
513 | mParent->topLevelWidget()->setCaption(i18n("Aborted! Nothing synced!")); | 517 | mParent->topLevelWidget()->setCaption(i18n("Aborted! Nothing synced!")); |
514 | return; | 518 | return; |
515 | } | 519 | } |
516 | mCurrentSyncDevice = i18n("Multiple profiles") ; | 520 | mCurrentSyncDevice = i18n("Multiple profiles") ; |
517 | mSyncAlgoPrefs = mPrefs->mRingSyncAlgoPrefs; | 521 | mSyncAlgoPrefs = mPrefs->mRingSyncAlgoPrefs; |
518 | if ( askforPrefs ) { | 522 | if ( askforPrefs ) { |
519 | if ( !edit_sync_options()) { | 523 | if ( !edit_sync_options()) { |
520 | mParent->topLevelWidget()->setCaption( i18n("Syncing aborted.") ); | 524 | mParent->topLevelWidget()->setCaption( i18n("Syncing aborted.") ); |
521 | return; | 525 | return; |
522 | } | 526 | } |
523 | mPrefs->mRingSyncAlgoPrefs = mSyncAlgoPrefs; | 527 | mPrefs->mRingSyncAlgoPrefs = mSyncAlgoPrefs; |
524 | } | 528 | } |
525 | mParent->topLevelWidget()->setCaption(i18n("Multiple sync started.") ); | 529 | mParent->topLevelWidget()->setCaption(i18n("Multiple sync started.") ); |
526 | qApp->processEvents(); | 530 | qApp->processEvents(); |
527 | int num = ringSync() ; | 531 | int num = ringSync() ; |
528 | if ( num > 1 ) | 532 | if ( num > 1 ) |
529 | ringSync(); | 533 | ringSync(); |
530 | setBlockSave(false); | 534 | setBlockSave(false); |
531 | if ( num ) | 535 | if ( num ) |
532 | emit save(); | 536 | emit save(); |
533 | if ( num ) | 537 | if ( num ) |
534 | mParent->topLevelWidget()->setCaption(i18n("%1 profiles synced. Multiple sync complete!").arg(num) ); | 538 | mParent->topLevelWidget()->setCaption(i18n("%1 profiles synced. Multiple sync complete!").arg(num) ); |
535 | else | 539 | else |
536 | mParent->topLevelWidget()->setCaption(i18n("Nothing synced! No profiles defined for multisync!")); | 540 | mParent->topLevelWidget()->setCaption(i18n("Nothing synced! No profiles defined for multisync!")); |
537 | return; | 541 | return; |
538 | } | 542 | } |
539 | 543 | ||
540 | int KSyncManager::ringSync() | 544 | int KSyncManager::ringSync() |
541 | { | 545 | { |
542 | 546 | ||
543 | int syncedProfiles = 0; | 547 | int syncedProfiles = 0; |
544 | unsigned int i; | 548 | unsigned int i; |
545 | QTime timer; | 549 | QTime timer; |
546 | KConfig config ( locateLocal( "config","ksyncprofilesrc" ) ); | 550 | KConfig config ( locateLocal( "config","ksyncprofilesrc" ) ); |
547 | QStringList syncProfileNames = mSyncProfileNames; | 551 | QStringList syncProfileNames = mSyncProfileNames; |
548 | KSyncProfile* temp = new KSyncProfile (); | 552 | KSyncProfile* temp = new KSyncProfile (); |
549 | mAskForPreferences = false; | 553 | mAskForPreferences = false; |
550 | for ( i = 0; i < syncProfileNames.count(); ++i ) { | 554 | for ( i = 0; i < syncProfileNames.count(); ++i ) { |
551 | mCurrentSyncProfile = i; | 555 | mCurrentSyncProfile = i; |
552 | temp->setName(syncProfileNames[mCurrentSyncProfile]); | 556 | temp->setName(syncProfileNames[mCurrentSyncProfile]); |
553 | temp->readConfig(&config); | 557 | temp->readConfig(&config); |
554 | 558 | ||
555 | bool includeInRingSync; | 559 | bool includeInRingSync; |
556 | switch(mTargetApp) | 560 | switch(mTargetApp) |
557 | { | 561 | { |
558 | case (KAPI): | 562 | case (KAPI): |
559 | includeInRingSync = temp->getIncludeInRingSyncAB(); | 563 | includeInRingSync = temp->getIncludeInRingSyncAB(); |
560 | break; | 564 | break; |
561 | case (KOPI): | 565 | case (KOPI): |
562 | includeInRingSync = temp->getIncludeInRingSync(); | 566 | includeInRingSync = temp->getIncludeInRingSync(); |
563 | break; | 567 | break; |
564 | case (PWMPI): | 568 | case (PWMPI): |
565 | includeInRingSync = temp->getIncludeInRingSyncPWM(); | 569 | includeInRingSync = temp->getIncludeInRingSyncPWM(); |
566 | break; | 570 | break; |
567 | default: | 571 | default: |
568 | qDebug("KSyncManager::ringSync: invalid apptype selected"); | 572 | qDebug("KSyncManager::ringSync: invalid apptype selected"); |
569 | break; | 573 | break; |
570 | 574 | ||
571 | } | 575 | } |
572 | 576 | ||
573 | 577 | ||
574 | if ( includeInRingSync && ( i < 1 || i > 2 )) { | 578 | if ( includeInRingSync && ( i < 1 || i > 2 )) { |
575 | mParent->topLevelWidget()->setCaption(i18n("Profile ")+syncProfileNames[mCurrentSyncProfile]+ i18n(" is synced ... ")); | 579 | mParent->topLevelWidget()->setCaption(i18n("Profile ")+syncProfileNames[mCurrentSyncProfile]+ i18n(" is synced ... ")); |
576 | ++syncedProfiles; | 580 | ++syncedProfiles; |
577 | mSyncWithDesktop = false; | 581 | mSyncWithDesktop = false; |
578 | // mAskForPreferences = temp->getAskForPreferences(); | 582 | // mAskForPreferences = temp->getAskForPreferences(); |
579 | mWriteBackFile = temp->getWriteBackFile(); | 583 | mWriteBackFile = temp->getWriteBackFile(); |
580 | mWriteBackExistingOnly = temp->getWriteBackExisting(); | 584 | mWriteBackExistingOnly = temp->getWriteBackExisting(); |
581 | mIsKapiFile = temp->getIsKapiFile(); | 585 | mIsKapiFile = temp->getIsKapiFile(); |
582 | mWriteBackInFuture = 0; | 586 | mWriteBackInFuture = 0; |
583 | if ( temp->getWriteBackFuture() ) { | 587 | if ( temp->getWriteBackFuture() ) { |
584 | mWriteBackInFuture = temp->getWriteBackFutureWeeks( ); | 588 | mWriteBackInFuture = temp->getWriteBackFutureWeeks( ); |
585 | mWriteBackInPast = temp->getWriteBackPastWeeks( ); | 589 | mWriteBackInPast = temp->getWriteBackPastWeeks( ); |
586 | } | 590 | } |
591 | mFilterInCal = temp->getFilterInCal(); | ||
592 | mFilterOutCal = temp->getFilterOutCal(); | ||
593 | mFilterInAB = temp->getFilterInAB(); | ||
594 | mFilterOutAB = temp->getFilterOutAB(); | ||
587 | mShowSyncSummary = false; | 595 | mShowSyncSummary = false; |
588 | mCurrentSyncDevice = syncProfileNames[i] ; | 596 | mCurrentSyncDevice = syncProfileNames[i] ; |
589 | mCurrentSyncName = mLocalMachineName; | 597 | mCurrentSyncName = mLocalMachineName; |
590 | if ( i == 0 ) { | 598 | if ( i == 0 ) { |
591 | mIsKapiFile = false; | 599 | mIsKapiFile = false; |
592 | #ifdef DESKTOP_VERSION | 600 | #ifdef DESKTOP_VERSION |
593 | syncKDE(); | 601 | syncKDE(); |
594 | #else | 602 | #else |
595 | syncSharp(); | 603 | syncSharp(); |
596 | #endif | 604 | #endif |
597 | } else { | 605 | } else { |
598 | if ( temp->getIsLocalFileSync() ) { | 606 | if ( temp->getIsLocalFileSync() ) { |
599 | switch(mTargetApp) | 607 | switch(mTargetApp) |
600 | { | 608 | { |
601 | case (KAPI): | 609 | case (KAPI): |
602 | if ( syncWithFile( temp->getRemoteFileNameAB( ), false ) ) | 610 | if ( syncWithFile( temp->getRemoteFileNameAB( ), false ) ) |
603 | mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNameAB(); | 611 | mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNameAB(); |
604 | break; | 612 | break; |
605 | case (KOPI): | 613 | case (KOPI): |
606 | if ( syncWithFile( temp->getRemoteFileName( ), false ) ) | 614 | if ( syncWithFile( temp->getRemoteFileName( ), false ) ) |
607 | mPrefs->mLastSyncedLocalFile = temp->getRemoteFileName(); | 615 | mPrefs->mLastSyncedLocalFile = temp->getRemoteFileName(); |
608 | break; | 616 | break; |
609 | case (PWMPI): | 617 | case (PWMPI): |
610 | if ( syncWithFile( temp->getRemoteFileNamePWM( ), false ) ) | 618 | if ( syncWithFile( temp->getRemoteFileNamePWM( ), false ) ) |
611 | mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNamePWM(); | 619 | mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNamePWM(); |
612 | break; | 620 | break; |
613 | default: | 621 | default: |
614 | qDebug("KSyncManager::slotSyncMenu: invalid apptype selected"); | 622 | qDebug("KSyncManager::slotSyncMenu: invalid apptype selected"); |
615 | break; | 623 | break; |
616 | } | 624 | } |
617 | } else { | 625 | } else { |
618 | if ( temp->getIsPhoneSync() ) { | 626 | if ( temp->getIsPhoneSync() ) { |
619 | mPhoneDevice = temp->getPhoneDevice( ) ; | 627 | mPhoneDevice = temp->getPhoneDevice( ) ; |
620 | mPhoneConnection = temp->getPhoneConnection( ); | 628 | mPhoneConnection = temp->getPhoneConnection( ); |
621 | mPhoneModel = temp->getPhoneModel( ); | 629 | mPhoneModel = temp->getPhoneModel( ); |
622 | syncPhone(); | 630 | syncPhone(); |
623 | } else if ( temp->getIsPiSync() ) { | 631 | } else if ( temp->getIsPiSync() ) { |
624 | if ( mTargetApp == KAPI ) { | 632 | if ( mTargetApp == KAPI ) { |
625 | mPassWordPiSync = temp->getRemotePwAB(); | 633 | mPassWordPiSync = temp->getRemotePwAB(); |
626 | mActiveSyncPort = temp->getRemotePortAB(); | 634 | mActiveSyncPort = temp->getRemotePortAB(); |
627 | mActiveSyncIP = temp->getRemoteIPAB(); | 635 | mActiveSyncIP = temp->getRemoteIPAB(); |
628 | } else if ( mTargetApp == KOPI ) { | 636 | } else if ( mTargetApp == KOPI ) { |
629 | mPassWordPiSync = temp->getRemotePw(); | 637 | mPassWordPiSync = temp->getRemotePw(); |
630 | mActiveSyncPort = temp->getRemotePort(); | 638 | mActiveSyncPort = temp->getRemotePort(); |
631 | mActiveSyncIP = temp->getRemoteIP(); | 639 | mActiveSyncIP = temp->getRemoteIP(); |
632 | } else { | 640 | } else { |
633 | mPassWordPiSync = temp->getRemotePwPWM(); | 641 | mPassWordPiSync = temp->getRemotePwPWM(); |
634 | mActiveSyncPort = temp->getRemotePortPWM(); | 642 | mActiveSyncPort = temp->getRemotePortPWM(); |
635 | mActiveSyncIP = temp->getRemoteIPPWM(); | 643 | mActiveSyncIP = temp->getRemoteIPPWM(); |
636 | } | 644 | } |
637 | syncPi(); | 645 | syncPi(); |
638 | while ( !mPisyncFinished ) { | 646 | while ( !mPisyncFinished ) { |
639 | //qDebug("waiting "); | 647 | //qDebug("waiting "); |
640 | qApp->processEvents(); | 648 | qApp->processEvents(); |
641 | } | 649 | } |
642 | timer.start(); | 650 | timer.start(); |
643 | while ( timer.elapsed () < 2000 ) { | 651 | while ( timer.elapsed () < 2000 ) { |
644 | qApp->processEvents(); | 652 | qApp->processEvents(); |
645 | } | 653 | } |
646 | } else | 654 | } else |
647 | syncRemote( temp, false ); | 655 | syncRemote( temp, false ); |
648 | 656 | ||
649 | } | 657 | } |
650 | } | 658 | } |
651 | timer.start(); | 659 | timer.start(); |
652 | mParent->topLevelWidget()->setCaption(i18n("Multiple sync in progress ... please wait!") ); | 660 | mParent->topLevelWidget()->setCaption(i18n("Multiple sync in progress ... please wait!") ); |
653 | while ( timer.elapsed () < 2000 ) { | 661 | while ( timer.elapsed () < 2000 ) { |
654 | qApp->processEvents(); | 662 | qApp->processEvents(); |
655 | #ifndef _WIN32_ | 663 | #ifndef _WIN32_ |
656 | sleep (1); | 664 | sleep (1); |
657 | #endif | 665 | #endif |
658 | } | 666 | } |
659 | 667 | ||
660 | } | 668 | } |
661 | 669 | ||
662 | } | 670 | } |
663 | delete temp; | 671 | delete temp; |
664 | return syncedProfiles; | 672 | return syncedProfiles; |
665 | } | 673 | } |
666 | 674 | ||
667 | void KSyncManager::syncRemote( KSyncProfile* prof, bool ask) | 675 | void KSyncManager::syncRemote( KSyncProfile* prof, bool ask) |
668 | { | 676 | { |
669 | QString question; | 677 | QString question; |
670 | if ( ask ) { | 678 | if ( ask ) { |
671 | question = i18n("Do you really want\nto remote sync\nwith profile \n")+ prof->getName()+" ?\n"; | 679 | question = i18n("Do you really want\nto remote sync\nwith profile \n")+ prof->getName()+" ?\n"; |
672 | if ( QMessageBox::information( mParent, i18n("Sync"), | 680 | if ( QMessageBox::information( mParent, i18n("Sync"), |
673 | question, | 681 | question, |
674 | i18n("Yes"), i18n("No"), | 682 | i18n("Yes"), i18n("No"), |
675 | 0, 0 ) != 0 ) | 683 | 0, 0 ) != 0 ) |
676 | return; | 684 | return; |
677 | } | 685 | } |
678 | 686 | ||
679 | QString preCommand; | 687 | QString preCommand; |
680 | QString localTempFile; | 688 | QString localTempFile; |
681 | QString postCommand; | 689 | QString postCommand; |
682 | 690 | ||
diff --git a/libkdepim/ksyncmanager.h b/libkdepim/ksyncmanager.h index 2d0a4ab..6d89950 100644 --- a/libkdepim/ksyncmanager.h +++ b/libkdepim/ksyncmanager.h | |||
@@ -55,163 +55,167 @@ class KServerSocket : public QServerSocket | |||
55 | void endConnect(); | 55 | void endConnect(); |
56 | private slots: | 56 | private slots: |
57 | void discardClient(); | 57 | void discardClient(); |
58 | void readClient(); | 58 | void readClient(); |
59 | void readBackFileFromSocket(); | 59 | void readBackFileFromSocket(); |
60 | private : | 60 | private : |
61 | bool blockRC; | 61 | bool blockRC; |
62 | void send_file(); | 62 | void send_file(); |
63 | void get_file(); | 63 | void get_file(); |
64 | void end_connect(); | 64 | void end_connect(); |
65 | QDialog* mSyncActionDialog; | 65 | QDialog* mSyncActionDialog; |
66 | QSocket* mSocket; | 66 | QSocket* mSocket; |
67 | QString mPassWord; | 67 | QString mPassWord; |
68 | QString mFileName; | 68 | QString mFileName; |
69 | QTime piTime; | 69 | QTime piTime; |
70 | QString piFileString; | 70 | QString piFileString; |
71 | }; | 71 | }; |
72 | 72 | ||
73 | class KCommandSocket : public QObject | 73 | class KCommandSocket : public QObject |
74 | { | 74 | { |
75 | Q_OBJECT | 75 | Q_OBJECT |
76 | public: | 76 | public: |
77 | enum state { successR, errorR, successW, errorW, errorTO, quiet }; | 77 | enum state { successR, errorR, successW, errorW, errorTO, quiet }; |
78 | KCommandSocket ( QString password, Q_UINT16 port, QString host, QObject * parent=0, const char * name=0 ); | 78 | KCommandSocket ( QString password, Q_UINT16 port, QString host, QObject * parent=0, const char * name=0 ); |
79 | void readFile( QString ); | 79 | void readFile( QString ); |
80 | void writeFile( QString ); | 80 | void writeFile( QString ); |
81 | void sendStop(); | 81 | void sendStop(); |
82 | 82 | ||
83 | signals: | 83 | signals: |
84 | void commandFinished( KCommandSocket*, int ); | 84 | void commandFinished( KCommandSocket*, int ); |
85 | private slots: | 85 | private slots: |
86 | void startReadFileFromSocket(); | 86 | void startReadFileFromSocket(); |
87 | void readFileFromSocket(); | 87 | void readFileFromSocket(); |
88 | void deleteSocket(); | 88 | void deleteSocket(); |
89 | void writeFileToSocket(); | 89 | void writeFileToSocket(); |
90 | private : | 90 | private : |
91 | QSocket* mSocket; | 91 | QSocket* mSocket; |
92 | QString mPassWord; | 92 | QString mPassWord; |
93 | Q_UINT16 mPort; | 93 | Q_UINT16 mPort; |
94 | QString mHost; | 94 | QString mHost; |
95 | QString mFileName; | 95 | QString mFileName; |
96 | QTimer* mTimerSocket; | 96 | QTimer* mTimerSocket; |
97 | int mRetVal; | 97 | int mRetVal; |
98 | QTime mTime; | 98 | QTime mTime; |
99 | QString mFileString; | 99 | QString mFileString; |
100 | bool mFirst; | 100 | bool mFirst; |
101 | }; | 101 | }; |
102 | 102 | ||
103 | 103 | ||
104 | class KSyncManager : public QObject | 104 | class KSyncManager : public QObject |
105 | { | 105 | { |
106 | Q_OBJECT | 106 | Q_OBJECT |
107 | 107 | ||
108 | public: | 108 | public: |
109 | enum TargetApp { | 109 | enum TargetApp { |
110 | KOPI = 0, | 110 | KOPI = 0, |
111 | KAPI = 1, | 111 | KAPI = 1, |
112 | PWMPI = 2 }; | 112 | PWMPI = 2 }; |
113 | 113 | ||
114 | KSyncManager(QWidget* parent, KSyncInterface* implementation, TargetApp ta, KPimPrefs* prefs, QPopupMenu* syncmenu); | 114 | KSyncManager(QWidget* parent, KSyncInterface* implementation, TargetApp ta, KPimPrefs* prefs, QPopupMenu* syncmenu); |
115 | ~KSyncManager() ; | 115 | ~KSyncManager() ; |
116 | 116 | ||
117 | void multiSync( bool askforPrefs ); | 117 | void multiSync( bool askforPrefs ); |
118 | bool blockSave() { return mBlockSaveFlag; } | 118 | bool blockSave() { return mBlockSaveFlag; } |
119 | void setBlockSave(bool sa) { mBlockSaveFlag = sa; } | 119 | void setBlockSave(bool sa) { mBlockSaveFlag = sa; } |
120 | void setDefaultFileName( QString s) { mDefFileName = s ;} | 120 | void setDefaultFileName( QString s) { mDefFileName = s ;} |
121 | QString defaultFileName() { return mDefFileName ;} | 121 | QString defaultFileName() { return mDefFileName ;} |
122 | QString syncFileName(); | 122 | QString syncFileName(); |
123 | void enableQuick( bool ask = true); | 123 | void enableQuick( bool ask = true); |
124 | 124 | ||
125 | bool syncWithDesktop () { return mSyncWithDesktop;} | 125 | bool syncWithDesktop () { return mSyncWithDesktop;} |
126 | QString getCurrentSyncDevice() { return mCurrentSyncDevice; } | 126 | QString getCurrentSyncDevice() { return mCurrentSyncDevice; } |
127 | QString getCurrentSyncName() { return mCurrentSyncName; } | 127 | QString getCurrentSyncName() { return mCurrentSyncName; } |
128 | 128 | ||
129 | void showProgressBar(int percentage, QString caption = QString::null, int total=100); | 129 | void showProgressBar(int percentage, QString caption = QString::null, int total=100); |
130 | void hideProgressBar(); | 130 | void hideProgressBar(); |
131 | bool isProgressBarCanceled(); | 131 | bool isProgressBarCanceled(); |
132 | 132 | ||
133 | // sync stuff | 133 | // sync stuff |
134 | QString mLocalMachineName; | 134 | QString mLocalMachineName; |
135 | QStringList mExternSyncProfiles; | 135 | QStringList mExternSyncProfiles; |
136 | QStringList mSyncProfileNames; | 136 | QStringList mSyncProfileNames; |
137 | bool mAskForPreferences; | 137 | bool mAskForPreferences; |
138 | bool mShowSyncSummary; | 138 | bool mShowSyncSummary; |
139 | bool mIsKapiFile; | 139 | bool mIsKapiFile; |
140 | bool mWriteBackExistingOnly; | 140 | bool mWriteBackExistingOnly; |
141 | int mSyncAlgoPrefs; | 141 | int mSyncAlgoPrefs; |
142 | bool mWriteBackFile; | 142 | bool mWriteBackFile; |
143 | int mWriteBackInFuture; | 143 | int mWriteBackInFuture; |
144 | int mWriteBackInPast; | 144 | int mWriteBackInPast; |
145 | QString mPhoneDevice; | 145 | QString mPhoneDevice; |
146 | QString mPhoneConnection; | 146 | QString mPhoneConnection; |
147 | QString mPhoneModel; | 147 | QString mPhoneModel; |
148 | QString mPassWordPiSync; | 148 | QString mPassWordPiSync; |
149 | QString mActiveSyncPort; | 149 | QString mActiveSyncPort; |
150 | QString mActiveSyncIP ; | 150 | QString mActiveSyncIP ; |
151 | QString mFilterInCal; | ||
152 | QString mFilterOutCal; | ||
153 | QString mFilterInAB; | ||
154 | QString mFilterOutAB; | ||
151 | static QDateTime mRequestedSyncEvent; | 155 | static QDateTime mRequestedSyncEvent; |
152 | 156 | ||
153 | signals: | 157 | signals: |
154 | void save(); | 158 | void save(); |
155 | void request_file(); | 159 | void request_file(); |
156 | void getFile( bool ); | 160 | void getFile( bool ); |
157 | 161 | ||
158 | public slots: | 162 | public slots: |
159 | void slotSyncMenu( int ); | 163 | void slotSyncMenu( int ); |
160 | void slotClearMenu( int action ); | 164 | void slotClearMenu( int action ); |
161 | void deleteCommandSocket(KCommandSocket*s, int state); | 165 | void deleteCommandSocket(KCommandSocket*s, int state); |
162 | void readFileFromSocket(); | 166 | void readFileFromSocket(); |
163 | void fillSyncMenu(); | 167 | void fillSyncMenu(); |
164 | 168 | ||
165 | private: | 169 | private: |
166 | void syncPi(); | 170 | void syncPi(); |
167 | KServerSocket * mServerSocket; | 171 | KServerSocket * mServerSocket; |
168 | KPimPrefs* mPrefs; | 172 | KPimPrefs* mPrefs; |
169 | QString mDefFileName; | 173 | QString mDefFileName; |
170 | QString mCurrentSyncDevice; | 174 | QString mCurrentSyncDevice; |
171 | QString mCurrentSyncName; | 175 | QString mCurrentSyncName; |
172 | void quickSyncLocalFile(); | 176 | void quickSyncLocalFile(); |
173 | bool syncWithFile( QString fn , bool quick ); | 177 | bool syncWithFile( QString fn , bool quick ); |
174 | void syncLocalFile(); | 178 | void syncLocalFile(); |
175 | void syncPhone(); | 179 | void syncPhone(); |
176 | void syncSharp(); | 180 | void syncSharp(); |
177 | void syncKDE(); | 181 | void syncKDE(); |
178 | bool syncExternalApplication(QString); | 182 | bool syncExternalApplication(QString); |
179 | int mCurrentSyncProfile ; | 183 | int mCurrentSyncProfile ; |
180 | void syncRemote( KSyncProfile* prof, bool ask = true); | 184 | void syncRemote( KSyncProfile* prof, bool ask = true); |
181 | bool edit_sync_options(); | 185 | bool edit_sync_options(); |
182 | bool edit_pisync_options(); | 186 | bool edit_pisync_options(); |
183 | int ringSync(); | 187 | int ringSync(); |
184 | QString getPassword( ); | 188 | QString getPassword( ); |
185 | bool mPisyncFinished; | 189 | bool mPisyncFinished; |
186 | bool mBlockSaveFlag; | 190 | bool mBlockSaveFlag; |
187 | QWidget* mParent; | 191 | QWidget* mParent; |
188 | KSyncInterface* mImplementation; | 192 | KSyncInterface* mImplementation; |
189 | TargetApp mTargetApp; | 193 | TargetApp mTargetApp; |
190 | QPopupMenu* mSyncMenu; | 194 | QPopupMenu* mSyncMenu; |
191 | QProgressBar* bar; | 195 | QProgressBar* bar; |
192 | bool mSyncWithDesktop; | 196 | bool mSyncWithDesktop; |
193 | 197 | ||
194 | private slots: | 198 | private slots: |
195 | void confSync(); | 199 | void confSync(); |
196 | 200 | ||
197 | 201 | ||
198 | }; | 202 | }; |
199 | 203 | ||
200 | 204 | ||
201 | class KSyncInterface | 205 | class KSyncInterface |
202 | { | 206 | { |
203 | public : | 207 | public : |
204 | virtual void removeSyncInfo( QString syncProfile) = 0; | 208 | virtual void removeSyncInfo( QString syncProfile) = 0; |
205 | virtual bool sync(KSyncManager* manager, QString filename, int mode) = 0; | 209 | virtual bool sync(KSyncManager* manager, QString filename, int mode) = 0; |
206 | virtual bool syncExternal(KSyncManager* manager, QString resource) | 210 | virtual bool syncExternal(KSyncManager* manager, QString resource) |
207 | { | 211 | { |
208 | // empty implementation, because some syncable applications do not | 212 | // empty implementation, because some syncable applications do not |
209 | // have an external(sharpdtm) syncmode, like pwmanager. | 213 | // have an external(sharpdtm) syncmode, like pwmanager. |
210 | return false; | 214 | return false; |
211 | } | 215 | } |
212 | 216 | ||
213 | 217 | ||
214 | }; | 218 | }; |
215 | 219 | ||
216 | 220 | ||
217 | #endif | 221 | #endif |