int CFrmUserList::ItemUpdateGroup(QSharedPointer<CUserInfo> info) { QSet<QString> groups = info->GetGroups(); if(groups.isEmpty()) { QString szDefaulGroup(tr("My friends")); groups.insert(szDefaulGroup); } for(QSet<QString>::iterator itGroup = groups.begin(); itGroup != groups.end(); itGroup++) { QString szGroup = *itGroup; QStandardItem* lstGroup = NULL; QMap<QString, QStandardItem*>::iterator it; it = m_Groups.find(szGroup); if(m_Groups.end() == it) { //新建立组条目 lstGroup = ItemInsertGroup(szGroup); } else lstGroup = it.value(); QList<QStandardItem *> lstItems = NewItemRoster(info); if(lstItems.isEmpty()) continue; lstGroup->appendRow(lstItems); } return 0; }
int CFrmUserList::UpdateGroup(CRoster* pRoster, QSet<QString> groups) { if(groups.isEmpty()) { QString szDefaulGroup(tr("My friends")); groups.insert(szDefaulGroup); } for(QSet<QString>::iterator itGroup = groups.begin(); itGroup != groups.end(); itGroup++) { QString szGroup = *itGroup; QStandardItem* lstGroup = NULL; QMap<QString, QStandardItem*>::iterator it; it = m_Groups.find(szGroup); if(m_Groups.end() == it) { //新建立组条目 /*lstGroup = new QStandardItem(szGroup); lstGroup->setEditable(false); //禁止双击编辑 m_pModel->appendRow(lstGroup); m_Groups.insert(szGroup, lstGroup);//*/ lstGroup = InsertGroup(szGroup); } else lstGroup = it.value(); lstGroup->appendRow(pRoster->GetItem()); LOG_MODEL_DEBUG("Roster", "CFrmUserList::UpdateGroup:%s,(%s)", qPrintable(pRoster->BareJid()), qPrintable(szGroup)); } return 0; }