sortmode.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
#ifndef KABC_SORTMODE_H
00022
#define KABC_SORTMODE_H
00023
00024
#include <kdelibs_export.h>
00025
00026
#include <kabc/addressee.h>
00027
00028
namespace KABC {
00029
00036 class KABC_EXPORT SortMode
00037 {
00038
public:
00043
virtual bool lesser(
const KABC::Addressee &first,
const KABC::Addressee &second )
const = 0;
00044 };
00045
00046
class KABC_EXPORT NameSortMode :
public SortMode
00047 {
00048
public:
00049
enum NameType
00050 {
00051 FormattedName,
00052 FamilyName,
00053 GivenName
00054 };
00055
00061 NameSortMode();
00062
00070 NameSortMode( NameType type,
bool ascending =
true );
00071
00075
virtual bool lesser(
const KABC::Addressee&,
const KABC::Addressee& ) const;
00076
00077 private:
00078 NameType mNameType;
00079
bool mAscendingOrder;
00080
00081 class NameSortModePrivate;
00082 NameSortModePrivate *d;
00083 };
00084
00085 class KABC_EXPORT FieldSortMode : public SortMode
00086 {
00087
public:
00095 FieldSortMode( KABC::Field *field,
bool ascending =
true );
00096
00100
virtual bool lesser(
const KABC::Addressee&,
const KABC::Addressee& ) const;
00101
00102 private:
00103 KABC::Field *mField;
00104
bool mAscendingOrder;
00105
00106 class FieldSortModePrivate;
00107 FieldSortModePrivate *d;
00108 };
00109
00110 }
00111
00112 #endif
This file is part of the documentation for kabc Library Version 3.4.0.