5 #include "scoretable.h"
6 #include "matchdaymodel.h"
8 ScoreTable::ScoreTable(QWidget *parent, MatchDayModel* model) :
11 this->setAttribute(Qt::WA_TranslucentBackground);
12 this->setModel(model);
13 this->setSelectionMode(QAbstractItemView::NoSelection);
15 this->verticalHeader()->hide();
16 this->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents);
17 this->verticalHeader()->setMinimumSectionSize(1);
19 this->horizontalHeader()->hide();
20 this->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents);
21 this->horizontalHeader()->setMinimumSectionSize(1);
23 qDebug() << "Min VertHeaderSize: " << this->verticalHeader()->minimumSectionSize();
25 this->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
26 this->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
28 this->viewport()->setAutoFillBackground(true);
29 this->setShowGrid(false);
32 QSize ScoreTable::sizeHint() const
36 for (int i = 0; i < horizontalHeader()->count(); i++) {
37 s.setWidth(s.width() + horizontalHeader()->sectionSize(i));
39 // add missing few pixels (from borders mabye?)
40 // TODO: find better solution!
41 s.setWidth(s.width());
42 for (int i = 0; i < verticalHeader()->count(); i++) {
43 s.setHeight(s.height() + verticalHeader()->sectionSize(i));
45 // add missing few pixels (from borders mabye?)
46 // TODO: find better solution!
47 s.setHeight(s.height() + 3);
52 void ScoreTable::dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight)
56 // this will recalculate section sizes
57 QTableView::dataChanged(topLeft, bottomRight);
59 for (int i = 0; i < horizontalHeader()->count(); i++) {
60 s.setWidth(s.width() + horizontalHeader()->sectionSize(i));
62 // add missing few pixels (from borders mabye?)
63 // TODO: find better solution!
64 s.setWidth(s.width());
65 for (int i = 0; i < verticalHeader()->count(); i++) {
66 s.setHeight(s.height() + verticalHeader()->sectionSize(i));
68 // add missing few pixels (from borders mabye?)
69 // TODO: find better solution!
70 s.setHeight(s.height() + 3);
73 this->parentWidget()->resize(s);
80 void ScoreTable::mousePressEvent(QMouseEvent* event)