• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepimlibs API Reference
  • KDE Home
  • Contact Us
 

kabc

  • KABC
  • AddresseeList
Public Member Functions | List of all members
KABC::AddresseeList Class Reference

#include <addresseelist.h>

Inherits QList< T >.

Public Member Functions

 AddresseeList ()
 
 AddresseeList (const AddresseeList &)
 
 AddresseeList (const QList< Addressee > &)
 
 ~AddresseeList ()
 
AddresseeList & operator= (const AddresseeList &other)
 
bool reverseSorting () const
 
void setReverseSorting (bool reverseSorting=true)
 
void sort ()
 
void sortBy (SortingCriterion c)
 
void sortByField (Field *field=0)
 
void sortByMode (SortMode *mode=0)
 
template<class Trait >
void sortByTrait ()
 
SortingCriterion sortingCriterion () const
 
Field * sortingField () const
 
QString toString () const
 

Detailed Description

a QValueList of Addressee, with sorting functionality

This class extends the functionality of QValueList with sorting methods specific to the Addressee class. It can be used just like any other QValueList but is no template class.

An AddresseeList does not automatically keep sorted when addressees are added or removed or the sorting order is changed, as this would slow down larger operations by sorting after every step. So after such operations you have to call sort or sortBy to create a defined order again.

Iterator usage is inherited from QList and extensively documented there. Please remember that the state of an iterator is undefined after any sorting operation.

For the enumeration Type SortingCriterion, which specifies the field by the collection will be sorted, the following values exist: Uid, Name, FormattedName, FamilyName, GivenName.

Author
Jost Schenck jost@.nosp@m.sche.nosp@m.nck.d.nosp@m.e

Definition at line 288 of file addresseelist.h.

Constructor & Destructor Documentation

AddresseeList::AddresseeList ( )

Creates a new addressee list.

Definition at line 176 of file addresseelist.cpp.

AddresseeList::AddresseeList ( const AddresseeList &  other)

Creates a new addressee list.

Definition at line 185 of file addresseelist.cpp.

AddresseeList::AddresseeList ( const QList< Addressee > &  l)

Creates a new addressee list.

Definition at line 190 of file addresseelist.cpp.

AddresseeList::~AddresseeList ( )

Destroys the addressee list.

Definition at line 181 of file addresseelist.cpp.

Member Function Documentation

AddresseeList & AddresseeList::operator= ( const AddresseeList &  other)

Assignment operator.

Parameters
otherthe list to assign from
Returns
a reference to this

Definition at line 195 of file addresseelist.cpp.

bool AddresseeList::reverseSorting ( ) const

Returns the direction of sorting.

Returns
true if sorting is done reverse, false otherwise

Definition at line 246 of file addresseelist.cpp.

void AddresseeList::setReverseSorting ( bool  reverseSorting = true)

Determines the direction of sorting.

On change, the list will not automatically be resorted.

Parameters
reverseSortingtrue if sorting should be done reverse, false otherwise

Definition at line 241 of file addresseelist.cpp.

void AddresseeList::sort ( )

Sorts this list by its active sorting criterion.

This normally is the criterion of the last sortBy operation or FormattedName if up to now there has been no sortBy operation.

Please note that the sorting trait of the last sortByTrait method call is not remembered and thus the action can not be repeated by this method.

Definition at line 270 of file addresseelist.cpp.

void AddresseeList::sortBy ( SortingCriterion  c)

Sorts this list by a specific criterion.

Parameters
cthe criterion by which should be sorted

Definition at line 251 of file addresseelist.cpp.

void AddresseeList::sortByField ( Field *  field = 0)

Sorts this list by a specific field.

If no parameter is given, the last used Field object will be used.

Parameters
fieldpointer to the Field object to be sorted by

Definition at line 312 of file addresseelist.cpp.

void AddresseeList::sortByMode ( SortMode *  mode = 0)

Sorts this list by a specific sorting mode.

Parameters
modepointer to the sorting mode object to be sorted by

Definition at line 334 of file addresseelist.cpp.

template<class Trait >
void AddresseeList::sortByTrait ( )

Templated sort function.

You normally will not want to use this but sortBy and sort instead as the existing sorting criteria completely suffice for most cases.

However, if you do want to use some special sorting criterion, you can write a trait class that will be provided to this templated method. This trait class has to have a class declaration like the following:

class MySortingTrait {
public:
// eq returns true if a1 and a2 are equal
static bool eq(KABC::Addressee a1, KABC::Addressee a2);
// lt returns true is a1 is "less than" a2
static bool lt(KABC::Addressee a1, KABC::Addressee a2);
};

You can then pass this class to the sortByTrait method like this:

myAddresseelist.sortByTrait&lt;MySortingTrait&gt;();

Please note that the sort method can not be used to repeat the sorting of the last sortByTrait action.

Right now this method uses the bubble sort algorithm. This should be replaced for a better one when I have time.

Definition at line 276 of file addresseelist.cpp.

SortingCriterion AddresseeList::sortingCriterion ( ) const

Returns the active sorting criterion, ie the sorting criterion that will be used by a sort call.

Definition at line 345 of file addresseelist.cpp.

Field * AddresseeList::sortingField ( ) const

Returns the active sorting field, ie a pointer to the Field object which was used for the last sortByField operation.

This function returns the last GLOBAL sorting field, not the class specific one. You're a lot better off by keeping track of this locally.

Definition at line 350 of file addresseelist.cpp.

QString AddresseeList::toString ( ) const

Returns a string representation of the addressee list.

Definition at line 205 of file addresseelist.cpp.


The documentation for this class was generated from the following files:
  • addresseelist.h
  • addresseelist.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:01:06 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kabc

Skip menu "kabc"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • Related Pages

kdepimlibs API Reference

Skip menu "kdepimlibs API Reference"
  • akonadi
  •   contact
  •   kmime
  •   socialutils
  • kabc
  • kalarmcal
  • kblog
  • kcal
  • kcalcore
  • kcalutils
  • kholidays
  • kimap
  • kldap
  • kmbox
  • kmime
  • kpimidentities
  • kpimtextedit
  • kresources
  • ktnef
  • kxmlrpcclient
  • microblog

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal