summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/korganizer/kopiWhatsNew.txt8
-rw-r--r--kabc/addressbook.cpp16
-rw-r--r--kabc/addressbook.h2
-rw-r--r--kabc/addressee.cpp17
-rw-r--r--kabc/addressee.h1
-rw-r--r--kaddressbook/kabcore.cpp22
-rw-r--r--kaddressbook/kabcore.h1
-rw-r--r--kaddressbook/kaddressbookmain.cpp12
-rw-r--r--kaddressbook/kaddressbookmain.h2
-rw-r--r--kaddressbook/mainembedded.cpp8
-rw-r--r--korganizer/mainwindow.cpp15
-rw-r--r--libkdepim/ksyncmanager.cpp6
12 files changed, 79 insertions, 31 deletions
diff --git a/bin/kdepim/korganizer/kopiWhatsNew.txt b/bin/kdepim/korganizer/kopiWhatsNew.txt
index eea860c..3f95dcf 100644
--- a/bin/kdepim/korganizer/kopiWhatsNew.txt
+++ b/bin/kdepim/korganizer/kopiWhatsNew.txt
@@ -16,3 +16,3 @@ Please look at the Sync Howto.
-Exporting of data to mobile phones is now possible.
+Exporting of calendar data and contacts to mobile phones is now possible.
The SyncHowto is updated with information howto
@@ -21,2 +21,8 @@ Please look at the Sync Howto.
+Now KO/Pi and KA/Pi on the Zaurus can receive data via infrared directly.
+Please disable Fastload for the original contact/calendar applications
+and close them.
+KO/Pi and KA/Pi must be running in order to receive the data.
+(KO/Pi and KA/Pi are always running if Fastload for them is enabled!)
+
diff --git a/kabc/addressbook.cpp b/kabc/addressbook.cpp
index dc3cda1..bf6d053 100644
--- a/kabc/addressbook.cpp
+++ b/kabc/addressbook.cpp
@@ -404,6 +404,6 @@ void AddressBook::export2File( QString fileName )
}
-void AddressBook::importFromFile( QString fileName )
+void AddressBook::importFromFile( QString fileName, bool replaceLabel )
{
- KABC::Addressee::List list;
+ KABC::Addressee::List list;
QFile file( fileName );
@@ -413,4 +413,10 @@ void AddressBook::importFromFile( QString fileName )
file.close();
-
- QString data = QString::fromUtf8( rawData.data(), rawData.size() + 1 );
+ qDebug("AddressBook::importFromFile ");
+ QString data;
+ if ( replaceLabel ) {
+ data = QString::fromLatin1( rawData.data(), rawData.size() + 1 );
+ data.replace ( QRegExp("LABEL") , "ADR" );
+ data.replace ( QRegExp("CHARSET=ISO-8859-1") , "" );
+ } else
+ data = QString::fromUtf8( rawData.data(), rawData.size() + 1 );
KABC::VCardTool tool;
@@ -420,2 +426,4 @@ void AddressBook::importFromFile( QString fileName )
(*it).setResource( 0 );
+ if ( replaceLabel )
+ (*it).removeVoice();
insertAddressee( (*it), false, true );
diff --git a/kabc/addressbook.h b/kabc/addressbook.h
index 3603ec1..cea1b03 100644
--- a/kabc/addressbook.h
+++ b/kabc/addressbook.h
@@ -145,3 +145,3 @@ class AddressBook : public QObject
void export2File( QString fileName );
- void importFromFile( QString fileName );
+ void importFromFile( QString fileName, bool replaceLabel = false );
/**
diff --git a/kabc/addressee.cpp b/kabc/addressee.cpp
index 19a1845..3f3d5c0 100644
--- a/kabc/addressee.cpp
+++ b/kabc/addressee.cpp
@@ -317,2 +317,19 @@ void Addressee::mergeContact( const Addressee& ad )
+bool Addressee::removeVoice()
+{
+ PhoneNumber::List phoneN = phoneNumbers();
+ PhoneNumber::List::Iterator phoneIt;
+ bool found = false;
+ for ( phoneIt = phoneN.begin(); phoneIt != phoneN.end(); ++phoneIt ) {
+ if ( (*phoneIt).type() & PhoneNumber::Voice) { // voice found
+ if ((*phoneIt).type() - PhoneNumber::Voice ) {
+ (*phoneIt).setType((*phoneIt).type() - PhoneNumber::Voice );
+ insertPhoneNumber( (*phoneIt) );
+ found = true;
+ }
+ }
+
+ }
+ return found;
+}
void Addressee::simplifyAddresses()
diff --git a/kabc/addressee.h b/kabc/addressee.h
index 44f0629..9336edc 100644
--- a/kabc/addressee.h
+++ b/kabc/addressee.h
@@ -123,2 +123,3 @@ class Addressee
void simplifyPhoneNumberTypes();
+ bool removeVoice();
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index 9b059d3..3a542ba 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -327,2 +327,8 @@ KABCore::~KABCore()
+void KABCore::recieve( QString fn )
+{
+ qDebug("KABCore::recieve ");
+ mAddressBook->importFromFile( fn, true );
+ topLevelWidget()->raise();
+}
void KABCore::restoreSettings()
@@ -2088,16 +2094,4 @@ void KABCore::removeVoice()
for ( it = list.begin(); it != list.end(); ++it ) {
- PhoneNumber::List phoneNumbers = (*it).phoneNumbers();
- PhoneNumber::List::Iterator phoneIt;
- bool found = false;
- for ( phoneIt = phoneNumbers.begin(); phoneIt != phoneNumbers.end(); ++phoneIt ) {
- if ( (*phoneIt).type() & PhoneNumber::Voice) { // voice found
- if ((*phoneIt).type() - PhoneNumber::Voice ) {
- (*phoneIt).setType((*phoneIt).type() - PhoneNumber::Voice );
- (*it).insertPhoneNumber( (*phoneIt) );
- found = true;
- }
- }
-
- }
- if ( found )
+
+ if ( (*it).removeVoice() )
contactModified((*it) );
diff --git a/kaddressbook/kabcore.h b/kaddressbook/kabcore.h
index c628399..43c5f99 100644
--- a/kaddressbook/kabcore.h
+++ b/kaddressbook/kabcore.h
@@ -344,2 +344,3 @@ class KABCore : public QWidget, public KSyncInterface
public slots:
+ void recieve(QString cmsg );
void getFile( bool success );
diff --git a/kaddressbook/kaddressbookmain.cpp b/kaddressbook/kaddressbookmain.cpp
index f48f214..8c4ca09 100644
--- a/kaddressbook/kaddressbookmain.cpp
+++ b/kaddressbook/kaddressbookmain.cpp
@@ -94,3 +94,13 @@ KAddressBookMain::~KAddressBookMain()
}
-
+void KAddressBookMain::recieve( const QCString& cmsg, const QByteArray& data )
+{
+ qDebug("KA: QCOP message received: %s ", cmsg.data() );
+ if ( cmsg == "setDocument(QString)" ) {
+ QDataStream stream( data, IO_ReadOnly );
+ QString fileName;
+ stream >> fileName;
+ mCore->recieve( fileName );
+ return;
+ }
+}
void KAddressBookMain::showMinimized ()
diff --git a/kaddressbook/kaddressbookmain.h b/kaddressbook/kaddressbookmain.h
index cf6f899..40d2bdd 100644
--- a/kaddressbook/kaddressbookmain.h
+++ b/kaddressbook/kaddressbookmain.h
@@ -83,3 +83,3 @@ class KAddressBookMain : public KMainWindow, virtual public KAddressBookIface
virtual void exit();
-
+ void recieve( const QCString& cmsg, const QByteArray& data );
protected:
diff --git a/kaddressbook/mainembedded.cpp b/kaddressbook/mainembedded.cpp
index 965fb06..6dd97b8 100644
--- a/kaddressbook/mainembedded.cpp
+++ b/kaddressbook/mainembedded.cpp
@@ -2,2 +2,3 @@
#include <qpe/qpeapplication.h>
+#include <qcopchannel_qws.h>
#include <stdlib.h>
@@ -79,3 +80,5 @@ int main( int argc, char **argv )
#ifndef DESKTOP_VERSION
- a.showMainWidget( &m );
+ a.showMainWidget( &m );
+ QCopChannel* c1 = new QCopChannel("QPE/Application/addressbook",&m, "channelAB" ) ;
+ QObject::connect( c1, SIGNAL (received ( const QCString &, const QByteArray & )),&m, SLOT(recieve( const QCString&, const QByteArray& )));
#else
@@ -86,2 +89,5 @@ int main( int argc, char **argv )
a.exec();
+#ifndef DESKTOP_VERSION
+ delete c1;
+#endif
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index 3c16458..a69a0bd 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -336,9 +336,10 @@ void MainWindow::recieve( const QCString& cmsg, const QByteArray& data )
qDebug("KO: QCOP message received: %s ", cmsg.data() );
-
- if ( cmsg == "-writeFile" ) {
- // I made from the "-writeFile" an "-writeAlarm"
- mView->viewManager()->showWhatsNextView();
- mCalendar->checkAlarmForIncidence( 0, true);
- showMaximized();
- raise();
+
+ if ( cmsg == "setDocument(QString)" ) {
+ QDataStream stream( data, IO_ReadOnly );
+ QString fileName;
+ stream >> fileName;
+ qDebug("filename %s ", fileName.latin1());
+ KOPrefs::instance()->mLastSyncedLocalFile = fileName ;
+ mSyncManager->slotSyncMenu( 1002 );
return;
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp
index 08b1a3d..80fb147 100644
--- a/libkdepim/ksyncmanager.cpp
+++ b/libkdepim/ksyncmanager.cpp
@@ -193,2 +193,6 @@ void KSyncManager::slotSyncMenu( int action )
} else if ( action == 1002 ) {
+ mWriteBackFile = false;
+ mAskForPreferences = false;
+ mShowSyncSummary = false;
+ mSyncAlgoPrefs = 3;
quickSyncLocalFile();
@@ -368,3 +372,3 @@ void KSyncManager::quickSyncLocalFile()
- if ( syncWithFile( mPrefs->mLastSyncedLocalFile, false ) ) {
+ if ( syncWithFile( mPrefs->mLastSyncedLocalFile, true ) ) {
qDebug("quick syncLocalFile() successful ");