addresseelist.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KABC_ADDRESSEELIST_H
00022 #define KABC_ADDRESSEELIST_H
00023
00024 #include <qvaluelist.h>
00025
00026 #include "addressee.h"
00027 #include "field.h"
00028
00029 namespace KABC {
00030
00040 namespace SortingTraits
00041 {
00042
00043 class Uid
00044 {
00045 public:
00046 static bool eq( const Addressee &, const Addressee & );
00047 static bool lt( const Addressee &, const Addressee & );
00048 };
00049
00050 class Name
00051 {
00052 public:
00053 static bool eq( const Addressee &, const Addressee & );
00054 static bool lt( const Addressee &, const Addressee & );
00055 };
00056
00057 class FormattedName
00058 {
00059 public:
00060 static bool eq( const Addressee &, const Addressee & );
00061 static bool lt( const Addressee &, const Addressee & );
00062 };
00063
00064 class FamilyName
00065 {
00066 public:
00067 static bool eq( const Addressee &, const Addressee & );
00068 static bool lt( const Addressee &, const Addressee & );
00069 };
00070
00071 class GivenName
00072 {
00073 public:
00074 static bool eq( const Addressee &, const Addressee & );
00075 static bool lt( const Addressee &, const Addressee & );
00076 };
00077
00078 }
00079
00083 typedef enum { Uid, Name, FormattedName, FamilyName, GivenName } SortingCriterion;
00084
00108 class AddresseeList : public QValueList<Addressee>
00109 {
00110 public:
00111 AddresseeList();
00112 ~AddresseeList();
00113 AddresseeList( const AddresseeList & );
00114 AddresseeList( const QValueList<Addressee> & );
00115
00119 void dump() const;
00120
00126 void setReverseSorting( bool r = true ) { mReverseSorting = r; }
00127
00132 bool reverseSorting() const { return mReverseSorting; }
00133
00138 void sortBy( SortingCriterion c );
00139
00140 void sortByField( Field *field );
00141
00151 void sort();
00152
00180 template<class Trait> void sortByTrait();
00181
00186 SortingCriterion sortingCriterion() const { return mActiveSortingCriterion; }
00187
00188 private:
00189 bool mReverseSorting;
00190 SortingCriterion mActiveSortingCriterion;
00191 };
00192
00193 }
00194
00195 #endif
This file is part of the documentation for kdelibs Version 3.1.4.