summaryrefslogtreecommitdiff
path: root/libopie/pim/ocontactaccessbackend_xml.h
Unidiff
Diffstat (limited to 'libopie/pim/ocontactaccessbackend_xml.h') (more/less context) (show whitespace changes)
-rw-r--r--libopie/pim/ocontactaccessbackend_xml.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/libopie/pim/ocontactaccessbackend_xml.h b/libopie/pim/ocontactaccessbackend_xml.h
index f7e8207..8b95102 100644
--- a/libopie/pim/ocontactaccessbackend_xml.h
+++ b/libopie/pim/ocontactaccessbackend_xml.h
@@ -17,6 +17,9 @@
17 * ===================================================================== 17 * =====================================================================
18 * History: 18 * History:
19 * $Log$ 19 * $Log$
20 * Revision 1.6 2002/11/13 14:14:51 eilers
21 * Added sorted for Contacts..
22 *
20 * Revision 1.5 2002/11/01 15:10:42 eilers 23 * Revision 1.5 2002/11/01 15:10:42 eilers
21 * Added regExp-search in database for all fields in a contact. 24 * Added regExp-search in database for all fields in a contact.
22 * 25 *
@@ -47,6 +50,7 @@
47#include <qfileinfo.h> 50#include <qfileinfo.h>
48#include <qregexp.h> 51#include <qregexp.h>
49#include <qarray.h> 52#include <qarray.h>
53#include <qmap.h>
50 54
51#include <qpe/global.h> 55#include <qpe/global.h>
52 56
@@ -301,6 +305,34 @@ class OContactAccessBackend_XML : public OContactAccessBackend {
301 } 305 }
302 } 306 }
303 307
308 // Currently only asc implemented..
309 QArray<int> sorted( bool asc, int , int , int )
310 {
311 QMap<QString, int> nameToUid;
312 QStringList names;
313 QArray<int> m_currentQuery( m_contactList.count() );
314
315 // First fill map and StringList with all Names ( better LastNames ? )
316 // Afterwards sort namelist and use map to fill array to return..
317 QValueListConstIterator<OContact> it;
318 for( it = m_contactList.begin(); it != m_contactList.end(); ++it ){
319 names.append( (*it).lastName() );
320 nameToUid.insert( (*it).lastName(), (*it).uid() );
321 }
322 names.sort();
323
324 int i = 0;
325 if ( asc ){
326 for ( QStringList::Iterator it = names.begin(); it != names.end(); ++it )
327 m_currentQuery[i++] = nameToUid[ (*it) ];
328 }else{
329 for ( QStringList::Iterator it = names.end(); it != names.begin(); --it )
330 m_currentQuery[i++] = nameToUid[ (*it) ];
331 }
332
333 return m_currentQuery;
334
335 }
304 bool add ( const OContact &newcontact ) 336 bool add ( const OContact &newcontact )
305 { 337 {
306 //qWarning("odefaultbackend: ACTION::ADD"); 338 //qWarning("odefaultbackend: ACTION::ADD");