DomItem *Q3ListViewExtraInfo::saveQ3ListViewItem(Q3ListViewItem *item) const { DomItem *pitem = new DomItem(); QList<DomProperty *> properties; const int columnCount = static_cast<Q3ListView*>(widget())->columns(); for (int i = 0; i < columnCount; ++i) { DomString *str = new DomString(); str->setText(item->text(i)); DomProperty *ptext = new DomProperty(); ptext->setAttributeName(QLatin1String("text")); ptext->setElementString(str); properties.append(ptext); } pitem->setElementProperty(properties); QList<DomItem *> items; Q3ListViewItem *child = item->firstChild(); while (child) { items.append(saveQ3ListViewItem(child)); child = child->nextSibling(); } pitem->setElementItem(items); return pitem; }