]> git.ralfj.de Git - multypo.git/blobdiff - qt/player.cpp
ralfs Fixes
[multypo.git] / qt / player.cpp
index 40497881224caaea2026fc0549dd4d9e605eb02f..937bbab739dddb597f1bbf310a3187ac6a0c5a4a 100644 (file)
@@ -1,6 +1,7 @@
 #include "player.h"
 
 #include <QLayout>
 #include "player.h"
 
 #include <QLayout>
+#include <QDebug>
 
 static QString colorToString(QColor col)
 {
 
 static QString colorToString(QColor col)
 {
@@ -12,12 +13,41 @@ static QString colorToString(QColor col)
 Player::Player(QWidget* parent) {
        theLabel = new QLabel (parent);
        parent->layout()->addWidget(theLabel);
 Player::Player(QWidget* parent) {
        theLabel = new QLabel (parent);
        parent->layout()->addWidget(theLabel);
+       modifyable = true;
+       qDebug() << "Player created";
 }
 
 }
 
-void Player::handleKey(QString str) {
+bool Player::hasName() {
+       return !name.isEmpty();
+}
+
+QString Player::getName() {
+       return name;
+}
+
+QString Player::getCurrentLine() {
+       return currentLine;
+}
+
+void Player::setWaiting(QString labeltext) {
+       theLabel->setText(labeltext);
+       modifyable = false;
+}
+
+void Player::resetText() {
+       currentLine.clear();
+       theLabel->setText(currentLine);
+       modifyable = true;
+}
+
+bool Player::handleKey(QString str) {
+       if (!modifyable)
+               return false;
+       bool newChar = false;
        if (str.length() == 1) {
                currentLine += str;
        if (str.length() == 1) {
                currentLine += str;
-       } else if (name.isNull() && str == "Return") {
+               newChar = true;
+       } else if (!hasName() && str == "Return") {
                // set name
                name = currentLine;
                currentLine = "";
                // set name
                name = currentLine;
                currentLine = "";
@@ -25,4 +55,5 @@ void Player::handleKey(QString str) {
                currentLine.chop(1);
        }
        theLabel->setText(currentLine);
                currentLine.chop(1);
        }
        theLabel->setText(currentLine);
+       return newChar;
 }
 }