summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libkdepim/ksyncprefsdialog.cpp45
-rw-r--r--libkdepim/ksyncprefsdialog.h5
-rw-r--r--libkdepim/ksyncprofile.cpp19
-rw-r--r--libkdepim/ksyncprofile.h14
4 files changed, 80 insertions, 3 deletions
diff --git a/libkdepim/ksyncprefsdialog.cpp b/libkdepim/ksyncprefsdialog.cpp
index 8a3f4cf..6e42fd4 100644
--- a/libkdepim/ksyncprefsdialog.cpp
+++ b/libkdepim/ksyncprefsdialog.cpp
@@ -154,16 +154,19 @@ void KSyncPrefsDialog::setupSyncAlgTab()
topLayout->addMultiCellWidget(iims, iii,iii,0,1);
++iii;
QVGroupBox* gb0 = new QVGroupBox( i18n("Sync algo options"), topFrame);
topLayout->addMultiCellWidget(gb0, iii,iii,0,1);
++iii;
QButtonGroup* gr;
{
QVGroupBox* topFrame = gb0;
+
+
+
mAskForPreferences = new QCheckBox( i18n("Ask for preferences before sync"), topFrame );
//topLayout->addMultiCellWidget(mAskForPreferences, iii,iii,0,1);
//++iii;
gr = new QButtonGroup ( 1, Qt::Horizontal, i18n("Sync preferences"), topFrame);
//topLayout->addMultiCellWidget(gr, iii,iii,0,1);
//++iii;
loc = new QRadioButton ( i18n("Take local entry on conflict"), gr );
rem = new QRadioButton ( i18n("Take remote entry on conflict"), gr );
@@ -172,41 +175,57 @@ void KSyncPrefsDialog::setupSyncAlgTab()
f_loc= new QRadioButton ( i18n("Force: Take local entry always"), gr );
f_rem = new QRadioButton ( i18n("Force: Take remote entry always"), gr );
// both = new QRadioButton ( i18n("Take both on conflict"), gr );
mShowSummaryAfterSync = new QCheckBox( i18n("Show summary after sync"), topFrame );
//topLayout->addMultiCellWidget(mShowSummaryAfterSync, iii,iii,0,1);
//++iii;
+ QHGroupBox* gb5 = new QHGroupBox( i18n("Apply filter when adding data to local:"), topFrame);
+ QVBox * fibo2 = new QVBox ( gb5 );
+ new QLabel ( i18n("Incoming calendar filter:"), fibo2 );
+ mFilterInCal = new QComboBox( fibo2 );
+ fibo2 = new QVBox ( gb5 );
+ new QLabel ( i18n("Incoming adressbook filter:"), fibo2 );
+ mFilterInAB = new QComboBox( fibo2 );
+
mWriteBackFile = new QCheckBox( i18n("Write back synced data"), topFrame );
// topLayout->addMultiCellWidget(mWriteBackFile, iii,iii,0,1);
// ++iii;
QVGroupBox* gb2 = new QVGroupBox( i18n("Write back options"), topFrame);
//topLayout->addMultiCellWidget(gb2, iii,iii,0,1);
//++iii;
{
QVGroupBox*topFrame = gb2;
mWriteBackExisting= new QCheckBox( i18n("Write back (on remote) existing entries only"), topFrame );
+ QHGroupBox* gb4 = new QHGroupBox( i18n("Apply filter when adding data to remote:"), topFrame);
+ QVBox * fibo = new QVBox ( gb4 );
+ new QLabel ( i18n("Outgoing calendar filter:"), fibo );
+ mFilterOutCal = new QComboBox( fibo );
+ fibo = new QVBox ( gb4 );
+ new QLabel ( i18n("Outgoing addressbook filter:"), fibo );
+ mFilterOutAB = new QComboBox( fibo );
//topLayout->addMultiCellWidget(mWriteBackExisting, iii,iii,0,1);
//++iii;
mWriteBackFuture= new QCheckBox( i18n("Write back (calendar) entries for time period only"), topFrame );
//topLayout->addMultiCellWidget(mWriteBackFuture, iii,iii,0,1);
//++iii;
QHGroupBox* gb3 = new QHGroupBox( i18n("Time period"), topFrame);
connect ( mWriteBackFuture, SIGNAL( toggled ( bool ) ), gb3, SLOT ( setEnabled ( bool ) ) );
new QLabel( i18n("From ") , gb3 );
mWriteBackPastWeeks= new QSpinBox(1,104, 1, gb3);
new QLabel( i18n(" weeks in the past to ") , gb3 );
mWriteBackFutureWeeks= new QSpinBox(1,104, 1, gb3);
new QLabel( i18n(" weeks in the future ") , gb3 );
//topLayout->addMultiCellWidget(mWriteBackFutureWeeks, iii,iii,1,1);
//++iii;
gb3->setEnabled( false );
+ connect ( mWriteBackExisting, SIGNAL( toggled ( bool ) ), gb4, SLOT ( setDisabled ( bool ) ) );
}
connect ( mWriteBackFile, SIGNAL( toggled ( bool ) ), gb2, SLOT ( setEnabled ( bool ) ) );
}
proGr = new QButtonGroup ( 1, Qt::Horizontal, i18n("Profile kind"), topFrame);
gr = proGr;
topLayout->addMultiCellWidget(gr, iii,iii,0,1);
++iii;
@@ -349,17 +368,29 @@ void KSyncPrefsDialog::readFilter()
mFilterKapi.clear();
mFilterKopi.clear();
mFilterKopi.append(i18n("No Filter") );
mFilterKapi.append(i18n("No Filter") );
KConfig cfgko(locateLocal("config","korganizerrc"));
KConfig cfgka(locateLocal("config","kaddressbookrc"));
cfgko.setGroup("General");
mFilterKopi = cfgko.readListEntry("CalendarFilters");
- mFilterKopi.prepend(i18n("No Filter") );
+ mFilterKapi = mFilterKopi;
+ mFilterOutCal->clear();
+ mFilterInCal->clear();
+ mFilterOutAB->clear();
+ mFilterInAB->clear();
+ QStringList temp = mFilterKopi;
+ temp.prepend(i18n("No Filter") );
+ mFilterOutCal->insertStringList( temp );
+ mFilterInCal->insertStringList( temp );
+ temp = mFilterKapi;
+ temp.prepend(i18n("No Filter") );
+ mFilterOutAB->insertStringList( temp );
+ mFilterInAB->insertStringList( temp );
}
void KSyncPrefsDialog::slotOK()
{
if ( mMyMachineName->text() == "undefined" ) {
KMessageBox::error(this,i18n("Local device name undefined!\nPlease define device name!"),i18n("KO/Pi config error"));
return;
@@ -425,16 +456,17 @@ void KSyncPrefsDialog::textChanged( const QString & s )
prof->setName( s );
mSyncProfileNames[mProfileBox-> currentItem ()] = s;
}
void KSyncPrefsDialog::profileChanged( int item )
{
//qDebug("KSyncPrefsDialog::profileChanged before %d, count %d ", item, mProfileBox->count() );
KSyncProfile* prof;
saveProfile();
+ readFilter();
currentSelection = item;
prof = mSyncProfiles.at(item) ;
mRemotePw->setText(prof->getRemotePw());
mRemoteIP->setText(prof->getRemoteIP());
mRemotePort->setText(prof->getRemotePort());
mRemotePwAB->setText(prof->getRemotePwAB());
@@ -471,16 +503,21 @@ void KSyncPrefsDialog::profileChanged( int item )
mWriteBackExisting->setChecked( prof->getWriteBackExisting() );
mWriteBackFile->setChecked( prof->getWriteBackFile());
mIncludeInRing->setChecked( prof->getIncludeInRingSync() );
mIncludeInRingAB->setChecked( prof->getIncludeInRingSyncAB() );
mIncludeInRingPWM->setChecked( prof->getIncludeInRingSyncPWM() );
mWriteBackFuture->setChecked( prof->getWriteBackFuture());
mWriteBackFutureWeeks->setValue( prof->getWriteBackFutureWeeks() );
mWriteBackPastWeeks->setValue( prof->getWriteBackPastWeeks() );
+
+ mFilterInCal->setCurrentItem( mFilterKopi.findIndex(prof->getFilterInCal () ) + 1 );
+ mFilterOutCal->setCurrentItem( mFilterKopi.findIndex(prof->getFilterOutCal () ) + 1 );
+ mFilterInAB->setCurrentItem( mFilterKapi.findIndex(prof->getFilterInAB () ) + 1 );
+ mFilterOutAB->setCurrentItem( mFilterKapi.findIndex(prof->getFilterOutAB () ) + 1 );
switch ( prof->getSyncPrefs() ) {
case 0:
loc->setChecked( true);
break;
case 1:
rem->setChecked( true );
break;
@@ -640,19 +677,21 @@ void KSyncPrefsDialog::saveProfile()
prof->setWriteBackFuture(mWriteBackFuture->isChecked());
prof->setWriteBackFutureWeeks(mWriteBackFutureWeeks->value());
prof->setWriteBackPastWeeks(mWriteBackPastWeeks->value());
if ( mWriteContactToSIM )
prof->setWriteContactToSIM(mWriteContactToSIM->isChecked());
prof->setPhoneDevice( mPhoneDevice->text() );
prof->setPhoneConnection( mPhoneConnection->text() );
prof->setPhoneModel( mPhoneModel->text() );
-
+ prof->setFilterInCal ( mFilterInCal->currentText ());
+ prof->setFilterOutCal ( mFilterOutCal ->currentText ());
+ prof->setFilterInAB ( mFilterInAB ->currentText ());
+ prof->setFilterOutAB ( mFilterOutAB ->currentText ());
}
-
}
void KSyncPrefsDialog::insertProfiles()
{
int curItem = mProfileBox->currentItem();
mProfileBox->blockSignals( true );
mProfileBox->clear();
mProfileBox->insertStringList (mSyncProfileNames );
diff --git a/libkdepim/ksyncprefsdialog.h b/libkdepim/ksyncprefsdialog.h
index 997f524..24543e1 100644
--- a/libkdepim/ksyncprefsdialog.h
+++ b/libkdepim/ksyncprefsdialog.h
@@ -95,16 +95,21 @@ class KSyncPrefsDialog : public KDialog
QCheckBox* mIncludeInRing;
QCheckBox* mIncludeInRingAB;
QCheckBox* mIncludeInRingPWM;
void addProfile ( KSyncProfile* );
void insertProfiles();
void saveProfile();
QButtonGroup* proGr;
+ QComboBox * mFilterOutCal;
+ QComboBox * mFilterInCal;
+ QComboBox * mFilterOutAB;
+ QComboBox * mFilterInAB;
+
QRadioButton* loc, *rem, *newest, *ask, *f_loc,* f_rem, *both;
QLineEdit * mRemotePostcommand;
QLineEdit * mRemotePrecommand;
QLineEdit * mRemoteFile;
QLineEdit * mLocalTempFile;
diff --git a/libkdepim/ksyncprofile.cpp b/libkdepim/ksyncprofile.cpp
index 9f404cb..0d72fc9 100644
--- a/libkdepim/ksyncprofile.cpp
+++ b/libkdepim/ksyncprofile.cpp
@@ -76,16 +76,20 @@ KSyncProfile* KSyncProfile::clone()
myClone->setIncludeInRingSyncPWM( mIncludeInRingSyncPWM );
myClone->setSyncPrefs( mSyncPrefs);
myClone->setIsLocalFileSync( mIsLocalFileSync );
myClone->setIsPhoneSync( mIsPhoneSync );
myClone->setIsKapiFile( mIsKapiFile );
myClone->setIsPiSync( mIsPiSync );
myClone->setWriteContactToSIM( mWriteContactToSIM );
myClone->setName( "noName" );
+ myClone->setFilterInCal ( mFilterInCal );
+ myClone->setFilterOutCal ( mFilterOutCal );
+ myClone->setFilterInAB ( mFilterInAB );
+ myClone->setFilterOutAB ( mFilterOutAB );
//myClone->setIdentifier( "noID" );
return myClone;
}
void KSyncProfile::setDefault()
{
mPreSyncCommand = i18n("command for downloading remote file to local device");
@@ -128,16 +132,20 @@ void KSyncProfile::setDefault()
mName = "noName";
mIsPhoneSync = false;
mIsPiSync = false;
mIsKapiFile = false;
mWriteContactToSIM = false;
mPhoneDevice = "/dev/ircomm";
mPhoneConnection = "irda";
mPhoneModel = "6310i";
+ mFilterInCal = "no filter";
+ mFilterOutCal = "no filter";
+ mFilterInAB = "no filter";
+ mFilterOutAB = "no filter";
}
void KSyncProfile::readConfig(KConfig *config )
{
if (config)
{
config->setGroup( mName );
@@ -183,16 +191,22 @@ void KSyncProfile::readConfig(KConfig *config )
mWriteContactToSIM = config->readBoolEntry( "WriteContactToSIM",mWriteContactToSIM );
mSyncPrefs = config->readNumEntry( "SyncPrefs", mSyncPrefs );
mWriteBackFutureWeeks = config->readNumEntry( "WriteBackFutureWeeks", mWriteBackFutureWeeks );
mWriteBackPastWeeks = config->readNumEntry( "WriteBackPastWeeks", mWriteBackPastWeeks );
mIsLocalFileSync= config->readBoolEntry( "IsLocalFileSync", mIsLocalFileSync );
mIsPhoneSync= config->readBoolEntry( "IsPhoneSync", mIsPhoneSync );
mIsPiSync= config->readBoolEntry( "IsPiSync", mIsPiSync );
mIsKapiFile = config->readBoolEntry( "IsKapiFile", mIsKapiFile );
+
+ mFilterInCal = config->readEntry( "FilterInCal", mFilterInCal );
+ mFilterOutCal = config->readEntry( "FilterOutCal", mFilterOutCal );
+ mFilterInAB = config->readEntry( "FilterInAB", mFilterInAB );
+ mFilterOutAB = config->readEntry( "FilterOutAB", mFilterOutAB );
+
}
else
{
setDefault();
}
}
void KSyncProfile::deleteConfig(KConfig *config )
@@ -247,10 +261,15 @@ void KSyncProfile::writeConfig( KConfig * config )
config->writeEntry( "WriteContactToSIM",mWriteContactToSIM );
config->writeEntry( "SyncPrefs", mSyncPrefs );
config->writeEntry( "WriteBackFutureWeeks", mWriteBackFutureWeeks);
config->writeEntry( "WriteBackPastWeeks", mWriteBackPastWeeks);
config->writeEntry( "IsLocalFileSync", mIsLocalFileSync );
config->writeEntry( "IsPhoneSync", mIsPhoneSync );
config->writeEntry( "IsPiSync", mIsPiSync );
config->writeEntry( "IsKapiFile", mIsKapiFile );
+ config->writeEntry( "FilterInCal", mFilterInCal );
+ config->writeEntry( "FilterOutCal", mFilterOutCal );
+ config->writeEntry( "FilterInAB", mFilterInAB );
+ config->writeEntry( "FilterOutAB", mFilterOutAB );
+
}
diff --git a/libkdepim/ksyncprofile.h b/libkdepim/ksyncprofile.h
index e970b50..aad63d3 100644
--- a/libkdepim/ksyncprofile.h
+++ b/libkdepim/ksyncprofile.h
@@ -99,16 +99,25 @@ class KSyncProfile : public QObject {
QString getPhoneConnection( ) { return mPhoneConnection;}
void setPhoneModel( const QString& n ) { mPhoneModel = n;}
QString getPhoneModel( ) { return mPhoneModel;}
/*
void set( const QString& n ) { = n;}
QString get( ) { return ;}
*/
+ void setFilterInCal (const QString& n ){ mFilterInCal = n;}
+ void setFilterOutCal (const QString& n ){ mFilterOutCal = n;}
+ void setFilterInAB (const QString& n ){ mFilterInAB = n;}
+ void setFilterOutAB (const QString& n ){ mFilterOutAB = n;}
+ QString getFilterInCal () { return mFilterInCal ;}
+ QString getFilterOutCal () { return mFilterOutCal ;}
+ QString getFilterInAB () { return mFilterInAB ;}
+ QString getFilterOutAB () { return mFilterOutAB ;}
+
void setName( const QString& n ) {mName = n;}
QString getName( ) { return mName;}
void setShowSummaryAfterSync( bool b ) { mShowSummaryAfterSync = b;}
bool getShowSummaryAfterSync( ) { return mShowSummaryAfterSync ;}
void setAskForPreferences( bool b ) { mAskForPreferences= b;}
bool getAskForPreferences( ) { return mAskForPreferences;}
void setWriteBackExisting( bool b ) { mWriteBackExisting = b;}
bool getWriteBackExisting( ) { return mWriteBackExisting;}
@@ -164,16 +173,21 @@ class KSyncProfile : public QObject {
QString mRemotePwPWM;
QString mRemoteIPPWM;
QString mRemotePortPWM;
QString mPhoneDevice;
QString mPhoneConnection;
QString mPhoneModel;
+ QString mFilterInCal;
+ QString mFilterOutCal;
+ QString mFilterInAB;
+ QString mFilterOutAB;
+
bool mIncludeInRingSync;
bool mIncludeInRingSyncAB;
bool mIncludeInRingSyncPWM;
int mSyncPrefs;
bool mWriteBackFile;
bool mWriteBackExisting;
bool mWriteBackFuture;
int mWriteBackFutureWeeks;