CollectionTreeItemModel::CollectionTreeItemModel( const QList<CategoryId::CatMenuId> &levelType ) : CollectionTreeItemModelBase() { m_rootItem = new CollectionTreeItem( this ); CollectionManager *collMgr = CollectionManager::instance(); connect( collMgr, SIGNAL(collectionAdded(Collections::Collection*)), this, SLOT(collectionAdded(Collections::Collection*)), Qt::QueuedConnection ); connect( collMgr, SIGNAL(collectionRemoved(QString)), this, SLOT(collectionRemoved(QString)) ); QList<Collections::Collection *> collections = CollectionManager::instance()->viewableCollections(); foreach( Collections::Collection *coll, collections ) { connect( coll, SIGNAL(updated()), this, SLOT(slotFilter()) ) ; m_collections.insert( coll->collectionId(), CollectionRoot( coll, new CollectionTreeItem( coll, m_rootItem, this ) ) ); }
CollectionTreeItemModel::CollectionTreeItemModel( const QList<int> &levelType ) : CollectionTreeItemModelBase() { CollectionManager* collMgr = CollectionManager::instance(); connect( collMgr, SIGNAL( collectionAdded( Collections::Collection* ) ), this, SLOT( collectionAdded( Collections::Collection* ) ), Qt::QueuedConnection ); connect( collMgr, SIGNAL( collectionRemoved( QString ) ), this, SLOT( collectionRemoved( QString ) ) ); //delete m_rootItem; //clears the whole tree! m_rootItem = new CollectionTreeItem( this ); d->collections.clear(); QList<Collections::Collection*> collections = CollectionManager::instance()->viewableCollections(); foreach( Collections::Collection *coll, collections ) { connect( coll, SIGNAL( updated() ), this, SLOT( slotFilter() ) ) ; d->collections.insert( coll->collectionId(), CollectionRoot( coll, new CollectionTreeItem( coll, m_rootItem, this ) ) ); }
void SingleCollectionTreeItemModel::setLevels( const QList<CategoryId::CatMenuId> &levelType ) { if( m_levelType == levelType && m_rootItem ) return; delete m_rootItem; //clears the whole tree! m_levelType = levelType; m_rootItem = new CollectionTreeItem( m_collection, 0, this ); d->collections.insert( m_collection->collectionId(), CollectionRoot( m_collection, m_rootItem ) ); updateHeaderText(); m_expandedItems.clear(); m_expandedSpecialNodes.clear(); d->runningQueries.clear(); d->childQueries.clear(); d->compilationQueries.clear(); reset(); //resets the whole model, as the data changed }