From 7ad45d8d6448c60b4c81c80fa8d6d81afd6e4a02 Mon Sep 17 00:00:00 2001 From: Max Sandholm Date: Sun, 1 Oct 2017 19:49:36 +0300 Subject: React to externally left and joined rooms, and add "leave room" button in room menu (#75) * Initial "join room" feature. * React correctly to remotely joined rooms. * Leaving rooms implemented both locally using the room menu in nheko, and reacting properly when leaving a room remotely from another client. --- src/JoinRoomDialog.cc | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/JoinRoomDialog.cc (limited to 'src/JoinRoomDialog.cc') diff --git a/src/JoinRoomDialog.cc b/src/JoinRoomDialog.cc new file mode 100644 index 00000000..c3ee289e --- /dev/null +++ b/src/JoinRoomDialog.cc @@ -0,0 +1,49 @@ +#include +#include + +#include "Config.h" +#include "JoinRoomDialog.h" +#include "Theme.h" + +JoinRoomDialog::JoinRoomDialog(QWidget *parent) + : QFrame(parent) +{ + setMaximumSize(400, 400); + setStyleSheet("background-color: #fff"); + + auto layout = new QVBoxLayout(this); + layout->setSpacing(30); + layout->setMargin(20); + + auto buttonLayout = new QHBoxLayout(); + buttonLayout->setSpacing(0); + buttonLayout->setMargin(0); + + confirmBtn_ = new FlatButton("JOIN", this); + confirmBtn_->setFontSize(conf::btn::fontSize); + + cancelBtn_ = new FlatButton(tr("CANCEL"), this); + cancelBtn_->setFontSize(conf::btn::fontSize); + + buttonLayout->addStretch(1); + buttonLayout->addWidget(confirmBtn_); + buttonLayout->addWidget(cancelBtn_); + + QFont font; + font.setPixelSize(conf::headerFontSize); + + auto label = new QLabel(tr("Room alias to join:"), this); + label->setFont(font); + label->setStyleSheet("color: #333333"); + + roomAliasEdit_ = new QLineEdit(this); + + layout->addWidget(label); + layout->addWidget(roomAliasEdit_); + layout->addLayout(buttonLayout); + + connect(confirmBtn_, &QPushButton::clicked, [=]() { + emit closing(true, roomAliasEdit_->text()); + }); + connect(cancelBtn_, &QPushButton::clicked, [=]() { emit closing(false, nullptr); }); +} -- cgit 1.5.1