X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fgui%2Ffilelistmodel.cpp;h=c35bd35944ca84ac9a49c30ed0d95e54ff016a8d;hb=ec553d06e2718a1c6c0d6bdfcd508ce1ba89c706;hp=b509957d144a9d10014139735aac24e49a02f8e6;hpb=8549cdb01f45764f69a6483285dc0771ea66c007;p=virtualjaguar diff --git a/src/gui/filelistmodel.cpp b/src/gui/filelistmodel.cpp index b509957..c35bd35 100644 --- a/src/gui/filelistmodel.cpp +++ b/src/gui/filelistmodel.cpp @@ -26,17 +26,29 @@ FileListModel::FileListModel(QObject * parent/*= 0*/): QAbstractListModel(parent int FileListModel::rowCount(const QModelIndex & parent/*= QModelIndex()*/) const { - return pixList.size(); +// return pixList.size(); +// return dbIndex.size(); + return list.size(); } QVariant FileListModel::data(const QModelIndex & index, int role) const { // return QVariant(); - return pixList.at(index.row()); +// return pixList.at(index.row()); +// return (uint)dbIndex.at(index.row()); + if (role == Qt::DecorationRole) + return list.at(index.row()).label; + else if (role == Qt::DisplayRole) + return (uint)list.at(index.row()).dbIndex; + else if (role == Qt::EditRole) + return list.at(index.row()).filename; + else + return QVariant(); } -QVariant FileListModel::headerData(int section, Qt::Orientation orientation, int role/*= Qt::DisplayRole*/) const +QVariant FileListModel::headerData(int/* section*/, Qt::Orientation/* orientation*/, int role/*= Qt::DisplayRole*/) const { +#if 0 // Not sure that this is necessary for our purposes... // Especially since this model would never make use of this info... if (role != Qt::DisplayRole) @@ -46,6 +58,13 @@ QVariant FileListModel::headerData(int section, Qt::Orientation orientation, int return QString("Column %1").arg(section); else return QString("Row %1").arg(section); +#else + // This seems more like what we want... + if (role == Qt::SizeHintRole) + return QSize(1, 1); + + return QVariant(); +#endif } void FileListModel::AddData(QIcon pix) @@ -54,6 +73,29 @@ void FileListModel::AddData(QIcon pix) reset(); } +void FileListModel::AddData(unsigned long index) +{ + dbIndex.push_back(index); + reset(); +} + +void FileListModel::AddData(unsigned long index, QString str, QImage img) +{ + // Assuming that both QString and QImage have copy constructors, this should work. + FileListData data; + + data.dbIndex = index; + data.filename = str; + data.label = img; + + list.push_back(data); + reset(); +} + +//FileListData FileListModel::GetData(const QModelIndex & index) const +//{ +// return list.at(index.row()); +//} #if 0