summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2004-10-14 07:24:50 (UTC)
committer zautrix <zautrix>2004-10-14 07:24:50 (UTC)
commit57bd80b04dddd40a897dce8b6902d1046d71c631 (patch) (side-by-side diff)
treec51cb1985344173951109f4bffb12bb6a68ea7f7
parenta6dff815a9c6d3a91094573d23c28a8553fc7cc2 (diff)
downloadkdepimpi-57bd80b04dddd40a897dce8b6902d1046d71c631.zip
kdepimpi-57bd80b04dddd40a897dce8b6902d1046d71c631.tar.gz
kdepimpi-57bd80b04dddd40a897dce8b6902d1046d71c631.tar.bz2
phone fixes
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/addressee.cpp22
-rw-r--r--kaddressbook/kabcore.cpp45
-rw-r--r--kaddressbook/kabcore.h2
3 files changed, 41 insertions, 28 deletions
diff --git a/kabc/addressee.cpp b/kabc/addressee.cpp
index 295ee4f..2564894 100644
--- a/kabc/addressee.cpp
+++ b/kabc/addressee.cpp
@@ -438,31 +438,49 @@ bool Addressee::containsAdr(const Addressee& ad )
found = true;
break;
}
}
if ( ! found )
return false;
}
return true;
}
void Addressee::simplifyAddresses()
{
+
+
+ Address::List list;
+ Address::List::Iterator it;
+ Address::List::Iterator it2;
+ for( it = mData->addresses.begin(); it != mData->addresses.end(); ++it ) {
+ it2 = it;
+ ++it2;
+ for( ; it2 != mData->addresses.end(); ++it2 ) {
+ if ( (*it) == (*it2) ) {
+ list.append( *it );
+ break;
+ }
+ }
+ }
+ for( it = list.begin(); it != list.end(); ++it ) {
+ removeAddress( (*it) );
+ }
+
+ list.clear();
int max = 2;
if ( mData->url.isValid() )
max = 1;
if ( mData->addresses.count() <= max ) return ;
int count = 0;
- Address::List list;
- Address::List::Iterator it;
for( it = mData->addresses.begin(); it != mData->addresses.end(); ++it ) {
if ( count >= max )
list.append( *it );
++count;
}
for( it = list.begin(); it != list.end(); ++it ) {
removeAddress( (*it) );
}
}
// removes all emails but the first
// needed by phone sync
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index dae9cd2..087e9e3 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -684,49 +684,46 @@ void KABCore::export2phone()
KPimGlobalPrefs::instance()->mEx2PhoneDevice = ex2phone.mPhoneDevice->text();
KPimGlobalPrefs::instance()->mEx2PhoneModel = ex2phone.mPhoneModel->text();
PhoneAccess::writeConfig( KPimGlobalPrefs::instance()->mEx2PhoneDevice,
KPimGlobalPrefs::instance()->mEx2PhoneConnection,
KPimGlobalPrefs::instance()->mEx2PhoneModel );
QStringList uids = mViewManager->selectedUids();
if ( uids.isEmpty() )
return;
+ QString fileName = getPhoneFile();
+ if ( ! mAddressBook->export2PhoneFormat( uids ,fileName ) )
+ return;
+
+ QTimer::singleShot( 1, this , SLOT ( writeToPhone()));
+
+}
+QString KABCore::getPhoneFile()
+{
#ifdef _WIN32_
- QString fileName = locateLocal("tmp", "phonefile.vcf");
+ return locateLocal("tmp", "phonefile.vcf");
#else
- QString fileName = "/tmp/phonefile.vcf";
+ return "/tmp/phonefile.vcf";
#endif
- if ( ! mAddressBook->export2PhoneFormat( uids ,fileName ) )
- return;
-
- if ( PhoneAccess::writeToPhone( fileName ) )
- qDebug("Export okay ");
- else
- qDebug("Error export contacts ");
-
-
-#if 0
-
- setCaption( i18n("Writing to phone..."));
- if ( PhoneFormat::writeToPhone( cal ) )
- setCaption( i18n("Export to phone successful!"));
+}
+void KABCore::writeToPhone( )
+{
+ if ( PhoneAccess::writeToPhone( getPhoneFile() ) )
+ qDebug("Export okay ");
else
- setCaption( i18n("Error exporting to phone!"));
-#endif
-
-
+ qDebug("Error export contacts ");
}
void KABCore::beamVCard()
{
QStringList uids = mViewManager->selectedUids();
if ( !uids.isEmpty() )
beamVCard( uids );
}
void KABCore::beamVCard(const QStringList& uids)
{
/*US
@@ -825,24 +822,25 @@ void KABCore::beamVCard(const QStringList& uids)
return;
}
#endif
}
void KABCore::beamDone( Ir *ir )
{
#ifndef DESKTOP_VERSION
delete ir;
#endif
topLevelWidget()->raise();
+ message( i18n("Beaming successful!") );
}
void KABCore::browse( const QString& url )
{
#ifndef KAB_EMBEDDED
kapp->invokeBrowser( url );
#else //KAB_EMBEDDED
qDebug("KABCore::browse must be fixed");
#endif //KAB_EMBEDDED
}
@@ -2809,30 +2807,25 @@ bool KABCore::syncExternal(KSyncManager* manager, QString resource)
return syncOK;
}
void KABCore::message( QString m )
{
topLevelWidget()->setCaption( m );
QTimer::singleShot( 15000, this , SLOT ( setCaptionBack()));
}
bool KABCore::syncPhone()
{
QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice();
- QString fileName;
-#ifdef _WIN32_
- fileName = locateLocal("tmp", "phonefile.vcf");
-#else
- fileName = "/tmp/phonefile.vcf";
-#endif
+ QString fileName = getPhoneFile();
if ( !PhoneAccess::readFromPhone( fileName) ) {
message(i18n("Phone access failed!"));
return false;
}
AddressBook abLocal( fileName,"syncContact");
bool syncOK = false;
{
abLocal.importFromFile( fileName );
qDebug("AB phone loaded ,sync device %s",mCurrentSyncDevice.latin1());
mGlobalSyncMode = SYNC_MODE_EXTERNAL;
abLocal.preparePhoneSync( mCurrentSyncDevice, true );
abLocal.preExternSync( mAddressBook ,mCurrentSyncDevice, true );
diff --git a/kaddressbook/kabcore.h b/kaddressbook/kabcore.h
index 3c33923..5871d39 100644
--- a/kaddressbook/kabcore.h
+++ b/kaddressbook/kabcore.h
@@ -139,24 +139,25 @@ class KABCore : public QWidget, public KSyncInterface
#endif //KAB_EMBEDDED
public slots:
#ifdef KAB_EMBEDDED
void createAboutData();
#endif //KAB_EMBEDDED
void statusMessage(QString, int time = 0 );
void showLicence();
void faq();
void whatsnew() ;
void synchowto() ;
+ void writeToPhone();
/**
Is called whenever a contact is selected in the view.
*/
void setContactSelected( const QString &uid );
/**
Opens the preferred mail composer with all selected contacts as
arguments.
*/
void sendMail();
@@ -362,24 +363,25 @@ class KABCore : public QWidget, public KSyncInterface
void removeVoice();
#ifdef KAB_EMBEDDED
void configureResources();
#endif //KAB_EMBEDDED
void slotEditorDestroyed( const QString &uid );
void configurationChanged();
void addressBookChanged();
private:
void initGUI();
void initActions();
+ QString getPhoneFile();
AddresseeEditorDialog *createAddresseeEditorDialog( QWidget *parent,
const char *name = 0 );
KXMLGUIClient *mGUIClient;
KABC::AddressBook *mAddressBook;
ViewManager *mViewManager;
// QSplitter *mDetailsSplitter;
KDGanttMinimizeSplitter *mExtensionBarSplitter;
ViewContainer *mDetails;