History::History(unsigned id) : m_contact (id) { Contact *contact = getContacts()->contact(id); if (contact == NULL) return; HistoryFile *f = new HistoryFile(QString::number(id), id); if (f->isOpen()) files.push_back(f); else delete f; void *data; ClientDataIterator it = contact->clientDataIterator(); QStringList fnames; while ((data = ++it) != NULL) { QString name = it.client()->dataName(data); if(fnames.contains(name)) continue; fnames.append(name); HistoryFile *f = new HistoryFile(name, id); f->m_name = name; if (f->isOpen()) files.push_back(f); else delete f; } }
History::History(unsigned id) { m_contact = id; Contact *contact = getContacts()->contact(id); if (contact == NULL) return; HistoryFile *f = new HistoryFile(number(id).c_str(), id); if (f->isOpen()){ files.push_back(f); }else{ delete f; } void *data; ClientDataIterator it(contact->clientData); while ((data = ++it) != NULL){ string name = it.client()->dataName(data); HistoryFile *f = new HistoryFile(name.c_str(), id); f->m_name = name; if (f->isOpen()){ files.push_back(f); }else{ delete f; } } }