addresseelist.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef KABC_ADDRESSEELIST_H
00023 #define KABC_ADDRESSEELIST_H
00024
00025 #include <qvaluelist.h>
00026
00027 #include "addressee.h"
00028
00029 namespace KABC {
00030
00031 class Field;
00032
00042 namespace SortingTraits
00043 {
00044
00045 class Uid
00046 {
00047 public:
00048 static bool eq( const Addressee &, const Addressee & );
00049 static bool lt( const Addressee &, const Addressee & );
00050 };
00051
00052 class Name
00053 {
00054 public:
00055 static bool eq( const Addressee &, const Addressee & );
00056 static bool lt( const Addressee &, const Addressee & );
00057 };
00058
00059 class FormattedName
00060 {
00061 public:
00062 static bool eq( const Addressee &, const Addressee & );
00063 static bool lt( const Addressee &, const Addressee & );
00064 };
00065
00066 class FamilyName
00067 {
00068 public:
00069 static bool eq( const Addressee &, const Addressee & );
00070 static bool lt( const Addressee &, const Addressee & );
00071 };
00072
00073 class GivenName
00074 {
00075 public:
00076 static bool eq( const Addressee &, const Addressee & );
00077 static bool lt( const Addressee &, const Addressee & );
00078 };
00079
00080 }
00081
00085 typedef enum { Uid, Name, FormattedName, FamilyName, GivenName } SortingCriterion;
00086
00110 class AddresseeList : public QValueList<Addressee>
00111 {
00112 public:
00113 AddresseeList();
00114 ~AddresseeList();
00115 AddresseeList( const AddresseeList & );
00116 AddresseeList( const QValueList<Addressee> & );
00117
00121 void dump() const;
00122
00128 void setReverseSorting( bool r = true ) { mReverseSorting = r; }
00129
00134 bool reverseSorting() const { return mReverseSorting; }
00135
00140 void sortBy( SortingCriterion c );
00141
00147 void sortByField( Field *field = 0 );
00148
00158 void sort();
00159
00187 template<class Trait> void sortByTrait();
00188
00193 SortingCriterion sortingCriterion() const { return mActiveSortingCriterion; }
00194
00202 Field* sortingField() const;
00203
00204 private:
00205 bool mReverseSorting;
00206 SortingCriterion mActiveSortingCriterion;
00207
00208 };
00209
00210 }
00211
00212 #endif
This file is part of the documentation for kabc Library Version 3.2.0.