00001 #include "historymodel.h"
00002
00003 HistoryModel::HistoryModel(QObject *parent, DataProject *project): QAbstractTableModel(parent)
00004 {
00005 history = project->getChangeHistory();
00006 headers << "Name" << "Beschreibung" << "Besitzer" << "E-Mail";
00007 }
00008
00009 int HistoryModel::rowCount(const QModelIndex &parent) const
00010 {
00011 Q_UNUSED(parent);
00012 return history.size();
00013 }
00014
00015 int HistoryModel::columnCount(const QModelIndex &parent) const
00016 {
00017 Q_UNUSED(parent);
00018 return 4;
00019 }
00020
00021 QStringList HistoryModel::data(const int row) const
00022 {
00023 QStringList rv;
00024 rv << history[row]->title() << history[row]->description() << history[row]->ownerName() << history[row]->ownerEmail();
00025 return rv;
00026 }
00027
00028 QVariant HistoryModel::data(const QModelIndex &index, int role) const
00029 {
00030 if(!index.isValid() || index.row() >= history.size() || index.row() < 0)
00031 {
00032 return QVariant();
00033 }
00034
00035 if(role == Qt::DisplayRole)
00036 {
00037 return data(index.row())[index.column()];
00038 }
00039 return QVariant();
00040 }
00041
00042 QVariant HistoryModel::headerData(int section, Qt::Orientation orientation, int role) const
00043 {
00044 if(role != Qt::DisplayRole)
00045 {
00046 return QVariant();
00047 }
00048 if(orientation == Qt::Horizontal)
00049 {
00050 return headers[section];
00051 }
00052 return QVariant();
00053 }
00054
00055 Qt::ItemFlags HistoryModel::flags(const QModelIndex &index) const
00056 {
00057 if(!index.isValid())
00058 {
00059 return 0;
00060 }
00061
00062 return Qt::ItemIsEnabled | Qt::ItemIsSelectable;
00063 }