contentstorage/caclient/src/caitemmodel.cpp
changeset 94 dbb8300717f7
parent 92 782e3408c2ab
child 96 5d243a69bdda
equal deleted inserted replaced
93:82b66994846c 94:dbb8300717f7
   710     QList<int> ids = mService->getEntryIds(mQuery);
   710     QList<int> ids = mService->getEntryIds(mQuery);
   711     if (mEntries.indexOf(id) >= 0
   711     if (mEntries.indexOf(id) >= 0
   712            && ids.indexOf(id) == mEntries.indexOf(id)) {
   712            && ids.indexOf(id) == mEntries.indexOf(id)) {
   713         emit m_q->dataChanged(index(mEntries.indexOf(id)), index(
   713         emit m_q->dataChanged(index(mEntries.indexOf(id)), index(
   714                                   mEntries.indexOf(id)));
   714                                   mEntries.indexOf(id)));
   715     } else if (ids.indexOf(id) < 0){
       
   716         removeItem(id);
       
   717     } else if (mEntries.indexOf(id) < 0){
       
   718         addItem(id);
       
   719     } else if (mParentEntry && id == mParentEntry->id()) {
   715     } else if (mParentEntry && id == mParentEntry->id()) {
   720         updateParentEntry();
   716         updateParentEntry();
   721         m_q->reset();
   717         m_q->reset();
   722     } else {
   718     } else {
   723         updateModel();
   719         updateModel();
   735 
   731 
   736     int row = itemRow(id);
   732     int row = itemRow(id);
   737     //we use beginInsertRows and endInsertRows to emit proper signal
   733     //we use beginInsertRows and endInsertRows to emit proper signal
   738     //(see Qt documentation of QAbstractItemModel)
   734     //(see Qt documentation of QAbstractItemModel)
   739     if (mEntries.indexOf(id) < 0 && row >= 0) {
   735     if (mEntries.indexOf(id) < 0 && row >= 0) {
   740         m_q->beginInsertRows(QModelIndex(), row, row);
   736         if (row > mEntries.count()) {
   741         mEntries.insert(row, id);
   737         	m_q->beginInsertRows(QModelIndex(), mEntries.count(), mEntries.count());
       
   738         	mEntries.insert(mEntries.count(), id);
       
   739         } else {
       
   740 			m_q->beginInsertRows(QModelIndex(), row , row);
       
   741         	mEntries.insert(row, id);
       
   742         }
   742         m_q->endInsertRows();
   743         m_q->endInsertRows();
       
   744     } else if (row == -1) {
       
   745         //we udpade whole model because we do not know parent collecion for given item
       
   746         updateModel();
   743     }
   747     }
   744     CACLIENTTEST_FUNC_EXIT("CaItemModelPrivate::addItem");
   748     CACLIENTTEST_FUNC_EXIT("CaItemModelPrivate::addItem");
   745 }
   749 }
   746 
   750 
   747 /*!
   751 /*!