diff options
Diffstat (limited to 'src/server/sessionnamewindow')
-rw-r--r-- | src/server/sessionnamewindow/sessionnamewindow.cpp | 25 | ||||
-rw-r--r-- | src/server/sessionnamewindow/sessionnamewindow.h | 4 |
2 files changed, 20 insertions, 9 deletions
diff --git a/src/server/sessionnamewindow/sessionnamewindow.cpp b/src/server/sessionnamewindow/sessionnamewindow.cpp index da67c91..ba67557 100644 --- a/src/server/sessionnamewindow/sessionnamewindow.cpp +++ b/src/server/sessionnamewindow/sessionnamewindow.cpp @@ -18,9 +18,9 @@ #include "sessionnamewindow.h" #include "../numerickeyboard/numerickeyboard.h" #include "../util/global.h" - #include "ui_sessionname.h" + SessionNameWindow::SessionNameWindow(QWidget *parent) : QDialog(parent), ui(new Ui::SessionName) @@ -29,9 +29,12 @@ SessionNameWindow::SessionNameWindow(QWidget *parent) : connect(ui->bboxOkCancel, SIGNAL(accepted()), this, SLOT(onOkClicked())); connect(ui->bboxOkCancel, SIGNAL(rejected()), this, SLOT(close())); connect(ui->cmdRandom, SIGNAL(clicked(bool)), this, SLOT(onGenerateRandomName())); - ui->lineEditName->setFocus(); - initVirtualKeyboard(); + /* add a virtual numeric keyboard */ + NumericKeyboard *keyboard = new NumericKeyboard(); + ui->keyboard_placeholder->addWidget(keyboard); + connect(keyboard, SIGNAL(digitTyped(int)), this, SLOT(onDigitTyped(int))); + connect(keyboard, SIGNAL(digitDelete()), this, SLOT(onDigitDelete())); } @@ -72,9 +75,15 @@ void SessionNameWindow::onGenerateRandomName() ui->lineEditName->setText(QString::number(qrand() % 9000 + 1000)); } -void SessionNameWindow::initVirtualKeyboard() { - /* Just playing around here */ - QLabel *label = new QLabel("hello world"); - NumericKeyboard *keyboard = new NumericKeyboard(); - ui->keyboard_placeholder->addWidget(keyboard); +/** deletes the last digit of the saved sessionname */ +void SessionNameWindow::onDigitDelete() { + QString text = ui->lineEditName->text(); + ui->lineEditName->setText(text.left(text.length() - 1)); + } +/** appends the digit to the session name */ +void SessionNameWindow::onDigitTyped(int i) { + QString text = ui->lineEditName->text(); + ui->lineEditName->setText(text + QString::number(i)); +} + diff --git a/src/server/sessionnamewindow/sessionnamewindow.h b/src/server/sessionnamewindow/sessionnamewindow.h index 077c903..b3e6cdc 100644 --- a/src/server/sessionnamewindow/sessionnamewindow.h +++ b/src/server/sessionnamewindow/sessionnamewindow.h @@ -14,7 +14,6 @@ class SessionNameWindow : public QDialog private: Ui::SessionName *ui; - void initVirtualKeyboard(); public: SessionNameWindow(QWidget *parent = 0); @@ -28,6 +27,9 @@ protected: private slots: void onOkClicked(); void onGenerateRandomName(); + void onDigitDelete(); + void onDigitTyped(int); + signals: void updateSessionName(); |