summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--korganizer/calendarview.cpp6
-rw-r--r--libkcal/syncdefines.h6
-rw-r--r--libkdepim/ksyncmanager.cpp10
-rw-r--r--libkdepim/ksyncmanager.h1
-rw-r--r--libkdepim/ksyncprefsdialog.cpp113
-rw-r--r--libkdepim/ksyncprefsdialog.h6
-rw-r--r--libkdepim/ksyncprofile.cpp4
-rw-r--r--libkdepim/ksyncprofile.h3
8 files changed, 108 insertions, 41 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index 7ddbe23..363dc32 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -1160,6 +1160,6 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
inR = er.first();
QDateTime dt;
- QDateTime cur = QDateTime::currentDateTime().addDays( -7 );
- QDateTime end = cur.addDays( (mSyncManager->mWriteBackInFuture +1 ) *7 );
+ QDateTime cur = QDateTime::currentDateTime().addDays( -(mSyncManager->mWriteBackInPast * 7) );
+ QDateTime end = QDateTime::currentDateTime().addDays( (mSyncManager->mWriteBackInFuture ) *7 );
while ( inR ) {
if ( inR->type() == "Todo" ) {
@@ -1204,5 +1204,5 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
QString delmess;
if ( delFut ) {
- delmess.sprintf( i18n("%d items skipped on remote,\nbecause they are in the past or\nmore than %d weeks in the future.\nAfter skipping, remote has\n%d calendar/todo items."), delFut,mSyncManager->mWriteBackInFuture, remRem-delFut);
+ delmess.sprintf( i18n("%d items skipped on remote,\nbecause they are more\nthan %d weeks in the past or\nmore than %d weeks in the future.\nAfter skipping, remote has\n%d calendar/todo items."), delFut,mSyncManager->mWriteBackInPast,mSyncManager->mWriteBackInFuture, remRem-delFut);
mes += delmess;
}
diff --git a/libkcal/syncdefines.h b/libkcal/syncdefines.h
index 704a670..f3204a2 100644
--- a/libkcal/syncdefines.h
+++ b/libkcal/syncdefines.h
@@ -3,4 +3,10 @@
#define _KSYNC_DEFINES_H_
+ enum TargetApp {
+ KOPI = 0,
+ KAPI = 1,
+ PWMPI = 2 };
+
+
#define SYNC_PREF_LOCAL 0
#define SYNC_PREF_REMOTE 1
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp
index 6f68d84..33b4a65 100644
--- a/libkdepim/ksyncmanager.cpp
+++ b/libkdepim/ksyncmanager.cpp
@@ -65,5 +65,5 @@ KSyncManager::KSyncManager(QWidget* parent, KSyncInterface* implementation, Targ
bar = new QProgressBar ( 1, 0 );
bar->setCaption ("");
-
+ mWriteBackInPast = 2;
int w = 300;
if ( QApplication::desktop()->width() < 320 )
@@ -249,6 +249,8 @@ void KSyncManager::slotSyncMenu( int action )
mIsKapiFile = temp->getIsKapiFile();
mWriteBackInFuture = 0;
- if ( temp->getWriteBackFuture() )
+ if ( temp->getWriteBackFuture() ) {
mWriteBackInFuture = temp->getWriteBackFutureWeeks( );
+ mWriteBackInPast = temp->getWriteBackPastWeeks( );
+ }
if ( action == 1000 ) {
@@ -579,6 +581,8 @@ int KSyncManager::ringSync()
mIsKapiFile = temp->getIsKapiFile();
mWriteBackInFuture = 0;
- if ( temp->getWriteBackFuture() )
+ if ( temp->getWriteBackFuture() ) {
mWriteBackInFuture = temp->getWriteBackFutureWeeks( );
+ mWriteBackInPast = temp->getWriteBackPastWeeks( );
+ }
mShowSyncSummary = false;
mCurrentSyncDevice = syncProfileNames[i] ;
diff --git a/libkdepim/ksyncmanager.h b/libkdepim/ksyncmanager.h
index 6da0ee4..2d0a4ab 100644
--- a/libkdepim/ksyncmanager.h
+++ b/libkdepim/ksyncmanager.h
@@ -142,4 +142,5 @@ class KSyncManager : public QObject
bool mWriteBackFile;
int mWriteBackInFuture;
+ int mWriteBackInPast;
QString mPhoneDevice;
QString mPhoneConnection;
diff --git a/libkdepim/ksyncprefsdialog.cpp b/libkdepim/ksyncprefsdialog.cpp
index 03265d2..8a3f4cf 100644
--- a/libkdepim/ksyncprefsdialog.cpp
+++ b/libkdepim/ksyncprefsdialog.cpp
@@ -44,4 +44,6 @@
#include <qlayout.h>
#include <qscrollview.h>
+#include <qvgroupbox.h>
+#include <qhgroupbox.h>
#include <kcolorbutton.h>
@@ -142,5 +144,7 @@ void KSyncPrefsDialog::setupSyncAlgTab()
++iii;
- QHBox *iims = new QHBox( topFrame );
+
+
+ QHGroupBox *iims = new QHGroupBox( i18n("Multiple Sync options"), topFrame);
new QLabel( i18n("Include in multiple "), iims );
mIncludeInRing = new QCheckBox( i18n("calendar "), iims );
@@ -150,11 +154,16 @@ void KSyncPrefsDialog::setupSyncAlgTab()
topLayout->addMultiCellWidget(iims, iii,iii,0,1);
++iii;
-
- mAskForPreferences = new QCheckBox( i18n("Ask for preferences before sync"), topFrame );
- topLayout->addMultiCellWidget(mAskForPreferences, iii,iii,0,1);
- ++iii;
- QButtonGroup* gr = new QButtonGroup ( 1, Qt::Horizontal, i18n("Sync preferences"), topFrame);
- topLayout->addMultiCellWidget(gr, iii,iii,0,1);
+ 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 );
@@ -166,23 +175,36 @@ void KSyncPrefsDialog::setupSyncAlgTab()
mShowSummaryAfterSync = new QCheckBox( i18n("Show summary after sync"), topFrame );
- topLayout->addMultiCellWidget(mShowSummaryAfterSync, iii,iii,0,1);
- ++iii;
+ //topLayout->addMultiCellWidget(mShowSummaryAfterSync, iii,iii,0,1);
+ //++iii;
mWriteBackFile = new QCheckBox( i18n("Write back synced data"), topFrame );
- topLayout->addMultiCellWidget(mWriteBackFile, iii,iii,0,1);
- ++iii;
-
- mWriteBackExisting= new QCheckBox( i18n("-- Write back (on remote) existing entries only"), topFrame );
- topLayout->addMultiCellWidget(mWriteBackExisting, iii,iii,0,1);
- ++iii;
+ // topLayout->addMultiCellWidget(mWriteBackFile, iii,iii,0,1);
+ // ++iii;
- mWriteBackFuture= new QCheckBox( i18n("-- Write back (calendar) entries in future only"), topFrame );
- topLayout->addMultiCellWidget(mWriteBackFuture, iii,iii,0,1);
- ++iii;
- topLayout->addMultiCellWidget(new QLabel( i18n("---- Max. weeks in future: ") , topFrame ), iii,iii,0,0);
- mWriteBackFutureWeeks= new QSpinBox(1,104, 1, topFrame);
- topLayout->addMultiCellWidget(mWriteBackFutureWeeks, iii,iii,1,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 );
+ //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 ( mWriteBackFile, SIGNAL( toggled ( bool ) ), gb2, SLOT ( setEnabled ( bool ) ) );
+ }
proGr = new QButtonGroup ( 1, Qt::Horizontal, i18n("Profile kind"), topFrame);
gr = proGr;
@@ -197,8 +219,16 @@ void KSyncPrefsDialog::setupSyncAlgTab()
connect (mIsPhone, SIGNAL( toggled(bool)), this, SLOT (kindChanged(bool) ) );
+ QVGroupBox* gb1 = new QVGroupBox( i18n("Profile kind specific settings"), topFrame);
+ topLayout->addMultiCellWidget(gb1, iii,iii,0,1);
+ ++iii;
+ // ******************************************
+ // Profile kind specific settings
+ {
+ // *** phone *******************************
+ QVGroupBox* topFrame = gb1;
phoneWidget = new QVBox( topFrame);
- topLayout->addMultiCellWidget(phoneWidget, iii,iii,0,1);
- ++iii;
+ //topLayout->addMultiCellWidget(phoneWidget, iii,iii,0,1);
+ //++iii;
mWriteContactToSIM = 0;//new QCheckBox( i18n("Sync contacts with phone SIM card (If not, sync with phone memory)"), phoneWidget );
QHBox* temphb = new QHBox( phoneWidget );
@@ -222,8 +252,8 @@ void KSyncPrefsDialog::setupSyncAlgTab()
connect ( button, SIGNAL( clicked()), this, SLOT ( helpModel() ) );
- // *** local
+ // *** local*******************************
localFileWidget = new QVBox( topFrame);
- topLayout->addMultiCellWidget(localFileWidget, iii,iii,0,1);
- ++iii;
+ //topLayout->addMultiCellWidget(localFileWidget, iii,iii,0,1);
+ //++iii;
temphb = new QHBox( localFileWidget );
@@ -246,8 +276,8 @@ void KSyncPrefsDialog::setupSyncAlgTab()
- // *** remote
+ // *** remote*******************************
remoteFileWidget = new QVBox( topFrame);
- topLayout->addMultiCellWidget(remoteFileWidget, iii,iii,0,1);
- ++iii;
+ //topLayout->addMultiCellWidget(remoteFileWidget, iii,iii,0,1);
+ //++iii;
temphb = new QHBox( remoteFileWidget );
new QLabel( i18n("Calendar:"), temphb);
@@ -281,8 +311,8 @@ void KSyncPrefsDialog::setupSyncAlgTab()
lab = new QLabel( i18n("Hint: Use $PWD$ for placeholder of password!"), remoteFileWidget);
- // *** pi-sync
+ // *** pi-sync*******************************
piWidget = new QVBox( topFrame);
- topLayout->addMultiCellWidget(piWidget, iii,iii,0,1);
- ++iii;
+ //topLayout->addMultiCellWidget(piWidget, iii,iii,0,1);
+ //++iii;
temphb = new QHBox( piWidget );
new QLabel( i18n("Calendar:"), temphb);
@@ -307,4 +337,7 @@ void KSyncPrefsDialog::setupSyncAlgTab()
mRemotePortAB = new QLineEdit(temphb);
mRemotePortPWM = new QLineEdit(temphb);
+ }
+ // ******************************************
+ // Profile kind specific settings END
}
@@ -312,4 +345,16 @@ void KSyncPrefsDialog::setupSyncAlgTab()
+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") );
+}
@@ -431,4 +476,5 @@ void KSyncPrefsDialog::profileChanged( int item )
mWriteBackFuture->setChecked( prof->getWriteBackFuture());
mWriteBackFutureWeeks->setValue( prof->getWriteBackFutureWeeks() );
+ mWriteBackPastWeeks->setValue( prof->getWriteBackPastWeeks() );
switch ( prof->getSyncPrefs() ) {
@@ -594,4 +640,5 @@ void KSyncPrefsDialog::saveProfile()
prof->setWriteBackFuture(mWriteBackFuture->isChecked());
prof->setWriteBackFutureWeeks(mWriteBackFutureWeeks->value());
+ prof->setWriteBackPastWeeks(mWriteBackPastWeeks->value());
if ( mWriteContactToSIM )
prof->setWriteContactToSIM(mWriteContactToSIM->isChecked());
diff --git a/libkdepim/ksyncprefsdialog.h b/libkdepim/ksyncprefsdialog.h
index c601a58..997f524 100644
--- a/libkdepim/ksyncprefsdialog.h
+++ b/libkdepim/ksyncprefsdialog.h
@@ -79,11 +79,12 @@ class KSyncPrefsDialog : public KDialog
protected:
void usrWriteConfig();
-
void setupSyncAlgTab();
-
+ void readFilter();
private:
int currentSelection;
QPtrList<KSyncProfile> mSyncProfiles;
QStringList mSyncProfileNames;
+ QStringList mFilterKapi;
+ QStringList mFilterKopi;
QLineEdit * mMyMachineName;
QComboBox * mProfileBox;
@@ -143,4 +144,5 @@ class KSyncPrefsDialog : public KDialog
QCheckBox* mWriteBackFuture;
QSpinBox* mWriteBackFutureWeeks;
+ QSpinBox* mWriteBackPastWeeks;
QCheckBox* mWriteBackExisting;
QCheckBox* mAskForPreferences;
diff --git a/libkdepim/ksyncprofile.cpp b/libkdepim/ksyncprofile.cpp
index 029b70b..9f404cb 100644
--- a/libkdepim/ksyncprofile.cpp
+++ b/libkdepim/ksyncprofile.cpp
@@ -71,4 +71,5 @@ KSyncProfile* KSyncProfile::clone()
myClone->setWriteBackFuture( mWriteBackFuture );
myClone->setWriteBackFutureWeeks( mWriteBackFutureWeeks );
+ myClone->setWriteBackPastWeeks( mWriteBackPastWeeks );
myClone->setIncludeInRingSync( mIncludeInRingSync );
myClone->setIncludeInRingSyncAB( mIncludeInRingSyncAB );
@@ -118,4 +119,5 @@ void KSyncProfile::setDefault()
mWriteBackFuture = false;
mWriteBackFutureWeeks = 12;
+ mWriteBackPastWeeks = 2;
mWriteBackFile = true;
mIncludeInRingSync = false;
@@ -182,4 +184,5 @@ void KSyncProfile::readConfig(KConfig *config )
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 );
@@ -245,4 +248,5 @@ void KSyncProfile::writeConfig( KConfig * config )
config->writeEntry( "SyncPrefs", mSyncPrefs );
config->writeEntry( "WriteBackFutureWeeks", mWriteBackFutureWeeks);
+ config->writeEntry( "WriteBackPastWeeks", mWriteBackPastWeeks);
config->writeEntry( "IsLocalFileSync", mIsLocalFileSync );
config->writeEntry( "IsPhoneSync", mIsPhoneSync );
diff --git a/libkdepim/ksyncprofile.h b/libkdepim/ksyncprofile.h
index 0a59111..e970b50 100644
--- a/libkdepim/ksyncprofile.h
+++ b/libkdepim/ksyncprofile.h
@@ -129,4 +129,6 @@ class KSyncProfile : public QObject {
void setWriteBackFutureWeeks( int n ) { mWriteBackFutureWeeks= n;}
int getWriteBackFutureWeeks( ) { return mWriteBackFutureWeeks;}
+ void setWriteBackPastWeeks( int n ) { mWriteBackPastWeeks= n;}
+ int getWriteBackPastWeeks( ) { return mWriteBackPastWeeks;}
void setIsLocalFileSync( bool b ) { mIsLocalFileSync= b;}
bool getIsLocalFileSync( ) { return mIsLocalFileSync;}
@@ -176,4 +178,5 @@ class KSyncProfile : public QObject {
bool mWriteBackFuture;
int mWriteBackFutureWeeks;
+ int mWriteBackPastWeeks;
bool mAskForPreferences;
bool mShowSummaryAfterSync;