QVariant DomModel::data(const QModelIndex &index, int role) const { if (!index.isValid()) return QVariant(); DomItem *item = static_cast<DomItem*>(index.internalPointer()); switch (role) { case Qt::UserRole: if (item->isFolder()) { return item->name(); } else { return item->uuid(); } break; case Qt::DisplayRole: return item->name(); break; case Qt::DecorationRole: switch (type(index)) { case Folder: return QVariant(QIcon(":/pic/folder.png")); case Favorite: return QVariant(QIcon(":/pic/folder_favorite.png")); case Site: return QVariant(QIcon(":/pic/tabpad.png")); } default: return QVariant(); } }