From 86ff348f96188e8478665e6f13674c45ff0f3b01 Mon Sep 17 00:00:00 2001 From: Christian Klinger Date: Fri, 22 Apr 2016 12:07:41 +0200 Subject: feature complete --- gui/server_normal/numerickeyboard.ui | 88 +++++++++++++++++++--- src/server/numerickeyboard/numerickeyboard.cpp | 32 ++++++++ src/server/numerickeyboard/numerickeyboard.h | 18 +++++ src/server/sessionnamewindow/sessionnamewindow.cpp | 25 ++++-- src/server/sessionnamewindow/sessionnamewindow.h | 4 +- 5 files changed, 147 insertions(+), 20 deletions(-) diff --git a/gui/server_normal/numerickeyboard.ui b/gui/server_normal/numerickeyboard.ui index 155821e..4e3a8dc 100644 --- a/gui/server_normal/numerickeyboard.ui +++ b/gui/server_normal/numerickeyboard.ui @@ -24,77 +24,143 @@ - + + + + 0 + 40 + + 0 - + + + + 0 + 40 + + Del - + + + + 0 + 40 + + 1 - + + + + 0 + 40 + + 8 - + + + + 0 + 40 + + 4 - + + + + 0 + 40 + + 2 - + + + + 0 + 40 + + 5 - + + + + 0 + 40 + + 7 - + + + + 0 + 40 + + 3 - + + + + 0 + 40 + + 6 - + + + + 0 + 40 + + 9 diff --git a/src/server/numerickeyboard/numerickeyboard.cpp b/src/server/numerickeyboard/numerickeyboard.cpp index 4ecf317..3f59eb8 100644 --- a/src/server/numerickeyboard/numerickeyboard.cpp +++ b/src/server/numerickeyboard/numerickeyboard.cpp @@ -1,14 +1,46 @@ #include "src/server/numerickeyboard/numerickeyboard.h" #include "ui_numerickeyboard.h" +#include + +using std::cout; +using std::endl; + NumericKeyboard::NumericKeyboard(QWidget *parent) : QGroupBox(parent), ui(new Ui::NumericKeyboard) { ui->setupUi(this); + /* das geht leider nicht ? */ +// connect(ui->button_0, SIGNAL (clicked(bool)), this, SLOT (relayDigit(0))); + + connect(ui->button_0, SIGNAL (clicked(bool)), this, SLOT (relayDigit0())); + connect(ui->button_1, SIGNAL (clicked(bool)), this, SLOT (relayDigit1())); + connect(ui->button_2, SIGNAL (clicked(bool)), this, SLOT (relayDigit2())); + connect(ui->button_3, SIGNAL (clicked(bool)), this, SLOT (relayDigit3())); + connect(ui->button_4, SIGNAL (clicked(bool)), this, SLOT (relayDigit4())); + connect(ui->button_5, SIGNAL (clicked(bool)), this, SLOT (relayDigit5())); + connect(ui->button_6, SIGNAL (clicked(bool)), this, SLOT (relayDigit6())); + connect(ui->button_7, SIGNAL (clicked(bool)), this, SLOT (relayDigit7())); + connect(ui->button_8, SIGNAL (clicked(bool)), this, SLOT (relayDigit8())); + connect(ui->button_9, SIGNAL (clicked(bool)), this, SLOT (relayDigit9())); + + connect(ui->button_del, SIGNAL (clicked(bool)), this, SLOT(relayDelete())); } NumericKeyboard::~NumericKeyboard() { delete ui; } + +void NumericKeyboard::relayDigit0() { emit digitTyped(0); } +void NumericKeyboard::relayDigit1() { emit digitTyped(1); } +void NumericKeyboard::relayDigit2() { emit digitTyped(2); } +void NumericKeyboard::relayDigit3() { emit digitTyped(3); } +void NumericKeyboard::relayDigit4() { emit digitTyped(4); } +void NumericKeyboard::relayDigit5() { emit digitTyped(5); } +void NumericKeyboard::relayDigit6() { emit digitTyped(6); } +void NumericKeyboard::relayDigit7() { emit digitTyped(7); } +void NumericKeyboard::relayDigit8() { emit digitTyped(8); } +void NumericKeyboard::relayDigit9() { emit digitTyped(9); } +void NumericKeyboard::relayDelete() { emit digitDelete(); } diff --git a/src/server/numerickeyboard/numerickeyboard.h b/src/server/numerickeyboard/numerickeyboard.h index c95c354..dce7999 100644 --- a/src/server/numerickeyboard/numerickeyboard.h +++ b/src/server/numerickeyboard/numerickeyboard.h @@ -17,6 +17,24 @@ public: private: Ui::NumericKeyboard *ui; + +signals: + void digitTyped(int); + void digitDelete(); + +private slots: + void relayDigit0(); + void relayDigit1(); + void relayDigit2(); + void relayDigit3(); + void relayDigit4(); + void relayDigit5(); + void relayDigit6(); + void relayDigit7(); + void relayDigit8(); + void relayDigit9(); + void relayDelete(); }; + #endif // NUMERICKEYBOARD_H 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(); -- cgit v1.2.3-55-g7522