summary refs log tree commit diff
path: root/src/dialogs/CreateRoom.cc
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2018-07-17 16:37:25 +0300
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2018-07-17 16:37:25 +0300
commit0e814da91c8e041897a4c3f7e6e9234bbc7c6f7a (patch)
tree21f655d30630fe77ba48d07e4b357e2b6c6a5730 /src/dialogs/CreateRoom.cc
parentMerge pull request #372 from bebehei/notification (diff)
downloadnheko-0e814da91c8e041897a4c3f7e6e9234bbc7c6f7a.tar.xz
Move all files under src/
Diffstat (limited to 'src/dialogs/CreateRoom.cc')
-rw-r--r--src/dialogs/CreateRoom.cc162
1 files changed, 0 insertions, 162 deletions
diff --git a/src/dialogs/CreateRoom.cc b/src/dialogs/CreateRoom.cc
deleted file mode 100644

index 8c2cc641..00000000 --- a/src/dialogs/CreateRoom.cc +++ /dev/null
@@ -1,162 +0,0 @@ -#include <QComboBox> -#include <QLabel> -#include <QStyleOption> -#include <QVBoxLayout> - -#include "Config.h" -#include "FlatButton.h" -#include "TextField.h" -#include "Theme.h" -#include "ToggleButton.h" - -#include "dialogs/CreateRoom.h" - -using namespace dialogs; - -CreateRoom::CreateRoom(QWidget *parent) - : QFrame(parent) -{ - setMaximumSize(520, 600); - - auto layout = new QVBoxLayout(this); - layout->setSpacing(30); - layout->setMargin(20); - - auto buttonLayout = new QHBoxLayout(); - buttonLayout->setSpacing(0); - buttonLayout->setMargin(0); - - confirmBtn_ = new FlatButton("CREATE", 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); - - nameInput_ = new TextField(this); - nameInput_->setLabel(tr("Name")); - - topicInput_ = new TextField(this); - topicInput_->setLabel(tr("Topic")); - - aliasInput_ = new TextField(this); - aliasInput_->setLabel(tr("Alias")); - - auto visibilityLayout = new QHBoxLayout; - visibilityLayout->setContentsMargins(0, 10, 0, 10); - - auto presetLayout = new QHBoxLayout; - presetLayout->setContentsMargins(0, 10, 0, 10); - - auto visibilityLabel = new QLabel(tr("Room Visibility"), this); - visibilityLabel->setStyleSheet(QString("font-size: %1px;").arg(conf::dialogs::labelSize)); - visibilityCombo_ = new QComboBox(this); - visibilityCombo_->addItem("Private"); - visibilityCombo_->addItem("Public"); - - visibilityLayout->addWidget(visibilityLabel); - visibilityLayout->addWidget(visibilityCombo_, 0, Qt::AlignBottom | Qt::AlignRight); - - auto presetLabel = new QLabel(tr("Room Preset"), this); - presetLabel->setStyleSheet(QString("font-size: %1px;").arg(conf::dialogs::labelSize)); - presetCombo_ = new QComboBox(this); - presetCombo_->addItem("Private Chat"); - presetCombo_->addItem("Public Chat"); - presetCombo_->addItem("Trusted Private Chat"); - - presetLayout->addWidget(presetLabel); - presetLayout->addWidget(presetCombo_, 0, Qt::AlignBottom | Qt::AlignRight); - - auto directLabel_ = new QLabel(tr("Direct Chat"), this); - directLabel_->setStyleSheet(QString("font-size: %1px;").arg(conf::dialogs::labelSize)); - directToggle_ = new Toggle(this); - directToggle_->setActiveColor(QColor("#38A3D8")); - directToggle_->setInactiveColor(QColor("gray")); - directToggle_->setState(true); - - auto directLayout = new QHBoxLayout; - directLayout->setContentsMargins(0, 10, 0, 10); - directLayout->addWidget(directLabel_); - directLayout->addWidget(directToggle_, 0, Qt::AlignBottom | Qt::AlignRight); - - layout->addWidget(nameInput_); - layout->addWidget(topicInput_); - layout->addWidget(aliasInput_); - layout->addLayout(visibilityLayout); - layout->addLayout(presetLayout); - layout->addLayout(directLayout); - layout->addLayout(buttonLayout); - - connect(confirmBtn_, &QPushButton::clicked, this, [this]() { - request_.name = nameInput_->text().toStdString(); - request_.topic = topicInput_->text().toStdString(); - request_.room_alias_name = aliasInput_->text().toStdString(); - - emit closing(true, request_); - - clearFields(); - }); - - connect(cancelBtn_, &QPushButton::clicked, this, [this]() { - emit closing(false, request_); - - clearFields(); - }); - - connect(visibilityCombo_, - static_cast<void (QComboBox::*)(const QString &)>(&QComboBox::activated), - [this](const QString &text) { - if (text == "Private") { - request_.visibility = mtx::requests::Visibility::Private; - } else { - request_.visibility = mtx::requests::Visibility::Public; - } - }); - - connect(presetCombo_, - static_cast<void (QComboBox::*)(const QString &)>(&QComboBox::activated), - [this](const QString &text) { - if (text == "Private Chat") { - request_.preset = mtx::requests::Preset::PrivateChat; - } else if (text == "Public Chat") { - request_.preset = mtx::requests::Preset::PublicChat; - } else { - request_.preset = mtx::requests::Preset::TrustedPrivateChat; - } - }); - - connect(directToggle_, &Toggle::toggled, this, [this](bool isDisabled) { - request_.is_direct = !isDisabled; - }); -} - -void -CreateRoom::clearFields() -{ - nameInput_->clear(); - topicInput_->clear(); - aliasInput_->clear(); -} - -void -CreateRoom::paintEvent(QPaintEvent *) -{ - QStyleOption opt; - opt.init(this); - QPainter p(this); - style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this); -} - -void -CreateRoom::showEvent(QShowEvent *event) -{ - nameInput_->setFocus(); - - QFrame::showEvent(event); -}