1 #include "matchdaymodel.h"
3 #include <QFontMetrics>
7 MatchDayModel::MatchDayModel(QObject *parent) :
8 QAbstractTableModel(parent)
10 backendkicker = new BackendKicker(this);
12 connect(backendkicker, SIGNAL(matchListChanged()),
13 this, SLOT(onMatchListChanged()));
17 int MatchDayModel::rowCount(const QModelIndex& index) const
19 int count = backendkicker->matchList().count();
24 int MatchDayModel::columnCount(const QModelIndex& index) const
29 QVariant MatchDayModel::data(const QModelIndex& index, int role) const
38 if ((match = backendkicker->matchList().at(index.row())) == NULL) {
39 return QVariant(QVariant::Invalid);
44 case Qt::DecorationRole:
45 switch (index.column()) {
47 i = match->awayEmblem().pixmap(25,25);
50 i = match->homeEmblem().pixmap(25,25);
57 switch (index.column()) {
59 return match->awayEmblem();
62 return match->awayteam();
65 return match->awayscore();
68 return match->homeEmblem();
71 return match->hometeam();
74 return match->homescore();
77 return QVariant(QVariant::Invalid);
82 case Qt::SizeHintRole:
84 switch (index.column()) {
107 return QVariant(QVariant::Invalid);
113 case Qt::BackgroundRole:
114 return QColor(0, 0, 0, 120);
117 case Qt::TextAlignmentRole:
118 if (index.column() < 3) {
119 return 0x0002 | 0x0080;
120 } else if (index.column() > 3) {
121 return 0x0001 | 0x0080;
123 return Qt::AlignCenter;
132 return QVariant(QVariant::Invalid);
138 void MatchDayModel::onMatchListChanged(void)
140 beginInsertRows(QModelIndex(),
141 rowCount(QModelIndex()),
142 rowCount(QModelIndex()));
145 // invalidate complete data
146 emit dataChanged(index(0, 0),
147 index(rowCount(QModelIndex()) - 1, columnCount(QModelIndex()) - 1));