phonebookui/pbkcommonui/src/cntcollectionlistmodelworker.cpp
changeset 71 7cc7d74059f9
parent 59 a642906a277a
equal deleted inserted replaced
65:ae724a111993 71:7cc7d74059f9
   193     QContact contact = mManager->contact(id);
   193     QContact contact = mManager->contact(id);
   194 
   194 
   195     int favoriteGroupId = CntFavourite::favouriteGroupId( mManager );
   195     int favoriteGroupId = CntFavourite::favouriteGroupId( mManager );
   196 
   196 
   197     QString secondLineText;
   197     QString secondLineText;
   198     int memberCount = 0;
       
   199 
   198 
   200     QContactRelationshipFilter rFilter;
   199     QContactRelationshipFilter rFilter;
   201     rFilter.setRelationshipType(QContactRelationship::HasMember);
   200     rFilter.setRelationshipType(QContactRelationship::HasMember);
   202     rFilter.setRelatedContactRole(QContactRelationship::First);
   201     rFilter.setRelatedContactRole(QContactRelationship::First);
   203     rFilter.setRelatedContactId(contact.id());
   202     rFilter.setRelatedContactId(contact.id());
   226     }
   225     }
   227 
   226 
   228     // group members and their count
   227     // group members and their count
   229     QList<QContactLocalId> groupMemberIds = mManager->contactIds(rFilter, sortOrders);
   228     QList<QContactLocalId> groupMemberIds = mManager->contactIds(rFilter, sortOrders);
   230 
   229 
       
   230     QList<int> groupMemberIdsToInt;
   231     if (!groupMemberIds.isEmpty())
   231     if (!groupMemberIds.isEmpty())
   232     {
   232     {
       
   233         // first copy all the ids to QList<int>
       
   234         // (convert unsigned int -> int due to signalling problems with unsigned ints)
       
   235         for(int i = 0;i < groupMemberIds.count();i++)
       
   236         {
       
   237             groupMemberIdsToInt << groupMemberIds.at(i);
       
   238         }
   233         QStringList nameList;
   239         QStringList nameList;
   234         for(int i = 0;i < groupMemberIds.count();i++)
   240         for(int i = 0;i < groupMemberIds.count();i++)
   235         {
   241         {
   236             QContactFetchHint nameOnlyFetchHint;
   242             QContactFetchHint nameOnlyFetchHint;
   237             /*QStringList details;
   243             /*QStringList details;
   255             }
   261             }
   256         }
   262         }
   257         QString names = nameList.join(", ").trimmed();
   263         QString names = nameList.join(", ").trimmed();
   258 
   264 
   259         secondLineText = names;
   265         secondLineText = names;
   260         memberCount = groupMemberIds.count();
       
   261     }
   266     }
   262     else
   267     else
   263     {
   268     {
   264         if (id == favoriteGroupId)
   269         if (id == favoriteGroupId)
   265         {
   270         {
   269         {
   274         {
   270             secondLineText = mNoMembers;
   275             secondLineText = mNoMembers;
   271         }
   276         }
   272     }
   277     }
   273 
   278 
   274     emit fetchDone(id, secondLineText, memberCount);
   279     emit fetchDone(id, secondLineText, groupMemberIdsToInt);
   275     
   280     
   276     CNT_EXIT
   281     CNT_EXIT
   277 }
   282 }
   278 
   283