5
#include "gamestable.h"
10
#include <qlistview.h>
11
#include <qpushbutton.h>
15
#include <qwhatsthis.h>
18
GamesTable::GamesTable( QWidget *parent, const char *name, bool /*modal*/, WFlags fl)
19
: QListView(parent, name, fl)
21
addColumn(QObject::tr("Id", "GamesTable Id number"));
22
addColumn(QObject::tr("White", "GamesTable White name"));
23
addColumn(QObject::tr("WR", "GamesTable White Rank"));
24
addColumn(QObject::tr("Black", "GamesTable Black name"));
25
addColumn(QObject::tr("BR", "GamesTable Black Rank"));
26
addColumn(QObject::tr("Mv", "GamesTable Move"));
27
addColumn(QObject::tr("Sz", "GamesTable Size"));
28
addColumn(QObject::tr("H", "GamesTable Handicap"));
29
addColumn(QObject::tr("K", "GamesTable Komi"));
30
addColumn(QObject::tr("By", "GamesTable Byoyomi time"));
31
addColumn(QObject::tr("FR", "GamesTable Free/Rated type of game"));
32
addColumn(QObject::tr("Ob", "GamesTable number of Observers"));
33
setColumnAlignment(0, AlignRight);
34
setColumnAlignment(1, AlignLeft);
35
setColumnAlignment(3, AlignLeft);
36
setColumnAlignment(5, AlignRight);
37
setColumnAlignment(6, AlignRight);
38
setColumnAlignment(7, AlignRight);
39
setColumnAlignment(8, AlignRight);
40
setColumnAlignment(9, AlignRight);
41
setColumnAlignment(10, AlignRight);
42
setColumnAlignment(11, AlignRight);
43
setProperty("focusPolicy", (int)QListView::NoFocus );
44
setProperty("resizePolicy", (int)QListView::AutoOneFit );
46
// set sorting order for games by wrank
48
setAllColumnsShowFocus(true);
52
GamesTable::~GamesTable()
61
GamesTableItem::GamesTableItem(GamesTable *parent, const char* name)
62
: QListViewItem(parent, name)
66
GamesTableItem::GamesTableItem(GamesTableItem *parent, const char* name)
67
: QListViewItem(parent, name)
71
GamesTableItem::GamesTableItem(GamesTable *parent, QString label1, QString label2,
72
QString label3, QString label4, QString label5,
73
QString label6, QString label7, QString label8,
74
QString label9, QString label10, QString label11, QString label12, QString label13)
75
: QListViewItem(parent, label1, label2, label3, label4, label5, label6, label7, label8)
79
// set name for watch/mark and ";" for correct recognition
82
int len = label13.length() - 1;
83
watched = label13[len] == 'W';
84
its_me = label13[0] == 'A';
92
// QListViewItem only supports up to 8 labels, check for the rest
101
setText(10, label11);
104
setText(11, label12);
107
setText(12, label13);
115
GamesTableItem::~GamesTableItem()
119
void GamesTableItem::paintCell( QPainter *p, const QColorGroup &cg,
120
int column, int width, int alignment )
122
QColorGroup _cg( cg );
123
// QColor c = _cg.text();
125
if (itemPos() % (2*height()))
126
_cg.setColor(QColorGroup::Base, cg.color(QColorGroup::Midlight));//QColor::QColor("AliceBlue"));
129
_cg.setColor(QColorGroup::Text, Qt::blue);
131
_cg.setColor(QColorGroup::Text, Qt::red);
133
_cg.setColor(QColorGroup::Background, setting->colorBackground);
135
QListViewItem::paintCell(p, _cg, column, width, alignment);
137
// _cg.setColor(QColorGroup::Text, c);
140
void GamesTableItem::ownRepaint()
144
its_me = text(12).at(0) == 'A';
145
watched = text(12).at(text(7).length()-1) == 'W';
154
// for correct sorting by rk and optionally txt
155
QString GamesTableItem::key(int column, bool /*ascending*/) const
160
// rank, however, considered to be most used...
162
// return invisible column's text
166
// case 2 is original here, but it's slow
169
return rkToKey(text(column)) + text(column - 1).lower();
172
// id, move, observe, Ob
176
return text(column).stripWhiteSpace().rightJustify(3, '0') + text(12);
182
return text(column).stripWhiteSpace().rightJustify(2, '0') + text(12);
187
return text(column).stripWhiteSpace().rightJustify(5, '0') + text(12);
191
return text(column).lower() + text(12);