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;
|