KDE 4.7 PyKDE API Reference

- KDE's Python API

# SpecialCollections Class Reference

`from PyKDE4.akonadi import *`

Inherits: QObject
Namespace: Akonadi

## Detailed Description

An interface to special collections.

This class is the central interface to special collections like inbox or outbox in a mail resource or recent contacts in a contacts resource. The class is not meant to be used directly, but to inherit the a type specific special collections class from it (e.g. SpecialMailCollections).

To check whether a special collection is available, simply use the hasCollection() and hasDefaultCollection() methods. Available special collections are accessible through the collection() and defaultCollection() methods.

To create a special collection, use a SpecialCollectionsRequestJob. This will create the special collections you request and automatically register them with SpecialCollections, so that it now knows they are available.

This class monitors all special collections known to it, and removes it from the known list if they are deleted. Note that this class does not automatically rebuild the collections that disappeared.

The defaultCollectionsChanged() and collectionsChanged() signals are emitted when the special collections for a resource change (i.e. some became available or some become unavailable).

Author:
  Constantin Berzan <exit3219@gmail.com>

Since:
  4.4

## Signals
| collectionsChanged (Akonadi.AgentInstance instance)
| defaultCollectionsChanged ()
## Methods
| __init__ (self, KCoreConfigSkeleton config, QObject parent=0)
Akonadi.Collection | collection (self, QByteArray type, Akonadi.AgentInstance instance)
Akonadi.Collection | defaultCollection (self, QByteArray type)
bool | hasCollection (self, QByteArray type, Akonadi.AgentInstance instance)
bool | hasDefaultCollection (self, QByteArray type)
bool | registerCollection (self, QByteArray type, Akonadi.Collection collection)

## Signal Documentation

collectionsChanged | ( | Akonadi.AgentInstance | instance
| ) |  |  |

Emitted when the special collections for a resource have been changed (for example, some become available, or some become unavailable).

Parameters:

  | instance | The instance of the resource the collection belongs to.

Signal syntax:
  `QObject.connect(source, SIGNAL("collectionsChanged(const Akonadi::AgentInstance&)"), target_slot)`

defaultCollectionsChanged | ( |  | ) |

Emitted when the special collections for the default resource have been changed (for example, some become available, or some become unavailable).

Signal syntax:
  `QObject.connect(source, SIGNAL("defaultCollectionsChanged()"), target_slot)`

## Method Documentation

__init__ | ( | self, |
|  | KCoreConfigSkeleton | config,
|  | QObject | parent=0
| ) |  |  |

Creates a new special collections object.

Parameters:

  | config | The configuration skeleton that provides the default resource id.
  | parent | The parent object.

Akonadi.Collection collection | ( | self, |
|  | QByteArray | type,
|  | Akonadi.AgentInstance | instance
| ) |  |  |

Returns the special collection of the given type in the given agent instance, or an invalid collection if such a collection is unknown.

Akonadi.Collection defaultCollection | ( | self, |
|  | QByteArray | type
| ) |  |  |

Returns the special collection of given type in the default resource, or an invalid collection if such a collection is unknown.

bool hasCollection | ( | self, |
|  | QByteArray | type,
|  | Akonadi.AgentInstance | instance
| ) |  |  |

Returns whether the given agent instance has a special collection of the given type.

bool hasDefaultCollection | ( | self, |
|  | QByteArray | type
| ) |  |  |

Returns whether the default resource has a special collection of the given type.

bool registerCollection | ( | self, |
|  | QByteArray | type,
|  | Akonadi.Collection | collection
| ) |  |  |

Registers the given collection as a special collection with the given type.

The collection must be owned by a valid resource. Registering a new collection of a previously registered type forgets the old collection.