mirror of https://github.com/Nheko-Reborn/nheko
Using a dialog after username and password have been provided.pull/680/head
parent
89840b9e0b
commit
b56a1be0bd
@ -0,0 +1,62 @@ |
||||
// SPDX-FileCopyrightText: 2021 Nheko Contributors
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
#include <QLabel> |
||||
#include <QPushButton> |
||||
#include <QVBoxLayout> |
||||
|
||||
#include "dialogs/TokenRegistration.h" |
||||
|
||||
#include "Config.h" |
||||
#include "MatrixClient.h" |
||||
#include "ui/TextField.h" |
||||
|
||||
using namespace dialogs; |
||||
|
||||
TokenRegistration::TokenRegistration(QWidget *parent) |
||||
: QWidget(parent) |
||||
{ |
||||
setAutoFillBackground(true); |
||||
setWindowFlags(Qt::Tool | Qt::WindowStaysOnTopHint); |
||||
setWindowModality(Qt::WindowModal); |
||||
setAttribute(Qt::WA_DeleteOnClose, true); |
||||
|
||||
auto layout = new QVBoxLayout(this); |
||||
layout->setSpacing(conf::modals::WIDGET_SPACING); |
||||
layout->setMargin(conf::modals::WIDGET_MARGIN); |
||||
|
||||
auto buttonLayout = new QHBoxLayout(); |
||||
buttonLayout->setSpacing(8); |
||||
buttonLayout->setMargin(0); |
||||
|
||||
cancelBtn_ = new QPushButton(tr("Cancel"), this); |
||||
confirmBtn_ = new QPushButton(tr("Confirm"), this); |
||||
confirmBtn_->setDefault(true); |
||||
|
||||
buttonLayout->addStretch(1); |
||||
buttonLayout->addWidget(cancelBtn_); |
||||
buttonLayout->addWidget(confirmBtn_); |
||||
|
||||
tokenInput_ = new TextField(this); |
||||
tokenInput_->setLabel(tr("Registration token")); |
||||
|
||||
QFont font; |
||||
font.setPointSizeF(font.pointSizeF() * conf::modals::LABEL_MEDIUM_SIZE_RATIO); |
||||
|
||||
auto label = new QLabel(tr("Please enter a valid registration token."), this); |
||||
label->setFont(font); |
||||
|
||||
layout->addWidget(label); |
||||
layout->addWidget(tokenInput_); |
||||
layout->addLayout(buttonLayout); |
||||
|
||||
connect(confirmBtn_, &QPushButton::clicked, this, [this]() { |
||||
emit confirmation(tokenInput_->text().toStdString()); |
||||
emit close(); |
||||
}); |
||||
connect(cancelBtn_, &QPushButton::clicked, this, [this]() { |
||||
emit cancel(); |
||||
emit close(); |
||||
}); |
||||
} |
@ -0,0 +1,31 @@ |
||||
// SPDX-FileCopyrightText: 2021 Nheko Contributors
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
#pragma once |
||||
|
||||
#include <QWidget> |
||||
|
||||
class QPushButton; |
||||
class QLabel; |
||||
class TextField; |
||||
|
||||
namespace dialogs { |
||||
|
||||
class TokenRegistration : public QWidget |
||||
{ |
||||
Q_OBJECT |
||||
|
||||
public: |
||||
TokenRegistration(QWidget *parent = nullptr); |
||||
|
||||
signals: |
||||
void confirmation(std::string token); |
||||
void cancel(); |
||||
|
||||
private: |
||||
QPushButton *confirmBtn_; |
||||
QPushButton *cancelBtn_; |
||||
TextField *tokenInput_; |
||||
}; |
||||
} // dialogs
|
Loading…
Reference in new issue