From 2255284b2e80bdc2881ab9106e9afa614a08c140 Mon Sep 17 00:00:00 2001 From: eilers Date: Wed, 13 Nov 2002 14:14:51 +0000 Subject: Added sorted for Contacts.. --- (limited to 'libopie2/opiepim/backend/ocontactaccessbackend_xml.h') diff --git a/libopie2/opiepim/backend/ocontactaccessbackend_xml.h b/libopie2/opiepim/backend/ocontactaccessbackend_xml.h index f7e8207..8b95102 100644 --- a/libopie2/opiepim/backend/ocontactaccessbackend_xml.h +++ b/libopie2/opiepim/backend/ocontactaccessbackend_xml.h @@ -17,6 +17,9 @@ * ===================================================================== * History: * $Log$ + * Revision 1.6 2002/11/13 14:14:51 eilers + * Added sorted for Contacts.. + * * Revision 1.5 2002/11/01 15:10:42 eilers * Added regExp-search in database for all fields in a contact. * @@ -47,6 +50,7 @@ #include #include #include +#include #include @@ -301,6 +305,34 @@ class OContactAccessBackend_XML : public OContactAccessBackend { } } + // Currently only asc implemented.. + QArray sorted( bool asc, int , int , int ) + { + QMap nameToUid; + QStringList names; + QArray m_currentQuery( m_contactList.count() ); + + // First fill map and StringList with all Names ( better LastNames ? ) + // Afterwards sort namelist and use map to fill array to return.. + QValueListConstIterator it; + for( it = m_contactList.begin(); it != m_contactList.end(); ++it ){ + names.append( (*it).lastName() ); + nameToUid.insert( (*it).lastName(), (*it).uid() ); + } + names.sort(); + + int i = 0; + if ( asc ){ + for ( QStringList::Iterator it = names.begin(); it != names.end(); ++it ) + m_currentQuery[i++] = nameToUid[ (*it) ]; + }else{ + for ( QStringList::Iterator it = names.end(); it != names.begin(); --it ) + m_currentQuery[i++] = nameToUid[ (*it) ]; + } + + return m_currentQuery; + + } bool add ( const OContact &newcontact ) { //qWarning("odefaultbackend: ACTION::ADD"); -- cgit v0.9.0.2