contentstorage/caclient/src/caitemmodel.cpp
changeset 83 156f692b1687
parent 80 397d00875918
child 103 b99b84bcd2d1
equal deleted inserted replaced
80:397d00875918 83:156f692b1687
   953  \param changeType change type
   953  \param changeType change type
   954  */
   954  */
   955 void CaItemModelPrivate::updateModelItem(int id, ChangeType changeType)
   955 void CaItemModelPrivate::updateModelItem(int id, ChangeType changeType)
   956 {
   956 {
   957     CACLIENTTEST_FUNC_ENTRY("CaItemModelPrivate::updateModelItem");
   957     CACLIENTTEST_FUNC_ENTRY("CaItemModelPrivate::updateModelItem");
       
   958     int previousCount = rowCount();
   958     switch (changeType) {
   959     switch (changeType) {
   959     case AddChangeType:
   960     case AddChangeType:
   960         addItem(id);
   961         addItem(id);
   961         break;
   962         break;
   962     case RemoveChangeType:
   963     case RemoveChangeType:
   964         break;
   965         break;
   965     default:
   966     default:
   966         updateItemData(id);
   967         updateItemData(id);
   967         break;
   968         break;
   968     }
   969     }
       
   970     emitEmpty(previousCount);
   969     CACLIENTTEST_FUNC_EXIT("CaItemModelPrivate::updateModelItem");
   971     CACLIENTTEST_FUNC_EXIT("CaItemModelPrivate::updateModelItem");
   970 }
   972 }
   971 
   973 
   972 /*!
   974 /*!
   973  Updates model with fresh entries
   975  Updates model with fresh entries
   974  \param id of parent
   976  \param id of parent
   975  */
   977  */
   976 void CaItemModelPrivate::updateModelContent(int id)
   978 void CaItemModelPrivate::updateModelContent(int id)
   977 {
   979 {
   978     Q_UNUSED(id);
   980     Q_UNUSED(id);
       
   981     int previousCount = rowCount();
       
   982 
   979     CACLIENTTEST_FUNC_ENTRY("CaItemModelPrivate::updateModelContent");
   983     CACLIENTTEST_FUNC_ENTRY("CaItemModelPrivate::updateModelContent");
   980     QList<int> ids = mService->getEntryIds(mQuery);
   984     QList<int> ids = mService->getEntryIds(mQuery);
   981 
   985 
   982     if (ids.count() >= mEntries.count()) {
   986     if (ids.count() >= mEntries.count()) {
   983         handleAddItems(ids);
   987         handleAddItems(ids);
   984     } else {
   988     } else {
   985         removeItems(ids);
   989         removeItems(ids);
   986     }
   990     }
       
   991     emitEmpty(previousCount);
   987     CACLIENTTEST_FUNC_EXIT("CaItemModelPrivate::updateModelContent");
   992     CACLIENTTEST_FUNC_EXIT("CaItemModelPrivate::updateModelContent");
   988 }
   993 }
       
   994 
       
   995 /*!
       
   996  Emits empty signal if model state was changed
       
   997  \param id of parent
       
   998  */
       
   999 void CaItemModelPrivate::emitEmpty(int previousCount)
       
  1000 {
       
  1001     if ( previousCount && !rowCount()) {
       
  1002         emit m_q->empty(true);
       
  1003     }
       
  1004     if ( !previousCount && rowCount()) {
       
  1005         emit m_q->empty(false);
       
  1006     }
       
  1007 }