summary refs log tree commit diff
path: root/src/dialogs/JoinRoom.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/dialogs/JoinRoom.cpp')
-rw-r--r--src/dialogs/JoinRoom.cpp36
1 files changed, 23 insertions, 13 deletions
diff --git a/src/dialogs/JoinRoom.cpp b/src/dialogs/JoinRoom.cpp

index 05c0f455..1ff6bba1 100644 --- a/src/dialogs/JoinRoom.cpp +++ b/src/dialogs/JoinRoom.cpp
@@ -14,44 +14,54 @@ using namespace dialogs; JoinRoom::JoinRoom(QWidget *parent) : QFrame(parent) { - setMaximumSize(400, 400); + setMinimumWidth(conf::modals::MIN_WIDGET_WIDTH); + setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); auto layout = new QVBoxLayout(this); - layout->setSpacing(30); - layout->setMargin(20); + layout->setSpacing(conf::modals::WIDGET_SPACING); + layout->setMargin(conf::modals::WIDGET_MARGIN); auto buttonLayout = new QHBoxLayout(); buttonLayout->setSpacing(0); buttonLayout->setMargin(0); + QFont buttonFont; + buttonFont.setPointSizeF(buttonFont.pointSizeF() * conf::modals::BUTTON_TEXT_SIZE_RATIO); + confirmBtn_ = new FlatButton("JOIN", this); - confirmBtn_->setFontSize(conf::btn::fontSize); + confirmBtn_->setFont(buttonFont); cancelBtn_ = new FlatButton(tr("CANCEL"), this); - cancelBtn_->setFontSize(conf::btn::fontSize); + cancelBtn_->setFont(buttonFont); buttonLayout->addStretch(1); buttonLayout->addWidget(confirmBtn_); buttonLayout->addWidget(cancelBtn_); - QFont font; - font.setPixelSize(conf::headerFontSize); - roomInput_ = new TextField(this); roomInput_->setLabel(tr("Room ID or alias")); layout->addWidget(roomInput_); layout->addLayout(buttonLayout); + layout->addStretch(1); - // TODO: input validation with error messages. - connect(confirmBtn_, &QPushButton::clicked, [this]() { - emit closing(true, roomInput_->text()); - roomInput_->clear(); - }); + connect(roomInput_, &QLineEdit::returnPressed, this, &JoinRoom::handleInput); + connect(confirmBtn_, &QPushButton::clicked, this, &JoinRoom::handleInput); connect(cancelBtn_, &QPushButton::clicked, [this]() { emit closing(false, ""); }); } void +JoinRoom::handleInput() +{ + if (roomInput_->text().isEmpty()) + return; + + // TODO: input validation with error messages. + emit closing(true, roomInput_->text()); + roomInput_->clear(); +} + +void JoinRoom::paintEvent(QPaintEvent *) { QStyleOption opt;