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