summaryrefslogtreecommitdiffabout
path: root/kaddressbook
Side-by-side diff
Diffstat (limited to 'kaddressbook') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/kabcore.cpp95
-rw-r--r--kaddressbook/kabcore.h5
2 files changed, 86 insertions, 14 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index 49c3b19..e912941 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -147,8 +147,9 @@ $Id$
#include <unistd.h>
#endif
// sync includes
#include <libkdepim/ksyncprofile.h>
+#include <libkdepim/ksyncprefsdialog.h>
bool pasteWithNewUid = true;
@@ -178,8 +179,10 @@ KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const
connect( mAddressBook, SIGNAL( addressBookChanged( AddressBook * ) ),
SLOT( addressBookChanged() ) );
+#if 0
+ // LP moved to addressbook init method
mAddressBook->addCustomField( i18n( "Department" ), KABC::Field::Organization,
"X-Department", "KADDRESSBOOK" );
mAddressBook->addCustomField( i18n( "Profession" ), KABC::Field::Organization,
"X-Profession", "KADDRESSBOOK" );
@@ -203,9 +206,9 @@ KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const
mAddressBook->addCustomField( i18n( "Children" ), KABC::Field::Personal,
"X-Children", "KADDRESSBOOK" );
mAddressBook->addCustomField( i18n( "FreeBusyUrl" ), KABC::Field::Personal,
"X-FreeBusyUrl", "KADDRESSBOOK" );
-
+#endif
initGUI();
mIncSearchWidget->setFocus();
@@ -2194,10 +2197,10 @@ void KABCore::slotSyncMenu( int action )
quickSyncLocalFile();
} else if ( action >= 1003 ) {
if ( temp->getIsLocalFileSync() ) {
- if ( syncWithFile( temp->getRemoteFileName( ), false ) )
- KABPrefs::instance()->mLastSyncedLocalFile = temp->getRemoteFileName();
+ if ( syncWithFile( temp->getRemoteFileNameAB( ), false ) )
+ KABPrefs::instance()->mLastSyncedLocalFile = temp->getRemoteFileNameAB();
} else {
if ( temp->getIsPhoneSync() ) {
KABPrefs::instance()->mPhoneDevice = temp->getPhoneDevice( ) ;
KABPrefs::instance()->mPhoneConnection = temp->getPhoneConnection( );
@@ -2316,9 +2319,9 @@ int KABCore::ringSync()
for ( i = 0; i < syncProfileNames.count(); ++i ) {
mCurrentSyncProfile = i;
temp->setName(syncProfileNames[mCurrentSyncProfile]);
temp->readConfig(&config);
- if ( temp->getIncludeInRingSync() && ( i < 1 || i > 2 )) {
+ if ( temp->getIncludeInRingSyncAB() && ( i < 1 || i > 2 )) {
setCaption(i18n("Profile ")+syncProfileNames[mCurrentSyncProfile]+ i18n(" is synced ... "));
++syncedProfiles;
// KABPrefs::instance()->mAskForPreferences = temp->getAskForPreferences();
KABPrefs::instance()->mWriteBackFile = temp->getWriteBackFile();
@@ -2332,10 +2335,10 @@ int KABCore::ringSync()
if ( i == 0 ) {
syncSharp();
} else {
if ( temp->getIsLocalFileSync() ) {
- if ( syncWithFile( temp->getRemoteFileName( ), true ) )
- KABPrefs::instance()->mLastSyncedLocalFile = temp->getRemoteFileName();
+ if ( syncWithFile( temp->getRemoteFileNameAB( ), true ) )
+ KABPrefs::instance()->mLastSyncedLocalFile = temp->getRemoteFileNameAB();
} else {
if ( temp->getIsPhoneSync() ) {
KABPrefs::instance()->mPhoneDevice = temp->getPhoneDevice( ) ;
KABPrefs::instance()->mPhoneConnection = temp->getPhoneConnection( );
@@ -2372,9 +2375,9 @@ void KABCore::syncRemote( KSyncProfile* prof, bool ask)
i18n("Yes"), i18n("No"),
0, 0 ) != 0 )
return;
}
- QString command = prof->getPreSyncCommand();
+ QString command = prof->getPreSyncCommandAB();
int fi;
if ( (fi = command.find("$PWD$")) > 0 ) {
QString pwd = getPassword();
command = command.left( fi )+ pwd + command.mid( fi+5 );
@@ -2404,15 +2407,15 @@ void KABCore::syncRemote( KSyncProfile* prof, bool ask)
return;
}
setCaption ( i18n( "Copying succeed." ) );
//qDebug(" file **%s** ",prof->getLocalTempFile().latin1() );
- if ( syncWithFile( prof->getLocalTempFile(), true ) ) {
+ if ( syncWithFile( prof->getLocalTempFileAB(), true ) ) {
// Event* e = mView->getLastSyncEvent();
// e->setReadOnly( false );
// e->setLocation( KOPrefs::instance()->mSyncProfileNames[mCurrentSyncProfile]);
// e->setReadOnly( true );
if ( KABPrefs::instance()->mWriteBackFile ) {
- command = prof->getPostSyncCommand();
+ command = prof->getPostSyncCommandAB();
int fi;
if ( (fi = command.find("$PWD$")) > 0 ) {
QString pwd = getPassword();
command = command.left( fi )+ pwd + command.mid( fi+5 );
@@ -2509,28 +2512,94 @@ QString KABCore::getPassword( )
qApp->processEvents();
return retfile;
}
+bool KABCore::synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBook* remote,int mode)
+{
+}
bool KABCore::syncAB(QString filename, int mode)
{
+
+
+ mGlobalSyncMode = SYNC_MODE_NORMAL;
+ AddressBook abLocal(filename,"syncContact");
+ bool syncOK = false;
+ if ( abLocal.load() ) {
+ qDebug("AB loaded %s mode %d",filename.latin1(), mode );
+ AddressBook::Iterator it;
+ QStringList vcards;
+ for ( it = abLocal.begin(); it != abLocal.end(); ++it ) {
+ qDebug("Name %s ", (*it).familyName().latin1());
+ }
+ syncOK = synchronizeAddressbooks( mAddressBook, &abLocal, mode );
+ if ( syncOK ) {
+ if ( KABPrefs::instance()->mWriteBackFile )
+ {
+ abLocal.saveAB();
+ }
+ }
+ setModified();
+
+ }
+ if ( syncOK )
+ ;//updateView();
+ return syncOK;
+#if 0
+ mGlobalSyncMode = SYNC_MODE_NORMAL;
+ CalendarLocal* calendar = new CalendarLocal();
+ calendar->setTimeZoneId(KOPrefs::instance()->mTimeZoneId);
+ FileStorage* storage = new FileStorage( calendar );
+ bool syncOK = false;
+ storage->setFileName( filename );
+ // qDebug("loading ... ");
+ if ( storage->load(KOPrefs::instance()->mUseQuicksave) ) {
+ getEventViewerDialog()->setSyncMode( true );
+ syncOK = synchronizeCalendar( mCalendar, calendar, mode );
+ getEventViewerDialog()->setSyncMode( false );
+ if ( syncOK ) {
+ if ( KOPrefs::instance()->mWriteBackFile )
+ {
+ storage->setSaveFormat( new ICalFormat( KOPrefs::instance()->mUseQuicksave) );
+ storage->save();
+ }
+ }
+ setModified();
+ }
+ delete storage;
+ delete calendar;
+ if ( syncOK )
+ updateView();
+ return syncOK;
+#endif
}
void KABCore::confSync()
-{
- //mView->confSync();
- qDebug("pending KABCore::confSync() ");
+{
+ static KSyncPrefsDialog* sp = 0;
+ if ( ! sp ) {
+ sp = new KSyncPrefsDialog( this, "syncprefs", true );
+ }
+ sp->usrReadConfig();
+#ifndef DESKTOP_VERSION
+ sp->showMaximized();
+#else
+ sp->show();
+#endif
+ sp->exec();
+ KABPrefs::instance()->mSyncProfileNames = sp->getSyncProfileNames();
+ KABPrefs::instance()->mLocalMachineName = sp->getLocalMachineName ();
fillSyncMenu();
}
void KABCore::syncSharp()
{
if ( mModified )
save();
qDebug("pending syncSharp() ");
//mView->syncSharp();
- mModified = true ;
+ setModified();
}
void KABCore::syncPhone()
{
diff --git a/kaddressbook/kabcore.h b/kaddressbook/kabcore.h
index 10ce8f4..4487a8a 100644
--- a/kaddressbook/kabcore.h
+++ b/kaddressbook/kabcore.h
@@ -455,9 +455,8 @@ class KABCore : public QWidget
// LR *******************************
// sync stuff!
QPopupMenu *syncMenu;
void fillSyncMenu();
- void confSync();
QString mCurrentSyncDevice;
QString mCurrentSyncName;
void quickSyncLocalFile();
bool syncWithFile( QString fn , bool quick );
@@ -470,8 +469,12 @@ class KABCore : public QWidget
void edit_sync_options();
bool syncAB(QString filename, int mode);
int ringSync();
QString getPassword( );
+ int mGlobalSyncMode;
+ bool synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBook* remote,int mode);
+ public slots:
+ void confSync();
// *********************
};