20 #ifndef ENTITYTREEMODELPRIVATE_H
21 #define ENTITYTREEMODELPRIVATE_H
23 #include <akonadi/item.h>
27 #include <akonadi/collectionfetchjob.h>
28 #include <akonadi/itemfetchscope.h>
29 #include <akonadi/mimetypechecker.h>
31 #include "entitytreemodel.h"
33 #include "akonadiprivate_export.h"
83 void fetchItems(
const Collection &collection );
87 void itemsFetched( KJob* );
102 void monitoredItemChanged(
const Akonadi::Item&,
const QSet<QByteArray>& );
108 void monitoredMimeTypeChanged(
const QString &mimeType,
bool monitored );
110 void monitoredItemsChanged(
const Akonadi::Item &item,
bool monitored );
111 void monitoredResourcesChanged(
const QByteArray &resource,
bool monitored );
119 QStringList childCollectionNames(
const Collection &collection )
const;
129 void beginResetModel();
130 void endResetModel();
140 void changeFetchState(
const Collection &parent );
141 void agentInstanceAdvancedStatusChanged(
const QString&,
const QVariantMap& );
144 QHash<Collection::Id, Collection> m_collections;
145 QHash<Entity::Id, Item> m_items;
146 QHash<Collection::Id, QList<Node*> > m_childEntities;
147 QSet<Collection::Id> m_populatedCols;
148 QSet<Collection::Id> m_collectionsWithoutItems;
150 QVector<Entity::Id> m_pendingCutItems;
151 QVector<Entity::Id> m_pendingCutCollections;
152 mutable QSet<Collection::Id> m_pendingCollectionRetrieveJobs;
157 QString m_rootCollectionDisplayName;
158 QStringList m_mimeTypeFilter;
162 bool m_includeUnsubscribed;
163 bool m_includeStatistics;
164 bool m_showRootCollection;
165 QHash<Collection::Id, uint> m_collectionSyncProgress;
177 void startFirstListJob();
179 void serverStarted();
181 void monitoredItemsRetrieved( KJob* job );
182 void firstFetchJobDone( KJob *job );
183 void rootFetchJobDone( KJob *job );
184 void fetchJobDone( KJob *job );
185 void updateJobDone( KJob *job );
186 void pasteJobDone( KJob *job );
191 template<Node::Type Type>
192 int indexOf(
const QList<Node*> &nodes,
Entity::Id id )
const
195 foreach (
const Node *node, nodes ) {
196 if ( node->id ==
id && node->type == Type )
211 return "FetchCollectionId";
218 void fetchTopLevelCollections() const;
219 void topLevelCollectionsFetched( const Akonadi::
Collection::List& collectionList );
224 bool isHidden( const
Entity &entity, Node::Type type ) const;
227 bool isHidden( const T &entity ) const;
229 bool m_showSystemEntities;
251 QList<Node*>::iterator removeItems( QList<Node*>::iterator it, QList<Node*>::iterator end,
261 QList<Node*>::iterator skipCollections( QList<Node*>::iterator it, QList<Node*>::iterator end,
int *pos );
266 void dataChanged( const QModelIndex &top, const QModelIndex &bottom );
271 QModelIndex indexForCollection( const
Collection &collection ) const;
276 QModelIndexList indexesForItem( const
Item &item ) const;
286 Item itemForId(
Item::Id
id ) const;
288 bool canFetchMore( const QModelIndex & parent ) const;