contentstorage/caclient/src/caitemmodellist.cpp
changeset 92 782e3408c2ab
parent 89 1e87eb3b400f
child 98 d2f833ab7940
equal deleted inserted replaced
91:a6d55a2e75be 92:782e3408c2ab
    47  */
    47  */
    48 void CaItemModelList::clear()
    48 void CaItemModelList::clear()
    49 {
    49 {
    50     CACLIENTTEST_FUNC_ENTRY("CaItemModelList::clear");
    50     CACLIENTTEST_FUNC_ENTRY("CaItemModelList::clear");
    51     mOrderedList.clear();
    51     mOrderedList.clear();
    52     qDeleteAll(mEntriesHash);
       
    53     mEntriesHash.clear();
    52     mEntriesHash.clear();
    54     CACLIENTTEST_FUNC_EXIT("CaItemModelList::clear");
    53     CACLIENTTEST_FUNC_EXIT("CaItemModelList::clear");
    55 }
    54 }
    56 
    55 
    57 /*!
    56 /*!
    66 /*!
    65 /*!
    67  Returns entry at aRow
    66  Returns entry at aRow
    68  \param row of model list
    67  \param row of model list
    69  \retval entry at row
    68  \retval entry at row
    70  */
    69  */
    71 CaEntry *CaItemModelList::at(int row) const
    70 QSharedPointer<CaEntry> CaItemModelList::at(int row) const
    72 {
    71 {
    73     int id = mOrderedList[row];
    72     int id = mOrderedList[row];
    74     return mEntriesHash.value(id);
    73     return mEntriesHash.value(id);
    75 }
    74 }
    76 
    75 
    81 void CaItemModelList::reloadEntries(const CaQuery &query)
    80 void CaItemModelList::reloadEntries(const CaQuery &query)
    82 {
    81 {
    83     CACLIENTTEST_FUNC_ENTRY("CaItemModelList::reloadEntries");
    82     CACLIENTTEST_FUNC_ENTRY("CaItemModelList::reloadEntries");
    84     clear();
    83     clear();
    85     int id=0;
    84     int id=0;
    86     QList<CaEntry *> eList = mService->getEntries(query);
    85     QList< QSharedPointer<CaEntry> > eList = mService->getEntries(query);
    87     for (int i = 0; i < eList.count(); i++) {
    86     for (int i = 0; i < eList.count(); i++) {
    88         id = eList[i]->id();
    87         id = eList[i]->id();
    89         mOrderedList << id;
    88         mOrderedList << id;
    90         mEntriesHash.insert(id, eList[i]);
    89         mEntriesHash.insert(id, eList[i]);
    91     }
    90     }
    98  */
    97  */
    99 void CaItemModelList::updateEntry(int id)
    98 void CaItemModelList::updateEntry(int id)
   100 {
    99 {
   101     CACLIENTTEST_FUNC_ENTRY("CaItemModelList::updateEntry");
   100     CACLIENTTEST_FUNC_ENTRY("CaItemModelList::updateEntry");
   102     if (mEntriesHash.contains(id)) {
   101     if (mEntriesHash.contains(id)) {
   103         delete mEntriesHash.take(id);
       
   104         mEntriesHash.insert(id, mService->getEntry(id));
   102         mEntriesHash.insert(id, mService->getEntry(id));
   105     }
   103     }
   106     CACLIENTTEST_FUNC_EXIT("CaItemModelList::updateEntry");
   104     CACLIENTTEST_FUNC_EXIT("CaItemModelList::updateEntry");
   107 }
   105 }
   108 
   106 
   153  */
   151  */
   154 void CaItemModelList::remove(int id)
   152 void CaItemModelList::remove(int id)
   155 {
   153 {
   156     CACLIENTTEST_FUNC_ENTRY("CaItemModelList::remove");
   154     CACLIENTTEST_FUNC_ENTRY("CaItemModelList::remove");
   157     if (mEntriesHash.contains(id)) {
   155     if (mEntriesHash.contains(id)) {
   158         delete mEntriesHash.take(id);
   156         mEntriesHash.remove(id);
   159     }
   157     }
   160     mOrderedList.removeOne(id);
   158     mOrderedList.removeOne(id);
   161     CACLIENTTEST_FUNC_EXIT("CaItemModelList::remove");
   159     CACLIENTTEST_FUNC_EXIT("CaItemModelList::remove");
   162 }
   160 }
   163 
   161