Akonadi.FavoriteCollectionsModel

KDE 4.9 PyKDE API Reference

- KDE's Python API

# FavoriteCollectionsModel Class Reference

`from PyKDE4.akonadi import *`

Inherits: Akonadi.SelectionProxyModel → KSelectionProxyModel → QAbstractProxyModel → QAbstractItemModel → QObject
Namespace: Akonadi

## Detailed Description

A model that lists a set of favorite collections.

In some applications you want to provide fast access to a list of often used collections (e.g. Inboxes from different email accounts in a mail application). Therefor you can use the FavoriteCollectionsModel which stores the list of favorite collections in a given configuration file.

Example:

     using namespace Akonadi;

     EntityTreeModel *sourceModel = new EntityTreeModel( ... );

     const KConfigGroup group = KGlobal.config()->group( "Favorite Collections" );

     FavoriteCollectionsModel *model = new FavoriteCollectionsModel( sourceModel, group, this );

     EntityListView *view = new EntityListView( this );
     view->setModel( model );

Author:
  Kevin Ottens <ervin@kde.org>

Since:
  4.4

## Methods
| __init__ (self, QAbstractItemModel model, KConfigGroup group, QObject parent=0)
| addCollection (self, Akonadi.Collection collection)
[long] | collectionIds (self)
[Akonadi.Collection] | collections (self)
QVariant | data (self, QModelIndex index, int role=Qt.DisplayRole)
bool | dropMimeData (self, QMimeData data, Qt::DropAction action, int row, int column, QModelIndex parent)
QString | favoriteLabel (self, Akonadi.Collection col)
Qt::ItemFlags | flags (self, QModelIndex index)
QVariant | headerData (self, int section, Qt::Orientation orientation, int role=Qt.DisplayRole)
QStringList | mimeTypes (self)
| removeCollection (self, Akonadi.Collection collection)
| setCollections (self, [Akonadi.Collection] collections)
bool | setData (self, QModelIndex index, QVariant value, int role=Qt.EditRole)
| setFavoriteLabel (self, Akonadi.Collection collection, QString label)

## Method Documentation

__init__ | ( | self, |
|  | QAbstractItemModel | model,
|  | KConfigGroup | group,
|  | QObject | parent=0
| ) |  |  |

Creates a new favorite collections model.

Parameters:

  | model | The source model where the favorite collections come from.
  | group | The config group that shall be used to save the selection of favorite collections.
  | parent | The parent object.

addCollection | ( | self, |
|  | Akonadi.Collection | collection
| ) |  |  |

Adds a collection to the list of favorite collections.

[long] collectionIds | ( |  | self ) |

Returns the list of ids of favorite collections set on the FavoriteCollectionsModel.

Note that if you want Collections with actual data you should use something like this instead:

       FavoriteCollectionsModel* favs = getFavsModel();
       Collection.List cols;
       const int rowCount = favs->rowCount();
       for (int row = 0; row < rowcount; ++row) {
         static const int column = 0;
         const QModelIndex index = favs->index(row, column);
         const Collection col = index.data(EntityTreeModel.CollectionRole).value<Collection>();
         cols << col;
       }

Note that due to the asynchronous nature of the model, this method returns collection ids of collections which may not be in the model yet. If you want the ids of the collections that are actually in the model, use a loop similar to above with the CollectionIdRole.

[Akonadi.Collection] collections | ( |  | self ) |

Returns the list of favorite collections.

Deprecated:
  Use collectionIds instead.

QVariant data | ( | self, |
|  | QModelIndex | index,
|  | int | role=Qt.DisplayRole
| ) |  |  |

bool dropMimeData | ( | self, |
|  | QMimeData | data,
|  | Qt::DropAction | action,
|  | int | row,
|  | int | column,
|  | QModelIndex | parent
| ) |  |  |

QString favoriteLabel | ( | self, |
|  | Akonadi.Collection | col
| ) |  |  |

Return associate label for collection

Qt::ItemFlags flags | ( | self, |
|  | QModelIndex | index
| ) |  |  |

QVariant headerData | ( | self, |
|  | int | section,
|  | Qt::Orientation | orientation,
|  | int | role=Qt.DisplayRole
| ) |  |  |

QStringList mimeTypes | ( |  | self ) |

removeCollection | ( | self, |
|  | Akonadi.Collection | collection
| ) |  |  |

Removes a collection from the list of favorite collections.

setCollections | ( | self, |
|  | [Akonadi.Collection] | collections
| ) |  |  |

Sets the collections as favorite collections.

bool setData | ( | self, |
|  | QModelIndex | index,
|  | QVariant | value,
|  | int | role=Qt.EditRole
| ) |  |  |

setFavoriteLabel | ( | self, |
|  | Akonadi.Collection | collection,
|  | QString | label
| ) |  |  |

Sets a custom label that will be used when showing the favorite collection.