players get points now which are shown per word
[multypo.git] / qt / player.cpp
1 #include "player.h"
2
3 #include <QLayout>
4
5 static QString colorToString(QColor col)
6 {
7         return QString("#%1%2%3").arg(col.red(), 2, 16, QChar('0'))
8                         .arg(col.green(), 2, 16, QChar('0'))
9                         .arg(col.blue(), 2, 16, QChar('0'));
10 }
11
12 Player::Player(QWidget* parent) {
13         theLabel = new QLabel (parent);
14         parent->layout()->addWidget(theLabel);
15         modifyable = true;
16 }
17
18
19 bool Player::hasName() {
20         return !name.isNull();
21 }
22
23 QString Player::getName() {
24         return name;
25 }
26
27 QString Player::getCurrentLine() {
28         return currentLine;
29 }
30
31 void Player::setWaiting(QString labeltext) {
32         theLabel->setText(labeltext);
33         modifyable = false;
34 }
35
36 void Player::resetText() {
37         currentLine.clear();
38         theLabel->setText(currentLine);
39         modifyable = true;
40 }
41
42 void Player::handleKey(QString str) {
43         if (!modifyable)
44                 return;
45         if (str.length() == 1) {
46                 currentLine += str;
47         } else if (!hasName() && str == "Return") {
48                 // set name
49                 name = currentLine;
50                 currentLine = "";
51         } else if (str == "BackSpace") {
52                 currentLine.chop(1);
53         }
54         theLabel->setText(currentLine);
55 }