QVariant DataFilesModel::data(const QModelIndex &index, int role) const { if (!index.isValid()) return QVariant(); EsmFile *file = item(index.row()); if (!file) return QVariant(); const int column = index.column(); switch (role) { case Qt::DisplayRole: { switch (column) { case 0: return file->fileName(); case 1: return file->author(); case 2: return QString("%1 kB").arg(int((file->size() + 1023) / 1024)); case 3: //return file->modified().toString(Qt::TextDate); return file->modified().toString(Qt::ISODate); case 4: return file->accessed().toString(Qt::TextDate); case 5: return file->version(); case 6: return file->path(); case 7: return file->masters().join(", "); case 8: return file->description(); } } case Qt::TextAlignmentRole: { switch (column) { case 0: case 1: return Qt::AlignLeft + Qt::AlignVCenter; case 2: case 3: case 4: case 5: return Qt::AlignRight + Qt::AlignVCenter; default: return Qt::AlignLeft + Qt::AlignVCenter; } } case Qt::CheckStateRole: { if (column != 0) return QVariant(); return mCheckStates[file->fileName()]; } case Qt::ToolTipRole: { if (column != 0) return QVariant(); if (file->version() == 0.0f) return QVariant(); // Data not set QString tooltip = QString("<b>Author:</b> %1<br/> \ <b>Version:</b> %2<br/> \ <br/><b>Description:</b><br/>%3<br/> \ <br/><b>Dependencies: </b>%4<br/>") .arg(file->author()) .arg(QString::number(file->version())) .arg(file->description()) .arg(file->masters().join(", ")); return tooltip; } default: return QVariant(); } }