Diffstat (limited to 'libkdepim/ksyncprefsdialog.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libkdepim/ksyncprefsdialog.cpp | 55 |
1 files changed, 47 insertions, 8 deletions
diff --git a/libkdepim/ksyncprefsdialog.cpp b/libkdepim/ksyncprefsdialog.cpp index b097277..6f46d19 100644 --- a/libkdepim/ksyncprefsdialog.cpp +++ b/libkdepim/ksyncprefsdialog.cpp | |||
@@ -212,31 +212,36 @@ void KSyncPrefsDialog::setupSyncAlgTab() | |||
212 | QHGroupBox* gb4 = new QHGroupBox( i18n("Apply filter when adding data to remote:"), topFrame); | 212 | QHGroupBox* gb4 = new QHGroupBox( i18n("Apply filter when adding data to remote:"), topFrame); |
213 | QVBox * fibo = new QVBox ( gb4 ); | 213 | QVBox * fibo = new QVBox ( gb4 ); |
214 | new QLabel ( i18n("Outgoing calendar filter:"), fibo ); | 214 | new QLabel ( i18n("Outgoing calendar filter:"), fibo ); |
215 | mFilterOutCal = new QComboBox( fibo ); | 215 | mFilterOutCal = new QComboBox( fibo ); |
216 | fibo = new QVBox ( gb4 ); | 216 | fibo = new QVBox ( gb4 ); |
217 | new QLabel ( i18n("Outgoing addressbook filter:"), fibo ); | 217 | new QLabel ( i18n("Outgoing addressbook filter:"), fibo ); |
218 | mFilterOutAB = new QComboBox( fibo ); | 218 | mFilterOutAB = new QComboBox( fibo ); |
219 | //topLayout->addMultiCellWidget(mWriteBackExisting, iii,iii,0,1); | 219 | //topLayout->addMultiCellWidget(mWriteBackExisting, iii,iii,0,1); |
220 | //++iii; | 220 | //++iii; |
221 | mWriteBackFuture= new QCheckBox( i18n("Write back (calendar) entries for time period only"), topFrame ); | 221 | mWriteBackFuture= new QCheckBox( i18n("Write back (calendar) entries for time period only"), topFrame ); |
222 | //topLayout->addMultiCellWidget(mWriteBackFuture, iii,iii,0,1); | 222 | //topLayout->addMultiCellWidget(mWriteBackFuture, iii,iii,0,1); |
223 | //++iii; | 223 | //++iii; |
224 | QHGroupBox* gb3 = new QHGroupBox( i18n("Time period"), topFrame); | 224 | QVGroupBox* gb3 = new QVGroupBox( i18n("Time period"), topFrame); |
225 | connect ( mWriteBackFuture, SIGNAL( toggled ( bool ) ), gb3, SLOT ( setEnabled ( bool ) ) ); | 225 | connect ( mWriteBackFuture, SIGNAL( toggled ( bool ) ), gb3, SLOT ( setEnabled ( bool ) ) ); |
226 | new QLabel( i18n("From ") , gb3 ); | 226 | |
227 | mWriteBackPastWeeks= new QSpinBox(1,104, 1, gb3); | 227 | new QLabel( i18n("From ") , gb3 ); |
228 | new QLabel( i18n(" weeks in the past to ") , gb3 ); | 228 | QHBox * tf1 = new QHBox ( gb3 ); |
229 | mWriteBackFutureWeeks= new QSpinBox(1,104, 1, gb3); | 229 | mWriteBackPastWeeks= new QSpinBox(1,104, 1, tf1 ); |
230 | new QLabel( i18n(" weeks in the future ") , gb3 ); | 230 | mWriteBackPastWeeks->setMaximumWidth( 100 ); |
231 | new QLabel( i18n(" weeks in the past to ") ,tf1 ); | ||
232 | QHBox * tf2 = new QHBox ( gb3 ); | ||
233 | mWriteBackFutureWeeks= new QSpinBox(1,104, 1, tf2); | ||
234 | mWriteBackFutureWeeks->setMaximumWidth( 100 ); | ||
235 | new QLabel( i18n(" weeks in the future ") , tf2 ); | ||
231 | //topLayout->addMultiCellWidget(mWriteBackFutureWeeks, iii,iii,1,1); | 236 | //topLayout->addMultiCellWidget(mWriteBackFutureWeeks, iii,iii,1,1); |
232 | //++iii; | 237 | //++iii; |
233 | gb3->setEnabled( false ); | 238 | gb3->setEnabled( false ); |
234 | connect ( mWriteBackExisting, SIGNAL( toggled ( bool ) ), gb4, SLOT ( setDisabled ( bool ) ) ); | 239 | connect ( mWriteBackExisting, SIGNAL( toggled ( bool ) ), gb4, SLOT ( setDisabled ( bool ) ) ); |
235 | } | 240 | } |
236 | connect ( mWriteBackFile, SIGNAL( toggled ( bool ) ), gb2, SLOT ( setEnabled ( bool ) ) ); | 241 | connect ( mWriteBackFile, SIGNAL( toggled ( bool ) ), gb2, SLOT ( setEnabled ( bool ) ) ); |
237 | 242 | ||
238 | } | 243 | } |
239 | proGr = new QButtonGroup ( 1, Qt::Horizontal, i18n("Profile kind"), topFrame); | 244 | proGr = new QButtonGroup ( 1, Qt::Horizontal, i18n("Profile kind"), topFrame); |
240 | gr = proGr; | 245 | gr = proGr; |
241 | topLayout->addMultiCellWidget(gr, iii,iii,0,1); | 246 | topLayout->addMultiCellWidget(gr, iii,iii,0,1); |
242 | ++iii; | 247 | ++iii; |
@@ -369,49 +374,72 @@ void KSyncPrefsDialog::setupSyncAlgTab() | |||
369 | mRemotePortAB = new QLineEdit(temphb); | 374 | mRemotePortAB = new QLineEdit(temphb); |
370 | mRemotePortPWM = new QLineEdit(temphb); | 375 | mRemotePortPWM = new QLineEdit(temphb); |
371 | 376 | ||
372 | lab = new QLabel( i18n("Local/remote Resource sync partners (Leave empty to not sync)"), piWidget); | 377 | lab = new QLabel( i18n("Local/remote Resource sync partners (Leave empty to not sync)"), piWidget); |
373 | mTableBox = new QHBox( piWidget ); | 378 | mTableBox = new QHBox( piWidget ); |
374 | mResTableKopi = new QTable( 1, 1, mTableBox ); | 379 | mResTableKopi = new QTable( 1, 1, mTableBox ); |
375 | mResTableKapi = new QTable( 1, 1, mTableBox ); | 380 | mResTableKapi = new QTable( 1, 1, mTableBox ); |
376 | mResTablePwmpi = new QTable( 1, 1, mTableBox ); | 381 | mResTablePwmpi = new QTable( 1, 1, mTableBox ); |
377 | mResTableKopi->horizontalHeader()->setLabel( 0, i18n("Remote") ); | 382 | mResTableKopi->horizontalHeader()->setLabel( 0, i18n("Remote") ); |
378 | mResTableKapi->horizontalHeader()->setLabel( 0, i18n("Remote") ); | 383 | mResTableKapi->horizontalHeader()->setLabel( 0, i18n("Remote") ); |
379 | mResTablePwmpi->horizontalHeader()->setLabel( 0, i18n("Remote") ); | 384 | mResTablePwmpi->horizontalHeader()->setLabel( 0, i18n("Remote") ); |
380 | mResTableKopi->setLeftMargin( 80 ); | 385 | mResTableKopi->setLeftMargin( 80 ); |
386 | mResTableKapi->setLeftMargin( 80 ); | ||
381 | } | 387 | } |
382 | // ****************************************** | 388 | // ****************************************** |
383 | // Profile kind specific settings END | 389 | // Profile kind specific settings END |
384 | 390 | ||
385 | } | 391 | } |
386 | 392 | ||
387 | void KSyncPrefsDialog::readResources() | 393 | void KSyncPrefsDialog::readResources() |
388 | { | 394 | { |
389 | mResourcesKopi.clear(); | 395 | mResourcesKopi.clear(); |
390 | mResourcesKapi.clear(); | ||
391 | KConfig fc(locateLocal("config","kopicalendarrc")); | 396 | KConfig fc(locateLocal("config","kopicalendarrc")); |
392 | fc.setGroup("CC"); | 397 | fc.setGroup("CC"); |
393 | int numCals = fc.readNumEntry("NumberCalendars",0 ); | 398 | int numCals = fc.readNumEntry("NumberCalendars",0 ); |
394 | int curCal = 1; | 399 | int curCal = 1; |
395 | while ( curCal <= numCals ) { | 400 | while ( curCal <= numCals ) { |
396 | QString prefix = "Cal_" +QString::number( curCal ); | 401 | QString prefix = "Cal_" +QString::number( curCal ); |
397 | QString name = fc.readEntry( prefix+"_Name", "Calendar"); | 402 | QString name = fc.readEntry( prefix+"_Name", "Calendar"); |
398 | mResourcesKopi.append( name ); | 403 | mResourcesKopi.append( name ); |
399 | ++curCal; | 404 | ++curCal; |
400 | } | 405 | } |
401 | mResTableKopi->setNumRows( mResourcesKopi.count() ); | 406 | mResTableKopi->setNumRows( mResourcesKopi.count() ); |
402 | int i; | 407 | int i; |
403 | for ( i = 0;i < mResourcesKopi.count(); ++i ) { | 408 | for ( i = 0;i < mResourcesKopi.count(); ++i ) { |
404 | mResTableKopi->verticalHeader ()->setLabel( i, mResourcesKopi[i] ); | 409 | mResTableKopi->verticalHeader ()->setLabel( i, mResourcesKopi[i] ); |
405 | } | 410 | } |
411 | |||
412 | mResourcesKapi.clear(); | ||
413 | |||
414 | KConfig conf ( locateLocal("config", "kabcrc") ); | ||
415 | |||
416 | conf.setGroup( "General" ); | ||
417 | |||
418 | QStringList keys = conf.readListEntry( "ResourceKeys" ); | ||
419 | //keys += conf->readListEntry( "PassiveResourceKeys" ); | ||
420 | |||
421 | //QString standardKey = mConfig->readEntry( "Standard" ); | ||
422 | |||
423 | for ( QStringList::Iterator it = keys.begin(); it != keys.end(); ++it ) { | ||
424 | conf.setGroup("Resource_"+ (*it) ); | ||
425 | QString name = conf.readEntry( "ResourceName" ); | ||
426 | mResourcesKapi.append( name ); | ||
427 | } | ||
428 | mResTableKapi->setNumRows( mResourcesKapi.count() ); | ||
429 | for ( i = 0;i < mResourcesKopi.count(); ++i ) { | ||
430 | mResTableKapi->verticalHeader ()->setLabel( i, mResourcesKapi[i] ); | ||
431 | } | ||
432 | |||
433 | |||
406 | } | 434 | } |
407 | void KSyncPrefsDialog::readFilter() | 435 | void KSyncPrefsDialog::readFilter() |
408 | { | 436 | { |
409 | mFilterKapi.clear(); | 437 | mFilterKapi.clear(); |
410 | mFilterKopi.clear(); | 438 | mFilterKopi.clear(); |
411 | KConfig cfgko(locateLocal("config","korganizerrc")); | 439 | KConfig cfgko(locateLocal("config","korganizerrc")); |
412 | KConfig cfgka(locateLocal("config","kaddressbookrc")); | 440 | KConfig cfgka(locateLocal("config","kaddressbookrc")); |
413 | cfgko.setGroup("General"); | 441 | cfgko.setGroup("General"); |
414 | mFilterKopi = cfgko.readListEntry("CalendarFilters"); | 442 | mFilterKopi = cfgko.readListEntry("CalendarFilters"); |
415 | cfgka.setGroup("Filter"); | 443 | cfgka.setGroup("Filter"); |
416 | int count = cfgka.readNumEntry( "Count", 0 ); | 444 | int count = cfgka.readNumEntry( "Count", 0 ); |
417 | for ( int i = 0; i < count; i++ ) { | 445 | for ( int i = 0; i < count; i++ ) { |
@@ -472,41 +500,45 @@ void KSyncPrefsDialog::chooseFileAB() | |||
472 | mRemoteFileAB->setText( fn ); | 500 | mRemoteFileAB->setText( fn ); |
473 | } | 501 | } |
474 | 502 | ||
475 | void KSyncPrefsDialog::chooseFilePWM() | 503 | void KSyncPrefsDialog::chooseFilePWM() |
476 | { | 504 | { |
477 | QString fn = QDir::homeDirPath(); | 505 | QString fn = QDir::homeDirPath(); |
478 | 506 | ||
479 | fn =KFileDialog:: getOpenFileName( fn, i18n("Sync filename(*.pwm)"), this ); | 507 | fn =KFileDialog:: getOpenFileName( fn, i18n("Sync filename(*.pwm)"), this ); |
480 | if ( fn == "" ) | 508 | if ( fn == "" ) |
481 | return; | 509 | return; |
482 | mRemoteFilePWM->setText( fn ); | 510 | mRemoteFilePWM->setText( fn ); |
483 | } | 511 | } |
484 | 512 | void KSyncPrefsDialog::updateMyCaption() | |
513 | { | ||
514 | setCaption( mProfileBox->currentText() + " : " +i18n("Synchronization Preferences")); | ||
515 | } | ||
485 | void KSyncPrefsDialog::textChanged( const QString & s ) | 516 | void KSyncPrefsDialog::textChanged( const QString & s ) |
486 | { | 517 | { |
487 | if ( mProfileBox->count() == 0 ) | 518 | if ( mProfileBox->count() == 0 ) |
488 | return; | 519 | return; |
489 | if ( currentSelection < 3 ) { | 520 | if ( currentSelection < 3 ) { |
490 | //KMessageBox::error(this,i18n("This profil name\ncannot be edited!\n"),i18n("KO/Pi config error")); | 521 | //KMessageBox::error(this,i18n("This profil name\ncannot be edited!\n"),i18n("KO/Pi config error")); |
491 | mProfileBox->blockSignals( true ); | 522 | mProfileBox->blockSignals( true ); |
492 | mProfileBox->setCurrentItem(mProfileBox-> currentItem ()); | 523 | mProfileBox->setCurrentItem(mProfileBox-> currentItem ()); |
493 | mProfileBox->blockSignals( false ); | 524 | mProfileBox->blockSignals( false ); |
494 | return; | 525 | return; |
495 | } | 526 | } |
496 | //qDebug("cur i %d ",mProfileBox-> currentItem () ); | 527 | //qDebug("cur i %d ",mProfileBox-> currentItem () ); |
497 | mProfileBox->changeItem ( s, mProfileBox-> currentItem () ) ; | 528 | mProfileBox->changeItem ( s, mProfileBox-> currentItem () ) ; |
498 | KSyncProfile* prof = mSyncProfiles.at(mProfileBox-> currentItem ()) ; | 529 | KSyncProfile* prof = mSyncProfiles.at(mProfileBox-> currentItem ()) ; |
499 | prof->setName( s ); | 530 | prof->setName( s ); |
500 | mSyncProfileNames[mProfileBox-> currentItem ()] = s; | 531 | mSyncProfileNames[mProfileBox-> currentItem ()] = s; |
532 | updateMyCaption(); | ||
501 | } | 533 | } |
502 | void KSyncPrefsDialog::profileChanged( int item ) | 534 | void KSyncPrefsDialog::profileChanged( int item ) |
503 | { | 535 | { |
504 | //qDebug("KSyncPrefsDialog::profileChanged before %d, count %d ", item, mProfileBox->count() ); | 536 | //qDebug("KSyncPrefsDialog::profileChanged before %d, count %d ", item, mProfileBox->count() ); |
505 | KSyncProfile* prof; | 537 | KSyncProfile* prof; |
506 | saveProfile(); | 538 | saveProfile(); |
507 | readFilter(); | 539 | readFilter(); |
508 | readResources(); | 540 | readResources(); |
509 | currentSelection = item; | 541 | currentSelection = item; |
510 | prof = mSyncProfiles.at(item) ; | 542 | prof = mSyncProfiles.at(item) ; |
511 | 543 | ||
512 | mRemotePw->setText(prof->getRemotePw()); | 544 | mRemotePw->setText(prof->getRemotePw()); |
@@ -603,24 +635,25 @@ void KSyncPrefsDialog::profileChanged( int item ) | |||
603 | mResTableKapi->setText( i, 0, res[i+add] ); | 635 | mResTableKapi->setText( i, 0, res[i+add] ); |
604 | } | 636 | } |
605 | mIsNotLocal->setChecked(!prof->getIsLocalFileSync() && !prof->getIsPhoneSync() &&!prof->getIsPiSync() &&!prof->getIsPiSyncSpec()); | 637 | mIsNotLocal->setChecked(!prof->getIsLocalFileSync() && !prof->getIsPhoneSync() &&!prof->getIsPiSync() &&!prof->getIsPiSyncSpec()); |
606 | proGr->setEnabled( item > 2 ); | 638 | proGr->setEnabled( item > 2 ); |
607 | if ( item < 3 ) { | 639 | if ( item < 3 ) { |
608 | localFileWidget->hide(); | 640 | localFileWidget->hide(); |
609 | remoteFileWidget->hide(); | 641 | remoteFileWidget->hide(); |
610 | phoneWidget->hide(); | 642 | phoneWidget->hide(); |
611 | piWidget->hide(); | 643 | piWidget->hide(); |
612 | 644 | ||
613 | } else | 645 | } else |
614 | kindChanged( prof->getIsLocalFileSync() ); | 646 | kindChanged( prof->getIsLocalFileSync() ); |
647 | updateMyCaption(); | ||
615 | } | 648 | } |
616 | 649 | ||
617 | void KSyncPrefsDialog::fillSSH() | 650 | void KSyncPrefsDialog::fillSSH() |
618 | { | 651 | { |
619 | mRemotePrecommand->setText("scp zaurus@192.168.0.65:/home/zaurus/kdepim/apps/korganizer/mycalendar.ics /tmp/mycalendar.ics" ); | 652 | mRemotePrecommand->setText("scp zaurus@192.168.0.65:/home/zaurus/kdepim/apps/korganizer/mycalendar.ics /tmp/mycalendar.ics" ); |
620 | mLocalTempFile->setText("/tmp/mycalendar.ics" ); | 653 | mLocalTempFile->setText("/tmp/mycalendar.ics" ); |
621 | mRemotePostcommand->setText("scp /tmp/mycalendar.ics zaurus@192.168.0.65:/home/zaurus/kdepim/apps/korganizer/mycalendar.ics" ); | 654 | mRemotePostcommand->setText("scp /tmp/mycalendar.ics zaurus@192.168.0.65:/home/zaurus/kdepim/apps/korganizer/mycalendar.ics" ); |
622 | mRemotePrecommandAB->setText("scp zaurus@192.168.0.65:/home/zaurus/kdepim/apps/kabc/std.vcf /tmp/std.vcf" ); | 655 | mRemotePrecommandAB->setText("scp zaurus@192.168.0.65:/home/zaurus/kdepim/apps/kabc/std.vcf /tmp/std.vcf" ); |
623 | mLocalTempFileAB->setText("/tmp/std.vcf" ); | 656 | mLocalTempFileAB->setText("/tmp/std.vcf" ); |
624 | mRemotePostcommandAB->setText("scp /tmp/std.vcf zaurus@192.168.0.65:/home/zaurus/kdepim/apps/kabc/std.vcf" ); | 657 | mRemotePostcommandAB->setText("scp /tmp/std.vcf zaurus@192.168.0.65:/home/zaurus/kdepim/apps/kabc/std.vcf" ); |
625 | mRemotePrecommandPWM->setText("scp zaurus@192.168.0.65:/home/zaurus/kdepim/apps/pwmanager/passwords.pwm /tmp/passwords.pwm" ); | 658 | mRemotePrecommandPWM->setText("scp zaurus@192.168.0.65:/home/zaurus/kdepim/apps/pwmanager/passwords.pwm /tmp/passwords.pwm" ); |
626 | mLocalTempFilePWM->setText("/tmp/passwords.pwm" ); | 659 | mLocalTempFilePWM->setText("/tmp/passwords.pwm" ); |
@@ -743,32 +776,38 @@ void KSyncPrefsDialog::saveProfile() | |||
743 | prof->setWriteBackFuture(mWriteBackFuture->isChecked()); | 776 | prof->setWriteBackFuture(mWriteBackFuture->isChecked()); |
744 | prof->setWriteBackFutureWeeks(mWriteBackFutureWeeks->value()); | 777 | prof->setWriteBackFutureWeeks(mWriteBackFutureWeeks->value()); |
745 | prof->setWriteBackPastWeeks(mWriteBackPastWeeks->value()); | 778 | prof->setWriteBackPastWeeks(mWriteBackPastWeeks->value()); |
746 | if ( mWriteContactToSIM ) | 779 | if ( mWriteContactToSIM ) |
747 | prof->setWriteContactToSIM(mWriteContactToSIM->isChecked()); | 780 | prof->setWriteContactToSIM(mWriteContactToSIM->isChecked()); |
748 | prof->setPhoneDevice( mPhoneDevice->text() ); | 781 | prof->setPhoneDevice( mPhoneDevice->text() ); |
749 | prof->setPhoneConnection( mPhoneConnection->text() ); | 782 | prof->setPhoneConnection( mPhoneConnection->text() ); |
750 | prof->setPhoneModel( mPhoneModel->text() ); | 783 | prof->setPhoneModel( mPhoneModel->text() ); |
751 | prof->setFilterInCal ( mFilterInCal->currentText ()); | 784 | prof->setFilterInCal ( mFilterInCal->currentText ()); |
752 | prof->setFilterOutCal ( mFilterOutCal ->currentText ()); | 785 | prof->setFilterOutCal ( mFilterOutCal ->currentText ()); |
753 | prof->setFilterInAB ( mFilterInAB ->currentText ()); | 786 | prof->setFilterInAB ( mFilterInAB ->currentText ()); |
754 | prof->setFilterOutAB ( mFilterOutAB ->currentText ()); | 787 | prof->setFilterOutAB ( mFilterOutAB ->currentText ()); |
788 | mProfileBox->setFocus(); | ||
755 | if ( mIsPiSpecific->isChecked() ) { | 789 | if ( mIsPiSpecific->isChecked() ) { |
756 | 790 | ||
757 | QStringList res = mResourcesKopi; | 791 | QStringList res = mResourcesKopi; |
758 | int i; | 792 | int i; |
759 | for ( i = 0;i < mResourcesKopi.count(); ++i ) { | 793 | for ( i = 0;i < mResourcesKopi.count(); ++i ) { |
760 | res.append( mResTableKopi->text( i, 0 )); | 794 | res.append( mResTableKopi->text( i, 0 )); |
761 | } | 795 | } |
762 | prof->setResSpecKopi( res.join(":")); | 796 | prof->setResSpecKopi( res.join(":")); |
797 | res = mResourcesKapi; | ||
798 | for ( i = 0;i < mResourcesKapi.count(); ++i ) { | ||
799 | res.append( mResTableKapi->text( i, 0 )); | ||
800 | } | ||
801 | prof->setResSpecKapi( res.join(":")); | ||
763 | } | 802 | } |
764 | } | 803 | } |
765 | } | 804 | } |
766 | 805 | ||
767 | void KSyncPrefsDialog::insertProfiles() | 806 | void KSyncPrefsDialog::insertProfiles() |
768 | { | 807 | { |
769 | int curItem = mProfileBox->currentItem(); | 808 | int curItem = mProfileBox->currentItem(); |
770 | mProfileBox->blockSignals( true ); | 809 | mProfileBox->blockSignals( true ); |
771 | mProfileBox->clear(); | 810 | mProfileBox->clear(); |
772 | mProfileBox->insertStringList (mSyncProfileNames ); | 811 | mProfileBox->insertStringList (mSyncProfileNames ); |
773 | int item = mSyncProfileNames.count() -1; | 812 | int item = mSyncProfileNames.count() -1; |
774 | if ( curItem >= 0 && mSyncProfileNames.count() > 0 && curItem < mSyncProfileNames.count() ) | 813 | if ( curItem >= 0 && mSyncProfileNames.count() > 0 && curItem < mSyncProfileNames.count() ) |