-rw-r--r-- | libopie2/opiepim/ocontact.h | 82 |
1 files changed, 6 insertions, 76 deletions
diff --git a/libopie2/opiepim/ocontact.h b/libopie2/opiepim/ocontact.h index f916cf2..9e83150 100644 --- a/libopie2/opiepim/ocontact.h +++ b/libopie2/opiepim/ocontact.h @@ -1,10 +1,11 @@ /********************************************************************** ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. +** Copyright (C) 2002 by Stefan Eilers (eilers.stefan@epost.de) ** ** This file is part of the Qtopia Environment. ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. ** @@ -19,16 +20,17 @@ **********************************************************************/ #ifndef __OCONTACT_H__ #define __OCONTACT_H__ #include <opie/opimrecord.h> #include <qpe/recordfields.h> +#include <qdatetime.h> #include <qstringlist.h> #if defined(QPC_TEMPLATEDLL) // MOC_SKIP_BEGIN QPC_TEMPLATEEXTERN template class QPC_EXPORT QMap<int, QString>; // MOC_SKIP_END #endif @@ -91,18 +93,18 @@ public: void setBusinessPager( const QString &v ) { replace( Qtopia::BusinessPager, v ); } void setProfession( const QString &v ) { replace( Qtopia::Profession, v ); } void setAssistant( const QString &v ) { replace( Qtopia::Assistant, v ); } void setManager( const QString &v ) { replace( Qtopia::Manager, v ); } // personal void setSpouse( const QString &v ) { replace( Qtopia::Spouse, v ); } void setGender( const QString &v ) { replace( Qtopia::Gender, v ); } - void setBirthday( const QString &v ) { replace( Qtopia::Birthday, v ); } - void setAnniversary( const QString &v ) { replace( Qtopia::Anniversary, v ); } + void setBirthday( const QDate &v ); + void setAnniversary( const QDate &v ); void setNickname( const QString &v ) { replace( Qtopia::Nickname, v ); } void setChildren( const QString &v ); // other void setNotes( const QString &v ) { replace( Qtopia::Notes, v); } bool match( const QString ®exp ) const; @@ -168,18 +170,18 @@ public: * City, State Zip * Country */ QString displayBusinessAddress() const; //personal QString spouse() const { return find( Qtopia::Spouse ); } QString gender() const { return find( Qtopia::Gender ); } - QString birthday() const { return find( Qtopia::Birthday ); } - QString anniversary() const { return find( Qtopia::Anniversary ); } + QDate birthday() const; + QDate anniversary() const; QString nickname() const { return find( Qtopia::Nickname ); } QString children() const { return find( Qtopia::Children ); } QStringList childrenList() const; // other QString notes() const { return find( Qtopia::Notes ); } QString groups() const { return find( Qtopia::Groups ); } QStringList groupList() const; @@ -234,82 +236,10 @@ private: const QString &country ) const; Qtopia::UidGen &uidGen() { return sUidGen; } static Qtopia::UidGen sUidGen; QMap<int, QString> mMap; ContactPrivate *d; }; -// these methods are inlined to keep binary compatability with Qtopia 1.5 -inline void OContact::insertEmail( const QString &v ) -{ - //qDebug("insertEmail %s", v.latin1()); - QString e = v.simplifyWhiteSpace(); - QString def = defaultEmail(); - - // if no default, set it as the default email and don't insert - if ( def.isEmpty() ) { - setDefaultEmail( e ); // will insert into the list for us - return; - } - - // otherwise, insert assuming doesn't already exist - QString emailsStr = find( Qtopia::Emails ); - if ( emailsStr.contains( e )) - return; - if ( !emailsStr.isEmpty() ) - emailsStr += emailSeparator(); - emailsStr += e; - replace( Qtopia::Emails, emailsStr ); -} - -inline void OContact::removeEmail( const QString &v ) -{ - QString e = v.simplifyWhiteSpace(); - QString def = defaultEmail(); - QString emailsStr = find( Qtopia::Emails ); - QStringList emails = emailList(); - - // otherwise, must first contain it - if ( !emailsStr.contains( e ) ) - return; - - // remove it - //qDebug(" removing email from list %s", e.latin1()); - emails.remove( e ); - // reset the string - emailsStr = emails.join(emailSeparator()); // Sharp's brain dead separator - replace( Qtopia::Emails, emailsStr ); - - // if default, then replace the default email with the first one - if ( def == e ) { - //qDebug("removeEmail is default; setting new default"); - if ( !emails.count() ) - clearEmails(); - else // setDefaultEmail will remove e from the list - setDefaultEmail( emails.first() ); - } -} -inline void OContact::clearEmails() -{ - mMap.remove( Qtopia::DefaultEmail ); - mMap.remove( Qtopia::Emails ); -} -inline void OContact::setDefaultEmail( const QString &v ) -{ - QString e = v.simplifyWhiteSpace(); - - //qDebug("OContact::setDefaultEmail %s", e.latin1()); - replace( Qtopia::DefaultEmail, e ); - - if ( !e.isEmpty() ) - insertEmail( e ); - -} - -inline void OContact::insertEmails( const QStringList &v ) -{ - for ( QStringList::ConstIterator it = v.begin(); it != v.end(); ++it ) - insertEmail( *it ); -} #endif |